All Stories

iPhone真炫

  今天跟公鸡去华强北看手机,主要看了iPhone,让老板拿出真机来体验了一把,还真是爽。爽的有几个原因,一是屏幕特大,这就让看惯了小屏幕手机的我觉得特别大气,虽然在很多机器里N73也不算小了,不过到了iPhone面前还是小巫见大巫了。二是里面的应用程序比较丰富,多媒体娱乐上网等功能都有现成的程序。三是界面比较漂亮,这是苹果一贯的作风,不过也确实漂亮,弄得我曾经把N73上的主题都换成iPhone的了,呵呵。四是它支持WIFI,这样就可以通过我的无线路由器直接上网啦,不用什么GPRS了,不但省了钱,也许速度也更快呢!  除了这些吸引我的特点以外,还有其他特性也是很安逸的,比如据说苹果将在3月份发布官方的SDK,这样就可以自己写程序来玩啦,这点也许是本质上最吸引我的吧,虽然我可能实际上永远都不会动手去写它的程序,但这样官方的支持,对于第三方应用软件的发展,是极有利的,不难想像将来iPhone上的应用程序将遍地开花,呵呵。  因为iPhone并不在中国大陆上市,所以在华强北看到的都是水货,今天问的价格最便宜的,8G存储容量的3750,真是太有诱惑力了,实在有点忍不住想买的冲动啊。不过最近手头太紧了,已经快要去喝西北风了,呵呵。

发现自己兴趣转移了

  这几天回顾了一下,发现自己兴趣转移了,对那些重构、敏捷开发、设计模式这类主题感兴趣了,反而对以前似乎很有兴趣的纯语言技巧之类的东西没什么兴致了。本来我也不会注意到自己有这样的变化,只是最近在找书看的时候,不知不觉地不想看那些语言的高阶技术书籍了,也许是自己写代码的数量到一定量的时候,就会有这样的转变吧,就会潜移默化地开始关注设计问题了。  今天先在图书馆网站上看到有《重构》中文版了,马上跑去,终于借到了,哈哈,真开心啊!简单快速地浏览了《重构》的目录,发现这书很值得从头到尾细细看看,里面讲述了各种类型的bad smell,还有几十种相关的refactoring方法,我自己觉得对于我现在的水平应该有很大帮助。今天又发现,VAX1559版里已经集成了比较实用的重构功能了,真是太好用啦,原来只是用一下它的rename,今天才明白,其余的这些功能都很有用,大大简化了重构操作。配合Source Monitor的度量功能,重构简直是一种享受!  看了几页《重构与模式》,很遗憾地发现,要先懂重构,懂设计模式,再来看这本书才能有所收获,不然就是一头雾水啊。所以,先好好看《重构》,还有《设计模式》和《设计模式精解》,这就作为最近一段时间的学习计划吧!

该死的ADO,该死的SQLServer,该死的XML

  当时还为自己的设计沾沾自喜、得意洋洋,觉得这样的想法、这样的灵感、这样的架构简直就是神来之笔,谁知结果带来的是无休止的崩溃,找不到原因的异常!  因为需要对流程支持历史版本,也即如果新的流程里删掉了旧的里的活动,但活动里又有关联内容时,流程图在显示的时候,需要把表示活动的图形也显示出来,而boss又认死了excel这个东东,所有流程图的内容都要在Excel中编辑完成,可Excel里又没有记录修改动作历史,于是乎,我的设计隆重登场了。我先把Excel中的内容转换成XML保存下来,然后当Excel有了变化,再分析一遍转化成XML,跟原来的XML比较合成一把,这样似乎就能在那么丑陋的设计中以自以为比较优雅的方式实现这个需求了。结果问题也来了,原来的数据表结构要修改,需要为每个流程记录增加一个存放这转化后的XML内容的字段,而恰好MS SQL Server 2005中有那么一个叫XML的字段类型,于是欢天喜地、兴高采烈地用上了,于是又花了一天才勉强做得像以前已经完成的那种程度。因为XML里可能有各种字符,而且可能非常非常长,所以用合成SQL语句来insert、update、select是很难受的做法,又出于我对ADO的不熟悉,好不容易找到设置Field的Value属性的方法,结果在存放、获取XML数据里花了我今天近一天以及之前的那些时间!  在写入XML时就陷阱重重,第一条xml处理指令的存在就很可能引起崩溃,简单说来,我保持了GB2312的编码方式,里面有中文,它就不让我写进去,一update就崩溃,现在想来,也许用UTF-8不会有这样的问题,嗯!但我还是作了个很恶心的决定,要写入之前,跳过前面的这条指令!接着在取出时,总是会在后面加入一堆乱七八糟的东西,又花了好多时间,最后决定,自己在字符串中查找结束标志,之后的全部丢弃,才好不容易让MSXML的DOMDocument接收了,而且是不能让它直接load文件,得自己把文件里的内容读出来,加上那个xml处理指令,再loadXML,晕死!  不容易啊,不过也算是经验教训了,下次再遇到这样的事就应该能省很多时间,不过我猜下次的机会不多了,不已经烦透了,我要去做其它的东西去。可能还是会让我去做Impeller的部分工作吧,我要让它支持灵活的外部扩展,我要让Source Insight消失!

