自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

跬步致远——Ai92

物换心不移,一生微笑同看雨过天晴。

  • 博客(76)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计已死?(Ai92重译版)

设计已死? Martin Fowler著   Ai92译英文原文版权由Martin Fowler拥有Original text is copyrighted by Martin FowlerMartin FowlerChief Scientist, ThoughtWorks 声明:任何人都可以在任何地方随意转载本文,但是在转载时请保持本文完整性,请不要在转载的时候做任何改动或增删。 *******

2005-11-23 14:24:00 16468 11

翻译 API(模块)设计之道(一)

原文地址:How To Design a (module) API 翻译:Ai92     http://blog.csdn.net/ai92为什么需要API? API是应用程序设计接口(Application Programming Interface)的缩写,在我们对如何编写API进行深入描述并给出建议之前,有必要来分析下这个术语的含义。  单词interface表示API

2006-09-10 09:12:00 12215 2

原创 JSF吧:那就开始吧……

 最近由于工作原因,接触了一段时间的JSF(Java Server Faces),感觉这个东西还是很不错的,值得推荐给大家。JSF其实已经发展了很多年了,我最早注意到JSF,是在2004年公司举行的Sun Java技术大会上,一位Sun公司的工程师演示使用Creator(那时还不是免费的)拖拽Web页面。不过那个时候的JSF尚显稚嫩(结论来自当时研究JSF的同事之口),而现在则已经成熟稳定(我

2006-08-28 22:27:00 9463 1

原创 杀毒手记——遭遇Infostealer

这段时间有点背。就在一个月前,由于在野站点下软件,被暗算了流氓软件,导致机器频频弹出激情广告还不算完,更甚者是搞挂了我机器上CC——天天就靠它管理代码来着。费了点劲把流氓软件给做了,可是对CC还是回天乏力。实在不知道CC的哪根筋不对,只好重装了。新装的系统,干干净净,比以前轻快了不少,一个月来机器用的非常顺手。本想生活就此又恢复了平静和有序,没想到这个幻想在今天早晨破灭了——机器又遭到病毒袭击。这

2006-08-10 23:08:00 9002 16

原创 思考详细设计——maillist中的讨论

       前几日,我将《思考详细设计》贴到了python-chinese maillist 里面,引起了进百封信的讨论。这是在我意料之中的,我的本意就是以我的帖子为引子,引出一些好的建议和探讨出来。而出乎我的意料的是,这次讨论也没有摆脱“开题——跑题——咬文嚼字的争论——开始人身攻击”的宿命。      不过讨论与争论中还是有些观点值得大家分享的,所以在这里整理罗列出来。     

2006-08-05 11:15:00 8650 2

原创 思考详细设计

Ai92 2006-8-2 设计在软件开发中扮演的角色,相信大家都很清楚。设计的好坏直接影响着软件产出的质量。设计一般分为架构设计(概要设计)和详细设计。架构设计主要从系统整体上来考虑使用什么样的架构、如何划分模块以及制定模块间的通信规则。因此架构设计从规模或者粒度上都比较好把握。而详细设计则与架构设计不同,它的工作量通常不小而且粒度不好把握。所以详细设计往往实践的不是很成功,要么流于

2006-08-02 18:59:00 10794 1

原创 也谈加班

        加班并没有帮助,尽管在很短的时间内这样做会使团队开发速度加快,但是如果你持续任意一段时间这样做,你将变得异常烦恼。最见效的杀手是干劲,让一位干劲十足的程序员工作七小时比让一位疲惫不堪、心烦意乱的程序员工作十小时效果好的多。即使程序员希望长时间地工作,那也不是一个好主意。长时间工作会使人疲倦,疲倦会使人犯错误,而错误将需要花时间去改正。……如果他们确实没有了活力,则改为晚上让他们去玩

2006-07-09 15:33:00 7830 6

原创 Use Case编写建议

前一段时间一直在忙于编写用例,这着实让我体味了一把编写好的用例的不易。用例代表着系统中各个项目相关人员之间就系统的行为所达成的契约。在面向对象的需求分析中,得到系统的功能需求最方便的方式就是识别用例,而且这些用例扮演着很重要的角色(看看RUP吧)。因此我们将着重讨论在作为系统功能性需求的用例,而不涉及其它种类的用例。也许你应该抽空阅读一下这篇文章《用例建模指南》。你将对用例的编写有一个全面

2006-06-10 02:03:00 10917 4

原创 我们的目标——RoR?

来新公司已经一个多月了,一进来就一直在做一个全新产品的开发。这个产品是为了给用户提供一个快速开发中小型应用提供的可视化开发平台。在前一个公司从事了近两年的web应用程序的开发——规模也算得上是大型系统,现在一转身即将变成某web应用开发平台的缔造者之一,倒也觉得新鲜。一切才刚刚开始,需求、技术……,大家都在摸索。第一个版本作为试验田,要做的简单而有意义——也许复杂的功能我们暂时不能提供支持,但

2006-05-30 08:19:00 8865 3

原创 为什么大家都要CMM

昨天新公司的部门头头将包括我在内的最近才加入的同事叫到会议室里,象征性的询问了下我们工作的情况和意见,又做了些简单的交流。在交谈中,得知我原来的公司在实施CMM,并早已经通过CMM5认证以后,便问我原来所在部门CMM实施的如何等等问题。我只能很遗憾的回答他,原来的部门实施的也是没有成效,而且作为编码人员处在CMM中极不重要的位置,我不太清楚具体的细节。头头介绍说我们部门也将实施CMM3,而且就是我

2006-05-22 08:13:00 9193 9

转载 系统分析师考试大纲(2004年新版)

系统分析师考试大纲(2004年新版)一、考试说明1.考试要求:(1)具有系统工程的基础知识;(2)掌握开发信息系统的综合技术知识(硬件、软件、网络、数据库);(3)熟悉企业和政府信息化建设,并具有组织信息化战略规划的知识;(4)熟练掌握信息系统开发过程和方法;(5)熟悉信息系统开发标准;(6)掌握信息安全的相关知识与技术;(7)理解软件质量保证的手段;(8)具有经济与管理科学的相关基础知识,熟悉有

2006-05-08 20:50:00 8239 2

原创 Java EE 5规范横空出世

       五一长假归来,习惯的在http://www.theserverside.com/上浏览新闻,看到Java EE 5规范在5月1日全票通过正式发布了(Java EE 5 passes - ready, set, code!)。由此想到国外的劳动者们,为了促使Java EE 5规范早日诞生,甘愿放弃享受国际劳动者们自己的节日,任劳任怨的跑来辛苦的开会表决,我感动万分,无以言表。   

2006-05-08 16:04:00 9453

原创 还是品牌电脑好啊!

        今天收到邮件通知,说供电局对公司供电系统的避雷器进行打压试验,会照成一瞬间的停电,让大家在下午三点保存好电脑资料。这几天济南多雨,是该注意防雷了。        可是随着大家中午在千佛山中悠闲的漫步,这个通知被扔到了千佛山的那一头去了。下午,当我正忙着从网上checkout代码的时候,大厅的灯突然闪灭了,然后就是一阵机器重启声——打压测试过去了。奇怪的是,我的机器竟然像没事一样

2006-04-28 22:55:00 7830 9

转载 苑姓起源——古老而孤独

这是从我的另外一个blog上转载过来的。这篇文章在那里引来很多同姓人的关注和支持,一直很热闹,所以我想转到这里看看有多少同姓又同行的朋友。----------------------------------------------------------------------------------------------------------------早就想查一查自己的

2006-04-13 11:34:00 12126 5

原创 快速搭建自己的CVS

相信有过团队开发经历的人,都用过这样或者那样的版本控制系统。比如,我们就使用CVS(并发版本系统)来管理源代码。它的好处,对于用过的人自然不用多说。而以前对于CVS的使用也仅限于工作的需要,对于自己的文件和源代码并没有涉及使用,为此也吃过一些苦头,比如轻易删除的一段代码又要费劲的重写出来。为了避免悲剧重演,我给自己搭建了一套CVS,然后将自己还在更新的文件和源代码放入统一的目录中打上了CVS的

2006-03-10 18:06:00 12569

原创 节前最后一“枪”

就要放假了,这将成为春节前的最后一贴。2005年的回顾总结至今尚未动笔,懒是一个原因,另外想以春节来做为期限更为合理些,就说服着自己一拖再拖。这一贴就算是简要回顾下最近正在进行的任务,以便春节回来“断点续传”。这两个月来,涉猎了些有关AOP、DBC、TDD的内容,本想写些东西,但是还处于仅仅从网上接受内容的阶段,自己的想法还不成熟,暂且放下了。希望明年能有所悟所思,并能以此为题协助女友写篇论文。P

2006-01-18 18:27:00 7803 2

原创 让你的Java程序Better,Faster,Lighter

冲着2005年度技术图书Jolt大奖获得者的名声,我这几天抽空大概得浏览了一下《Better,Faster,Lighter Java》的英文电子版(据说中译本名为:轻快的好Java,先汗一个)。作者将本书定位为经验不丰的Java程序员介绍写出更好的代码的方法和原则。因此对于专研Java多年以及编程经验丰富的人来说,这本书中提到的方法和原则都是老调重弹,而且仅仅是点到为止,没有什么有价值的看点。但是

2006-01-06 19:53:00 8048 4

原创 由CMMI+培训想到的

11月末,在领导的关照下,有幸参加了公司组织的所谓产品开发流程高级实务培训,从简介上看是和CMMI有关的。自己还仅仅是一名小小的开发人员,对“空洞”的方法学只是浅尝辄止,加之本身对CMM这一套一窍不通,心想只去听个热闹。培训持续了两天,无情的占用了周末的时间。公司这样安排培训,害得大家周末两天都不能安排自己的时间,效果可想而知,周日那场去了也就一半的人,绝大部分还是我们这些住单身公寓的。由于自己对

2005-12-20 20:34:00 9595 3

原创 2005年沈阳入冬第一场雪

今天翻看图片文件夹,这才想起今年还有些雪景的照片。说起今年冬天,的确和往年不同,大连下了五十几年来罕见的大雪,山东烟台、威海也大雪封城……沈阳入冬的第一场雪也是不简单,甚是壮观!http://ai92.blogchina.com/3931015.html (多美图)

2005-12-19 19:59:00 8680

原创 由表及里看模式

一、引子记得一年前,我开始陆陆续续在自己的blog上连载《深入浅出设计模式》。其内容无出经典巨著《设计模式》之右,仅仅偶有己见,但是它记录了我学习、思考和讲述设计模式的过程。一晃,距离写成最后一片设计模式的文章已有3月余,我却迟迟没有对设计模式做一个总结。心想,总不能虎头蛇尾吧,于是便有了这篇文章。 二、回顾23种设计模式先来回顾下这23种经典的设计模式吧,下图给出了GOF对它们的分类:    

2005-12-18 18:24:00 9382 4

原创 我看页面原型

最近在看《Joel说软件》,这家伙插科打诨的讲述风格着实让我耳目一新,在愉悦中借鉴些可贵的经验还是蛮享受的。    在书中有一节提到了对于原型的看法,Joel认为原型不能搞得太复杂,稿纸原型是最好的方式。特别是界面的布局、色调这些东西完全可以用铅笔潦草的表示。当然Joel说得有一定的道理,但是这并不能适用于任何类型软件的开发,就像Joel在书中提到的XP、RUP这些方法学不能适用于游戏、嵌入式

2005-12-03 18:58:00 7533 2

原创 火拼:Sun免费提供Java Studio Enterprise 8

   记得去年大约也是这个时候,在公司Sun Java技术大会上听到Sun的官方人员宣称:Sun的IDE在不久的将来"is free"!他那夸张的表情让大家笑了起来。   一晃一年过去了,今天得到消息,Sun已经开始向SDN( Sun Developer Network )注册会员免费提供Java Studio Creator 和Java Studio Enterprise 8。这是个不错的消息,

2005-11-10 09:46:00 3145 1

原创 How can a singleton bean collaborate with a non-singleton one in Spring

Spring这个响亮的名字,在java web应用开发的程序员中无人不晓,也许我形容得力度还不够,在此我表示歉意。大家都在快乐的使用spring将自己的java class管理起来,而且还能快速的帮你将class设置成singleton或者non-singleton。一切显得那么简单和完美。不知道你是否尝试过这样的配置:bean id="singletonOne" class="com.ai92.

2005-11-08 11:07:00 2141

原创 看JUnit4中Metadata的巧妙应用

JUunit4至今还是神神秘秘,不知道最终是个什么样子。但是已经有文章在对其进行介绍。先不管文章里描述的是否是JUnit4最后的面貌,我们可以从中看出JUnit4借助Tiger的新特性进行了不小的改进,尤其是元数据(Metadata)的应用。在文章透露出的所有信息里面,几乎所有的改进都和元数据有关。以前一切依靠命名规范来约束的方法,现在都改为通过不同类型的元数据来加以区别。当然这倒没有什么大不了的

2005-11-06 13:59:00 2540

原创 做秀的免费讲座

今日风和日丽,和同事到市里办了点私事。事情办完后余下的时间还很多,于是便到电脑书店消磨时间。刚到门口,就看到一位书店工作人员拿着一些宣传单在给两个学生模样的人说着什么,旁边的宣传栏上也好像写着什么东西。在书店里,无聊的翻看着几本新书,实在没有什么能让我提起精神的。就在这时,喇叭里传出了公告,大致的意思是:不时将有一场免费的讲座,由某某所资深研究员给大家讲解java分布式技术,为大家指明技术发展的方

2005-11-05 19:11:00 1984 1

原创 RUP之用例间的关系

这一段时间,参加了部门组织的RUP教学项目,由一位“外援”架构师为我们指导教练。最近一直在忙于业务建模,今天刚刚将自己负责部分的系统用例识别了一遍。其间一直有一个问题,缠绕着包括我在内的很多同事,那就是用例之间的关系——包含、扩展、泛化——到底该如何使用。    翻阅了同事去年参加RUP培训时带来的材料,终于能基本分清三者之间的关系。 用例是从系统外部可见的行为,是系统为某一个或几个参与者(Act

2005-11-04 20:17:00 4385 1

原创 防腐剂,你注意了吗?

今天去超市买了一些自己喜欢吃的金丝枣。无意中在袋子上的原料表里看到了山梨酸钾这么个东西。似乎经常看到,到底是什么个东西呢?今天干脆一不做二不休,上网查它个明白。原来它和经常在香肠上看到的苯甲酸钠一样是一种人工合成防腐剂。再仔细看了看,原来这里面的学问深着呢!摘取了一些内容,希望能引起大家对防腐剂的注意。特别是儿童、孕妇等特殊人群,应该尽量少吃含有防腐剂的食品。  食品防腐剂顾名思义,是防止食品在存

2005-10-29 19:26:00 4316

原创 模式实践:观察者模式与Spring

    公司的项目告一段落,最近在进行RUP培训项目,有了些空闲的时间。闲暇浏览TheServerSide时,看到一篇名叫《Spring loaded Observer Pattern》的文章,不禁会心一笑——我已在两个月前应用到项目中了。而作者的观点也和我的观点吻合:the Spring framework is a great reason to continue design pattern

2005-10-28 20:16:00 7016 1

原创 使用Gmail的日子

拥有Gmail还是好久以前的事情了,但是一直没有使用起来,当时之所以申请也是图个新鲜。记得刚刚接触它的时候还感到强烈的不适应,半天没有找到怎么写新邮件;对功能按钮的布局也是感到无所适从。因此就把它搁在一边了,毕竟自己在163上两个2G的大邮箱用的也很方便。但是前一段时间公司进行网络改革,彻底的封锁了一批网站,163肯定没有幸免。我外部邮箱的信件变得无法收取了,也无法用外部邮箱写信了。这时候我想起了

2005-10-27 20:13:00 2646 1

原创 一堆GMail申请~~~~泛滥了~~

记得GMail刚刚推出的时候,没有邀请函,只能望它兴叹,多想拥有一个看看是啥样子这种怪异的推行方式让大家新鲜了一把,GOOGLE COOL死了!可是随着时间的推移,邀请也多了起来,自己申请了一个进去看了看,觉得用的不如163的熟悉,就算了。在也没有管它不巧,公司前一端时间封了一些网站,163很荣幸的列入其内——外面的邮箱不能用了。这时候我才把GMail从高阁上请下来,正儿八经的使了起来。今天一不小

2005-10-22 20:18:00 2711 25

原创 持续集成(转)

Martin Fowler & Matthew Foemmel著 透明 译 英文原文版权由Martin Fowler拥有 Original text is copyrighted by Martin Fowler 原文链接:http://martinfowler.com/articles/continuousIntegration.html  译者语:2002年1月23日,我们很荣幸的在UMLCH

2005-10-03 20:08:00 2287 3

原创 深入浅出中介者模式

一、引子中介在现实生活中并不陌生,满大街的房屋中介、良莠不齐的出国中介……。它们的存在是因为它们能给我们的生活带来一些便利:租房、买房用不着各个小区里瞎转;出国留学也不用不知所措。中介者模式在程序设计中也起到了类似的作用。 二、定义与结构GOF给中介者模式下的定义是:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点

2005-09-02 21:26:00 4198 1

原创 深入浅出备忘录模式

一、引子俗话说:世上难买后悔药。所以凡事讲究个“三思而后行”,但总常见有人做“痛心疾首”状:当初我要是……。如果真的有《大话西游》中能时光倒流的“月光宝盒”,那这世上也许会少一些伤感与后悔——当然这只能是痴人说梦了。但是在我们手指下的程序世界里,却有的后悔药买。今天我们要讲的备忘录模式便是程序世界里的“月光宝盒”。 二、定义与结构备忘录(Memento)模式又称标记(Token)模式。GOF给备忘

2005-08-14 20:26:00 2767

原创 深入浅出状态模式

一、引子状态模式自身结构非常简单——前面刚刚介绍了几个结构比较简单的设计模式,和他们一样,状态模式在具体实现上留下了可变换的余地。我前面已经介绍过它的孪生兄妹策略模式了,大家可以两者比较着阅读。本文将会讨论两者的区别。  二、定义与结构GOF《设计模式》中给状态模式下的定义为:允许一个对象在其内部状态改变时改变它的行为。这个对象看起来似乎修改了它的类。看起来,状态模式好像是神通广大——居然能够“修

2005-08-07 17:57:00 3543 2

原创 深入浅出迭代器模式

一、  引言迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历:Iterator it = list.iterator();while(it.hasNext()){       //using “it.next();”do some businesss logic}而这就是关于迭代器模式应用很好的例子。 二、  定义与结构迭代器

2005-07-27 21:19:00 4348 1

原创 深入浅出访问者模式

一、引子       对于系统中一个已经完成的类层次结构,我们已经给它提供了满足需求的接口。但是面对新增加的需求,我们应该怎么做呢?如果这是为数不多的几次变动,而且你不用为了一个需求的调整而将整个类层次结构统统地修改一遍,那么直接在原有类层次结构上修改也许是个不错的主意。       但是往往我们遇到的却是:这样的需求变动也许会不停的发生;更重要的是需求的任何变动可能都要让你将整个类层次结构修改个

2005-07-14 20:58:00 3806 6

原创 天华山山水秀

上周末部门组织旅游,去了趟天华山,感觉不错,特发帖纪念。    天华山位于辽宁省东部山区的宽甸满族自治县的灌水镇北部,为长白山脉西南麓,海拔1100多米的高寒林带区,景区总面积63平方公里。这里的奇峰、怪石、森林、古木、洞峡、幽涧、瀑布、溪水的自然之美,相映生辉,它的奇妙、清幽、雄险和润秀,以及密集型、高品位的自然景观资源,被专家们誉为“旷世佳境,万景奇山”。    我们早晨五点从沈阳出发,大概上

2005-07-05 20:55:00 2020

原创 生活法则之我见(下)

七、酒与污水定律 酒与污水定律是指,如果把一匙酒倒进一桶污水中,你得到的是一桶污水;如果把一匙污水倒进一桶酒中,你得到的还是一桶污水。几乎在任何组织里,都存在几个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。他们到处搬弄是非,传播流言、破坏组织内部的和谐。最糟糕的是,他们像果箱里的烂苹果,如果你不及时处理,它会迅速传染,把果箱里其它苹果也弄烂,“烂苹果”的可怕之处在于它那惊人的破坏力。一个正直

2005-07-04 21:26:00 2188

原创 生活法则之我见(上)

一、马太效应  《新约•马太福音》中有这样一个故事,一个国王远行前,交给三个仆人每人一锭银子,吩咐他们:“你们去做生意,等我回来时,再来见我。”国王回来时,第一个仆人说:“主人,你交给我们的一锭银子,我已赚了10锭。”于是国王奖励他10座城邑。第二个仆人报告说:“主人,你给我的一锭银子,我已赚了5锭。”于是国王例奖励了他5座城邑。第三个仆人报告说:“主人,你给我的一锭银子,我一直包在手巾里存着,我

2005-07-02 21:14:00 2475

原创 话说分派

一、引言这篇文章,完全是为了更好的讲解访问者(Visitor)模式而写的。让我们进入这扑朔迷离的分派世界吧(是不是有点夸张了,汗)。 二、名词解释先来解释下分派的意思吧。。在OO(object-oriented)语言中使用了继承来描述不同的类之间的“社会关系”——类型层次。而这些类实例化的对象们则是对这个类型层次的体现。因此大部分OO语言的对象都存在两个身份证:静态类型和实际类型。所谓静态类型,就

2005-07-01 21:00:00 3034

JAR文件详解

JAR文件详解,一看就懂,傻瓜书

2007-08-29

空空如也

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

TA关注的人

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