买书是最划算的投资

工作久了,我越来越觉得,于我这种半路出家的IT男而言,买书看真是最划算最明智的投资。除去高中入门和大学计算机二级课程,在专业技能方面,ks算是正儿八紧指导过我的唯一一位导师。在此之外,我现在具备的一些码农技能大多来自网络及书本了。

网络在IT知识方面几乎是万能的,什么资料都能在各种角落找到,但经常过于碎片化。有可能它只是谁的一篇博客,是论坛里一个帖子,也可能是邮件列表里什么人的提问,相比之下书本(不提那些为了凑字数的烂书)就要系统些,也普遍更深入。 

本来应该要多买正版书尊重知识产权的,但我对复印书确有种莫名的喜欢,也许是我遇到的复印书商都比较认真没缺页没封装订次序颠倒吧。不知为何taobao上的复印书统一都是浅绿色封皮。再其次也喜欢看到书架上书摆得整整齐齐的,大小一致(其实好像也没多少,这么说多少有点装…)。

今年有幸做了段时间的技术面试官,与大家闲聊中发现几十人中居然少有平时读书者,我还只是问专业书籍而已(我自己也只是看看专业方面的,就不好装X问别人看啥文艺书了)。很多工作了多年的人,长期以来只是在公司的开发框架下埋头干活分配自己的活,做了这么多年项目水平要业务不懂业务,要技术完全不懂技术,非常非常可惜。当然,也可能是这边公司不大,求职者水平整体偏低的缘故。

linux mint14

mint-menu

这个开始菜单很合我意啊,丝毫不亚于Windows。

IBM db2 瘦客户端或驱动

IBM db2 瘦客户端或驱动 下载地址备用

ftp://public.dhe.ibm.com/ps/products/db2/fixes2/english-us/db2winIA32v8/fixpak/FP18_WR21443/

新年快乐

微博微信已成了主流,博客似乎已少有人问津了,像我这种懒人去年才使用了两次。

2012的农历年我是在遵义过的,蹲守某商行看着一个我参与的到处是坑的银行系统,这种傻乎乎的“敬业精神”以后估计很难有了。

上半年,除了和小易做系统维护工作外我还独自带了个小项目,给某商行做中间业务系统。项目非常小,并且有许多现成的功能是公司前辈们已或多或少已经完成的,我算是捡了个不太不小的便宜吧。长期驻守现场太久,如果不是每个月还会收到公司发的工资,都感觉与公司脱离关系了。并且有个非常坏的情况,我这种以前没带过项目,没好好看别人带过项目,又不太会与人绕弯子的项目经理,回想去年做得太不专业了。

下半年公司有个机会,部门新立项了一个研发项目,我终于有机会回深圳了。在很长一段时间,我很庆幸自己把握住了方向,写了非常多的工具代码,从中间业务项目中剥离出了开发框架。那个时候真是勤奋啊,每个把星期要向部门同事邮件广播一篇技术分享文章,也顾不得合不合适,这种张扬的事情估计也只有我干过吧。但这是我必须要做的,一来我确实有与公司同事分享技术经验的欲望,二来想通过这种纯技术性交流邮件让大家知道我是回公司参与项目研发的合适人选。效果应该还是不错的,在部门领导的支持下我如愿与分公司同事做了交接,9月中旬回到了南方。我是带着任务进项目的,负责整个产品的后台架构及基础代码封装,由于前期的准备及沟通充分,工作进展得非常顺利。我感觉做事情意愿非常重要,越是主动越是积极,事情越容易朝着预期的方向发展。

过去的半年时间,是自三年前离开朝攀科技以来过得最安稳的。每天按时起床、老婆给我做早餐、中午午休、周未双休,虽然经常晚上加班,但也能在晚上相对较早回到家。这样规律的生活,最直接的后果就是肚皮上终于有小块肉出来了…-_-! 嗯,这是老婆的功劳! 周未时常可以躺在公园的草地上看看书(睡个觉),惬意得有点怀疑是不是真的可以这样生活下去。

12年写了很多代码,也偶有小想法,总体来说在自我表达方面是非常欠缺的。在许多较正式的场合,我没能很好地现场表达自我,即便有些想法后来都成了实际应用的解决方案。即要能务实,也要能务虚。人不笨,勤奋有积累,做到务实并不难,但要更好地推销自我,将想法及方案更好地用语言现场传达给他人,是以后我要好好用心的。

人生无常,无法预知明天会发生什么,以平常心活好今天吧。

又爱又恨php

从05开始接触php到现在,少说也有7,8年时间了,中间拿它写过玩儿的Blog系统,写过商用系统,写过各类辅助开发的工具,还用它来抓取过黄图无数。并且于去年,它还几乎救过项目组一命,当时如果不是在两天左右的时间用php写出对账程序,那1亿多RMB的错账真无法想法怎么办。

因为以前用的都只是用于B/S系统或者跑的cli版本,在单进程模式下就从来没有出过错。但前段时间,我想把它嵌入到多线程环境C++程序中做为脚本引擎,却发现问题多多,前后一个星期的努力让我几乎想放弃。php现在都出6版本了,发布的二进制也有所谓的thread-safe版本,但是这东西并不像它宣称的那样可靠。

目前发现的问题,也是我最需要的,动态加载模块功能无法在多线程环境使用,一加载运行一段脚本后便Core dumped。并且php在一个进程中仅能存在一个引擎实例,所有加载的模块都动态挂在这个实例下。虽然借助php的线程资源管理器TSRM可以在线程中初始化各自的数据结构,使得看起来也支持多线程,即同一进程内多个线程可同时执行php代码而无不影响,但前面那个限制却还是让人非常的不爽。脚本引擎内嵌的多线程支持可使用这个sapi模块:http://svn.tobin.nl/public/php/embed2/trunk

我也考虑过换其它对嵌入C环境、多线程支持更好的脚本语言(或解析器),比如javascript(google V8)、perl、python等,但都因为要么那些语言对各类数据库的访问无成熟的模块,要么是我不熟悉的,如果马上应用到项目开发进度无法保证而不敢动手。