《Web开发敏捷之道 应用Rails进行敏捷Web开发 原书第4版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)山姆等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111374046
  • 页数:348 页
图书介绍:本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了对Rails中新特性和最佳实践的内容介绍。本书从一步一步创建一个真正的应用程序开始,在之后的章节才开始介绍Rails的内置功能。全书共分为3部分,第一部分介绍了Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式建立了应用程序,然后依据敏捷开发模式搭建了测试案例,最终用Capistrano完成部署;第三部分有条不紊地补充缺少的知识并涵盖足以应付真实环境的日常工作。本书既有直观的实例,又有深入的分析,同时涵盖了Web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。本书适合Ruby和Rails的初级、中级读者阅读,并可作为开发人员的参考手册。

第一部分 起步 1

第1章 安装Rails 1

1.1 Windows上的安装 1

1.2 Mac OS X上的安装 3

1.3 Linux上的安装 4

1.4选择一个Rails版本 5

1.5设置开发环境 6

1.5.1命令行 6

1.5.2版本控制 6

1.5.3编辑器 7

1.5.4桌面 8

1.6 Rails和数据库 9

1.7本章小结 10

第2章 即时满足 11

2.1新建一个应用程序 11

2.2 Hello, Rails! 13

2.2.1 Rails和URL请求 14

2.2.2第一个动作 14

2.2.3创建动态网页 15

2.2.4动态内容 15

2.2.5把时间加上 16

2.2.6故事讲到现在 17

2.3把页面连起来 18

2.4本章小结 20

2.4.1练习时间 20

2.4.2清理现场 21

第3章Rails应用程序框架 22

3.1模型、视图以及控制器 22

3.2 Rails的模型支持 24

3.2.1对象-关系映射 24

3.2.2 Active Record 25

3.3 Action Pack:视图与控制器 26

3.3.1视图支持 26

3.3.2还有控制器 26

第4章Ruby简介 28

4.1 Ruby是一门面向对象的语言 28

4.1.1 Ruby命名规则 29

4.1.2方法 29

4.2数据类型 30

4.2.1字符串 30

4.2.2数组和散列 30

4.2.3正则表达式 32

4.3逻辑方法 32

4.3.1控制结构 32

4.3.2代码块和迭代器 33

4.3.3异常 34

4.4组织结构 34

4.4.1类 34

4.4.2模块 36

4.4.3 YAML 36

4.5封送对象 37

4.6综合分析 37

4.7 Ruby语言习语 38

第二部分 构建应用程序 41

第5章Depot应用程序 41

5.1增量式开发 41

5.2 Depot是做什么的 42

5.2.1用例 42

5.2.2页面流程 42

5.2.3数据 44

5.3让我们来编码吧 45

第6章 任务A:创建应用程序 46

6.1迭代A1:创建商品维护的应用程序 46

6.1.1创建Rails应用程序 46

6.1.2创建数据库 46

6.1.3生成脚手架 47

6.1.4应用迁移 48

6.1.5查看商品清单 49

6.2迭代A2:美化商品清单 51

6.3本章小结 54

练习时间 55

第7章 任务B:验证和单元测试 57

7.1迭代B1:验证 57

7.2迭代B2:模型的单元测试 60

7.2.1真正单元测试 61

7.2.2静态测试 63

7.2.3使用静态测试数据 66

7.3本章小结 67

练习时间 67

第8章 任务C:商品目录显示 68

8.1迭代C1:创建商品目录清单 68

8.2迭代C2:增加页面布局 71

8.3迭代C3:用帮助函数来调整价格格式 74

8.4迭代C4:控制器功能测试 74

8.5本章小结 77

练习时间 77

第9章 任务D:创建购物车 78

9.1迭代D1:寻找购物车 78

9.2迭代D2:将产品放到购物车中 79

9.3迭代D3:添加一个按钮 81

9.4本章小结 85

练习时间 85

第10章 任务E:更智能的购物车 86

10.1迭代E1:创建更智能的购物车 86

10.2迭代E2:错误处理 90

10.3迭代E3:对购物车的最后加工 92

10.4本章小结 96

练习时间 96

第11章 任务F : Ajax初体验 97

