(ฉันส่งโพสต์นี้ไปที่รายการของฉันเมื่อนานมาแล้ว ถ้าคุณชอบมันและต้องการอ่านมากกว่านี้ คุณควรสมัคร!)
ระบบนิเวศของ Rails เคลื่อนที่เร็ว เร็วเกินไปสำหรับการพิมพ์ ถ้าคุณเป็นเหมือนฉัน คุณต้องการเรียนรู้เวอร์ชันล่าสุดของเฟรมเวิร์กและอัญมณีของคุณ แต่แหล่งข้อมูลที่ดีที่สุดมักเป็นเวอร์ชันที่อยู่เบื้องหลัง
แหล่งข้อมูลเหล่านี้ยังคงมีประโยชน์ ไม่มีอะไรที่เหมือนกับหนังสือที่ผ่านการตัดต่ออย่างดี screencast หรือบทช่วยสอนเพื่อเรียนรู้ API ปรัชญา และโครงสร้างของห้องสมุด
ตัวอย่างเช่น หากหนังสือ Rails ที่ดีที่สุดอธิบายเฉพาะ Rails 4.0 คุณก็ยังควรเริ่มจากตรงนั้น เมื่อคุณกำลังเรียนรู้อัญมณีหรือกรอบงานใหม่ การเรียนรู้ทำไมเป็นสิ่งสำคัญ ได้รับการออกแบบมาในลักษณะเฉพาะและชิ้นส่วนทั้งหมดเข้ากันได้อย่างไร เป็นเรื่องยากที่จะได้รับจากเอกสารอ้างอิงและบล็อกโพสต์ แต่หาได้ง่ายจากหนังสือ
แต่เมื่อคุณสร้างประสบการณ์กับอัญมณีเวอร์ชันเก่า คุณจะตามทันได้อย่างไร
ตามทันการเปลี่ยนแปลง
เจมยอดนิยมส่วนใหญ่มีไฟล์ CHANGELOG ในที่เก็บ git เช่น bundler:https://github.com/bundler/bundler/blob/master/CHANGELOG.md นี่เป็นวิธีที่ยอดเยี่ยมในการติดตามการเปลี่ยนแปลงครั้งใหญ่จากเวอร์ชันหนึ่งไปอีกเวอร์ชันหนึ่ง โดยปกติแล้ว สิ่งเหล่านี้เป็นเพียงบทสรุปสั้นๆ ของการเปลี่ยนแปลงที่สำคัญแต่ละรายการ แต่สิ่งเหล่านี้เป็นจุดเริ่มต้น คุณจึงสามารถค้นคว้าเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงที่น่าสนใจได้
หมายเลขบั๊กอ้างอิงการเปลี่ยนแปลงบันทึกจำนวนมากบน GitHub หากคุณเห็นรายการในบันทึกการเปลี่ยนแปลงที่มีหมายเลขข้อบกพร่องแนบ คุณสามารถค้นหาจุดบกพร่องในปัญหาของโครงการเพื่อทำความเข้าใจสิ่งที่เปลี่ยนแปลง การเปลี่ยนแปลง และสาเหตุที่เปลี่ยนแปลง
ดังนั้นคุณจะค้นหาบันทึกการเปลี่ยนแปลงได้อย่างไร ปกติฉันแค่ค้นหา bundler github
. ใน Google (ถ้าฉันกำลังมองหาบันทึกการเปลี่ยนแปลงบันเดิล) และมักจะอยู่ในหน้าแรกของ GitHub ที่คุณเห็น
หากไม่มีบันทึกการเปลี่ยนแปลง คุณสามารถดู README ของโครงการหรือวิกิของโครงการบน GitHub ได้ แต่เนื่องจากไม่ได้ออกแบบมาเพื่อช่วยให้คุณติดตามจากเวอร์ชันหนึ่งไปอีกเวอร์ชันหนึ่ง จึงมักจะใช้เวลานานกว่าในการดำเนินการ
การใช้เอกสารอ้างอิงที่เป็นปัจจุบัน
เมื่อคุณทำงานกับอัญมณี คุณจะต้องคอยอัปเดตเอกสารอ้างอิงอยู่เสมอ ด้วยวิธีนี้ คุณจะค้นหาการใช้งาน API และดูตัวอย่างได้ในขณะเขียนแอปของคุณเอง
คุณสามารถค้นหาเอกสาร API สำหรับ gem เวอร์ชันใดก็ได้ที่ rdoc.info แต่เพื่อให้ค้นหาเอกสารได้เร็วยิ่งขึ้น คุณควรลองใช้ Dash หรือ Zeal
ฉันใช้ Dash ดังนั้นเมื่อฉันต้องการค้นหาเอกสาร API ฉันกด option-Space เริ่มพิมพ์ และเอกสารอัญมณีทั้งหมดของฉันจะปรากฏขึ้นทันที เป็นการเปลี่ยนแปลงเวิร์กโฟลว์ของฉันที่จ่ายให้ตัวเองหลายครั้ง
เคล็ดลับบางประการเกี่ยวกับ Rails โดยเฉพาะ
Rails เป็นโครงการขนาดใหญ่ และผู้มีส่วนร่วมของ Rails ทำหน้าที่ดูแลบันทึกการเปลี่ยนแปลงและเอกสารได้เป็นอย่างดี
ไกด์ Rails นั้นดี และยังสร้างจากที่เก็บ git เดียวกันกับ Rails ดังนั้นจึงเป็นเวอร์ชันล่าสุดเสมอ
หากคุณกำลังพยายามติดตาม Rails เวอร์ชันล่าสุด บันทึกประจำรุ่นคือจุดเริ่มต้นที่ดีที่สุด ตัวอย่างเช่น นี่คือบันทึกประจำรุ่นสำหรับ Rails 4.1:https://guides.rubyonrails.org/4_1_release_notes.html
กระบวนการที่ฉันใช้เป็นประจำ
เมื่อนำทุกอย่างมารวมกัน นี่คือสิ่งที่ฉันทำเมื่อฉันต้องการรับข้อมูลล่าสุดเกี่ยวกับห้องสมุดใหม่:
- อ่านหนังสือ บทช่วยสอน หรือเอกสารเกี่ยวกับอัญมณี ฉันมักจะพยายามค้นหาแหล่งข้อมูลใหม่ล่าสุดที่ทำได้ ในขณะที่ฉันกำลังอ่าน ฉันสร้างแอป ฝึกฝน ฯลฯ ไม่ว่าฉันกำลังเรียนรู้เวอร์ชันใด
- ค้นหาโครงการบน GitHub
- อ่านบันทึกการเปลี่ยนแปลง readme หรือ wiki ของโครงการเพื่อนำฉันจากเวอร์ชันที่ฉันรู้จักเป็นเวอร์ชันล่าสุด
- หากฉันสนใจการเปลี่ยนแปลงใดโดยเฉพาะ ให้ google หาการเปลี่ยนแปลงหรืออ่านปัญหาของโครงการเพื่อเรียนรู้เพิ่มเติม
- อัปเกรดอัญมณีเป็นเวอร์ชันใหม่ล่าสุด
- ติดตั้งเอกสารประกอบของอัญมณีใหม่ใน Dash
- เขียนโค้ดด้วย!
ฉันไม่ได้ทำตามขั้นตอนเหล่านั้นตลอดเวลา แต่โดยทั่วไปแล้วเป็นลำดับที่ฉันต้องทำ และกระบวนการประเภทนี้มีประโยชน์ในกรณีที่ฉันติดอยู่ในขั้นตอนใดขั้นตอนหนึ่งหรือไม่รู้ว่าจะต้องไปที่ใดต่อไป
จะเกิดอะไรขึ้นถ้าคุณไม่พบบันทึกการเปลี่ยนแปลงหรือไม่เข้าใจ เอกสาร?
บางครั้ง คุณไม่สามารถรับข้อมูลที่คุณต้องการจาก GitHub repo หรือเอกสาร API ของ gem ได้ เมื่อเกิดเหตุการณ์นี้ขึ้น คุณจะต้องดำดิ่งลงไปในโค้ดและเริ่มอ่าน
น่าแปลกที่ การอ่านโค้ดไม่เหมือนการอ่านหนังสือ แทนที่จะอ่านไฟล์ตั้งแต่ต้นจนจบ คุณต้องสำรวจ รหัส. นี่เป็นศิลปะมากกว่าวิทยาศาสตร์ แต่เป็นทักษะที่สำคัญในการเรียนรู้ ดังนั้น ฉันอาจจะต้องพูดมากกว่านี้ในภายหลัง!
คุณได้เรียนรู้เคล็ดลับอะไรบ้างในการรับมือกับการเปลี่ยนแปลงอัญมณี เป็นยังไงกันบ้างคะ?