Jim Weirich在各种技术会议上做过大量精彩的演讲,主题涵盖Ruby、函数式编程、敏捷开发等方面,下面收集了其中一些演讲的演示文档,和大家分享一下:
- 关于线程,Rubist应该知道的
在主流编程语言里编写线程安全代码的困难之处,一些非主流语言是如何处理这些问题的。 - 每个程序员都应该读两遍以上的10篇论文
Michael Feather向程序员推荐的10篇经典论文,这里是Weirich做的10个5分钟闪电演讲,每次介绍其中的1篇论文。 - 源代码控制系统
一步一步自制一个分布式的源代码控制系统,通过这样的方式熟悉分布式源代码控制的原理。 - 编写良好的Ruby模块代码
包括如何给开放类安全地添加方法、避免命名冲突、使用send
、安全地使用method_missing
、安全地连锁方法、定制require
行为等主题。 - 括号会说话
SICP心得。 - 面向无限
异想天开,大胆地追寻领先时代的想法。 - SOLID Ruby
如何在Ruby编码中应用Bob Martin的SOLID设计原则。 - Ruby 礼仪
Ruby程序员的礼仪:元编程技术、钩子方法的实现、方法别名等等。 - 你对测试满意么
应该如何改进测试的方式?测试不仅声明软件是如何实现的,而且应该抓住软件应该如何工作的实质。尽管代码示例用了Ruby,但是这里涉及的很多测试原则对其他语言也适用。 - 如何编写健壮的Ruby程序
介绍有助于改善软件、编写可靠代码的开发工具、技术和实践。 - 检视connascence
connascence 可以大致地衡量系统的耦合度。如果connascence度过高,那么系统将难以修改和维护。 - Rake起步
关于Rake的基本信息。 - 强大的Rake
高级Rake技巧。 - Y-Not
通过Y组合子了解函数式编程的原理。 - 使用Given/When/Then更好地测试
介绍RSpec-Given。 - Event vs Cell
比较了Ruby并发编程的两种方式:Evented和Actor。 - Kata及其分析
现场编程(kata),同时分析了编码过程中所作的一些决定。 - 飞翔的机器人
Parrot AR Drone飞行机器人可以通过智能手机在WiFi环境下控制,网络协议是公开的。所以编写Ruby代码来控制。 - 敏捷开发实践
简要介绍核心的敏捷开发实践。
此外,我们以前介绍过Weirich的一些开源项目:
- rake 重新发明make
- rspec-given 助你写出干净漂亮的测试
- Builder 用Ruby创建XML
- Dim 极简Ruby依赖注入框架
- FlexMock Ruby单元测试mock库
- Sorcerer 基于抽象语法树生成Ruby代码
- TExp Ruby临时表达式模块
- Rava 助Java程序员尽快适应Ruby
- Ruby re模块: 复杂正则表达式化整为零