自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

跌跌撞撞地敏捷之路——如何结对

1、配套设施两个人,一台电脑,一个人敲键盘,另一个人在旁边协助。协助包括检视代码、分析是否有未处理的边界、思考是否有更合理的实施方案等等。 2、人员搭配最好是进行高低搭配。高低搭配,指的是技能高的与技能低的搭配,业务知识丰富的和业务知识贫乏的搭配,当然了也不要走极端,低也要低的有个限度,呵呵。结对除了是为了结对完成任务,提高效率与质量之外,另一个作用就是提高团队的整体能力,在结...

2009-06-29 00:04:16 125

跌跌撞撞地敏捷之路——也说说测试

这个版本真正将UT落实到项目中,工具是:JUnit+EasyMock。来看看我们的UT之路:阶段一由于第一次使用EasyMock,看了几个例子,然后就在UT中应用它,一开始被它的几个例子误导了,下面是我们的测试方式:1)对于一个接口定义下来后,就直接编码实现;2)看着实现好的代码,针对每个逻辑分支,构造测试用例;3)对于每个分支,先看看代码中该分支需要依赖哪个外部接口的哪个...

2009-06-27 00:16:56 153

跌跌撞撞地敏捷之路——怀念那段结对的日子

现在,如果有人问我要不要在项目中实施结对编程,我会第一个站出来大声地说:“坚决要实施结对”。这个项目初次尝试走敏捷,从一开始对敏捷的不了解,团队成员的点滴摸索,到中间的渐入佳境,到最后的打回类CMM的原点,这种在一个项目中“大起大落”的经历使我倍加爱上敏捷,倍加怀念结对走过的日子。项目启动初期,没有尝试结对编程,还是走CMM的老路子,一个人分配一个任务,然后各自拿着领到的任务,开始“孤零零...

2009-06-21 23:40:36 175

跌跌撞撞地敏捷之路——为什么进度那么慢

日期:2009.03.25      今天的站立会议花了我们不少时间,原因大家觉得如果不花点时间分析下原因,并找出对策,极有可能会影响sprint的交付。目前的状况是:这个礼拜sprint就要结束,可实现的功能顶多只有一半。1.没有按照story优先级来完成story          按照昨天晚上我们的初步分析,一个原因是由于我们中间有部分人没有严格按照sprint计划决定的优先级去完成...

2009-03-29 10:34:39 179

跌跌撞撞地敏捷之路——及时记录经验教训

日期:2009.03.23      今天又是一个周一,scrum master每周一都需要做项目周报,向上及周边相关人报告项目在上周的进展。在这个报告中有经验教训这一项,这里需要在上一周中项目开展过程中团队成员作出的经验总结、优秀实践、出现的问题及规避方法。scrum master早上就开始问:“大家回想下,上周我们有什么经验教训没有?”大家你看看我,我看看你,或者耸耸肩,他没有得到任何的答复...

2009-03-25 23:08:31 124

跌跌撞撞地敏捷之路——Story重要程度的作用

      日期:2009.03.24      晚上加班,在不禁意间看了下背后白板上的燃尽图,这个礼拜六就要进行第二个sprint的验收演示了,可燃尽图只燃了差不多一半,而这个sprint预定要完成的增删改刷以及应用功能,目前只完成了查询与刷新。不知为什么,我突然冒出这么一句:“为什么我们的效率那么低呢?”,然后就有了下面的一段我与scrum master的对话(下面的ME就是我,SM就是sc...

2009-03-25 00:11:09 181

跌跌撞撞地敏捷之路——第一次敏捷开发

日期:2009.02.16——2009.03.06      这个项目将尝试采用敏捷开发。      敏捷是什么,现在回想起来,当时项目组成员对这方面的了解几乎就是空白,十足的敏捷白痴(现在这样讲,其实也是在五十步笑一百步,惭愧),只知道这是时下比较时髦的名词,还有几个相关的名词:迭代、结对编程、极限编程、scrum、story、燃尽图,对所有这些名词的了解也顶多停留在非常肤浅的认知上。对于我...

2009-03-24 00:12:08 121

我摸、我摸、我摸摸摸——提高代码可测试性

       虽然有了EasyMock这样的摸客工具,但并不一定就表示你的代码好测,在mock对象创建完成后,你的代码得有能力让这些mock对象注入到你的对象中去,这样EasyMock才能有用武之地,也就是说,只有当代码基于IOC原则实现的,才能使EasyMock发挥真正的作用。      满足以下条件的代码都是无法通过创建mock对象来测试的:1.在代码内自己查找依赖。如在代码中直接new...

2009-03-21 20:19:05 430

我摸、我摸、我摸摸摸

       如果把UT比作一个长满仙人掌,那么类依赖、外部环境就可以看做仙人掌上的刺了,为了让coder们在摸这个仙人掌时,不会被这些烦人的刺给扎到手,现在在Java行业里,市面上出现了许多的mock服务,这里简称“摸客”,各显其能,就是为了将这些刺给剃光,让coder们摸起来顺手舒适。真正的单元测试运行起来通常都是非常迅速的,因为它不需要依赖于数据库、服务器等等运行设施,这样才能大大提高co...

2009-03-13 00:16:49 1319

CSS笔记二

六、 空白边叠加margin属性用于设置元素与周边元素之间的间距(也叫空白边),当相邻的两个元素都设置了margin属性时,这两个元素之间的空白边就会发生叠加,叠加的结果是两者之间的空白边大小等于这两个元素中margin属性较大者的margin值。现在通过几个例子来看看空白边叠加的效果。 1  <div id="div1"> Div1 </div> <div id="...

2009-03-08 16:24:14 84

CSS笔记一

一、    CSS语法CSS的语法结构为: selector {property:value}selector(选择符):表示这个样式将应用与HTML中的哪些对象。应用的对象可以是一个标签,也可以是指定了id或者class属性的特定标签。property(属性):对于每个HTML标签,CSS都提供了许多样式属性,用于控制标签的颜色、大小、定位等。value(值):属性值。二、    C...

2009-02-09 21:17:24 90

原创 CCS在IE和FireFox中的兼容性问题

1.DOCTYPE 影响 CSS 处理  2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行  3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中  4.FF: 设置 padding 后, div 会增加 heigh...

2008-11-16 09:54:10 271

原创 ruby中文文档.chm

转自RUBY文档中心

2008-09-07 00:29:14 282

Derby数据库入门

Derby数据库是一个纯用Java实现的内存数据库,属于Apache的一个开源项目。由于是用Java实现的,所以可以在任何平台上运行;另外一个特点是体积小,免安装,只需要几个小jar包就可以运行了。Derby数据库有两种运行模式:1) 内嵌模式。Derby数据库与应用程序共享同一个JVM,通常由应用程序负责启动和停止,对除启动它的应用程序外的其它应用程序不可见,即其它应用程序不可访问它;2) 网络...

