自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 十年寄语(下)

而立之年, 回首这十年坎坷道路,追忆一个个或沮丧、或惊喜、或温暖、或辛酸的瞬间,种种烦恼,终化菩提。功德圆满之日尚不可期,然必渐次修行,奋勇精进,进而克期求证可矣!

2010-11-13 19:59:00 709 4

原创 2010敏捷中国大会参会随感

<br /><br /> <br />    2010年10月14日至15日,带队参加了于北京召开的2010敏捷中国大会。事实上自2010年9月参加了IBM全球开发者大会以后,我就一直在思考一个问题,即在公司当前的现状下(项目压力较大、交付不能有效保证、团队效率还处于较低的水平),如何将一些敏捷实践引入开发工作中,以提高开发效率。虽然在此之前已经了解并逐步倡导了诸如站立会议等敏捷实践,但通过IBM开发者大会,感觉我们对敏捷的把握还停留在感性认识上,没有系统的体会。为此公司购买了一些关于Scrum项目管理的书

2010-10-20 21:34:00 353

原创 十年寄语(中)

<br />    十年在中国人的字典里是一个很有意味的词语。比如“十年树木,百年树人”,又比如“十年寒窗”,“十年生聚,十年教训”,就连报仇也要说一句“十年不晚”。唐代诗人贾岛有诗《剑客》也提到“十年”:<br />    十年磨一剑, 霜刃未曾试。 <br />    今日把示君, 谁有不平事。 <br />       “十年磨一剑”的话应该最早是从这里来的。贾岛用此诗隐寓自己的政治抱负。然而之所以有此诗,应该是他自己感觉自己的“剑”已经磨成了,否则也不会状之为“霜刃”,还要“把示君”。而回头想想自己

2010-09-22 19:05:00 774

原创 十年寄语(上)

<br />日前和一位朋友叙旧,谈起毕业这些年,酸甜苦辣尽皆有之。回味之余,眼前渐渐出现这样一幅场景来。<br />盛夏,烈日当空,晌午的阳光似乎压制了一切声音,尽管有知了在声嘶力竭地鸣叫,四周还是显得很安静。在一望无垠的田野里,有一块地种的是西瓜,此刻已经有不少西瓜熟了,点缀在绿叶丛中。西瓜地头有一棚,棚中设一床,床上铺一席,席边放着两本书。一本是《Qbaisc程序设计教程》,一本是《全国计算机等级考试二级公共基础知识》。<br />  坐在棚中看瓜顺带看书的人,就是我。<br />  那个暑假,我正式开

2010-09-15 15:58:00 267 1

原创 Visual Studio 2010 IDE与极点五笔冲突的解决办法

    最近下载了并使用了Visual Studio 2010旗舰版,种种强大、方便之处,不一而足,此处不多谈。但有一个问题却困扰了许久——    在编程过程中发现Visual Studio 2010的代码编辑器总出现一些莫名其妙的问题。例如,输入Try然后按Tab生成语句块之后,光标点击代码编辑器之外任何位置(包括工具栏、菜单),都会在原光标位置处再插入一个Try,此现象并不固定,有时是原来输入的一个单词,有时是一个字母,甚至你编写了一会程序生成并进行调试,都会在光标处插入一些乱七八糟的字符,而且有时蹦出

2010-06-24 01:44:00 1156 1

原创 构建和谐的软件

    时已入秋,晚风渐凉,品着绿茶的清香,夜读《建筑的永恒之道》,颇有所思。    很早就听说过这本书,应该是学GoF《设计模式》时了解的,据说这四位大师写这本设计“圣经”的灵感有一部分就来自于《建筑的永恒之道》。如今拿来一读,果然绝非凡品。看的时候有一种感觉,这位作者似乎已经上升到了哲学的高度去研究建筑。比如他书中所指的“无名特质”,“它是人、城市、建筑或荒野的生命与精神的根本准则。这种特质客

2009-08-26 13:34:00 255

原创 再论技术

    近几日看了阿朱写的《走出软件作坊》(三五个人,十来条枪,如何走出软件作坊)。对其中的一段话印象深刻,原文记不大清了,大意分析了几个国家的技术风格。比如美国是做基础研究的,印度专业外包,日本则倾向于把高深的科技融入日常产品。作者的建议是我们中国在这一点上应该多向日本学习,我对这一点深表赞同。    多少年来,我一直以完美的技术为最高追求目标,直至将“放下程序,立地成佛”作为自己的座右铭。

