自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

随.心.所.记

将程序写成一首感性的诗…… => www.realdodo.com

  • 博客(54)
  • 收藏
  • 关注

原创 彻底杜绝可恶的缓冲区溢出的问题!

From: http://www.realdodo.com/blog/?id=194缓 冲区溢出是困扰程序员多年的痼疾,特别是使用C语言的程序员,面对毫无保证可言的内存指针,既不能实时检查内存区域的真实大小,也不能避免内存使用者有意 或无意的缓冲区溢出操作,实在是非常的无奈。就算是C++的程序员,其实境遇也好不到哪里去,比如STL里的vector,在使用operator []和迭代器来访问数据成员

2007-02-16 16:25:00 3335

原创 C++中的property库的设计与实现过程(五)(第一部完)——为属性加入访问控制

前面已经讲最最基本的property框架构建了出来,现在还缺少的是访问控制的功能,也就是实现只读或者只写的property。说到这里,其实思路已经很清楚,既然要确定访问权限,那也就是限制property的访问者能够直接或间接调用的函数,最简单的作法当然就是通过模板特化来实现。例如,我们要先要实现read_write和read_only:namespace rdxLib ...{    te

2006-09-22 23:58:00 2742

原创 “GOOGLE和百度的变态竞争”简单调查

今天,在不少论坛上都看到这样一篇贴子:GOOGLE和百度的变态竞争GOOGLE的变态域名:www.mamashuojiusuannizhucedeyumingzaichanggoogledounengsousuochulai.cn/中文拼音:“妈妈说就算你注册的域名再长GOOGLE都能搜索出来“  然后百度也跟着注册了个:www.mamashuojiusuannizhucedeyumin

2006-09-15 15:44:00 2402 3

原创 C++中的property库的设计与实现过程(四)——消除讨厌的warning C4355

接下来应该是给property_bag写大量的操作符重载了……唔,稍微等等,怎么总是有一个warning消不掉呢?就是下面这个(使用VS 2005):warning C4355: this : used in base member initializer list 这个C4355是没有办法简单消除的,除非不用this,但又不可能,因为我property_bag的构造函数需要用到父类的

2006-09-14 21:59:00 4540 1

原创 C++中的property库的设计与实现过程(三)——将对象封装到property里面

有了get和set,那么将get和set 的具体内容(也就是那个用于返回真正值的对象)放在哪里比较好呢?一开始,我觉得学习其他语言的那种方式不错,即把property作为一个纯粹的接口来调用,所有的东西都定位到get和set函数中去。但是,为了实现默认的get或set,方便的从一个简单的公有变量向一个受管制的property转换,我觉得说不定把内容放到property里面是一个好主意(当然也不一定

2006-09-14 17:47:00 2129 1

转载 Dian团队项目宣讲会场次和时间安排

Dian团队的全称是“基于导师制的人才孵化站”。她以培养队员高尚的道德情操、优秀的工作作风和扎实的专业技能为目标,将导师制、科研团队以及工程实践相结合,通过“干中学”的方式,以科研课题为牵引,选拔优秀学生直接参与科研活动,加速提高队员的创新能力和综合素质,将高校人才培养与社会需求无缝对接,同时为高层次精英培养提供人才储备。团队不向队员收取任何费用。目前,Dian团队有10多个真实项目正在进行中,有

2006-09-13 14:29:00 2130

原创 C++中的property库的的使用方法

由于代码还没有整理,大量的特化和偏特化散乱在代码里,所以我就暂时不发布源码了,不过这是迟早的事情,呵呵。先来说说怎么用吧,个人觉得还是蛮有意思的。以下是可读写属性的声明方法:#include rdx/property.h>class TestProperty...{    typedef TestProperty MyType;public:    int set_X(int value)

2006-09-13 11:25:00 6075 3

原创 C++中的property库的设计与实现过程(二)——如何为属性指定get_和set_函数?

好了,现在就开始真正实现这个property库。我不打算一开始就把自己现有实现全盘托出,我希望记录整个设计的过程,这样,说不定在写这些文章的同时我还能找到进一步优化这个库的方法。首先来想想,这个类应该怎么定义才好。设想有这么一个类Sample,其中有一个属性X,那么代码可能要写成这样:class Sample...{    int x_;  // Is it necessary?publi

2006-09-13 10:33:00 2783 3

原创 C++中的property库的设计与实现过程(一)

虽然现在很忙,有很多事情要做,但是脑子里总在想一些稀奇古怪的事情而停不下来。比如说这个property,就是我最近睡觉前想的最多的东西。特别是前几天,不小心被关在实验室没法出去只好在这里睡觉,睡觉前又想到这个property,于是手痒,动手真的把粗糙的想法实现了一遍。在说如何实现之前,首先应该说说什么是property,以及为什么要做这么一个东西。property首先应该是Borland C++引

2006-09-12 23:22:00 3332 10

原创 在NTFS文件系统上修改文件的权限

这是一个雕虫小技了,不过今天发现了就记录一下,免得忘记,还是很有用的呢。实际上就是使用CACLS命令了,在命令行窗口里面获得帮助如下:显示或者修改文件的访问控制表(ACL)CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]               [/P user:perm [...]] [/D user [...]] 

2006-09-12 22:26:00 2675

原创 再续:增强boost中function_traits的能力

关于这个问题,John Maddock老大在新闻组里面给出了很详细的解答,虽然我还有些问题要问,不过得好好组织一下怎么说才行……可不要浪费网络资源哈~主要意思是,对于成员函数traits而言,一方面有const和volatile的麻烦事情,另一方面又有一个隐含的this参数不好处理(究竟是算一个入口参数还是不算?),最重要的是这种应用需求完全可以用其他方式替代。所以,John认为没有必要实现这样的

2006-09-12 14:52:00 1919 1

原创 怒:使用IE写blog,居然会要求我装莫名其妙的插件

说实话,我可是第一次用IE上CSDN,主要是因为firefox恰巧出了点问题,就不得不用IE了。其他的一切还顺利,但是写blog时居然会提示我要安装一个ActiveX插件,真就不能忍了。首先,插件来路不明,居然连一个合法的证书都没有(流氓软件尚且都有证书,这个插件连证书都没有,sigh),虽然写着csdn.cab,但是我可没兴趣为了安装这个未经验证的东西而调整IE的安全级别。其次,写blog 的页

2006-09-12 01:44:00 1487 4

原创 续:增强boost中function_traits的能力

上一篇说过,在function_traits里面加入成员函数类型traits的工作纯粹是体力活,那么原作者没有理由“忽略”这个方面——毕竟他已经做了绝大多数的体力活,这个type_traits库就是大智慧和大工作量“完美结合”的产物。 那么,why not?就这个问题我专门写信给作者John Maddock,他的回答让我不太理解了:I dont think this is quite t

2006-09-12 01:30:00 1607

原创 增强boost中function_traits的能力

boost的type_traits功能相当强大,特别是function_traits,能够辅助做很多事情。但是美中不足,function_traits竟然没有针对成员函数做任何的traits提取,似乎有些缺憾。我在boost 1.33基础上修改了boost/type_traits/function_traits.hpp的内容,增强其中的功能,希望能够暂时弥补一下这个遗憾。以下就直接贴代码了,在Be

2006-09-09 23:31:00 2607

原创 获得全局函数和成员函数指针的部分traits的方法

全局函数和成员函数指针不是类型,而是一种变量,虽然它们在本质上有很多区别,但是从模板的角度来说,却是非常类似的。那么如何尽可能的获取它们的traits呢?就这个问题,我做了一些简单的研究,所有的编译结果基于VS.net 2005。 首先,我们不可能用类模板来提取traits信息,也就是说,这种traits手法和一般的type_traits不一样,也弱很多。这个的原因是,类模板如果要接受数值

2006-09-09 11:28:00 1369

原创 Windows 的窗口大小限制

今天想把一个窗口的大小改变成大于屏幕宽度和高度的样子,不过发现居然不行!而且无论是什么程序,都不能够做到这一点!嗯,这个特性似乎不是那么爽哦! 

2006-09-09 11:26:00 2489 3

原创 Words could not be used in C++

C++ Keywords asm        do           if               return       try auto       double       inline           short        typedef bool       dynamic_cast int              signed       typeid

2006-09-09 11:23:00 1251

原创 终于连上来了!!!!

这个必须要好好的complain一下了~!半个多月了,终于第一次连上来了~不知道是CSDN blog太烂还是教育网太烂,反正就是这半个月以来,能访问自己的blog却始终无法登录,就算偶尔登录进去了,居然无法发表文章,总是说找不到服务器。哎,害得我不得不在MSN spaces上灌水了…………嗯,真是不能忍呢~今天总算登录上来,不知道下一次又是什么时候呢……这种日子,嗯,我是不是得想办法了~?

2006-07-20 14:57:00 1328

原创 sf.net上面有多少空壳项目?做个简单的调查吧

众所周知,sf.net上面有很多开源项目,真可谓琳琅满目、包罗万象。不过鲜为人知的是,sf.net上面有很多空壳项目,只有一些点子却没有任何输出(嗯,其实我也贡献了一个空壳项目,不过我是因为一直都连不上sf的CVS……)。我申请过sf.net的项目,而且很幸运的通过了(嗯,好不容易才憋出1K字的英文啊!),深深感觉到不容易啊!光是填那些表格就花了我将近一天的时间,那栏目真是多啊!sf.net确实是

2006-06-26 23:24:00 1523 1

原创 用ISAPI实现URL转向

昨天做项目做的比较郁闷,突然就想起来域名转向的问题,于是就去MSDN查了一下资料,发现ISAPI可以方便的实现这一功能。嗯,首先还是要说说怎么个域名转向。打个比方,如果我现在有realdodo.com这个域名,那么我如果想同时拥有www.realdodo.com和 blog.realdodo.com就需要两个独立的IP。然而这实在是一件很麻烦的事情,毕竟IP还是很稀缺的资源。于是有一个替代方案,那

2006-06-26 20:47:00 2434 4

原创 被阉割的Google

我直言不讳的说,我喜欢Google的东西,也喜欢Google的文化,恐怕实际上很少有像Google这样友善的垄断型公司了。不过Google来到了中国,他需要遵循一切的潜规则。至于评论,我看那就算了……对于Google在中国受到的各种限制,各种传闻由来已久,不过那些都不是什么官方说法,其中可信度并不一致。而我从来不上google.cn,所以也从来感觉不到特别明显的限制(或者说,并没有比原来增加更多限

2006-06-22 21:49:00 3063 4

原创 JavaScript 2快来了!

Javascript 2快来了!这本来已经不是新闻,不过这个消息似乎在国内还没有流传开。无论如何,我还是先转一下相关的资料吧。http://developer.mozilla.org/presentations/xtech2006/javascript/这是Javascript 2的语言特性介绍,简单明了的说明了为什么要对Javascript做出那么多的改进、如何改进、开发计划等。今天时间不多

2006-06-22 20:27:00 1386

原创 用Javascript实现Command模式

这个实现实在太简单了………动态语言就是好使啊~先定义一个Command对象,代码如下:function Command(obj) {     var commandObj = obj;       // save the reference of working object    var oldProp = new Object(); // save old properties      

2006-06-18 21:11:00 1743

原创 创意这东西!

说到我的创意,嗯,全世界人都笑了……当然,不是想发文自损,只是创意这东西,太玄乎了,太难以把握了!最近正在做一个项目,甲方没有什么具体的要求,就要求吸引人、还带有一定的教育意义,简单的说,就是需要我们这边给一个好创意,然后实现它。甲方没有我们想象的那么好“忽悠”, 他们似乎还是很有想法的,曾经那些简单的创意一个一个被否决掉。现在,我来的,算是老师临危受命吧,要拉一群比我小四、五岁的ddmm们来从头

2006-06-11 02:41:00 1320

原创 参加百度之星程序设计大赛有感

题目起的很俗……反正参加完了以后就是有些感受了。首先是认识到自己在算法方面是多么的没有经验。8个小时,我一直在Think/Code/Debug,但是Think的时间实在显得太长。当我想到一种算法,到最终实现成代码,之间总会花费很多很多时间,感觉非常手生。原来听说ACM一般是不申请内存的,这次参赛,对这句话有了一定了解。由于没有太多时间考虑软件架构,而且程序本身不需要非常高的容错性,多线程的问题更不

2006-05-28 22:46:00 3068 5

原创 程序设计:座位调整

5.座位调整 百度办公区里到处摆放着各种各样的零食。百度人力资源部的调研发现,员工如果可以在自己喜欢的美食旁边工作,效率会大大提高。因此,百度决定进行一次员工座位的大调整。调整的方法如下:1.首先将办公区按照各种零食的摆放分成N个不同的区域(例如:可乐区,饼干区,牛奶区等等);2.每个员工对不同的零食区域有不同的喜好程度(喜好程度是1~100的整数, 喜好程度越大表示该员工越希望被

2006-05-28 22:25:00 2036 4

原创 程序设计:变态比赛规则

3.变态比赛规则 为了促进各部门员工的交流,百度举办了一场全公司范围内的“拳皇”(百度内部最流行的格斗游戏)友谊赛,负责组织这场比赛的是百度的超级“拳皇”迷W.Z。W.Z不想用传统的淘汰赛或者循环赛的方式,而是自己制定了一个比赛规则。由于一些员工(比如同部门或者相邻部门员工)平时接触的机会比较多,为了促进不同部门之间的交流,W.Z希望员工自由分组。不同组之间的每两个人都会进行一场友谊赛而同

2006-05-28 22:21:00 1918

原创 程序设计:百度语言翻译机

1.百度语言翻译机 百度的工程师们是非常注重效率的,在长期的开发与测试过程中,他们逐渐创造了一套独特的缩略语。他们在平时的交谈、会议,甚至在各种技术文档中都会大量运用。为了让新员工可以更快地适应百度的文化,更好地阅读公司的技术文档,人力资源部决定开发一套专用的翻译系统,把相关文档中的缩略语和专有名词翻译成日常语言。输入要求:输入数据包含三部分:1. 第一行包含一个整数N(N

2006-05-28 22:18:00 1893 3

原创 Windows批处理的高级用法

嗯,标题好像很大,貌似会图文并茂的讲解很多用法似的……嘿嘿,其实没这么复杂,只是从一个例子出发,抛砖引玉,引出Windows批处理中并不为我们注意的高级用法。真的很有用哦!有这么一个需求,要求做一个批处理文件,能够自动执行某个目录中的几个可执行文件,并且把它们的屏幕输出存入一个Log文件中。这里涉及到两个问题: 如何将屏幕输出转向到文件 如何确定Log的文件名这两个

2006-05-25 15:15:00 1539

原创 “Hello world!”的N种写法

在初学一门编程语言的时候,写一个“Hello world!”程序是最常见的入门方法。通过写一个成功的“Hello world!”,可以实践这门语言最基本的语法特性,还可以带给自己成就感,真是一举两得。C/C++语言本身有很多特性,如果能够将这些技术分解出来变成一个个的“Hello world!”,并且将这些技术点到为止,貌似也算是一件善事。这里,列举了10个“Hello world!”程序,大家雅

2006-05-25 09:42:00 3277 6

原创 Javascript中验证输入参数

Javascript的函数声明中的参数列表并不意味着什么……它们纯粹是为了方便访问这些参数而放在那里的,而并没有限制调用者怎么传参数,调用者想怎么传就怎么传,只要脚本不出错……所有,有时候为了保证程序的健壮性,需要实现输入参数的验证和默认的输入参数。这几天学习的过程中恰好写了一些简单的解决方案,放在这里做备份。首先是验证类型的合法性:function validateType( obj, ty

2006-05-23 16:13:00 1998

原创 实现读取RSS 2.0的Javascript类

这几天在学习一些Javascript的东西,新入手,很差,只好自己写一些小例子练手。嗯,放在这里做备份吧。这是一个能够用于读取RSS 2.0信息,并把读到的东西变成Javascript对象的类。和网上能搜到的代码相比,我这个非常的粗糙,封装的也不一定合理,反正作为练习嘛,达到目的就成首先当然是要搞清楚RSS 2.0的结构,它最基本的骨架如下:                          

2006-05-23 15:28:00 1895 2

原创 “谷歌”突然消失了?

刚刚访问Google,突然惊奇的发现,Google的logo又变成原来的模样,“谷歌”的字样不见了!真是奇怪!莫非是Google为了维护自己在中国形象,开始另觅新名了?当然,这只是臆测……嗯,这些天多关注一下Google好了~期待ing~

2006-05-14 21:08:00 1547 2

原创 不知道有没有必要写一个Javascript的算法库……

前几天在写脚本,终于对 Javascript 中算法匮乏的现象不能忍了,太不方便了!比如说排序,对于Array对象,的确有个sort方法可以用,但是String就不行了,Object(做Hash表用)更不行。其实 Javascript 已经有完备的语法体系,既能够面向对象,也能够模拟出函数重载,但奇怪怎么就没有人来写一套像C++的 STL 一样的算法库呢?相比 STL,Javascript 中缺少

2006-05-12 19:44:00 1721 5

原创 软件开发中的理想与现实(十三)——新的培训即将开始

2月25日是非常值得纪念的,我们花了一个星期实现了一个最小的系统。虽然一切的设计还都非常原始,很明显有不少值得改进的地方,但我们确实已经实现程序的框架,并能够生成一些小东西了。这真的很令人振奋!大家都从测试先行和迭代开发中尝到了甜头,每日会议也不会那么拘束了,每天都会感觉有所收获。这种感觉令人着迷,也让我对自己推行的东西更加有信心了。不过,我们项目中始终有一项风险,那就是我的时间投入可能不够。这个

2006-05-09 11:39:00 2017

原创 软件开发中的理想与现实(十二)——作坊的经理失业了

2月22日,转眼就开发的第三天。项目刚开始的时候会遇到很多问题,特别是架构的设计会出现很多变故。昨天刚经历了“过度设计”的事件之后,使我更加认识到真实项目的艰险——这仅仅是一个实验项目,难度也不高,但前两天过的就那么的有声有色,还是有点出乎意料。嗯,可以想象,今天也绝对不会平淡。果然,“作坊”出事了!还是先回顾一下“作坊”的作用吧。作坊主要的工作是把词元(零件)进行分类,而分类的原理则是基

2006-05-09 11:37:00 1607

原创 我对研究生生活规划的改变历程

昨天看了一位师兄在团队内部BBS发的文章,颇有感触,不由也想回顾一下自己对研究生生活规划的改变历程。仔细想想,这也是理想与现实的冲突。第一个阶段是大四下学期,那时我刚考完研究生,非常憧憬整天呆实验室的生活。本科阶段,我虽然学习了不少软件技术,但由于性格比较内向,并没有参加任何的社团活动,也没有正规的做过什么项目,所以我觉得自己应该去读研,应该在做项目中找到自己的定位。我当时的规划就是:第一年在实验

2006-05-08 16:20:00 5980 1

原创 五一教练组活动全记录(原始记录)

记录人:NULL五一期间,教练组利用传统的长假组织了一次活动,专门来讨论和实践自动化测试方法。5月5日,雨早晨起床,正下着小雨,从东校区走到东一基地,正好快9点,realdodo早已在那里等候,继续稍等片刻,人都到齐。参与人员包括:wikiexe、lyide、yeldsd、asile、gump、liyong、realdodo和NULL,培训正式开始。realdodo首先让大家谈谈自己关于软件测试的

2006-05-08 15:25:00 1279

原创 C语言中的小技巧

看看下面一段程序的功能:/* TestRCUnit.cpp : 定义控制台应用程序的入口点。*/#include typedef void (*__CUNIT_TEST_CASE_FUNC_TYPE)();/*! /brief 测试用例链表结点。  存储测试用例的函数指针和测试用例的名字。 */typedef struct __tagCUnitTestCaseListNode{    stru

2006-05-05 22:43:00 1317 2

原创 软件开发中的理想与现实(十一)——够用就好

2月21日,项目正式开始第二天。依照昨天设计的框架和接口,我们开始实现这些功能,不过似乎大家的进展都比较慢,特别是XophiiX,似乎他陷入了困境之中。具体是什么问题呢?请看下面的接口定义:    class CReader    {        // ...    public:        template         bool ReadFile(ForwardIterator &in

2006-05-05 22:14:00 1886 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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