2008-09-06 09:17:26 1029 1

解决通过createElement创建出来的radio无法选中的问题

开发过程中,需要使用JS向页面动态添加radio,实现时通过document.createElement()方法来实现,刚开始的代码如下: var _radio = document.createElement("input");_radio.type = "radio";_radio.name = "_radio";document.body.appendChild(_radio);...

2008-09-03 22:25:18 1013

使用JS创建table的高效方法

    项目开发中,为了提高用户体验,查询时使用dwr向后台发送查询请求,然后根据查询结果异步更新页面中table的内容。    第一次现实方法是用Java代码将查询到的数据拼凑HTML(就图用java写代码比js方便,呵呵),将拼凑到的HTML返回到前台,前台JS将获取到的HTML字符串赋值给div的innerHTML属性(table被放置在一个div内),代码如下(这里所有的例子都是简单的模...

2008-09-02 21:20:43 161

解开JSF生命周期之谜(1)

1、在恢复视图阶段,如果组件指定了binding属性,如: <rich:dataTable id="myTable" binding="#{myForm.uiData}" value="#{myForm.details}" columns="7" var="detail"> 那么JSF在恢复组件的时候,会初始化binding属性中指定的bean,假如bean的scope为

2008-03-12 22:40:44 113

JDBC的支持——DataSource的配置

Spring中DataSource的注入方法: 1) 在进行单元测试或应用系统比较小时,可以使用Spring的DriverManagerDataSource:<bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassN...

2008-02-28 23:00:48 603

Bean基本管理的小细节

Spring使用BeanFactory、ApplicationContext来管理bean的生命周期,有如下特点: 1)默认情况下,定义文件中的bean都是Singleton的,即每次通过getBean()方法返回的对象都是同一个对象,可以通过Bean的scope指定为prototype、或者将singleton指定为false, 使得每次调用getBean()方法时都产生一个新对象,如: &lt...

2008-01-25 00:31:50 63

ApplicationContext的初始化

以ClassPathXmlApplicationContext初始化一个ApplicationContext对象时,只需要在构造方法中指定好定义文件在classpath中的路径即可,如: ApplicationContext context = new ClassPathXmlApplicationContext( ...

2008-01-25 00:18:33 660

Rod Johnson:架构师必须保持实际参与编码

在Rod Johnson的《expert one-on-one J2EE Development without EJB》一书中,有这么一段话:[quote] [b]在我们的行业里,所谓“架构师”这个说法的准确含义是人么热辩的话题——同样,人们也在争论这个“架构师”概念(相对于“开发者”)到底有没有意思、是不是可取。 我以为,架构师的作用非常重要,但是架构师们必须保持实际参与...

2008-01-13 09:40:12 361

Spring的最佳入门手册:Spring in action

对于Spring的初学者来说,《Spring in action》是我看过的Spring书籍中最好的一本,虽然我看的是英文版,但这也是我看过的英文书中最容易看的一本,句子都十分简单,只要稍微有些英文底子就可以看懂它,不象其它英文书那样,有时一句话要看上几遍才能看明白它在讲什么,至于内容上也非常丰富,各个章节的内容写的也很细腻,入门时看《Spring in action》要比看《Spring专业开发...

2008-01-13 09:02:16 135

AOP实现(三)——Spring 2.0中Pointcut的定义

在Spring 2.0中,Pointcut的定义包括两个部分:Pointcut表示式(expression)和Pointcut签名(signature)。让我们先看看execution表示式的格式:java 代码 execution(modifier-pattern?           ret-type-pattern           decla...

2007-11-17 11:04:28 441

AOP实现(二)——Spring 2.0中的AOP实现

    在Spring 2.0中,除了传统的通过实现AOP AIP的方式来实现Advice之外,还提供了两种更加简便的方式来实现Advice:1)基于XML Schema的设置;2)基于Annotation的支持,采用这两种方式,Advice将不用实现特定的接口。现在让我们来看看如何使用这两种方式来分别实现Before Advice、After Advice、Around Advice、Throw...

2007-11-16 08:02:55 89

AOP实现(一)——Advice

在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、Around Advice、Throw Advice。1、Before Advice顾名思义,Before Advice会在...

2007-11-11 00:36:00 111

Bean的生命周期

    一个Bean从建立到销毁,会经历几个阶段,如果使用BeanFactory或ApplicationContext来生成、管理Bean,会尽量支持以下的生命周期:    1、Bean的建立       由BeanFactory读取Bean定义文件,并生成Bean的实例。    2、属性注入       执行相关的Bean配置依赖注入。    3、BeanNameAware的set...

2007-11-06 08:37:13 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除