Arthit Hongchintakul

Ruby กับการเก็บข้อมูลแบบ Hash

โดย แสงเดือน จันทร์ใหม่ – 29 มิถุนายน 2558 Hash คืออะไร Hash เป็นรูปแบบการเก็บข้อมูลชนิดหนึ่ง ซึ่งประกอบด้วยชุดของ Key และ Value โดย Key ของ Hash สามารถเป็นอะไรก็ได้ตามที่เรากำหนด และ Hash หนึ่งๆ สามารถมีชุด Key และ Value ได้กี่ชุดก็ได้ นอกจากนี้ค่า Value ของแต่ละ Key ใน Hash ก็สามารถเก็บเป็นข้อมูลชนิดใดก็ได้ ไม่จำเป็นว่าทุก Key จะต้องเก็บข้อมูล Value ที่เป็นชนิดเดียวกัน ซึ่งนั่นหมายรวมไปถึงเราสามารถเก็บ Value ที่เป็น Hash ได้ หรือ Hash ซ้อน Hash นั่นเอง การใช้งาน Hash เบื้องต้น การกำหนดค่าตัวแปร Hash […]

Ruby กับการเก็บข้อมูลแบบ Hash Read More »

เริ่มต้นรู้จักกับ Automated Testing ด้วย Capybara

Posted on June 19, 2015 By Anak Umpaivit ใน Blog นี้ เราจะมาพูดถึงหนึ่งเครื่องมือของ QA นั้นก็คือ Automated Testing นั้นเอง ซึ่งการสร้างระบบการทดสอบโดยอัตโนมัตินี่ขึ้นมา ก็จะช่วยให้ Application ที่กำลังพัฒนา มีความถูกต้องอยู่เสมอ สำหรับ Swiftlet ที่ทำงานกับ Ruby on Rails นั้น Capybara และ Rspec ก็เป็นตัวเลือกที่เราเลือกใช้ในการทำงาน สำหรับผู้ที่สนใจ และยังมองไม่เห็นภาพ วันนี้ ผมจะมายกตัวอย่างคำสั่งเริ่มต้นง่ายๆ และหน้าตาของการทำงานของ Capybara Automated Testing ให้ดูกัน เริ่มต้น หลังจากเราติดตั้ง และ Setup สิ่งต่างๆของ Capybara และ Application ที่เราต้องการทดสอบแล้ว ก็มารู้จักการทำงานของ Capybara กัน การเข้าถึงหน้า

เริ่มต้นรู้จักกับ Automated Testing ด้วย Capybara Read More »

Basic Unix Commands คำสั่งง่ายๆ สำหรับผู้เริ่มต้น

Basic Unix Commands Posted on June 16, 2015 By Anak Umpaivit ในการพัฒนา Application  Tools ที่เราใช้ส่วนใหญ่ ก็มักจะเป็น Open Source รวมถึงระบบปฏิบัติการอย่าง Unix ด้วย Blog นี้จึงจะเป็นการ แนะนำ Basic Unix Commands ที่มักได้ใช้กับการทำงาน เพราะบางครั้ง คำสั่งที่เราไม่ค่อยได้ใช้ เราก็จะจำไม่ได้ คำสั่ง คำอธิบาย ls ลิสไฟล์ใน Directory ปัจจุบัน cd <option> คำสั่งในการย้ายผู้ใช้ไปยัง Directory ต่างๆ option: ว่างเปล่า ไปยัง home Directory option: folder name เข้าไปยัง Folder ที่ต้องการ option: ~/path/

Basic Unix Commands คำสั่งง่ายๆ สำหรับผู้เริ่มต้น Read More »

สร้าง Active Directory ด้วย Samba 4 บน ubuntu 14.04

Chamnan Longlum 01/07/15 สำหรับบทความนี้เราจะกำหนด Hostname: adserv Domain : swiftlet.local IP: 192.168.3.34 NETBIOS : Swiftlet DNS : 192.168.3.34 Forwarding-DNS : 192.168.3.1 ทำการเซ็ต Static IP สำหรับ  Server แก้ไขไฟล์  /etc/network/interfaces  ในส่วนของ interface ที่ใช้งานอยู่   (ในตัวอย่างจะใช้เป็น eth0) ดังนี้ [code language=”shell”] auto eth0 iface eth0 inet static address 192.168.3.34 netmask 255.255.255.0 gateway 192.168.3.1 dns-nameservers 192.168.3.34 192.168.3.1 dns-search swiftlet.local [/code] ทำการ restart

สร้าง Active Directory ด้วย Samba 4 บน ubuntu 14.04 Read More »

Website Hacked Log Analysis

