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

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

ActiveRecord并不能贯彻DRY原则,特别是当你的数据库没有遵循Rails命名传统时。同样,ActiveRecord的关联与校验也是对数据库约束的冗余定义。Bryan想(尽可能地)避免这种情况的发生,他不想对自己的数据库schema加以改动,因为那样会令他改变程序的代码。

在本文中,Ruby on Rails项目ActiveMessaging的负责人深入浅出地介绍了这个开源框架。通过ActiveMessaging可以很容易地在RoR应用中集成企业消息技术,另外ActiveMessaging还得到了软件技术领袖James Strachan和Jon Tirsen的热心支持。
Ruby的对象关系映射器DataMapper将要在近期发布里程碑式的1.0版本。这个消息是在RailsConf 2010上宣布的,而且Dirkjan Bussink也在这次大会上做了相关的演讲。
随着时间的推移,管理基于SQL的脚本简直成了梦魇。Rails则通过ActiveRecord Migration解决了这个问题。 Sam Livingston-Gray编写了一个独立的Ruby小工具,来生成层次化的迁移脚本。因为SQL脚本通常都比较繁复冗赘,因此Sam将SQL和Ruby相结合创建了SQrbL。
尽管JRuby on Rails没有ActiveRecord,但作为Merb下常用ORM的DataMapper,已经有了全新的适配器来应用在Google App Engine的DataStore之上。另外:Reggae正在开发中,Rack应用在GAE上的自动部署指日可待。
除了ActiveRecord外, Sequel提供了一个更为完整的Ruby工具包来处理数据库的操作。InfoQ有机会采访了Jeremy Evans,8个月前他代替Sharon Rosner作为Sequel项目的负责人。
本次数据库新闻汇总有,FiveRun最近开源的ActiveRecord数据分片插件DataFabric;如何用Postgres异步客户端API和Ruby 1.9的Fibers来加速Postgres数据访问。
很多人都认为好的DSL应该是类似于英语的。Dave Thomas强烈反对这种看法,他主张DSL的要点不在于尽可能接近自然语言,把接近自然语言作为设计DSL的主导原则是非常有害的。他还列举了他心目中的若干DSL设计的要点,并提供了一些例子来说明怎样才是成功的DSL。