2006年12月29日

中国程序员的汽车梦

摘要: 汽车,在很多中国程序员的心中,永远都是一个梦想。比尔大哥的财富我们虽然向往,但却几乎没有可能性存在。相对于这个,汽车就变得不是那么遥不可及。今年我下了狠心,在借了别人几乎一半车价的前提下,买了一辆小型车。几个月开来,感觉还好。其中和朋友争论最多的就是,买车是为了干嘛?很多人都会算一笔帐,就是买房是增值(现在的官商勾结,房价不涨才怪),买车是贬值。我的车最近又降价了。不过也有例外,大众系列的保值潜力不小。买了车之后,不光车的价钱降了,还得每月不停地投入钱。什么养路费、停车费、油费(比以前涨了很多了),每年还得有投保。出了事故还得去修。汽车除了成为自己的代步工具,还有可能成为别人的代步工具。我的女 阅读全文

posted @ 2006-12-29 09:08 ohmyjava 阅读(183) 评论(0) 推荐(0) 编辑

2006年12月26日

网格中合并(Merge)功能的多种技术方案

摘要: 写这篇文章,主要是因为我们的“下午茶时间”(项目内部的一种交流方式)激烈地讨论了此类功能的多种实现,我感觉非常有意思。大家可以参考一下。我先简单地描述一下功能要求,要求设计一种数据结构,支持网格控件(图形化)实现矩形区域的合并效果(Merged)。非矩形区域的合并不在支持范围之内。大家可能都在使用各种各样的网格控件,最出名的可能是FlexGrid。不过大家可以也思考思考,如果是你的话,你会如何设计呢?有一个最基本的方法,每一个网格CELL中预置一个变量:MergeID。我们姑且将这种方法称之为"MergeID法"。此方法规则比较简单:没有合并的CELL的MergeID都是0 阅读全文

posted @ 2006-12-26 23:46 ohmyjava 阅读(368) 评论(0) 推荐(0) 编辑

年底总结:坚定技术路线

摘要: 一年一度的年底总结又开始了。查看一下今年的收获,反思一下今年的失误。从哪里开始说起呢?今年我最大的思想斗争就在路线上。管理还是技术,这确实是值得思考的问题。我们一开始都是做技术的出生。慢慢地做技术组长,技术Leader。接下来,就开始有不同路线了。有两条路线的原因在于国内大多企业的不成熟。因为不成熟,所以需要管理人员出现。需要管理人员怎么办?那就抽那些技术骨干。他们能力强啊。我也是被抽出的对象。慢慢我发现有一个现象。技术能力不强的人,能够专心做管理。而我,自认为核心竞争力在技术,所以总是会花一部分时间研究技术。大凡技术讨论也都会参加,甚至直接主导。这让我一直没有放下技术,可是也让我不能全心做管 阅读全文

posted @ 2006-12-26 22:32 ohmyjava 阅读(161) 评论(0) 推荐(0) 编辑

2006年12月24日

偷学Office 2007之易用性改造

摘要: 今天碰巧看了Office 2007的网络教程,发现有很多我们可以学习的地方。Excel 2007的教程地址为:http://office.microsoft.com/training/training.aspx?AssetID=RC100620752052我将这个网站上我认为的重点的几点列出来,大家共同学习。第一、Excel 中的主要命令集中在第一个选项卡上,即“开始”选项卡。这个选项卡上的命令是 Microsoft 认为在使用工作表执行基本任务时最常用的命令。最常用的命令,是系统展现给用户最初的功能。这个功能的展现必须最最直接,而且其功能集合也必须合理。Office 2007的这个做法给了我 阅读全文

posted @ 2006-12-24 02:00 ohmyjava 阅读(132) 评论(0) 推荐(0) 编辑

鸭子类型:一切都是为了复用

摘要: 当小平同志说出“科技是第一生产力”的时候,中国的发展无不是围绕此展开的。软件工程亦是如此。虽然小平同志的话只是一个总结。但必须承认,这个总结非常有见地。软件发展,你可能已经被各种各样的名次搞晕了头。一堆类似OP、OO、SOA等等概念,如果你半年不关心IT,很可能你就发觉被世界遗忘了。可是推开这些概念的表面迷雾,你会看到,所有这的一切,都是我们在努力提高生产力的结果。而提高生产力的最有效方法就是复用!从汇编语言的出现,后来高级语言C的出现,面向对象的C++出现,面向类型的动态语言(如Python,Ruby)出现(这是我个人的看法,我若认为动态语言主要是从类型入手进行复用,欢迎指正),个个都是围绕 阅读全文

posted @ 2006-12-24 01:18 ohmyjava 阅读(1791) 评论(0) 推荐(0) 编辑

2006年12月22日

不要将封闭误解成加班

