- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 复合优于继承
1. 继承破坏了封装性,换句话说,子类依赖于父类的实现细节。 需要进一步说明,这与方法调用不同,方法调用也依赖被调用的方法,但是并不依赖细节,也就是说,只要方法整体实现没有问题,方法调用就没有问题,但是继承很容易改变父类实现的细节(所以父类中能写成final尽量写成final),即使父类整体没有问题,也有可能因为子类细节实现不当,而破坏父类的约束。这使得继承具有脆弱性。 或者说,继...
2010-12-29 18:06:57
117
原创 破窗户理论,以及整理的一些关于代码质量或编程原则的文章
破窗理论:一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙地被人打破;一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西;一个很干净的地方,人们不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹疑地抛,丝毫不觉羞愧。软件开发中也是这样: 如果你发现自己在有好些"破窗户"的项目里工作,会很容易产生这样的想法:“这些代码的其余部分...
2010-12-27 16:00:44
202
Dive in Python笔记1-4章
1.用if __name__ == "__main__":实现测试模块2.List的负索引和Slice分片, li[1: -1]3.Tuple的不可变性,速度比List快4.当定义一个只包含一个元素的 tuple 时逗号是必须的。如果省略逗号, Python 不会知道 (userCount) 究竟是一个只包含一个元素的 tuple 还是变量 userCount 的值。5. 字符串格...
2010-10-31 12:17:31
134
Web应用服务器缓存浅谈PPT
Robin分享了一个PPT,是他两年前用于培训介绍缓存知识的:http://robbin.iteye.com/blog/770553 还有我附上的问题一枚, 42楼: "各位好:想问一下关于 "应用服务器读取磁盘" 和 "访问数据库", 这两者的速度比较如何?因为感觉网络传输界限也会造成差异,因为这一点在PPT中没有提及,想问一下。另外,根据我的理解,Hibernate查询...
2010-10-16 17:31:22
272
程序员修炼之道读书笔记
1. 无处不在的自动化.Q 你目前是否在GUI中用手工做一些事情?你是否曾将一些说明发给同事,其中涉及许多“点这个按钮”、“选哪一项”之类的步骤?它们能自动化吗?A: 其实有很多自动化工具可以进行录制动作,是否可以通过录制过程,自动生成这种文档。 2. 强大的编辑器,这方面我比较很弱,需要改进 3. 源码控制, 它是一个巨大的UNDO键 ...
2010-10-15 16:06:56
109
MVC在Web中的设计模式以及应用在Pivot GUI中的一点区别
MVC中的设计模式一个以MVC为架构的系统包含了很多的设计模式,但是与MVC最为密切相关的是下面三种模式:Observer, Composite和Strategy。1. Observer模式MVC通过使用定购/通知的方式分离了Model和View。View要保证自己显示能正确地反映出Model的内容和状态。一旦Model的内容发生变化,必须有一个机制来使得Model能够通知相关的V...
2010-10-15 12:58:00
142
ThreadLocal和Map<Thread, Object>比较
ThreadLocal,是JDK的,想法有点 "线程作用域"之类的变量 相对于全局Map<Thread, Object>的实现来说,ThreadLocal有一些优点,它把线程自己用的对象放在了Thread对象的threadLocals里面,而不是放在全局的map里面,在调用exit()方法的时候,会把threadLocals释放。这样就算...
2010-10-14 12:33:19
425
原创 《Java Concurrency in Practice》笔记之一
Java Concurrency in Practice: 1. Thread Confinement的几种形式保证Thread SafeSingle Threaded, GUIAd-hoc, Connection Pool,一个Connection同一时刻只会出现在一个Thread中Stack Confinement, 为什么局部变量是Thread Safe的Thre...
2010-10-14 00:32:08
185
原创 结对编程实践和总结10.11
今天首次尝试结对编程,和一个新手搭档,他做driver,我做director,实践中遇到的一些问题,总结一下:1. 任务是driver挑的,是一个涉及代码质量方面的重构,driver作为新手很没有计划性,不知道目标是什么,导致我不得不花了很长时间来帮他搞清楚问题是什么,或许搞清楚问题也算是结对编程中的一个部分?2. 其中有很大一部分时间是在Debug,感觉Debug这类事情是不适合两个人来...
2010-10-11 19:05:20
166
原创 图片驱动的计算机技术(译文)
这是MIT上介绍Sikuli的一篇文章Sikuli的网站: http://sikuli.org/延伸阅读:http://blog.vgod.tw/2010/01/25/change-the-world/ ------------------------------------------ 图片驱动的计算机技术 译者:YantseFisher原文:http:/...
2010-01-27 18:37:11
162
原创 [转载]Some fundamental questions of Ontology
The principal questions of ontology are "What can be said to exist?"and "Into what categories, if any, can we sort existing things?"Various philosophers have provided different answers to these ...
2009-12-31 16:25:50
104
[测试]常见数据库字段类型与java.sql.Types的对应
Oracle与java.sql.Types的对应Oracle java.sql.Types blob blob char char clob ...
2009-12-03 22:42:11
222
Java性能优化之实时性[3]
——万事开头难 如果你的应用程序能够满足内存和速度的要求,有时还是不够的,对于某些应用程序来说,尤其是实时系统,它还必须满足良好的用户体验,这就要求你的程序能够做到好的实时性。关于用户体验,有很多心理学的研究。如果你了解用户懒惰和缺乏耐心等心理,你也许会更加明白,实时性有时会如此重要。相关的文章比如网站打开速度的心理学,人之初,性本懒 等等。但是实时性的要求也不局限于用...
2009-05-19 22:55:34
450
Java性能优化之实战算法[2]
——当你拿着一把锤子的时候,所有的东西看起来都像钉子。——当你看到钉子的时候,手上拿着的东西看起来就像一把锤子。性能优化有时候很像玩一个策略游戏(免费),对手不是计算机,程序员,设计架构,编译器,控制流,而是时间,内存,竞争条件,预算限制等等。有三个资源限制几乎所有应用都会面临:1.CPU速度和有效性2.系统内存3.磁盘I/O。性能分析的关键是找到瓶颈所...
2009-05-19 22:42:58
115
Java性能优化之实战漫谈[1]
——I can feel the need, the need of speed...——提前优化是万恶之源最近由于工作的原因,对Java的性能优化比较关注,其间也看到不少比较好的文章系列,比如Program-Think同学的Java性能优化系列。平常工作的时候,发现稍微有点好想法的时候,把自己独自一个人关在小屋子里集中精力思考,效果很不错,俗称“闭关”,大家也可以试一试。...
2009-05-19 22:40:46
138
信息2.0(译文)
这篇文章的作者是印度一家公司www.InRev.org的市场总监,这是一家十分年轻的公司,刚刚成立不久,致力于数据分析。就像它的名字InRev一样,他们野心勃勃的想要参与到信息革命中的浪潮来,并在其中充当至关重要的弄潮儿。 在作者的另外一篇博客Analytics Industry(分析工业)中曾指出在中国这样数据分析公司几乎没有,而国外这些公司已经小有规模,中国如果想要赶上信息革命的浪潮,...
2009-05-19 22:19:52
720
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人