11.1迭代F1:转移购物车 97

11.1.1局部模板 97

11.1.2改变流程 101

11.2迭代F2:建立一个基于Ajax的购物车 102

11.2.1排疑解难 103

11.2.2客户永远不会满足 104

11.3迭代F3:高亮变化 104

11.4迭代F4:隐藏一个空的购物车 106

11.5测试Ajax改变 110

11.6本章小结 111

练习时间 112

第12章 任务G:付款 113

12.1迭代G1:获取订单 113

12.1.1创建获取订单的表单 114

12.1.2获取订单细节 120

12.1.3最后一个Ajax更改 124

12.2循环G2:Atom推送 125

12.3迭代G3:分页 128

12.4本章小结 131

练习时间 131

第13章 任务H:发送电子邮件 132

13.1迭代H1:发送确认邮件 132

13.1.1配置邮件 132

13.1.2发送邮件 133

13.1.3邮件模板 134

13.1.4生成邮件 135

13.1.5发送多内容类型 136

13.1.6邮件功能测试 137

13.2迭代H2:应用程序的集成测试 138

13.3本章小结 142

练习时间 142

第14章 任务I:登录 143

14.1迭代I1:添加用户 143

14.2迭代I2:认证用户 150

14.3迭代I3:限制访问 155

14.4迭代I4:增加侧边栏,更多管理 157

14.5本章小结 160

练习时间 160

第15章 任务J:国际化 161

15.1迭代J1:选择语言环境 161

15.2迭代J2:翻译在线商店页面 164

15.3迭代J3:翻译结账页面 169

15.4迭代J4:添加语言环境的切换器 174

15.5本章小结 175

练习时间 176

第16章 任务K:部署和产品环境 177

16.1迭代K1:用Phusion Passenger和MySQL部署 178

16.1.1安装Passenger 178

16.1.2在本地部署应用程序 179

16.1.3使用MySQL数据库 180

16.1.4加载数据库 182

16.2迭代K2:用Capistrano远程部署 183

16.2.1准备好部署服务器 183

16.2.2把应用程序放到版本管理下 184

16.2.3远程部署应用程序 185

16.2.4冲洗,洗净,重复 187

16.3迭代K3:检查部署的应用程序 188

16.3.1查看日志文件 188

16.3.2使用命令行界面来查看实时的应用程序 188

16.3.3处理日志文件 189

16.3.4开始发行,超越自我 189

16.4本章小结 190

练习时间 190

第17章Depot回顾 191

17.1 Rails的概念 191

17.1.1模型 191

17.1.2视图 192

17.1.3控制器 192

17.1.4配置 192

17.1.5测试 193

17.1.6部署 193

17.2文档化所做的事情 193

第三部分 深入Rails 195

第18章 自己去发现Rails(工作)方法 195

18.1东西都去哪里了 195

18.1.1应用程序的位置 197

18.1.2测试的位置 197

18.1.3文档的位置 197

18.1.4支持库的位置 198

18.1.5 Rake任务的位置 199

18.1.6日志的位置 200

18.1.7静态网页的位置 200

18.1.8脚本的位置 200

18.1.9临时文件的位置 201

18.1.10第三方代码的位置 201

18.1.11配置的位置 201

18.2命名约定 202

18.2.1混合大小写、下划线和复数 202

18.2.2把控制器分组到模块中 203

18.3本章小结 205

第19章Active Record模块 206

19.1定义数据结构 206

19.1.1使用表和字段的规则 206

19.1.2 Active Record所提供的附加字段 209

19.2查找和遍历记录 210

19.2.1识别单个行 210

19.2.2模型关联性说明 211

19.2.3一对一关联 211

19.2.4一对多关联 212

19.2.5多对多关联 212

19.3创建、读取、更新和删除操作 213

19.3.1创建新的行记录 213

19.3.2读取已有行记录 215

19.3.3动态查询器 216

19.3.4 SQL语言与Active Record模块 217

19.3.5使用like查询子句 218

19.3.6构造返回记录的子集 219

19.3.7获取字段统计 221

19.3.8范围函数 221

19.3.9编写自己SQL语句 222

19.3.10重新加载数据 224

19.3.11更新现有行记录 224

