Web Analytics

也谈软件调试

每年二月末到三月初,公司都会安排一批实习生到各个部门实习。虽说去年经济危机了,但公司的实习生数量似乎并没有减少。起码我们部门"新同事"的数量基本与去年持平。按惯例,每位新同事都会有一名导师,与此同时各个部门还会根据自身的业务特点对这批学生进行有针对性的集中培训和交流。比起我入司那会儿,现在的实习生已经算是幸福多了。我那会儿实习生人数少,部门没有安排什么培训,完全靠导师安排自己努力学习。此次培训的内容是经过老员工们讨论和对新员工的需求调查后才确定的。其中新同事们普遍对如何进行程序调试这块比较感兴趣,我负责准备和实施了这个题目。虽说有过几年调试程序的经验,但是自已也没有系统的总结过,这次培训后顺便在这里做一下总结和记录。 ...

March 22, 2009 · 6 min · Tony Bai

发掘Trac

使用何种工具做Feature或Defect或Task的跟踪一直是挺让我闹心的一件事。用Excel记录,但却不便于共享、统计和直观展示;Jira算是做的好的工具之一了,但无奈它是商业软件,咱没付那份儿钱,所以也就"无福享用";Mingle是著名的Thoughtworks公司的产品,虽说不到5个license是可以免费使用的,但它却是出了名的"内存杀手",无奈我的机器配置太差,运行起来实在太慢,遂没有坚持下去(我"眼冒金星"的渴望着更换一台无所不能的超级计算机^_^);甚至我曾经用过ONENOTE来做跟踪,可是条目多了后,就基本不可用了。寻觅依旧进行中,这不Trac这款软件进入了我的视线中。 网络让我知道了"Trac"。“Trac"这个名字,估计与Track"异曲同工”。至于Trac具体能做什么,你可以到其Demo站点去体验一下。简单的说,Trac = wiki + 问题处理工作流;Wiki可以用来做知识积累和管理;问题处理工作流恰是我需要的功能。但到底Trac做到啥子程度,那还需要用起来后才能知道。还有一件让我觉得很"幸福"的事,那就是Trac自带一个独立的web server程序Tracd,并且Trac可使用Python 2.5.x自带的SQLite,这样我可以不用安装和配置庞大的Apache和MySQL了。让用户能快速上手应该是Trac值得其他开源软件学习和参考的一个亮点,要知道一些庞大的开源软件繁复的安装和配置过程让很多使用者产生了"挫败感"而"另辟蹊径"了。 ...

March 18, 2009 · 8 min · Tony Bai

为Ubuntu下的Firefox提速

部门的一套基础库刚刚移植到Linux上,为了测试该库,我将工作环境切换到了Ubuntu Linux下面。切换后居然发现Ubuntu下的Firefox访问网页巨慢无比,Firefox显示时明时暗,总是被挂起。同样的公司网络环境在Windows下使用Firefox访问互联网很顺畅,没有卡的现象。看来是时候给Ubuntu下的firefox提提速了。 ...

December 17, 2008 · 4 min · Tony Bai

都是病毒惹得祸

上周日下午,接到同事的一个寻求支持的电话,原来是部门以前给中国联通做的一个运行在PC服务器上的程序在每天凌晨出现’挂死’情况,导致程序运行中断,问题连续几天复现。程序是老程序,在不下十多个省运行,一直都很稳定。通过联通的人发过来的截图,很难定位问题所在,所以只能打车到了联通机房现场查看了。 ...

January 18, 2008 · 3 min · Tony Bai

开发人员之维护他人项目有感

软件行业人员流动比较频繁,如果你是一个公司的老员工,你常常会有如此经历:一个同事即将离职,领导可能分配你去与之进行工作交接,有时他做过的项目很可能和你做过的有很大差距,没办法领导发话了,你还是要硬着头皮接下来,心中盘算着但愿这个项目的产品在现场运行不要出现什么问题或者用户最好一个新需求都不要提,这样就算是挂个名,也没什么大不了的。 ...

May 25, 2007 · 2 min · Tony Bai

数的圆整算式

一般在考虑到内存对齐的程序里面势必要使用数的圆整算式,一般来说在计算机程序里一般都是圆整到2的次幂上,而很多书上也有很多基于’移位’操作的圆整到2的次幂上的算法公式,形式都是很简单的,很实用。 这里要说的是一个圆整到任意正整数(n > 1,圆整到1没有必要^_^)的算式,突然觉得如果说算法有些大了。我们来推导一下,也不是严密推导。就是怎么想的怎么说。 ...

May 24, 2007 · 2 min · Tony Bai

C++咬文嚼字-'Pointer Trick'

晚上饭后抽空看了看如何实现一个内存管理器,涉及内存操作必定少不了指针,恰研究到offsetof这个operator,也看了它的实现,顿有所悟。 ...

May 22, 2007 · 3 min · Tony Bai

有感于在'安全模式'下工作

我的IBM R系笔记本于上周开始罢工了,任凭我如何杀毒,查木马,都没有发现任何中毒迹象,但就是一登陆进入正常模式后,时间不长,屏幕就定住了,任何按键都失效了,除了电源开关键,除了重启别无他法,但是在安全模式下工作却是正常,未出现如此现象,所以截至目前,我都一直在安全模式下工作。 ...

March 19, 2007 · 2 min · Tony Bai

C++咬文嚼字-'Functions'

关于Functions,Bjarne Stroustrup在’The C++ Programming Language’一书中是这么开篇的:‘The typical way of getting something done in a C++ program is to call a function to do it.’;另外他还阐述了一个使用Functions的原则:‘A function cannot be called unless it has been previously declared.’。 ...

March 13, 2007 · 5 min · Tony Bai

C++咬文嚼字-'Evil cast'

Cast也被称为"Explicit Type Conversion",即显式类型转换,在传统C中强制转型(cast)只有一种语法形式(T)e。Bjarne Stroustrup在’The Design and Evolution of C++’(以后称作D&E)一书的14.3小节开始就说了’无论是从语法还是从语义上, Cast都是C++里最难看的特征之一’,所以他要为cast提供A New Cast Notation. ...

March 12, 2007 · 4 min · Tony Bai