志敏's profile新的开始,新的生活PhotosBlogListsMore ![]() | Help |
|
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考掉,从明天开始进入备战迎考阶段,相信是轻松搞定^_^ |
|
|