自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (5)
  • 收藏
  • 关注

原创 垂死挣扎还是涅槃重生 -- Delphi XE5 发布会归来感想

Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来参加Delphi XE5的发布会的。 有人可能要问为什么是Embarcadero (名称非常拗口)而不是Borland 开Delphi 发布会, 这是因为Borland那几年撑不下去, 把IDE工具打包成立了CodeGear 公司,已经被Embarcadero 收购了

2013-10-24 13:36:42 34151 29

原创 抽象: 程序员必备的能力

在软件业,抽象能力的重要性怎么说都不为过,因为软件开发是一个高度复杂的智力活动,程序员经常需要面对、处理异常复杂的业务和逻辑,如果你不具备强大的抽象能力,无法把具体变成概念,进而驾驭概念进行思考, 你就很难降低问题的复杂度,从而陷入泥潭,无法自拔。 无论你学会了多么强大的程序语言,你的编程能力也很难有质的提高。抽象能力的高低,很大程度上反映了一个程序员的能力的高低。

2013-08-09 13:28:36 10774 5

原创 茶余饭后:聊一聊那些神一样的程序员们(2)

接上一篇 茶余饭后:聊一聊那些神一样的程序员们这一篇主要聊一聊安德斯·海尔斯伯格(Anders Hejlsberg ),他没有获得过图灵奖, 在名气上比不上前面几位,但也是另外一个传奇。其实安德斯还真的和图灵奖有那么一点点联系,故事需要从Pascal 这门曾经大红大紫的语言说起。凡是学过一点计算机知识的人大概都知道  程序=数据机构+算法 这一著名公式,提出这一公式的就是1

2013-07-01 13:23:20 2433

原创 茶余饭后:聊一聊那些神一样的程序员们

中午吃饭回来, 路上和同事偶尔聊起了IT界的一些牛人们, 他们做出的那些常人难以企及的开创性的工作,常常让我们是叹而观止,仅仅用“牛”来形容已经不够了, 得用“神一样的超级程序员” 才能表达敬仰之情,这里总结一下,可以作为大家茶余饭后的谈资 :-) 先来说说D.E Knuth(高纳德. 克努特), 他最为人知的工作就是经典巨著《计算机程序设计的艺术》, 这本书第一卷《基本算法》 于1968

2013-07-01 13:20:46 5515 2

原创 代码腐化之路

11年刚进入一个新部门,接手一个老项目,典型的legacy code , 一个jsp 好几千行,那叫一个乱。但是细细瞧瞧, 还有不少代码是不错的,依稀能看到漂亮代码的影子,可以想象,当初的架构应该还是优美的,只不过经过了若干程序员之手以后,代码慢慢的腐化了。  07 年做的一个项目也是这样,刚开始的时候设计了一个漂亮的架构,大家都严格遵循规则写代码,很注意维护架构的完整性和一致性,也做

2013-07-01 13:10:05 3099 3

原创 巴西队之死

重播看完了, 必须要写点东西,以此来纪念看球近20年以来最让人目瞪口呆的比赛。当德国队在10几分钟内连续的进球,很快以5:0领先 突然有些恍惚,心想是不是央视在搞鬼,这是不是巴西世界杯? 是不是巴西对德国的世界杯半决赛?是不是中国队穿了巴西队服在比赛?德国队从自始至终踢的如此放松,自信,冷静和理智,每次

2014-07-09 11:00:15 1757

原创 有感于猎豹上市

猎豹移动,原名金山网络,在我的印象当中,还是那个2012年雷军推荐的移动浏览器,还是那个免费大巴送老乡大家回家过年的公司。 当时出于对金山推出软件的支持, 还试用过那款浏览器,可是除了新鲜感之外并没有太多值得让我留恋的地方,很快就卸载了。如今QQ浏览器和UC 如日中天,占据了大部分份额, 估计猎豹也掀不起什么大浪来了。没想到今天竟然上市了!仔细看看,原来是猎豹清理大师在背后撑着,

2014-05-09 19:15:16 1268

原创 余额宝:马云的金蝉脱壳

