Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)
基本信息
- 作者: (美)托马斯(Thomas,D.) 汉松(Hansson, D.H.) [作译者介绍]
- 译者: 林芷薰
- 出版社:电子工业出版社
- ISBN:9787121042966
- 上架时间:2007-7-2
- 出版日期:2007 年7月
- 开本:16开
- 页码:719
- 版次:2-1
- 所属分类:
计算机 > 软件与程序设计 > Rails/Ruby
计算机 > 软件与程序设计 > 网络编程 > 综合
编辑推荐
70%全新内容 100%敏捷Web开发
Ruby On Rails 经典力作最新第2版
让Web开发更敏捷
本书第1版荣获Jolt Award(震撼大奖)
Ruby on rails 获得“Computer World 2007年最应该了解的技术”第一名,与《Programming Ruby 中文版:第2版》搭配学习更有效!
内容简介回到顶部↑
全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“rails框架”部分中,作者深入介绍了rails框架的各个组件。
除了上述两部分之外,对rails缺乏了解的读者应该首先阅读“起步”部分,通过一个最简单的示例应用感性了解这个时下热门的web框架。不熟悉ruby 的读者应该阅读“附录”部分中的“ruby简介”,以便了解ruby的基本语法与常见用法。
本书第1版曾荣获jolt大奖“最佳技术图书”奖。在第1版的内容架构基础上,第2版增加了对rails 1.2中新特性和最佳实践的介绍。相比第1版中的内容,rails 1.2增加了数据迁移、rjs模板、集成测试框架等重要的新特性,在部署、项目组织等方面有了很多新的最佳实践。本书涵盖了这些全新的内容,因此更好地体现出rails框架的发展现状。
整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了 web应用开发中各方面的相关知识,堪称一部深入浅出的佳作。
除了上述两部分之外,对rails缺乏了解的读者应该首先阅读“起步”部分,通过一个最简单的示例应用感性了解这个时下热门的web框架。不熟悉ruby 的读者应该阅读“附录”部分中的“ruby简介”,以便了解ruby的基本语法与常见用法。
本书第1版曾荣获jolt大奖“最佳技术图书”奖。在第1版的内容架构基础上,第2版增加了对rails 1.2中新特性和最佳实践的介绍。相比第1版中的内容,rails 1.2增加了数据迁移、rjs模板、集成测试框架等重要的新特性,在部署、项目组织等方面有了很多新的最佳实践。本书涵盖了这些全新的内容,因此更好地体现出rails框架的发展现状。
整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了 web应用开发中各方面的相关知识,堪称一部深入浅出的佳作。
作译者回到顶部↑
本书提供作译者介绍
作为《敏捷宣言》的签署人之一,Dave Thomas对敏捷有着深刻的理解;作为Programming Ruby一书的作者,他对Ruby有着充分的了解;作为一个活跃的Rails开发者,他也同样了解Rails。David Heinemeier Hansson是Rails框架的创造者。Leon Breedt开发了Rails的Web Services组件。Mike Clark是测试技术方面的专家,曾在多个国家开展Rails培训。James Duncan Davidson管理着好几个Rails应用,并且向全世界介绍他在Rails应用部署方面的经验。Justin Gehtland为很多开发者提供了AJAX、Web 2.0和Rails的培训。Andre.. << 查看详细
目录回到顶部↑
第1章 简介
第1部分 起步
第2章 rails应用的架构
第3章 安装rails
第4章 立竿见影
第2部分 构建应用程序
第5章 depot应用程序
第6章 任务a:货品维护
第7章 任务b:分类显示
第8章 任务c:创建购物车
第9章 任务d:ajax初体验
第10章 任务e:付账
第11章 任务f:管理
第12章 任务g:最后一片饼干
第13章 任务t:测试
第3部分 rails框架
第14章 深入rails
第15章 active support
第16章 数据迁移
第17章 activerecord 第一部分:基础
第1部分 起步
第2章 rails应用的架构
第3章 安装rails
第4章 立竿见影
第2部分 构建应用程序
第5章 depot应用程序
第6章 任务a:货品维护
第7章 任务b:分类显示
第8章 任务c:创建购物车
第9章 任务d:ajax初体验
第10章 任务e:付账
第11章 任务f:管理
第12章 任务g:最后一片饼干
第13章 任务t:测试
第3部分 rails框架
第14章 深入rails
第15章 active support
第16章 数据迁移
第17章 activerecord 第一部分:基础
译者序回到顶部↑
如果说有什么事情比翻译一本厚达554页的书更费神的话,那就是这本书的第2版被它的作者们——不幸地——写到了720页,并且其中70%的内容与前一版不同,而译者还是你。正如本书的作者Dave Thomas所说,创作这个第2版是一件吃力并且被广泛低估的工作,因为大部分读者很难想象仅仅时隔18个月之后推出的第2版竟然会有如此之大的变动。而作为这本书前后两版译者的我,对此感同身受。.
真正有趣的是,当Agile Web Development with Rails(简称AWDWR)的第1版还在帮助全世界的Rails开发者和爱好者学习和使用Rails的时候,为什么这个第2版会以近乎崭新的面貌如此迅速地登场?答案显而易见:因为Rails本身发生了——并且仍在继续发生着——翻天覆地的变化。这个在过去两年中不断掀起波澜和争论的框架正在向全世界证明:它不仅仅是要引起web开发者们对于“传统”开发工具和方法的反思,更要为他们指出正确的工作方式。David Heinemeier Hansson(DHH,本书的另一位作者)从自己的项目中抽取衍生出的Rails框架在受到足够多的关注之后,迅速地吸纳了来自整个社群的经验和教训,并以飞快的速度成长完善。这本AWDWR的第1版仍然有用,但已经错过了Rails太多令人兴奋的新特性,还有太多内容处于过时或即将过时的境地,这就是你会看到这个第2版的原因。
正如任何一位有经验的读者都可以看出的,拥有一本超过700页的厚书,这就足以表明Rails并不是——像很多人所以为的那样——一个“简单的”框架。我的观点恰恰相反:如今的Rails不仅不简单,甚至可以说是充满了魔术。在使用Rails开发网站和翻译本书的过程中,我几乎每天都会得到一些意外的惊喜。公正地说,我并不真的喜欢这种感觉,因为这有悖于我所推崇的“最小惊讶原则”。在我看来,一个好的软件应该让使用者感到所有事情都顺理成章,而不是不断地让他们感到惊讶。不过Rails的这些魔术并没有改变一个基本的事实:Ruby是一种符合“最小惊讶原则”的、出色的编程语言。使用构建在Ruby之上的Rails,即便不知道所有那些神奇的魔术,你仍然可以快速地——比使用那些“传统”开发工具(例如J2EE)快速得多——开发你的应用程序;而那些神奇的魔术则可以让你变得更快、更好。在这一点上,Rails继承了Unix世界一贯的精神:在一个简单有效的基础上你可以做好所有事;而乐于探索的人还有额外奖励,他们可以把事情做得精彩绝伦。..
当Rails不断成长的同时,整个开发者社群——不论Rails的鼓吹者还是怀疑者——也都在不断成长。我们可以看到,如今人们讨论的焦点已经不再是“Rails是否真有那么高的开发效率”,而是“Rails是否已经准备好进入企业应用”。这个问题其实应该分为两部分:其一,一度以“快速开发网站”为卖点的Rails,能否应对复杂度和规模都更大的web应用?其二,一度被视为“天才玩具”的Rails,能否适应人数更多、水平更参差的“普通团队”?
对于这两个问题,并没有一个简单的答案,但答案是有迹可寻的:全球有众多的先行者正在从技术与方法学两方面为Rails提供强有力的支持。他们的努力有一部分融入了Rails核心,更多的则围绕着Rails形成了一个欣欣向荣的社群。还记得DHH如何狂傲地说“Rails不会支持复合主键”吗?在本书中你会看到,一个让Rails支持复合主键的插件已经存在了。这是Unix社群的传统:每个软件只做一件事,并把它做好。正因为秉承这一传统,我们才有理由相信Rails和它的社群能够良好地成长。社群的工作是卓有成效的,如果你对Rails有所怀疑,或许应该先看看这个社群是不是已经解决了你的问题。
直到今天为止,Rails还远远谈不上“成熟”——它甚至连“稳定”都谈不上,以DHH为首的开发团队仍然在大刀阔斧地改进它,现在我们已经可以预期Rails 2.0还会引入规模不小的变化。Rails还在高速成长。这对于某些人、某些项目来说或许是不可接受的,但对于另一些人、另一些项目来说却是难得的机会。如果你恰好属于后者,这本书应该可以帮助你与Rails一起成长——实际上很多人是从beta版开始就在阅读本书的PDF版本,他们早就在与Rails一起成长了。
在这篇译序的最后,我要感谢ThoughtWorks公司对我翻译工作的大力支持。ThoughtWorks公司在全球范围内已经进行了为数不少的Rails项目,其中包括开源项目和客户定制项目。通过对这些项目——尤其是他们在中国进行的Rails项目——的学习研究,我获得了大量宝贵的第一手经验,也愈发增进了对Rails的信心。正是因为像ThoughtWorks这样拥有雄厚技术实力和丰富项目经验的企业不断开拓,Rails才能更快、更好地成长。
话已经说得够多了,下面就请享受你手上这本厚厚的书吧。祝你阅读愉快、编程愉快。...
林芷薰
2007年2月
真正有趣的是,当Agile Web Development with Rails(简称AWDWR)的第1版还在帮助全世界的Rails开发者和爱好者学习和使用Rails的时候,为什么这个第2版会以近乎崭新的面貌如此迅速地登场?答案显而易见:因为Rails本身发生了——并且仍在继续发生着——翻天覆地的变化。这个在过去两年中不断掀起波澜和争论的框架正在向全世界证明:它不仅仅是要引起web开发者们对于“传统”开发工具和方法的反思,更要为他们指出正确的工作方式。David Heinemeier Hansson(DHH,本书的另一位作者)从自己的项目中抽取衍生出的Rails框架在受到足够多的关注之后,迅速地吸纳了来自整个社群的经验和教训,并以飞快的速度成长完善。这本AWDWR的第1版仍然有用,但已经错过了Rails太多令人兴奋的新特性,还有太多内容处于过时或即将过时的境地,这就是你会看到这个第2版的原因。
正如任何一位有经验的读者都可以看出的,拥有一本超过700页的厚书,这就足以表明Rails并不是——像很多人所以为的那样——一个“简单的”框架。我的观点恰恰相反:如今的Rails不仅不简单,甚至可以说是充满了魔术。在使用Rails开发网站和翻译本书的过程中,我几乎每天都会得到一些意外的惊喜。公正地说,我并不真的喜欢这种感觉,因为这有悖于我所推崇的“最小惊讶原则”。在我看来,一个好的软件应该让使用者感到所有事情都顺理成章,而不是不断地让他们感到惊讶。不过Rails的这些魔术并没有改变一个基本的事实:Ruby是一种符合“最小惊讶原则”的、出色的编程语言。使用构建在Ruby之上的Rails,即便不知道所有那些神奇的魔术,你仍然可以快速地——比使用那些“传统”开发工具(例如J2EE)快速得多——开发你的应用程序;而那些神奇的魔术则可以让你变得更快、更好。在这一点上,Rails继承了Unix世界一贯的精神:在一个简单有效的基础上你可以做好所有事;而乐于探索的人还有额外奖励,他们可以把事情做得精彩绝伦。..
当Rails不断成长的同时,整个开发者社群——不论Rails的鼓吹者还是怀疑者——也都在不断成长。我们可以看到,如今人们讨论的焦点已经不再是“Rails是否真有那么高的开发效率”,而是“Rails是否已经准备好进入企业应用”。这个问题其实应该分为两部分:其一,一度以“快速开发网站”为卖点的Rails,能否应对复杂度和规模都更大的web应用?其二,一度被视为“天才玩具”的Rails,能否适应人数更多、水平更参差的“普通团队”?
对于这两个问题,并没有一个简单的答案,但答案是有迹可寻的:全球有众多的先行者正在从技术与方法学两方面为Rails提供强有力的支持。他们的努力有一部分融入了Rails核心,更多的则围绕着Rails形成了一个欣欣向荣的社群。还记得DHH如何狂傲地说“Rails不会支持复合主键”吗?在本书中你会看到,一个让Rails支持复合主键的插件已经存在了。这是Unix社群的传统:每个软件只做一件事,并把它做好。正因为秉承这一传统,我们才有理由相信Rails和它的社群能够良好地成长。社群的工作是卓有成效的,如果你对Rails有所怀疑,或许应该先看看这个社群是不是已经解决了你的问题。
直到今天为止,Rails还远远谈不上“成熟”——它甚至连“稳定”都谈不上,以DHH为首的开发团队仍然在大刀阔斧地改进它,现在我们已经可以预期Rails 2.0还会引入规模不小的变化。Rails还在高速成长。这对于某些人、某些项目来说或许是不可接受的,但对于另一些人、另一些项目来说却是难得的机会。如果你恰好属于后者,这本书应该可以帮助你与Rails一起成长——实际上很多人是从beta版开始就在阅读本书的PDF版本,他们早就在与Rails一起成长了。
在这篇译序的最后,我要感谢ThoughtWorks公司对我翻译工作的大力支持。ThoughtWorks公司在全球范围内已经进行了为数不少的Rails项目,其中包括开源项目和客户定制项目。通过对这些项目——尤其是他们在中国进行的Rails项目——的学习研究,我获得了大量宝贵的第一手经验,也愈发增进了对Rails的信心。正是因为像ThoughtWorks这样拥有雄厚技术实力和丰富项目经验的企业不断开拓,Rails才能更快、更好地成长。
话已经说得够多了,下面就请享受你手上这本厚厚的书吧。祝你阅读愉快、编程愉快。...
林芷薰
2007年2月
序言回到顶部↑
第2版序
Preface to the Second Edition
从本书第1版面世至今,已经18个月过去了。甚至在那之前,Rails就已经显出了走红的潜质。但即便如此,我还是坚持认为:当时没有任何人能想到这个框架竟然会变得如此显赫。
在随后的一年里,Rails已变得越来越强大,不仅众多激动人心的新网站以它为基础搭建起来了,而且连很多大企业(包括一些家喻户晓的大企业)也开始在内部和外部的应用中使用Rails。同时Rails也赢得了技术社群的广泛赞誉:David Heinemeier Hansson——Rails的创造者——在OSCON被评为“年度最佳黑客”;Rails赢得Jolt“最佳web开发工具”大奖;本书的第1版也赢得了Jolt“最佳技术图书”大奖。
但Rails团队并没有躺在功劳簿上睡大觉,他们还在不断地给Rails增加新的功能和工具。Rails 1.0于本书第1版之后几个月问世,增加了数据迁移等功能,并且全面升级了对AJAX的集成支持。Rails 1.1于2006年春季发布,这是一个爆炸性的版本,其中引入了超过500项变更,而且很多都是影响深远的变更。譬如说,RJS模板改变了开发者们编写AJAX应用的方式,集成测试框架改变了对应用程序进行测试的方式。此外,ActiveRecord也得到了大量的扩展和增强,加上了多态关联、连接模型等功能,缓存也得到了改进,而其他的改善则不胜枚举。
所以,本书理应推出更新之后的第2版,以体现所有这些好东西。而且在修改本书的过程中,我意识到还有别的东西也在悄然无声地发生着变化:自从本书第1版发行以来,我们都从中学到了很多关于“如何编写Rails应用”的经验;但Rails中一些原本被认为是好点子的功能在实际应用中并不理想,另一些原本被视为细枝末节的功能却日渐显得重要,这也导致对本书的修改比我想象的要来得深远得多。我不只是要修润文字、加上几个新的API介绍。不,还远不止于此。我根本就是重写了整本书:第1版的有些
章节被删掉了,又增加了一些新的章节,剩下的大部分内容也是彻底重写。于是,这就是我们的第2版——基本上就是一本全新的书。
当第1版图书还在全球热卖时就推出第2版,这似乎有些奇怪。但Rails已经变化了,我们的书也必须随之而变。
最后,请享受你的Rails之旅吧!
Dave Thomas
2006年10月
Preface to the Second Edition
从本书第1版面世至今,已经18个月过去了。甚至在那之前,Rails就已经显出了走红的潜质。但即便如此,我还是坚持认为:当时没有任何人能想到这个框架竟然会变得如此显赫。
在随后的一年里,Rails已变得越来越强大,不仅众多激动人心的新网站以它为基础搭建起来了,而且连很多大企业(包括一些家喻户晓的大企业)也开始在内部和外部的应用中使用Rails。同时Rails也赢得了技术社群的广泛赞誉:David Heinemeier Hansson——Rails的创造者——在OSCON被评为“年度最佳黑客”;Rails赢得Jolt“最佳web开发工具”大奖;本书的第1版也赢得了Jolt“最佳技术图书”大奖。
但Rails团队并没有躺在功劳簿上睡大觉,他们还在不断地给Rails增加新的功能和工具。Rails 1.0于本书第1版之后几个月问世,增加了数据迁移等功能,并且全面升级了对AJAX的集成支持。Rails 1.1于2006年春季发布,这是一个爆炸性的版本,其中引入了超过500项变更,而且很多都是影响深远的变更。譬如说,RJS模板改变了开发者们编写AJAX应用的方式,集成测试框架改变了对应用程序进行测试的方式。此外,ActiveRecord也得到了大量的扩展和增强,加上了多态关联、连接模型等功能,缓存也得到了改进,而其他的改善则不胜枚举。
所以,本书理应推出更新之后的第2版,以体现所有这些好东西。而且在修改本书的过程中,我意识到还有别的东西也在悄然无声地发生着变化:自从本书第1版发行以来,我们都从中学到了很多关于“如何编写Rails应用”的经验;但Rails中一些原本被认为是好点子的功能在实际应用中并不理想,另一些原本被视为细枝末节的功能却日渐显得重要,这也导致对本书的修改比我想象的要来得深远得多。我不只是要修润文字、加上几个新的API介绍。不,还远不止于此。我根本就是重写了整本书:第1版的有些
章节被删掉了,又增加了一些新的章节,剩下的大部分内容也是彻底重写。于是,这就是我们的第2版——基本上就是一本全新的书。
当第1版图书还在全球热卖时就推出第2版,这似乎有些奇怪。但Rails已经变化了,我们的书也必须随之而变。
最后,请享受你的Rails之旅吧!
Dave Thomas
2006年10月
评论交流
共有65人开贴评论 84人参与评论 58人参与打分 查看
评价等级:







