工作中碰到这样的问题,需要处理乘法法则排列组合后的每一种组合。具体说就是:用Hash表示一套组合,通过each_component把其中的每一种可能的组合抽出来,作为一个新的Hash,在block中使用。 改编成一个rubyquiz。要求:扩展Hash类,写一个each_component方法,让下面的代码可以运行出期望的结果来。 class Sneaker def initialize(attributes) @brand, @size, @store = attributes[:brand], attributes[:size], attributes[:store] ...
这是最重要的时间,也是了解未来的关键。这一事件的意义正如一万年前农业文明掀起了第一次浪潮,工业革命带来了惊天动地的第二次浪潮一样,我们是下一次浪潮变化“第三次浪潮”的子女。 ——阿尔文·托夫勒,《第三次浪潮》 人类社会用了一万多年时间才来到第三次浪潮的前线,而在软件行业的几十年历史中已经悄然完成前两次浪潮的更替,向第三次浪潮推进。 第一次浪潮的软件开发就好像农业文明中盖房子,一砖一瓦都要靠自己。开发者要考虑通风排水(底层技术),力学支撑(系统强壮性);砖瓦的平整契合(代码可读性); 进度的协调,什么时候装窗,什么时候上梁(开发流程管理);工程监理(QA)等等。 一套软件 ...
2008-03-13

ActiveScaffold.com.cn上线

关键字: rails activescaffold
ActiveScaffold帮了我们的大忙,所以也打算做点贡献。在http://activescaffold.com.cn上我们翻译了文档,做了中文化,和一些安装包。以后还打算在Blog中陆续分享我们的使用经验。 这是首页的第一段: 引用近100个表,1000多个页面,无数次迭代。在刚刚上线的这个项目中,我们完成了一个B/S的ERP系统。它具备了字段级别的权限设置,和各种表单、图表和报表,而只花费了6个人月。这要归功于这帮家伙开发的Rails插件──活动脚手架(ActiveScaffold),使我们的开发非常DRY。希望通过我们的分享,可以有更多的中文Rails开发者受益。 更多介绍请看我 ...
这两天在家工作,找到一个很舒服的角落,可以用窗台堆放资料,随手就能拿到。坐在躺椅上,laptop真的放在了lap上。一边吹着空调,一边晒着太阳干活,对喜欢悬梁刺骨的人来说可能太过安逸,而对我来说,很出效率。 由此有了Free Cubicle的想法。办公室装修,不要用统一的隔板,整齐划一的布线。只要在墙边地底铺上一些这种线型电源就可以了。然后每人发点儿钱,随便挑地方,随便买桌椅,随便自己装修。多爽。
开发中遇到奇怪的现象: > ruby script/console -s >> BigDecimal.new('3.0').to_f == 3.0 => false >> BigDecimal.new('3.0').to_i == 3 => true >> BigDecimal.new('3.0').to_s == '3.0' => true 虽然可以通过to_s绕过这个问题,但是这个现象百思不得其解。
2007-12-02

把BPM引向DDD?

关键字: DDD BPM
InfoQ上的《为什么Java开发者憎恨BPM?》一文最终引出了Peter Evans-Greenwood的一段话 引用规则和过程之间的分离只是技术所带来的一种人为结果,并不是我们希望它们如此。分离规则和过程引擎带来了庞大的花费(这是我们可以免除的)。 更富有成效的做法可能来自这个问题的反方向。让我们由上而下来调查人们是如何认识和处理业务逻辑的,然后创造出能够模仿我们的做法的工具和技术。 在Intalio还卖5000刀的时候,我们就开始使用它,试图最终覆盖所有公司的Business Process。但是结果就像文章中“另一位认为”的那样,专业人员不愿使用它们,而开发者对这种“方便的”定制 ...
  • 22:39
  • 浏览 (227)
  • 评论 (0)
2007-11-25

数据录入的环境

关键字: 低科技 environment
网站开发没有数据录入的问题。 如果是企业B/S软件,就会需要数据录入。比如,在开始使用之前,先把上个月发生的单据录入,以便获得统计数据,和趋势报表。 Rails有很好的timestamp机制,created_at和updated_at不用编辑,自动保存。而在数据录入的时候却需要制定这些值。 于是,似乎需要有两套界面,一套是录入时用的,需要填入created_at/updated_at。另一套是正常使用时用的,不需要填入created_at/updated_at。 首先想到的高科技方法是,专门为录入(population)创建一个新的环境(environment)。方法参考Add a E ...
2007-10-10

又爱又恨的Migration

关键字: migration 团队 协同
cyyan 写道1、两人分模块开发,两人生成的数据迁移文件各自从001开始编号,合在一起的时候如何处理? 2、如果碰到需要使用相同的数据表怎么办?是避免出现这种情况还是出现了有好的处理方式? 前两天一个关于hobo插件的帖子可以解决,他的思想是不要migration,把fields定义在model里,然后每次build的时候,根据model里fields的变化自动生成migration文件。这个功能还没有release,不太稳定。 它的英文原帖中有人回复提及DrySQL也是针对类似的问题。这是一个gem,扩展了ActiveRecord::Base,也是为了不要维护migration,更适合 ...
glchengang 写道 将近一年前,为一个网站平台技术选型。我思虑再三,决定抛弃已很熟悉的Java,而选择了自己才刚了解点皮毛的Rails。原因很简单---因为Rails简单,开发速度快,代码量少。在Rails世界里,已经不再需要复杂的继承关系,也没有了无聊的set/get模型方法,Java里的spring、struts、hibernate等等一套一套的东西都消于无形,设计模式?在Rails里好象从来就没出现过。就象一个绝世高手,Java那些眼花缭乱的拳脚套路,在Rails只是轻轻一挥手便化解无形。我很喜欢Rails,是的,很喜欢。 如今,打算去深圳过一个暖冬,于是想找个新东家。上网一搜 ...
2007-10-01

选择Rails动态创建工具

关键字: scaffold
Rails的Dynamic Builder最常用的有四种: * ActiveScaffold * Hobo * Streamlined * AutoAdmin 经过比较,选择了对security level支持到column level的ActiveScaffold.
cvu
搜索本博客
存档
最新评论