Ruby on Rails敏捷开发最佳实践PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:李刚,郭秋霞编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2008
- ISBN:9787121055706
- 页数:671 页
第1篇 Ruby on Rails入门 2
第1章 Ruby on Rails和企业级应用开发 2
1.1 企业级应用简介 3
1.1.1 企业级应用简介 3
1.1.2 开发企业级应用面临的挑战 4
1.1.3 Java EE开发平台简介 5
1.1.4 .NET开发平台简介 7
1.1.5 Ruby on Rails开发平台简介 8
1.2 Ruby on Rails概述 9
1.2.1 什么是Ruby 9
1.2.2 什么是Rails 10
1.2.3 Ruby on Rails的发展现状 10
1.2.4 Ruby on Rails与现存企业级应用平台的对比 11
1.3 Ruby on Rails体系介绍 12
1.3.1 Ruby on Rails架构模型 12
1.3.2 富领域对象 14
1.3.3 持久层解决方案:ActiveRecord 15
1.3.4 控制器解决方案:ActionController 16
1.3.5 表现层技术:RHTML页面 17
1.4 搭建Ruby on Rails开发和运行环境 17
1.4.1 安装Ruby解释器 17
1.4.2 安装Rails 20
1.4.3 安装MySQL数据库 22
1.4.4 Ruby on Rails相关开发工具 25
1.5 本章小结 32
第2章 体验Ruby on Rails敏捷开发 33
2.1 创建第一个Web应用 34
2.1.1 生成Rails应用及启动应用 34
2.1.2 配置数据库 37
2.1.3 使用代码生成器生成支架 38
2.2 完善第一个Web应用 40
2.2.1 使用中文响应 40
2.2.2 改进用户注册 41
2.2.3 实现用户登录 45
2.3 应对新需求 49
2.3.1 添加Model 49
2.3.2 改进“浏览留言” 51
2.3.3 改进“新增留言” 53
2.3.4 改进“查看留言” 57
2.3.5 改进“删除留言” 58
2.4 本章小结 59
第2篇 Ruby基本语法 62
第3章 Ruby编程基础 62
3.1 Ruby代码基本格式 63
3.1.1 使用Ruby解释器 63
3.1.2 Ruby代码落脚点和程序入口 64
3.1.3 Ruby区分大小写 65
3.1.4 Ruby程序的注释 66
3.1.5 Ruby中的标识符 68
3.1.6 Ruby的垃圾回收 69
3.2 常量 69
3.2.1 Ruby是弱类型语言 69
3.2.2 普通常量 69
3.2.3 常量的范围 71
3.2.4 类名和模块名常量 73
3.3 变量及变量的作用域 74
3.3.1 变量的概念 74
3.3.2 局部变量 74
3.3.3 全局变量 77
3.3.4 实例变量 79
3.3.5 类变量 83
3.3.6 伪变量 85
3.4 基本数据类型 85
3.4.1 弱类型语言 86
3.4.2 数值型 86
3.4.3 字符串 89
3.4.4 字符串的%表示法 91
3.4.5 多行字符串的字面值 91
3.5 范围 94
3.6 正则表达式 97
3.6.1 正则表达式概述 97
3.6.2 创建正则表达式 97
3.6.3 匹配基本字符 99
3.6.4 重复 99
3.6.5 成组 100
3.7 数组 100
3.7.1 定义数组 100
3.7.2 数组的%表示方法 102
3.7.3 数组的常用方法 102
3.8 Hash对象 104
3.8.1 定义Hash对象 104
3.8.2 操作Hash对象 105
3.9 符号对象 107
3.10 运算符 109
3.10.1 算术运算符 110
3.10.2 赋值运算符 111
3.10.3 位运算符 111
3.10.4 比较运算符 113
3.10.5 逻辑运算符 114
3.10.6 三目运算符 116
3.10.7 Ruby运算符的含义 116
3.11 本章小结 117
第4章 表达式和语句 118
4.1 表达式 119
4.1.1 返回值的表达式 119
4.1.2 没有返回值的表达式 120
4.1.3 并行赋值 120
4.1.4 嵌套赋值 121
4.1.5 BEGIN和END块 121
4.1.6 at_exit块 122
4.2 顺序结构 123
4.3 分支结构 123
4.3.1 if表达式 123
4.3.2 if修饰句 127
4.3.3 unless表达式 127
4.3.4 unless修饰句 128
4.3.5 case表达式 129
4.4 循环结构 131
4.4.1 while表达式 131
4.4.2 while修饰句 133
4.4.3 until表达式 133
4.4.4 until修饰句 134
4.4.5 for...in表达式 135
4.4.6 loop表达式 137
4.4.7 使用迭代器 137
4.5 控制循环结构 138
4.5.1 使用break结束循环 138
4.5.2 使用next结束本次循环 139
4.5.3 使用redo重新开始循环 140
4.5.4 使用retry重启迭代器 141
4.5.5 使用return结束方法 142
4.6 深入迭代器和块 142
4.6.1 块的概述 143
4.6.2 使用块 143
4.6.3 实现迭代器 145
4.6.4 块和闭包 148
4.7 本章小结 150
第5章 面向对象(上) 151
5.1 面向对象的概念 152
5.1.1 面向过程 152
5.1.2 面向对象 153
5.2 类与对象 153
5.2.1 类定义 153
5.2.2 方法定义 155
5.2.3 对象的产生与使用 155
5.2.4 类和对象的关系 157
5.2.5 动态追加类定义 158
5.2.6 内部类定义 158
5.2.7 特殊类定义 159
5.3 构造器 161
5.4 类的继承 162
5.4.1 继承的特点和语法 162
5.4.2 调用父类构造器 165
5.4.3 覆盖父类的方法 166
5.5 深入方法 168
5.5.1 方法的定义 168
5.5.2 调用方法 170
5.5.3 方法的参数传递 171
5.5.4 使用Hash对象作为参数 174
5.5.5 可变长度形参的方法定义 175
5.5.6 使用数组参数 176
5.5.7 特殊方法 176
5.6 在方法中使用块 177
5.6.1 使用yield调用块 177
5.6.2 Proc参数 179
5.6.3 动态执行代码 181
5.7 本章小结 182
第6章 面向对象(下) 183
6.1 类方法 184
6.1.1 类方法的定义和使用 184
6.1.2 单例模式 187
6.1.3 定义method_missing方法 188
6.2 成员变量和属性 189
6.2.1 定义实例变量 189
6.2.2 定义类变量 191
6.2.3 定义属性 193
6.2.4 存取器 196
6.2.5 虚拟属性 198
6.3 弱类型语言的多态 198
6.3.1 为什么Ruby没有接口 198
6.3.2 鸭子类型和多态 199
6.4 访问控制 203
6.5 模块 206
6.5.1 定义模块 206
6.5.2 命名空间 207
6.5.3 混入 209
6.5.4 混入的深入讨论 211
6.5.5 导入其他文件 213
6.6 Ruby的命名习惯 214
6.7 关于定义的操作 214
6.7.1 使用alias为定义命名别名 214
6.7.2 使用undef释放定义 215
6.7.3 使用defined?判断是否完成定义 216
6.8 本章小结 217
第7章 异常处理 218
7.1 异常概述 219
7.1.1 了解异常 219
7.1.2 异常机制的优势 220
7.2 异常处理流程 221
7.2.1 使用rescue捕捉异常 222
7.2.2 异常处理机制 225
7.2.3 使用ensure回收资源 226
7.2.4 使用retry再次执行 227
7.3 rescue修饰句 228
7.4 引发异常 229
7.4.1 引发异常 229
7.4.2 自定义异常类 230
7.4.3 rescue和raise的同时使用 231
7.5 在程序定义中使用异常处理 232
7.5.1 在类/模块定义中使用异常处理 232
7.5.2 在方法定义中使用异常处理 235
7.6 本章小结 236
第8章 多线程 237
8.1 线程概述 238
8.1.1 线程和进程 238
8.1.2 多线程的优势 239
8.2 创建多线程 240
8.2.1 用Thread类创建线程 240
8.2.2 Ruby的线程运行方式 243
8.3 控制线程 243
8.3.1 join线程 244
8.3.2 控制线程的方法 245
8.3.3 线程状态 248
8.4 深入线程 249
8.4.1 线程和变量 249
8.4.2 线程和异常 252
8.5 多线程的同步 254
8.5.1 线程安全问题 254
8.5.2 使用Mutex实现互斥 256
8.5.3 使用Condition Variable实现同步 258
8.6 本章小结 260
第9章 输入/输出 261
9.1 基本输入/输出 262
9.1.1 基本输出 262
9.1.2 基本输入 265
9.2 IO类简介 267
9.3 文件访问 267
9.3.1 调用系统命令 267
9.3.2 打开/关闭文件 268
9.3.3 读文件 271
9.3.4 使用迭代读文件 274
9.3.5 写文件 275
9.3.6 追加文件 276
9.4 本章小结 276
第10章 网络编程 277
10.1 网络编程的基础知识 278
10.1.1 网络基础知识 278
10.1.2 IP地址和端口号 280
10.2 Ruby语言的网络编程支持 281
10.2.1 什么是Socket 281
10.2.2 Ruby的Socket支持 282
10.2.3 面向应用层的网络编程 283
10.3 基于TCP协议的网络编程 284
10.3.1 TCP协议基础 284
10.3.2 使用TCPSever创建TCP服务器端 285
10.3.3 使用TCPSocket创建TCP客户端 286
10.3.4 加入多线程 287
10.4 基于UDP协议的网络编程 289
10.4.1 UDP协议基础 289
10.4.2 使用UDPSocket发送数据 290
10.4.3 使用UDPSocket接收数据 291
10.5 面向应用的网络支持 292
10.6 本章小结 294
第3篇 Rails框架 296
第11章 Rails框架入门 296
11.1 Rails简介 297
11.1.1 Rails的优势和特点 297
11.1.2 Rails应用的目录结构 299
11.1.3 Rails的代码生成器 301
11.2 Rails的配置和约定 302
11.2.1 配置Rails的运行环境 302
11.2.2 Rails的命名约定 303
11.3 对象关系映射和活动记录集 304
11.3.1 ORM的概念和优势 304
11.3.2 活动记录集的概念和优势 305
11.4 活动记录集入门 305
11.4.1 活动记录集的基本映射 306
11.4.2 表对应类 307
11.4.3 列对应属性 310
11.4.4 访问属性 315
11.4.5 映射主键 317
11.4.6 映射复合属性 322
11.5 连接数据库 326
11.5.1 通过配置文件指定连接 327
11.5.2 通过代码指定连接 328
11.5.3 调用establish_connection方法指定数据库连接 330
11.6 本章小结 332
第12章 Rails的持久层解决方案 333
12.1 插入记录 334
12.1.1 调用new()方法和save()方法增加记录 334
12.1.2 调用create()方法增加记录 338
12.2 查询记录 341
12.2.1 强大的find()方法 341
12.2.2 根据主键查询 347
12.2.3 根据普通属性进行查询 349
12.2.4 使用find_by_sql进行查询 352
12.2.5 使用count或count_by_sql统计记录数 355
12.2.6 Rails所支持的运算符 357
12.3 更新记录 360
12.3.1 直接更新特定记录 360
12.3.2 使用update_attribute或update_attributes方法更新记录 361
12.3.3 使用update方法更新记录 363
12.3.4 使用update_all方法更新记录 366
12.4 删除记录 367
12.4.1 使用delete根据主键删除 367
12.4.2 使用delete_all根据条件子句删除 369
12.4.3 使用destroy根据主键删除 370
12.4.4 使用destroy_all根据条件子句删除 371
12.5 关联关系 372
12.5.1 数据库中表的关联关系 372
12.5.2 数据表中建立关联 374
12.5.3 一对一关联 376
12.5.4 一对多关联 382
12.5.5 多对多关联 387
12.6 深入关联关系 391
12.6.1 自关联 391
12.6.2 多重关联 394
12.7 继承关系 397
12.7.1 单表继承关系 397
12.7.2 多态关联 401
12.8 事务处理 405
12.9 模型校验 407
12.9.1 模型校验的概念 408
12.9.2 常用的模型校验器 410
12.9.3 校验失败后的处理 412
12.10 回调方法 417
12.11 本章小结 419
第13章 Rails的控制器解决方案 420
13.1 控制器入门 421
13.1.1 MVC简介 421
13.1.2 Rails应用的MVC 422
13.1.3 ApplicationController简介 424
13.1.4 过滤器 426
13.1.5 通过Filter设置中文响应 430
13.1.6 使用代码生成器创建控制器 432
13.2 处理用户请求 432
13.2.1 路由请求 432
13.2.2 指定URL规则 436
13.2.3 命名路由 437
13.2.4 处理无法识别的URL 438
13.2.5 调用模型方法 438
13.3 生成响应 442
13.3.1 提交数据给视图 442
13.3.2 重定向 451
13.3.3 使用二进制流响应 453
13.4 跟踪用户状态 455
13.4.1 Session和Cookie 455
13.4.2 操作Session 456
13.4.3 操作Cookie 459
13.5 本章小结 462
第14章 Rails的表现层解决方案 463
14.1 视图层解决方案 464
14.1.1 模板 464
14.1.2 RHTML模板 466
14.1.3 RXML模板 469
14.1.4 RJS模板 471
14.2 常用的工具方法 473
14.2.1 基本工具方法 473
14.2.2 格式化输出方法 476
14.2.3 链接工具方法 479
14.2.4 控制分页方法 482
14.3 表单相关的工具方法 485
14.3.1 基本表单工具方法 485
14.3.2 高级表单工具方法 487
14.3.3 时间/日期列表框 490
14.3.4 文件上传 492
14.4 重构模板 499
14.4.1 使用Layout页面装饰 499
14.4.2 使用局部模板 504
14.4.3 使用Helper 506
14.4.4 使用组件 508
14.4.5 使用缓存 511
14.5 本章小结 515
第15章 Rails的邮件抽象层 516
15.1 电子邮件简介 517
15.1.1 SMTP协议简介 517
15.1.2 POP3协议简介 517
15.1.3 电子邮件的用处 518
15.2 Ruby的邮件支持 518
15.2.1 使用SMTP发送邮件 519
15.2.2 使用POP3接收邮件 521
15.3 Rails提供的邮件支持 523
15.3.1 Rails邮件支持核心 523
15.3.2 在Rails应用中发送邮件 526
15.3.3 发送HTML格式邮件 531
15.3.4 发送带附件的邮件 532
15.4 注册激活系统 533
15.4.1 基本注册功能 534
15.4.2 发送激活邮件 536
15.4.3 处理激活 537
15.4.4 处理登录 538
15.5 本章小结 539
第16章 Rails和Ajax 540
16.1 Ajax入门 541
16.1.1 Ajax的含义简介 541
16.1.2 传统的B/S结构应用的缺点 542
16.1.3 Ajax的革命性进步 542
16.1.4 Ajax的关键技术 544
16.2 简单Ajax体验 546
16.2.1 Ajax流程 546
16.2.2 创建XMLHttpRequest对象 547
16.2.3 实现Ajax交互 547
16.3 Rajls的Ajax支持 550
16.4 Ajax核心模块:PrototypeHelper 552
16.4.1 使用link_to_remote发送异步请求 552
16.4.2 使用form_remote_tag异步提交表单 557
16.4.3 使用submit_to_remote异步提交表单 560
16.4.4 使用periodically_call_remote周期性发送异步请求 561
16.4.5 使用evaluate_remote_response执行远程JavaScript脚本 563
16.4.6 使用observe_field监测某个表单域 564
16.4.7 使用auto_complete_field实现自动完成 566
16.4.8 使用text_field_with_auto_complete生成自动完成文本框 569
16.4.9 使用auto_complete_result生成自动完成响应 570
16.4.10 使用remote_function自定义请求的发送时机 572
16.5 Ajax的效果模块:ScriptaculousHelper 573
16.5.1 拖动效果 573
16.5.2 使用sortable_element排列列表项 577
16.5.3 视觉效果 578
16.6 本章小结 580
第4篇 实例篇 582
第17章 在线考试系统 582
17.1 应用背景和需求分析 583
17.1.1 系统应用背景 583
17.1.2 系统需求分析 584
17.1.3 系统ER图及数据库设计 585
17.2 试题数据管理的实现 587
17.2.1 系统的中文化 588
17.2.2 页面装饰 590
17.2.3 添加考试类型 592
17.2.4 浏览全部试题 594
17.2.5 添加试题 597
17.3 考生数据管理的实现 600
17.3.1 浏览全部考生 600
17.3.2 删除考生 602
17.3.3 添加考生数据 603
17.4 考生前台考试的实现 606
17.4.1 考生登录 606
17.4.2 选择考试类型和进入考试 610
17.4.3 提交试题答案 616
17.4.4 显示考试结果 618
17.5 本章小结 619
第18章 电子拍卖系统 620
18.1 应用背景及系统设计 621
18.1.1 系统应用背景 621
18.1.2 系统需求分析 622
18.1.3 系统用例图 623
18.1.4 系统实体及其关联关系 625
18.1.5 数据库设计 626
18.2 用户模块 628
18.2.1 用户注册 629
18.2.2 用户登录 632
18.2.3 用户退出 636
18.3 管理拍卖物品模块 637
18.3.1 添加新物品 637
18.3.2 查看物品 643
18.3.3 编辑物品 647
18.4 拍卖模块 650
18.4.1 浏览所有拍卖物品 650
18.4.2 查看物品详细信息 657
18.4.3 竞价 661
18.5 用户状态模块 664
18.5.1 查看竞标 665
18.5.2 查看赢取物品 667
18.6 页面装饰 669
18.7 本章小结 671
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《学校特色教育探索与实践》管升起著 2019
- 《麦肯锡精英这样实践基本功》(日)户塚隆将著 2019
- 《财经新闻翻译实践教程》胡婉,黄剑,王旭泉主编 2019
- 《城市基坑工程设计施工实践与应用》李欢秋,刘飞,郭进军编著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017