春节期间微信抢红包游戏可谓火爆,按照马云的话说,这是腾讯计划和执行的非常完美的一次珍珠港偷袭。  业界戏称, 玩游戏的话,商人马云是玩不过工程师马化腾的。很多人在关注有多少人参与抢红包,有多少红包被打开这些表面的数据,但是隐藏在这个Social 游戏后面的意图更应该引起我们的注意,那就是关联银行卡到微信, 从而激活移动支付。 考虑到微信这个超级App的超级活跃用户数,一旦完成和银行卡的绑定

2014-02-08 11:34:03 1777

原创 《黑客与画家》读后感之二: 百年后的编程语言

接前一篇 《黑客与画家》读后感之一3.  百年后的编程语言Paul是一个LISP的启蒙家,他认为100年后编程语言进化的主线,应该以少量公理为基础的”最小最简洁核心的语言“。 现有的编程语言中,最具这一特征的莫过于他最喜欢的Lisp了,所以他的主张实际上就是说,Lisp才是100年后编程语言的进化方向。”任何一种编程语言都可以分成两大组成部分:基本运算符的集合(扮演公理的角

2014-01-16 21:37:43 2804

原创 《黑客与画家》读后感之一

0.为什么你应该看一看这本书?本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。Paul Graham被称为创业之父,自然不是一般人,他在1995年,创办了Viaweb,帮助个人用户在网上开店,这是世界上第一个互联网应用程序。1998年夏天,

2013-12-25 22:01:30 4068

原创 CloudFoundry :能不能简单一些?

CloudFoundry是一个PAAS 平台,做为程序员肯定要玩一玩这个热门的Cloud 技术的, 于是就试图在本机安装一个CloudFoundry 出来,让我没想到的是经历了本人软件安装历史上最让人崩溃的时光 :-)先试了下 CloudFoundry V1 , 操作系统的要求就让我震惊了首先,你需要一个Linux , 不能是Redhat,不能是SUSE, 一定得是UBuntu !

2013-12-02 13:44:41 3776 2

原创 通过实例学习Struts2 - 从struts-blank开始 (3)

接上一篇《通过实例学习Struts2 (2)》国际化国际化通俗点讲就是支持多语言,在Struts2中我们要解决两个问题1. 如何告诉Struts2 当前的Locale 是什么2. Struts2是如何寻找不同Locale的resource文件的设置Locale在我们的struts-blank项目中,HelloWorld.jsp中有这样的代码:La

2013-09-22 20:12:02 3943 4

原创 通过实例学习Struts2 - 从struts-blank开始 (2)

接上一篇 《一起学习Struts2 (1) 》在Action中支持通配符在example.xml 中,我们能看到这样的定义:Login_*" method="{1}" class="example.Login">            /example/Login.jsp            Menu 大胆的猜测一下,这个定义应该支持Login_exe

2013-09-21 18:52:13 4289

原创 通过实例学习Struts2 - 从struts-blank开始 (1)

前言一直用Struts1 , 现在新的项目要转向Struts2了, 先研究学习一下,做点技术储备。我一直认为计算机软件行业是一个实践性非常强的行业,书读了多少都不管用, 一定要卷起袖子,亲自动手,才能学到一门技术的精髓,才能谈得上精通。否则浮在表面,只懂概念,夸夸奇谈,一进入真正的项目就傻眼了。但是自己完全从零开始来学习一个技术还是太慢了,一定要找到一个切入点, 就像打仗一样,

2013-09-20 21:03:46 11952

原创 深入ResourceBundle

ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题。如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是给出满足特定格式的Properties 文件,例如resource.propretiesresource_zh_CN.propertiesresource_ja_JP.propertie

2013-09-13 13:02:11 5502

原创 敏捷开发: 每个人都必须成为通才吗?

传统的开发团队通常按角色就行分工, 开发人员只管开发, 测试人员只管测试, 在自己的职责之外的事, 要么是看不见, 要么是觉得不是我的活,我不用去管,做好做坏和我没有关系。而敏捷软件开发恰恰相反, 更加强调“Whole Team”, 即整个团队对外做出承诺, 团队中的所有人对所有的开发,测试,文档等任务附有责任。如果不能按时交付高质量的软件, 就是整个团队的责任, 某一个Developer

2013-07-15 13:45:11 1449

