技术
iteye_6952
这个作者很懒,什么都没留下…
展开
-
智力题
四个人需要在晚上通过一个损坏的桥。不幸的是,他们只有一个手电筒,而过这个桥不拿手电筒是很危险的。这座桥每次只能承受两个人同时经过。每个人通过桥时所需的时间也不一样。四个人分别用去:1分钟,2分钟,7分钟,10分钟。 四个人都通过这个桥最短需要多少时间?...原创 2011-03-17 11:13:04 · 195 阅读 · 0 评论 -
质量的定义
如何定义质量?这取决于提供的产品或服务是否满足需求。质量就是满足需求,不多也不少,这是克劳斯比的定义。这帮助我们很好的理解质量的概念和边界。在我刚进入软件开发领域时,糟糕的产品质量让我深恶痛绝,同时也付出惨重的代价。我知道高质量的软件是成本最低,进度最快的,但我始终无法做到,也从未亲眼目睹过,即使是身边能力出重的朋友和同事。 究其原因,首先,我们无法定义出什么是质量,总认为功能越强大...2009-05-20 00:12:30 · 265 阅读 · 0 评论 -
REP(重用发布等价原则)
重用的粒度等于发布的粒度。 只有通过一个跟踪系统发布的组件才可以被有效重用,此粒度通常以包为单位。这就是说,为了有效地重用,代码必须是以包为单位,完整且透明。以包为单位的代码并不表示它是可被重用的,我见太多这样做而失败的案例。只有真正发布的,且透明的完整代码才存在被重用的可能性。同时,重用也驱动我们在写代码时构建更小的包,业务逻辑分离得更彻底并保持完整。 就Java而言,访问子包的...2009-10-29 20:14:15 · 2276 阅读 · 0 评论 -
Agile Development 资源
news://comp.software.extreme-programmingwww.egroups.com/group/extremeprogrammingwww.extremeprogramming.org, Don Wells’ sitewww.junit.org, JUnit’s home.www.refactoring.com, Martin Fowler’s refactoring ...2008-10-08 14:58:14 · 105 阅读 · 0 评论 -
敏捷方法集合
XP(Extreme Programming)由Kent, Jeffries等人开始推广,在1999年Kent出版了Extreme Programming: Embrace Change后开始流行. XP中有名的12法则: The Planning Game Small Releases Metaphor Simple Design ...2008-08-29 22:48:46 · 143 阅读 · 0 评论 -
Scrum 术语表
Burndown Charts 显示随时时间推移,还剩下多少工作未完成.通常以时间为横轴,未完成的工作为纵轴. Daily Scrum Meeting 每天15分钟的每日例会,每个人回答下面三个问题: 1. 上次例会到现在我完成了哪些工作 2. 在下次例会前我将完成哪些工作 3. 有没有什么事情阻止我尽可能的高效地工作 如果会议的讨论超出了上面的内容, ScrumMaster要确...2008-08-21 23:21:28 · 289 阅读 · 0 评论 -
弹出窗口重复载入
在写页面程序的时候,经常会使用到javascript来控制窗口的弹出—window.open()。它的参数非常的灵活,标题、名称、窗口参数配置。用户有时可能会在同一个页面中要打开几个窗口来查看不同的内容,如果代码规范不够细致,开发者又不够小心,就会遇到这样的问题:先弹出了一个窗口而没有关闭,当用户想再打开另一个窗口显示不同的内容时,第一个窗口的内容会被新的内容覆盖而不会有新窗口打开。例如,用户在编...2008-08-12 23:13:05 · 257 阅读 · 0 评论 -
需求模式探索
最近改行专做需求分析了,所以决定在需求领域再下一番功夫。由于问题域的不同,通常我们无法找到类似于设计模式的概念和方法来解决需求,但是有一些专家已经做了这方面的尝试,如《分析模式》和《软件需求模式》。前者对需求模式的启发及后者对需求模式的总结都给SA带来的巨大的帮助。按照需求的问题域,我们可以把需求分为以下几个领域(From ):Fundamental:所采用的技术,标准,内部子系统的边界及...2008-08-07 23:21:15 · 176 阅读 · 0 评论 -
架构师要不要写代码?
最近专门寻找了一些关于架构师的资料看看,发现有相当一部分架构师是不做开发工作的.他们手头的工具基本上都是Rose, Visio, Word之类,很少直接使用Eclipse.不过我也不是太肯定架构师是不是真的就要脱离代码.以我的观点,架构师不是一定要写代码的,但其代码能力一定要强.是不是很矛盾?解决办法就是架构师参与开发,但不承担具体的开发任务,只对产品中存在的问题或潜在的风险进行处理,通过开发一些...2008-07-31 22:23:34 · 271 阅读 · 0 评论 -
回顾与展望-2010
转眼2009已成为历史,回顾过去的一年,依然多少有些不甘.为了减轻2010年末的负罪感,合理的预期是唯一办法.失去一些总比全部失去要强很多.2010年注定要成为不平凡的一年. 保持健康的生理和心理状态.身体非常重要,这是你追寻梦想的基石,心理健康也很重要,这是你保持激情与斗志的动力. 不断学习并使用不同的分析方法.以咨询角度研究不同的分析方法,与多人分享研究心得,并将研究成果...原创 2010-02-01 19:58:02 · 118 阅读 · 0 评论 -
More Joel On Software
这一次又看到了Joel兄犀利的评语剑走偏锋,入木三分. 他从多个层面来探计关于软件的那些事:软件,写软件的人--程序员,企业-以软件谋利的公司.关于如何招聘优秀的程序员,他可能写了不只一篇文章,基本上我非常同意他的看法:你无法在人才市场上找到真正优秀的人才.还有一点,真正能搞清楚出指针的程序员相对不多,而且比率肯定会越来越小.磨难来得越早越好,早期开始学习编程的时期,指针之...2010-02-23 13:07:19 · 111 阅读 · 0 评论 -
快速学习程序语言
最近在学一门新一语言,当然,我指的是编程语言。已经记不清楚我学过几门语言,这个数字应该不会超过10。大多是简单的尝试,没做过商业应用,只有Java勉强算得上熟手,但这并影响我在简历中吹牛。不过一门语言的学习还是相对简单,毕竟只是学习嘛。无论学习什么语言,整个过程大致都是一样的。 数据类型,表达式。Number,string,char,boolean,date,bit,array,set,d...2009-08-03 13:01:52 · 84 阅读 · 0 评论 -
修改Windchill登录页面的背景图
需求:如何修改Windchill登录欢迎页以便于展示公司的logo? 限制:Windchill登录页的图片存储在<WT_HOME>/wtcore/images/bblks/l_ptc_splash.gif,展示的大小的分辨率有稍许限制。 解决办法:将公司的logo制作成你想要的方式,然后将l_ptc.splash.gif替换即可。或者修改相...原创 2011-01-30 11:20:04 · 739 阅读 · 0 评论 -
Windchill 可视化服务器配置(CAD Worker)
在配置可视化服务器(CAD Worker)时,经常容易配置错误,即使你配置成功了若干次,也不代表下一次你一定可以。不过通常只需要注意以下几点: CAD Worker的机器名跟域名保持一致。CAD Worker安装Windows XP.服务GS Worker Daemon的启动用户不可设置为administrator单独创建一个用户,以此用户身份安装Adobe Dist...原创 2011-01-24 16:33:28 · 1404 阅读 · 0 评论 -
Google Picasa又被黑了?
好久没有上传过照片了,今天准备重新上传一些老照片,发现picasa不能用了。我不会怀疑Google是不是准备停掉这项服务,但中国电信又声明没有对信息过滤,除了郁闷,我什么也做不了。 一早就知道Google会被忽悠,显然Larry同学高估了我们的游戏规则。今天不让你用Google Doc,明天不让你用gmail,动不动就让sites永久不可访问。也许,Google要重新考虑一下在中国的策略了...原创 2010-12-06 14:11:00 · 116 阅读 · 0 评论 -
Metaphor重要性
前两天做了一次设计模式的培训,终于明白Metaphor意义所在,为什么那么多大师级的人物都有意无意地提到这个词。有比软件更抽象的东西吗?设计模式!有比设计模式更抽象的东西吗?分析模式!但是,如果运用了恰当的metaphor,这些都不再那么抽象了。听众们都可以愉快地接收培训课程的大量抽象信息,讲师也不再用苍白的术语费劲地解释。一比喻能够轻松提高培训效果,还有比较这更强大的武器吗? 更好的理解...2009-09-28 12:58:41 · 567 阅读 · 0 评论 -
程序员的级别
按照所掌握的技能,程序员大概可以分为几类: 新手--开发领域的初学者,有一些计算机或语言的基本常识,也许接受过号称“专业”的基本的培训。 进阶--跨过了初学者的门槛,开始学会使用不同的角度看问题。逐步学会从迷雾中寻找方向,从混乱中提取规则。但仍然对疑难杂症一筹莫展。开始学会自学,参考文档寻找必要的API,基于之前解决过的问题会总结一些原则。依然缺乏大局观,也未意识到其重要性。...2009-09-21 13:59:25 · 110 阅读 · 0 评论 -
关注你的专业素养
你是程序员(programmer)吗?如果是,请继续。如果不是,你为什么会来这里?你是一个程序员,对工作充满热情,但也常常找不着北,不知自己有几斤几两,该住哪里去。你要做一个专业的程序员,必须具备专业的态度,必要的技能,并持续学习。 首先是态度。这关系到你如何看待工作,如何看待你自己。人生不只是工作,但工作让人生得以完整。将工作看做乐趣,你会得到不同的体验。不可否认,工作中也有苦恼,也...原创 2011-06-30 17:04:06 · 195 阅读 · 0 评论 -
Migrating Aphelion To Windchill DS
升级安装时不要安装Windchill DS.你可以先安装一个Aphelion,然后在安装新版本时选择配置现有的ldap服务,并指向你新安装的Aphelion。注意,一定要安装Aphelion,而不是其它的Ldap服务器。用Windchill DS替换Aphelion.首先确认base dn,然后导出Aphelion数据,再安装Windchill DS.安装Windchill DS...原创 2011-06-30 10:26:45 · 177 阅读 · 0 评论 -
软件需求的层次
无论是开发人员,需求分析员,或者是测试工程师,做为软件行业的从业者,在每个项目的开始阶段大家都会自然而然地谈到需求。也许是因为被周围的人和大量的相关资讯影响,也许是软件工程的指引,也许是前一个项目的惨痛教训,大家都知道需求是如此的重要。不过,现实依然是参痛的--需求的质量依然不高。 我们都知道需求是分层次的,但是需求为什么要分层次呢?我们先从需求怎么分层次开始谈起。 从工程角...2009-08-08 13:03:30 · 401 阅读 · 0 评论 -
读<平衡敏捷和纪律>
未读完整本书,到最后还是坚持不下去了,对我来讲收获太小了。 基本上这本书已经的核心就是评估敏捷方法和传统软件工程方法的优劣,并找出彼此的相同和不同,然后相互取长补短,形成最有效的方法和过程。不过我还是无法找到想要的答案,或者是很明确的方法。其实大家早知道一定要找到适合自己的方法,不能空谈什么RUP,XP,CMM或CMMI之类。但讲到实践的层面,还是XP更实际一些,更贴近我们的工作内容。 最近...2007-08-08 15:44:28 · 137 阅读 · 0 评论 -
收藏品
IBM developer works多数的开发人员都会浏览技术网站,阅读技术书籍和资料,希望这篇文章会帮到大家。而且我会持续更新内容,分享本人感兴趣的内容。 首先推荐的是www.theserverside.com,基本上每天都会去看看,信息量不算大,但含金量很高。如果你想了解最新的技术热点,大家关心的各类工具、架构、概念都会在这里不断更新。 软件创业者的五个误区,这是一篇译文,为软件创业者提供了...2007-08-08 15:31:42 · 103 阅读 · 0 评论 -
系统与邮件集成
在我开发的业务系统中,用户常常会要求系统提供一些提醒/报警功能,如库存预警,工作提醒之类.通常开发人员会根据业务直接做一个窗口显示要提醒的内容,在用户登录时弹出.或者采用论坛消息的方式来告诉用户有紧急内容.而且也确实有一些中小企业没有企业邮箱,也不准备在短时间内使用企业邮箱.不过,随着网络不断普及,其质量不断提高,企业邮箱的成本越来越低,会有越来越多的企业会使用企业邮箱.这其中又孕藏着另一...2008-07-18 08:42:42 · 574 阅读 · 0 评论 -
OO 设计原则
最近在审查(review)代码时,常常发现一大堆代码充满了各种bad smell.即使工作了三五年的同事,也不会例外.沟通时往往发现他们对OO的理解只是表现出简单的概念理解.对OO的一些原则不甚了解,或者写代码也是跟着感觉走. 我最初做开发的时候也是跟着感觉走,初次听到OCP如天外来物.使用Java或C#不代表你就是在做OO开发,熟练使用OO语言不代表已经对OO非常了解.感谢Uncle Bob的经...2008-03-12 11:04:06 · 116 阅读 · 0 评论 -
找到你的位置
每个人都有自己的特长和特不长,一些人会为自己的特不长而苦恼,花费大量时间和精力做出改变.其实完全没有必要.每个人都擅长和不擅长的事情,没有例外.不要奢望去做一个全才,没有任何意义.如果你希望让自己更有效率,花费同样的时间和精力取得更多的成果,那么你最好先找到你的位置. 你对技术有兴趣,希望自己成为一个技术专家.那么专注于技术,其它的东西都可以先抛在一边.因为专,所以精.在你取得一定的成果的时候你的...2008-03-04 12:39:31 · 161 阅读 · 0 评论 -
数据库命名规则
这么多年的开发,始终未离开过数据库应用.从MSSQL到Oracle,现在又要mysql,真是要命.为了不让数据库的设计工作全压在一个人身上,所有队员都可能会做一部分工作,为自己负责的需求建立表结构.于是统一数据库的表名和字段名规则就不可避免.不过在做数据库设计时常常遇到同事对表名,字段名设计规则的质疑.因为到现在为止,我确实没有发现很通用的设计规则,在不同的项目环境下可能会启用不同的规则....2008-02-27 15:34:11 · 102 阅读 · 0 评论 -
我的工具集(不断更新中...)
工欲善其事,必先利其器.人的精力是有限的,一定要专注于一些创造性的工作.那些可重复的工作就交由计算机来做吧,它通常是不会拒绝的. 下面是我正在使用或者曾经使用过的工具或者框架: -------------------------------------------------------------------- Eclipse 这个就不说了. JUnit 这个也不用说了. Ant 这个更不用...2008-02-03 15:48:58 · 129 阅读 · 0 评论 -
提高UT质量
1.[b]选择正确的粒度[/b].不是所有的代码都要有匹配的测试用例,有些情况下可以不用写测试用例.机器或工具生成的代码是不需要测试的.多数的POJO是不用测试的,除非你重写了它的hashCode和equals方法.接口和抽象类是不需要测试的.基于现在的开发实力,我们决定不做UI层的UT.我说的UT是指通过代码做测试.2.[b]选择合适的Mock工具[/b]经常使用的就...2008-01-28 15:56:44 · 328 阅读 · 0 评论 -
读<重构与模式>(Refactoring to Patterns)
,我几年前读过两遍,对里面提到的各类概念印象深刻,不断发出'哇,哇'.是我读到的关于设计的最早的书籍,当时只有一年多的开发经验,对设计模式的理解很肤浅.后来开始使用Java之后,又在网上找到J道([url]http://www.jdon.com[/url])关于设计模式的一些资料,算是对设计模式有了初步的认识.之后就是每几个月就会再看看其中的一些模式,努力加深对软件设计的理解.一次...2008-01-23 12:17:06 · 148 阅读 · 0 评论 -
调用VB COM
请参考MSDN[url]MSDNhttp://search.support.microsoft.com/default.aspx/kb/259725/zh-cn[/url].2008-01-16 17:44:16 · 152 阅读 · 0 评论 -
Managing hierarchical data in mysql 实现分层数据的管理
这是一篇由Mike Hillyer写的关于如何通过数据库管理分层数据的好文章,由一个叫Yimin的人翻译的. 由于格式及图片的问题,我就直接上传附件与大家分享.2007-12-25 17:41:26 · 117 阅读 · 0 评论 -
单一职责(SRP)
Single Responsibility Principle(SRP) 单一职责,是OO原则中的基本原则之一,也是最重要的原则之一.一个类承担一个职责的全部内容,而且只承担一个职责(Once and only once),并且要做得很好.[list][*]每个职责都应该是独立的类,因为每个职责都是变化的中轴.[*]一个类应该只有一个原因引起变化.[*]业务规则的变化所导致的类...2008-03-17 13:17:41 · 99 阅读 · 0 评论 -
做专业开发者
软件开发是一项工作,还是一份事业?它取决于你的态度.以专业的态度对待工作,那么它就是你的事业.你为这之付出,并获得回报.如果你不愿意付出,那么你只能收获痛苦.不要以为工作只是简单的堆砌代码,完成今天的工作.代码可以从一个侧面反映出一个人的性格和态度.我们都喜欢与专业的人士合作,从而获得更高的效率.你希望与专业的同事一起工作吗?那么就做得更专业一些吧,因为专业的人更喜欢与专业的人合作....2008-03-26 12:59:08 · 213 阅读 · 0 评论 -
使用To-Do List
以前做项目的时候,常常会用MS Project来安排任务与进度.后来改用Excel,记录每天要做的事情,不断地修改它,增加一些条目,删除一些条目,更新一些条目.先是一个人用它,然后有越来越多的项目组成员开始使用它.你可以根据你的项目和团队的情况决定使用哪类工具,小项目通常用Excel就够了,如果比较大的项目,涉及的成员比较多,你更应该选择使用To-Do List.为什么要用To-Do Li...2008-03-31 16:23:33 · 415 阅读 · 0 评论 -
架构师与系统架构
最近去了一家公司面试架构师的职位,去之前也是没有详细考虑过到底架构师是做什么的,只是估计可能会有一点难度,最终将手到擒来,然后又是在工资上谈不拢.据我所见过的一些公司的架构师,工作重点各个相同,工作内容全集大概如下:--解决公司项目中的一些技术难题.--提供技术方案,并参与公司的投标.--带领一些高手开发一套通用框架或组件库.--协助招聘技术人员.而这些工作本身到底有多难,...2008-07-12 16:22:04 · 111 阅读 · 0 评论 -
CI 服务器资源
从最初Fowler提出[url=http://martinfowler.com/articles/continuousIntegration.html]CI[/url]概念以来,CI正被越来越多的项目所应用。Fowler所在ThoughtWork也开发了自己的CI服务器--[url=http://cruisecontrol.sourceforge.net]Cruise Control[/url],...2008-06-01 00:50:33 · 514 阅读 · 0 评论 -
软件设计的指导方针与原则 (from Prefactoring)
前段时间读完了〈Prefactoring, Extreme Abstraction, Extreme Separation, Extreme Readability>感触比较多。其实无论你采用哪种过程,最后的目标都是一样。也许大家对相同的方法使用不同的名字,但原理都是相同的。Prefactoring首先是一种态度,然后才是相关的方针和原则。所以,态度决定一切也是有一定道理的。此书非常经典,但也不必...原创 2008-05-26 15:17:06 · 440 阅读 · 0 评论 -
Helper or Interface
以VCD租借为例,新业务需求是在每次出租及收回VCD的时候,把相关的业务信息的变动记录下来以便于跟踪。例如,出租一次VCD的时候,就增加一条记录以保存本次的交易情况。从出租到归还VCD整个业务完成的时候,就有相关的记录可以追溯整个交易历史。这里有两个model, VCD和Trail,两者在系统中都已经有了,现在的关键是如何让VCD转化成Trail。初始的版本比较糟糕,在TrailManag...2008-05-23 12:56:28 · 77 阅读 · 0 评论 -
接口隔离ISP--Interface Segregation Principle
一个类对另一个类的依赖应该表现成依赖尽可能小的接口。这个原则是用来处理胖接口的缺陷,避免接口承担太多的责任。比如说一个接口内的方法可以被分成好几组,分别为不同的客户程序服务,说明这个接口太胖了。当然,确实也有一些类不需要内聚的接口,但这些类不应该做为单独的类被客户程序直接看到,而应该通过抽象基类或接口来关联访问。接口污染所谓接口污染就是为接口添加了不必要的职责。在接口中加一个新...2008-05-18 14:41:35 · 193 阅读 · 0 评论 -
依赖倒置(DIP)
所谓依赖,指代码中的耦合。依赖倒置,是相对于传统的面向过程的设计结构而言,面向对象的结构把依赖关系倒置了。DIP原则:[b][size=large]高层模块不应该依赖于低层模块,二者都应该依赖于抽象[/size][/b]。高层模块只应该包含重要的业务模型和策略选择,低层模块则是不同业务和策略实现。首先高层模块和低层模块都要抽象出来,高层抽象不依赖于高层和低层模块的具体实现,最多只依赖于...2008-04-15 14:53:53 · 143 阅读 · 0 评论