Technology

แยก Ruby version/gemset ของแต่ละแอพออกจากกันด้วย RVM

Posted on July 16, 2015 By Karun Siritheerathamrong ต่อเนื่องจากโพสต์ก่อนหน้านี้เรื่อง วิธีติดตั้ง Ruby และ Rails อย่างง่ายด้วย RVM และ Bundler & Gem คู่พิฆาต Dependencies เมื่อเราพัฒนาหลายๆ แอพพลิเคชั่นพร้อมๆ กัน ก็มีโอกาสที่บางแอพฯ จะเรียกใช้ gem เดียวกันกับแอพฯ อื่นๆ แล้วจะทำให้เกิด “ปัญหา” ที่หลายๆ คน มองข้ามไป นั่นคือ….. การตีกันของ gem ต่างๆ ในระบบ ตัวอย่าง… โปรเจ็ก A ใช้ gem mongoid (สมมติให้ตอนติดตั้งเป็นเวอร์ชั่น 3.1.2) โค้ด / วิธีการ query ข้อมูล และ API เป็นไปตาม […]

แยก Ruby version/gemset ของแต่ละแอพออกจากกันด้วย RVM Read More »

Test Cases

Test Cases เขียนยังไงให้เข้าใจง่ายบน Capybara!

Posted on July 9, 2015 By Anak Umpaivit Capybara Test Cases แน่นอนว่า สิ่งที่ขาดไม่ได้สำหรับการทำ Automated test ก็คือ Test Scenario หรือ Test Cases นั่นเอง ซึ่งโดยปกติแล้ว Tester ส่วนใหญ่ก็น่าจะมีวิธีการออกแบบวิธีการ Test อยู่แล้ว อย่างการทำตาราง Given, When and Then เป็นต้น แต่ในการเขียน Capybara นั้น เราก็ต้องนำ Case ต่างๆ มาแยกเป็นข้อๆ และเขียนลงไปเช่นกัน แล้วจะเขียนยังไงดี? เขียนยังไงถึงจะถูก? เป็นคำตอบที่ตอบได้ยาก แต่จากประสบการณ์ของตัวผู้เขียนเอง ที่ผ่านการลองผิดลองถูกมาพอสมควร จะมาเสนอเทคนิคที่ใช้อยู่ในปัจจุบันให้ฟัง แต่ก่อนอื่น เราต้องมาดูก่อน ว่า Capybara นั้น มีรูปแบบการเขียน Test Cases

Test Cases เขียนยังไงให้เข้าใจง่ายบน Capybara! Read More »

seo

SEO WordPress ทำยังไงให้ Blog ติดอันดับ!

Posted on July 6, 2015 By Anak Umpaivit SEO คืออะไร? SEO ย่อมาจาก Search Engine Optimization อธิบายคร่าวๆ คือการทำให้ Website ติดอันดับการแสดงเมื่อมีคนค้นหาใน Search Engine อย่าง Google, Bing ฯลฯ นั่นเอง SEO นั้นเป็นสิ่งสำคัญ เพราะทุกตำแหน่งในการแสดงผลของ Search Engine ย่อมหมายถึงโอกาสที่ผู้สนใจจะเลือกเข้ามาชมเนื้อหา สำหรับ Blog นี้ จะแนะนำการเขียน Blog ตามหลักของ WordPress SEO by Yoast ที่ Swiftlet ใช้งานอยู่ สำหรับพนักงานของ Swiftlet และผู้เริ่มต้นเขียน Blog นั่นเอง WordPress SEO by Yoast สำหรับรายละเอียดของ Plugin ตัวนี้

SEO WordPress ทำยังไงให้ Blog ติดอันดับ! Read More »

Alfred! ผู้ช่วยการทำงานและการค้นหามือหนึ่งบน Mac OS X