原创 一个程序员的科幻小说

我是一个科幻小说迷, 记得第一次看科幻小说是在上初中的时候, 在父亲工厂的图书阅览室中看到一本《郑文光科幻小说选》 , 被其中的《仙鹤和人》,《古庙奇人》,《太平洋人》,《飞向人马座》等深深吸引,顿时觉得除了武侠之外还有如此好看的东西, 从此一发不可收拾。可惜的是当时科幻小说实在是太过稀少, 我家所在的小城镇文化资源更加稀缺,我翻来覆去还只是那本《郑文光科幻小说选》郑文光可以说是中国科幻小

2013-07-11 22:27:32 1948

原创 Node.js : 我只需要一个店小二

刚刚开始接触Node.js时, google了很多文章,但发现大部分都是泛泛的介绍安装,配置,以及介绍几个小例子有一种雾里观花的感觉,所以非常困惑,不知道Node.js到底解决了什么问题,它的优势到底在哪儿,为什么这么火。 经过了一番学习之后, 自认为对Node.js的基本原理有了些了解, 于是杜撰了下面这个故事,希望对大家有所帮助,能给大家一点启发  美丽的七侠镇上有一条

2013-07-01 14:28:49 1427

原创 软件为什么这么复杂

春节前和同事在回家的路上看到了建筑工地,不由的感慨建筑业相比软件业来讲实在是成熟太多了! 想想看,建筑师设计好图纸,交给建筑公司(大包工头), 大包工头再报给小包工头, 小包工头随便抓一些农民工就可以干活了! 农民工们可不懂得那么多高深的建筑原理, 对整个建筑也并不了解,可是他们只需要把自己的一砖一瓦做好,整个建筑就能做成了 -- 当然也有豆腐渣工程-- 但毕竟是少数,排除在外。 更重

2013-07-01 13:11:14 1966

原创 国际化的人才

今天工作上有些问题,头儿叫上我去找一个老外讨论,一天功夫下来,真是受益菲浅,我英语不好,几乎插不上嘴,大部分时间在听。头儿的英语很棒,更重要的是她很快能和老外打成一片,谈笑风声。我想主要是因为他能够以老外的思考方式去提问,去交流。换句话说,她的思维已经"西方化"了。英语好能把一个人提升一个档次。如果思维能够西方化,同时保留东方人的思考方式。这才是国际化的人才软件国际化有竞争力,人才也要国际化啊

2005-03-03 14:07:00 1281

原创 FlexStore Analysis

