志敏's profile新的开始,新的生活PhotosBlogListsMore Tools Help

Blog


    8/31/2006

    项目总结

    今天是兼职的最后一天了,回头看看收获不少
    首先,从项目中学到了许多新的技术。诸如maven自动构建,spring, acegi, jcatcha等等开源项目。
    其次,在实践中做了许多新的尝试。尝试着去修改开源项目的源代码,因为有了spring,这一工作也变得十分简单;尝试着写taglib,而且到后来一发不可收拾,发现自己写taglib可以比用struts标签更简单。
    最重要的是找到了更多可以改进的地方。开发中发现为每个entity服务的dao, service都十分相似,应该可以自动生成其中的部分代码,一是用XDoclet,二是用Velocity,正在学习中;还有就是发现在一个不懂技术的老板面前界面是很重要的,尤其是一些新奇的页面往往更容易吸引眼球,看来多应用javascript和Ajax还是很有必要的。
    下面该是休息的时间了
     
    8/14/2006

    再遇中文问题

    很久以前写过一篇用UTF-8来解决中文问题的文章,实际开发中也不再被中文问题所打扰,直到今天...
    说来这个问题也真奇怪,我需要在URL中读取某个中文值,如果该值是偶数个字符时不存在任何问题,但是如果是奇数个字符,那么最后一个字符就会变成乱码。试验了好久,才找出问题所在,原来中文在赋给URL之前,必须先对其进行编码转换,由于我是自己写taglib的,所以只需在taglib类中将request中的值通过URLEncoder.encode("需要转换的中文", "UTF-8")进行编码转换就OK了。
    8/9/2006

    项目自动构建

    对于JAVA项目的自动构建,大多数程序员会想到ANT,我的使用感受是,“只有你想不到,没有它做不到”。
    我现在做的项目使用的是MAVEN2,严格的说MAVEN是软件配置管理工具,当然也可以用来做项目的自动构建了。
    相比ANT,MAVEN的优点包括:
    1. 编写配置文件十分简单。MAVEN定义了一个基本POM配置文件,而我们所写的POM配置文件都继承那个基本的POM,因为是继承,所以无需像ANT一样事无巨细地定义所有的Task和Target。我们只需将文件按这样的目录结构放置,
    src/main/java  java源代码
    src/main/resources  项目相关的资源文件
    src/test/java  测试代码
    src/test/resources  测试相关的资源文件
    MAVEN就可以帮助自动完成编译、测试、打包、部署等工作,而配制文件可能只要短短的几行代码就可以了。
    2. 项目发布将十分的小。项目发布时不需要包括任何JAR包,所有在配制文件中定义的项目依赖的JAR包,MAVEN都会从其提供了一个公共的Repository上将其下载到本地Repository,供项目编译测试使用。同时MAVEN还会帮你将某个JAR包依赖的其它JAR包一并下载下来,比如你的项目依赖于hibernate3.jar,那么hibernate3.jar所依赖的ehcache.jar等等也会被下载并供项目使用。
    但是从实际的使用过程中还是碰到了不少问题,比如:
    1. 许多最新的JAR包无法在公共的Repository上获得。比如spring2和ojdbc14,要么缺jar包,要么缺pom文件,必须手动载下来安装到本地Repository。
    2. 各方面的支持也比ANT要差。比如Hibernate3中的延迟属性抓取需要在代码构建时加入二进制指示指令,可以在ANT中使用InstrumentTask来完成,而在MAVEN则没有找到相应的Plugin(不过,也有可能是我不知道)
    3. MAVEN的自动构建的速度要比ANT慢。
    在实际使用中,我选择结合ANT和MAVEN2一起使用。也许是因为两个项目都出自于Jakarta,所以它们可以互相调用,正所谓取长补短。我是使用ANT进行构建,目录结构按MAVEN2来放置,调用MAVEN2来获取相应的JAR包。
    8/4/2006

    备战迎考

    两周的Red Hat培训一晃而过,由于白天上课,晚上要赶公司的项目,所以一直没有很好的复习,下周正常上班,要利用晚上的时间好好的巩固巩固。
    打算在九月底把RHCE考掉,从明天开始进入备战迎考阶段,相信是轻松搞定^_^
    8/2/2006

    发工资了

    比预期还要多,赞一个