顯示具有 book 標籤的文章。 顯示所有文章
顯示具有 book 標籤的文章。 顯示所有文章

5/23/2007

[ 書評 ] Ruby on Rails 專業網站案例實作


對於我這樣不認真的人來說,要我寫 Testing 簡直是要了我的命,所以我從一開始看 Ruby on Rails 的時候,就完全沒碰 Testing 的部份。上次 UbiSunrise 的活動結束後,我還記得有觀眾告訴我

Ruby on Rails 比 Java 好的地方就是 Testing

讓我霎時間一個大大的 shock 。到底 Ruby on Rails 的 Testing 有何精妙之處呢?






命運是好玩的,很快的這本 「Ruby on Rails 專業網站案例實作」就出現在我的身邊。這是 Beginning Ruby on Rails E-Commerce: From Novice to Professional 的翻譯本,從書名來看,這本書是介紹用 Ruby on Rails 來寫 E-Commerce 的書,但是翻到一半,他給了我一種「Beyound Java」的感覺,沒錯,又是一本內容不錯,但是書名取怪的書。如果要我重新定一個書名,我想取「使用 Ruby on Rails學習 Test-Driven Development」應該是一個很好的書名。

沒錯,這是一本講解 Test-Driven Development 的良好教材,應該說,裡面有很多很棒的 Ruby on Rails Testing 範例 Code。並且開發方式真的是遵照 TDD 原則,先寫 Testing code ,再開始寫 real code。我從裡面的範例從頭到尾看到完,我享受了一頓真的很不錯的 Testing Tutorial。我從裡面學習很多很多 Testing 的技巧跟觀念。書的後半段還有介紹 Selenium 這個驗收測試的工具使用方式。真的是 Testing 的全套都 run 過一次,整本書算是一個完整的 Testing Tutorial。

再來,最後面的部份其實收錄了不少 Enterprise 才需要的問題,像是 deploy,I18n,效能最佳化等等的議題,而且整理的還很不錯。

最後,翻譯者功力很好,翻譯的不差,我那麼討厭看中文電腦書的人都覺得翻譯的真的順眼。「Convention over Configuration」 翻成「慣例優於組態」這個翻譯是我看過目前為止,把 Convention over Configuration 翻譯的最簡短,也最不失真的翻譯方式。

要講缺點的話,當然也有。他不是一個初學者的書本,裡面的講解方式都是要對 Ruby on Rails 有一定基礎的人才能夠輕鬆的閱讀,講解基礎觀念的部份不多。再來就是書名很容易造成誤導,最好改個書名比較好。

我還蠻喜歡這本書的。


3/09/2007

學習 Ruby on Rails 要看的書

Robbin 提出了一篇 RoR学习书籍推荐,裡面介紹學習 Ruby on Rails 要看的書,一共有三本。令人意外的,沒有 Programming Ruby。但是,這個想法跟我不謀而合。所以我也寫一篇學習 Ruby on Rails 要看的書,並且講解一下我的理由。注意,此學習歷程僅供「沒學過 Ruby 還有 Ruby on Rails ,但是想學習 Ruby on Rails 快速開發」的人參考,如果你沒了解這個前提代表的意思,這篇對你沒有參考價值。



當你什麼都不懂的時候,但是又想要立刻上手


請看 Agile Web Development with Rails 第二版,這本書是學習 Ruby on Rails 的第一本書,程度由淺入深,當初我一開始把 Tutorial 看完就可以直接來寫專案了。但是當你越來越熟練的時候,你還是少不了他,裡面有很多網頁開發的正確觀念值得一看再看,相當值得收藏。這裡有我第一版的書評

當你已經稍微了解 Rails ,但是想花時間了解 Ruby

Agile Web Development with Rails 是一本很難得的好書,但是他是專門介紹 Rails 的書,而非 Ruby 的書。當你看完第一本書的時候,你會發現到一件事情
我對 Rails 已經算熟了,但是 Ruby 的一些語法我只會常用的,我對 Ruby 不算熟怎麼辦?
所以在此我推薦 Ruby For Rails,這本書講解的是 Ruby ,但是他只限定在跟 Rails 有關的 Ruby ,你在裡面可以學到所有 Rails 用的到的 Ruby 語法,並且解釋的相當清楚(好啦,有些人覺得太過繁瑣),有了這本書,你可以很清楚的學習 Rails 用的上的 Ruby 語法。

