自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不亦快斋

非典型秃子的老窝

原创 启用新的博客地址https://icerote.net/blog/

转移到个人网站https://icerote.net/blog/。以后不会再到CSDN写blog了万一同步回来呢?。

2014-03-22 18:40:39

阅读数 2154

评论数 2

原创 梦断代码--一个程序员的自白 (源代码)

源代码在此,代码还是有很多问题。欢迎指正和批评,但请勿人身攻击。 https://github.com/wingfiring/xirang zip包

2012-11-02 10:52:09

阅读数 3239

评论数 2

原创 梦断代码--一个程序员的自白(九 完)

本文谢绝转载 http://www.weibo.com/0x2b     Protein的性能瓶颈主要是在runtime,而runtime是基于FBX来写的。FBX已经停止开发,而且改动代价太高,因此,美国那边打算把把FBX从runtime中去掉。这是一个大工程。当时Protein的新经理M...

2012-10-29 13:03:43

阅读数 8935

评论数 7

原创 梦断代码--一个程序员的自白(八)

本文谢绝转载 http://www.weibo.com/0x2b 因为最初我只是想证明我的那个可扩展的类型系统,因此我给ADPLite改了个名字,叫“息壤”,喻意类型系统会像息壤一样,能够生长。到11年夏天的时候,息壤已经有了一些东西:     1.DBC库--这个是以前的工作。除了pre...

2012-10-18 14:30:37

阅读数 4144

评论数 5

原创 梦断代码--一个程序员的自白(七)

本文谢绝转载 http://www.weibo.com/0x2b     大约是各方面对ADP的反响都不大好,ADP要想推销自己,必须找到新出路。最终,目标锁定到Protein,让Protein通过ADP来存储材质包。对于Protein项目,我至今也不知道最初的立项缘由。Protein后来被...

2012-10-15 10:37:41

阅读数 3362

评论数 0

原创 梦断代码 --一个程序员的自白(六)

本文谢绝转载 http://www.weibo.com/0x2b PS:这一章水的比较狠,就当看盗版网络小说了吧。见谅。    我对公司有一个很不满意的地方,就是缺乏像样的职业培训。我来到这里之后一直是传授东西给别人--当然我对此并不抗拒,还很乐意--自身的水平却没什么提高。于是我...

2012-09-27 22:02:54

阅读数 14566

评论数 30

原创 梦断代码--一个程序员的自白(五)

本文谢绝转载 http://www.weibo.com/0x2b 梦断代码--一个程序员的自白(五)     O同事给我的回复中,除了强调控制内存使用外,原来还指望通过扩展string的实现来支持数组。他真是太高估我的结果了。但是同时,他又提出了一些让我难以理解和接受的...

2012-09-22 16:43:09

阅读数 4289

评论数 18

原创 梦断代码--一个程序员的自白 (四)

本文谢绝转载 梦断代码--一个程序员的自白 (四)    一个周末过去,对于我所回复的,如何在运行时存储字符串的问题的解决方案,O也有了回应。O对我的方案非常不满,认为我的方案是他之前就考虑过的,我完全没有解决他所担心的问题。应该说,这次合作不愉快,我也是有很大责任的,主要是在沟通方面。在...

2012-09-19 15:58:32

阅读数 11887

评论数 15

原创 梦断代码--一个程序员的自白 (三)

本文谢绝转载 梦断代码--一个程序员的自白 (三)     "程序员是工程师吗"?这是我在大约10年前初次接触敏捷方法时,让我有醍醐灌顶之感的一个问题。那个时候,称呼程序员为码农,IT民工,吃青春饭的,周围充斥着三十岁后能不能做技术的质疑。这个问题让我真正想明白自己...

2012-09-10 11:23:27

阅读数 12792

评论数 29

原创 梦断代码--一个程序员的自白 (二)

本文谢绝转载 梦断代码--一个程序员的自白 (二)     AIRMax是一个庞大的项目计划,需要3~5年的时间来完成。这个缩写是取公司的主打产品首字母和特征单词组成的,也意味着这个项目要影响到所有这些支柱产品。公司的这些产品都是不同领域的设计软件。这个项目计划在三个方面做资源整合,即为所...

2012-09-03 14:33:51

阅读数 12415

评论数 14

原创 梦断代码--一个程序员的自白 (一)

