让leeon不再眷念马桶——书评《精通正则表达式》

计算的世界大概都是由规则构成的。从最简单的二进制运算,到复杂的格式化文本,以及构建互联网络的各种协议,整个行业都在几十年如一日的定制、复制和客制化各种规则。 在一切变得越来越复杂的时候,我们终于为“分析这些原本很有规则的数据”发了愁。因为规则多到一定程度的时候,也就湮没了规则本身。 从一系列的数据中找到规则并描述这些规则的工具,是“正则表达式”——在早期,它确实就被译作“规则表达式”。更加重要的是,现今的各种语言内置了强大的正则表达式支持,使得这些“规则”可以被复用、编程,以及用于推理。当然, ...

又见标题党——怒评《JavaScript核心技术》

很少写书评,尤其是在这样出离愤怒的时候。 之所以愤怒,是因为今天看到了《JavaScript核心技术》。 看到书名,看到那头犀牛,我的第一冲动就是立即下单买进。因为O'Reilly、机械工业、核心技术,再加上在JavaScript界中无人不知的那头犀牛,大概已经是品质的极境了。 然而毕竟是在CSDN的读书区看到这条消息,毕竟还有一个“预读”。但预读中的这份目录却不禁让我疑惑:这会是在讲“核心技术”吗?再细读内容,实在大失所望~大失所望~大失所望! 终于开始怀疑犀牛的价值了,于是又去查原版书。 ...

理发

老实说,我不喜欢理发。与发型师没太大关系,主要是那个电推子,一动起来我牙根就痒痒,就象指甲抓玻璃的那种感受,所以总是能不理就不理。 有一次总算碰到一个发型师,问他能不能不用电推就纯手工剪。人家答应了,一手好剪子下来,真的好爽。中间就问到为什么手工剪发的都没了。人家说,剪子太贵,好的发型师的剪子就更贵,得上千块的。但是纯手工剪的话,废得太快,剪几次头,还不抵个剪子钱。——当时那个我呀,瀑布汗~~结果付了十块钱,走了。下次再去, ...

Qomo 2.0 beta1 发布说明及新功能

注:有关本次发布的一些重要信息请参见:关于Qomo 2.0 beta1的发布 一、Qomolangma 2.0 Beta1 Qomo的上次发布是在5个月前,此次的beta1主要包含对框架、兼容层和Builder系统的更新。有关界面组件库、图形库的发布,大约要到beta2或beta3才会提供。 Beta1主要的更新包括: 修改了大量代码和builder工具,实现对IE5.0的完整兼容,兼容safari v2,部分兼容opera 对兼容层代码做了大量修改, 并调整了兼容层在system. ...

能力要成体系

【引子】 这两天关于我那篇“架构师的能力模型”的BLOG上的讨论终于停歇了,所有的几十个回复我都一一看过。大多数不是在第一时间看到,也差不远了。正好CSDN的blog又新添了回访的功能,于是一一回访,看了看批评我的,或者赞许我的都是些谁。 但是我一篇也没有回复,回访时也没给人家留个信儿。以前的或许是懒,或者是没想说的,这次却不是。这次真的是故意不回。这有原因。 今天要讲这个话题,一方面是因为这篇“架构师的能力模型”的blog,另一方面则是看到了另一篇名为“真的汉子”的blog。后面这个, ...

架构师的能力模型(图)

今天下午做了这幅脑图,为便于显示,切成了四个部分,描述了我对架构师能力的基本理解。 这四幅图不见得能阐述架构师能力的全部,但我尽量给出范围和有用的建议,希望能对大家有所启发和裨益。 图一:本能力模型的基本角度。 与爱立信人力模型做了一个对比,请注意没有涉及到与“个人内在素质”相关的任何部分。所以类似于诚信、坚韧、耐心等等这类素质不在讨论的范围之内。 图二:个人特性 图三:技术技能 图四:对“技术技能”中“学会平衡设计”的补充 ...

《大道至简》的幕后故事:终结篇、勘误和PDF下载

《大道至简》的幕后故事共写了七节,其中的前五节都已经用BLOG的形式公开在CSDN上了。这里一次性的将全部的章节放出来,并做成了PDF文件。敬请下载。;) 《大道至简》幕后故事的全文PDF点此下载 新加的两节是: 幕后故事(6):“愚公移山记”历史文化篇 幕后故事(7):“愚公移山记”撰修杂事篇 此外,在这个PDF版的文件中,还添加了前后两版的“愚公移山记”作为附录,大家可以对照着看(因为撰修杂事篇》中讲到了很多未修改前版本的内容)。 PDF中也将《 ...

《大道至简》的幕后故事(5):“愚公移山记”军事谋略篇