我在工作上,有一些 Rails 上面的小問題,像是如何讓 Active Record 使用多個 database ,如何在 Active Record 跟自己建立 self relationship,該怎麼辦

為您推薦 Rails Recipes,這裡有許許多多的 Rails Tips,當你在工作時遇到一些小問題,在聖經本找不到解答時,可以考慮翻翻這本書,很多時候你會發現你所遇到的問題,其實大家都有遇到,而且在這本書可以找到很好的解法。

等等,那 Programming Ruby 呢?

是的, Programming Ruby 是一本學習 Ruby 的聖經,讀完他幾乎等於你已經對於 Ruby 的全貌有了相當好的了解了,並且這本書的編排很好,很容易一讀再讀愛不釋手。但是你要注意到一件事情,「Ruby on Rails 只用了一半左右的 Ruby」,Rails 是 Ruby 的好夥伴,但並不代表 Rails == Ruby 。

我這篇的前提是「沒學過 Ruby 還有 Ruby on Rails ,但是想學習 Ruby on Rails 快速開發」,當你對於 Ruby 沒興趣,但是對於 Rails 很有興趣,如果你的目的是真的只學習 Ruby on Rails,那你真的可以跳過這本書。但是如果你覺得 Ruby 很有趣,你一定得看這本書才能知道 Ruby 的美麗。

如果你還是質疑我的講法,我問你,Thinking in Java 是學習 Java 的聖經,但是你把這本書翻爛了,對於學習 Hibernate 這個 Java Framework有沒有太多幫助?

結論

很多人都推薦 Agile Web Development with Rails 跟 Programming Ruby 是學習 Rails 的必讀的書。但是,我認為
Agile Web Development with Rails -> Ruby for Rails -> Rails Recipes
才是學會 Ruby on Rails 最快的捷徑。至於 Programming Ruby ,這是精通 Ruby 必經的道路。

你,了解這兩者的差別嗎?

12/07/2006

Agile Web Development with Rails 再獲獎項

Agile Web Development with Rails 又得獎了,這次是 Amazon 2006 的 Best Book,他獲選為 Computers & Internet 類別的第三名!!!恭喜這本得獎無數的 Ruby on Rails 聖經在出版一年多後依舊好評不斷。 希望明年就交給第二版發揚光大啦!!!

另外,我們可以發現科技書類前五名好書有四本是在講網頁開發的,或許反映了現在程式設計界的趨勢。

11/29/2006

Agile Web Development with Rails 第二版


Ruby on Rails 界的聖經 Agile Web Development with Rails 的第二版終於脫離 Beta ,開始送印了。所有購買 PDF Version 的人應該都會收到一封信
The final version of Agile Web Development with Rails went to the printer last Friday. This means that the paper book will start shipping sometime around December 15.
然後所有購買 PDF 版本的人都已經拿到最新的 PDF 了吧 XD 。我想距離 Amazon 上面買到應該不遠,大概是12月中就可以開始訂購了。這本書一定要敗的啦!!!

10/26/2006

Getting Real Online 免費釋出

廖大的Blog看到的消息,37signal 熱銷 20000 本,介紹網路服務新模式的好書 Getting Real 可以 Online 免費閱讀了。這裡還有對岸人人整理了一份學習筆記,方便閱讀。

10/20/2006

Agile Web Development with Rails


如果你正在找一本 Ruby on Rails 的書,你想要學習 Ruby on Rails ,或是你想看看 Ruby on Rails 是個啥東東。這本書是一定要買的書籍。 Ruby on Rails 三年就發展到這種程度,這本書真的功不可沒。

豐功偉業

根據 ijliao 的 O’Reilly 的書市報告,裡面的一段

