盛大的中秋礼物

真没想到,离开盛大快一年了,人事部门还记着给我寄东西。过年收到大礼包算是惊喜,这次收到月饼就是有点感动了。难得啊,居然还有人惦记着咱,而且因为离开上海当时登记的电话也失效了,负责的人事还辗转了一番才找到我。当然这个不是针对我,所有的离职员工貌似都收到了盛大寄来的中秋礼物。能做到这点的公司,全世界不多吧。

拆开邮包是一如既往的红得喜人的logo
DSC_0001

DSC_0002
(插一句,终于有盛大的环保袋了,以前用的都是08年找工作时候顺的百度腾讯支付宝的)

月饼包装盒
DSC_0003

月饼和茶叶
DSC_0004

我琢磨了半天,请教了原来的同事才知道这是个U盘。
DSC_0005

这是盛大在线(SDO)的企业文化宣传册
DSC_0006

我这里就不为前前东家摇旗呐喊了,说得多了也有吃人嘴短的嫌疑。总之能有今天,离不开在盛大在线一年多的工作和学习,离不开同事们的帮助。希望公司能够越来越强大!

下班了

先汇报一下时间,我这个WP主题默认不显示具体时间,现在是2010年6月22日凌晨4点整,西班牙2:0领先洪都拉斯,比赛进行到75分钟。

我刚刚下班,晚上我们部署了t.sdo.com的新版本,性能有了一定的改善。后半夜发现一台memcached行为诡异,暂且先禁用了那台,踉踉跄跄回家准备睡觉。

今天t.sdo.com正式发布了,现在不需要鸡和马就可以注册登录。产品本身不谈了,如果你不感兴趣说明你不是目标人群,缺乏90后的气质。前两天twitter上有一篇新浪工程师的离职感言,里面透露新浪要做的“游戏平台”,t.sdo.com就是典型的这种东西。至于里面说的新浪那种气氛,,恐怕在国内的互联网公司里,这种现象都比较普遍吧。

邀请链接,大家点这个就可以了
http://isdo.cn/10CM

这就睡觉去,今天不用上班了。

The post is brought to you by lekhonee v0.7

t.sdo.com上线

昨天搞到3点多,盛大糖果http://t.sdo.com/,昨天晚上终于开放IP给大家访问了。

留一些邀请码给大家

  • 2HlXyYKYz2
  • 2dKoCcQZYV
  • oHBYhO1JPw
  • -~YTMDYmN+
  • IXKYMq0kE@
  • Ub-C@xk8~r

我们后端服务从3月初开始正式开发,11个成员,加了三个多月的班。

事与愿违

本以为hudson to rescue,结果no silver bullet。本想着大家都遵守定时构建,一个小时一次,结果事实却是每个人都想一提交就构建自己的项目,然后立刻集成、部署。每个人都认为自己的事非常urgent,结果定时任务成了聋子的耳朵。逃避了每天手动构建,现在却还是频繁地要到hudson上去点点。工具再好,架不住违背工具哲学的使用。

今年北京QCon大家是看不到我了。从1月份就跟老大提要参加,折腾到昨天公司终于开始报名了,结果就他娘的报了四个人。四个人实在是轮不到我了。老大还专门向高层替我争取一个名额,结果得到一个诡异的眼神。那高层啊,你要是以后不出人头地都对不起他那小眼神。

也好,终于有个周末可以陪dearaprilfool出去玩了,最近太他娘的忙了。

我真是羡慕goodtiger啊。

Update

太忙了,真的太忙了,每天重复无数遍 mvn clean install -Dmaven.test.skip, 一不小心再遇上”cidaemon.exe”锁死文件无法删除,或者SVN报点Tree conflict,无法见证奇迹就只剩下悲剧了。都是重复的工作,但是在Windows下想做automation还是一筹莫展,比如要构建多个maven项目,也不知道怎么自动化地判断maven构建成功还是失败;再者在Windows里也不知道怎么自动化的scp文件到服务器上去,还要ssh执行重启服务的命令;手足无措啊。

最严重的问题是每天忙的要命,但是并没有感觉有应有的收获或者长进什么的,折腾了半天做的事情还是自己熟悉的小方面,只是做得相对变态而已。每天新的情况让你根本来不及重构,而且严重的问题是,重构好了又有什么用呢,谁能想到后面又有什么变化把你自己引以为豪的设计通通推翻。程序员要考虑的事情太多了,常常要揣摩一些需求方的心思,偷偷摸摸地提前做一些准备。

我现在已经有了一个annotation driven的自动暴露Java接口的框架。之前在CRL实习时,在Jazz上开发也是用一个类似的机制,当时是使用接口的命名规范来确定暴露,比如说有以get和post开头的接口都暴露为HTTP服务,就有很多类似postUpdate、postAdd之类的名字,昨天同事说这个名字太诡异。后来参考了淘宝Open平台的实现,通通的XML描述接口,服务名、方法名、参数名、约束通通写XML配置,我懒,也放弃这个方案了。最后选择用annotation,通过反射解析Java接口,实现的效果和前两者差不多,自认为相对名称的约定要灵活一些,相对无数XML描述符要简洁一些。

后来还为方法的每一步调用都加上监听器,每一个环节都可以注册外部自定义的监听器,所有的核心功能之外的需求都放到自定义的监听器里处理,和框架核心剥离。

再者,框架原本直接序列化接口返回的对象,后来需求有变,要加各种各样的包装。OK,弄一个WrapperFacotry的接口出去,想怎么搞也放到框架核心之外了。Spring的@Authwire(required=false)真是解决了许多问题,在实现InitializingBean初始化一个默认实现就可以了,这样在applicationContext里可以轻松控制外部功能。

还有的发现,序列化的框架分别用的是castor和jackson,结果做profile的时候一比吓一跳,jackson序列话的时间占整个调用的20%,castor的就占到50%了,太可怕了,恐怕要试试其他实现了。

细节扯多了,其实框架的核心都是一天写成的,后面加各种各样的功能花了很大精力。

最近升级到UBuntu10.04已经可以见证奇迹了,眼看着Bug越来越少,之前启动打在tty1上的ureadahead错误日志现在也隐藏了。一切趋于完美,新indicator菜单很好用。

清明回家,下午的火车。因为回家周一不能加班了,少了3倍的工资,悲凉啊。