Ruby on Rails电子商务实战

分类: 图书,计算机/网络,软件工程/开发项目管理,
作者: (芬)赫尔斯特恩,(芬)莱恩著,曹维远译
出 版 社: 人民邮电出版社
出版时间: 2008-4-1字数: 508000版次: 1页数: 329印刷时间: 2008/04/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115174499包装: 平装编辑推荐
国内第一部纯实战Rails教程,使用Rails开发自己的Amazon网站。深入探讨安全、国际化、测试和性能优化等关键主题。
“无论你是要真正着手开发Ror项目,还是仅仅为了提高自己的技术,本书都非常值得一读。”
——Dr.Dobb's Joumal
“本书对实际开发帮助极大,将大大提升你的Rails功力,我强烈推荐。”
——JavaRanch.com
现在就动手。从头开始创建一个自己的Amazon.com网站!
这是天方夜谭吗?不。使用Ruby on Rails,一切皆有可能。
本书由两位资深Web开发人员共同撰写,在简单介绍了基础知识之后,通过演示构建一个网上书店的全过程,帮助读者掌握Rails开发的各种核心概念、最佳实践和技术。包括MVC模式、ActiveRecord(Rails的对象一关系映射系统)、Ferret搜索引擎以及下一代Web应用的关键要素:Ajax、RSS、标签等。不仅如此,书中还深入探讨了实际Web应用必须考虑的安全、国际化、验收测试、部署和性能优化等高级主题,使读者能够迅速上手,开发出专业的Web应用。
作者专门为本书开设了论坛:groups.google.com/group/railsecommerce。
内容简介
本书全面讲解了使用Ruby on Rails创建产品级应用程序的过程。书中通过演示构建网上书店的全过程,先后介绍如何使用如TDD的敏捷实践,启动一个项目并建立良好稳定的基础,如何深入Ruby on Rails,实现诸如将应用程序翻译成各种语言对产品进行调试等的普遍需求。其中用到的主要技术包括Ajax、聚合、设置标签和国际化等,还介绍了如何使用ActiveRecord和Ferret搜索引擎及一些其他技术。
本书适合开发实际Rails应用的Web开发人员阅读。
作者简介
Christion Helsten,Aktagon公司的创始人,Sanda Interactive公司的CTO。曾任职于普华永道咨询公司和IBM商业咨洵服务公司,担任了许多大型电子商务项目的顾问。
目录
第1章项目创建和原型验证
1.1Emporium项目介绍
1.2安装软件
1.2.1安装Ruby
1.2.2安装RubyGems
1.2.3安装Ruby on Rails
1.2.4安装MySQL
1.2.5安装MySQL驱动程序
1.3Scrum介绍
1.4创建Emporium应用程序
1.4.1创建应用程序框架
1.4.2创建Emporium数据库
1.4.3第一次启动Emporium
1.5Ruby on Rails工作原理
1.6实现用户情境:About Emporium
1.6.1运行生成的脚本
1.6.2修改生成的视图
1.6.3创建页面布局
1.6.4修改生成的控制器
1.7小结
第2章作者管理
2.1TDD
2.2在Rails中测试
2.2.1单元测试
2.2.2功能测试
2.2.3集成测试
2.3创建ActiveRecord模型
2.3.1使用ActiveRecord迁移
2.3.2运行单元测试
2.4创建控制器
2.5实现用户情境
2.5.1添加作者
2.5.2罗列作者
2.5.3查看作者信息
2.5.4编辑作者
2.5.5删除作者
2.5.6调整闪存提示
2.6小结
第3章图书库存管理
3.1收集需求
3.2使用脚手架
3.3实现出版商管理界面
3.3.1为Publishers表更新数据库架构
3.3.2用脚手架脚本生成出版商代码
3.3.3完成用户情境:添加出版商
3.3.4完成用户情境:查看出版商
3.3.5完成用户情境:编辑出版商
3.4实现图书管理界面
3.4.1使用Books表更新数据库架构
3.4.2创建图书模型
3.4.3ActiveRecord映射
3.4.4修改生成的模型
3.4.5克隆数据库
3.4.6单元测试所有验证
3.4.7单元测试ActiveRecord映射
3.4.8用脚手架脚本生成图书管理代码
3.4.9集成测试
3.4.10完成用户情境:添加图书
3.4.11完成用户情境:上传图书封面
3.4.12完成用户情境:罗列图书
3.4.13完成用户情境:查看图书
3.4.14完成用户情境:编辑图书
3.4.15测试用户情境:删除图书
3.5小结
第4章浏览图书目录
4.1收集图书目录需求
4.2实现图书目录界面
4.2.1实现用户情境:浏览图书目录
4.2.2实现用户情境:查看图书详情
4.2.3实现用户情境:搜索图书
4.2.4实现用户情境:获取最新书目
4.2.5创建RSS提要
4.3小结
第5章实现购物车
5.1收集购物车需求
5.2建立购物车
5.2.1创建控制器
5.2.2添加功能测试
5.2.3创建模型
5.2.4修改控制器
5.2.5创建视图
5.3实现用户情境
5.3.1实现用户情境:向购物车添加商品
5.3.2实现用户情景:从购物车中移除商品
5.3.3实现用户情境:清空购物车
5.4小结
第6章实现论坛
6.1收集论坛需求
6.2使用线索化论坛插件
6.3建立论坛
6.3.1更新数据库架构
6.3.2修改模型
6.3.3单元测试模型
6.3.4生成控制器和视图
6.4实现用户情境
6.4.1实现用户情境:发帖
6.4.2实现用户情境:浏览论坛
6.4.3实现用户情境:看帖
6.4.4实现用户情境:回帖
6.5小结
第7章标签支持
7.1收集贴标签的需求
7.2使用标签RubyGem
7.3建立标签机制
7.3.1更新数据库架构
7.3.2准备模型
7.3.3模型单元测试
7.3.4用控制台测试模型
7.4实现用户情境
7.4.1实现用户情境:贴标签
7.4.2实现用户情境:编辑标签
7.4.3实现用户情境:罗列标签和显示标签
7.4.4实现用户情境:推荐图书
7.5小结
第8章安全
8.1收集身份认证需求
8.2使用身份认证插件
8.3实现用户情境
8.3.1实现用户情境:登录
8.3.2实现用户情境:登录失败
8.3.3实现用户情境:重设密码
8.4保护应用程序
8.4.1跨站脚本攻击
8.4.2URL和表单处理
8.4.3SQL注入
8.4.4跨站请求伪造
8.5小结
第9章结账与订单处理
9.1收集结账与订单处理需求
9.2实现用户情境:结账
9.2.1创建模型
9.2.2为模型添加验证
9.2.3创建控制器和集成测试
9.2.4创建视图
9.2.5保存订单信息
9.3集成支付网关
9.3.1安装Active Merchant插件
9.3.2PayPal集成
9.3.3Authorize.Net集成
9.3.4使用Payment gem
9.4实现管理员用户情境
9.4.1实现用户情境:查看订单列表
9.4.2实现用户情境:查看订单
9.4.3实现用户情境:终止订单
9.5计算配送费用和税费
9.5.1使用Shipping Gem
9.5.2计算税费
9.6小结
第10章多语言支持
10.1收集本地化需求
10.2使用Globalize插件
10.2.1用Globalize本地化
10.2.2建立Globalize
10.3实现用户情境
10.3.1实现用户情境:改变地区设置
10.3.2实现翻译用户情境
10.4翻译视图和Book模型
10.4.1翻译视图
10.4.2翻译模型
10.5本地化日期、数字和货币
10.5.1本地化日期
10.5.2本地化数字和货币
10.6添加Unicode(UTF-8)支持
10.6.1在HTML中设置字符编码
10.6.2为HTTP响应设置字符编码
10.6.3修改数据库以便使用UTF-8
10.7小结
第11章验收测试
11.1使用Selenium
11.2写Selenium测试
11.2.1Selenium命令
11.2.2Selenium测试格式
11.2.3第一个验收测试
11.3录制Selenium测试
11.3.1使用Selenium IDE
11.3.2录制查看论坛验收测试
11.3.3录制发帖验收测试
11.3.4录制看帖验收测试
11.3.5录制回帖验收测试
11.4小结
第12章应用程序部署
12.1建立产品环境
12.1.1连接产品服务器:SSH
12.1.2安装Web服务器:LightTPD
12.1.3安装应用程序服务器:Ruby on Rails和FastCGI
12.1.4安装数据库服务器(MySQL)
12.1.5配置LightTPD
12.1.6创建产品数据库
12.2手工部署应用程序
12.2.1复制应用程序
12.2.2创建用户和组
12.2.3启动LightTPD
12.2.4启动FastCGI进程
12.3自动化部署
12.3.1安装Capistrano
12.3.2创建Capistrano部署配方
12.3.3运行Setup任务
12.3.4部署到产品
12.3.5启动LightTPD
12.4小结
第13章性能优化
13.1性能和延展
13.2衡量性能
13.2.1查看日志文件
13.2.2使用Rails分析器
13.3缓存
13.3.1页面缓存
13.3.2动作缓存
13.3.3片段缓存
13.3.4片段存储
13.3.5缓存ActiveRecord对象
13.4Rails中常见的性能问题
13.4.1呈现速度
13.4.2数据库访问
13.5小结



