详情
内容简介
《Web开发敏捷之道:应用Rails进行敏捷Web开发(原书第4版)》第1版曾荣获Jolt大奖“技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成部署;第三部分有条不紊地补充缺少的知识并涵盖足以应付日常的实际工作。本书既有直观的示例,又有深入的分析,同时涵盖了Web应用开发中各方面的相关知识,堪称一部内容全面而又深入浅出的佳作。
目 录
对本书的赞誉译者序
译者简介
第4 版序言
前言
致谢
第一部分 起步
第1 章 安装Rails1.1 Windows 上的安装
1.2 Mac OS X 上的安装
1.3 Linux 上的安装
1.4 选择一个Rails 版本
1.5 设置开发环境
1.5.1 命令行
1.5.2 版本控制
1.5.3 编辑器
1.5.4 桌面
1.6 Rails 和数据库
1.7 本章小结
第2 章 即时满足
2.1 新建一个应用程序
2.2 Hello,Rails !
2.2.1 Rails 和URL 请求
2.2.2 第一个动作
2.2.3 创建动态网页
2.2.4 动态内容
2.2.5 把时间加上
2.2.6 故事讲到现在
2.3 把页面连起来
2.4 本章小结
2.4.1 练习时间
2.4.2 清理现场
第3 章 Rails 应用程序框架
3.1 模型、视图以及控制器
3.2 Rails 的模型支持
3.2.1 对象- 关系映射
3.2.2 Active Record
3.3 Action Pack :视图与控制器
3.3.1 视图支持
3.3.2 还有控制器
第4 章 Ruby 简介
4.1 Ruby 是一门面向对象的语言
4.1.1 Ruby 命名规则
4.1.2 方法
4.2 数据类型
4.2.1 字符串
4.2.2 数组和散列
4.2.3 正则表达式
4.3 逻辑方法
4.3.1 控制结构
4.3.2 代码块和迭代器
4.3.3 异常
4.4 组织结构
4.4.1 类
4.4.2 模块
4.4.3 YAML
4.5 封送对象
4.6 综合分析
4.7 Ruby 语言习语
第二部分 构建应用程序
第5 章 Depot 应用程序5.1 增量式开发
5.2 Depot 是做什么的
5.2.1 用例
5.2.2 页面流程
5.2.3 数据
5.3 让我们来编码吧
第6 章 任务A :创建应用程序
6.1 迭代A1 :创建商品维护的应用程序
6.1.1 创建Rails 应用程序
6.1.2 创建数据库
6.1.3 生成脚手架
6.1.4 应用迁移
6.1.5 查看商品清单
6.2 迭代A2 :美化商品清单
6.3 本章小结
练习时间
第7 章 任务B :验证和单元测试
7.1 迭代B1 :验证
7.2 迭代B2 :模型的单元测试
7.2.1 真正单元测试
7.2.2 静态测试
7.2.3 使用静态测试数据
7.3 本章小结
练习时间
第8 章 任务C :商品目录显示
8.1 迭代C1 :创建商品目录清单
8.2 迭代C2 :增加页面布局
8.3 迭代C3 :用帮助函数来调整价格格式
8.4 迭代C4 :控制器功能测试
8.5 本章小结
练习时间
第9 章 任务D :创建购物车
9.1 迭代D1 :寻找购物车
9.2 迭代D2 :将产品放到购物车中
9.3 迭代D3 : 添加一个按钮
9.4 本章小结
练习时间
第10 章 任务 E :更智能的购物车
10.1 迭代E1 :创建更智能的购物车
10.2 迭代E2 :错误处理
10.3 迭代E3 :对购物车的最后加工
10.4 本章小结
练习时间
第11 章 任务F :Ajax 初体验
11.1 迭代F1 :转移购物车
11.1.1 局部模板
11.1.2 改变流程
11.2 迭代F2 :建立一个基于Ajax的购物车
11.2.1 排疑解难
11.2.2 客户永远不会满足
11.3 迭代F3 :高亮变化
11.4 迭代F4 :隐藏一个空的购物车
11.5 测试Ajax 改变
11.6 本章小结
练习时间
第12 章 任务G :付款
12.1 迭代G1 :获取订单
12.1.1 创建获取订单的表单
12.1.2 获取订单细节
12.1.3 最后一个Ajax 更改
12.2 循环G2 :Atom 推送
12.3 迭代G3 :分页
12.4 本章小结
练习时间
第13 章 任务H :发送电子邮件
13.1 迭代H1 :发送确认邮件
13.1.1 配置邮件
13.1.2 发送邮件
13.1.3 邮件模板
13.1.4 生成邮件
13.1.5 发送多内容类型
13.1.6 邮件功能测试
13.2 迭代H2 :应用程序的集成测试
13.3 本章小结
练习时间
第14 章 任务I :登录
14.1 迭代I1 :添加用户
14.2 迭代I2 :认证用户
14.3 迭代I3 :限制访问
14.4 迭代I4 :增加侧边栏,更多管理
14.5 本章小结
练习时间
第15 章 任务J :国际化
15.1 迭代 J1 :选择语言环境
15.2 迭代 J2 :翻译在线商店页面
15.3 迭代 J3 :翻译结账页面
15.4 迭代 J4 :添加语言环境的切换器
15.5 本章小结
练习时间
第16 章 任务K :部署和产品环境
16.1 迭代 K1 :用Phusion Passenger和MySQL 部署
16.1.1 安装Passenger
16.1.2 在本地部署应用程序
16.1.3 使用MySQL 数据库
16.1.4 加载数据库
16.2 迭代 K2:用Capistrano远程部署
16.2.1 准备好部署服务器
16.2.2 把应用程序放到版本管理下
16.2.3 远程部署应用程序
16.2.4 冲洗,洗净,重复
16.3 迭代 K3 :检查部署的应用程序
16.3.1 查看日志文件
16.3.2 使用命令行界面来查看实时的应用程序
16.3.3 处理日志文件
16.3.4 开始发行,超越自我
16.4 本章小结
练习时间
第17 章 Depot 回顾
17.1 Rails 的概念
17.1.1 模型
17.1.2 视图
17.1.3 控制器
17.1.4 配置
17.1.5 测试
17.1.6 部署
17.2 文档化所做的事情
第三部分 深入Rails
第18 章 自己去发现Rails(工作)方法18.1 东西都去哪里了
18.1.1 应用程序的位置
18.1.2 测试的位置
18.1.3 文档的位置
18.1.4 支持库的位置
18.1.5 Rake 任务的位置
18.1.6 日志的位置
18.1.7 静态网页的位置
18.1.8 脚本的位置
18.1.9 临时文件的位置
18.1.10 第三方代码的位置
18.1.11 配置的位置
18.2 命名约定
18.2.1 混合大小写、下划线和复数
18.2.2 把控制器分组到模块中
18.3 本章小结
第19 章 Active Record 模块
19.1 定义数据结构
19.1.1 使用表和字段的规则
19.1.2 Active Record 所提供的附加字段
19.2 查找和遍历记录
19.2.1 识别单个行
19.2.2 模型关联性说明
19.2.3 一对一关联
19.2.4 一对多关联
19.2.5 多对多关联
19.3 创建、读取、更新和删除操作
19.3.1 创建新的行记录
19.3.2 读取已有行记录
19.3.3 动态查询器
19.3.4 SQL 语言与Active Record 模块
19.3.5 使用like 查询子句
19.3.6 构造返回记录的子集
19.3.7 获取字段统计
19.3.8 范围函数
19.3.9 编写自己SQL 语句
19.3.10 重新加载数据
19.3.11 更新现有行记录
19.3.12 方法save、save!、create和create!
19.3.13 删除行记录
19.4 干预跟踪进程
19.4.1 成组相关回调
19.4.2 观察器
19.4.3 观察器实例化
19.5 数据库事务
19.6 本章小结
第20 章 行为调度和行为控制
20.1 分派请求到控制器
20.1.1 REST :表述性状态转移
20.1.2 添加附加行为
20.1.3 嵌套资源
20.1.4 浅路由嵌套
20.1.5 选择数据表述
20.1.6 测试路由
20.2 处理请求
20.2.1 行为方法
20.2.2 控制器环境
20.2.3 用户响应
20.2.4 呈现模板
20.2.5 发送文件和其他数据
20.2.6 重定向
20.3 持续请求的对象和操作
20.3.1 Rails 会话
20.3.2 会话存储
20.3.3 比较会话存储选项
20.3.4 会话逾期与清除
20.3.5 闪存:行为间通信
20.3.6 过滤器
20.3.7 前置和后置过滤器
20.3.8 过滤器继承
20.4 本章小结
第21 章 Action View 模块
21.1 使用模板
21.1.1 模板存放的位置
21.1.2 模板运行的环境
21.1.3 模板包含的内容
21.2 生成表单
21.3 处理表单
21.4 上传文件到Rails 应用程序
21.5 使用帮助程序
21.5.1 自定义的帮助程序
21.5.2 格式和链接帮助程序
21.5.3 格式帮助程序
21.5.4 链接到其他页面和资源
21.6 用页面布局和局部模板减轻维护工作
21.6.1 布局
21.6.2 放置布局文件
21.6.3 传递数据到布局
21.6.4 局部页面模板
21.6.5 局部模板和集合
21.6.6 共享模板
21.6.7 局部模板与布局
21.6.8 局部模板和控制器
21.7 本章小结
第22 章 缓存
22.1 页面缓存
22.2 让页面失效
22.2.1 显式地让页面失效
22.2.2 挑选缓存存储策略
22.2.3 隐式地让页面失效
22.2.4 让基于时间的缓存页面失效
22.2.5 正确处理客户端缓存
22.2.6 过期头
22.2.7 最后的修改和ETag 支持
22.3 片段缓存
22.4 本章小结
第23 章 数据迁移
23.1 创建和运行迁移
23.2 剖析迁移
23.2.1 字段的类型
23.2.2 重命名字段
23.2.3 修改字段
23.3 表的管理
23.3.1 表的创建选项
23.3.2 表的重命名
23.3.3 rename_table 方法的问题
23.3.4 定义索引
23.3.5 主键
23.3.6 没有主键的表
23.4 高级迁移
23.4.1 使用原生 SQL
23.4.2 扩展迁移
23.4.3 自定义消息和基准测试程序
23.5 当迁移变糟时
23.6 迁移外的模式管理
23.7 本章小结
第24 章 非浏览器应用
24.1 用Active Record 开发独立应用程序
24.2 使用Active Support 库功能
24.2.1 核心扩展
24.2.2 附加的Active Support 类
24.2.3 使用 Action View 帮助程序
24.3 使用Active Resource 开发远程应用程序
24.3.1 访问和更新简单属性
24.3.2 关系和集合
24.3.3 汇总整理
24.4 本章小结
第25 章 Rails 包依赖关系
25.1 用构建器生成XML
25.2 用ERb 生成HTML
25.3 用Bundler 管理包依赖关系
25.4 用Rack 实现与Web 服务器的交互
25.5 自动执行任务工具Rake
25.6 Rails 包依赖关系揭秘
25.7 本章小结
第26 章 Rails 插件
26.1 信用卡业务处理插件Active Merchant
26.2 节约带宽的插件Asset Packager
26.3 用Haml 美化标记语言
26.4 用JQuery 少写多做
26.5 在RailsPlugins.org上找出更多
26.6 本章小结
第27 章 整装进发
参考文献
联系我们
- 联系人:阿道
- 联系方式: 17762006160
- 地址:青岛市黄岛区长江西路118号青铁广场18楼