`
Rocky_rup
  • 浏览: 143584 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
从正式接触设计模式到现在有一年了,一直以来都只是在一些技术文章中零零散散认知到一些设计模式,不知道是不是自己懒的缘故,就是没有好好系统的学习一下。这次借着做系统设计的机会,好好在此结合设计模式的理论总 ...
根据观察者模式(或监听器模式),让我明白的认识到事件响应处理是发生在观察者与被观察者之间的游戏。 这样的游戏在GUI的开发中最为常见,也应用最多。如果GUI仅仅只是堆叠图形组件的话,那么GUI开发是我认为最轻松的活(用可视化的工具,一切都是那么轻松惬意)。但事实总是与理想有很大差距的,就好像我和一美女正享受着马尔代夫怡人的海风时,此时她野兽般的男友出现在你面前,接下来一切变得复杂而无法收场?在享受GUI开发的乐趣时,我想我最不愿见到的也就是事件响应处理——这个野蛮的男人。因为,它的到来只会让我精心设计的类之间,充满了复杂的感情纠葛,而一旦它们中有谁变化,则世界将会崩溃。这崩溃的原因主要有两个: ...
很早,就知道像Tomcat、JBoss这样的服务器系统可以通过startup.bat启动,而之后可以用shutdown.bat关闭。 项目初始,我也希望像这样实现,startup容易,可shutdown难。在网上搜了好久都没有关于这样的实现方法的线索。 倒是有个这样的实现: java 代码   Runtime.getRuntime().addShutdownHook(new Thread() {              public void run() {                   System.exit(0);          ...
大多数java教程的书籍中,对异常的处理都是及时的,也就是哪里抛了,就在哪里catch. 看别人的代码渐渐多了,就有些模糊的意识到不是所有的异常都是及时处理的,而是通过throws抛给调用者处理. 问题出来,每次遇到异常的时候,我就在catch与throws之间挣扎好久,那么到底要在哪里处理异常?似乎书上并没有答案. 我曾就这个问题请教过一个前辈,他的解答是"在合适的地方处理". 汗,我被这有点"玄机"的回答给忽悠了. 经过了一些实践和思考,我开始有点感觉了,就在我被别人问到这个问题之后,我这样总结到: "判断异常要不要throws,关 ...
通常对字符串的拼接操作,我们会选用最为简单的方式,如: java 代码   String cde = "cde";      System.out.println("abc" + cde);   这种方式适用于拼接操作很少,牵扯的数据很少.一旦拼接操作存在于循环语句中,涉及数据也比较大时,这种方式的效率就会很低了.因为其拼接操作背后会频繁有String对象的创建和销毁,也就是意味着存在内存资源频繁申请和释放,而正是这些过程相对比较耗时. 此时,就需要用到StringBuffer和S ...
“数据没有收到啊!” “不会呀,这边发了!” “我这边没有显示,你看。” “......” 这两天来来回回就是这么几句话,问题处在哪?问题出在眼睛看到的,它是不是真的? 数据收没收到是基于数据接收到在控制台的回显(打印输出),但很容易忽略的是有些数据是显示不出来的,如换行、回车、制表符等;另外,还有就是C/C++对字符串的处理其实是字符数组加‘\0’,因此字符串的函数都是'\0‘做为结束标识。 若是网络传输过来的数据第一位是'\0',那么C/C++对此进行回显处理的话,是打印不出来任何信息,因为'\0'把后面的数据都给“隐藏”了。 总结,容易看到了往往不是真实的,在C/C++的开发环境下 ...
前段时间又面试了一些应聘的人,明显的感觉到人才难求啊! 此难求非彼难求,也就是人才难求是两方面的,一方面要人才自身显露,二方面则要面试官有双慧眼。   面试中通常非常关注一个人的综合素质,在这方面的考察有很多有潜在意义的问题。面对这样的问题,通常有两种应对者: 第一种,不太理解问题要问什么,回答要么肤浅要么干脆跑题,这种人以没有工作经验的人占大多数; 第二种,非常清楚问题的意义,相当明确最佳的答案是什么,但知道答案并不意味着与他实际行为相一致,这就叫“说一套,作一套”。这类人相当有经验,狡猾狡猾的!   以上两种人,在我看来都不是我想象中的人,若是不属于以上两种估计就是我想要的啦! ...
最近才看很久之前唐博发给我的一篇文章《Bug管理的经验和实践》,由于在大学讲课的关系,我准备翻看一下作为上课授课题材。 没有想到,文章(准确的说是访谈录)中微软研发过程中bug管理给我启发颇大。但直接将文章中的内容转述给学生们,似乎不会有好效果,因为学生是没有研发背景的,对于我转述的内容的价值不会有太多意识。不知道自己的脑袋是不是被闪电击过,闪念间想到用游戏的形式呈现这一个过程,下面就来分享一下这个游戏:   ·三个人参与游戏,假设是P、D、T ·P用肢体语言向D和T表达一句话的含义,例如“一只没有尾巴的猴”或“一头长翅膀的猪”·D用文字写出对字体语言的理解·T对D的理解给予“赞同”或“ ...
错误信息 Malformed file    svn: E:\svn\repository\conf\svnserve.conf:12: Option expected    原因: 配置文件12行开头有空格     错误信息 Attempted to lock an already-locked dir    svn: Working copy 'E:\integration\com.svn.practise' locked   原因: 需要用svn cleanup上次关闭时的锁定
软件环境: win2003 sp1 apache2.24 mysql5.0.18 activePerl-5.8.8.819-mswin32 bugzilla2.20.4 安装教程详见www.bugzilla.org/docs/win32install.html 需要注意的是: mysql4.1或更高版本,需要在mysql客户端输入set password for 'bugs'@'localhost' = OLD_PASSWORD('sockmonkey'); bugzilla2.20.4与mysql5.0.27版本不兼容,会 ...
用eclipse连cvsnt完成《指南》练习5。本练习中需要用不同用户模拟并发冲突,在使用非管理员帐号提交更新时,提示如下错误: Error: Test123: cvs server: C:\WINNT\TEMP\cvs21C.tmp: No such file or directory    Error: Test123: cvs [server aborted]: error diffing Test1234.java    经分析发现,前用户没有访问C:\WINNT\TEMP\权限,需要是管理员组的用户才行。 因此,在服务器建立账户的时候需要考虑系统环境变量Temp ...

随感SOA

为了满足需求的善变,为了无限制的砍掉成本,我们一直不遗余力思考着,“既然有,那又为什么要做呢?” 复用,可以是一种代码的拷贝,也可以是函数库或开发工具包的调用,还可以是公用组件的集成......软件研发似乎由创造变成了集成! 如果说SOA之前的复用是一种静态复用集成,那么SOA就是一种动态复用集成...... SOA,就像躺在磁盘上的代码被唤醒成跑在内存中的进程,他们随时等待着请求的召唤,而完成他们生存的使命...... 他们有时就像职业杀手,你不知道他们在哪,也不知道他们怎么杀人,总之你只要找到他的联系人,告诉他杀谁,过不了多久那个人死了的消息就回复了你。    
《eclipse权威开发指南》(以下简称指南)6.5 使用Update Manager中描述到,使用Product Configuration对话框添加安装位置时,安装位置必须是一个名为eclipse的目录,在该目录中含有一个名为.eclipseproduct的标记文件,另外还含有features子目录和plugins子目录。若安装位置不符合这样三个要求,eclipse会提示安装位置不合适(见附件截图)。 可当我建立一个满足上述条件的安装位置时,eclipse还是会提示无法添加安装位置,我百思不得其解。此路不通,我就换了书中另外一个方法——Update Manager API,如下命令示例: ...
回顾QA的产生至今,QA起源于测试,但随着后置测试而导致高昂返工代价,人们学会了将测试前置(如评审、演示以及迭代开发)。但不管如何,测试被天生局限在了一个阶段的末端活动来验证活动的输出制品,也就是说它依赖于了有形产品。 据研究,75%劣质产品质量是因为生产的过程混乱而导致的,基于此人们将过程质量与产品质量关联起来,意识到坏的过程导致了坏产品,那么将坏的过程变好,则产品也会好起来。自然地,保证过程的质量越来越多被关注起来,并冠以了SQA(软件质量保证)名号(CMM的SQA就强调过程质量的保证),好的过程意味着好的产品也渗入人心了。 然而,当CMM发展到CMMI,SQA演化为PPQA,在原有基础 ...
一直在设想自己设计一个java过程自动化的工具,但苦于经验、技术、理论的积累尚浅,无法形成具体的细节思路... 今日发现http://www.open-open.com/index.htm,里面介绍了好多开源项目涉及工作流、项目管理,测试、代码优化、构建,其中不乏用web和eclipse为实现形式的,真是和我好久以来的想法产生强烈共鸣,让我兴奋不已。 我要借此为基础,实现我的设想!
Global site tag (gtag.js) - Google Analytics