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