Web开发敏捷之道
2007年06月
电子工业出版社
托马斯(Thomas,D.),汉松(Hansson, D.H.)
719
林芷薰
无
全书主要分为两大部分。在“构建应用程序”部分中,读者将看到一个完整的“在线购书网站”示例。在随后的“Rails框架”部分中,作者深入介绍了Rails框架的各个组件。 除了上述两部分之外,对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的培训。Andreas Schwarz撰写了在线的Rails安全手册。
第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 第一部分:基础第18章 ActiveRecord 第二部分:表间关联第19章 ActiveRecord 第三部分:对象生命周期第20章 ActionController:路由与URL第21章 ActionController和Rails第22章 Action View第23章 Web 2.0第24章 ActionMailer第25章 Web Services on Rails第4部分 部署和安全第26章 保护Rails应用第27章 部署与生产第5部分 附录附录A Ruby简介附录B 配置参数附录C 源代码附录D 资源索引
译者序如果说有什么事情比翻译一本厚达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月
《Web 开发敏捷之道-应用Rails进行敏捷Web开发》(第二版)曾荣获Jolt大奖“最佳技术图书”奖。在第1版的内容架构基础上,第2版增加了对Rails 1.2中新特性和最佳实践的介绍。相比第1版中的内容,Rails 1.2增加了数据迁移、RJS模板、集成测试框架等重要的新特性,在部署、项目组织等方面有了很多新的最佳实践。本书涵盖了这些全新的内容,因此更好地体现出Rails框架的发展现状。整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了 web应用开发中各方面的相关知识,堪称一部深入浅出的佳作。
无
rails入门的好书,虽然版本有点点老了,但是确实是经典之作。整本书的布局由简入繁,更难得的是指点出许多在刚刚入门之初会碰到的问题,让新手少走了不少的弯路。是一本不可多得的入门资料。
Rails开发必读,对于普遍的Web开发仍有很强的参考意义。也就是说对于用其它语言来开发Web应用的技术人员也建议购买一本。Java的web开发是最严谨,最适合大型系统的,也是最灵活的,但最大的缺点是效率太低。PHP的Web开发是最随便,最dirty的。Java和PHP的开发人员需要借鉴rails的思路,开拓眼界。Ruby的语法magic太多,我还是倾向于python语言。做python的Django应用仍然可以参考rails对通用web功能的实现方式,有很强的参考作用。
该系列的书都很有特色,从实效到精通,非常全面,读起来不是很简单容易,但是学会了之后很感觉浑身暗爽啊
书很好,很详细但是不推荐现在购买了,不是书本身的问题rails更新到2,有很大的改变,书上讲解的内容也发生了很大变化对于入门已经不合适了,很多情况下会让初学者碰壁期待第三版的推出
内容很不错,介绍巧妙,不错的ror书
看网上的书评,这本书是最好的,还没来的急看,给个评价先
没啥好说,精典之作,香飘万里。但该书针对于rails 1.2而作,目前的rails 2.0有了某些进步与改动,与书中的部分例子与方法不附。我看也没必要等第3版,因为上市时间不可预知(网上有第3版的英文版下载)。学习ruby,还是要常上网去搜索遇到的问题,才可能及时有效地完善知识结构。rails本身还处在不断进步与完善的过程中,常常带给我们问题与惊喜。
好书,值得细细读
第三版已经出来啦~第二版是介绍Rails1.2的,已经过时了第三版目前只有英文版,介绍Rails2.02
例子比较详细,内容也不错。
该书所讲的版本跟现在的最新版本的差别实在是不小,如果不是按照书中所讲的版本去练习,出现的问题会让你郁闷而死,但是你又不能只是用旧版本来开发,所以如果是想学习的话就可以,但是想学了之后可以马上用的,我还是不建议买这本书。看了那些烦人的升级跟不兼容之后,我已经不继续看这本书了,也暂时不学习ROR。
非常好的一本书,很具实用性和实践性照着做一遍的话,对rails的开发会有个感性的认识
讲解的比较清楚~ 学好本书 需要有ruby方面的知识作为前提~
看了上面的评论,基本没有提到本书的rails的版本问题,我发现这本书这最不适用的主要是rails版本的问题。关于rails版本的事实有以下两个:1.rails2到rails3.0是一个异常巨大的变化;rails3.0到rails3.1也是一个异常巨大的变化。现在rails最新的released版本是3.2.9,11月份发布的。
关于本书,有以下几点吐槽:
1.这本书是pragmatic bookshelf的《Agile Web Development with Rails (4th edition)》的中文翻译版,原书的1至3版经典,不做解释。问题出在这第四版上,这第四版(4th edition)一共出了三个不同的版本,分别针对rails3.0,rails3.1和rails3.2的,本书正是rails3.0这个版本的翻译版。而从rails的发展过程中看,rails3.0更像是一个过渡版。当学习时若安装rails3.1+的版本时,会发现代码与书中的好多处不一致,比如说rails3.0默认还是css和javascript,而3.1+以上默认就是sass和coffeescript了,这个跨度会对初学者造成不小的困扰,会引来更多的困惑和混乱。建议想看这本书的同学可以去下载《Agile Web Development with Rails (4th edition) for rails 3.2》的pdf版本,是英文版,没有中文版,如果你以前从来没看过英文版的图书,估计从这本下手的难度和学习周期都会非常艰难。可以把这本中文版买回去对照着看,毕竟核心思想不变,大部分内容也都差不多,多花点耐心和时间会有回报的,这也是我认为这本中文翻译版的唯一价值。
2.这本书的内容深度绝非面向初学者。不是说初学者不能学了,而是说初学rails靠这本书,难度不小啊!pragmatic bookshelf一向以短小精悍著称,书中的内容好多都是点到为止,知识密度极大,初学者要有心理准备打持久战。
3.关于翻译,不得不说,这又是一本比较经典、比较标准的十分垃圾的翻译本。书上附的那几个译者貌似都挺有来头,不过译出来的东西不敢恭维,这也是我建议有点英文水平的同学看原版的其中一个原因。
4.基本上大部分人都吐槽过了,纸张确实是秉承了华章这些年的一贯作风,用类似于厕纸的发黄发旧超薄有味的破纸印刷出版的。
最后总结,几年前rails3未出现时,这本书的1至3版是学习rails2的不二选择,而且关于rails2的书也较多,可以有比较的余地(嗯...即便有余地好的没几本)。而rails3出现后,前面的rails书籍迅速过时,而rails3.0到rails3.1的巨大变化致使初学rails的知识结构也发生了巨大的变化,不得不说这也是学习rails的一个不小的挑战,不难想象,对于那些不怎么会写javascript和css的人突然让他们写coffeescript和sass是一种什么样的情形?所以,归根结底,我想说的是,千万不要寄希望于国内的这些出版社能够非常及时、准确的把国外的经典著作翻译出版,把自己的英文水平锻炼好才能治标治本。
用两个字形容这一版的翻译:灾难!
什么慕尼黑Isar工作组?搞得还挺像模像样的,我就不相信这么一本简单的书,这些翻译者就看不懂?
我的意思是,如果因为表达能力不足导致译文不够流畅也就罢了,但是最起码得正确吧?作为一本技术书籍,书中很多翻译连内行人看的都是一头雾水,你怎么能对得起“最适合初学者的RoR入门书籍”的称号?
看着封面写的:“本书第一版曾荣获‘Jolt’大奖”,我只有一句话想说:灾难!
中文版翻译很差,比如说"Marshaling Objects"被翻译成 “封送对象”,相比而言,原中文版中翻译成“对象序列化”就更专业,也容易被技术人员理解。(P37)
First, some objects cannot be dumped.....
翻译显得非常的生疏,如对dumped的翻译 --- “转储”,如果是直接查了电子词典了(有道上有这个翻译,估计译者觉得这个比较合适)。
Second, when you load a marshaled object, Ruby needs to know the definition of the class of that object (and of all the objects it contains).
翻译成“第二个问题,当加载所封送的对象是,Ruby需要知道该对象的类(及其包含所有的对象)定义”,感觉就是单纯的对单词,句子的直译。
比如目录中第二章”Instant Gratification“,被翻译成“及时满足”,应该就是有道词典自动翻译的结果,先比以前的翻译“立竿见影”,可见其翻译质量。
P17 "The Story so Far" 翻译成了“故事讲到现在” --> "到目前为止"
P45 "General Recovery Advice" 翻译成了“常用的复原建议” --> “解决问题的一般性建议”
看不下去了,原来给了2星,现在改成1星。
这书看着简单,等自己一边翻书,一边开足脑力想,再去对着电脑敲,两天下来我头就大了。同事看我的痛苦样子,说他看猎豹网校上有这个视频课程,象看土豆视频那样,还高清的咧,看老师一边讲一边每一步都操作得清清楚楚,一下子就能学会了。我也去看了下,是哦,这样学可容易多啦!
书的前几章,是用一个shop来让我们认识rails的特征
后面几章是深入rails各个层面的功能
适合初学者(需要初学者掌握ruby的语法基础)
(本书只涵盖了rails2.2.x, 是掌握rails2.x 入门的最佳)
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details. Tens of thousands of developers have used this award-winning book to learn Rails. It's a broad, far-reaching tutorial and reference that's recommended by the Rails core team. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, this book will give you the comprehensive, insider information you need. Rails has evolved over the years, and this book has evolved along with it. We still start with a step-by-step walkthrough of building a real application, and in-depth chapters look at the built-in Rails features. This edition now gives new Ruby and Rails users more information on the Ruby language and takes more time to explain key concepts throughout. Best practices on how to apply Rails continue to change, and this edition keeps up. Examples use cookie backed sessions, HTTP authentication, and Active Record-based forms, and the book focuses throughout on the right way to use Rails. Additionally, this edition now reflects Ruby 1.9, a new release of Ruby with substantial functional and performance improvements.
整体简单,比较容易上手,让人很快喜欢上用rails编程的乐趣。总之是rails入门书籍的不二之选。现在在读第三版,第四版还没有出版,不过网上有英文的电子版!我只想简单评论这本书,无奈一直提醒我“抱歉,你的评论太短了”。
第1章 简介 1
1.1 Rails是敏捷的 2
1.2 读你所需 3
1.3 致谢 5
第1部分 起步 9
第2章 Rails应用的架构 9
2.1 模型,视图,以及控制器 9
2.2 Active Record:Rails的模型支持 11
2.3 Action Pack:视图与控制器 13
第3章 安装Rails 15
3.1 购物清单 15
3.2 Windows上的安装 15
3.3 Mac OS X上的安装 17
3.4 Linux上的安装 17
3.5 选择Rails版本 18
3.6 开发环境 19
3.7 Rails和数据库 22
3.8 保持更新 23
3.9 Rails和ISPs 24
第4章 立竿见影 25
4.1 新建一个应用程序 25
4.2 Hello, Rails 27
4.3 把页面连起来 35
4.4 我们做了什么 37
第2部分 构建应用程序 9
第5章 Depot应用程序 41
5.1 增量式开发 41
5.2 Depot做些什么 41
5.3 让我们编码吧 44
第6章 任务A:货品维护 45
6.1 迭代A1:跑起来再说 45
6.2 创建货品模型和维护应用 49
6.3 迭代A2:添加缺失的字段 52
6.4 迭代A3:检查一下 56
6.5 迭代A4:更美观的列表页 60
第7章 任务B:目录显示 65
7.1 迭代B1:创建目录列表 65
7.2 迭代B2:添加页面布局 68
7.3 迭代B3:用辅助方法格式化价格 70
7.4 迭代B4:链接到购物车 70
第8章 任务C:创建购物车 73
8.1 Session 73
8.2 迭代C1:创建购物车 76
8.3 迭代C2:创建一个更聪明的购物车 78
8.4 迭代C3:处理错误 81
8.5 迭代C4:结束购物车 84
第9章 任务D:Ajax初体验 87
9.1 迭代D1:迁移购物车 87
9.2 迭代D2:创建基于Ajax的购物车 91
9.3 迭代D3:高亮显示变化 94
9.4 迭代D4:隐藏空购物车 96
9.5 迭代D5:JavaScript被禁用时的对策 99
9.6 我们做了什么 99
第10章 任务E:付账 101
10.1 迭代E1:收集订单信息 101
第11章 任务F:管理 113
11.1 迭代F1:添加用户 113
11.2 迭代F2:登录 120
11.3 迭代F3:访问控制 122
11.4 迭代F4:添加边栏,以及更多的管理功能 124
第12章 任务G:最后一片饼干 129
12.1 生成XML 129
12.2 扫尾工作 136
第13章 任务I:国际化 139
13.1 迭代I1:翻译 139
13.2 迭代I2:探索内容的翻译策略 149
第14章 任务T:测试 151
14.1 加上测试 151
14.2 模型的单元测试 152
14.3 控制器的功能测试 161
14.4 应用程序的集成测试 175
14.5 性能测试 181
14.6 使用Mock对象 184
第3部分 Rails框架 9
第15章 深入Rails 189
15.1 Rails在哪儿 189
15.2 目录结构 189
15.3 Rails配置 195
15.4 命名约定 197
15.5 Rails的日志 200
15.6 调试信息 200
15.7 精彩预告 202
第16章 Active Support 203
16.1 通用扩展 203
16.2 枚举和数组 204
16.3 Hash 205
16.4 字符串扩展 206
16.5 数值的扩展 208
16.6 时间和日期的扩展 208
16.7 Ruby符号的扩展 210
16.8 with_options 211
16.9 Unicode支持 211
第17章 数据迁移 215
17.1 创建和运行迁移任务 216
17.2 剖析迁移任务 218
17.3 表的管理 221
17.4 数据迁移任务 225
17.5 高级迁移任务 227
17.6 迁移任务的缺点 230
17.7 在迁移任务之外操作数据库结构 231
17.8 管理迁移任务 231
第18章 ActiveRecord第一部分:基础 233
18.1 表和类 233
18.2 字段和属性 234
18.3 主键与ID 237
18.4 连接数据库 238
18.5 CRUD 242
18.6 聚合与结构化数据 257
18.7 杂录 262
第19章 ActiveRecord第二部分:表间关联 265
19.1 创建外键 266
19.2 在模型对象中指定关联 267
19.3 belongs_to和has_xxx声明 268
19.4 连接多张表 280
19.5 自引用的连接 287
19.6 Acts As 288
19.7 何时保存 291
19.8 预先读取子记录 292
19.9 计数器 293
第20章 ActiveRecord第三部分:对象生命周期 295
20.1 校验 295
20.2 回调 303
20.3 高级属性 308
20.4 事务 311
第21章 ActionController:路由与URL 317
21.1 基础 317
21.2 请求的路由 318
21.3 基于资源的路由 329
21.4 路由的测试 342
第22章 ActionController和Rails 345
22.1 Action方法 345
22.2 Cookie和Session 354
22.3 Flash——Action之间的通信 364
22.4 过滤器与校验 366
22.5 缓存初接触 372
22.6 GET请求的问题 378
第23章 Action View 381
23.1 模板 381
23.2 使用辅助方法 385
23.3 用于格式化、链接和分页的辅助方法 386
23.4 如何使用表单 393
23.5 包装模型对象的表单 393
23.6 自制表单构建器 403
23.7 处理与模型对象无关的字段 406
23.8 Rails应用的文件上传 409
23.9 布局与组件 411
23.10 再论缓存 417
23.11 新增模板系统 421
第24章 Web 2.0 423
24.1 Prototype 423
24.2 Script.aculo.us 438
24.3 RJS模板 451
24.4 结论 456
第25章 ActionMailer 457
25.1 发送邮件 457
25.2 接收邮件 465
25.3 电子邮件的测试 467
第26章 Active Resource 469
26.1 Active Resource的替代品 469
26.2 给我看代码 471
26.3 关联和集合 473
26.4 小结 475
第4部分 部署和安全 9
第27章 保护Rails应用 479
27.1 SQL注入 479
27.2 用参数直接创建记录 481
27.3 不要相信ID参数 482
27.4 不要暴露控制器方法 483
27.5 跨站脚本(CSS/XSS) 483
27.6 防御session定置攻击 485
27.7 文件上传 486
27.8 不要以明文保存敏感信息 487
27.9 用SSL传输敏感信息 487
27.10 不要缓存需要身份认证的页面 488
27.11 知己知彼 488
第28章 部署与生产 489
28.1 尽早开始 489
28.2 生产服务器如何工作 490
28.3 安装Passenger 491
28.4 Capistrano无忧部署 493
28.5 检查已部署的应用程序 496
28.6 投入生产运行之后的琐事 497
28.7 上线,并不断前进 498
索引 499
北京→上海!
不一样的热点城市,一样的“博文视点Open Party”!
互联网已经陪伴我们身边多年,Web所产生的影响也越来越大。当你上班时,打开电脑之后,可能第一个打开的程序是浏览器;当你遇到问题时,第一个想到的可能是搜索引擎;当你要设计一套某某系统的结构时,第一个想到B/S的结构;当Web无时无刻不在身边,你也会感到开发Web应用程序是一件多么荣幸的事情。“博文视点Open Party第6期之Web开发”主题,聚集一线Web开发专家,为您的Web开发之路上走向成功。
详情请登录:http://www.broadview.com.cn/open%20party/6/webkaifa.htm
演讲嘉宾:
陈浩
演讲主题:大型LAMP应用的研发
赵劼
演讲主题:Web应用中的缓存
温昱
演讲题目:架构设计的事实与谬误
活动地点:上海大众大厦
地址:中国上海市中山西路1515号(内环线高架吴中路出口处)
邮编:200235
电话:(8621)64288888转
传真:(8621)64281818
Address: No.1515 Zhongshan Rd (w), Shanghai
Tel:(8621)64288888
Fax:(8621)64281818
Post Code:200235
E-mail:dzds1515@163.com
交通线路:
上海火车站~大众大厦
1、轨道交通3号线、4号线、9号线至宜山路站,
2、公交113路车至大众大厦(终点站)。
上海南站~大众大厦
轨道交通3号线至宜山路站
虹桥机场~大众大厦
公交938路至中山西路吴中路
浦东机场~大众大厦
1、机场三线到银河宾馆,转出租车6分钟至大众大厦
2、机场六号线到中山公园,转轨道交通3号线或4号线至大众大厦,或转乘出租车10分钟至大众大厦。
活动主办方:
电子工业出版社博文视点公司
每场活动人数:200人以下
虽然介绍的版本不是最新的2.x
但是基本概念还是一样的
本版中 有不少演示代码还是有错误的
但是作者的个人网站有一个bug列表可以进行查询
rail必读书籍之一
入门读这本书肯定会被rails所吸引,虽然本书有很多地方只说怎么做,不知所以然,但是对初学者来说,已经够了,读完这本书的第一个例子,再去读读别的主讲ruby的书,回头再看看这本书的后半部分,效果还是很好的。最开始我读Programming Ruby,是主讲ruby的,没有吸引我将那么厚的差不多相当于ruby文档看完,看了这本书之后我再读Programming Ruby就很有兴趣了。
准备在读完php和mysql网络开发后就进入ror学习状态~~
呵呵~~
希望能成为一名业余网络编程爱好者~~
最近开始看《Agile Web Development with Rails 2nd Edition》,发觉感觉真的非常爽。虽然至今连Ruby语法都没完全懂,懂了的也没记住多少,但在看书过程中你会乐意模仿书中所有的例子,一个一个完成看看结果是怎样的,观察这个神奇的框架如何将你所书写的一点点代码转变为使用ASP.NET要不少代码才能实现的功能。
我不知道它是怎么实现的,但暂时我还不觉得我有必要知道它是怎么实现的,因为那种流畅的感觉太好了,所谓的"Convention over Configuration",让我完全可以凭感觉去写,而不是好像用ASP.NET的时候那样想着“你这buggy又trappy的家伙,幸好我知道你底层是怎样实现的,我可不会随便踩进你的陷阱”。既然我不用了解它,就能流畅用好,为什么我还急着去了解那么多呢?
至于"Don't Repeat Yourself"的好处,暂时没体会到。ASP.NET中要坚持DRY原则的话,要在设计上下点功夫,而我现在用RoR才写那么几行代码,根本谈不上设计。
已经很久没有一本书让我阅读过程之中有如此的兴奋感了。之前看《Programming Microsoft ASP.NET 2.0 Applications: Advanced Topics/ASP.NET 2.0高级编程》,虽然也很有feel,但那种feel不是学到新东西的兴奋,而是自己辛苦用reflector看代码查资料领会到的知识得到印证的感觉,觉得有这样一本系统讲述这些底层知识的书在手边,快速看一遍,以后就知道如何查找了,比用reflector慢慢最终慢慢理解要好多了。这种感觉准确来说,只是所谓的“松一口气”,ASP.NET给入门者的印象是很简单,然后你发现很复杂,接着你松一口气因为有人帮你将复杂的知识归纳好印成一本书方便你查阅。
看现在这本700多页的RoR的书,我能够一个晚上看50多页,因为一旦开始看了就真的不想停手。曾经有人评价RoR能让程序员惊叹“这不就是我梦寐以求的Web开发方式”,而阅读这本书的过程就让我信服了这个评价,并且推动着我一直想看下去,因为我总会想着“还有什么我梦寐以求的事情还没被我发现呢”。
原文:http://catinchinese.blogspot.com/2007/02/ruby-on-rails.html
Rails最cool的地方就是不了解ruby也能写出个网上宠物店。
这对于那些练了多少年内功的j2ee高手来说是个天大的讽刺(j2ee的终极目标就是配置配置加配置,凡是能在配置文件里写的就全写进去,放着好好的程序不用)。习惯优于配置!
但这对ruby新人来说不是个好消息。有可能你写了3个宠物店后还是囫囵吞枣。rails简化的是重复的体力劳动,程序的框架和效率还是躲不掉的。所以我建议想快速上手rails的人也一定要把programing ruby放在案边随时查阅。
否则光那些@, @@,那些神秘的全局变量,还有那些把所有一切归到对象的变扭会把人逼疯掉。
谢谢,不知道要不要看这个。
java的Grail over Groovy,是不是更加合适,易于上手,特别对于java开发者来说。而且java的库都可以很好的利用。
mark, 神级评论
rails2.2.2的话,用第三版的代码即可。
嘿嘿,在第三版里面已经全做了修改
Rails发展的真快,第一版和第二版差别很多,第二版和第三差别又很多
现在发布的3.0更是2.3.5做了质的改变
谢谢你,我想买第三版,可是没出来,只好买了个第二版,正好遇上你说的这些问题,正犯愁呢!
第二版仍然值得去阅读,而且这本书的内容布置的很好,可以说是目前市场上最好的rails入门书籍,没有任何一本可以超越此书。至少我是这样看的。
对于新手来说无非就是几个问题,把启动WEBRick从ruby script/server 变成rails server,建立控制器是rails generate controller xxxxx,还有建立sacffold变成rails generate scaffold xxxx bbb:text cccc:string这些,其实都不是太大的问题,高级变化我觉得一时半会对于我来还是无非去理解,我的观点是,先把东西做出来再说,其他以后可以慢慢研究。
感觉翻译的确实比较烂,很明显感觉到一些部分译者不用心。其次是感觉书比英文版本缩水了一圈....让人恼火。
P96页的练习1,把 line item 翻译成了商品项目。
原文Create a migration that copies the product price into the line item, and add_product method in the Cart model to capture the price whenever a new line item is created.
书中: 创建一个迁移,该迁移将产品的价格复制给商品项目,并修改Cart模型中的add_to_product方法,每当创建一个新的商品项目,该方法都可以获得此价格。
我看了中文版的这练习足足5分钟都不知道这个练习什么意思,后面一大串的商品项目。晕死。
很想卖来看看
第一版只读了里面的片段章节,然后翻阅了programing ruby,再仔细阅读了ruby for rails,现在正在仔细阅读这个第二版!整个下来,感觉受益良多!
谢谢指点:D
在当当上定购了,期待早点读到
谢谢指点
没有相关编程基础,可否读此书 ?
当然可以 但最好有其他语言基础
同意杨同学的意见。
一定要先看一点,然后看ruby for rails,然后再是AWDR,然后是镐头书,然后是rail way,然后是ruby way,当中可以拿Rail Cookbook或者Ruby Cookbook当作点缀。
ruby是任何学习rails的同学逃不了的。就好像C#/vb.net对于asp.net一样
我是没有ruby经验直接读了这书,理解是足够,书后有短小的附录介绍ruby语法。
不过写代码的时候总觉得写的风格不够rails,看来接下来要补ruby
先是看了Programming Ruby看的我是七荤八素的,同一件事能够有几种方法来实现,有点晕,随后就直接看AWRD了,准备看完AWRD后再去看Ruby for Rails,最后再不Programming Rbuy
Ruby被设计成程序员喜爱的正统的面向对象语言,
RoR继承了ruby的理念,通过在代码语义、约定和编程模型上的增强和创造性设计简化了Web开发,的确很爽的感觉。
rails框架确实挺不错,最近也在学习中。
过几个月,当你发现rails不向下兼容,你改代码疲于奔命。。。。。。
从你的评论就知道你的内功不够
Agile Web Development with Rails, Third Edition
plus
ruby-talk@ruby-lang.org
is the best way.
质疑“不了解ruby也能写出个网上宠物商店”,你说的是书里那个吧,直接下载得了,用得着自己写?