发表于:2007-7-20 11:34:00
173页最后一段文字“@products变量”应该是“@product变量”
243页第一段开始的“ActionSupport”应该是“ActiveSupport”
310页标题第二个“create”应该是“create!”,说明列表的第二项应该是“使用save!方法”
说说我的阅读方式,看到后半部分“深入rails框架”,个人感觉初学者并不适合按顺序来读,因为每一项主题讲的都很深入细致,钻进去的话效果不是太好,不适合对掌握整个框架的全貌,所以我是这样来阅读的:针对ActiveRecord、ActionController、ActionView三个部分,先看初级介绍,把他们大体的面貌和相互协调搞个明白,等融汇了之后再仔细研究细节和深入的知识点。这样做可以让自己以最快的速度看到rails框架的全貌,有了成就感,再学习起来效率就高多了,呵呵。
243页第一段开始的“ActionSupport”应该是“ActiveSupport”
310页标题第二个“create”应该是“create!”,说明列表的第二项应该是“使用save!方法”
说说我的阅读方式,看到后半部分“深入rails框架”,个人感觉初学者并不适合按顺序来读,因为每一项主题讲的都很深入细致,钻进去的话效果不是太好,不适合对掌握整个框架的全貌,所以我是这样来阅读的:针对ActiveRecord、ActionController、ActionView三个部分,先看初级介绍,把他们大体的面貌和相互协调搞个明白,等融汇了之后再仔细研究细节和深入的知识点。这样做可以让自己以最快的速度看到rails框架的全貌,有了成就感,再学习起来效率就高多了,呵呵。
评价等级:







