Web Analytics

人生数字

这是一篇从班级校友录上摘录下来的文章,删节一部分,我擅自加了个题目“人生数字”,也不知恰当与否。 23岁的时候,你毕业了,你第一份工作的薪水是1500块,转正以后变成2000块。工资总花得一分钱不剩,盼着发薪的日子。过了一年你跳槽了,工资变成3000块,你穿的衣服开始变贵了,吃的东西开始变好了,不过有一样没有变,工资还是花得一分钱不剩。这时候你谈恋爱了,你为了交女朋友,一个月要向朋友借1000块,她还是嫌你钱少,把你揣了。好不容易找个邻家女孩,感情甚好,学会了生活,一个月居然能存1000块,没想到在你憧憬未来的时候,她家里人不同意,把你们拆了。于是你发奋图强,终于工资涨到了6000块,变成白领,开始泡酒吧,追美女,给人家100块的小费。某一天,在街上碰见甩你的前女友,很奇怪自己当初怎么会看上她,她是那么的没品味。30岁的时候,你有了10万块存款,不过你觉得很疲惫,想找个地方,可以踏实地睡。于是你结婚了,存款变成了贷款,每月还要还上4000块,不过你和妻子的工资加起来有1万块,你一点都不觉得累。一晃几年过去,你还清了贷款还存了5万块,你的孩子也长到六岁,你不希望他重复你的生活,于是想送他到外国,可是人家一张嘴就是20万,你心里暗骂“这帮黑心的老外“。愿望虽好,没钱也是白费,你的孩子还是在国内,一直长到22岁。60岁的时候,你退休了,儿子要结婚,向你要了40万块,你没嫌多,反到觉得花在自己儿子身上,比送给老外实在。过了一年又一年,你对数字不再敏感除了自己的年龄。有时候你躺在床上还在想,我怎么还这么结实,是因为我补了钙还是上帝希望我健在。 终于你安息了,墓碑上刻着你生活的年代“198x--2046”,这也是你最后的一串人生数字。

July 26, 2005 · 2 min · Tony Bai

重操旧业

2005年7月8日是我入司一周年纪念日,本想写篇Blog纪念一下,可是思维的小溪总是难以汇聚成大江大河,始终觉得无话可说,再加之最近的项目十分紧迫,So我放弃了。这周末公司去海边旅游放松,带着一身的疲惫回来后,坐在电脑前,突然觉得该写些东西了 ...

July 17, 2005 · 2 min · Tony Bai

同步问题讨论-Tony与Alex的对话系列

Alex正在电脑前面作冥思苦想状,这时Tony悄悄地走到Alex的身后,观察了一会儿… Tony : 看来今天我们要讨论同步问题了。 Alex : (惊奇地回头)。Hey Man , you scared me! 你说的没错,我正在学习同步这一块儿呢,有什么高见不妨说出来吧,我洗耳恭听! Tony : 不敢不敢。关于进程和线程同步的问题,W. Richard Stevens在他的那本经典的“UNIX Network Programming Volume 2”中有过详尽的讲解,你不妨仔细阅读一下。 Alex : 远水解不了近渴。你还是大概跟我说说吧! Tony : OK, 我们就拿一个最简单例子来探讨一下吧。在拿出例子之前我们来回顾一下同步的由来。Alex你说说为什么要同步呢? Alex : 有共享就要同步,就好比超市的POS,如果没有好的同步顾客活动的策略,那超市不就乱了套了么,大家都争着抢着去结账。 Tony : 嗯,没错。mess world is not what we need! 互斥和条件变量是我们经常使用的同步手段,当然更高级的还有信号灯等。 Alex : 逐一说明吧,看来今天又会有不小的收获^_^ Tony : 历史上有个特别有名的问题叫做“生产者-消费者”问题,又叫“有限缓冲区”问题,我们今天的例子大约就是这个样子的。 Alex : (入迷的样子) Tony : 我们的例子是这样的,我们有“生产者”和“消费者”两个角色,他们共享某一整型变量,规定如下: 1)生产者发现产品已经被消费了,便生产,即将该共享变量置为1; 2)消费者发现有产品了,便消费,即将该共享变量置为0; 很简单吧。我们还是用老办法,由简入难,我们可以使用最简单的手段“互斥锁”来完成这个任务。 Alex : 我知道“互斥锁”,但是了解得并不深,先讲讲理论把! Tony : 互斥,顾名思义互相排斥,它是最基本的同步手段,一般用来保护“临界区”,“临界区”是一段代码,看起来互斥保护了临界区这段代码的,实质上互斥保护的是“临界区”中被操纵的数据。 Alex : 互斥是不是即可用于线程,也可以用于进程呢? Tony : 都可以,在我们的例子中我们使用线程,因为线程间共享一个数据空间,实现起来比较容易;进程间要想共享数据就需要额外的支持,比如共享内存等。 Alex : 噢。 Tony : 我们开始吧,按照例子中所述我们应该有两个线程,分别代表生产者和消费者。按照W. Richard Stevens的指导,我们将我们的互斥锁和我们的共享数据放在一个结构体内。 ...

June 9, 2005 · 5 min · Tony Bai

