來源:Hisea
前言:早就想對現在Ruby/Rails的書做個總結。方便對Rails感興趣的朋友查詢。
因為ruby on rails的書時效性很強,Ruby語言2007之前跟Rails兩年以前的書都沒加在這個列表裡。有些特殊的跟設計相關的書例外。
Ruby:
入門篇
▲The Ruby Programming Language
Ruby之父”Mats”參與寫作的一本書。
很像Ruby的官方書,內容是Ruby每一部分的定義,簡潔準確。稍微有點生澀,但是這類書大多是很好的的參考書。
如果你對Ruby有一定的瞭解,想要重新研究一下某一方面概念,比如Ruby裡的Closure。 除了Google可能這本書就是最佳選擇了。
▲Programming Ruby 1.9: The Pragmatic Programmers’ Guide
著名的斧頭書,很多人把這本書作為Ruby入門的標準教材。內容覆蓋很全面。
雖然這本書看上去很厚,但是後一半是Ruby API。語言上更為流暢,建議這本書入門,上面那本書速查。
▲Beginning Ruby: From Novice to Professional
這本書分三部分,第一部分使一些基礎知識,第二部分側重Ruby語言,最後一部分簡略介紹了ruby在web,網路,GUI方面的應用,以及一部分的Gem。
如果你第一次接觸Ruby,可一看一下這本書,如果已經看了其他的ruby的書,這本書除了第三部分一些內容可能幫助不是特別大。
▲The Book of Ruby: A Hands-On Guide for the Adventurous
這是一本2011年7月出的書,我看了他們免費的第十一章,關於Symbol的,給我的感覺是這本書的程式碼例項比較多。
喜歡通過程式碼學習的同學可以嘗試一下這本書。
進階篇
如果你剛看完一本Ruby入門教材,這是首選的第二本書。
這本書主要介紹了Ruby的開發風格,常用模式。一開始是Ruby基本話題,到後面是Metaprogramming最後由DSL的開發終結。
每一章除了內容之外,都有注意要點,和實際開源專案中的例子,講解本章內容怎麼在實際專案中應用的。
另一本不錯的進階書,跟Eloquent Ruby相比更側重基礎知識,對Metaprogramming的覆蓋較少。
如果你有不錯的程式設計基礎,也可以把這本書作為入門書,入門類的圖書對於有經驗的程式設計師來說經常略顯淺顯。
▲Metaprogramming Ruby: Program Like the Ruby Pros
本書通過一個程式設計師5天的開發經歷,介紹Metaprogramming的一些要點。
是不錯的學習Metaprogramming的教材,可是因為角色扮演的語言太多,作為參考的時候不太容易立馬找到要點。
建議讀這本書的時候做筆記,以便以後重溫實用。
我們公司Ruby工程師必讀圖書。
如果需要重構,強烈建議閱讀。
如果不需要重構,也強烈建議閱讀,以便找到需要重構的地方。
如果你對設計模式感興趣,這是另一本強烈建議閱讀的書。
相對較老的一本書。這本書主要是針對一些Ruby一些實用技巧及在實際情況下的應用。
如Ruby method API設計的最佳實踐,動態特性和Metaprogramming的應用,函式式語言特性及文字處理等等。
如果感興趣也是一本不錯的課後讀物。
Rails:
入門篇
▲Ruby on Rails 3 Tutorial: Learn Rails by Example
入門選擇1,跟著例子學Rails.
網上可以免費閱讀:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:comments_for_various_readers
▲Agile Web Development with Rails
入門選擇2, 前半部分是跟著學Rails,後半部分有Rails各部分的應用介紹。建議選擇最新版。
這本書不跟任何專案,適合參考,覆蓋面廣。
相對前兩個,這本書更適合有一定Rails基礎的人。
進階篇
Rails Core Team成員Yahuda Katz寫的書,對Rails有一定了解的也可以用這本書入門。
這是2011年9月出的一本書,是為數不多的Rails 3.1的書之一。
▲Rails Recipes: Rails 3 Edition
2012年2月將要出版的一本書,菜譜書系列。適合拿來參考怎麼用Rails解決某一類問題。
▲Crafting Rails Applications: Expert Practices for Everyday Rails Development
Rails Core Team成員Jose Valim寫的書。很多Rails進階技巧和概念。
高手必讀,初學勿看。
▲Rails AntiPatterns: Best Practice Ruby on Rails Refactoring
一本關於Rails重構的書,列舉了很多Rails的最差實踐,並提出解決方案。
是很好的進階讀物,避免一些常見問題。
▲Service-Oriented Design with Ruby and Rails
對SOA開發感興趣的強烈建議這本書,有很多關於Rails Web API開發的有價值內容。
前半部分是一個案例學習和一些Rails API開發的基礎知識。
後半部分是每一章都關注一些Rails SOA開發的實際問題,比如安全,訊息,Load Balancing和Caching.
這本書雖然相對較老,2008年出版,但很多設計方面的考量可以看一下。
例如Database的Normal Form, Trigger的應用,SOA等。
其他:
下面這些是Ruby相關的一些書,跟Rails關係不是特別大,如果感興趣可以挑來看看。
▲Build Awesome Command-Line Applications in Ruby: Control Your Computer, Simplify Your Life
構建很牛的CLI Ruby應用
▲The RSpec Book: Behaviour Driven Development with Rspec, Cucumber, and Friends
Rspec的書
▲The Cucumber Book: Behaviour-Driven Development for Testers and Developers
Cucumber的書
▲Everyday Scripting with Ruby: For Teams, Testers, and You Ruby日常指令碼
▲Wicked Cool Ruby Scripts: Useful Scripts That Solve Difficult Problems 巨酷Ruby指令碼
▲Ruby by Example: Concepts and Code Ruby程式碼例項
▲Distributed Programming with Ruby Ruby分散式程式設計
▲Scripted GUI Testing with Ruby Ruby GUI測試