引子 上一节写的地理,这一节只讲策略。我自己读时,时时觉得《大道至简》一书写到末了,未见得有一篇古文精彩,只是这篇古文,愿细读的人并不太多罢了。 这篇军事谋略,与工程全然无关。你可以把它当作做人、做事或者做事业的参考,对于做工程,却没有什么意义。 顺便说,我没有读完过“三十六计”,我自己也不并是什么高明之士。所以,这些策略高妙与否,并不重要,也无佐证。读的人自作自想去便好了。 1. ...

《大道至简》的幕后故事(4):“愚公移山记”军事地理篇

引子 在前面我们已经讲到过“愚公移山”中的人物、事物,并且预告说现在这一节“军事地理”将非常精彩。但现在,这个精彩看来要打个折扣,因为这一小节只讲军事地理,不讲谋略,因此便只是一些背景性的文字交待,喜欢读的便读,不喜欢追根究底的,跳过去也可。 军事策略总是要与地理、环境等因素相关的,因此如果不先交待这些,那么策略也就讲不清。但所涉的国、域、地名和位置信息等都是古代的,所以就写得罗嗦了。大家姑且放开心情,当作历史书看看罢。 ...

《大道至简》的幕后故事(3):“愚公移山记”事物篇

引子 以古文述事,难点之一便在于我们对历史了解并不充分,因此常常把这个朝代的东西放在了那个朝代,或者让原本是甲做的事,说成了乙做。这样与史不合,容易使文章出笑话。这一篇“幕后”,便来说说“愚公移山记”中的事物。 不过由于这篇故事重在述事,所以对于“物”的描写并不充分,能拣出来谈的并不多,望谅。 1. 铁器 “愚公移山记”中对铁器的考证是一个非常令人痛苦的事。我从一开始便设想,到底有什么法子让愚公在太行山中挖出一条路来呢。然而思来想去, ...

《大道至简》的幕后故事(2):“愚公移山记”人物篇

引子 “愚公移山记”文言和白话两篇附录,是《大道至简》第二版中重要的组成部分。但我们这些读惯了技术书的人,大概是不会象文科生一样,一边考证着一边读古文,因此这篇“愚公移山记”中的背景,怕是没几个人会晓得。然而如果不了解这个故事的一些背景知识,那么读起来便不会有什么意思,不会知道其中的含义。 因此接下来的“幕后故事”,我将用一系列专题,来讲讲这个“愚公移山记”是如何写成的。 你可能不会想到,这将涉及到历史、地理、军事、 ...

《大道至简》的幕后故事

一、大道至简与愚公移山 《大道至简》一书最初的领悟来自那张EHM图。这个故事我在书中已经讲过:在一次Delphi.NET培训的准备工作中,我顿悟“语言只是工具”,并由语言的工具本质为起点,透视了整个软件工程体系。这张图后来被补充为“软件工程层次模型(EHM)”。而从这张图起,我便有开始为我的这些想法写出一本书来,而书的名字就是《大道至简》。 我写书是从前言开始,在写《大道至简》的前言(第一版的“前言后语”)时,我并没有想到从哪里开始写整本书。 ...

英雄大会的事

一、坐飞机与机场小聚 倒不是没坐过飞机,只是第一次坐得这么心惊胆战的。去的时候一切都好,回来的时候在上海虹桥机场降落,感觉不象是在“降”,而是在“坠”。心里一阵阵凉,连写遗书的心都有了。终于忍不住,远远地探过头看了一下窗外,哇~~已经看得到楼房了。心里暗喜:黑黑,掉下去也摔不死了。收了收心,定了定神,看了看周边的人,脸白的有,脸绿的有,就是没几个有人形的。 再回过头来说去北京。 ...

宣个传:《大道至简》开始预售啦~

哈哈~~昨天就看到预售的消息了。但是是4.1,所以便没敢大张旗鼓的囔囔。。。 其实第二版是去年九月就写完了的,关于这个消息,可以在这里看到:我为成书而喜~~。 弄到现在才把排版、审校之类的搞完。实在很令人疲惫。。。至于第二版比第一版(电子版)加了些内容,大家可以从目录中看到。 有兴趣的朋友们支持下则个: http://www.china-pub.com/computers/common/info.asp?id= ...

杀不死的人狼——我读《人月神话》(五)

<<= 上一节 五、从广义工程到狭义工程 现在我们回到一个实际的问题上:工程的本质需求是什么?如果我问一千个人工程的本质,可能会得到一千种答案。因为大家离本质的东西都很远,又从不同的角度去看这本质,故而得到的答案并不相同——而且每一种答案都貌似正确。 但是我问的是“本质需求”。对此,我的答案是:本质需求是“实现(工程的目标)”。 不管工程本质是怎样的,但这个需求如一。我们完不成它就等于失败,至于它是否是Brooks所说的“软件活动的根本任务”,与这个具体的工程无关; ...