第1章 Ruby能为你做什么 1
1.1 Hello World程序 1
1.2 Ruby内幕 3
1.2.1对象漫谈:面向对象理论 3
1.2.2对象实战:Ruby的OO观点 5
1.2.3秘传技巧:读写方法省了很多事 8
1.2.4块和yield的奥妙 9
1.2.5包罗万象:关于类型的理性认识 11
1.3管理员专用药膏 13
第2章 常规任务的快速解决方案 15
2.1单行代码示例 15
2.1.1用Ruby进行grep匹配搜索 15
2.1.2处理注释 16
2.1.3运用行号 17
2.1.4与字段打交道 17
2.1.5巧妙的记录处理方法 18
2.1.6创建定制的目录列表 19
2.1.7定时监控命令执行情况 19
2.2更大型的单行代码示例 19
2.2.1翻转日志:定时执行的单行代码 20
2.2.2 Ruby跳板 20
2.3当“写得快”遇上“跑得快” 21
第3章 性能问题:实用主义观点 23
3.1脚本可以运行得更快 23
3.1.1数字游戏 24
3.1.2脚本vs标准二进制程序 25
3.2性能分析 27
3.2.1 UNIX的time命令 27
3.2.2 Benchmark性能基准库 27
3.2.3 Profiler性能优化分析库 29
3.3性能优化 31
3.3.1算法优化 32
3.3.2语句优化 33
3.3.3减轻副作用 35
3.3.4扔下C炸弹 38
3.4撞击瞬间速度 40
第4章 元编程的威力 41
4.1灵活的方法签名 42
4.1.1默认值 42
4.1.2散列表式参数 43
4.1.3对缺失方法的动态指派 45
4.2宏 46
4.2.1模块包含 46
4.2.2对象扩展 48
4.2.3领域专用语言(DSL) 50
4.2.4插件API:用来增加宏的宏 51
4.3沉重的元编程 52
第5章 用聪明的方法构建文件 54
5.1安全第一 54
5.1.1文件锁定 55
5.1.2安全的文件操作方法 60
5.2白纸黑字胜过空口无凭 62
5.2.1群策群力:程序驱动式创建文件 62
5.2.2电闪雷鸣:模板驱动式创建文件 66
5.3当直白文件不再满足需要 68
第6章 对象的存储和检索 69
6.1本地磁盘存储 69
6.1.1检视时间 69
6.1.2汇集思想 72
6.1.3 YAML不是标记语言 73
6.1.4评估其他备选方案的性能指标 75
6.2网络感知存储 76
6.2.1总体设计原则 77
6.2.2 memcached:天上有朵大散列 79
6.2.3数据库 82
6.2.4用ActiveRecord实现对象—关系映射 84
6.3与大家伙打交道 92
第7章 处理企业数据 94
7.1解析数据 94
7.1.1离别是如此甜蜜的忧伤:被界定符分隔的数据值 95
7.1.2 XML数据 99
7.2网络服务 111
7.2.1轻量级目录访问协议(LDAP) 111
7.2.2 XML远程方法调用(RPC) 116
7.2.3简单对象访问协议(SOAP) 119
7.2.4表示状态转换(REST) 122
7.3回归基础 126
第8章 有趣又有收益的联网 127
8.1基础网络I/O操作 127
8.1.1给我套接字 127
8.1.2套接字错误和异常 128
8.1.3定时监控:有目的的超时 129
8.1.4基于套接字的监控 131
8.2高级网络服务 132
8.2.1协议的羞耻 132
8.2.2构建Web机器人 133
8.2.3一起抛出服务器 137
8.3监视与控制 141
8.3.1用SSH获取命令 141
8.3.2网络数据包监控 143
8.4本章小结 145
第9章 网络监控 146
9.1收集数据 146
9.1.1简单网络管理协议(SNMP) 146
9.1.2安全外壳 151
9.2分析数据 153
9.2.1汇集数据 153
9.2.2事件解析 154
9.2.3事件过滤与赋值 155
9.2.4综合考虑 156
9.2.5聚集分析 157
9.3展示数据 159
9.3.1图表 159
9.3.2图 164
9.4璀璨耀眼的宝物 165
第10章Ruby的扩展:宝石在握 167
10.1 gem的管理与使用 167
10.1.1安装RubyGems 167
10.1.2 gem命令 168
10.1.3在代码中使用gem 172
10.1.4通过gem_server访问文档 174
10.2创建gem 174
10.2.1 gem到底是什么东西 174
10.2.2收集所需文件 175
10.2.3编写gem规格说明书 177
10.2.4构建gem 178
10.2.5发布gem 179
10.3满口宝石 180
第11章 测试与编写文档 181
11.1 Rake工具 181
11.1.1基本任务 181
11.1.2文件任务 182
11.1.3确保目录存在 183
11.1.4一般化规则 183
11.1.5任务合成 184
11.1.6编写文档的任务 186
11.2测试 186
11.2.1 Ruby的测试库 187
11.2.2执行测试 188
11.2.3测试支架 189
11.2.4测试包 189
11.2.5用Rake做测试 190
11.3编写文档 191
11.3.1自动编写文档 191
11.3.2基本注释 193
11.3.3头标记、分隔符和链接 194
11.3.4列表 195
11.3.5处理命令 195
11.3.6用Rake生成文档 196
11.4任务完成 196
第12章 Ruby的未来 198
12.1运行环境 198
12.1.1 YARV解释器 198
12.1.2 JRuby解释器 199
12.2语言方面的变化 199
12.2.1数组和散列表 199
12.2.2字符串 200
12.2.3 I/O操作 200
12.2.4块参数本地化 201
12.2.5数组拆解 201
12.2.6对象打拍子 202
12.2.7读-写属性 202
12.2.8 Enumerable类升级 202
12.3新的开始 203
附录 Ruby的执行方法 204