- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 什么是测试驱动?——测试驱动的绝佳案例
话说美军打算采购降落伞。但降落伞是一种很复杂的设备,有很多细小的零件。生产的公司都说,99.9%的合格率已经是极限了,没有办法再提高了。但是99.9%的合格率对伞兵意味着什么呢?那就是空降1万人的部队,就会有10个注定要摔死。这可没人会乐意欣然赴黄泉~~~美军见施压也无效后,于是决定修改一下检测办法:提供飞机,让降落伞公司的人员(恩,过来谈的一般都是大老板级别的)背着一批他们随机挑选的降落伞跳伞,进行实际检测。只要没有出现伤亡就算验收合格。至于那合格率,也不再去考究。于是奇怪
2010-08-18 10:34:00
600
原创 An odd running exception with vs2008 or cl 15.00.21022.08
The day before yesterday, when I am testing for ASDL (http://libasdl.sourceforge.net) on Windows platform at night, an odd running exception occurred. The ASDL is my open source project on sourcef
2009-04-03 12:59:00
512
原创 概念来来去去,只有本质永存
概念来来去去,只有本质永存。 或许这是逆反吧。我更喜欢的是独立思考,而不是盲目地追随大众,或者潮流。就像软件工程。我不关心它的名字、它的描述,不关心它的创造者或者推动公司有多么的伟大,甚至我不关心它的效果(这个后面要说)。我关心的只是它的本质,有些时候还包括如何实施。概念,它不代表本质,它只是本质部分属性的一种反映(虽然概念定义者想极力反映本质的全部属性)。广告商说:“我说的都是事
2008-11-05 00:09:00
399
1
原创 Application Server Development Library (ASDL)发布
Application Server Development Library (ASDL) version 1.0.0 & Generic Data Structures Templates (GDST) version 1.0.0 发布。许可证:BSD许可证The Application Server Development Library is a generic component modu
2008-08-23 17:50:00
359
原创 设计模式与架构
1. 设计模式是好东西,但是,它并不是在任何情况下都会是好东西。任何的技巧和模式的引入或者使用,都是有代价的。设计模式在为我们带来了良好的灵活性/可伸缩性,和代码的可维护性的同时,往往引入了新的逻辑层次,使得程序的复杂性增加,特别是在多个模式混合使用时,更是如此。对于一个很简单,且很长一段时间内不会有需求变动的模块,盲目的引入设计模式,只能是徒增烦恼。此外,间接操作和中间层次的增加,将会直接导致
2008-07-26 15:19:00
477
1
原创 关于简单和复杂
有人嫌我说话很罗嗦,那我这就只简单讲4句:1。一个一分钱的硬币和一个两分钱的硬币,他们的排列组合,很简单,是吧?2。100万个一分钱的硬币的排列组合也很简单,是吧?3。100万个两分钱的硬币的排列组合也很简单,是吧?4。那100万个一分钱和100万个两分钱的排列组合呢?:)
2008-07-18 15:51:00
422
原创 关于多核多CPU多线程和并行计算的一点补充
多核多CPU多线程并行计算,在某些情况下的确是对性能有大幅提升。但问题是,对性能的提升并不是一定的。商家和技术提供者,为了自身的利益,很多情况下只展示了美好的一面,却把不利的一面加以隐藏。线程的切换、调度,线程数据的同步,都须要消耗系统时间。线程越多,消耗越多。同时伴随引发的CPU的流水线清空,每次清空也将导致数十个时钟周期的浪费。虽然在以线程为单位进行调度的操作系统下,多线程能争取到更多的运
2008-07-10 01:12:00
4518
1
原创 关于优化
优化分为三个层次:架构级的,流程逻辑和算法级的,以及技巧级的。在这三个级别中,就对整体的性能影响而言,前两个级别难分伯仲,而技巧级的优化次之;就其实现难度而言,技巧级的优化难度最高,流程逻辑和算法级的次之,架构级的再次之。架构级的优化影响的是整个产品的整体;流程逻辑和算法级的,影响的是整个产品中单一的某个模块;而技巧级的优化,其影响则往往仅局限于某一局部,虽然很有可能是很关键的局部。但既然
2008-07-09 01:37:00
608
原创 C++ 与瑞士军刀
几天前,极地狐来找我分享他于几周前参加“敏捷开发大会”时所获得的心得。当谈到会上关于C++为什么会如此之流行,而在新兴的开发中却越来越没了声音时,他问我对此的看法。问题分为两个部分,一是C++为什么会流行开来,而是为什么现在在很多开发中却没了C++的声音,却而代之的则是C#、Java等。关于第一个问题,我们直接达成了一致:因为效率,以及基于C的发展基础。在当时,C是最好最流行的主流语言,而C+
2008-07-06 21:48:00
1005
原创 对于《Shellcoder编程揭秘》第6.3.2节的进一步说明
引:说实话,我也觉得这标题取得很没水平。囧----------------------------------------------Kris Kaspersky[美]的《Shellcoder编程揭秘》(英文原名:《Shellcoders Programming Uncovered》罗爱国、郑艳杰等译,电子工业出版社)一书,在第六章“受控制的格式符”的第6.3.2小节讲得过于简练,部分前提并
2007-12-01 17:17:00
481
原创 sse-lib version 0.0.2 Beta Release
3年了,整整三年了!3年前的2004年,9月初,因为需要写下了这个加密算法的最初版本。只不过,当时还是一个编码算法,而不是一个加密算法。之后过去了两年。在这两年中,SSE (Simple Stream Encrypt)被我遗忘在那充满灰尘的角落,整整静候了两年!直到一年前,2006年10月,因为需要,我将SSE改写成了一个对称加密算法。但是,之后,又沉寂了一年。-_-b直到今天,在朋友的鼓励下,我
2007-10-23 22:51:00
419
原创 无奈的叹息:对于软件开发中常犯的错误
2007年,从计算机化的热潮掀起,软件开发在国内也走过了十几个春秋。有人说,以前的程序是门艺术,那现在这门艺术在国内的发展又是如何一番景象呢?从事软件研发已经四年有余,其间做过安全,做过客户端,做过服务器。做过Windows,做过Linux,做过BREW(手机)。写过网页,写过C/C++/Java,也写过汇编。面试过的人不少,带过的人也不少。因为某些原因公司换了几个,项目也做过很多。四年了,按
2007-10-07 17:56:00
962
1
原创 上周工作总结:字符串比较的加速,编译器性能的对比
一切的开始,源于性能和速度的优化…… 五一结束,终于又回到了IDE前。 4月30日的时候,想到了一个字符串比较提速的思路,经测试,在 windows xp sp2,Celeron D 3.33G,512MB 内存的机器上,将字符串比较的速度提升为CRT库(c运行时库,也就是等标准库)strcmp函数的3倍(后面提高到了32倍),此话后表。相关的进一步优化、测试结果、测试机配
2007-05-14 00:52:00
2919
转载 [ZT]黑铁时代的算法“悖论”
黑铁时代的算法“悖论” 原作者:王咏刚 在我的印象里,从来也没有哪件事情能像算法在国内程序员心中的“映射”那样奇特和复杂。套用古希腊人的说法,历史的演进总要以秩序日趋混乱和话语权逐渐分散为代价。1970年以前,当那些令人景仰的IT先驱们沉浸于计算技术的美妙绝伦时,算法在为数不多的程序员心中,也许就和克洛诺斯在天国中的地位一样,是足以统治整个黄金时代的精神力量。在随之
2007-05-10 23:29:00
705
原创 IM服务器压力测试
对公司自行开发的IM的服务器压力测试今天完成了。总的来说,测试结果令人满意。IM服务器配置如下:CPU:至强3G双核 x 1内存:1G硬盘:140G SISC硬盘IM服务之外的其余服务:IM & 客户端 自动更新服务公司网站web服务公司邮件服务测试方式:3台计算机并发模拟客户登陆及聊天。登陆包括查询与下载好友列表、好友资料、群组列表、群组资料;聊天测试方式为,每个模拟客户端每1秒向好友列
2007-01-17 21:43:00
1668
6
原创 地图编辑器(及一般应用程序)关于无限Undo的一点思考
花了两天的时间,该地图编辑器的思路流程及前期的界面编写(SDK)准备得差不多了,下面开始编写菜单操作。Undo是很重要的菜单操作之一,因为它给使用者(用户)提供了反悔的机会(至少一次),而不必让使用者因为一个错误,而从头再来。因此,几乎所有的软件都提供了Undo和Redo的功能。但有的提供的反悔次数多,有的提供的反悔次数少。比如画笔(MSPaint),它的Undo只有一次,Corel Painte
2005-07-08 22:35:00
760
SSE Lib
2008-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人