Web Analytics

面对'错误'的抉择

大凡写程序者,都会遇到错误; 大凡写程序者也都知道两种错误处理的机制:传统的'错误码返回机制'和'面向对象语言引入的异常处理机制'。 人们常常会在这两种机制之间徘徊不定,难以抉择。但有两类人大可不必为此头痛,他们是坚决只使用'错误码返回机制'的人,和坚决只使用'异常处理机制'的人。而苦就苦了摇摆在中间,思索不定的那些人了。这群人有一个特点就是不停的问:"什么是异常?什么时候该使用错误码返回?什么时...

November 13, 2007 · 4 min · Tony Bai

遭遇Heap溢出

今天凌晨配合云南移动进行局数据全量升级,本来以为是件很轻松的活计,甚至不需要我动手的事情,结果却又是一次惨痛的教训啊。 这个活计其实真的很简单,就是将数据库中的旧数据全部删除,然后导入新的数据,由于数据量较大需要重启一次我们的系统。问题就在重启系统上。摆在我面前的就是"重启失败",系统dump一个core文件。通过pstack和gdb查看如下: core 'core' of 7971: xxxxx...

November 10, 2007 · 3 min · Tony Bai

读'代码修改艺术',可观其大略

早在几个月前就从网上下载到了"Working Effectively With Legacy Code"这本书的E版,之所以下这本书是因为看到了"Legacy Code"这两个单词了,说实话当时我并不知晓这本书的价值,只是想当然的认为:这本书可能会有助我改善我所从事的项目中的"Legacy Code"。早在上个月去逛书店时,就看到了书架上的这本"修改代码的艺术",遗憾的是没有给予足够关注。在最近看...

November 9, 2007 · 4 min · Tony Bai

在Solaris上编译Ethereal的注意事项

自从上次'编译Ethereal On Windows'之后,好久没有接触Ethereal了,前期策划的基于Ethereal开发的一个工具的任务就落到了这批来的一个新员工的头上了。第一阶段他在Windows上开发了一个基于Ethereal的插件用于分析CMPP协议之用;第二个阶段我们需要移植到Unix上,我们使用的是Solaris。 目标机器是一个x86的Solaris10的系统,首先是将Ether...

November 8, 2007 · 4 min · Tony Bai

也谈计算机字符编码

以前真的未就计算字符编码有过什么深入的学习探究,这次学习也是源于客户的一次投诉。客户的投诉简要来说就是:我们的网关在截断客户发的长度越限的短信内容时,导致该短信在终端上显示为乱码。顺着这个起因,我花了一些时间概要性的学习了一些关于计算机字符编码的常识性知识。 字符,这个我们在平时编码过程中最最常见的元素,其实也有着一段小故事。 计算机,毫无疑问是一部机器,在最初我们接触计算机时或者接收计算机教育时...

November 3, 2007 · 12 min · Tony Bai