《征服RUBY ON RAILS WEB开发技术详解》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:龚昕,张浩编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115155593
  • 页数:461 页
图书介绍:本书介绍了Ruby on Rails的知识体系及开发技巧。

1.1 Ruby概述 1

1.2 为什么选择Ruby 1

1.2.1 Ruby的优点 1

第1章 Ruby简介 1

1.2.2 Ruby可以做什么 2

1.2.3 Ruby和其他语言比较 3

1.2.4 大师们的回答 4

1.3 Ruby程序设计入门 4

1.4 有趣的入门程序 5

1.4.1 编写一个经典的“Hello world” 5

1.4.2 使用Math库进行计算 5

1.4.3 使用正则表达式进行数据匹配 5

1.4.5 打印金字塔 6

1.4.4 启动一个Internet Explorer 6

1.5 奇异的高级特性 7

1.5.1 动态绑定方法 7

1.5.2 迭代器和块 10

1.5.3 “方法未定义”也是技巧 12

第2章 搭建开发环境 14

2.1 Windows下的安装 14

2.2 Linux下的安装 15

2.3 编辑工具 16

2.3.1 SciTE 16

2.3.2 FreeRIDE 19

2.3.3 RadRails 20

2.3.4 UltraEdit 21

2.3.5 Eclipse+RDT 22

2.3.6 JEdit 23

2.4 辅助工具 24

2.4.1 rdoc(自动文档生成工具) 24

2.4.2 fxri(Ruby的MSDN) 26

2.4.3 gem(包管理工具) 27

2.4.4 rubyscript2exe(exe生成工具) 27

2.5 调试工具 28

第3章 基本类型 31

3.1 数字 31

3.1.1 概述 31

3.1.2 整数 32

3.1.3 浮点数 34

3.2.2 打印输出方法 35

3.2 字符串 35

3.2.1 概述 35

3.2.3 转义符 37

3.2.4 嵌入字符串 37

3.2.5 HERE文档 39

3.2.6 字符串常用方法 40

3.2.7 查找和赋值 40

3.2.8 字符串匹配和处理 42

3.3 范围 44

3.3.1 概述 44

3.3.2 范围实体的定义 45

3.3.3 范围操作 47

3.5.1 概述 48

3.5.2 数组的定义 48

3.5 数组 48

3.4 符号 48

3.5.3 并行赋值 50

3.5.4 常用方法 50

3.5.5 查找和赋值 51

3.5.6 迭代和复杂排序 53

3.6 哈希表 53

3.6.1 概述 53

3.6.2 定义哈希表 54

3.6.3 哈希表常用方法 55

3.6.4 查找和删除 56

3.6.5 迭代操作 58

3.6.6 导入/导出键和值 59

3.7.2 定义正则表达式 60

3.7.1 概述 60

3.7 正则表达式 60

3.7.3 则表达式操作 61

3.7.4 MatchData对象 61

第4章 变量与常量 65

4.1 变量 65

4.1.1 局部变量 65

4.1.2 全局变量 66

4.1.3 实例变量 66

4.1.4 类变量 67

4.1.5 特殊变量 68

4.2 常量 68

4.2.1 普通常量 68

4.2.2 类名和模块名常量 69

5.1 操作符表达式 70

第5章 表达式 70

5.3 逻辑运算符 71

5.2 赋值和并行赋值 71

5.3.1 and和 72

5.3.2 or和‖ 72

5.3.3 not和! 72

5.3.4 ^ 72

5.4 比较表达式 72

5.5 范围表达式 73

5.6 正则表达式 73

5.7 条件表达式 74

5.7.1 if表达式 74

5.7.2 if修饰句 75

5.7.3 unless表达式 75

5.7.5 case表达式 76

5.7.4 unless修饰句 76

5.8 循环控制块 77

5.8.1 while表达式 77

5.8.2 while修饰句 78

5.8.3 until表达式 78

5.8.4 until修饰句 79

5.8.5 for表达式 79

5.9 改变循环过程 80

5.9.1 break表达式 80

5.9.2 next表达式 80

5.9.3 redo表达式 81

5.9.4 retry表达式 81

5.9.5 return表达式 82

6.1.1 定义方法 83

6.1 方法和过程块 83

第6章 方法和异常处理 83

6.1.2 过程块(block) 84

6.1.3 yield迭代器 87

6.1.4 Proc迭代器 88

6.2 异常处理 89

6.2.1 抛出异常 90

6.2.2 捕获异常 90

6.2.3 恢复执行 91

6.2.4 定义异常 92

6.2.5 扩展异常类 93

6.2.6 Catch/Throw异常处理方式 95

7.1.1 定义类 96

7.1 定义类 96

