26本 Ruby/Rails 相關英文圖書簡評
開始
早就相對現在 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 測試