Chamnan Longlum 16 / 06 / 15 ในยุคที่internetเป็นใหญ่ในปัจจุบัน ระบบต่างๆก็อยู่บนinternet ความเสี่ยงของระบบที่จะถูกโจมตีจากบุคคลที่ไม่พึงประสงค์ก็มีมากขึ้น แล้วเราจะรู้ได้อย่างไรเมื่อเราโดนโจมตี? สำหรับผู้ดูแลหลายคนเลือกที่จะทำการ ป้องกันไว้ก่อน ซึ่งนั่นก็เป็นเรื่องที่ดี จากประสบกาณ์ของผู้เขียน บริษัทหลายๆแห่งเลือกที่จะลดCostการดูแลระบบโดยให้คนที่มีความรู้งูๆปลาๆเป็นคนดูแลระบบ บางที่ก็เป็น Graphic Design บางที่หาไม่ได้ก็ให้ตำแหน่งadmin(ที่ทำงานเอกสาร)มาดูแลกันซะอย่างนั้น กว่าจะรู้ตัวว่าเว็บโดนแฮคก็เข้าไม่ได้ไปซะแล้ว สำหรับบริษัทขนาดใหญ่ มีData Center ของตัวเอง ก็คงจะมีจะมีระบบสำหรับตรวจจับของตัวเองอยู่แล้ว ไม่ว่าจะเป็น Firewall หรือ Iron port สำหรับตรวจจับจากในระบบเมล์  แต่สำหรับบริษัทที่เบี้ยน้อยหอยน้อยคงคงไม่จำเป็นขนาดนั้น จากปัญหาข้างต้นเราจะมาดูกันว่ามีที่ใหนบ้างที่จะป้องกันเมื่อมีคนมาลองดีกับเว็บของเราได้บ้าง    – ใช้ fail2ban monitor log สำหรับ fail2ban จะเป็นsoftware ที่ดูlogแล้วเอา log มาทำการ Analyze ว่าผิดปกติหรือไม่ ไม่ว่าจะเป็น webserver อย่าง apache , nginx ,

Website Hacked Log Analysis Read More »

ทำให้ Rails รองรับ CORS แบบง่ายๆ

Posted on June 16, 2015 By Karun Siritheerathamrong Cross Origin Resource Sharing (CORS) คือกลไกที่ทำให้เว็บเซิร์ฟเวอร์สามารถอนุญาต หรือไม่อนุญาต การร้องขอทรัพยากรใดๆ ในหน้าเว็บ ที่ถูกเรียกมาจากโดเมนอื่น ที่ไม่ใช่โดเมนที่หน้าเว็บนั้นอยู่ ตัวอย่างการใช้งานทั่วไป – หน้าเว็บใดๆ ในเว็บไซต์ xyz.com มีการเรียกไฟล์ฟอนต์ และรูปภาพจาก hahaha.com  แล้วเว็บ hahaha.com สามารถใช้ CORS เพื่อไม่อนุญาตให้เว็บอื่นๆ ที่ไม่ได้มาจากโดเมน hahaha.com สามารถเข้าถึงไฟล์ในเว็บได้ – เว็บ api.mydomain.com จะยอมรับเฉพาะคำร้องจากโดเมน mydomain.com และ myfrienddomain.com เท่านั้น ก็สามารถใช้ CORS เพื่ออนุญาตเฉพาะบางโดเมนได้ แม้การเปิดใช้งาน CORS จะช่วยลดปัญหาการเรียกใช้ทรัพยากรข้ามโดเมนหรือการเข้าถึงที่ไม่ได้รับอนุญาตได้ก็ตาม แต่การจะตั้งค่าให้เครื่องเซิร์ฟเวอร์รองรับการใช้งาน CORS ได้ก็ค่อนข้างยุ่งยากพอสมควร ดูจากมาตรฐานของ CORS จาก

ทำให้ Rails รองรับ CORS แบบง่ายๆ Read More »

การสร้าง Timeline อย่างง่ายด้วย visJs

โดย นายวุฒิไกร ลิ่มสกุล : 15/06/2558         visJs มีความสามารถในการสร้าง กราฟ 2D, 3D, Network, Data set และ Timeline อย่างง่ายให้สามารถใช้งานกันได้แบบฟรีๆ โดยสามารถทำงานร่วมกับภาษาโปรแกรม หลายต่อหลายภาษาที่ทำงานร่วมกับ Javascript ได้ เช่น PHP, Ruby on rails, codeigniter ฯลฯ มาดูวิธีการสร้าง Timeline โดยใช้ภาษา Ruby on rails กับ visJs กัน เริ่มด้วยการ ติดตั้ง visJs ในงานที่เราจะสร้าง Timeline กันก่อน ที่นี่ (ใช้ได้แล้วหรอ…? บ้า อีกนิดนึง) จะต้อง Include ไฟล์ vis.js และ vis.css