第7章 模块和类 96

7.1.2 类的构造 97

7.1.3 super保留字 99

7.1.4 类的扩展 100

7.2 类方法 101

7.3 属性和成员变量 103

7.3.1 成员变量 103

7.3.2 定义属性 103

7.3.3 属性的本质 103

7.4 定义模块 104

7.4.1 定义模块 104

7.4.2 访问作用域 105

7.4.3 Mix-in糅合 106

7.5.1 模块访问限制 107

7.5 模块方法 107

7.5.2 实例/模块方法的转换 108

7.6 别名和定义 111

7.6.1 alias 111

7.6.2 undef 113

7.6.3 defined? 114

7.7 访问控制 114

7.8 加载模块 116

7.8.1 require方法 116

7.8.2 load方法 117

7.8.3 include方法 117

7.8.4 extend方法 118

8.1 BEGIN和END块 120

8.1.1 BEGIN和END块 120

第8章 高级特性 120

8.1.2 at_exit方法 121

8.2 一般非限定输入 121

8.3 命名约定 122

8.4 动态语言特性 123

8.4.1 method_missing方法 123

8.4.2 duck typing特性 126

8.4.3 Proc对象 126

8.4.4 动态绑定 127

8.4.5 eval动态执行代码 128

8.5 垃圾收集器 130

第9章 正则表达式 131

9.1 正则表达式规则 132

9.1.1 普通字符 132

9.1.2 简单的转义字符 132

9.1.3 匹配多种字符的方法 133

9.1.4 修饰匹配次数的方法 134

9.1.5 匹配模式 134

9.1.6 边界修饰符 135

9.1.7 选择匹配和提取匹配结果 136

9.2 正则表达式高级规则 136

9.2.1 贪婪模式 136

9.2.2 非贪婪模式 136

9.2.3 反向引用 137

9.2.4 正向预搜索 137

9.2.5 反向预搜索 138

9.2.6 匹配但不提取 138

10.1.1 文件和文件对象 139

10.1 文件和管道 139

第10章 常用模块 139

10.1.2 打开标志 140

10.1.3 Input/Output 142

10.1.4 File∷Stat 142

10.1.5 管道 143

10.2 目录 144

10.2.1 一个简单的目录操作的例子 144

10.2.2 目录操作的常用方法 144

10.3 时间 145

10.3.1 时间和日期 145

10.3.2 时间操作的常用方法 146

10.4 线程 149

10.4.1 创建线程 149

10.4.3 线程的同步 150

10.4.2 线程的操作 150

10.5 Win32API 154

10.5.1 导入接口函数 154

10.5.2 Win32API的使用技巧 155

10.6 WIN32OLE 155

10.6.1 连接到自动化组件 156

10.6.2 取得自动化组件信息 156

10.6.3 IDispatch接口支持 158

第11章 分布式Ruby 161

11.1 概述 161

11.2 简单的DRb例程 162

11.3 对象的持久化(Marshal) 163

11.3.1 什么是持久化 163

11.3.2 Marshal技术 164

11.3.3 实现对象的序列化 166

11.4 DRb对象 167

11.4.1 DRb对象 167

11.4.2 参数的传递 167

11.4.3 复杂对象的传递 170

11.4.4 未知对象的传递 172

11.5 DRb安全 174

11.5.1 屏蔽Eval操作 174

11.5.2 访问控制列表 175

11.6 分布式应用示例 177

11.6.1 分布式开发背景 177

11.6.2 分布式集群原理 177

11.6.3 分布式应用框架 179

第12章 数据库DBI 184

12.1 DBI概述 184

12.2.1 安装DBI 186

12.2 安装DBI 186

12.2.2 配置选项 187

12.3 一个简单的DBI程序 188

12.3.1 安装MySQL数据库 188

12.3.2 创建数据库表 189

12.3.3 DBI程序示例 191

12.3.4 事务处理 194

12.4 DBI函数和异常 196

12.4.1 函数库 196

12.4.2 异常 198

12.5.1 测量执行时间 201

12.5.2 打印表格式结果集 201

12.5 DBI∷Utils 201

12.5.3 打印XML格式结果集 202

12.6 ADO技术 203

第13章 测试框架 206

13.1 什么是测试 206

13.2 测试的内容 206

13.3 Ruby测试框架 207

13.3.1 测试框架 207

13.3.2 测试流程 209

13.3.3 断言 213

13.3.4 测试原理 224

13.3.5 其他模块 226

13.4 Excel测试实战 226

13.4.1 Excel自动化函数 226

13.4.2 Excel测试例程 228

13.5 本章小结 236

第14章 Ruby/C扩展 237

14.1 Ruby调用DLL 237

14.2 用C编写扩展库 241

