Archive for June, 2008

GMT+8 != GMT 0

写了个test case,主要是匹配两个文档是否相同的,在我机子(Windows)上跑一点问题都没有,想本来也就很简单明了的东东,没过多纠结,直接传到服务器(Linux)上。结果,在服务器上,这个test case老是不过。一开始以为是Windows和Linux之间格式的问题,用UltraEdit转换成Unix格式后再传到服务器上,还是不行。

只好跑到Ant对test case生成的文件夹下看标准输出,这才恍然大悟,两个文档中有个字段是时间类型,而这个类型是和时区相关的,我给的文档是GMT+8的,而服务器在GMT,所以就在这个字段上,怎么样都匹配不起来。想想这种问题可以放到Programming Pearls里面做书后习题了。

思维定势来改Bug,害人不浅。

在Drool里用Java实现业务逻辑,搞什么搞 0

副标题是,我个人不推荐,Jboss的开发人员在文档中也不推荐。Java在rule文件里应该是写Utility用的。

本文不谈rule的大方向,什么将逻辑从Java代码里分离出来,利用更加方便的语言来描述规则等等。

写rule最立竿见影的效果就是将Java里面讨厌的一长串if-else语句用比较简洁的rule语言表示。

如果在rule文件里用Java实现业务逻辑,那用rule engine又有什么意义呢?
Java可以直接在JVM上跑,没必要用rule engine来做Proxy。而且,Java函数对rule engine来说是难以优化的,官网上说无法对其做索引,当滥用eval操作去调用Java函数时,rule engine的性能会受到很大的影响。Rule文件里就应该写纯粹的rule语法,要用Java实现业务逻辑的话,就把Java放到Java文件里;不然就变成了四不像,既没有很好的利用rule engine的优化功能,又丧失了在项目中使用rule engine的意义。

Java在rule文件中就是写Utility的,打印下log啊,对变量做下处理什么的,而不是用来判断逻辑的。其实更好的方法是rule文件中一点Java函数的身影都不要用,专门搞一个Utility的类给rule文件用。两全其美,相得益彰,看的也爽。各种语言各个项目各施其职,社会才会和谐嘛!

5月影片 0

1. 《Marriage is a crazy thing》

很久没有看韩剧了,偶尔看一下,还是蛮感人的。严正花真不错,可是看完一查,哇塞,原来是71年生的美女~~

2. 《A soldier’s girl》

讲述的是一个真实故事,或许这辈子很多人,很多很多人,都无法有这样的感受。这个爱情故事的结局是可悲的,但是也有可喜的一面,毕竟女主角最后过得还不错。但愿世上真心相爱的男男女女都能终成眷属。

3. 《Wall Street》

华尔街黑幕,干,其实就是一帮有钱有势的人联合起来赚钱的故事。到最后某人良心发现,把整个内幕暴给相关法律部门。也是根据真实人物改编的,感觉还不错,蛮新奇的。里面的坏人说:“The most valuable commodity is information”…