weekly review 200846: table tennis
本周虽然没有浪费太多的时间,可是乒乓球比赛却消磨了不少原本计划用来写程序的精力;5G的系统管理部分的数据库设计基本完成,虽然还有个小尾巴,但是应该不会有太大的问题。
周一,早上坐班车去NCC,开始进行数据库设计。我负责系统管理部分,相对来说比较通用,参考FrameWork,一个开源的ASP.NET用户权限管理框架,开始设计用户表、权限表、角色表、日志表……不过进行当中,发现自己数据库部分的基础知识匮乏,补充了一下Oracle Datatypes方面的知识。中午犹豫了半天,最后还是留在那边午休。下午继续上午的工作,到了四点多感觉比较疲劳,于是就回到单位打了几局乒乓球,名义上是训练,其实就是自己找机会放松一下。晚上自己在家里吃饭,吃饭的时候偷空看了House M.D.。去公交车站接老婆大人回家,然后开始写CMI的程序,将之前的一些东西重新实现了一下,虽然有可能让代码更加漂亮,但是却没什么成就感。最后花了一个小时的时间上网。
周二,早上骑自行车去NCC,风大,有点冷。上午继续数据库设计的工作,基本上进展还算顺利;预计本周内完成的数据库设计工作应该可以在三天之内完成,这样我就有时间看书或者做些自己的事情。中午回来踢球,有风。下午回到NCC,到下午四点完成了数据库表的设计草稿;剩下的时间用来看DGEL,已经看到了Cache部分,不过看的并不多。晚上回家下载了 Prison Break 最新的一集,吃饭的时候和老婆一起看,的确比之前的一季精彩,不过似乎是回光返照的意思。吃完饭,去了一趟办公室,倒了一些数据,明天要用。十点钟回到家,没怎么写程序,清理了一下订阅。感觉有点累,看来中午踢球还是有些影响。
周三,上午在NCC继续做数据库设计的工作,抽空写了一段CMI的代码;中午就留在那边午休,下午继续。晚上和同事一起吃饭,虽然CMI的项目进度已经比较紧张了,可是我还是没有能够回绝。吃饭倒是很快,八点半回到了家里,然后去训练了一个小时的乒乓球。回家之后继续CMI的代码,最终放弃了在内存中做数据比较的想法,准备另起炉灶,考虑使用数据库来比较数据。
周四,上午在NCC画数据库设计的ER图,本身系统管理部分涉及的表并不是很多,无非是用户、角色、功能,以及日志等等,可是我对于如何实现权限的控制有一些犹豫不决,一种选择是权限直接作用到每一个用户,至于采用bitwise(这个术语可能不够专业)还是多对多的关系表,暂时还没有确定;另一种是权限作用于角色,然后用户和角色发生连接,这个似乎是现在比较通行的处理方式。中午回到单位,因为昨天晚上睡的比较晚,所以忍着没有去踢球,躺在床上也没有睡着。下午去办公室,说是三点钟要去填写一个调查问卷;可是三点钟的时候,并没有能够开始,大家聚集在大厅里面闲聊,中国人的不守时是世界知名的,比如我自己也经常上班迟到:)匿名问卷很快填完了,估计会按照上面的意图来解答,也许我们根本看不到(真实的)调查数据,所以大家填的也未必都是自己真实的想法;这个倒是和我们的选举一脉相承。在活动时打了一会儿乒乓球,然后就去参加乒乓球比赛的开幕式,又是百无聊赖的等待戈多(领导)。下午练球的时候感觉状态并不是太好,晚上的男双比赛,虽然对手比较弱,但是在先赢一局的情况下,最终还是以2:3告负,好在团体比赛中的女单、混双、男单二号都赢了,所以拿下了团体比赛的第一场。赛后,还去吃了宵夜,喝了点啤酒,时间就这样消耗掉了。晚上回来,无心恋战,上网溜达了一圈,睡觉。
周五,上午到NCC已经快要八点半了,参加了项目组的周例会,然后是一个oracle培训。培训老师是Oracle应用开发部的,应该说水平很高,培训的主要内容是SQL的调优,这个是我以前没有涉及到的题目,开拓了一下眼界,下周一还有一天。据说Oracle的培训老师薪水非常之高,搞得我心里多少有些痒痒,其实我现在还是站在三岔路口,系统管理员、DBA或者是程序员,我一直希望能够专心于其中之一。下午提前离开了培训课程,回到单位参加男子单打的比赛,对手比较弱的情况下,以3:0晋级32强,不过下一轮的对手非常强大,几无获胜的可能。晚上继续团体比赛,今天的对手相对比较强大,男双比赛的时候对方并没有拿出真正的实力就以3:0战而胜之,我们这边还是失误过多。估计最近两天打乒乓球太多,肩膀有些疼痛。后面还有两场男团的小组赛,我和partner至少要争取赢得一分。我们这边的男单一号、混双和男双都输掉了比赛,第二男单甚至没有获得出场的机会。晚上没有再去宵夜,回家也没有写程序。发现自己的订阅太多,花在浏览网页的时间也不少,所以清理了一下订阅,把数量控制在100以内。
周六,早上老婆去上课,我去参加乒乓球男单的第二轮比赛。对手相对较强,在对方未尽全力的情况下,还是打了我一个3:0,还是感觉自己发挥不出来。回家以后在网络上滞留了一会儿,然后就出门去找老婆大人去了。在KFC里面吃了嫩牛五方,喝了蜂蜜柚子茶,然后看《民以何食为天》。推荐这本记录中国当今食品安全现状的报告文学,至少看了之后我们能够少吃一些“毒”食,其实过年的时候拿来送人也不错,还有两篇“书评”:欺人太肾结石,跟减肥无关也值得一看。大概一个多小时之后,老婆终于下课过来。去双安商场看了看运动鞋,却发现Dunlop在特卖打折,之前1500多的包,现在只需要400块钱,性价比蛮高。只是拿不准以后其他的那些所谓大牌会不会也跟着跳楼大甩卖,所以并没有购进。老婆大人没有看到特别钟意的鞋,所以就去了双安对面的长安小吃店吃了酸辣粉和带鱼砂锅。走路去了第三极,在一楼东大厅看到了爱心·王搏计划“走出地震”影展,见到了传说中的王博老师。最后和老婆大人商定,资助一名代课教师,我觉得资助一名老师比资助一名学生更有意义,当场签了协议,大概从明年春季开始吧。晚上又去参加乒乓球比赛,因为之前的双打发挥得不好,所以这次被第二单打替换,改为让我来打第五场的第二单打。对手的实力不弱,所以我觉得自己出场的机会并不多,比赛之前还和对方的第二单打在旁边练了会儿球。比赛的结果多少有些出乎意料,我以为前三场我方都赢了(新的男双组合发挥的也不错,战而胜之),结果却发现开始打第四场的混双了,我还以为是友谊赛,打满五场呢。后来才发现,我们的第一男单输掉了比赛,所以在混双之后打成了2:2。决胜局,我。估计是对我没什么信心,所以领导说只要放开打,敢打敢拼就行。第一局,比分很接近,最后我以16:14艰难的赢了下来,对方发挥得不好,并且吃球。第二局,先是5:1领先,后来被对手追成5平,然后又是9平,最后凭借对手的失误,11:9,再下一城。第三局,上来先打了三板漂亮的正手拉球,多少恢复了一些自己的手感,对手有点被打懵了,比分到了9:2,最后是以11:3拿下了比赛。之所以能够赢得关键的一局比赛,一是对手发挥的不好,至少在我看来不如赛前练球;二是我自己的手感多少恢复了一些。另外想想,可能觉得我当时配对双打,两个横盘选手多少有点站的太近,动作放不开吧(后来新的配对是一横一直)。
周日,早上九点钟起床,吃早饭,然后磨磨蹭蹭的写程序;中午11点去学打乒乓球,然后下午1点左右开始正经写程序。把CMI的程序转为数据库驱动的模式。四点钟和老婆去给昨天签约资助的李海老师寄挂号信,按照约定,李海老师会把一些证明材料寄过来,然后提供帐号或者是汇款地址;其实证明材料对我来说并不重要,我对王博老师有足够的信任。去超市买了一些食材,然后在家里吃火锅。晚上去打最后一场乒乓球团体小组赛,结果我又一次要打第五场,可惜这次的对手比昨天要强势一些,并且我发挥得还是不够好,虽然有几板正手攻球很漂亮,但是失误还是不少,最后1:3落败。自此,乒乓球比赛之旅告一段落,得到了一些乐趣,耽误了一些时间。晚上回家的时候在路边看到一只流浪的小狗,我去打球的时候就看到过了,回来的时候它还是在那里,很危险的蹲在马路中间,被来来往往汽车吓的瑟瑟发抖。有个女孩子试图接近它,把它带回路边,没有成功;我去试了试,也不行,用脚向要把它赶回路边,反而让它更加靠近路中间了。好在往来的司机师傅都还比较小心,一般都是慢慢的通过小狗所在的路段。我让老婆大人买来了火腿肠,后来又买来了骨肉相连,可是小狗都不为所动,还真是狗穷志坚啊。那个女的把小狗最终从路中间带回到了人行道上的垃圾桶边,小狗吓坏了,多少有点甚至不清,不肯让人接近,还是不肯吃东西。最后,在寒冷的冬夜里,小狗留在了垃圾桶边上,我实在是帮不了它。晚上回家,写blog,看了几篇技术类的网志,然后睡觉。
我是从工作以后,大概2004年开始打乒乓球的,和CB打了大概两年时间,自我感觉水平提高了不少;可惜自从CB上学之后,没有合适的对手,所以就放了大概有两年时间。这次乒乓球比赛,我发挥得并不好,甚至打不出平日练球的水平,一来是基本上没有参加过正式的比赛,心态和节奏上缺乏自我调节;第二个是对于双打还是不够适应,不知道如何配合;最后也是我认为主要的原因,就是因为我前不久开始找教练学打乒乓球,教练教的动作比较正规,花了不少精力纠正我之前不正确的姿势,可是因为时间比较短,所以我现在处在一个新的(正确的)动作没有练好,而原有的习惯的打法被干扰的阶段,比赛中连发球这个环节也比之前差了很多。后来仔细想想,自己可能还是过于的急功近利了,一位在比赛开始之前两个礼拜开始拜师学艺就可以一战,其实还不如先打完比赛,找到自己的差距然后再请教练调教,当然在比赛当中也可以仔细观察逐步学习。乒乓球比赛结束了,在团体比赛中,我输掉了两局男双比赛和一局男单,赢了一局男单;在个人单打比赛中,胜一局负一局;虽然有对手比较强的原因,可是我始终决的自己没有发挥出最好的水平,有点遗憾。
每次写程序的时候,都希望能够在项目中学到一些新的东西;这个和上面的想法如出一辙,结局也大多不怎么尽如人意。平常要注意学习本没有错,不过在做项目写程序的时候,最好还是使用自己熟悉的技术先完成主要的框架和功能,在达到时间、功能、性能等要求的底线之后,不妨再引入一些新的技术来优化。另外,在写程序的过程中渐进提高也是很重要的,自己总想着一次就做到最好。现在的CMI这个项目也如是。好在现在明白了一点,可以回到正确的路线上。另外一个就是发挥的问题,其实有时候难免希望自己在最关键的时候(比赛、考试……)超水平发挥,可是往往是不如人意,根本的原因还是在于自己的技艺不够精深,这一点无论是在乒乓球比赛中还是编码中都是一样的。寄希望于自己在某一个项目里面学到更多的东西或者更出色的完成功能,多少有点超现实,还是踏踏实实的争取发挥自己正常水平为好。
“耐心是最快的速度”,这话时连岳说的,知易行难。忘记了最近在那里看到,说如果想要精通一项技能,一般大概需要10,000小时,也就是在十年的时间里面,每周至少保证40个小时的练习,才能够在十年之后达到高手的境界。年龄大了,不知道还有几个十年。其实我是愿意用十年时间来自我修行的。曾经一度犹豫,是做DBA还是development,同样有诱惑的还有SystemManager和Tutor。至于DBA和SystemManager则需要有能够大量接触不同案例的机会,这点我现在还没有;Tutor虽然在收入上令人羡慕,可是我却无从入门。后来还是觉得做程序员可以比较少的受外在环境的制约,毕竟网络上有足够的书籍和源码,甚至还有项目。
本来想要利用周末的时间追赶一下CMI的进度,可是未能如愿;下周主要的工作重点还是放在CMI上吧,再不加快速度,估计就没有办法交待了,我的项目经理已经对我很宽容了。周一的时候会再上一天Oracle的课,周三有可能会开始讨论关于数据库设计的问题,还有一天的时间要回到单位值班,本来想要在周二的时候去王博老师那里帮点忙,现在看来时间上可能比较紧张。5G的用户权限管理部分可能还需要再查找一些资料,参考一些成熟的方案;另外下周应该开始写系统管理部分的详细设计文档,如果顺利的话,最好在下周之内完成。