Isriya Paireepairit / mk / markpeak
A Thai tech geek. Co-founder of Blognone and SIU. Blogging on almost everything.
หลังจากหัดเขียน Ruby ไปหน่อย (ประมาณ 1 วัน) แล้วทิ้งช่วงประมาณ 3 เดือนเผื่อมันจะเข้มข้น (จริงๆ ไม่เกี่ยวเลย) ก็มาถึงคิวของ Ruby on Rails (web framework สำหรับ Ruby) ซะที
การติดตั้งก็ไม่ยากนัก ลง Ruby ก่อน ตามด้วย RubyGems ซึ่งเป็นตัวจัดการแพกเกจของ Ruby จากนั้นก็ลง Ruby on Rails เหมือนเป็นแพกเกจนึง มาแนวเดียวกับ apt-get เลย
เผอิญผมใช้บนแมค ถ้าใครใช้แมคอ่านวิธีตามนี้ดีกว่า Rolling with Ruby on Rails on Mac OS X Tiger (for beginners) เท่าที่ใช้ดูมีปัญหากับ MySQL ไม่รู้เกิดจากปัญหาที่ผมเจอบน 10.4.4 หรือเปล่า เดี๋ยวค่อยไปค้นหาอีกที
ลงเสร็จแล้วก็ลุยเลยไม่ต้องคิดมาก ลองสร้างโปรแกรมตัวอย่างที่ดังที่สุดคือ Recipe ซึ่งอยู่บนเว็บ ONLamp.com ของ O'Reilly
ลองเล่นพักนึงก็เข้าใจว่าทำไมมันถึงดัง เรื่องมันมีอย่างงี้ครับ
ผมลง Ruby เสร็จ gen โครงโปรแกรมขึ้นมา สร้างตารางง่ายๆ ใน MySQL มาอันนึง จากนั้นพิมพ์โค้ด Ruby 1 บรรทัด (ย้ำว่า 1 บรรทัด) สิ่งที่ผมจะได้คือเว็บเพจแบบ dynamic ที่สามารถแสดง, สร้าง, แก้ไข, ลบข้อมูลในตาราง สำเร็จรูปโดยพิมพ์โค้ดแค่บรรทัดเดียว
ยืมคำพูดของ ONLamp มาบรรยายเหตุการณ์
Now, that is way beyond cool--it's awesome!
สรุปง่ายๆ ว่า Ruby on Rails เป็นอะไรที่หลักแหลมมาก เพราะมันมาจากไอเดียที่ว่าเว็บแอพพลิเคชันทั่วไป งานมันจะซ้ำๆ กัน พวกสร้าง, แก้ไข, ลบข้อมูลในฐานข้อมูล ดังนั้นก็มาทำให้มันสำเร็จรูปใช้ได้ง่ายๆ ซะ ต่อไปเวลาทำเว็บแอพพลิเคชันจะได้ไม่ต้องมาเสียเวลากับพวกนี้ เอาหัวไปทำอะไรที่จำเป็นดีกว่า
สมมติว่าผมมีคลาส Recipe เจ้า RoR จะสร้าง URL ที่ชื่อ localhost/project/recipe ให้อัตโนมัติ (แถม /Recipe ให้ด้วย) เท่านั้นยังไม่พอ มันต่อกับตาราง recipes ในฐานข้อมูลให้อัตโนมัติ (สังเกต s)
อย่างงี้ผมก็เรียก awesome! เหมือนกันแหละ
แนวคิดของ RoR ใช้วิธี Model-Controller-View ซึ่งผมไม่เคยเขียน แต่เท่าที่อ่านดูมันทำให้โค้ดสะอาดและอ่านง่ายกว่าเดิมเยอะ (ถ้าใครเคยเขียน PHP น่าจะนึกออกว่าโค้ดมันเละๆ)
เขียน RoR เลยเหมือนจะมีข้อควรทำว่า เขียนตาม template ที่กำหนด (พวกการตั้งชื่อตัวแปรหรือ method) ไปเหอะ งานทุกอย่างจะง่ายเอง
คืนนี้ไปหัดเขียนต่อ
Comments
LewCPE
24 February, 2006 - 19:17
Permalink
เคยไปเทรนจาวามา หลายตัวก็มีตัวสร้างหน้า CRUD อย่างนี้นะ
แต่ใช้แล้วรู้สึกว่ายุ่งกว่าเขียนเองอีก
ดู ruby on Rails แล้วเออ มันตรงไปตรงมากกว่าเยอะเหมือนกันว่ะ
Richard Soutar
21 April, 2007 - 14:00
Permalink
ลง MAMP
ลง MAMP มันจะปัญหาน้อยกว่าไหม บน mac เนี้ย MySQL มีปัญหาตลอด
Add new comment