上午到新单位报到,中午就被派到市郊的县上加入一个封闭开发的项目组。
为了这个项目,公司在离市区有30公里的一个自然保护区山下租了一个农家乐的山庄,吃住都在这个庄子里,因为离住的地方不到一公里处就是省级的风景保护区,景色相当幽美,空气比市区的好得多,要不是房间里的一大堆计算机设备,谁都会以为是来避暑度假的。公司制定了每人每顿45块钱标准的伙食,还免费提供了方便面、咖啡、茶叶、饮料等等零食,包括我在内好几个老程序员都是烟鬼,所以香烟也在我们一再要求下免费提供了,大家都穿着拖鞋大裤衩,天热了光着膀子,院子里还有鱼池、台球和乒乓球案子,这几个地方变成了我们休息时呆的最多的地方,哈、是不是感觉很google啊?比起阴森森的写字楼,这里的环境简直像天堂,那些没结婚的弟兄们明显很乐意呆在这里避过今年的酷暑,加上每个月的补助,大家既能省下一大堆生活费又过的这么恰意。可惜的一点就是世界杯没有看好,晚上十几个人围着一台25寸、雪花点子比球大的破电视前大呼小叫,房间里弥漫着香烟的烟雾和脚丫子的气味,最可恶的是项目组有禁酒的规定,没有啤酒、没有黑马的世界杯看起来索然无味。
每天早上六点多太阳就晒进房间,照得人无法入睡,索性起床跑跑步。8点半开始上班干活,项目非常大,这次来的十几个人只是为做个前期demo,项目基于J2EE,用的是经典的spring+hibernate+struts,不过在需求中要求支持无限级的业务回滚,即所有的数据库删除和修改操作并不是真正的删除修改,而是置为无效状态后插入新的纪录。大家经过多次技术论证后不得不抛弃了Hibernate,改为spring自带的ORM,自行设计完成DAO层,并实现自定义的DAO层操作日志。
在这个项目中我负责的是所有前台架构和UI指导,说来也很郁闷,在第一次和新单位的技术负责人面谈时,无论我天花乱坠的如何说我对J2EE的熟悉、对JAVA下的企业级开发的认识,吹我的四、五年的项目经验,吹着我对多种程序语言的熟悉和代码驾驱能力,那个负责人只感兴趣我微微提起的对AJAX的熟悉,这也最终导致我如上介绍的工作内容。看来AJAX的魅力已深入行业的角角落落,当然也得感谢AJAX,是它让我很轻松的在新工作团队中担任了主角。
本来我是给项目经理建议使用WebWork或JSF作MVC,在页面中大量使用JSTL标签,但鉴于其他程序员对新技术的学习和熟悉程度,最终决定在项目中纯粹的使用大家都较熟悉的struts。简单的CRUD完全可以通过struts完成,复杂的页面表示则尽量提取出公共模块并封装成自定义标签,这样在JSP页面中几乎看不见一行java代码,页面非常非常的干净。对于一些更为复杂、服务端交互较频繁的业务则用AJAX来完成提取数据,AJAX我用了DWR,这玩艺的确好使,对于java程序员也非常容易上手。遗憾的是基于AJAX的页面上的复杂操作,包括页面UI效果和DOM操作等等并没有找到一个让我满意的框架,就是最火的dojo和script.aculo.us似乎也不能达到我理想的效果,无奈下javascript的技术选型我只用了prototype这个底层框架,再高一层的UI效果全部手动写了。
这一个月太忙了,除了工作就是偶尔看看世界杯,Bloglines上积攒了一大堆未读的feed,blog上也杂草丛生,期间网站空间还因为费用到期被取消服务了好几天,昨天是我父亲的六十大寿,我特意赶回兰州给爸爸过寿来了,忙里偷闲上来写一篇blog,明天又得匆匆忙忙地往山里赶了。这个夏天看来铁定要在风景优美的山里渡过了,blog写的会少一点啦。