Andy Oram
Andy Oram是O'Reilly Media的编辑。他从1992年开始就在这家公司工作,Andy目前主要关注自由软件和开源技术。他在O'Reilly的工作成果包括第一批Linux系列丛书以及2001年的P2P系列丛书。他的编程技术和系统管理技术大多都是自学的。Andy还是Computer Professionals for Social Responsibility协会的成员并且经常在O'Reilly Network(http://oreillynet.com)和其他一些刊物上撰写文章,这些文章的主题包括互联网上的政策问题,以及影响技术创新的潮流及其对社会的影响。他的网址为http://www.praxagora.com/andyo。
Greg Wilson
Greg Wilson在爱丁堡大学获得了计算机科学博士学位,他的研究领域包括高性能科学计算,数据虚拟化以及计算机安全。他现在是多伦多大学计算机科学系的一位副教授,并且是《Dr. Dobb's Journal》杂志的特约编辑。
序
前言
第1章 正则表达式匹配器
编程实践
实现
讨论
其他的方法
构建
小结
第2章 Subversion中的增量编辑器:
灵活的接口
版本控制与目录树的转换
表达目录树的差异
增量编辑器接口
但这是艺术吗
像体育比赛一样抽象
结论
第3章 我编写过的最漂亮的代码
我编写过的最漂亮代码
事倍功半
观点
本章的中心思想是什么?
结论
致谢
第4章 查找
耗时
问题:数据
问题:时间,人物,以及对象
大规模尺度的搜索
结论
第5章 正确、优美、迅速(按重要性排序):
从设计XML验证器中学到的经验
XML验证器的作用
问题所在
版本1:简单的实现
版本2:模拟BNF语法 —— 复杂度O(N)
版本3:第一个复杂度O(log N)的优化
版本4:第二次优化:避免重复验证
版本5:第三次优化:复杂度 O(1)
版本 6:第四次优化:缓存
从故事中学到的
第6章 集成测试框架:脆弱之美
三个类搞定一个验收测试框架
框架设计的挑战
开放式框架
一个HTML解析器可以简单到什么程度?
结论
第7章 漂亮的测试
讨厌的二分查找
JUnit简介
将二分查找进行到底
结论
第8章 图像处理中的即时代码生成
第9章 自顶向下的运算符优先级
JavaScript
符号表
语素
优先级
表达式
中置运算符
前置运作符
赋值运算符
常数
Scope
语句
函数
数组和对象字面量
要做和要思考的事
第10章 寻求快速的种群计数
基本方法
分治法
其他方法
两个字种群计数的和与差
两个字的种群计数比较
数组中的1位种群计数
应用
第11章 安全通信:自由的技术
项目启动之前
剖析安全通信的复杂性
可用性是关键要素
基础
测试集
功能原型
清理,插入,继续……
在喜马拉雅山的开发工作
看不到的改动
速度确实重要
人权中的通信隐私
程序员与文明
第12章 在BioPerl里培育漂亮代码
BioPerl和Bio::Graphics模块
Bio::Graphics的设计流程
扩展Bio::Graphics
结束语和教训
第13章 基因排序器的设计
基因排序器的用户界面
通过Web跟用户保持对话
多态的威力
滤除无关的基因
大规模美丽代码理论
结论
第14章 优雅代码随硬件发展的演化
计算机体系结构对矩阵算法的影响
一种基于分解的方法
一个简单版本
LINPACK库中的DGEFA子程序
LAPACK DGETRF
递归LU
ScaLAPACK PDGETRF
针对多核系统的多线程设计
误差分析与操作计数浅析
未来的研究方向
进一步阅读
第15章 漂亮的设计会给你带来长远的益处
对于漂亮代码的个人看法
对于CERN库的介绍
外在美(Outer Beauty)
内在美(Inner Beauty)
结论
第16章 Linux内核驱动模型:协作的好处
简单的开始
进一步简化
扩展到上千台设备
小对象的松散结合
第17章 额外的间接层
从直接代码操作到通过函数指针操作
从函数参数到参数指针
从文件系统到文件系统层
从代码到DSL(Domain-Specific Language)
复用与分离
分层是永恒之道吗
第18章 Python的字典类:如何打造全能战士
字典类的内部实现
特殊调校
冲突处理
调整大小
迭代和动态变化
结论
致谢
第19章 NumPy中的多维迭代器
N维数组操作中的关键挑战
N维数组的内存模型
NumPy迭代器的起源
迭代器的设计
迭代器的接口
迭代器的使用
结束语
第20章 NASA火星漫步者任务中的高可靠企业系统
任务与CIP
任务需求
系统架构
案例分析:流服务
可靠性
稳定性
结束语
第21章 ERP5:最大可适性的设计
ERP的总体目标
ERP5
Zope基础平台
ERP5 Project中的概念
编码实现ERP5 Project
结束语
第22章 一匙污水
第23章 MapReduce分布式编程
激动人心的示例
MapReduce编程模型
其他MapReduce示例
分布式MapReduce的一种实现
模型扩展
结论
进阶阅读
致谢
附录:单词计数解决方案
第24章 美丽的并发
一个简单的例子:银行账户
软件事务内存
圣诞老人问题
对Haskell的一些思考
结论
致谢
第25章 句法抽象:syntax-case 展开器
Syntax-case简介
展开算法
结论
第26章 节省劳动的架构:一个面向对象的
网络化软件框架
示例程序:日志服务
日志服务器框架的面向对象设计
实现串行化日志服务器
实现并行日志服务器
结论
第27章 以REST方式集成业务伙伴
项目背景
把服务开放给外部客户
使用工厂模式转发服务
用电子商务协议来交换数据
结束语
第28章 漂亮的调试
对调试器进行调试
系统化的过程
关于查找的问题
自动找出故障起因
增量调试
最小化输入
查找缺陷
原型问题
结束语
致谢
进一步阅读
第29章 代码如散文
第30章 当你与世界的联系只有一个按钮时
基本的设计模型
输入界面
用户界面的效率
下载
未来的发展方向
第31章 Emacspeak:全功能音频桌面
产生语音输出
对于在线信息的简单访问
小结
结束语
致谢
第32章 变动的代码
像书本一样
功能相似的代码在外观上也保持相似
缩进带来的危险
浏览代码
我们使用的工具
DiffMerge的曲折历史
结束语
致谢
进一步阅读
第33章 为《The Book》编写程序
没有捷径
给Lisp初学者的提示
三点共线
不可靠的斜率
三角不等性
河道弯曲模型
“Duh!”——我的意思是“Aha!”
结束语
进一步阅读
后记
作者简介
《应用组合数学(第5版)》讲解了离散数学问题求解中组合推理和组合建模的方法、思维和运用。主要涉及图论基本概念、覆盖和图着色、
《CSSWeb站点设计手册》针对初、中级读者,特别是针对入门级读者。书中包含了经过精心筛选的学习CSS必须要了解和掌握的所有内容。
《春天在心里歌唱》内容简介:本书精选了四十多篇世界上最具代表性的散文,所选篇目皆出自于名家,语言优美,意义深邃,堪称人类文
jQuerysimplifiesbuildingrich,interactivewebfrontends.GettingstartedwiththisJavaS...
《电子商务英语教程》内容简介:本书选材广泛,覆盖了电子商务的类型、电子商务解决方案、B2B、B2C、在线销售、电子商务网站建设与
《信息论:基础理论与应用》(第2版)系统地论述了香农信息论基本理论及某些应用问题,基本覆盖了信息论的各个方面的内容。内容包括
作者简介:TrevorvanGorp作为加拿大首屈一指的用户体验公司nForm的创始人和董事长,Trevor是一位值得信任的情感设计用户体验顾问
[内容简介]※ 一本在20世纪40年代首次出版的图书,对现今身处数字网络时代的我们而言,为何还如此重要?因为,它回答了一个当下依
MATLAB R2016a智能计算25个案例分析 本书特色 本书以MATLAB R2016a为平台,从实用的角度出发,介绍智能计算的方法,并在讲解各实现方法中给...
电脑实用技巧大全 内容简介 本书针对电脑新手的学习需求,从零起步,详细讲解了新手学习电脑需要熟知和掌握的大量实用操作技巧。全书共分为三大篇,其中:**篇(1~2...
数据库系统原理教程国家精品课程教材 内容简介 由王珊、陈红编著的《数据库系统原理教程(国家精品课程教材)》系统、完整地讲述了当前数据库技术的基本原理和应用实践。...
《社群众筹:传统众筹模式的升级与重构》内容简介:本书从目前众筹发展面临的困境出发,提出了众筹问题的解决之道——社群众筹,并
“设计师能否满足房主的需求,设计出好住有好看的家?”“如何运用家居设计,让日常生活更方便?”“照片里那种好看的家,真的可
《LinuxUnix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中
《数据产品经理宝典》内容简介:“数据”两个字越来越频繁地出现在大家的工作中。一方面,“用数据说话”成为每个互联网从业者必备
《上学谣》内容简介:壮乡少年火龙从小无母,父亲在矿难中去世,奶奶水仙阿嬷以壮族传说比喻其身世,族亲坚守秘密,政府出资相助,
这本书全面阐述了专业主页设计的原则,并以50个著名网站主页为例,生动地讲解了遵循这些原则所带来的好处或违背这些原则所产生的
淘宝天猫网店设计从入门到精通-店铺装修.广告海报.修图修片.架构布局.配色应用.设计模版 本书特色 《淘宝天猫网店设计从入门到精通 店铺装修+广告海报+修图修片...
《用生活常识学懂成本会计(第2版)》内容简介:成本会计烦琐、复杂、抽象,让很多学会计的人员一头雾水。本书采用通俗易懂的语言、
本书的构思和写作是在20世纪50年代后期,那一时期曾经被人们称为喷气机时代、清洁剂时代、第二次工业革命时期,等等。在那个阶段