การสร้าง Timeline อย่างง่ายด้วย visJs Read More »

Data Migration

ณัฐธิดา  หมวดเพ็ชร [ 15 มิถุนายน 2558 ] Data Migration เป็นกระบวนการของการถ่ายโอนข้อมูลระหว่างประเภทการจัดเก็บข้อมูลหรือระบบคอมพิวเตอร์ เป็นสิ่งหนึ่งที่สำคัญในการพิจารณาที่จะอัพเกรดระบบของตนเอง และมักจะเป็นการดำเนินการแบบอัตโนมัติโดยโปรแกรมมากกว่าการดำเนินการโดยมนุษย์ Data Migration เกิดขึ้นจากหลายสาเหตุ รวมไปถึงเซิร์ฟเวอร์หรือการเปลี่ยนอุปกรณ์ในการจัดเก็บข้อมูล การบำรุงรักษาหรือการอัพเกรดข้อมูล การย้ายแอพพลิเคชั่น อาจรวมไปถึงการย้ายศูนย์การให้บริการข้อมูล การใช้งาน Data Migration 1. เริ่มจากการติดตั้งโดยการเพิ่ม gem เข้าไปในโปรเจค แล้วสั่ง bundle install 2. การสร้าง migration ด้วยคำสั่ง 3. ไฟล์ของการ migrate จะประกอบไปด้วย 2 ส่วน คือ self.up >> เป็นการอัพเดตข้อมูลหรืออัพเดตโปรแกรม self.down >> เป็นการย้อนเวอร์ชันกลับไปก่อนหน้า ในกรณีที่การอัพเดตไม่เป็นไปตามที่ต้องการ 4. จากนั้นใช้คำสั่ง rake db:migrate [ ศึกษาเพิ่มเติมได้ที่ https://github.com/ajvargo/data-migrate ]

Data Migration Read More »

Rails Translation

โดย แสงเดือน จันทร์ใหม่ – 14 มิถุนายน 2558 Rails Translation คืออะไร Translation (Rails Internationalization (I18n) API) คือ Gem ตัวหนึ่งของ Ruby ซึ่งจะติดตั้งมาให้อยู่แล้ว โดยที่เราไม่ต้องติดตั้งเองเพิ่มเติม โดย Rails Translation ทำหน้าที่ในการช่วยจัดการให้ application มีการแสดงผลได้หลายภาษา แม้จะไม่ต้องติดตั้ง Gem เพิ่มเติม แต่ก่อนจะใช้งาน Translation ได้ต้องมั่นใจว่า application support I18n Rails Translation ใช้งานอย่างไร การใช้งาน Translation มีส่วนที่สำคัญ 3 ส่วน คือ ส่วนสำหรับกำหนดค่าในการแสดงผลของแต่ละภาษา หรือถือเป็น dictionary สำหรับการแปลภาษานั่นเอง ประกอบด้วยไฟล์ .yml ซึ่งวางไว้ใน config/locales โดยชื่อไฟล์เป็นชื่อของภาษาเพื่อเรียกใช้งานได้ง่าย ภายในไฟล์ประกอบด้วย

Rails Translation Read More »

OOP และ Data Driven

อนรรฆ อำไพวิทย์ – 1 มิถุนายน 2558 OOP OOP หรือ Object Oriented Programming คือการเขียน code โดยการมองทุกสิ่งให้เป็น Object ที่มีคุณสมบัติของตัวเอง และสามารถนำ Object นี้ไปใช้งานได้เมื่อไหร่ก็ได้ตามต้องการ โดยไม่ต้องเขียนการทำงานนั้นใหม่ทั้งหมด คุณลักษณะของ OOP Inheritance :  คือการที่ object สอง object สามารถมีความสามารถสืบทอดกันได้ เช่น object สิ่งมีชีวิต นั้นมีความสามารถในการเคลื่อนที่ได้ ดังนั้น object มนุษย์ หรือสุนัข ก็สามารถสืบทอดมาจาก สิ่งมีชีวิตได้ เนื่องจากมีความสามารถเดียวกัน แต่ object ที่มีความสามารถเหมือนกัน ภายในอาจมีความสามารถเพิ่มเติมก็ได้ และในความสามารถเดิมที่มีก็สามารถมีรายละเอียดเพิ่มเติมได้ เช่น มนุษย์ และ นก สืบทอดมาจาก สิ่งมีชีวิต ซึ่งมีความสามารถในการเคลื่อนที่ แต่นก จะสามารถเคลื่อนที่ได้ด้วยการบินด้วย เป็นต้น

OOP และ Data Driven Read More »