本文谢绝转载 梦断代码--一个程序员的自白 (一)                                  --当一个有价值的人或事物逝去,缅怀他的人便为之立碑,写下墓志铭。 本文以此献给Protein。     看过一本同样叫做《梦断代码》的书,英文名叫《dre...

2012-08-27 23:02:35

阅读数 22164

评论数 43

原创 从设计模式到梁思成

Design Pattern已经成为软件设计中一个耳熟能详的词语了。并且,多半会联想到GOF的那本设计模式的名著。事实上,对我来说,尽管四位作者都是大牛,花边 新闻也关注了不少,但让我写出凭记忆写出四位作者的名字还是困难的。没办法,对老外的名字就是如此的不敏感。然而,GOF却很好记。 Gang o...

2008-01-06 20:18:00

阅读数 4026

评论数 0

原创 f (p == NULL), if (p == 0) 还是 if(p) ?----再论空指针检测问题

转载请注明出处: http://blog.csdn.net/wingfiring某些C/C++编程的书中,曾经提到如何判断指针是否为空的问题.很显然,if (p == NULL), if (p == 0) 和if(p),都能够完成这一任务,差别在于可读性方面.我们分别加以讨论. 1. if (p ...

2007-05-17 18:19:00

阅读数 6022

评论数 1

原创 恐怖的代码,以及转载

项目中看到这样的代码:m_optimizedPolygons = false;if (gdi_compatible && (true == gdi_compatible->value().as_boolean()))        m_optimizedPolygons = ...

2007-02-09 18:26:00

阅读数 5600

评论数 3

原创 haskell笔记

