Ruby

ติดตั้ง GOLANG ด้วย GVM

[Ubuntu 18.04] ติดตั้ง Golang ด้วย gvm(Go Version Manager) เราจะติดตั้ง gvm(Go Version Manager) ซึ่งเป็นตัวช่วยในการ จัดการ version ของ Golang จะติดตั้งด้วยคำสั่ง $ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) จากนั้น Restart Terminal ลองทดสอบว่าเราติดตั้งสำเร็จไหมจากคำสั่ง $ gvm version ถ้าติดตั้งสำเร็จ จะแสดง Version ของ gvm ให้เราเห็น ดูรายการ Version ของ Golang ที่สามารถใช้ได้ ได้จากคำสั่ง $ gvm listall ต่อไปติดตั้ง Golang กัน ด้วยคำสั่ง $ gvm install go1.10.3 …

ติดตั้ง GOLANG ด้วย GVM Read More »

Ruby Assignment Operators and Logical Operators

Ruby Arithmetic Operators กำหนดให้ a = 10 เเละ b = 20 Operator Description Example += การนำจำนวน 2 จำนวนมาบวกกัน เเละ นำค่าที่บวกมากำหนดค่าให้ตัวเเปลเดิมที่ใช้ c += a มีความหมายเหมือนกัน c = c + a -= การนำจำนวน 2 จำนวนมาลบกัน เเละ นำค่าที่ลบมากำหนดค่าให้ตัวเเปลเดิมที่ใช้ c -= a มีความหมายเหมือนกัน c = c – a *= การนำจำนวน 2 จำนวนมาคูณกัน เเละ นำค่าที่คูณมากำหนดค่าให้ตัวเเปลเดิมที่ใช้ c *= a มีความหมายเหมือนกัน c …

Ruby Assignment Operators and Logical Operators Read More »

Ruby Arithmetic Operators and Comparison Operators

Ruby Arithmetic Operators กำหนดให้  a = 10 เเละ  b = 20 Operator Description Example + การนำจำนวน 2 จำนวนมาบวกกัน a + b = 30 – การนำจำนวน 2 จำนวนมาลบกัน a – b = -10 / การนำจำนวน 2 จำนวนมาหารกัน b / a = 2 * การนำจำนวน 2 จำนวนมาคูณกัน a * b = 200 % การหารเอาเศษ b % a …

Ruby Arithmetic Operators and Comparison Operators Read More »

Ruby caching

เขียนโดย วุฒิไกร ลิ่มสกุล :: 04 สิงหาคม 2558         ruby caching คือการจัดเก็บ output ไว้เป็น file โดยจะทำการบันทึก ในรูปแบบของ html โดยค่าตั้งต้นจะเก็บไว้ที่ public/ ซึ่งเราสามารถที่จะปรับเปลี่ยนตำแหน่งได้ เมื่อมีการร้องขอข้อมูล ของ file ที่มีอยู่ในแคชที่จัดเก็บไว้มันก็จะวิ่งเข้ามาที่ ไฟล์ที่จัดเก็บเป็นแคชไว้แทน ที่จะวิ่งไปที่เราเรียกหาไฟล์เช่น ฐานข้อมูล ruby caching จะช่วยลดภาระการทำงานของ server ลงได้มาก เช่น แทนที่จะต้องร้องขอข้อมูลจาก ฐานข้อมูล ก็เปลี่ยนไปเป็นการเรียกข้อมูลจาก cache file แทน ช่วยในการ แสดงผลที่รวดเร็ว เป็นต้น การใช้งาน ruby caching ก็มีหลากหลายรูปแบบที่ ruby มีให้ใช้ เช่น ActiveSupport::Cache::Store ActiveSupport::Cache::MemoryStore ActiveSupport::Cache::FileStore …

Ruby caching Read More »

Duck Typing คืออะไร

