23 Oct 2006 | By
superpippo
最近一个月都没更新BLOG了,除去十一将近两周的时间,这两周的活动都以Google Calendar的形式记录下来了,点开这个月的日历,还是有不少的收获的。
十一结束首先是接到一个分页的任务,让我和另一个实习生一起解决每次从数据库只取当前页显示的数据。这也不算是个大问题,关键是要把分页功能做成一个优雅的组件就比较难了,当时想的也只想到了当时的需求,利用Hibernate里的session中的query.setFirstResult()和query.setMaxResults()解决。到今天来看,当时其实只是把它当作一个功能来实现了,要说组件,那还差得很远,毕竟需求我掌握不到,有时候可能过度设计了,有时候又可能想当然了。
接下来做了系统中的两个模块,由于上面让我把我这两个模块争取做为规范,所以工作量还是比较大的,做了将近两周。这两个模块都不用润乾实现,也就意味着从JSP页面到service的实现方法都得自己搞定,说实话我是很不愿意去调页面的,在页面里写写JS验证也就算了,每个tr,td都要tab到正确位置,嵌套table都得正确等等,实在是有点难为我了。不过还好有个实习生对这方面很熟,遇到一些问题解决不了的都请教他了。而action,form,serviceImpl这些都是纯Java的东西,加上Hibernate配置以及DAO层都已经写好了,所以这方面还是写得比较轻松愉快,action里每个方法都只有几行,具体的逻辑都写在serviceImpl中,写得还算是比较优雅的。在做的过程中也遇到了许多有价值的问题,由于太过琐碎,也就不一一罗列。
上周又去汉斯吃了一顿,是公司给报销的,说让我们实习生出去玩玩,后来又去KTVhigh了一会,不过最高兴的还是在路上的某个工行办了一张本地的工行卡以及电子口令卡,终于可以在网上转帐购物等等了。
20 Sep 2006 | By
superpippo
这周及剩下的工作基本上就是不断修正自己写的这部分的BUG了,大体的部分上周六周日加班就做完了,这几天尽管需求有几次小改动,整体还是比较轻松的,估计到十一放假前都不会有新的活了。今天快下班的时候发现了一个比较夸张的BUG,居然在算总工资的时候把工资乘了N倍。这个BUG得趁早解决掉,结果吃完饭回来公司的人把服务器关了,真FT,N天都不关偏在今天关了。
修修改改这个项目也有一个月了,前期做的校验器还有些新鲜感,后来做的模块都趁于程式化,基本没有解决问题后的成就感。最后这个任务我这部分连action都不用写,最主要的工作都在写sql,不过也发现自己的sql功底还是比较弱的,连nil(,)这种函数才是现在才知道。以前一直对sql很不屑,觉得就这么几个语句再easy不过了,不过那时候都是自己玩玩而已,真正到了有严格的需求时才发现怎么写,怎么写得高效其实是一门学问。
今天的那个BUG肯定就是写查询条件造成的冗余,明天一早就把它解决掉,然后偷偷commit:D
18 Sep 2006 | By
superpippo
由于宣武的产品临近上线,上周从周三晚开始了疯狂的赶工,终于在昨天把我这部分完成鸟。期间经过最痛苦的莫过于刚设好的测试数据立刻被人无情的修改,有几次搞的我都想骂人鸟-_-||。
今天是9.18,东北三省在这一天都会全市拉响警报,不过今天倒是头一次发现是9点18分开始拉的。都已经见过三次了,我也就见怪不怪,不过公司的某些人显然是第一次遇上,刚才警报响的时候有N个人从屋里冲出来,以为出啥事了呢,当时我那个FT。莫非他们是以为服务器坏鸟?
12 Sep 2006 | By
superpippo
眼见为实,总算体会到了这个词的意义。十一马上就要到了,不是假期,而是保研名单公布的最后时刻。从上学期开始我就一直对保研很关注,开始研究保研政策等等。那时候高策找到我问参不参加嵌入式的比赛,当时也考虑到了这个比赛是教务处的明文加分比赛的因素。
21是上学期在导员那查的前五学期的排名,当时算算即使保10%也肯定是够了的。29是前两天在导员那查的前六学期的排名,当时就感觉不太对,这一个学期的变化也太大了吧,虽然考得不太好,可是第六学期也没多少学分啊。今天无意间上学院邮箱发现了学分绩排名的邮件,我居然只排36,当时真是不敢相信。这也太离谱了!
不过最终确定保15%倒是把我从死亡线上拉了回来,加上三好学生和科技创新的加分应该排20+,不算放弃保研的也肯定在15%之内了。
想起保研之中的起伏,心中还是不免后怕,这也算是人生路上重要的一步,不应该走得如履薄冰般的草率。
眼见为实,还是这个词,这一切还是等最终名单出来才有定论。而现在,只能静静地等待三个星期吧。
09 Sep 2006 | By
superpippo
由于众多锁事,终于在这周末回了一趟哈尔滨,下火车已经九点多了,不过还有有寝室的哥们等我吃晚饭的,于是一同杀向KFC,想想也有很久没来KFC了,加上很饿,所以吃得还是挺爽的:)。回到寝室见到复习考研的同学,虽然大家都还是老样子,但见着都挺高兴的,毕竟再见的机会可能不会很多了。
周六九点多起的床,却发现周围几个寝室门都是关着的,才恍然大悟只有我一个人是这么闲的,顿时有了一丝凄凉的感觉。晚上是在巴蜀虾吃的,把饭卡,学生卡等都借给了禹轩,禹轩实在太客气了,非得请我吃一顿。第一次去巴蜀虾吃,感觉味道还是相当不错的,也挺有特点,以后肯定还会有机会品尝的。禹轩运气也实在太背了,去年考研居然专业课小分没过,祝他今年考研顺利吧。
吃完饭去找lookou拿钱,这小子居然不在俱乐部,跑去上自习了,一问才知道sonic伙同lookou和cowoo准备考G。sonic是一心想出国的,而且差不多能拿全奖,怎么lookou和cowoo也准备出国了?纳闷ing。
周五和周六晚上都和DBC聊了很久,他和高策都联系了清华的导师,高策应该是十拿九稳了。而DBC要是在计院也肯定是保上了,不过我们院没有这个先例,就不太好说了。愿DBC顺利吧,虽然我认为DBC即使考清华也不会有太大问题,但是据说清华计算机系全国只招30个人,所以能保还是不要考了。后来又聊到乔木,很早就听说他不申请保清华,今天听DBC说他要申请斯坦福。OMG,太疯狂了~~~
04 Sep 2006 | By
superpippo
周四接到了一个小任务,是将系统之前的用户管理模块重写一遍,之前的模块夹杂了比较多的业务逻辑在应用层。用户管理无非也就是登陆,注销,退出,修改密码这几项,将这四个方法写在一个UserAccessAction中,在action mapping中根据method参数就能在action中调用相应的方法。处理业务逻辑方面,通过一个service层将action与dao层隔离,action通过相应的service接口调用实现好的方法。具体的service实现类实现特定的service接口,在其中与dao层交互实现业务逻辑并向action表现出接口。具体的dao层实现是公司的人做好的,并且打了包,看不到源码了。。。由于整个层次来很清晰,由下至上,层与层之间的松耦合,在业务层写代码的时候也能感到非常轻松。
周五基本上这个任务已经搞定了,不过公司的要求是每写一个action(实际上是对action的每个方法)都要写出它的test demo。在weblogic配了一下strutstestcase,不过总有找不到web.xml的错误,google了一下,还真有人有同样的问题。按照上面的方法一步一步配,却又出了自己的问题,提示spring的webcontext未正确初始化。继而google之,也还是没找到好的解决办法,看来这个问题跟系统配置或是weblogic有关,因为我在tomcat下测试的时候是成功的(看到了junit的绿条心里还是挺爽的J),所以还是让他们专业搞测试的人来搞定吧。
29 Aug 2006 | By
superpippo
昨晚彻底被grub搞晕了,先是在windows下用partition magic删掉了以前AS4的分区(似乎有些鲁莽。。。),结果重启的时候grub就卡在那了,进不去windows也进不了隐藏分区。唉,以前就有这种问题,都是图省事直接把linux分区直接删掉,结果grub还卡在那。没辙,正好手头有张ubuntu的盘,就装了试试先进去windows再说,结果这下可废了,装完之后第一次进一切正常,重启之后出现grub error 17,当时那个ft,真是快无语了。瞎糊弄了半天也没整好,只好用windows系统盘重装了。以后坚决不把linux装到笔记本硬盘上了。
今天比较郁闷地来到公司,结果又被ark上的vmware郁闷了一把,在公司的机器上装完之后提示产品过期。以为是注册码没用了,托李超在241上帮忙下了一个注册机,结果也白扯,ark上的软件本身有问题。疯了,貌似只有241上的版本比较值得信赖,不过现在也上去啊,离开学校才发现资源有多么难觅。
22 Aug 2006 | By
superpippo
昨天公司组织了第二次聚餐,目的地是王记。与哈尔滨的吴记一样,也是以酱骨头作为招牌,昨天是周一,居然人也是爆满。众人不免又发出了与在吴记吃饭时一样的感叹:以后开这样一家店足矣。
聚餐固然是好事,可我们也免不了揣测这是不是鸿门宴。后来了解到,这顿饭吃完就意味着正式工作的开始了。现在一共实习生有11个人,5个研究生6个本科生,据说过几天还要来3个人。这周的任务是把这个项目已经完成的一个模块的JSP页面替换成模板引擎实现,模板引擎是公司他们的人已经做好的,据说是在FreeMarker上做了一层封装。开始我以为自己也是做这部分工作,还在纳闷怎么都没通知我,而别人都知道了这件事。后来才知道我和其余两个人还是做润乾验证填报的拦截器,目前已经完成了所有的功能,可是还不知道离产品化组件的要求还有多远。
在饭上还听到了一个消息,貌似十一还是能放七天假的。Good news!看样子能去一趟呼伦贝尔了。
16 Aug 2006 | By
superpippo
昨天本想去redsaga去下深入浅出Hibernate的源代码,无意间被一个名词吸引住了:continuation。这个曾经Leona口中极具神秘色彩的名词,源自Lisp。而这篇文章–Java网络程序员看Continuation,continuation之于Java,又会有什么故事呢?
今天上午浏览了一下这篇出自刘畅的opendoc。文章不长,一共四章。以前有听Leona讲过scheme下continuation机制的经历,使我深知这篇短短的文章一定值得细细品味,而要精通此道也绝非易事。
其实我自己都不知道我为什么会下载这篇文章来看,或许,只是一种好奇。而看完第一章后,我不得不佩服作者对于continuation的理解,而将CPS程序与网络程序的对比及对其本质的阐述,让人有一种恍然大悟的感觉。而这些只是介绍性的第一章,或许更多的惊奇还在后面。作者在第一章最后说Ruby是一种真正支持continuation的语言,怪不得在以前的程序员杂志上看到过gigix说ROR是基于continuation机制的。Cowoo貌似对ROR挺感兴趣,应该推荐他看看这篇文章。不过有机会的话,倒是可以考虑用ROR作为毕设的主要内容,不用去实现一个web应用,将其内部运行机制解释清楚,更有意义。
下午将Spring技术手册看到了Spring整合Hibernate一章,看来看书还是要静下心来才有效率。