从技术到管理的对话-Tony与Alex的对话系列

5月末我参加了一次“从技术到管理的”培训,总体来说还是有所收获的。这段时间我一直想把自己的收获总结出来与大家分享,但是也一直没找到一个很好的形式来表达,我想简单的罗列一些规则和技巧是最最乏味的。在我的“关于Tony与Alex的对话系列的一点说明”一文中曾经将“Tony与Alex对话系列”定位为技术类的系列文章,但是经过这几天的思考,发现它同样可以用做管理知识起码是技术管理知识的介绍,这篇Blog将作为本系列中的第一篇围绕管理知识的文章。由于本人现在并非管理角色,所以文章内容的正确性和合理性并不能完全保证。 ...

June 5, 2005 · 7 min · Tony Bai

CppUnit入门实践-Tony与Alex的对话系列

Tony : Hi Alex ! you just looks like drowing in your project. what is up? Alex : 我们的项目要求引入单元测试,but i’ve no experience in unit test. Tony : i think cppunit is your best choice. Alex : 是的,我刚从网上把它down了下来,正准备研究它呢。 Tony : Really ? I have done some practice on unit test before. would you like me to join you? Alex : Oh Tony, I’m so glad that you could help me ! Tony : My pleasue ! Alex : 我们从哪里开始呢? Tony : The simplest case! 我们拿一个最简单的例子吧。now we have a class with the name “SimpleCalculator” and it has four basic methods ‘add’, ‘sub’, ‘mul’ and ‘div’, All we should do is to test whether these methods run as same as we expect. First of all , complete the “SimpleCalculator” class, Alex. Alex : It is simple! ...

May 30, 2005 · 4 min · Tony Bai

关于Tony与Alex的对话系列的一点说明

相信这种形式的小品文大家看到过一些,其中很有名的有“Solmyr和Zero的故事”,如果没记错的话,那个系列文章记录的是两个人Solmyr和Zero之间的技术交流过程,而据说Solmyr和Zero在真实世界中都是有原型的[注1]。对比起Zero的故事系列,我的文章中语言不免有些干涩,形式过于拘泥,呵呵。不过刚开始么,我会一点点地改进的。我的小品文系列与“Zero的故事系列”最大的不同是它仅是记录了我一个人的思维过程。相信读过我这个系列的人都知道Alex和Tony两个主人公,实际上这两个人的原型都是我自己,Alex的疑问和Tony的解答实际上是我自己的“自问自答”。每篇对话实际上记录的都是我解决某个问题整个思维过程。而其中讨论和解决的问题也都是我在工作和学习中遇到的,颇具实践意义。这个系列小品文我会一直继续下去的,但内容可能不是很连贯,涉猎的话题类型也许会很多。希望对大家还是有所帮助的。 ...

May 24, 2005 · 2 min · Tony Bai

一个C++项目的Makefile编写-Tony与Alex的对话系列

Tony : Hey Alex, How are you doing? Alex : 不怎么样。(显得很消沉的样子) Tony : Oh , Really ? What is the matter? Alex : 事情是这样的。最近有一个Unix下的C++项目要求我独自完成,以前都是跟着别人做,现在让自己独立完成,还真是不知道该怎么办,就连一个最简单的项目的Makefile都搞不定。昨晚看了一晚上资料也没有什么头绪。唉!! Tony : 别急,我曾经有一段时间研究过一些关于Makefile的东西,也许能帮得上忙,来,我们一起来设计这个项目的Makefile。 Alex : So it is a deal。(一言为定) Tony : 我们现在就开始吧,给我拿把椅子过来。 ...

May 23, 2005 · 8 min · Tony Bai

一个Xml Parser的TDD开发过程-Tony与Alex的对话系列

Tony : Alex今天我们来做一个xml parser.我们使用的开发工具为Eclipse + JUnit Alex : 好啊,喜欢接受挑战。 Tony : 先看看我们要解析的xml file的样子: ...

April 30, 2005 · 4 min · Tony Bai

看完“程序员”2005-04期一些想法

每次看完《程序员》杂志都会有些新的收获,这次看的是《程序员》2005年第4期,顺便把一些阅读过程中产生的想法记录了下来。 [软件建模,大势所趋] 看完微软、IBM、Borland等公司的最新动态,感觉软件建模是大势所趋,以前虽然也有众多建模工具,但是由工具支持得不好,建模的各个阶段彼此脱节,使用户体验(user experience)很差。随着Microsoft VSTS(Visual Studio Team System)的发布在即、随着Borland的ALM(Application Lifecycle Management )工具及基于Eclipse的产品计划的实施,相信在不久的将来软件建模会有一个很大的改观。 ...

April 20, 2005 · 4 min · Tony Bai

My first knowledge share

第一次和大家分享知识的时间可以说比我预计的要“晚”,也可以说比我预计的要“早”。解释一下,之所以说“晚”,是因为我自己曾经准备了多个“topic”,但是总是感觉时机不成熟儿没能成行;之所以说“早”,是因为我决心要share的那个topic准备的还不够成熟。 ...

April 19, 2005 · 1 min · Tony Bai