青年维特们之烦恼
人未到中年,而少年也不再适合用在你们身上了.那么,青年的维特们,你们都在烦什么了?
枚举我身边的一些朋友的事:
1. 爱情对你来说已不如往日那样矇胧,你清楚地看到里面某些很现实很残酷的情节,甚至有时候你需要靠一些文字或音乐去麻痹自己去相信爱情.
2.你明显感觉到背上的压力了,你知道单靠你一个人,你近几年内供不起城市里的一间房.这意味着你无法给存在或还没存在的某某人"家的感觉".
3.你一直都告诉你以前的队友说,你不会放弃音乐呀,那么你现在一个星期弹琴的时间是多长?一个手指是指?一个下午?一个小时?一刻钟?哦..不,天哪,只有一分钟?!
4.好了,抛开你的音乐梦想不说,是谁在几年前雄心勃勃地说要闯一番事业?你现在在做什么?看老板脸色决定今晚几点吃饭.
5.你工作很积极,有不错的成绩,今天去费九牛二虎之力跟客户谈完事回来,价钱总算保底了,回到公司上司找你说,成本的预算可能得再减一减.你抓狂,不管在客户或是公司面前,你都得同样的争取某种利益.
6.妈妈催你嫁人了,你也知道,有钱的男人不难寻,但有心的男人不易找,但偏偏你好像遇上了一个有心的但没怎么有钱的男人.
7.你突然想起几年前你入行的时候,有好心的朋友告诉过你,别把公司当家了,顿时觉得这是金玉良言.恨自己当年很傻很天真.
8.你突然不确定自己想做女强人还是要做小女人,很烦.
9.你喜欢写代码,可现在只能在晚上回家的时候与代码温存,上班开始强逼自己做些很讨厌的事情,比如听一些表达不清的客户说话.
10.你通过google reader不断地从阅读有聊无聊的社论,博客,你渐斩发现,你门不喜欢出了,其他网站也不爱去了,脑袋快要爆炸了.
11.还有很多人在你耳边说,做技术的做不到老的,你很想理直气壮地教训他一番,但你却从来只会呵呵笑.
12.最惨的,你一天可能要花上三四个小时去坐公车上班,因为你住在城西,工作在城东,你不敢换转行,因为这意味着你要从头再来.
13.还要更烦的,你是个完美主义者,从来不轻易向现实低头,你大学毕业几年了?现在还没找到工作,一直在靠家人和朋友的借贷过日子.
14.还有很多说不完的事.....
尽管工作,生活还有感情上都有着大大小小的不愉快或不顺利(但请不要对号入座).但希望我的朋友们还有我自己都健健康康,保持乐观去享受生活中的每一次痛苦和喜悦.因为这就是生活呀.
We are on Grails
Grails?你的产品使用Grails!?是的,我想告诉你,我们正在使用Grails,并且产品现在也健健康康的。
轻量级也会做恶梦
我之前的项目大部分使用java做开发。spring + hibernate + Struts or Spring + hibernate + webwork 固然好用,可是到一千个人手里有一千种做法,你这样封装,我如此扩展,虽然这些东西在手中玩得烂熟,但,噢。。天,还有没完没了的配置文件,传统Java web Server那极不可靠的热部署能力,我只能无止境地重启再重启Web server。用我同事的话说,走出去抽完一支烟回来,还没启动完成。做Web开发,真用得着这样折腾吗?
老板,我也要on rails
如果到现在你还没听说过ruby on rails 或 django,那说明你还不是一般的脱节了。正在大家热衷于讨论“贫血模型还是充血模型”、“EJB3还是Hibernate”的时候,Ruby on rails的到来有如一缕清风拂面,让人有焕然一新的感觉。其简约清爽的风格赢得不少开发者尤其是Java开发者的欢心,不少Java界的大牛声称转移到Ruby社区,国内著名的Javaeye社区也开始使用Ruby on rails(以下简称ror)来开发新版的网站,真是很身体力行。后来,pythoner站出来说,在python社区也有一种框架比美ror,她叫django。
我分别用上了ROR,Django,喜欢上她们,并用Django写成了现在你看到的这个网站。满心欢喜的我按捺不住喜悦要跟朋友和同事们分享这一切,只是由于种种原因,我的“八卦N种流行的快速开发框架”的分享讲座至今还没有开。
ROR,Django固然好,无奈产品的生产环境是跑Java,Jruby,Jython之辈不成熟,更不用说Jruby on rails或Django for java。车到山前必有路,Java的王储Groovy日渐成熟,其对应的Web开发框架Grails更新也很勤快,Java社区是不是很快就有像ROR和Django一样的快速开发框架了?一时间,社区议论纷纷,有褒有贬,众说纷芸,JavaEye站长robbin更认为Grails不会有大作为。OK,1.0之前,我继续持观望状态。
Grails?嗯,很高效!
说真的我一直在等Grails1.0。1.0的释出,我跟团队说,今天开始,我们要用Grails了。
两个月下来,产品释出第一个版本,同事们认可了Grails的高效,并且表示往事不堪回首,再也不愿回到从前的开发模式当中去。
简单总结一下Groovy和Grails的好处,但本文重点并不在于此,更多的可以参考Grails官方网站或Google。
一、天然的充血模型,省略你曾经很头疼的DAO。
二、现在用Hibernate,一个配置文件也没有,讨厌的注解也不需要,实现ORM,实在是易过借火。
三、数据库Schema智能升级,管好你的模型,不用担心数据库。这个比Django好!
四、热部署,这是相当重要的。
五、灵活的数据库查询,跟ROR一样使用动态的find实现复杂的查询。
六、快乐的闭包。遇上一些策略性的业务情况,现在可以很萧洒地扔一个闭包进去作参数,Cool,和多余的Interface说再见。
七、智能的依赖注入功能,还是要感谢Spring的IOC,在Grails里面只需要声明成员变量即可自动获得注入,还是0配置哦。
八、强大的数据验证功能。这一点抄Django的。
九、生成完整的项目结构。正是这样,才能真正做到快速启动开发。
十、更多请Google
Grails其实很容易上手
团队里面有同事有ssh的开发经验,从接触Grails到开始编码使用1天时间,简单读过文档之后就可以开始了。
团队里还有个新人刚毕业,甚至Spring都不认识,可这些都没有妨碍他与Grails快速实现亲密接触。
如此容易开始,如此高效的工具,你真的还要考虑那么久吗?
我知道你在担心什么
有人问我,在现在这种形势下(Grails虽然出了1.0,但实际应用还不多,够不上成熟),你怎么有信心使用Grails?其实很简单,它发展速度很快。
他们担心Groovy太慢,Groovy解释速度慢只会在开发过程中有些影响,生产环境下将会部署生成的字节码,速度照样飞快,而且Groovy的效率也提高的很快,我完全有信心Grails以后越来越快和越方便。
再问,Grails刚出来,可能很多Bug,如果遇到一些无法控制的问题那不是死定?呃。有同事这样问过我同样的问题,我认为决定要在产品中使用一项新技术的时候,必须要对它有足够了解,还应该有信心面对一些不可预知的问题。只有如此坚定,你才敢去使用它,尤其是在它诞生不久的时间段内。
网上有Grails的负面评价。我的建议是,有些负面评价只是主观的判断,就像ror,django到今天同样有负面评价一样,借用那句话:谁用谁知道。
We are on Grails
不管你在想什么,我和我的团队的确感到了快乐。因为使用Grails。
搭车宣传一下上文的产品中的其中一个作品:手机仿真。这里是产品宣传站(基于Plone的哦),该产品前台演示及后台管理、制作均使用Grails开发,目前已在生产环境(指客户的)连续运行较长时间,工作正常。
开始启动Scrum
我的产品团队成员并不多,开发人员三个,产品负责人我兼了技术经理,不过技术在经理一职我将站在更高的层次上去指导团队,并计划在开发团队中培养技术接班人。这一次,我的角色为产品负责人,在开发人员当中挑选一位质优者当ScrumMaster,而这个Master其实也是新手,不过我会帮助他组织日会议,为他过程方面的疑惑等。
产品Backlog我称之为产品总目标,Sprint backlob我称之为短跑目标,Sprint还是如实叫短跑。第一次Sprint启动会议在本周星期四,持续时间的确如想像中一样,相当长。从分析产品目标,确定Sprint 1实现目标,到细化目标到故事,再到任务,估算各任务工作量等,上午到中午休息再继续。共计耗时四个小时左右,比起八小时的Sprint启动会议要短了。另外,每日的会议安排在上午九点半召开,开发团队成员每次的会议要解决的问题有:
一、从上次会议到现在,我做了什么。
二、从现在开会到下次会议,我会做什么。
三、上次会议到现在,我遇到了什么问题需要大家帮助解决。
日会议我并不参与,会议记录和主持交给准Master负责。
当我决定引进Scrum,并给队员讲述该过程的时候,他们都挺欢迎这种做法,他们全部参与到需求细化与工作量评估上面来,对他们来讲是一项挑战,也是一项提升。总的来讲,对产品有好处,对团队成员也有利。
当然,过程才刚刚启动,团队可能在工作量评估和故事细化等方面能力有所欠缺,但不要紧,燃尽图会老老实实地反映出来,到Sprint验收会议的时候,初次尝试Scrun的问题会凸现出来,第二次短跑的时候会有更多的经验。
接下来看一个Timebox(我定了是三周)之后效果如何。
最后,上一张白板。看,多么草根。没办法,我们这里的办公室还是很原始的那种格子式的。。白板的内容也相对简单,一张燃尽图,三个状态的任务队列,和未计划区,其他如Sprint目标并没有写上去。。更多的信息是保存在Wiki上了。日会议要做的一件事就是把任务卡从一个地方挪到另一个地方。