经典的快速排序的实现代码: quicksort  []           =  [] quicksort (x:xs)        =  quicksort [y | y                          ++ [x]                         ++ qu...

2006-10-11 09:39:00

阅读数 3457

评论数 0

原创 开始学习haskell

    曾经有人说数学是自然科学中的皇冠,而且总是尽力使自己和其他学科保持距离.而其他学科总是力求和数学搭上关系,如此便可以身价百倍.当年恩格斯曾经说唯一没有运用数学的学科生物学,最终也被孟德尔抓住了统计学的尾巴.    Functional Programing是厕身于象牙塔里的精灵,总是力图保...

2006-10-10 11:35:00

阅读数 4179

评论数 0

原创 模式批判之Singleton

               人们常说,模式是解决方案的重用,是经验的重用。借助已有的经验和典范,可以帮助我们少走弯路,还可以在更高的语言层次描述系统和相互沟通。然而,模式本身是如此的抽象,对于模式的理解和运用很大程度上依赖于程序员个人或团队的经验和技艺。模式是很好的东西,然而传授模式却...

2006-08-08 11:12:00

阅读数 4827

评论数 7

翻译 错误和异常处理

错误和异常处理参考关于编写健壮的通用组件的一些问题,下面的论文给出了很好的介绍:D. Abrahams: ``Exception Safety in Generic Components, 由M. Jazayeri, R. Loos, D. Musser (eds.): Generic Progr...

2006-07-06 10:23:00

阅读数 3979

评论数 2

原创 **乌托邦式的接口和实现分离技术**

  《Imperfect C++》中展示了一种叫“螺栓”的技术,然而,这本书中的讨论并不足够深入。当然,我也相信Matthew是故意的,从而让我们这些“三道贩子”(Matthew自称是二道贩子)也能够获得一点点成就感。 非典型秃子http://blog.csdn.net/wingfiring/  ...

2006-07-01 17:08:00

阅读数 4673

评论数 9

原创 感慨:编写坚固的代码(2)

    我们要想写文章,最起码,要能认识足够多的字.但是,更重要的,是要知道我们想说什么。这两个方面都是不可或缺的。那么,是不是要等到认识了所有的字才能写文章?当然也不是。如果每写几个字就需要查字典恐怕也写不好文章--思路都被打断了。首先,我们应该在文字上自由了,然后就可以畅快地表达自己的思想、观...

2006-06-26 15:04:00

阅读数 4528

评论数 0

原创 感慨:编写坚固的代码

    分析了公司的一个项目代码,结果令我非常沮丧。分析的这个项目大约有500个文件, 并不很大。我承认,这个项目的程序员都是训练有素的,然而,都是C语言的训练有素,不是C++的。    我们为什么选择C++作为一个软件项目的开发语言?我想,决不是因为C++更复杂华丽,也不是因为C++支持OO,O...

2006-06-19 22:41:00

阅读数 3366

评论数 3

原创 如何获得当前所在的DLL模块名称

起因:    因为工作需要,写了一个小工具,嵌入到各个项目中(这些项目都是DLL项目).然后,在这个工具可以输出一些信息到日志文件.当然,输出信息需要标明这些信息来自哪个程序模块.首先,就想到了GetModuleFileName,一查MSDN,第一个参数hModule无法提供,如果提供NULL,只...

2006-05-31 10:48:00

阅读数 8123

评论数 6

原创 如何编写异常安全的C++代码

如何编写异常安全的C++代码      关于C++中异常的争论何其多也,但往往是一些不合事实的误解。异常曾经是一个难以用好的语言特性,幸运的是,随着C++社区经验的积累,今天我们已经有足够的知识轻松编写异常安全的代码了,而且编写异常安全的代码一般也不会对性能造成影响。    使用异常还是返回错误码...

2006-04-12 19:52:00

阅读数 10600

评论数 14

原创 《C++编程规范》笔记(设计风格)

第5条:一个实体应该只有一个紧凑的职责    单一职责原则。这个原则并不那么容易执行,即使是STL这样的程序库,也一样会犯违反该原则的错误。在这里,举了两个违反这一原则的著名实现:realloc和stl 中的basic_string。不过,对于basic_string,我想比起MFC中的CStri...

2006-04-11 00:21:00

阅读数 5808

评论数 17

原创 设计模式笔记(12 STRATEGY & TEMPLATE METHOD)

STRATEGY(策略)适用性:1.许多相关的类仅仅是行为有异。”策略“提供了一种用多个行为中的一个行为来配置一个类册方法。2.需要使用一个算法的不同变体。3.算法使用客户不应该知道的数据。可使用策略避免暴露复杂的、于算法有关的数据结构。4.一个类定义了多种行为,并且这些行为在这个类的操作中以多个...

2006-04-10 16:38:00

阅读数 2128

评论数 0

原创 设计模式笔记(11 OBSERVER & STATE)

OBSERVER(观察者)适用性:1.当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这二者封装在独立的对象中以是他们可以各自独立地改变和复用。2.当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变。3.当一个对象必须通知其他对象,而他有不能假定其他对象是谁。思考: ...

2006-04-07 14:24:00

阅读数 3427

评论数 0

原创 利用netsh编写网卡动态配置的脚本

    当年华为和思科闹的沸沸扬扬的官司里,有一项是起诉华为的CLI和思科的雷同。其实,CLI这东西,不仅仅是华为这么干,其他的CLI大抵类似,这不,windowsXP和2000都有个netsh.exe程序,就是微软版本的网络配置CLI。    正好有个朋友问我,能不能写个程序切换网卡配置?要求能...

2006-04-06 17:41:00

阅读数 3928

评论数 2

原创 设计模式笔记(10 MEDIATOR & MEMENTO)

MEDIATOR(中介者)适用性:1.一组对象以定义良好但是复杂的方式进行通信,产生相互依赖关系混乱且难以理解。2.一个对象引用很多其他对象并且直接与这些对象通信,导致难以复用该对象。3.想定制分布在多个类中的行为,而又不想生成太多的子类思考:    MEDIATOR模式虽然是协调对象的,但是对对...

2006-04-06 16:19:00

阅读数 1869

评论数 0

原创 设计模式笔记(9 INTERPRETER & ITERATOR)

INTERPRETER(解释器)适用性:当有一个语言需要解释执行,并且你可以将语言中的句子表示为一个抽象语法树时,可使用解释器模式。思考:一个常见使用情况当然是操纵一种程序语言,例如JavaScript,Python。这个时候,我们通常使用一个脚本引擎库来实现解释器。然而,并不是所有语言都是程序语...

2006-04-05 13:06:00

阅读数 1811

评论数 0

原创 《C++编程规范》笔记(组织和策略)

    这是C++信徒的摩西十戒,值得将其铭刻在显示器的边缘,供C++程序员们每日膜拜。我要将其铭刻在我的blog里,铭刻在我的记忆里,直到它们成为我思维的一部分。第0条:不要拘泥于细节(了解哪些东西不应该标准化) 缩进:不必规定如何缩进,每个人遵从一个自己喜欢的规则即可。 行长:今天...

2006-04-04 20:55:00

阅读数 5741

评论数 7

原创 设计模式笔记(8 CHAIN OF RESPONSIBILITY & COMMAND)

CHAIN OF RESPONSIBILITY(职责链)适用性:1.有多个对象可以处理统一请求,但是,那个对象处理要到运行时刻决定。2.希望在不明确接收者的情况下,向多个对象中的一个提交一个请求。3.可处理一个请求的对象集合应该被动态指定。思考:既然要向未知的接收者提交请求,那么就需要统一的提交界...

2006-04-04 11:50:00

阅读数 1570

评论数 0

原创 设计模式笔记(7 FLYWEIGHT & PROXY)

FLYWEIGHT(享元)意图:运用共享技术有效地支持大量细粒度的对象。适用性:1.一个程序应用了大量的对象,造成很大的存储开销。2.对象的大多数状态可变为外部状态。3.如果删除对象的外部状态,那么可以用相对较少的公象对象取代很多组对象。4.应用程序不依赖于对象标识思考:    上述的适用性和别的...

2006-04-03 14:17:00

阅读数 1870

评论数 0

原创 vc7.1中nth_element的一个实现优化

     今天在vc7.1下写了一个小例子,测试一下nth_element和partial_sort,结果partial_sort表现正常,但nth_element的表现却很奇怪。     代码是这样的:vector v;for (int i = 0; i     v.push_back(i + ...

2006-03-29 17:51:00

阅读数 1940

评论数 2

转载 Lambda演算学习笔记(转)

from:http://www.blogjava.net/wxb_nudt/archive/2005/05/15/4311.aspx作者:wxb_nudtLamda演算简介Wikipedia(维基百科全书)中关于lambda演算的解释如下:The lambda calculus is a form...

2006-03-28 20:39:00

阅读数 3803

评论数 0

原创 (旧贴)一个复杂的boost.lambda表达式的例子

    这是当初发在论坛里的,可惜没有人感兴趣,渐渐的沉没了.虽说对一篇烂文章来说,沉没了反而是一件好事情,对我来说,却是学习中的一个足迹,为将来反省留个见证.老实说,这个例子过于华而不实,写的人好写,读的人却不太好读.不过其中撰写复杂lambda的总结,基本上还是可用的。    lambda库固...

2006-03-28 20:11:00

阅读数 2346

评论数 2

原创 设计模式笔记(6 FACADE)

FACADE(外观)适用性:1.需要为一个复杂子系统提供一个简单接口时,为子系统提供一个简单的外观。2.客户程序与抽象类的实现之间存在很大的依赖性3.当需要构建一个层次结构的子系统时,使用FACADE来定义子系统中每层的入口点。思考:    关于第一点,好处是明显的,它降低了客户的学习成本。但是,...

2006-03-28 11:46:00

阅读数 1931

评论数 0

转载 (转贴)Boost Getting Started 安装文档(翻译1.33版本)

from: http://blog.csdn.net/goodboy1881/archive/2006/03/27/640004.aspx   ...

2006-03-28 11:02:00

阅读数 2458

评论数 7

原创 设计模式笔记(5 COMPOSITE & DECORATOR)

COMPOSITE(组合)适用性:1.想表示对象的部分整体层次结构2.希望用户忽略组合对象和单个对象的不同。思考:组合模式的所有组件应该具备同一个接口。一直感觉,这种组合是一种递归组合的概念。所有的组件,按照树的结构组织起来,树的叶结点行为可能和中间结点的行为并不一致,这看上去违背了Liskov原...

2006-03-27 23:49:00

阅读数 2005

评论数 2

转载 不停说抱歉的程序员

from http://blog.csdn.net/redguardtoo/archive/2006/03/23/636479.aspxwtf看到现在最好笑的笑话原文见http://thedailywtf.com/forums/65091/ShowPost.aspx下面是那个好心肠的程序员写的代码...

2006-03-27 22:32:00

阅读数 2024

评论数 0

原创 dynamic_cast详解

作为四个内部类型转换操作符之一的dynamic_cast和传统的C风格的强制类型转换有着巨大的差别。除了dynamic_cast以外的转换,其行为的都是在编译期就得以确定的,转换是否成功,并不依赖被转换的对象。而dynamic_cast则不然。在这里,不再讨论其他三种转换和C风格的转换。首先,dy...

2006-03-22 23:02:00

阅读数 48873

评论数 10

提示
确定要删除当前文章?
取消 删除