- 浏览: 193872 次
- 性别:
- 来自: 北京
最新评论
-
bzhao:
开启了一个很牛逼的话题!
提高程序员的准入门槛? -
迷人阳光love:
不知两年多了,lz整理的从问题出发的模式是否还在??很是渴望得 ...
学习模式,不如先了解问题 -
迷人阳光love:
lz说到了我的心坎里,这是您10年发的文章,现在 也没找到一个 ...
学习模式,不如先了解问题 -
toafu:
我的理解是,持续集成和交付也解决不了人的问题。
为什么我的敏捷项目有如此多的问题? -
liaofeng_xiao:
《不可承受的生命之轻》 ,真没看出太多内容~
近期看的书和电影
文章列表
OK,敏捷哈。不争论什么是敏捷。我们来看一些现象,然后你来告诉我,你有没有遇到过这些问题。
没人提真正的Feedback
每个迭代结束之后,我都会做Showcase。但是从Showcase上收集到最多的,就是UI的问题,字体太小之类的。每 ...
效仿敏捷宣言,有人也搞了一个软件工艺(Craftsmanship)宣言。在标题的下面是一行小字,提高准入门槛(Raising the bar)。
UncleBob就这个Topic在世界各地发表演讲。他曾经把程序员与医生做比较:既然程序员与医生一样都是提供职业服务(Professional Service),那么他们就应该遵守类似的行为准则。医生在做手术之前需要洗手洗三遍以防止病人被细菌感染,而且需要用特殊的方式内搓三下外搓三下。假如病人说,我不希望你洗手。医生会拒绝这样的要求,因为这是他们的职业准则。程序员给代码做整理,不屈服于客户(在医生例子就是病人)的不合理的时间要求,因为程序员相比客户来 ...
原话是“Continuous Deployment is the holy grail”。在听到的这句话的时候,我的灯泡突然被点亮了。说得实在是太对了。有一句老话是“纲举目张”。意思是提起渔网上总绳,一个个网眼就会被张开。我们的很多实践,就像这渔网上的 ...
企业定制软件开发不是计算机科学,需要解决的不是编译原理也不是组合数学。那么,企业定制软件开发的核心问题是什么?
越来越感觉到,从事一个领域不需要有特别深刻的理解,但起码要知道做这个领域的事情,需要解 ...
从设计模式开始,已经有很多人尝试总结了各方个面的很多模式。不管是写的人多,读的人也多。甚至考的人也多。数年前去IBM面试实习生,Mentor问我的问题就是知道什么是Visitor模式不。但是模式为什么出现,这些牛人为什么花 ...
最近在读James Coplien的组织模式。觉得最有意思的还是这张图。
最近公司级别组织了一次Open Discussion,总结来总结去,问题都是“沟通问题”,根源呢就是“价值观”。项目级别也做过好多次Retrospective,也是那句老话“沟通问题 ...
http://dreamhead.blogbus.com/logs/57388446.html
那么我们经常说要重构,那么凭什么呢?有什么指标可以说明必须要重构了呢?Bad smell吗?那么Bad smell是不是某种度量呢?重构完成之后,你说质量变好了。那么又有什么根据呢?我觉得发现软件的Internal Quality。然后基于Evidence去做判断是非常重要的。只是度量Internal Quality的指标我们还没有找到,而且即便找到了也不是只抓几个数字,因为数字的造假是非常容易的。
目前我比较倾向于从依赖和耦合的角度看待质量问题。如果能够从包的依赖得出一些数据,然后从SCM拿到包的 ...
当Agile已经变成一个贬义词的时候,我们是要把Lean变成下一个贬义词吗?还是脚踏实地去做一些改进?
在这里,向大家推荐 James Coplien 的 Organizational Patterns。它不是一套新的过程,一上来弄十几个实践,也不知道为什么就开始 ...
有这么一个函数:
public void increase(String key) {
int val = storage.get(key);
storage.put(key, val + 1);
}
我需要有一系列的key需要操作,那么就必须弄一个循环:
for (String key : keys) {
increase(key);
}
如果storage是一个网络上的设备,key又非常多。这就会造成非常多次的网络操作。假设有500个key,每次网络操作是100ms。那么就需要耗费500 * 0.1 * 2 = 100秒的时间。
那么怎么解决这个问题呢? ...
- 2009-08-18 13:12
- 浏览 1694
- 评论(0)
http://taowen.github.com/bayberry/
Goal of this project is to complement test frameworks for projects using Guice. It has three major features:
1. Dependency Injection
2. Data Injection
3. Test Helper
- 2009-08-11 23:43
- 浏览 1355
- 评论(0)
Guice在大部分时间都是很方便的,简单易用。Guice和Spring等其他容器的最大区别是,Guice相信注入大部分都是根据类型的,而不是根据名字的。Guice在使用上的方便,很大部分都来自于按类型注入。
Bind多个实现
但是,如果对于一个类型,我有多个实现怎么办?最常见的问题是,有两个数据库。
bind(sqlMapClient.class).toInstance(createSqlMapClientForDB1());
如果有两个数据库的话,这binding能怎么写呢?
bind(sqlMapClient.class).toInstance(createSqlMapCli ...
距离上次发帖讨论领域模型,已经有半年了。这么久没有炒,估计饭又冷了。我再来炒炒领域模型这锅冷饭吧。且不着急点回退按钮,最近领域驱动设计社区在Greg Young同学的带领下有不少新的发展。保证这一次不会是重复贫血充 ...
在Hibernate的Jira上,这个两个issue已经放了很久了:
Add annotation support for serCollectionType
Add the annotations to map the User Collection Type
但是官方一直不给解决,咋办呢?以前唯一的办法就是不用Annotation,回到hbm文件的时代。
经过我几天的跟踪Hibernate的源代码,终于找到了解决办法,在这里分享给大家。
如果我们有这样的实体
@Entity
public class Cat {
@Id
@GeneratedValue
...
很久以前大家就关于这个方面有很多讨论了。前两天我又挖了一个坑来集思广益,非常感谢没有把我的帖子投为新手帖的同志。我不是在装傻,只是想让大家跳出自己的立场,从根本的价值出发来考虑问题。之前有很多讨论,都是在讨论我又发明了一种新方法可以让领域模型充血啦,等等之类的。当提出一个解决方案的时候,一定要有明确的问题。那么领域模型的价值是什么?为什么没有被广泛应用,其困境在哪里?
价值
数据,一定是数据。做企业系统,最核心的东西一定是数据。关于数据,人们有许多需求,但是最根本的一点就是,数据要是对的。在关系数据库的上下文下,为了保证数据是对的,我们有外键,我们有COLUMN的数据类型,我们有主键,我们 ...
最近做的几个项目都是证券研究行业的。总结了一下,这个行业根本的一个目标是:
“尽可能快的编写专业的研究报告,并分发给正确的人群”
定义专业的的研究报告,有三个侧面:
1、内容
2、格式
3、分类
内容
质量
从IT系 ...