Posted on July 17, 2015 By Karun Siritheerathamrong …Duck Typing คืออะไร?… Duck Typing เป็นลักษณะหนึ่งของการเขียนโปรแกรม ที่ไม่ได้พึ่งการทำงานแบบ Strong Typing มักปรากฏในภาษาโปรแกรมสมัยใหม่ที่เป็น Dynamic Language สำหรับ Strong Typing  ความเหมาะสมของออบเจ็กต์หรือตัวแปรในการใช้งาน จะถูกพิจารณาจากประเภทของออบเจ็กต์นั้น แต่สำหรับ Duck Typing แล้ว ความเหมาะสมของออบเจ็กต์หรือตัวแปรจะถูกพิจารณาจาก สิ่งที่ออบเจ็กต์นั้น “ทำได้” (method) และข้อมูลภายในที่ออบเจ็กต์นั้น “ถืออยู่” (attributes) คำว่า Duck Typing นี้มีที่มาจากคำว่า Duck Test ซึ่งเป็นการให้เหตุผลแบบ “อุปมาน” ที่อาจมีที่มาจากงานเขียนของ James Whitcomb Riley ที่ว่า “เมื่อฉันเห็นนกที่เดินแบบเป็ด ว่ายน้ำแบบเป็ด และร้องแบบเป็ด ฉันเรียกนกตัวนั้นว่า เป็ด” ตัวอย่างของโค้ดที่เป็นแบบ …

Duck Typing คืออะไร Read More »

แยก 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 »

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 »

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 »

Bundler & Gem คู่พิฆาต Dependencies

Posted on May 14, 2015 By Anak Umpaivit Bundler คืออะไร?           Bundler คือ สิ่งที่ใช้ในการจัดการ Gem ที่ต้องการนำมาใช้กับ Ruby Application ที่เราพัฒนา โดยติดตามความเคลื่อนไหว และติดตั้ง Gem ต่างๆ ตามที่ตั้งค่าไว้ รวมถึงสามารถกำหนด Version ของ Gem ที่ต้องการได้ สามารถดูรายละเอียดเพิ่มเติมได้ที่ http://bundler.io/ Gem คืออะไร?           Gem ใน Ruby เปรียบเสมือน Plugin เสริมที่ช่วยในการพัฒนา Application แต่ใช้การตั้งชื่อเรียกให้เข้ากับชื่อ Ruby (Ruby: ทับทิม, Gem: อัญมณี) โดย Gem จะเป็นเหมือน Feature ที่ผู้ใช้งานสร้างขึ้น และบีบอัดเป็น Gem เพื่อใช้งาน …

Bundler & Gem คู่พิฆาต Dependencies Read More »

วิธีติดตั้ง Ruby และ Rails อย่างง่ายด้วย RVM

Posted on April 30, 2015 By Karun Siritheerathamrong สำหรับใครที่อยากจะเริ่มต้นศึกษาการพัฒนาแอพพลิเคชันด้วย Ruby หรือ Rails คงจะปวดหัวกันไม่น้อย เนื่องจากขั้นตอนในการติดตั้งและเตรียมเครื่องมือในการพัฒนานั้นเยอะเสียเหลือเกิน แถมวิธีในการเตรียมเครื่องมือในแต่ละระบบปฏิบัติการก็ไม่เหมือนกันอีก จนบางครั้งทำเอาบางคนเปลี่ยนใจ ไม่คิดจะลองอีกเลย ก็มี ด้วยปัญหาที่ได้กล่าวถึงไปแล้วในตอนแรก เลยรวบรวมขั้นตอนการติดตั้ง Ruby และ Rails อย่างง่าย แบบ Step by step ด้วยเครื่องมือที่ชื่อว่า RVM ซะเลย RVM เป็นเครื่องมือสำหรับติดตั้งและจัดการเวอร์ชันของ Ruby และ Gemset ที่สามารถจัดการ Ruby และ Gemset ได้หลายเวอร์ชันในเครื่องเดียวกัน โพสต์นี้จะอธิบายขั้นตอนเฉพาะบน Ubuntu และ Mac OS X เท่านั้น ที่ไม่อธิบายขั้นตอนบน Microsoft Windows เพราะว่า ระบบปฏิบัติการดังกล่าว มีเครื่องมือติดตั้งให้อยู่แล้ว สามารถดาวน์โหลดได้ …

วิธีติดตั้ง Ruby และ Rails อย่างง่ายด้วย RVM Read More »