2011-02-10 21:00:00
Narf是一个轻量级的Ruby微测试框架,旨在为单个Ruby方法提供快速测试。它通过一个简单的`assert`方法实现,可以输出测试结果。例如,通过编写测试用例来验证方法`count_rubies`是否能正确统计单词"ruby"在字符串中出现的次数。Narf的使用使得开发者能够以测试驱动开发(TDD)或行为驱动开发(BDD)的方式,对单个方法进行全面的测试。
2011-02-10 21:00:00
Narf是一个轻量级的Ruby微测试框架,旨在为单个Ruby方法提供快速测试。它通过一个简单的`assert`方法实现,可以输出测试结果。例如,通过编写测试用例来验证方法`count_rubies`是否能正确统计单词"ruby"在字符串中出现的次数。Narf的使用使得开发者能够以测试驱动开发(TDD)或行为驱动开发(BDD)的方式,对单个方法进行全面的测试。
2011-02-09 22:34:00
Chrome的沙箱机制在保护网站间隔离方面存在局限性,尤其是在HTTP cookies的使用下。文章探讨了当Chrome渲染器进程存在漏洞时,恶意网站如何通过cookies和frames获取用户登录信息。为了减轻风险,用户可以通过创建多个浏览器配置文件或使用web-keys代替cookies来提高安全性。文章还指出,浏览器中的其他功能,如LocalFileSystem,也可能因类似原因导致安全问题。最终,用户和网站开发者需要了解浏览器功能的实现细节,以评估其安全性。
2011-02-08 20:06:50
`reptyr` 是一款可以将正在运行的终端进程移植到新终端的工具。它通过使用 `ptrace(2)` 和 `dup2(2)` 技术实现这一功能,并具有改变目标进程控制终端的特殊特性。文章详细解释了 UNIX 操作系统中进程的会话和进程组概念,以及如何通过 `setsid(2)` 和 `setpgid(2)` 系统调用改变进程组 ID,使目标进程成为会话领导者,从而能够设置控制终端。这种方法并非原创,但作者独立发现了这一技巧,并对其进行了深入探讨。
2011-02-08 02:21:15
文章探讨了项目开发生命周期中不同方法的对比,特别是瀑布模型、增量开发和敏捷开发。作者指出,将敏捷开发用瀑布模型术语描述显得混乱,而将瀑布模型用敏捷术语描述则显得荒谬。作者认为,这两种方法在思维方式上存在根本差异,就像牛顿物理学与量子物理学之间的差异一样。文章最后提出,可能存在介于两者之间的方法。
2011-02-06 22:00:00
在开发Android应用时,即使应用不打算发布到官方市场,也需要实现更新机制,以便发布修复升级或添加新功能。Android应用有两个版本号:版本代码和版本名称,其中版本代码用于比较新旧版本。文章介绍了如何通过编程读取版本代码,并实现一个简单的更新策略:在远程服务器上部署新版本,应用通过后台服务定期检查更新,并通知用户下载新版本。文章还提到可以使用Dropbox等云服务来托管新版本文件。
2011-02-06 21:00:00
使用Firefly URL短链服务在Twitter for iPhone上,只需在iPhone的Twitter应用中设置自定义URL短链服务。首先,在Heroku上创建Firefly实例,然后在Twitter应用中进入“设置”>“服务”>“URL缩短”,选择“自定义”,输入你的域名和API密钥,点击“保存”。这样,Twitter for iPhone将自动使用Firefly来缩短链接。