เรียน Rails ก่อน Ruby ได้ไหม? ได้ สักพัก แตเวลาแอปโตเกิน REST, generated-scaffold, twitter-clone stage จะชนกำแพง แน่ว่าเรียน Ruby ผ่าน osmosis แต่นานมาก
อยากเรียน Ruby พอที่จะ master Rails เรียน Ruby แยกต่างหาก แตมีหนังสือ Ruby เยอะ นับ 4 ชั้นวางครั้งล่าสุดไปห้าง มากพอใช้ แตมีบางเล่ม outstanding จะช่วยตลอดการเรียน Ruby
From the Beginning
Rails อาจเป็น framework แรก Ruby ภาษาแรก ถ้าใหม่ programming โดยรวม เริ่ม Learn to Program สอนเขียน programs ด้วย Ruby แม้ไม่เคยเขียนโค้ด มาเริ่ม habit ดี และรู้จักหลายคนสนุกมากกับเล่มนี้เป็น programming book แรก
ต่อไป Eloquent Ruby สอนเขียน Ruby ที่ดูเหมือน Ruby (สำคัญมากสำหรับ Rubyists) เรียน define classes, สร้าง methods on the fly, และทำไมเลือกวิธีเขียน Ruby หนึ่งมากกว่าอีกวิธี
อ่าน Eloquent Ruby จบ รู้ idiomatic Ruby และอ่านเข้าใจโค้ดที่เจอได้ง่ายขึ้น
When Things Get Tougher
อ่านหนังสือ 2 เล่ม รู้เขียนโค้ด Ruby แตยังจัดระเบียบยาก เมธอดไป class ไหน? Classes ใหญ่เกินไปเมื่อไหร่? ทำไงตอนเขียน method ซับซ้อนจนไม่เข้าใจ?
Confident Ruby และ Practical Object-Oriented Design in Ruby เป็น gems ของ intermediate Ruby development อ่าน 2 เล่มนี้ โค้ด Ruby ของคุณจะเปลี่ยนไปตลอดกาลดีกว่า
ทำไม?
Confident Ruby สอนเขียน readable Ruby code ด้วย patterns เรียบง่าย กำกับกับการเขียน code ชัดเจนเกี่ยวกับสิ่งที่มันทำ Code ที่ผลัก decisions, duplication, edge cases ออกจากตัวมัน ให้คุณไมต้องคิดส่วนซับซ้อนตอนไม่ต้อง Code that Just Works
Practical Object-Oriented Design in Ruby เรื่อง apply good design โค้ด เรียน structure objects, methods, communication ระหว่างพวกมัน ให้ code ใช้และ test ง่าย เรื่อง flexible code โดยไม่ over-structure และเขียน tests ที่ไม่เกลียดตอน fix เวลาโค้ดเปลี่ยน
Ongoing Education
ต่อไป เรียนรู้จากการหา ideas เยอะ และลึกเข้าไปในที่น่าสนใจ Blogs ดี แตมี explosion ของ resources อื่นๆ ที่ปล่อย regularly เรื่อง Ruby หลากหลาย
โปรดของผม:
- The Ruby Rogues Podcast (และ podcasts/talks อื่นๆ)
- RubyWeekly
- RubyTapas
- Ruby Steps
RubyTapas และ Ruby Steps เป็น paid services แตแต่ละอันมี episodes/newsletters ฟรีบ้าง ลองดูก่อนสมัคร
ผมเรียนรู้ Ruby เยอะจาก years ของ random articles และ screencasts ไมใช่ organized way ที่สุด แตทำงานได้
Bringing It Back to Rails
Rails คือ Ruby เวลาเรียน Ruby สอน Rails และ vice versa
เรียน Ruby ก่อน ไม requirement สำหรับ Rails ทำได้เยอะกับ Rails แม้ต้อง muddle through Ruby
แตไมใช่ best way คุณต้องเรียน Ruby สุดท้าย และตอนนั้น ใช้หนังสือเหล่านี้สร้าง foundation มั่นคง