close

原文連結

不知不覺,時間已經邁入 2009 。ihower 和我前陣子就在商量,又過了一年,我們是不是應該又要來寫一篇書單來 Update 了。

但老實講,Rails 這個框架發展至今,其實已經越來越成熟穩定了,書其實也出差不多齊了,推來推去也那幾本。想了一想,今年這篇文章我便想改轉以學習順序與開發中需要的技巧/技術為導向,推薦各種學習上的資源,來獲得更有效的進步。

* Requirement Skill

這次的學習指南,將不再策重中文書以及中文文件的推薦。相反的,因為長期以來,許多在新手求助區發問的問題,絕大多數都是 *缺乏基本常識* 以及 *看不懂 Log / 文件* 所導致。這是即使提供中文資源也無法解決的狀況。因此在前面我先直接闡述一個重點,如果學習者沒有以下 background knowledge。我會建議你直接放棄學習 Ruby on Rails。(以後會另外開篇文章解釋)

1. LAMP background / Web Development Background
2. svn / git 基本操作
3. 英文技術文件閱讀能力 / 英文 Log 閱讀能力
4. 至少會寫一種 scripting language ( Perl / Python / Ruby ...)
5. 願意花時間練習





* First Step


初期學習 Ruby on Rails 的途徑,筆者 prefer 以幾個方向開始打基礎。

1. 初步瞭解 Ruby / RubyGems / Rails / Rails Plugin 之間的關係
2. 初步瞭解 Rails 目錄結構
- 至少有辦法在 Linux 上裝起 Ruby / Rails,新增一個 project ,接起 database
3. 學習用 Rails CRUD 以及搞懂 MVC 架構的運作
- 至少有辦法寫出基本 BLOG 的 CRUD
- 透過 CRUD 的操作瞭解 Rails 的 form 以及 ORM ( ActiveRecord ) 的簡單概念
4. 初步瞭解 Rails RESTful 的概念,以及練習如何在 Rails 使用 RESTful / Non-Restful (搞懂 routes)的方式練習 CRUD
5. 初步熟悉一些常用的 plugin:Restful Authenication(認證)、Attachment_fu(上傳檔案附件)、Will_Paginate(分頁)的安裝以及使用方式。
6. 學一些 Ruby 基本的語法。





以上這一些都有辦法從 blog 或 官方 Repository 的 README ,step by step 學到,暫時不需要買什麼書。把這一些功課練完,幾乎就掌握了 Rails 的一些開發基礎技能,差不多能開始寫點有趣的小東西....

至於 Ruby 的書推薦:Ruby Programming — 向 Ruby 之父學程式設計Programming Ruby 3nd edition


* Second Step

開始開發以後要繼續念/練的東西...

1. 進階 ActiveRecord
- 學習如何下 condition、name_scope、relation、Callback

2. 進階 ActionController
- filter、filter 搭配 resource(巢狀目錄)

3. 編寫自己的 helper,操作 partial
- 學習如何用 helper,把 view 裡面的混雜的邏輯與 html 處理乾淨

4. 熟悉 routing 與 respond_to 搭配 builder
- 練到想怎麼指就怎麼指
- 學會怎麼生 RSS / ATOM / csv / json

5. Library、Gem、Plugin 的搭配使用
- 依照自己的需求上 GithubRubyForge 找適合自己的 gem / plugin ,或者上 Dzone 找 Library 搭配自己的 Application 開發。節省重新造輪子的時間。

6. RJS
- Ajax .....

7. I18n
- 學會怎麼使用與操作 Rails 內建的 I18n

8. Deployment
- Mongrel / Thin / mod_rails 的使用
- Capistrano Recipes 的撰寫

9. Mailer 與 Observer
- 寄信

10. Asynchronous jobs
- Daemon 與 Queue

11. Ruby for Rails
- 就是熟悉 Ruby for Rails XD



推薦:

Agile Web Development with Rails, Third Edition
這是 Rails 界的聖經,由 DHH (Rails 之父)主筆。內附基本開發實例,以及詳述 Rails 常用 API 。目前這本書的第三版跟進到 Rails 2.2.2 。

Rails way
新 Rails 聖經 枕頭書。看完整本絕對超熟 Rails ,可惜沒幾個人有耐性看完....XD

Ruby for Rails
這本書是專為 Rails 開發者所寫,作者特別把開發 Rails 所需的 ruby 語法和概念,搭配 rails 做整合性的講解。(才不會發生怎麼蓋高樓,卻根本不懂建築原理的情形。這樣房子會倒的啊啊啊啊....)

Deploying Rails Applications: A Step-by-Step Guide
Deploy Rails Application 的教學書籍。如果對 Deploy 策略不熟的可以買來看看補充常識。如果熟的應該看大家平常的討論應該就夠了....

Advanced Rails Recipes: 84 New Ways to Build Stunning Rails Apps
這本書強烈建議購入,每一章都精彩。比較進階的開發進巧,比如:寄信、Nested Forms、 Asynchronous jobs 的作法 大概都有提...

RJS Templates for Rails (O’Reilly shortcut PDF)
蠻不錯的 RJS PDF

Rails 2.2 Release Notes
Rails 2.3 Release Notes

Rails 本身是一個觀念與架構都進步十分迅速的 framework,只看書其實不太足夠,進度也跟不太上。加上 Rails 後來更組織了專門寫 Document 的團隊,近幾個版本的 Release Note 都寫得相當好以及清楚。Rails 2.3 的 Release Note 更簡直像一本小教書,許多 feature 以及使用方法都解釋的十分清楚。如果想瞭解新 feature,直接看 Release Note 現在是我相當推薦的方法...



下一篇會繼續寫的是如何進階 Ruby on Rails 以及推薦閱覽練習的材料...。

arrow
arrow
    全站熱搜

    xdite 發表在 痞客邦 留言(1) 人氣()