2009-08-15 12:35:00 251

原创 清除Enterprise Architect最近项目列表

    最近一段时间使用了Enterprise Architect作为设计工具,发现它有个缺点,最近打开的项目会全部列出在起始页面,即使有些项目文件已经删除,当你点击它的时候会弹出对话框告诉你找不到这个项目,却不会象VisualStudio那样提示你是否删除这个失效的链接,所以这个列表会越来越大,最后干脆在注册表找了一下,它存储在    HKEY_CURRENT_USER/Software/S

2009-01-17 13:32:00 749 1

原创 为自己定位——读《话说程序员的职业生涯》有感

     “为自己定位”这个词似乎是个老掉牙的话题,无论是中学时代或者大学时代似乎都按老师的命题做过同样或者类似的论述,然而今天重新想到以此为题写点什么,是因为看了《程序员》杂志上寇卫东先生写的一篇文章《话说程序员的职业生涯》。     在此文章中,寇先生以并不华丽却非常精辟的文字阐述了一个有关很多人梦想的话题。他大概将程序员面前的路分为程序专家、资深培训专家、技术总监、总架构师(或总设计师)、技

2008-11-24 09:44:00 701 1

原创 写给《程序员》杂志的编辑

    平时看《程序员》也好,《电脑报》也好,这类“IT”类的书报时,总是会不经意地看到一些错字、别字。有时候觉得,也许这只是自己学中文出身,对这方面过于敏感造成的。毕竟编辑们又不是神人,不可能面面俱到,也不可能做到一点疏忽都没有。所以大部分时候也就“一笑而过”了。但是当我看到2007年第7期的程序员杂志时,发现似乎这一期的情况比以前严重,这种感觉在看到胡百师先生的《朋友们,让我们把心放下》一文时

2008-08-19 09:30:00 515 1

原创 MapXTreme2008 中ASP.net Sample无法正常启动的处理

    最近在学习MapXtreme2008开发时还遇到了一个很棘手(对我这个新手来说)的问题,就是下载安装了MapXtreme2008并且安装后,运行它的Web示例程序C:/Program Files/MapInfo/MapXtreme/6.8.0/Samples/VisualStudio2008/Web/Features目录下的vs_2008_CSharp_Samples.sln解决方案,总是

2008-07-25 12:13:00 1473

原创 MapXtreme2008 无法加载.tab文件处理一法

     最近应公司的需要开发一个GIS系统,由于以前使用MapInfo公司的MapX开发过程序,自信应该使用最新的MapXTreme和Visual Studio2008来进行开发没问题,很快从MapInfo官方网站下载了最新的试用版MapXtreme,准备开始开发,没想到首先这东西就给我来了个下马威,原来在MapX下用得好好的地图文件,就是无法加载到地图中。使用MapXtreme2008自带

2008-07-25 11:38:00 1828 8

原创 Windows XP 安装SP3后的界面还是有所变化的……

     最近从BT上下载了中文版的XP Sp3,安装之后打开SQL Server 2000的企业管理器,第一感觉界面好像不太一样。如下图所示:    如图中数字标出的那样,1是树形控件节点前的折叠展开图形有所变化,2是左边树状控件和右边的ListView边框和安装SP3前不同,变成平面的了(各位安装了XP及SQL Server2000的朋友可以拿此图对比一下)。3是ListView上

2008-04-26 16:23:00 1228

原创 PowerBuilder中的命名冲突问题

        最近在编译公司的系统程序时出现问题,提示某窗口上用户对象的属性非法。(类似于Incompatible property rb_year for type uo_query……这样的编译错误)。经过检查,发现该用户对象并没有错误,其中也包括rb_year这个控件,为什么编译不通过呢?为了排除是控件的问题,又向窗口上增加了一个用户对象,该用户对象的属性存取语句就可以正常保存!那么为什么

2008-04-23 16:55:00 467