摘要: 和我一起开发的同事们对封闭开发非常向往。但是和其他同事聊起来,发现大家非常不理解封闭有什么好。细聊后发现,大家经常将封闭等同于加班。这是两个不同的概念。但是企业经常将这两个概念模糊化。说白了,企业骨子里是希望你加班的,而且是免费的。但这两者之间确实是有差异的。首先来说说两者的起因。这两种方法的起因基本是一样的。都是任务按照正常情况不能顺利完成。可是又有不同的地方。我们知道,对于一个任务来说,如果完成不了任务,在不能增加人力成本的前提下,一是延长工作时间,一是提高工作效率。反正工作总量=工作时间×工作效率。具体采用哪种方式,是视情况而定的。如果你的项目中,影响进度的主要愿意是进度不合理 阅读全文

posted @ 2006-12-22 04:28 ohmyjava 阅读(217) 评论(0) 推荐(0) 编辑

2006年12月16日

谈老程序员的责任--有感于周杰伦写《听妈妈的话》

摘要: 《满城尽带黄金甲》首映庆典上,问及周杰伦为什么写《听妈妈的话》这首歌的时候,本以为他会说和《叶惠美》一样,都是为了妈妈高兴。可是他却说出我没想到,但却深有感触的一句话:现在的年轻人,孝顺很重要,所以感觉必须有必要写写歌影响一下年轻人。虽然周杰伦不能谈是老歌星,但是他的这番话让我感觉到他的责任心。想起我们这些也工作了五六年的老程序员们,对后来者却有些许歉意。最近我老是戏谑我的同事,说他该多谢谢文章,不为别的,只为给年轻人多留点经验,多一点指引,多一些食粮!我最近发现博客的好处了,这种形式正是我们写心得的好地方。而CSDN这个地方,更是我们技术人员写文章的天堂。这些天来,我一有心得就迫不及待地写到 阅读全文

posted @ 2006-12-16 22:48 ohmyjava 阅读(209) 评论(0) 推荐(0) 编辑

面向各维度的软件复用

摘要: 复用!使我们软件工作者梦寐以求的目标。所谓复用,就是在不改变原有代码的情况下,重复使用原有代码。面向对象(OO)技术的三个基本特点都是为了复用。 封装。这个本就是为了复用。是对复杂数据结构的复用。事实上,封装并不是只有在OO在才出现的。 继承。是对基类代码的复用。派生类在不改变基类的情况下,复用了基类的代码。 多态。是对调用基类的代码的复用。调用者可以在不改变代码的情况下,使用到派生类的新特性。 不过今天我们不是只谈这方面的复用。软件按照各种变更需求,我们可以看出几个维度对软件的复用需求。 软件需求变更。软件在需求变更的情况下,原有业务模块会发生变更。在这种情况下,属于要求对原有系统的复用。这 阅读全文

posted @ 2006-12-16 21:13 ohmyjava 阅读(165) 评论(0) 推荐(0) 编辑

LISP之根源

摘要: 保罗格雷厄姆 约翰麦卡锡于1960年发表了一篇非凡的论文,他在这篇论文中对编程的贡献有如欧几里德对几何的贡献.1 他向我们展示了,在只给定几个简单的操作符和一个表示函数的记号的基础上, 如何构造出一个完整的编程语言. 麦卡锡称这种语言为Lisp, 意为List Processing, 因为他的主要思想之一是用一种简单的数据结构表(list)来代表代码和数据. 值得注意的是,麦卡锡所作的发现,不仅是计算机史上划时代的大事, 而且是一种在我们这个时代编程越来越趋向的模式.我认为目前为止只有两种真正干净利落, 始终如一的编程模式:C语言模式和Lisp语言模式.此二者就象两座高地, 在它们中间是尤如沼 阅读全文

posted @ 2006-12-16 05:15 ohmyjava 阅读(186) 评论(0) 推荐(0) 编辑

2006年12月15日

平台面前的程序员

摘要: 写这篇文章,是因为最近总是听到平台对于程序员有多么多么好。余认为有所偏颇,故写出来供大家参考。程序员当然是编码的。至少,基本工作是编码。那么都是做什么编码呢?这个问题回答起来比较复杂,可是可以通过一个简单的话来概括,那就是:程序员的编码工作是将业务转换为代码的过程。平台又是什么?平台就是业务模型的代码表现。通过这些业务模型,可以很方便地组建一个系统或者自定义一些系统的行为。现在很多公司都在提平台,也正是基于这个特点。那么,当平台搭建起来后,程序员该怎么办呢?一旦平台完成,程序员就丧失了编码的价值。只能使用别人造好的积木,完成他们之间的对接。能让程序员发挥的地方越来越少。能让程序员体现能力的机会 阅读全文

posted @ 2006-12-15 01:00 ohmyjava 阅读(115) 评论(0) 推荐(0) 编辑

导航