- 浏览: 165446 次
- 性别:
- 来自: 北京
最新评论
-
Wangwei86609:
非常好的规则引擎框架,支持决策树和多线程运行规则https:/ ...
规则引擎 -
wqxiea:
进步一点
业务接口 -
海盗大哥:
matlab 最喜欢里面的矩阵了~
找到了很早以前被隐藏的帖子,放在博客留念 Java vs Ruby -
zhu_shg:
在应用程序中使用单实例、Spring框架,并不影响在集群环境中 ...
应用的集群部署 -
lauphai:
向此邁進!!!
关于架构师
文章列表
项目中的一些问题,
系统考虑国际化版本,
采用resourceBundle加载资源文件,
jstl <c:fmt message key=""/>,页面展示,
还包括对一些配置文件,代码中的字符串、异常处理啊这些,进行转义。
这些处理方式上到没有什么大问题,主要的问题出在由于最初对资源文件key,value没有一个整体的明确的定义,相应模块开发过程中自行定义了大量的key,value。
key的定义也没有一套规范,造成了key名字长度,大小写,格式的混乱。大量重复,不一致的类似命名存在。
而且修改起来也是很麻烦的事情,因为对key的引用是散乱在jsp,xml等文 ...
- 2007-07-16 20:31
- 浏览 1654
- 评论(0)
请大家不要忽略编码效率对生产效率的提高影响,有点心得,跟大家分享下。
细节决定成败-6sigma。
btw:请大家不要跟我讨论编码效率的重要性,我同意有很多事情更重要。
麻烦投入门贴的朋友给点建议,谢谢。
写程序 ...
最近在作项目中发现了一个问题,以前对update了解不深,特将此问题总结如下:
数据库db2v8,隔离级别cs
在测试update语句的时候发现:
update A set a=1 where a=2;
update A set a=1 where a in(select a from A where a=2);
单个session执行,两者的结果是一样的。
在并发情况下发现一些不同:
多做点数据保证真正并发,比如50w,无索引更新100条。
第一种情况:
1:update A set a=1 where a=2;
2:update A set a=3 where a=2;
先后以1, ...
项目缺人,项目经理肯定要争一争,不然苦了自己跟兄弟们,一个team怎么也要形成一个梯队,传帮带。都是新人,再多也没法整。
这些道理老板肯定明白,那就看你怎么动之以情,晓之以理了,呵呵。
老板考虑尽量控制成本,充分发挥新人成本优势。但肯定不希望项目做砸了,明确几个主要的潜在风险,适当的提出自己的想法,有理有据。
老板都想马儿跑,马儿又不吃草。
- 2007-06-13 21:10
- 浏览 1467
- 评论(0)
Test first:
先写好测试,再写代码写出来的代码较容易测试。
IOC:
消除依赖,降低模块相关性,消除主业务逻辑对具体业务逻辑的依赖,便于测试。
Mock Interface,DAO:
业务逻辑代码中dao相关部分设计成接口,使用mock进行测试,可以消除单元测试的数据库依赖,在一定程度上简化了单元测试的难度。
逻辑分离:
逻辑代码中主要几部分,数据准备,逻辑处理,后期数据存储。尽量把逻辑处理部分分离出来单独的方法,针对逻辑,而不是数据测试。
- 2007-05-09 10:14
- 浏览 1452
- 评论(0)
项目人员水平不等,分工协作。
主要的几个角色:
项目经理:负责项目的方方面面
技术主管:技术全面,负责整体技术框架,主要技术问题决策。
技术骨干:专攻具体技术,负责部分业务模块,带新人。
新手:一些,具体逻辑实现,胀活累活杂活。
项目中,总是能者多劳,得到的锻炼机会更多,提高就越快。
混了好多年依然技术一般,眼高手低的人也大有人在,也没办法委以重任。
虽然人员管理在近代企业管理越来越受到重视,但也仅此而已。人员的招聘,考核,培训各方面做的还很不够,能够形成有战斗力的团队,更多的要靠项目经理。
到一个好公司,不如找一个好项目,找一个好老大,真正能学到东西。
- 2007-04-12 14:07
- 浏览 1446
- 评论(0)
**
*
*/
package study.puzzle.sample1;
import java.util.*;
import junit.framework.TestCase;
/**
* DOCUMENT ME!
*
* @author Godlikeme 2007-3-20
*/
public class Algorithm1Test extends TestCase {
public void testCompute() throws Exceptio ...
- 2007-03-21 22:49
- 浏览 1507
- 评论(0)
基于Spring框架开发过程中,会产生大量基于配置文件的注入依赖,
单元测试的过程中,由于不同的单元测试粒度,会造成大量测试依赖于同一批测试数据和测试配置文件,很容易就形成了一些基础测试类,提供基础的测试环境(测试数据和注入配置)。由此造成整个测试环境日趋混乱,生产配置和测试配置文件越来越多,其中的区别差异造成的问题难于解决,管理。
- 2007-03-18 10:43
- 浏览 2173
- 评论(0)
hibernate多个主键健值映射为联合主键,web Action处理中 从request中取出来多个键值是比较繁琐的事情, 有没有什么方式可以简化 处理这个问题。
刚开始基本上用到哪里读到哪里(深度搜索),把相关的也看看,不会太深入,慢慢熟悉的内容多了会整个穿起来看一遍(广度搜索),从整体上理解下。
每个开源项目建立一个学习工程,随时写一些测试代码,加深理解。
工具:eclipse,jar包加源代码。
- 2007-01-22 00:50
- 浏览 1510
- 评论(0)
软件设计主要考虑两方面复杂度问题:问题本身的复杂度,和解决问题方式(也可以归结为如何细分问题,考虑具体实现)的复杂度。在解决具体问题设计中会慢慢倾向于解决通用问题,实际上提高了解决问题方式的复杂度。
- 2007-01-21 14:50
- 浏览 1193
- 评论(0)
业务接口方法有业务含义,根业务紧耦合,需求变化(不一定是真的变了,可能是理解的问题)业务接口该变就要变,没什么说的。还有,不要尝试定义通用性(可扩展)业务接口,得不偿失。
业务接口只描述业务功能,不描述业务流程。业务流程中业务用业务接口来描述。具体开发实现的时候是用class还是interface,不能一概而论了,但我倾向于在原型设计的时候定出interface和流程的实现,每一个interface有一个最简单的实现类,保证流程能够跑得通,再由开发人员具体业务实现就相对清楚的。在并行开发的时候其他人“不需要”关心业务具体实现,做到“某种程度”的透明,如果团队比较大,就很必要了。
说到变更情况 ...
- 2007-01-21 14:46
- 浏览 2319
- 评论(2)
线程安全的重要思想就是,多线程并发不出问题。
什么时候多线程并发会出问题,存在临界资源,也就是有状态的公共资源。如果这些公共资源的访问是线程互斥的,就是线程安全的,如果不是,就是线程不安全的。
例如:
Class A{
int temp;
public void setTemp(int i){
temp =i;
}
public int getTemp(){
return temp;
}
temp还不算是类A的实例的有状态的公共资源,什么情况下是呢?如果多个线程访问一个类A的实例,所有类A内的存取temp的方法必须是synchronized才是线程安全的。 ...
- 2006-12-27 00:49
- 浏览 1596
- 评论(0)