自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 怎样的产品才算好产品?(一)

本文讨论了从用户视角如何评价一个产品好坏的标准,提出了分析产品好坏的三个层次因素:产品功用、产品表现、使用体验。

2010-07-07 20:19:00 813

原创 Windows消息的封装之:对话框与控件(二)

    好了,继续讨论Frameworks 对控件消息的处理。继续拿可怜的MFC作例子,好吧,这家伙土是土了一点,以后我们会提到点稍微时髦点的东西,现在我们还是继续解剖这个古董Framework 吧(拜托,在Windows 下面用C++ 写桌面应用这个行当里面,还有啥时髦东西?连恐龙们都去玩.Net 了)。    MFC 继承了Windows 程序对控件的处理方式,基本的控件消息是通过WM_C

2009-09-30 00:12:00 723

原创 目标驱动的产品设计(二)—— 从光影魔术手谈起

(一)在过去的几年里面,图片处理软件是应用软件行业里最波澜不兴的领域之一。微软占优势的Office领域毕竟还有像WPS这样顽抗到底的强硬对头,腾讯横行无忌的IM行当里面更是前有像MSN这样的土豪,后有淘宝旺旺这样的新贵。而Phtotshop在图片处理软件领域的绝对霸主地位,却几乎没有遇到什么有力的挑战。“PS一下”已经变成了我们这代人对于图像处理最熟悉的口语。在这样的一个领域里,还有新产品

2009-09-30 00:10:00 767

原创 思辨:目标驱动的产品设计

顺手整理一些近期的思路与思考的中间结论,没什么章法,姑且记着吧。在软件产品的开发过程当中,产品工作起什么作用?OK,我当然明白了:收集整理用户需求并进行建模;负责产品功能的定义、规划和设计;负责产品决策,保证开发队伍顺利开展工作及跟踪产品错误等;搜集整理竞争产品的资料以及研究产品的发展趋势等;看起来什么都要做,这些看似全面到无微不至的工作任务,究竟是因为什么原因,而被归纳到产品工作这样

2009-09-30 00:09:00 790

原创 我的百度博客

主要在百度那边写,这边主要是精华文摘。 http://hi.baidu.com/spaceblog

2009-09-30 00:08:00 478

原创 Windows消息的封装之:this 在哪里(一)

 一个类的成员函数跟一般函数是不同的,而类的成员函数隐式的包含了一个this指针。好家伙,一句废话,这是地球人都知道的东西。可是,Windows API 要求的Callback 函数都不是成员函数,而在面向对象的世界里,没有this,日子会过得很苦闷。那么多的Windows Framwork 们,是如何处理这个问题的呢?最近重新翻了一下代码,顺手做个笔记吧。以下是第一集:MFC的实现。

2009-05-17 23:49:00 840

原创 【读书笔记】如何撰写用例集的一些原则

记一下学习《有效用例模式》(Patterns for Effective Use Cases)的读书笔记。1、共享一个清晰的愿景意义:在项目相关人员中统一项目的方向与目标,确保清晰的描述项目的使命、目的、涉众原因:a、强制参与者思考项目对于涉众的真正价值b、控制开发人员将系统范围无限扩展的倾向c、协调参与人员的项目目标,防止项目参与者出现相互冲突的愿景d、确保每个参与者

2008-05-04 15:10:00 687

原创 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 1788

原创 郁闷了,alloysoft被人注册了

域名过期了,没来得及续费,被个老美抢走了,5555只好换个域名了。新注册的主页域名:http://www.mrspace.net这次得看好了,唉~~

2006-03-27 01:43:00 1034