ADO操作数据库还真麻烦

  有点像标题党,呵呵,如果这样的东西放在csdn之类的地方,说不定会引来一大堆人的口诛笔伐,不过这真是我今天的感受啊!  早就烦透了用C++通过COM接口使用ADO来操作数据库了,不得不为那些先人们的艰苦生活感到可怜了。如果没有ADO,我的生活肯定不知比现在悲惨多少倍呢!  但是现在我也是感到苦恼气愤,为什么SQL Server会有这么多不同的字段类型,却使用了同一套表达能力极为有限的API和SQL语法。今天也就只花了一点时间来写代码,结果全都花在这个引起的问题上去了,而且到现在都没解决,郁闷!  恶心死啦!

去报了个驾校

  年前就想去报了,结果被小破江江一直拖到现在。真是后悔当年在学校没去考,当时只要2000多RMB就可以了,今天就刷掉¥4080,心疼呀!  计划着是到周末的时候去学一下,据说一次才学1个小时,这么少时间!等到半年多过后,差不多就能拿到驾照了,争取有足够的钱去买个车,呵呵!  不过要学个车也麻烦呢,要交十多张一寸照,要填好几张表,还要3份身份证复印件,甚至还要体检证明!还要去理论学习,还得是工作日去,还得请假,还得有几次考试,还得都是工作日的,还得都请假,真是烦啊,还好还有几天年休假!  加油加油,赚钱赚钱,呵呵!

《UNIX编程艺术》

  春节放假前就在看了,这书我早就买了英文版,那时意气风发,还以为自己能忍住煎熬看完的,结果没看几个字就束之高阁啦。这回从公司图书馆借来的中文版,居然还能坚持下来看,真是书非借不能读啊,哈哈。不过我也没有全部仔细看完,只挑了中间自己现在感兴趣的,有点关注的主题看了看。总的说来,这书对我的启发意义还是有点大的,对于程序设计方法,软件架构等都有不少的教育意义,觉得还是多有收获的,呵呵。  这书完稿于2003年,所以今天看来,有少许内容有点过时,没有及时刷新,但这并不妨碍它在总体上成为一本好书。最后几章的内容我就没看,看了一下标题,觉得没多少兴趣。  最近对程序设计方法、需求分析之类的主题比较感兴趣啊。接下来要看看重构、测试驱动开发、设计模式方面的书啊!可是可是,我那本《敏捷软件开发》被老大拿走了,他怎么能这样呢!

小思宇结婚了呢

  昨天听小妞说的,小思宇前天去领了证,昨天就去公司请假,下周就休假一周,过甜蜜生活去了。时间过得真快呀,想当时我们4个人一起住的时候,还都是小孩子,不时地还会谁跟谁怄气一下,然后剩下两个人要么不知所措,要么就去劝架,呵呵。转眼间,小思宇就已经是已婚妇女了,哈哈,再过不了多久,小妞也要嫁作人妇了,呼呼。  祝小思宇彭彭幸福!

今天遇到奇怪的事

  给江江写了一个小程序,用于自动从一些excel文件中复制数据到另一些excel文件。但江江说有问题,我也不知道到底哪里出问题了,于是想加入日志功能吧,这样至少可以看看代码执行的流程。可就在这里,遇到一件怪事,居然写文件写不进去内容!开始我是用C库里的fopen系函数来写文件的,但是什么都写不进去,单步调了一下,好像fopen就有问题,该函数返回的是一个FILE*,但看调试器里,该指针指向的内容是一堆0,好像就是打开失败,但它却确确实实返回一个有效的指针了,郁闷!于是我就试了一下用C++库里的fstream,开始看好像是可以的,于是我就把原来自己写的那个日志类拿过来用,反正里面写文件的代码就是用fstream的,不过这时又不正常了,只是零星写了点完全无用的数据进去,其它信息压根都没有,真是郁闷啊!  因为是用了那个日志类,所以OutputDebugString的输出还是有的,这就让我觉得很奇怪啊!因为下班了,于是也不想再继续深究下去了,反正用DebugCapture捕获这些输出,再导出到文件,也勉强是可以用了,呵呵。  不过这真是奇怪啊,完全没有任何头绪!

元宵节快乐

  又是一个节日,又是一个人过,又是一次难过。什么时候才是个尽头啊!今天,我突然顿悟到一种奇怪的念头。付出是不一定会有回报的,而且是有很大几率没有回报的。而有时候,什么都不做,却什么事情都往头上摊。无可奈何啊,茫然而麻木地做着这些事,只是为了企望以后能少点遗憾和后悔。