14.2.1 为什么要用C编写扩展库 241

14.2.2 创建MyExtending扩展库 242

14.2.3 编译Ruby扩展库 243

14.2.4 Ruby和C的数据传递 247

14.3 C程序调用Ruby脚本 249

14.4 扩展MFC程序的示例 250

14.4.1 程序功能介绍 250

14.4.2 程序执行原理 251

14.4.3 源码分析 252

15.1.1 GLUT平台 268

第15章 图形和图像 268

15.1 利用OpenGL编写特效 268

15.1.2 OpenGL框架 269

15.2 ImageMagick库 274

15.2.1 简介 275

15.2.2 安装ImageMagick 275

15.2.3 安装RMagick 277

15.2.4 效果演示和函数列表 277

第16章 Ruby的Web应用框架Rails 287

16.1 Rails简介 287

16.1.1 什么是Rails 287

16.1.2 支持Rails的Web服务器 288

16.1.3 Rails应用程序目录结构 288

16.1.5 Rails的成功因素 289

16.1.4 Rails的特点 289

16.1.6 Rails支持的数据库 290

16.2 Rails应用开发的基本步骤 291

16.3 基于IDE方式的开发步骤 292

16.3.1 安装RadRails 292

16.3.2 RadRails的基本配置 293

16.3.3 启动Web Server测试默认生成的Rails应用 296

16.3.4 创建Web控制器HelloWorld 297

16.3.5 为Web控制器HelloWorld添加sayhello动作 299

16.3.6 为sayhello动作添加相应的视图 299

16.3.7 测试完成的Rails应用 300

16.4 模型模块Active Record 300

16.4.1 自动映射 301

16.4.4 数据有效性规则 302

16.4.2 通过简单的元语言宏定义模型对象之间的关系 302

16.4.3 通过简单的元语言宏聚合模型对象 302

16.4.5 通过Acts函数把记录转换为列表或树 303

16.4.6 通过回调函数定制模型对象的生存周期 303

16.4.7 监视模型对象的生存周期 304

16.4.8 支持数据库级别和对象级别的事务 305

16.4.9 从共享的连接上获取数据库数据 305

16.4.10 Log4r和Logger的支持 306

16.5 Action Pack介绍 306

16.6 控制器类ActionController详解 306

16.6.1 Rails预处理 306

16.6.2 Rails的路由原理 307

16.7.1 ActionView中的模板文件 308

16.7.2 RHTML模板 308

16.7 视图类ActionView 308

16.7.3 RHTML辅助模块简介 309

16.7.4 RHTML辅助模板:格式辅助模块 309

16.7.5 RHTML辅助模板:链接URL辅助模块 310

16.7.6 RHTML辅助模板:分页辅助模块 310

16.7.7 RHTML辅助模板:表单元素操作辅助模块 311

16.7.8 RXML模板 312

16.7.9 RJS模板介绍 313

16.8 Rails Web应用请求原理实例分析 314

第17章 项目报告提交系统 316

17.1 开发环境搭建 316

17.1.1 安装Rails 316

17.1.2 安装MySQL Server 319

17.2.1 创建一个新的Rails Web应用程序 320

17.2 创建第一个Rails应用 320

17.1.3 安装MySQL Administrator客户端程序 320

17.2.2 测试这个新的Web Rails应用 321

17.2.3 创建数据库MyStatusReport 322

17.2.4 为Rails应用配置数据库连接信息 323

17.2.5 创建数据库表Projects 323

17.2.6 创建数据库表Projects的模型 325

17.2.7 创建Web控制器来处理Project的处理请求 326

17.2.8 测试Project的处理请求 327

17.2.9 创建数据库表Reports 329

17.2.10 创建数据库表Reports的模型 330

17.2.11 创建Web控制器来处理Report的处理请求 331

17.2.12 测试Report的处理请求 332

17.2.13 运行原理分析 334

17.3 完善这个Rails应用 337

17.3.1 修改表结构 337

17.2.14 处理乱码问题 337

17.3.2 编辑模型 338

17.3.3 编辑Project控制器重载默认方法 339

17.3.4 编辑Report控制器重载默认方法 339

17.3.5 编辑Project视图 340

17.3.6 编辑Report视图 340

17.4 测试运行 342

第18章 用Rails发送E-mail 344

18.1 功能分析 344

18.2 基于Rails的实现原理 345

18.3 基于Rails的代码实现 346

18.3.1 创建应用程序骨架 346

18.3.2 创建邮件发送器骨架 348

18.3.3 创建Web控制器骨架 349

18.3.4 编辑模型类Web_mail.rb 351

18.3.5 编辑Web控制类 353

18.3.6 编辑视图 355