原创 《国际化软件开发》读书笔记——感想和经验总结

 function doZoom(size){ document.getElementById(zoom).style.fontSize=size+px}欢迎访问作者的个人主页(http://www.mrspace.net/)一、给Static、Label控件保留足够的长度    据说中文是最简洁的语言,当然我对其它语言的了解比较有限。不过根据我经手的几个日语和英语的

2006-03-27 01:29:00 1383

原创 [原创]我们需要什么样的技术(二、先驱还是先烈,这是个问题)

我们需要什么样的技术二、先驱还是先烈,这是个问题     对于一个准备踏踏实实做产品的企业而言,技术者,死生之地,存亡之道,当局者不可不查也。尤其是站在重大技术革新的机会面前,如何取舍,更是一个非常头痛的问题。很多人可能会心理冷笑:“站在技术革新的机会面前,还有啥取舍的?直接上啊!一定要抢占技术创新的制高点!”     开玩笑?就看到机会了?你可知道,抢先一步,既是取胜之途,也

2005-07-02 02:10:00 1270

原创 [原创]我们需要什么样的技术(写在前面)

我们需要什么样的技术写在前面    在进入这一行之前,我最大的爱好是阅读科学和技术的发展史。对于一个对科学报有朴素好感的年轻人,科技史上的许多故事足以让我如看武侠小说中大有荡气回肠的快感。进入这一行以后,我看到了IT行业这个聚集了当今社会上最多青年才俊的行业中许多更加让人唏嘘不已的故事,让我不禁经常思考技术的力量和技术的命运。    当我们习惯了为某些技术取得的成功惊诧不已的时候,我们

2005-07-02 02:07:00 1279

原创 国产软件,有些郁闷

北京市政府采购了大笔的微软订单,然后象征性的买了一点国产软件,于是网上的大侠就开始争论起来了。一边说:胡闹,《政府采购法》摆在那里呢,你怎么优先采购了国外软件哪?另外一边说:本来就应该是这样啊,国产软件不够好。一半对一半吧,俺们也不好说谁对谁错,可是有些论调就比较伤人了:人民网来了这样一篇文章《政府采购外国软件 怎么把国软逼上绝路了?》,直接对这类争论下了一个论断:“过去,国内软件企业

2004-11-26 13:50:00 1484

原创 Delphi 消息机制引入的一个副作用

Delphi 在处理进程的消息时引入了一个隐藏的窗体Application ,借此进行消息的分发。这样的机制优美的处理了消息的分发和处置的问题。但是最近我发现这个机制也引入了一个副作用,会在某些情况下影响程序的界面交互行为。我遇到的需求是需要在程序中实现单个实例,并且在第二个实例被启动的时候,首先将前一个实例置到最前,然后退出。按说这样的问题应该是比较典型的例子,但是这样的一个简单需求就受到了

2004-10-09 23:31:00 2340 6

原创 VS 2003 的一个Bug?

晚上遇到一件很分特的事情:我用VS2003 建立了一个资源DLL 文件,然后向里面放了若干GIF 文件,然后编译通过,看起来一切都这么完美。可是后来在使用的时候就出了错误。我百思不得其解,研究了一个晚上,才发现原来VS203偷偷的背着我把GIF 文件转换成了BMP 格式并储存起来,最后打进DLL 里面去的是披着GIF外皮的BMP 文件,难怪我读取的时候要失败。而且,JPG 格式的文件也没有逃过它的

2004-10-01 02:55:00 1392

原创 Spacesoft 的重构法则

1、永远不要使用全局替换来处理要修改的内容。要小心翼翼的检查每个修改掉的地方,思考这些修改在这个地方有没有引入什么新的副作用,特别是那些代码不完全是你写的,或者离上次修改的时间已经不短了。那些看起来似乎完全一样的代码,面对一次修正,隐含的含义可能完全不一样。不小心处理,你一定会痛恨自己为啥要做这些修改。2、无论如何,修改之前首先要确定自己手头有这个模块的测试代码,路径覆盖得越完全越好,实在

2004-07-31 13:31:00 1085

原创 表达实践:从缓冲区溢出说起

 表达实践:从缓冲区溢出说起Spacesoft【暗夜狂沙】    目前流行软件最出名的安全漏洞大多来自于缓冲区溢出。1999年,缓冲区溢出就占使 CERT/CC 提出建议的所有重大安全性错误的百分之五十以上。这个问题似乎由来已久又绵延不绝,大家想了各式各样的方式来避免,但是又防不胜防。解决缓冲区溢出同样没有银子弹,它需要的是更多的细致与认真。    本文希望以这个棘手的问题

2004-02-29 13:24:00 1450

原创 Delphi 中的字符串——《Delphi6 开发人员指南》读书笔记

Delphi 中的字符串——《Delphi6 开发人员指南》读书笔记Spacesoft【暗夜狂沙】Delphi 对字符串这个结构的支持是十分丰富的,不仅有Delphi 本身支持的string 类型,还支持和C 语言兼容的字符串数组。那么他们之间有什么区别呢?本文试图就此做一个详细的剖析,并且试图回答论坛上常见的几个问题。首先,我们要讨论的是Delphi 中的string 到底是什么

2003-12-19 23:15:00 2058

原创 《东邪西毒》之IT求职版

《东邪西毒》之IT求职版 Spacesoft【暗夜狂沙】   欧阳峰(独白):很多年之后,我有个绰号叫做西毒,任何人都可以变得狠毒,只要你尝试过甚么叫忌炉,我不会介意他人怎样看我,我只不过不想别人比我更开心。   欧阳峰(独白):我还以为这世界上有一种人不会有忌炉心的,因为他太骄傲啦,在我出道的时候,我认识一个人,因为他喜欢在东边出没,所以很多年之后,他有个绰号叫东邪。    欧阳峰(独白

2003-12-19 23:15:00 1322

原创 C++ 和 Delphi 的函数覆盖(Override)与重载(overload)

C++ 和 Delphi 的函数覆盖(Override)与重载(overload)Spacesoft【暗夜狂沙】在面向对象编程中,当子类继承了来自基类的函数后,子类有可能需要对其中的一些函数作出与基类不同处理,比如:class CHuman{public:    void SayMyName()//打印出对象的姓名    {        cout     } };那么很明显,假如

2003-12-19 23:14:00 1697

原创 大腕之过度设计

大腕之过度设计Spacesoft【暗夜狂沙】乙:    听说你们开发了一套国际先进水平的"Hello World" 程序?甲:    是啊,我们在开发之前进行了大量的需求分析,并且根据我们的分析,设计了一个十分先进的"Hello World" 程序。我们的架构师是这样说的: 一定得选最先进的架构, 怎么也得也要分布式的,做就要规范,把设计模拿过来,什么B

2003-12-19 23:14:00 1178

原创 表达:用好代码的肢体语言

表达:用好代码的肢体语言Spacesoft【暗夜狂沙】    编程从本质上说是一种表达。实际上,编程的过程就是我们使用一种语言向机器表述一个工作以及其完成的步骤,让机器来进行的过程。也就是说:软件开发看起来似乎应该是一件人和机器沟通的工作,就像那位穿黑衣服戴黑墨镜的黑客尼奥干的一样酷。    但是,我们遇到的项目往往太庞大、太复杂,于是我们每天更多的是在试图和人交流——写文档阐述我们的

2003-12-19 19:17:00 1411

原创 需求、接口和测试 ——我看测试驱动开发(一)

需求、接口和测试——我看测试驱动开发(一)Spacesoft【暗夜狂沙】  软件工程界一直存在这样的看法,“程序员不应该测试他们自己的代码”,原因是程序员在代码开发中形成的思维定势将不可避免的导致测试的盲区,同时,就个人感情而言,个人很难否决自己努力完成的工作成果。    这样的观念使得专业的测试团队的出现成为可能,于是,在现代软件开发中,专业测试团队的介入使得软件的质量得到了相当

2003-12-19 19:16:00 1367

空空如也

空空如也

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

TA关注的人

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