原创 PowerBuilder中动态创建OLE对象心得

        由于PB语言本身的特性,一般很少会在编程时使用第三方控件的。但是一旦使用还真不像VB那么方便。日前在编写一段程序时,就遇到了一点问题。写出来与大家分享心得。        这段程序其实很简单,就是使用第三方提供的加密锁来实现密码或其它用户个人信息的存储。根据其提供的Demo程序,我们知道它有一个控件是用来读写加密锁指定地址数据的,至于其内在逻辑就不用管了,关键是如何调用的问题。

2008-04-14 10:15:00 2154 1

原创 再论PowerBuilder数据窗口的Update属性设置

        以前曾经写过一篇文章关于PowerBuilder中设置数据窗口Update属性的,主要讲的是防止出现“行在保存之前已经被更新”之类提示,属于并发问题。最近使用数据窗口过程中发现,Update属性设置不当还会出现数据的丢失,详情如下:        现数据库中有一张表保存商品信息,商品主键为编号,其余有种类、名称、零售价、批发价等字段。在其中一个编辑窗口中,添加了一个数据窗口,牵

2007-11-12 09:34:00 3468

原创 PowerBuilder命令行编译详解

公司的系统是使用PB9.0 + SQLServer2000开发的,采用Visual Source safe6进行版本控制。由于项目客户化需求的影响,系统经常要进行更新和编译。每次的工作流程就是:先在负责编译的机器上打开VSS,下载需要更新的PBL到本地,然后找到源程序所在目录,将目录及其所有子文件的“只读”属性去掉(因为在VSS上Get Last Version时会自动将文件设置成只读,PB就无法

2007-10-26 17:34:00 2791 2

转载 系统分析师考试大纲及书目

        好久没写过东西了,一来工作原因出差在外奔波,二来最近学习进度缓慢,似乎没有什么可以记录的内容。现在要准备明年参加系统分析师考试,先把大纲和书目找出来。可惜发现第二书店里面竟然没有最新的教材和大纲这两本书!等待中…… 全国计算机软件考试用书目录(出版社,书号,书名,版别,作者,价格)2007年5月8日 1、 考试大纲(清华大学出版社)7-302-08490-4,系统分

2007-10-25 08:59:00 755

原创 830同步一点心得

兄弟刚刚买830没几天,也是爱不释手,一天到晚“指指点点”。也没少体会过大喜大悲的感觉,下面就是一个小例子,关于同步的:昨天晚上由于试验Wifi,好不容易连上了,最后想装个软件,再接上数据线后,死活无法连接。试了几次,要么说你的USB设备有问题,要么就是Microsoft ActiveSync无法同步移动设备。反复插拨数次,ActiveSync也重装了好几遍,偶尔也认出来一下就不行了。搞得几乎崩溃

2007-08-20 10:11:00 561

原创 多普达830玩友玩祖玛的时候要小心啊

前一阵子在网上下了一个祖玛,本来这游戏在电脑上早就玩过,但是在手机上玩感觉不同嘛,所以就放到了我的830上,昨天周日没事,在家里就打开祖玛,一路过关斩将,一口气到第7-1,每次击中或过关时听到那令人振奋的声音感觉都很爽!(我的音量开到最大玩的)。就在玩得忘乎所以,决心一口气通关时,突然我的手机没声音了! 调调音量,不行,重新启动,不行,但是用耳机和打电话都没问题……我终于意识到,我的830喇叭挂了

2007-08-20 10:10:00 598

原创 PB程序死锁问题及预防

  最近一段时间由于项目的原因,和程序的“死锁”问题打了不少交道。由于对“死锁”定义不清楚,缺乏大批量数据处理的经验,耗费了很多时间和精力,也走了相当多的弯路。经过摸索,对程序中出现的问题有了一定的认识,基本解决了程序中出现的各种“死锁”问题。在此,对前段时间的摸索做一下经验总结。 在SQL Server2000的联机丛书中,是这样定义“死锁”的:当某组资源的两个或多个线程之间有循

2007-08-01 16:07:00 2142

原创 初识SOA(一) SOA定义

软件架构的定义 软件架构是一系列声明,描述软件组件,并将系统功能指派给组件。架构描述组件的技术结构、约束、特性和组件之间的接口。架构是系统蓝图,是结构的高级隐式规划。 SOA的定义 SOA是一个软件架构,它包含四个关键概念:应用程序前端、服务、服务库和服务总线。一个服务包含一个合约、一个或多个接口以及一个实现。 SOA全部概念的重心是定义业务基础结构。服务是SOA的主要战略性实体。SO

2007-07-12 10:34:00 804

原创 适合程序员的健身方法

        前几天在DearBook上买了《人体使用手册》和《人体经络使用手册》,有感于祖国传统医学的博大精深,同时也从中学到了一些简单的健身方法。之所以说是“适合程序员的健身方法”,是因为发现这些方法基本不需要什么特殊装备,也不需要专门腾出大量时间运动,更不需要花钱去学什么健身操之类的,对我们这些不太喜欢运动,又没时间运动的程序员来说比较合适。因此摘抄下来,与众分享……简单有效的手保健

2007-07-04 10:02:00 1763

原创 矩阵架构师的境界

      周末在家闲来无事,翻出以前的《黑客帝国(The Matrix)》三部曲DVD又看了一遍。不愧是沃卓斯基(导演加编剧)兄弟的经典之作,我已经看了好几遍这部电影,每一次都能找到新的感觉。这次也是,不过这次的感觉有些不同,对于“子弹时间”这类特效以及Neo上天入地的超人表演、与Trinity之间令人荡气回肠的爱情都感觉有些淡了。相反地,对于在第二集结束时尼奥历尽曲折见到的那位幕后的神秘人

2007-06-29 16:44:00 686

原创 设计模式学习笔记(二十五)设计模式总结

创建型模式*Singleton模式解决的是实体对象个数的问题。除了Singleton之外,其他创建型模式解决的都是new所带来的耦合关系。*Factory Method,Abstract Factory,Builder都需要一个额外的工厂类来负责实例化的“易变对象”,而Prototype则是通过原型(一个特殊的工厂类)来克隆“易变对象”。*如果遇到“易变类”,起初的设计通常从Facto

2007-05-23 09:59:00 552

原创 设计模式学习笔记(二十四)Visitor访问者(行为型模式)

背景:类层次结构的变化。类层次结构中可能经常由于引入新的操作而使类型变得脆弱。动机(Motivation)在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为(方法),如果直接在基类中做这样的更改,将会给子类带来很繁重的变更负担,甚至破坏原有设计。如何在不更改类层次结构的前提下,在运行时根据需要透明地为类层次结构上的各个类动态添加新的操作,从而避免上述问题?意图(

2007-05-22 09:00:00 501

原创 设计模式学习笔记(二十三)Strategy策略(行为型模式)

背景:对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱。这就是算法和对象的耦合。动机(Motivation)在软件构建过程中,某些对象使用的算法可能多种多样,经常改变。如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一种性能的负担。如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?意图(Int

2007-05-21 08:33:00 463

原创 设计模式学习笔记(二十二)State状态(行为型模式)

背景:对象状态影响对象行为。对象拥有不同的状态,往往会行使不同的行为。动机(Motivation)在软件构建过程中,某些对象的状态如果改变,其行为也会随之而发生变化。例如文档处于只读状态时其支持的行为和读写状态支持的行为就可能完全不同。如何在运行时根据对象的状态来透明地更改对象的行为?而不会为对象操作和状态转化之间引入紧耦合?意图(Intent)允许一个对象在其内部状态改变时改

2007-05-21 08:32:00 501

原创 设计模式学习笔记(二十一)Memento备忘录(行为型模式)

背景:对象状态的回溯对象状态的变化无端,如何回溯/恢复对象在某个点的状态?动机(Motivation)在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前处于某个点时的状态。如果使用一些公有接口来让其它对象得到对象的状态,便会暴露对象的细节实现。如何实现对象状态的良好保存与恢复同时又不破坏对象本身的封装性?意图(Intent)在不破坏封

2007-05-21 08:30:00 476

原创 设计模式学习笔记(二十)Chain of Responsibility 职责链(行为型模式)

 背景:某些对象请求的接受者可能多种多样,变化无常……动机(Motivation)在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者。如果显式指定,必将带来请求发送者与接受者的紧耦合。如何使请求的发送者不需要指定具体的接受者?让请求的接受者自己在运行时来决定处理请求,从而使两者解耦。意图(Intent)使多个对象都有机会处理请求,从而避免请求

2007-05-18 10:10:00 374

原创 设计模式学习笔记(十九)Observer观察者(行为型模式)

背景:发布——订阅模型动机(Motivation)在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。意图(Intent)定义对象间的一

2007-05-16 08:55:00 446

原创 设计模式学习笔记(十八)Iterator迭代器(行为型模式)

动机(Motivation)在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时让这种“透明遍历”也为“同一种算法在多种集合对象上进行操作”提供了可能。使用面向对象技术将这种遍历机制抽象为“迭代器对象”为“应对变化中的集合对象”提供了一种优雅的方式。意图(Intent)提供一种方法顺序

2007-05-15 09:57:00 430

原创 设计模式学习笔记(十七)Mediator中介者(行为型模式)

动机(Motivation)在软件构建的过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维护一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。在这种情况下,我们可使用一个“中介对象”来管理对象间的关联关系,避免相互交互的对象之间的紧耦合引用关系,从而更好地抵御变化。意图(Intent)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显

2007-05-14 08:36:00 446

原创 设计模式学习笔记(十六)Interpreter解释器(行为型模式)

动机(Motivation)在软件构建过程中,如果某一领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式将面临非常频繁的变化。在这种情况下,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。最常见的例子:正则表达式的使用。意图(Intent)给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使

2007-05-14 08:34:00 479

原创 设计模式学习笔记(十五)Command命令(行为型模式)

背景知识:耦合与变化耦合是软件不能抵御变化灾难的根本性原因,不仅实体对象与实体对象之间存在耦合关系,实体对象与行为操作之间也存在耦合关系。动机(Motivation)在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如需要对行为进行“记录、撤销/重做(Undo/Redo)、“事务”等处理。这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将

2007-05-09 08:39:00 498

原创 设计模式学习笔记(十四)Template Method 模板方法(行为型模式)

Template Method模式是无处不在的,如果你只想掌握一种设计模式,那么它就是Template Method!缘起——变与不变变化——是软件设计的永恒主题,如何管理变化带来的复杂性?设计模式的艺术性和复杂度就在于如何分析并发现系统中的变化点和稳定点,并使用特定的设计方法来应对这种变化。动机(Motivation)在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各

2007-05-08 10:00:00 383

原创 设计模式学习笔记(十三)Proxy代理(结构型模式)

缘起——直接与间接人们对于复杂的软件系统常常有一种处理手法,即增加一层间接层,从而对系统获得一种更为灵活、满足特定需求的解决方案。动机(Motivation)在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者或者系统结构带来很多麻烦。如何在不失去透明操作对象的同时来管理、控制这些对象特有的复杂性?增

2007-05-08 09:56:00 332

原创 设计模式学习笔记(十二)Flyweight享元(结构型模式)

要解决的问题——面向对象的代价面向对象很好地解决了系统抽象性的问题,同时在大多数的情况下也不会损及系统的性能。但是,在某些特殊的应用中,由于对象的数量太大,采用面向对象会给系统带来难以承受的系统开销。比如图形应用中的图元等对象,字处理应用中的字符对象等。动机(Motivation)采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主要指内存需求方

2007-05-08 09:55:00 327

原创 设计模式学习笔记(十一)Facade外观(结构型模式)

由系统复杂度谈起假设我们要开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为。其中坦克系统由引擎、控制器、车轮、车身等各子系统构成。public class Wheel{ public void WAction1(){...} public void WAction2(){...}}public class Engine{ public EAction1(){...} publi

2007-05-08 09:53:00 308

原创 设计模式学习笔记(十)Decorator装饰(结构型模式)

 缘起假如我们需要为游戏中开发一种坦克,除不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能,水陆两栖功能,卫星定位功能……等等。//抽象坦克public abstract class Tank{ public abstract Shot(); public abstract Run();}//各种型号public class T50:Tank{..

2007-05-08 09:52:00 327

应用框架设计与实现配书源码(SAF)

《应用框架设计与实现(.net平台)》这本书不错,但好像没有配书光盘,从其它网站找到了源码,先放上,有需要的下载

2008-09-22

空空如也

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

TA关注的人

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