
开发随想
Spacesoft
这个作者很懒,什么都没留下…
展开
-
表达实践:从缓冲区溢出说起
表达实践:从缓冲区溢出说起Spacesoft【暗夜狂沙】 目前流行软件最出名的安全漏洞大多来自于缓冲区溢出。1999年,缓冲区溢出就占使 CERT/CC 提出建议的所有重大安全性错误的百分之五十以上。这个问题似乎由来已久又绵延不绝,大家想了各式各样的方式来避免,但是又防不胜防。解决缓冲区溢出同样没有银子弹,它需要的是更多的细致与认真。 本文希望以这个棘手的问题原创 2004-02-29 13:24:00 · 1398 阅读 · 0 评论 -
思辨:目标驱动的产品设计
顺手整理一些近期的思路与思考的中间结论,没什么章法,姑且记着吧。在软件产品的开发过程当中,产品工作起什么作用?OK,我当然明白了:收集整理用户需求并进行建模;负责产品功能的定义、规划和设计;负责产品决策,保证开发队伍顺利开展工作及跟踪产品错误等;搜集整理竞争产品的资料以及研究产品的发展趋势等;看起来什么都要做,这些看似全面到无微不至的工作任务,究竟是因为什么原因,而被归纳到产品工作这样原创 2009-09-30 00:09:00 · 730 阅读 · 0 评论 -
目标驱动的产品设计(二)—— 从光影魔术手谈起
(一)在过去的几年里面,图片处理软件是应用软件行业里最波澜不兴的领域之一。微软占优势的Office领域毕竟还有像WPS这样顽抗到底的强硬对头,腾讯横行无忌的IM行当里面更是前有像MSN这样的土豪,后有淘宝旺旺这样的新贵。而Phtotshop在图片处理软件领域的绝对霸主地位,却几乎没有遇到什么有力的挑战。“PS一下”已经变成了我们这代人对于图像处理最熟悉的口语。在这样的一个领域里,还有新产品原创 2009-09-30 00:10:00 · 689 阅读 · 0 评论 -
Windows消息的封装之:this 在哪里(一)
一个类的成员函数跟一般函数是不同的,而类的成员函数隐式的包含了一个this指针。好家伙,一句废话,这是地球人都知道的东西。可是,Windows API 要求的Callback 函数都不是成员函数,而在面向对象的世界里,没有this,日子会过得很苦闷。那么多的Windows Framwork 们,是如何处理这个问题的呢?最近重新翻了一下代码,顺手做个笔记吧。以下是第一集:MFC的实现。原创 2009-05-17 23:49:00 · 794 阅读 · 0 评论 -
郁闷了,alloysoft被人注册了
域名过期了,没来得及续费,被个老美抢走了,5555只好换个域名了。新注册的主页域名:http://www.mrspace.net这次得看好了,唉~~原创 2006-03-27 01:43:00 · 994 阅读 · 0 评论 -
ATL 的CFileDialog 的一个Bug?
欢迎访问作者的个人主页(http://www.mrspace.net/)今天发现ATL 的一个Bug。首先贴一段MSDN 上面的范例代码:void CChildFrame::OnFileOpen() { char CChildFrame::szFilters[]= "MyType Files (*.my)|*.my|All Files (*.*)|*.*||";原创 2006-03-27 18:47:00 · 1734 阅读 · 0 评论 -
[原创]我们需要什么样的技术(二、先驱还是先烈,这是个问题)
我们需要什么样的技术二、先驱还是先烈,这是个问题 对于一个准备踏踏实实做产品的企业而言,技术者,死生之地,存亡之道,当局者不可不查也。尤其是站在重大技术革新的机会面前,如何取舍,更是一个非常头痛的问题。很多人可能会心理冷笑:“站在技术革新的机会面前,还有啥取舍的?直接上啊!一定要抢占技术创新的制高点!” 开玩笑?就看到机会了?你可知道,抢先一步,既是取胜之途,也原创 2005-07-02 02:10:00 · 1226 阅读 · 0 评论 -
[原创]我们需要什么样的技术(写在前面)
我们需要什么样的技术写在前面 在进入这一行之前,我最大的爱好是阅读科学和技术的发展史。对于一个对科学报有朴素好感的年轻人,科技史上的许多故事足以让我如看武侠小说中大有荡气回肠的快感。进入这一行以后,我看到了IT行业这个聚集了当今社会上最多青年才俊的行业中许多更加让人唏嘘不已的故事,让我不禁经常思考技术的力量和技术的命运。 当我们习惯了为某些技术取得的成功惊诧不已的时候,我们原创 2005-07-02 02:07:00 · 1239 阅读 · 0 评论 -
国产软件,有些郁闷
北京市政府采购了大笔的微软订单,然后象征性的买了一点国产软件,于是网上的大侠就开始争论起来了。一边说:胡闹,《政府采购法》摆在那里呢,你怎么优先采购了国外软件哪?另外一边说:本来就应该是这样啊,国产软件不够好。一半对一半吧,俺们也不好说谁对谁错,可是有些论调就比较伤人了:人民网来了这样一篇文章《政府采购外国软件 怎么把国软逼上绝路了?》,直接对这类争论下了一个论断:“过去,国内软件企业原创 2004-11-26 13:50:00 · 1427 阅读 · 0 评论 -
Delphi 消息机制引入的一个副作用
Delphi 在处理进程的消息时引入了一个隐藏的窗体Application ,借此进行消息的分发。这样的机制优美的处理了消息的分发和处置的问题。但是最近我发现这个机制也引入了一个副作用,会在某些情况下影响程序的界面交互行为。我遇到的需求是需要在程序中实现单个实例,并且在第二个实例被启动的时候,首先将前一个实例置到最前,然后退出。按说这样的问题应该是比较典型的例子,但是这样的一个简单需求就受到了原创 2004-10-09 23:31:00 · 2271 阅读 · 6 评论 -
VS 2003 的一个Bug?
晚上遇到一件很分特的事情:我用VS2003 建立了一个资源DLL 文件,然后向里面放了若干GIF 文件,然后编译通过,看起来一切都这么完美。可是后来在使用的时候就出了错误。我百思不得其解,研究了一个晚上,才发现原来VS203偷偷的背着我把GIF 文件转换成了BMP 格式并储存起来,最后打进DLL 里面去的是披着GIF外皮的BMP 文件,难怪我读取的时候要失败。而且,JPG 格式的文件也没有逃过它的原创 2004-10-01 02:55:00 · 1345 阅读 · 0 评论 -
Spacesoft 的重构法则
1、永远不要使用全局替换来处理要修改的内容。要小心翼翼的检查每个修改掉的地方,思考这些修改在这个地方有没有引入什么新的副作用,特别是那些代码不完全是你写的,或者离上次修改的时间已经不短了。那些看起来似乎完全一样的代码,面对一次修正,隐含的含义可能完全不一样。不小心处理,你一定会痛恨自己为啥要做这些修改。2、无论如何,修改之前首先要确定自己手头有这个模块的测试代码,路径覆盖得越完全越好,实在原创 2004-07-31 13:31:00 · 1052 阅读 · 0 评论 -
需求、接口和测试 ——我看测试驱动开发(一)
需求、接口和测试——我看测试驱动开发(一)Spacesoft【暗夜狂沙】 软件工程界一直存在这样的看法,“程序员不应该测试他们自己的代码”,原因是程序员在代码开发中形成的思维定势将不可避免的导致测试的盲区,同时,就个人感情而言,个人很难否决自己努力完成的工作成果。 这样的观念使得专业的测试团队的出现成为可能,于是,在现代软件开发中,专业测试团队的介入使得软件的质量得到了相当原创 2003-12-19 19:16:00 · 1312 阅读 · 0 评论 -
表达:用好代码的肢体语言
表达:用好代码的肢体语言Spacesoft【暗夜狂沙】 编程从本质上说是一种表达。实际上,编程的过程就是我们使用一种语言向机器表述一个工作以及其完成的步骤,让机器来进行的过程。也就是说:软件开发看起来似乎应该是一件人和机器沟通的工作,就像那位穿黑衣服戴黑墨镜的黑客尼奥干的一样酷。 但是,我们遇到的项目往往太庞大、太复杂,于是我们每天更多的是在试图和人交流——写文档阐述我们的原创 2003-12-19 19:17:00 · 1371 阅读 · 0 评论 -
Windows消息的封装之:对话框与控件(二)
好了,继续讨论Frameworks 对控件消息的处理。继续拿可怜的MFC作例子,好吧,这家伙土是土了一点,以后我们会提到点稍微时髦点的东西,现在我们还是继续解剖这个古董Framework 吧(拜托,在Windows 下面用C++ 写桌面应用这个行当里面,还有啥时髦东西?连恐龙们都去玩.Net 了)。 MFC 继承了Windows 程序对控件的处理方式,基本的控件消息是通过WM_C原创 2009-09-30 00:12:00 · 667 阅读 · 0 评论