19.3.12方法save、 save!、create和create! 225

19.3.13删除行记录 226

19.4干预跟踪进程 227

19.4.1成组相关回调 228

19.4.2观察器 231

19.4.3观察器实例化 232

19.5数据库事务 232

19.6本章小结 235

第20章 行为调度和行为控制 237

20.1分派请求到控制器 237

20.1.1 REST:表述性状态转移 238

20.1.2添加附加行为 243

20.1.3嵌套资源 243

20.1.4浅路由嵌套 243

20.1.5选择数据表述 244

20.1.6测试路由 245

20.2处理请求 246

20.2.1行为方法 246

20.2.2控制器环境 246

20.2.3用户响应 248

20.2.4呈现模板 248

20.2.5发送文件和其他数据 251

20.2.6重定向 253

20.3持续请求的对象和操作 255

20.3.1 Rails会话 255

20.3.2会话存储 257

20.3.3比较会话存储选项 258

20.3.4会话逾期与清除 259

20.3.5闪存:行为间通信 259

20.3.6过滤器 260

20.3.7前置和后置过滤器 260

20.3.8过滤器继承 261

20.4本章小结 261

第21章Action View模块 263

21.1使用模板 263

21.1.1模板存放的位置 263

21.1.2模板运行的环境 264

21.1.3模板包含的内容 264

21.2生成表单 265

21.3处理表单 267

21.4上传文件到Rails应用程序 268

21.5使用帮助程序 271

21.5.1自定义的帮助程序 272

21.5.2格式和链接帮助程序 272

21.5.3格式帮助程序 272

21.5.4链接到其他页面和资源 274

21.6用页面布局和局部模板减轻维护工作 277

21.6.1布局 277

21.6.2放置布局文件 278

21.6.3传递数据到布局 279

21.6.4局部页面模板 281

21.6.5局部模板和集合 282

21.6.6共享模板 283

21.6.7局部模板与布局 283

21.6.8局部模板和控制器 283

21.7本章小结 283

第22章 缓存 285

22.1页面缓存 285

22.2让页面失效 287

22.2.1显式地让页面失效 287

22.2.2挑选缓存存储策略 288

22.2.3隐式地让页面失效 289

22.2.4让基于时间的缓存页面失效 290

22.2.5正确处理客户端缓存 291

22.2.6过期头 291

22.2.7最后的修改和ETag支持 291

22.3片段缓存 292

22.4本章小结 296

第23章 数据迁移 297

23.1创建和运行迁移 297

23.2剖析迁移 299

23.2.1字段的类型 300

23.2.2重命名字段 301

23.2.3修改字段 302

23.3表的管理 302

23.3.1表的创建选项 303

23.3.2表的重命名 304

23.3.3 rename table方法的问题 304

23.3.4定义索引 305

23.3.5主键 306

23.3.6没有主键的表 306

23.4高级迁移 306

23.4.1使用原生SQL 307

23.4.2扩展迁移 307

23.4.3自定义消息和基准测试程序 309

23.5当迁移变糟时 309

23.6迁移外的模式管理 310

23.7本章小结 311

第24章 非浏览器应用 312

24.1用Active Record开发独立应用程序 312

24.2使用Active Support库功能 313

24.2.1核心扩展 313

24.2.2附加的Active Support类 315

24.2.3使用Action View帮助程序 317

24.3使用Active Resource开发远程应用程序 317

24.3.1访问和更新简单属性 317

24.3.2关系和集合 318

24.3.3汇总整理 320

24.4本章小结 321

第25章Rails包依赖关系 322

25.1用构建器生成XML 322

25.2用ERb生成HTML 323

25.3用Bundler管理包依赖关系 325

25.4用Rack实现与Web服务器的交互 327

25.5自动执行任务工具Rake 330

25.6 Rails包依赖关系揭秘 331

25.7本章小结 333

第26章Rails插件 334

26.1信用卡业务处理插件Active Merchant 334

26.2节约带宽的插件Asset Packager 335

26.3用Haml美化标记语言 337

26.4用JQuery少写多做 339

26.5在RailsPlugins.org上找出更多 342

26.6本章小结 343

第27章 整装进发 344

参考文献 345