
从简单到复杂:大型Rails与VoIP系统架构与部署实践
复杂的系统最初都是从简单开始的。本篇是Idapted团队关于Rails系统重构、测试与部署系列文章的最后一篇。在此与大家分享一下Idapted在系统部署与维护方面的一些经验,可以一窥大型Rails与VoIP系统是如何一步一步演进和完善的。

复杂的系统最初都是从简单开始的。本篇是Idapted团队关于Rails系统重构、测试与部署系列文章的最后一篇。在此与大家分享一下Idapted在系统部署与维护方面的一些经验,可以一窥大型Rails与VoIP系统是如何一步一步演进和完善的。
Ruby on Rails组宣布Rails 3.2的首个发布候选版。新特性包括更快的开发模式,数据库查询的explain特性和一些较小的特性。3.2之后,Rails的下一个主要发布将会是4.0,并且放弃支持Ruby 1.8.7。
在国内,虽然大部分团队还因为某些原因选择了PHP与Java来进行开发,但在创业团队和个人开发者的圈子里Ruby的增长势头却是非常明显的。为了让第三方开发者更方便地接入人人网,计划FM团队为其编译了一个Ruby版本的SDK,并将该SDK开源。

在笔者开发的系统中,有大量的数据需要分析,不仅要求数据分析准确,而且对速度也有一定的要求的。没有写测试代码之前,笔者用几个很大的方法来实现这种需求。结果可想而知,代码繁杂,维护困难,难于扩展。借业务调整的机会,笔者痛定思痛,决定从测试代码做起,并随着不断地学习和应用,慢慢体会到测试代码的好处。本文忠实的记录了在这个过程中所获得的经验,介绍了如何进行高效的Rails单元测试。

本文介绍了一种Rails系统重构方案,将复杂的Rails单一系统拆分成相互协作的多个轻量级应用集群,从根本上解决Rails系统在处理复杂的业务时代码臃肿、开发效率降低、难以维护与部署等问题。

Rails框架对迭代式的增量开发可以进行很好地支持,而迭代式的增量开发也正是敏捷开发的核心之一,这也是Rails框架被称为敏捷开发框架的主要原因。作为国内Ruby on Rails技术的先行者,蔡望勤在RoR开发方面有着多年的积累,本次演讲他将和与会者分享如何使用Ruby on Rails框架,敏捷地进行Web开发。

在本演讲中,作者介绍了各种Rails最佳实践,主要包括:什么是好的代码、把代码从Controller移到Model去,以及RESTful、Model、Controller、View中的多种技巧。本视频录制于去年10月份的Kungfurails大会。
Scott Chacon谈到GitHub所采用的若干技术(如Erlang和Redis)、Git作为版本控制及存储工具的优势,以及他自己编写的基于JS的幻灯播放工具ShowOff。
本采访由宋玮翻译、马国耀审校。
Yehuda Katz谈论了Rail 3.0是如何被社区所接受的,Rails 3.0与其他相似框架的区别之处,有不同Ruby实现的影响,以及Rails 3.1将带来什么新特性。
本采访由丁雪丰翻译。