18.3.7 测试运行 356

第19章 用Rails开发基于Ajax的应用 357

19.1 Ajax入门 357

19.1.1 Ajax的含义 357

19.1.2 传统的Web开发模式 358

19.1.3 基于Ajax的开发模式 359

19.1.4 Ajax中的关键技术 359

19.2 Rails对Ajax的支持 361

19.2.1 模块ActionView∷Helpers∷AssetTagHelper 362

19.2.2 模块ActionView∷Helpers∷PrototypeHelper 362

19.3.2 用Rails实现“Hello World”的Ajax版本 363

19.3.1 用Rails开发Ajax应用的基本步骤 363

19.3 用Rails开发Ajax应用 363

19.2.3 模块ActionView∷Helpers∷JavaScriptHelper 363

第20章 开发基于Ajax的聊天系统 365

20.1 功能分析和设计思路 365

20.1.1 功能分析 365

20.1.2 设计思路 366

20.2 设计数据库 367

20.2.1 用户数据 367

20.2.2 聊天室数据 367

20.2.3 聊天内容数据 368

20.2.4 聊天室在线用户数据 368

20.3.1 创建Rail Web应用项目 369

20.3.2 创建数据库和配置数据库连接 369

20.3 Rails开发步骤 369

20.2.5 整个数据库表设计ER图 369

20.3.3 创建模型类 370

20.3.4 设置模型类之间的关联 371

20.3.5 给模型类添加业务逻辑处理 372

20.3.6 创建Web控制器WebChat,同时创建相应的视图模板 374

20.3.7 修改控制器代码,添加逻辑处理并修改相应的视图模板 374

20.3.8 修改统一的视图布局模板 382

20.3.9 测试运行 383

第21章 用Rails开发留言簿系统 384

21.1 功能分析和设计思路 384

21.1.1 浏览留言簿 384

21.1.2 浏览留言 385

21.1.3 新建留言 385

21.1.4 管理员查看留言列表 385

21.1.6 管理员新建留言 386

21.1.5 管理员修改留言 386

21.1.7 设计思路 387

21.2 设计数据库 387

21.3 Rails开发步骤 388

21.3.1 创建Rail Web应用项目 388

21.3.2 创建数据库和配置数据库连接 388

21.3.3 创建模型类 389

21.3.4 给模型类添加业务逻辑处理 389

21.3.5 给模型类添加验证逻辑处理 389

21.3.6 创建普通用户访问Web控制器guestbook 391

21.3.7 定义普通用户请求页面统一布局 391

21.3.8 添加逻辑处理并修改相应的视图模板完成页面输出 392

21.3.10 定义管理员请求页面统一布局 396

21.3.9 创建管理员访问Web控制器guestbookadmin 396

21.3.11 加逻辑处理并修改相应的视图模板完成页面输出 397

21.3.12 测试运行 401

第22章 用Rails实现地图应用系统 402

22.1 功能介绍和原理分析 402

22.2 开发准备工作 403

22.2.1 创建Rails Web应用项目 403

22.2.2 安装YM4R包 404

22.2.3 申请和配置Google Maps API 404

22.3 创建Web控制器Gwebmap及视图模板 405

22.4 实现Google Map地图显示功能 406

22.4.1 修改控制器代码添加逻辑处理 406

22.4.2 修改相应的视图模板 406

22.5 实现交通显示功能 408

22.5.1 添加按地面查找功能 408

22.4.3 测试完成的地图 408

22.5.2 修改控制器代码添加逻辑处理 409

22.5.3 远程控制器动作调用过程分析 410

第23章 用Rails开发Web Service服务 412

23.1 Rails对Web Service的支持 412

23.1.1 定义Web Service API 412

23.1.2 协议请求的分配模式 413

23.1.3 自定义WSDL生成 415

23.1.4 ActionWebService和UTF-8编码 416

23.2 功能分析和设计思路 416

23.3 数据库设计 416

23.4 开发步骤详解 418

23.4.1 新建Rails应用BookService 418

23.4.2 通过Web Service生成器创建Web Service 418

23.4.3 配置数据库连接信息 420

23.4.4 通过模型生成器创建模型类Book 421

23.4.5 修改API定义类声明需要发布的方法 422

23.4.6 测试API定义类产生的WSDL文件是否正确 423

23.4.7 给API使用类添加业务逻辑完成API功能实现 423

23.4.8 通过Web Service客户端程序来验证服务器端API的实现 423

23.4.9 运行客户端验证Web Service API 426

附录 常用类函数应用参考 427

A.1 Numeric类 427

A.2 Float类 428

A.3 String类 430

A.4 Range类 444

A.5 Array类 445

A.6 Hash类 455

A.7 Regexp类 461