广州早晨
来杭州第四天,可能知道要回广州了,尽管是十一点的航班,身体却一大早就醒来,我索性就不睡了。
在杭州前三天分别经历了她的大雨天、大风天、大晴天,这边的朋友说我比较幸运,可以在三天内体验到杭州的N种天气,我说是啊,只是时间不允许罢了,不然可能连个雪天都能让我遇上。。嘿。
昨天工作完成后,老P建议我不急着回程,所以跑到西子湖边一所又旧又新的星巴克伪小资了一番,在星巴克上网你做得多,写文档、写代码在星巴克你试过吗?在那耗得不过瘾,我在接近下午四点的时候决定环湖走一圈,全程怎么说也有十几公里吧,将近走完的时候时间也将近八点了吧,越发崇拜自己的耐心和毅力,于是给来过杭州的朋友短信炫耀了一番。这一行,收获不少,这个季节,刚好春暖花开,西湖岸上的桃花开得灿烂极了;直到现在我才体会到什么是“柳絮满天飞”;我在刷黑之前赶到了雷锋塔探望了白娘子;我沿着长长的苏堤走啊走,最后来到平湖秋月的时候我却不知我身在何处,打电话问了朋友才知道我前方已是断桥;我们约在西湖边的酒楼凭窗而饮,从现实社区到互联网社区、从字符版BBS说到硬件说到电子商务平台前景、扯维基、扯长尾,不知不觉已到半夜。
今天回广州,上任公司工会主席一职。。早在清明节在家之时得知自己获票数最高时已感意外,这下就糊里糊涂整了个工会主席来当,没有心理准备,没有准备,只望对得起同学们的信任,以为同学们谋福利为己任咯。
早安杭州,早安广州。
杭州早晨
凌晨两点十分,终于到了杭州的酒店。明天早上八点半的会议,让不让人活。。。
一天之间经历东航罢飞、飞机晚点、有够幸运的。接下来就是争取睡五个小时,明天开始做事。。
博客好长时间没有更新,长了草,垃圾评论真多。有空再清一下,顺便做个验证码的。
身体健康
动完手术一周后,姐今天出院了,这个周末回来广州的话,我会过去探望她“老人家”一下。希望她赶快恢复起来,以后总是健健康康的。
工作忙,吃饭无规律,不节制的饮食和作息,似乎成了大部分人特有的特征,我曾经经历过一段漫长的加班岁月,经常加班到三更半夜再吃晚饭洗澡睡下,第二天中午起来上班继续奋斗,幸运的是那段时间的劳累没有给我带来身体上的伤害,而后我也更加懂得珍爱自己的身体,知道健康才是一切。
某人总是不爱听我的劝告,每每都是要等到自己真的受不了,眼睛睁不开了才打算休息。知道这样有多么伤身么?我始终不认为我的理由没有说服力:
你今天己经加班加点了,如果的确赶得很的话,尽早休息好,明天一早起来做的效率会更高,相比之下现在继续劳累,效率低下,搞到三更半夜才睡,明天精神又差,如此不断地恶性循环,就永远没有休息好的一天。
可是偏偏某人责任心冲晕头脑+牛脾气。这不,身体发出警告了才乖乖想起去睡觉。。真没办法。
身体是革命的本钱,如果你连自己的身体都不懂爱惜,怎么去爱惜别人,怎么去爱惜爱惜你的人呢?
愿你们都身体健康!千万不要学我,这个时刻还流连在网上。
晚安,广州。晚安,所有未眠的人。如久没使用如此悲壮的结束语了。。。
哎哟哟
哎哟哟。发现现在站点很慢,貌似是网络慢,不知道是主机网络还是偶的网络问题,在公司也一样很慢。
哎哟哟。捞的博客都快成了化石博了,突然来一篇很好很强大的。难怪今天问我,友情连接功能加上没?我说,好久没更新了。捞一个劲笑。哦,有阴昴。。
哎哟哟。年关了,最近跟项目的兄弟们说,为了大家在过年的时候可以悠着点,大伙一鼓作气一番吧。结果这几天忙部署、开发、部署、加班。辛苦一班哥门鸟。
哎哟哟。本站又来了一位勃客,据闻已经偷窥了fallever粉久了。还牺牲了在新浪的勃来入住这里,与其说是牺牲,倒不如说是弃暗投明。。卡卡。。这回又有动力继续干活了。。
哎哟哟。发现一件很惊喜的事情。我的PR又涨了。这次升到三点了。恭喜恭喜。截个图给你要吗?要?真的想要?你确定想要?想要就说吧。难道你真的想要?来!

这一小进步不简单。继续努力呀。。