发表于:2007-7-16 14:47:00
非常棒的书!之前我是看《Build Your Own Ruby On Rails Web Applications》入门的,那本书讲的东西倒是比较新,不过很多地方语焉不详,看agile这本的时候让我明白了不少来龙去脉,很好。
看了快一半了,发现一些印刷错误:
106页 代码
@product = Product.find(params[:id])
应该是
product = Product.find(params[:id])
110、117相应的代码也需要改正(这个比较严重)。
115页“为稍后的Ajax模法”我想应该是“魔法”吧?
138页第三段第一行“参加附录中的程序列表”——“参见”
153页代码第6行
flash[:notice]
应该是
flash.now[:notice]
如果大家发现别的错误,也一并贴上来吧。剩下的看完再说。
看了快一半了,发现一些印刷错误:
106页 代码
@product = Product.find(params[:id])
应该是
product = Product.find(params[:id])
110、117相应的代码也需要改正(这个比较严重)。
115页“为稍后的Ajax模法”我想应该是“魔法”吧?
138页第三段第一行“参加附录中的程序列表”——“参见”
153页代码第6行
flash[:notice]
应该是
flash.now[:notice]
如果大家发现别的错误,也一并贴上来吧。剩下的看完再说。
| 我要写评论 |
| 查看所有评论交流(共65条) |








点击看大图



加载中...