纯标记语言Module自定义的Module            {name.text}        {address.text}        {city.text}        {state.selectedItem.data}        {zip.text}        {email.text}                    {c

2005-01-19 21:20:00 1395

原创 一个Open Source 开发人员的简历

最近在搞hsqldb(一个著名的内存数据库 http://hsqldb.sourceforge.net)的相关开发, 无意中浏览了hsqldb的开发人员,贴出来让大家也瞧一瞧 User Name:boucherb Resume:Campbell Boucher-BurnetBorn: Oct 9, 1961Height: 61". Eyes: grey/w green/blueHai

2004-07-22 13:45:00 2038

原创 JBuilder make Ejb development easy

以前只是对Ejb的概念有些了解,做过几个例子,还没有在实际的项目中真正的应用过,自己的感觉是Ejb所提供的基础设施(事务、安全等)确实很强,但是要利用这些设施,除了对应用代码入侵过多以外,开发起来确实是太复杂了,需要写一堆接口和描述文件。对于不同的应用服务器,还得编写特定的描述文件,真是太繁琐了。有网友推荐使用JBuilder开发Ejb非常舒服,今天试了试,果然不错。我只是参考了Jbuilder的

2004-07-19 14:03:00 1596 1

原创 一个ResultSet的 Bug教训

昨天在测试的时候,经常出现一个异常:Error setting up static cursor cache 网上说这是因为一个进程所持有的File Descriptor 过多引起的。我查了一个下午,发现是由于微软提供的SQL Server JDBC驱动引起的,但是确实是我们自己编码的失误,没有关闭一些相应的资源。在系统中,错误隐藏很深,我试验了多次,终于重现了错误,代码如下:

2004-07-15 10:22:00 2700 2

原创 WebLogic8.1试用

以前没搞过WebLogic和WebSphere,心里总是觉得缺了些什么这两个晚上安装了一下WebLogic8.1 ,试用了一下,根据它附带的教程做了一个例子感觉不错,尤其是Java Control,对我来说是个全新的概念,在里边可以建立DataBase Control,Web Service Control,JMS Control,EJB control等,在图形化界面下进行设计,确实比较爽尤其是

2004-07-13 21:39:00 1871

原创 面向对象的设计原则(3):LSP

子类型必须能够替换掉他们的基类型 假设有一个函数f,它的参数为指向某个基类B的指针或引用,同样假设存在B的某个派生类D,如果把D的对象作为  B类型传给f,会导致f出现错误的行为,那么D就违反了LSP Martin 举了个例子: public class Rectangle() {  private int width;  private int height;  public void set

2004-07-07 22:06:00 1398

原创 面向对象的设计原则(1):SRP

SRP 就一个类而言,应该仅有一个引起它变化的原因 什么是职责?我们把职责定义为“变化的原因”(a reason for change),如果你能想到多于一个的动机去改变  一个类,那么这个类就具有多于一个的职责 如果一个类的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会抑止这个类完成其他职责的能力。例子: interface Modem  {  public void dial(S

2004-07-07 22:05:00 1114

原创 面向对象的设计原则(2):OCP

太出名了,不再多谈。主要有两点 (1) Open for extension (2) Closed for modification Robert.C.Martin举了一个Shape的例子来说明问题。关键的思想是,如果我们预测到了变化,就可以设计一个抽象来隔离它。但是无论模块是如何得"封闭",都会存在一些无法对之封闭得变化。这需要设计人员对于他设计得模块应该对那种变化封闭作出选择,他必须猜测出最有

2004-07-07 22:05:00 1098

原创 包的设计原则(2)

包的设计原则:2.稳定性:包的耦合性原则(1) 无环依赖原则??? 很好理解,包的依赖关系中不能出现环,否则等着看好戏吧(例如晨后综合症)??? 怎么解除依赖环呢?很简单!使用DIP(依赖倒置)原则(2) 稳定依赖原则??? 什么是稳定性?稳定性和更改所需要的工作量相关,例如竖立的硬币是不稳定的,??? 但是桌子是稳定的。若有很多包依赖于包X,那么X就是稳定的??? 稳定性度量:I=Ce/(Ca+

2004-07-07 21:58:00 1144

原创 包的设计原则(1)

包的设计原则:1.内聚性原则(1) 重用发布等价原则    重用的粒度就是发布的粒度(不是很理解)(2) 共同重用原则    一个包中的所有类应该是共同重用的,如果重用了包中的一个类,    那么就要重用包中的所有类,例如容器类以及与他关联的迭代器类    但是在实际项目中,能真正的做的这一点吗?(3) 共同封闭原则    包中对于同一性质的变化应该是共同封闭的,一个变化若对一个包产生    影响

2004-07-07 21:57:00 1389

原创 Minix内存管理(1)

  Minix内存管理 1概述 Minix 在设计时被分成了四层,如下图所示,第1层和第2层是进程管理和I/O任务,合称为Minix的核心(kernel), 内存管理(Memory Manager,下文简称MM) 并不是内核的一部分,它位于内核之上的第三层,主要处理的是FORK,EXEC,BRK等涉及到内存访问的系统调用。它和内核之间通过消息来通信。   本文首先介绍内存管理最基本的部分:物理内

2003-09-15 09:25:00 2844 1

Struts2源码分析

Strut2源码分析,写的非常好, 喜欢Struts2的人可以看一看

2013-09-13

深入浅出Struts2 中文版

InfoQ中文站出版的《深入浅出Struts2 中文版》 ,非常值得一读

2013-09-13

高效程序员的10个习惯

描述了高效程序员的10个习惯, 从infoQ上下载

2010-05-24

Scrum-Checklists-Chinese

Scrum Checklists Chinese

2010-05-24

J2ME in a Nutshell

J2ME in a Nutshell j2me开发的入门教程

2009-03-05

空空如也

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

TA关注的人

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