摘要: 《程序员修炼之道》两位作者在书中很早就谈到:不要容忍破窗户。我不知道外国程序员的代码写得如何,但是,我觉得,在中国做程序员,很有可能你是要容忍的,也许你并不情愿,不管这个破窗户是你写的还是别人写的。  之前的项目中有一个最重要也是经常需要更改的模块——POS机的交易模块。因为这方面客户的需求往往是要从这个模块中来更改的,于是,程序员们来来往往几个人改了又改了,到最后这个模块... 阅读全文
posted @ 2010-09-20 19:30 Linjian 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 我一直渴望自己身处在这样一个开发团队:他们每个人对编程有很高的激情,对工作有强烈的责任感,对同事有春风般的友善,对困难有坚韧的耐心。是的,我的要求实在太多了。现实中,对于一个项目,我能问的常常只有一两个人,而且,他们有时候也无法帮得上忙,因为,不是每个人在每个方面都有经验。每每这个时候,我时常陷入了苦恼当中:我埋怨过——怎么没人来指导我;我恐惧过——... 阅读全文
posted @ 2010-09-20 00:25 Linjian 阅读(210) 评论(1) 推荐(0) 编辑
摘要: 一直以来我有个错误的观点,就是数据结构和算法只要学习那些平时工作最常用的就可以了。这是典型的找借口行为。所以我打算开始认真复习好数据结构和算法,我目前熟悉的算法其实只有链表和动态数组,真是可悲。  Mark Allen Weiss那本《数据结构与算法分析》第二章,求最大子序列:-2 11 -4 13 -5 -2 最大子序列为20(11到13)。  题目不难,我也还没有看答案。目前我有个简单的想法:... 阅读全文
posted @ 2010-09-15 00:04 Linjian 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 今晚饭桌上,老总再次在公司同事面前夸奖我有做业务的格调,将来可以成为一个综合性的人才。真是承蒙赏识,可是,我知道做我们这一行,经常要和银行的高官打交道,生意也主要是靠人脉关系得来的。 对于人脉关系,我年纪不大,但已经看透了一点,那就是人脉其实是很虚的东西。出来混之后,大家从一开始有生意来往,到后来渐熟,生意上的往来也越来越频繁,彼此的感情也逐渐加深,但是这些是利益驱动的。当你还有利用价值的时候,那... 阅读全文
posted @ 2010-08-16 22:18 Linjian 阅读(343) 评论(3) 推荐(0) 编辑
摘要: 写了个INI转化为XML的小程序,利用有限状态机实现的。很简单,把INI文件中的内容一行一行地读取进一个buffer里面,然后对这个buffer进行解析,最后转化为XML的格式再写进XML文件里面。代码测试的一个INI文件为:[代码]转化后的XML文件为:代码END 阅读全文
posted @ 2010-08-09 21:40 Linjian 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 写一个简单的服务器需要记log,当然需要记下本地时间。关于时间的系列函数我还真一直没怎么注意,查了一下,可以通过time()来得到UTC,然后通过localtime转化为本地时间,最后通过strftime把localtime得到的结果按照你需要的格式化出来。写了demo实现每隔一秒钟往文件里面记录当地时间。后面需要的,就是在时间后面添加相应的动作记录。代码 阅读全文
posted @ 2010-08-08 21:36 Linjian 阅读(610) 评论(0) 推荐(0) 编辑
摘要: 上一个项目写了个POS机下面的广告程序,其中需要先写一个POS机下的FTP客户端程序,这个程序很让我郁闷。首先,对方公司提供了一个FTP操作的中间层,所以与其说写,不如说是组合代码;其次,让我不爽的是,对方中间层的API有误,他们还叫我跟着他们瞎折腾测试这中间层的功能。总之就是很不爽,因为你明明知道他们是在瞎折腾,但是你又不得不配合他们,不配合他们,他们就有理由说我不合作,项目拖延是我的错,我很不... 阅读全文
posted @ 2010-08-01 15:54 Linjian 阅读(7040) 评论(0) 推荐(0) 编辑
摘要: 下午下载了一份源代码,rar格式的,解包的时候直接在桌面上:unrar e xxxx.rar.结果SB了,几百个文件全部堆放在桌面上了。一看那些文件,好就好在文件的最后修改时间都一样,这样删除也相对容易了点。开始查看find命令看有没有可以查找出相同时间文件然后一并列举出来并删除,结果没找到。刚好这段时间在复习shell,写了个SB脚本删除这些文件。其实我觉得也不用写脚本,应该有更优雅的做法,只是... 阅读全文
posted @ 2010-07-24 15:47 Linjian 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 重温了《Expert C Programming》中第五章——对链接的思考,写点读书笔记。1、链接器  按照分而治之的思想,编译器分成六七个部分来执行不同的功能,而这些程序是由一个叫做“编译器驱动器(compiler driver)”控制程序来调用。这几个部分按照执行的先后顺序分别是:预处理器(preprocessor)、语法语义检查器(syntac... 阅读全文
posted @ 2010-07-22 00:17 Linjian 阅读(305) 评论(1) 推荐(0) 编辑
摘要: 前面第一部分写了Git的一些概念,接下来这一篇准备从最基础的git操作入手,看看在实际工作中如何使用git来管理我们的项目。1、Git基本设置  先看看Git的一些相关设置:  (1) 用户名与Email:由于GIt是分布式版本控制系统,在本地上有一个版本库,我们可以设置自己的用户名与联系方式:代码  其中,--global指明user.name, user.email是全局变量。所谓全局变量,就... 阅读全文
posted @ 2010-07-20 01:19 Linjian 阅读(7487) 评论(2) 推荐(0) 编辑
摘要: 闲来无事,刚花了点时间学完《A Byte Of Python》,写写最后面给的习题:  创建一个地址簿,写了个简单的文字菜单,根据选择可添加/删除/查找/更改联系人、电话以及邮箱,当然可以扩展为更多信息和操作;程序只是把内容简单打印出来,可以把打印部分变为文件存储。  写完发现好像当C来使了。菜鸟学习而已,大家勿笑:)代码END 阅读全文
posted @ 2010-07-17 01:02 Linjian 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 现在的版本控制系统中,Git的人气越来越高,可能是因为Git是鼎鼎大名的大神Linus所写。最近在学习《版本控制之道——使用Git》,打算写一写读书笔记,也顺便让跟我一样刚接触的朋友一起来学习。1. Git概述  版本控制系统(Version Control System, VCS)是用来帮助我们记录和追踪项目中各个文件的变化。传统的VCS有我们熟知的CVS,SVN。有传统... 阅读全文
posted @ 2010-07-15 01:23 Linjian 阅读(1027) 评论(1) 推荐(0) 编辑
摘要: 自从大四第一学期实习之后,我就没再用过Python了,现在几乎忘光了-_-!。觉得还是得好好学习一门脚本;趁着最近比较闲,学习一下Python,两个小时翻看了<<A Byte Of Python>>1到10章,照着教材把第10章的例子最后面的优化自己实现了一下:  在命令行上面输入需要备份的文件或者目录,脚本自动进行备份,完全菜鸟级别的代码,贴出来当作复习功课。代码END 阅读全文
posted @ 2010-07-14 23:24 Linjian 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 这次准备连续写三章的读书笔记,因为这三章讲得都是很基础但又容易让人忽略的细节问题。第14章 组织直线型代码14.1 必须要有明确顺序的语句。  设法组织代码,使得依赖关系变得非常明显。要非常明显,非常是重点。例如下面的子程序就是具备明显的依赖关系:InitExpenseData(), ComputeExpenseData(), PrintComputeDataResult();后面的一个子程序总是... 阅读全文
posted @ 2010-06-24 20:50 Linjian 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 忘了哪位牛X的大大说过:永远要想着维护你代码的人是一个有暴力倾向并知道你住址的精神病人。  的确如此,最近我又再一次感受到了阅读难以维护的代码是一件多么痛苦的事。我目前的任务是开发一版密码键盘,对方公司发给我一个demo的源代码,值得我参考的模块大约是4000行代码。结果一看,就这么一个小模块,全局变量就有几十个了,埋伏在这个模块的每一个地方。变量名字很多也没有定义好,也没有多少明确的注释。每一次... 阅读全文
posted @ 2010-06-22 21:52 Linjian 阅读(896) 评论(2) 推荐(2) 编辑