RoR (Ruby on Rails) 則因為沒有去年同期銷售量可供比較而無法估算其成長率,但是以絕對值來看,只靠一本書的銷售量就可以和 JSP 的 20 本書打成平手、是 ASP 61 本書銷量的 1/5、是 PHP 52 本書銷量的 1/6,其強勢也就可以想見了。
這裡面的 " 只靠一本書 "就是這一本書了,就可知道這本書到底有多熱賣。至於品質,看看 Amazon 對他的評語,也幾乎是一面倒的五顆星。

作者


作者欄也相當閃亮亮,掛頭牌的 Dave Thomas 是 Ruby 聖經 Programming Ruby 的作者,也是傳說中David 三兄弟 的長男。(不知道我在講啥的人,請看光速蒙面俠)

三兄弟當中的次男,David Heinemeier Hansson 不用介紹了吧,他不只是一定會在軟體發展史上留下重要的紀錄,說不定還是一個不錯的作者。

Thomas Fuchsscript.aculo.us 的作者,也是 Ruby Core Team 其中一員,Web 2.0 那一章是他寫的。

剩下的 Andreas Schwarz , Leon Breedt, Mike Clark 當中 Mike Clark 是一個多產的 Web 書籍作者,不過之前都是寫 ASP 的書較多,其他的作者印象較淺,幫忙成份較高。

書評

這本書主要分成三個部份,

  • 第一部份是介紹Rails 以及如何安裝
  • 第二部份他開發了一個虛擬的購物車
  • 第三部份才開始徹底完整的介紹 Ruby on Rails
三部份中,我最為推薦第二部份購物車章節,那是我看過寫的最棒的 Tutorial。 他花了全書的 1/3 的章節介紹如何從頭到尾寫一個可以上下架,可以購物,可以寄出去,可以管理的購物車系統。在整個購物車建構裡面,他將整個 Ruby on Rails 的系統勾勒出來,並且隨著需求的增加,他一一介紹 Ruby on Rails 更深層的功能,不會讓人有一下子硬塞一堆東西的感覺。在整個購物車章節裡面,他會一一解釋為何這邊使用這個方式比較好,那邊要使用什麼方式比較好。通常當你有 Rails 設計疑問的時候,DHH 就會跳出解釋為什麼這個地方的設計理念。我大概看購物車程式就開始寫人生中第一個 Ruby on Rails 的 Project,發現到光是購物車短短的130幾頁,裡面教的觀念已經可以教你開發複雜的網頁程式了。

我發現到大部份這種介紹技術的書籍編排都是先將這個技術的全貌講一次,然後在寫相關的範例給予佐證。但是看完這本書之後,我發現到一開始放入一個良好的 Tutorial ,可以一次教一點東西,一次教一點東西,並且將整個技術的精髓慢慢的告訴讀者,不會容易有看完前面,後面忘記的感覺。國內的書籍作者可以考慮一下這本書的編排方式。

適用讀者


建議是對網頁設計略有概念的讀者較好,當然裡面會有稍微提到一些網頁基礎的知識,但不深刻。讀者不需要對Ruby 太了解,對 Ruby 不懂的人看完這本書,還是可以直接上手寫網頁程式,不過如果要 Rails 深入的話,恐怕還是得花點時間學好 Ruby 。以前已經對 Ruby 還有 網頁程式設計有點概念的人看這本書可說是如魚得水。當你看完這本書之後,你會發現你會學到 DHH 所謂網頁程式設計的 Best Practice ,所以就算你已經有點程度,依舊很適合這本書。

第二版也快要上市摟


Amazon 有一個人給這本書一顆星,原因是

Would have been 5 stars, but ... Wait for the second edition.Ruby on Rails has changed very much.
哈哈,這樣說法也很正確。這本書著書時間是 Rails 0.14 ~ Rails 1.0 的時間。到現在,Rails 1.2 已經快要推出了。所以他們也在緊鑼密鼓的推出第二版書,目前已經進入 Beta ,希望能夠把 Rails 1.2 的東西也加進去(來得及嗎?)這版加入了 Migration 以及 RJS 的東西,希望出來的成品品質能跟第一版一樣棒。

結語


這本書絕對是任何人學習 Ruby on Rails 最適合的第一本書,也是聖經本,不去買一本就別學 Ruby on Rails 了 XD

延伸閱讀
  1. Robbin 的書評