Ruby on Rails 自學推薦資源以及注意事項

目前寫 Rails 將近八、九個月,回想剛開始學習 Rails 時非常困惑:到底要從哪本書開始?為什麼照著書打 Code 好幾章了,還是搞不太懂在做什麼?

於是我打算分享一些自身學習的經驗,讓有意踏入 Ruby on Rails 這個領域的人能有份指引。

首先先提一些注意事項:

Read English

對於想要自學 Ruby on Rails 的人,要先有「會讀很多英文書籍、資源」的心理準備。 Ruby on Rails 在國外非常火紅,但在台灣並不算非常興盛,目前台灣的 Rails 書籍僅有兩本(文章後面會提到),大多書籍、學習資源都是英文的。

以前想要學習某項技術,我第一件事就是去書局找中文書,凡英文的都直接略過。當時也不認為這有什麼不好,但直到我下定決心要學習 Rails 且努力地閱讀原文書籍後,發現了一件驚人的事實:很多原文書寫得比中文書好太多了。

事實上除了書籍之外,還有很多品質優良的教學網站都是英文的,如果不嘗試接受原文內容,會錯過非常多寶貴的東西。

如果你決心要學習 Rails 的話,大量閱讀原文資源是必須的。不過事實上資訊這個領域,原文資源本身就比較豐富,不管學習什麼技術,若你真心想要成為那領域的專家的話,都必須擺脫「只看中文書」的想法。

Buy a Macbook

Macbook..? 何須為了學 Rails 買這麼大手筆的裝備?在我看到 Xdite 寫的 Rails 101 的內容時,起初我的確堅持不買、用 Ubuntu 代替,但在被 Ruby 和 Rails 的環境安裝整過之後,就毅然決然換成 Mac 了……

Rails Developer 大多都是使用 Mac ,導致兩個結果:(1)如果你使用其他作業系統(指 Linux,Windows 就別想了…)的話,遇到問題很可能會 Google 不到解答。(2)因為一些套件相依性之類的問題,導致在 Linux 作業系統配置 Ruby 和 Rails 的開發環境常常會撞牆。

因此若你決心要學習 Rails ,Macbook 可說是不可或缺的配備。但不得不說,Mac 不只是一個很好的開發裝備,其 UI、易用性實在是令人讚嘆不已。

遇到問題的解決辦法

  1. Google 找解答。
  2. Google 找不到的去 Stack Overflow 問。
  3. 除了 Stack Overflow ,也可以在 FB Group : Rails 新手村 發問看看。

決心、堅持到底

如果你跟我當初一樣只會基本 HTML/CSS 以及基本程式設計能力的話(如果你不會基本的 HTML/CSS 的話,建議你先學習之後再接觸 Rails ),剛開始學習 Rails 的確會有很多部分搞不清楚,但不要擔心,照著書中的內容打 Code ,盡力理解每一行 Code ,某個部分有些模糊沒關係,不要因此而駐足不前,繼續往下讀,當你照著書中的內容完成整份專案之後,請闔上書本,將你完成的 Code 閱讀一遍,思考一下為什麼這段 Code 要這樣寫、它們之間的關聯是什麼?

把整份 Code 理解差不多之後,試著自己用 Rails 打造一個解決你需求的專案看看,某個部分忘記就回顧一下之前完成的 Code ,真的看不懂再回去復習書中的內容,如此自行練習完成一個專案後,想必你就可以把基本的 Rails 開發流程搞清楚了。

但不要就此滿足,再試著寫出第二、第三個專案看看,基本上練習到第三個專案,你就可以完全不看書和之前寫的程式碼完成一個專案了。

這個過程很艱難,或許會想要放棄,但不管如何,堅持到底,最終你就可以把這項技能學起來。

最後列出我推薦的學習資源(以基礎為主,更深入的東西沒有列在這分清單內):

學習 Rails 之前建議具備的能力

  1. HTML/CSS : 可以去 Codecademy 學:HTML & CSS
  2. Git : 可以去 CodeSchool 學:Try Git
  3. Command Line : 練習使用 Command Line 是必須的,事實上很多狀況使用 Command Line 處理會比 GUI 快很多。我個人是翻鳥哥的 Linux 私房菜,不過你也可以購買 Xdite 推薦的 Meet the Command LineAdvanced Command Line 看看,我個人是沒有看過,不知內容如何。

Books

  1. Learn Ruby The Hard Way : 這是我學習 Ruby 讀的第一本書籍,非常推薦。(在閱讀此書之前,歡迎你先閱讀我寫的這篇文章「閱讀 Learn Ruby The Hard Way 時可能會遇到的問題」)
  2. Ruby on Rails Tutorial : 讀完「Learn Ruby The Hard Way」之後直接讀這本書。
  3. Rails 101 : 這本 Xdite 寫的書很不錯,但不太建議初學者閱讀,因為此書的解釋不多,可能會看得很辛苦。讀完「Ruby on Rails Tutorial」之後,可以把這本書當成複習教材,讓觀念更扎實、清楚。
  4. Ruby on Rails 實戰聖經:這本 ihower 寫的書也是很好的資源,建議你擁有 Rails 基礎開發能力之後把這本書用來補強觀念,它可以幫助你更了解如何使用 Rails 提供給我們的一些工具以及了解內部的運作機制為何。

Online Courses

  1. Try Ruby : CodeSchool 的互動式教學課程,教導很基礎的 Ruby 觀念。如果你把「Learn Ruby The Hard Way」讀完的話,幾乎可以不用做這個課程,不過用來複習也不錯。
  2. Rails for Zombies Redux:Rails for Zombies Redux 在初學階段可以當作輔助教材,協助你更了解 Model, View, and Controller 的觀念。
  3. Rails for Zombies 2:Rails for Zombies 2 我建議等你具備基礎 Rails 開發能力之後,把它當作補充教材。

進修書單

之前 Xdite 有寫一份推薦閱讀的書單,可以參考看看:2013 Ruby on Rails Reading List

comments powered by Disqus
分享至 Facebook 分享至 Google +