Web Development 的學習之旅

2007/06/13

讀書心得: Ruby on Rails 專業網站案例實作

目前閱讀進度是完成 Ch3. 這裡的進度不是指用看的, 而是一步步完全依書裡的步驗實作出來.

書中的內容是以一個網路書店的案子來貫穿全場, 搭配 Scrum(輕量級的開發流程), 並運用 Rails 的 test framework, 實踐 TDD.

Ch1. 簡短地介紹環境及安裝, 利用 Rails 快速建立網路書店的基本框架, 介紹 Rails 的 MVC 概念, 運用 generate 指令完成一個 About 的頁面.

Ch2. 作者管理(CRUD, 單一Table). 建立 ActiveRecord 模型(Model), 及 controller&view, 搭配單元測試及功能測試, 運用 rake, migration, validation. 全場完全實踐 TDD.

Ch3. 書庫管理(CRUD, 關聯性模型). 使用 scaffold 快速產生 CRUD 程式碼, 建立 fixture 資料, 建立1對多,多對多關聯的 ActiveRecord Model, 建立整合測試, 安裝 RedCloth gem, file_column plugin. 不完全 TDD, 重點在整合測式.

目前的感覺是這本書可能不適合"完全"的初學者. 不過若是開發環境已經備妥(mysql, ruby, ror, editor...等), 可以進行 coding 的話, 遇到的狀況會較少些.

由於大部份都是自己 coding, 所以不時遇到因為疏忽而漏了字母, 或多打了字母, 造成 test 失敗, 怎麼看就是看不到那個錯誤的地方. 不過幸好使用 TDD, 加上使用了 BeyondCompare, 使整個過程尚稱順利, 許多問題都蠻快解決了.

這本書翻得還不錯, 不過目前還是發現少數地方有錯誤, 不知是原文錯還是中文版錯. 這本書確實是以實作教學為導向, 不是以概念教學為導向, 因此遇到一些不瞭解的概念, 需要自行找答案.

大體來說這本書我覺得蠻適合我的, 它可以讓我很快速地瞭解整個實作的過程...在沒用過 ruby 及 rails 的情形下, 並確實地把網站做出來.(即使很多概念還不甚瞭解)

目前為止除了在 migration 裡使用到建立 constraint(foreignkey) 的 SQL 外, 其餘完全使用 ActiveRecord, 沒有用到 SQL command, 讓我覺得輕鬆多了. 在做整合測試時建立 DSL 使用到的語法, 也令我印象深刻, 這是我目前為止見過最接近的 use case 的 code, 非常地"平易近人".

沒有留言: