来自与我在北京 ruby 活动上组织新手学习讨论的一些结果,我想读书是最有效最全面和最扎实的吸取知识的方式,不过市场上滥竽充数的书籍实在很多,对于新手来说,怎样用有限的时间读最合适的书,是很重要的。
所以,我基于自己读过的一些书和实践经验,总结了一下在目前进行 Ruby on Rails 学习的推荐读物,基本上纯粹是个人主观观点,欢迎各位高手抨击和补充
起点阶段,强烈建议至少具备如下知识后再开始 Rails 开发
首先需要了解一些如何做程序员的基本原则
这本书告诉你,如何做才能成为一个注重实效的程序员,涉及了非常,非常多的理念和实践,虽然都不深入,但至少让你知道世界是什么样子的。至今认为程序员最应该在新手阶段读的书,也是对整个业界影响最大的经典之一
几乎所有的开发环境都严重依赖于 GNU/Linux 为主的命令行环境,因此需要学习 linux 的基本概念和操作
这本刚出的书是目前最好的 linux command line 学习指南,生动,清晰,详细,无论是菜鸟还是多年的老手都能从中受益,远超过之前作为标准教材的 practical guide to xx 系列。No starch 这个出版社既有延续至今的 Hacker 精神,也懂得如何发掘有趣的作者
Web 开发对于 Http 的深入理解是必须的,另外 Rails 还使用 Rest 协议作为基本指导原则,所以需要深入理解 Http 和 Rest
这本是目前为止最好的描述 HTTP 与 Rest 的作品,可以让你重新认识 Web,更何况其中的示例是 Ruby 语言 (因为这本书合著者是 Sam Ruby)
结构和样式不止是设计人员的事,web 开发必须要熟悉
Head First Html with CSS & XHTML
虽然已经出版了很久,但依然是最好的 Html&CSS 入门书
版本控制在项目中是一开始就要使用的,不止是开发,一切事情都需要版本控制
这本是迄今为止讲解 Git 最清楚最深入的书,对于新手,不建议看后面的实现原理,先读前几章了解概念和学习日常实践使用是最重要的
如果只是在 Rails 中使用的 Ruby,可以使用一些免费的快速入门教程,不过,系统地学习 Ruby,可以了解到很多面向对象开发或函数式编程的思想,对于熟悉和掌握 Rails 帮助非常大
公认的 Ruby 入门经典,不过对于新手来说,只推荐前半的入门部分,高阶内容可以稍后再来学习
最后是 Rails 自身的学习,这本书的最新版涵盖 Rails3.2,是目前为止最好最完整的 Rails 入门教程,可以在线看,还有大量的视频搭配
进阶阶段,具备下面的知识,可以让你或多或少地理解 Rails Way,并真正开始写出合格的 Rails 应用
这本"重构"是当年石破天惊的经典著作,讲解如何持续改进和让代码优雅干净,拥有直到现在还依然适用的价值,尤其为 Ruby On Rails 社区广泛接受,这本书有将其中的 Java 语言换成 Ruby 后的版本
由公认的黑客领袖之一 Eric S.Raymond 撰写的这本书总结了长久以来的 Unix 领域中的设计和开发哲学,思想乃至文化体系,是了解 Ruby 和 Rails 诞生于其中的 Unix 黑客文化必不可少的读物
可以说是了解面向对象开发最容易学习也相对来说深入全面的书籍,无疑是深入浅出系列最出色的作品
深入理解 Ruby,除了上边提到的 Programming Ruby 1.9 以及重构等通用编程书之外,还有以下几个选择
Ruby 之父松本行弘和 O'Reilly 的王牌作者合作,诞生了这本讲解 Ruby 最透彻的经典著作
Ruby 社区的编程指南之一,介绍了 Ruby 社群的文化,品味和编程原则,强烈地反映了 Ruby 程序员的共同特质:幽默,健谈,追求乐趣,热爱生活
测试驱动开发 (TDD) 以及之后进化的行为驱动开发 (BDD) 是 Ruby 和 Rails 社群的核心文化之一,只有彻底理解并运用 BDD,才是合格的 Rails 开发者
唯一的也是必读的 BDD 介绍作品,由 RSpec 核心成员撰写
可以坚持把 Pro Git 的后半部分学习完,没有更深入和清楚的书了
Eric Meyer 的 CSS 权威指南至今仍然是 CSS2 讲解最全面和最深入的参考书
目前最全面的 CSS3 特性介绍,秉承 No Starch 一贯的精品理念,写的也非常好
著名 Googler Mark Pilgrim 的 HTML5 入门介绍作品,Rails3 中也有相当多的 HTML5 实践,这也将是之后的趋势
Web 开发的交互性会越来越多,Javascript 已经成为了相当严肃,且热门程度超过 Ruby 的编程语言
Javascript, The Definitive Guide
目前最全面最好的 Javascript 学习书籍
唯一尚可称得上紧跟 jQuery 发展脚步的学习指南
深入讲解 Javascript 的常见编程模式
Rails 发展的实在太快了,最好的方法也许是跟踪在线文档,不过还是推荐这本
虽然有些内容随着 3.2 的推出已过时,但仍不失为了解 Rails 哲学和原则的入门之作
上边的书籍都读过的话,可能你终于能了解到 Rails 背后涉及的概念和实践有多么庞大惊人,也了解到了还有多么深的知识鸿沟需要跨越,了解到了一切都还只是开始,不过值得庆幸的是,一切事情都需要个开始