-
2004-05-08
Hibernate & BeanUtils
在我的动态表单中,需要通过解释HTML来自动生成database table,现在的做法是:根据表单定义文件自动生成DDL.但是这种实现方式需要我自己来实现java datatype与database datatype的map.而这正是hibernate的优势之一. 因此,我考虑不直接生成DDL,而是生成hbm.xml,这就利用了hibernate的map功能.并且,我现在操作数据库也是使用hibernate的connectionProvider.不过,这不是hibernate的一般用法. hbm.xml需要有java enti.............. -
2004-05-03
动态表单: beanUtil
在apache.org有一个project:common-beanutil,非常好的一个操作javabean的工具类库.它可以拷贝-复制bean的属性,也可以生成dyna Bean. 在动态表单中,我需要从xml定义文件中生成table DDL和每个table对应的javabean.我能从html文件直接生成定义好的表单定义xml文件.然后利用这个xml文件生成ddl和dynabean. 我创建了一个Builder类,Builder类负责生成table ddl和dynaBean: publilc interface Builder { .............. -
2004-04-30
Hsqldb, very cool
Hsqldb是一个java编写的微型数据库,它可以完全在内存中运行,因此它的运行速度没有任何问题.正是由于它有这一个与众不同的特点,因此它成为运行测试和演示Demo的最佳数据库. hsqldb有很多种启动方式,最简单的就是in-memory方式,只要你能创建connection就可以操作数据库了,它还有server,web server等方式. 单元测试数据库是一个难点,但是有了hsqldb,那就省事多了.单元测试需要讲究速度,而使用hsqldb,速度非常快.而.............. -
2004-04-29
Tuning Java Performance
调整Java系统的性能有很多的技巧和方法,这儿有一篇文档(教你如何调整J2EE系统的性能): http://docs.sun.com/source/817-2180-10/index.html 有兴趣的朋友可以仔细看看,很有帮助的............... -
2004-04-28
体味TDD's乐趣
在开发动态表单(业余时间)的过程中,一直在强迫自己按照TDD(Test-Driven Develope)的方式来编码. 说着容易做着难啊.刚开始,编码工作的确让我陷入很大的被动,进展很慢,测试代码又很难写,重复返工现象非常严重.往往自己的眼中根本就没有自己感到满意的代码,始终觉得代码不够清晰,或者说是自己的思路不够清晰,透彻. 但是,TDD本来就是让我们转变思路,从对需求的绝对理解,然后把需求转化成对领域模型的把握,再按照OO -
2004-04-27
J3EE
随着JAVA开源势力越来越大,各种projects,procedures和methods越来越多,传统的J2EE平台将会被很多新的创意,技术改变和扩充.在Blog上看到ThoughtWorks的高手提出了新的J3EE的想法,非常有趣. 我也有同感:一些轻型,快速,可扩展和易测的技术将被更多的人采用. 下面是想象中J3EE平台: 1)AOP support (AOP Alliance, and other AOP frameworks like JBoss') 2)IoC support, Dependency Injection (S.............. -
2004-04-26
WhyJavaIsBetterThanDotNet
101 Reasons Why Java is Better than .NET (Reloaded) 原来我们还是有前途的?.............. -
2004-04-23
Maven usage
Maven是一个项目管理工具,不是配置管理工具(SCM),因此在开发过程中,它还需要与其它的配置工具配合,如:CVS. 1、创建一个新项目maven -Dpackage=com.zaitian.form genapp 2、创建一个新项目站点maven site:generate 3、Maven的目录结构,如下:|-- project.properties|-- project.xml|-- lib(项目中特定的JAR)`-- src |-- conf .............. -
2004-04-22
What is Pattern Testing
今天看到一个非常有意思的项目:PatternTesting,这本是Vincent Massol的创意,可惜由于没有时间,现在这个项目的领导已经换人了. 如何保证项目组所有程序员的codes都能满足现有的规则呢?传统的做法就是进行Code Review.可是这样是非常耗时耗力的,我想绝大部分项目是不会关心这些的,只要程序能跑就万事OK.但是,常此以往,程序风格五花八门,维护,重构越来越难,最后,只.............. -
2004-04-21
user case VS. user story
今天偶然看到chinaxp.org上的一篇关于User Case和User Story讨论,一个很老的贴子了. 纯粹从字面上是不能分辨的,先说说两者的相同点: 1)都是用来捕获需求的 2)都是以用户的视角来看待问题的 那么两者的不同点呢? 1)表.............. -
2004-04-20
cvsNT用户配置
今天,为了配置cvsNT独立验证方式的用户管理,费了一番功夫.运气不错,找到了生吃咖啡豆的文字中的一篇blog,写的非常清晰.按照他所提供的步骤,就可以很快的配置成功. 现在觉得,开发工作基本步入正轨,在客户端使用TortoiseCVS,它与浏览器集合的非常好.在服务器端则使用CVSNT,按照passwd方式来管理用户.并且,我还增加了一个跟踪工具CVSTracNT,项目和其它人.............. -
2004-04-19
初步认识TDD
测试优先编程的好处大家都知道,但是如何让自己成为一位测试优先编程的高手呢?本人没有啥天分,只能天天进行上手训练.我想只要自己抱定TDD不动摇,总会有出头之日. 编程方法的改变绝对是需要改变自己的思维方式的.思维方式不改变,就算你首先编写test case,效果也不会很好,或者说你正在赶时髦而已.TDD与传统的编程方法有很大的不同,编写Test Case就是让你理清思路.如果你觉得测试很难写,可能你与我一样,思维还没有完全转变 -
2004-04-16
动态表单: Html2Xml
终于把html文件解释生成了xml,动态表单又进了一步.现在,只要画出了表单,我就可以根据表单文件生成表单定义xml. Nekohtml非常不错,在xerces中包含了Html中的所有元素:input,select和button等.解释html就是生成这些元素的过程,使用这些对象,可以比较简单的对html进行处理. 只有生成xml,我使用了XPP3,它是一种最新的xml parser,速度非常快,库本身也非常简单.Neko系统库中也包含xpp parser,但是它还没有完全成型,尚.............. -
2004-04-15
一个数据库移植工具
今天,测试了一个IBM的数据库移植工具(DB Migration Tool),它可以把SQLServer,Oracle移植到DB2上,还可以把上面几类数据库移植到AS/400的DB2上(暂时不支持). 工具支持两种连接方式:sql文本和数据库连接(支持ODBC数据源).因为sqlserver安装的问题,只要了sqlserver帮助文件中的一些范例(jobs,publishers和employee)sql语句,包括:创建表,trigger,procedure,并把这些sql用文本文件方式导入.感觉这个工具对表的处理比较好,复杂.............. -
2004-04-14
新的XML解释器: Xml Pull Parser
当前XML解释器主要基于两类技术:DOM(Document Object Model) 和 SAX(Simple API for Xml ),现在又出现了一种新的XML解释器: Xml Pull Parser.它与前面两类解释器不太相同. 1)DOM是tree-based的方式,SAX是event stream方式,而XPP是streaming(incremental)的方式. 2)DOM和SAX在解释XML时,是不允许中断的;而XPP是可以在任何时候中断,并且允许重新开始. XPP在解释XML时会忽略某些部分,如:en..............