Posted on July 1, 2015 By Anak Umpaivit Alfred คืออะไร? Alfred คือ Application ที่ชื่อดูเหมือนพ่อบ้านของฮีโร่ดัง และความสามารถในการช่วยอำนวยความสะดวกในการทำงานบน Mac OSX ได้เป็นอย่างดี เปรียบเสมือนเราได้ผู้ช่วยมาทำงานให้นั่นเอง โดยการทำงานออกจะคล้ายๆ Spotlight Search ที่มีมาให้กับ OSX แต่จะมีความสามารถเพิ่มเติมเข้ามาอีก ทั้งในขอบเขตที่สามารถใช้งานได้ฟรี และ ความสามารถที่ต้องจ่ายเงิน แต่ขอบอกได้ว่า แค่ความสามารถในการทำงานของตัวฟรีก็โดนใจผู้เขียนแล้ว เราไปดูความสามารถและวิธีการใช้งานกันเลย! 😀 Alfred General เมื่อเราติดตั้ง Alfred เรียบร้อย หน้าแรกจะให้เราตั้งค่า Hot Key ที่ใช้เรียกการทำงาน เหมือนกับเราเรียก Spotlight นั่นเอง น่าเสียดายที่ไม่สามารถเลือกบาง Key มาใช้ได้ เช่น ไม่สามารถเลือก ให้ทับ Hot Key ของ Spot light

Alfred! ผู้ช่วยการทำงานและการค้นหามือหนึ่งบน Mac OS X Read More »

Regular Expression

ณัฐธิดา หมวดเพ็ชร  [ 30 มิถุนายน 2558 ] Regular Expression  Regular Expression คือ การกำหนดรูปแบบอักขระ เพื่อใช้ในการค้นหาค่าในรูปแบบของ String โดย Regular Expression มีพื้นฐานมาจากทฤษฎีทางคณิตศาสตร์ที่ใช้ในการเปรียบเทียบข้อความที่ต้องการค้นหากับรูปแบบที่กำหนดว่ามีความสอดคล้องกันหรือไม่ รูปแบบอักขระของ Regular Expression มาจากการผสมอักขระพื้นฐานหลายตัวเข้าด้วยกัน เช่น /abc/ หรือจากการผสมอักขระพื้นฐานกับอักขระพิเศษ เช่น /ab*c/ หรือ/Chapter (\d+)\.\d*/ ที่ใช้เครื่องหมายวงเล็บเป็นหน่วยความจำ โดยข้อความที่ตรงกับรูปแบบอักขระในวงเล็บนี้จะถูกจดจำไว้เพื่อเรียกใช้ในภายหลัง มาดูสัญลักษณ์ของ Regular Expression ที่ใช้กันบ่อยๆดีกว่า ^ แทนความหมายว่า “ขึ้นต้นด้วย” เป็นจุดเริ่มของข้อความ $ แทนความหมายว่า “ลงท้ายด้วย” เป็นจุดสิ้นสุดของข้อความ . แทนตัวอักษรใด ๆ หนึ่งตัวยกเว้น NULL และแทนตัวขึ้นบรรทัดใหม่ | ใช้เป็นตัวคั่นเพื่อแสดงตัวเลือก ? แทนการเกิดขึ้น 0 หรือ 1 ครั้ง

Regular Expression Read More »

Mongoid Slug กับ Ruby on rails

เขียนโดย นายวุฒิไกร ลิ่มสกุล : 30 มิ.ย 2558         Mongoid slug เป็น gem สำหรับแปลง url ที่ไม่เป็นมิตรกับมนุษย์ หรืออ่านแล้วไม่เข้าใจ ให้อ่านเข้าใจ อย่างเช่น https://swiftlet.co.th/92cc35193275461e1e95569c เป็น https://swiftlet.co.th/mongoid-slug เป็นต้น ซึ่งจะมีผลอย่างมากกับ SEO (Search engine optimization) อย่ารอช้ามาเริ่มกันเลยดีกว่า เริิ่มจากการลง gem ก่อน เพิ่มเข้าไปยังไฟล์ Gemfile [code language=”ruby”] gem "mongoid_slug" [/code] อย่าลืมไปที่ Terminal แล้วเข้าไปยัง directory ของ project จากนั้นพิมพ์คำสั่ง [code language=”html”] $bundle install [/code] เมื่อทำการติดตั้ง gem

Mongoid Slug กับ Ruby on rails Read More »

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 »

ทำให้ 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 »