| 共 48 个主题 60 条评论 <添加新主题> |
| (48) 网上构件市场 ComponentSource(张恂 129 字 0 回复 C2009-2-14 8:36:25 LID:61 Hit:38) |
| (47) 财富杂志:ThoughtWorks 的社会主义文化 来自 CNNMoney.com 的 FORTUNE Magazine 专栏分析文章 (张恂 442 字 0 回复 E2008-11-28 9:41:12 LID:60 Hit:78)The socialist state of ThoughtWorks Roy Singham adores Hugo Chavez and thinks China is a model of good governance. His biggest fans? Corporate America. By David Kirkpatrick, Fortune senior editor Last updated: Mar 17, 2008 偶然发现这篇很有意思的文章,可以让我们更好地理解 ThoughtWorks 的创始人、企业文化,并从一个侧面了解敏捷运动和变革的背景。 |
| (46) 拔高精品:温昱《软件架构设计》初步印象(张恂 274 字 4 回复 E2007-8-30 21:05:20 LID:51 Hit:465) |
| 回复-拔高精品:温昱《软件架构设计》初步印象 多谢张恂对该书的批评,才让我知道有这本书,并根据指引读到该书的内容,我对张恂的批评有同感,不过,我要为温昱说句好话: (babituo 470 字 1 回复 C2008-2-19 14:21:08 LID:58 Hit:95)我在该书的2.4节中,首次看到别人用系统科学的概念来阐释软件架构,感觉不错!至少说明温昱的架构的理解已经达到不一般的程度。 只可惜温昱表达的还不够到位。 系统科学中有一句著名的论断:整体大于部分之和,整个系统科学都在研究为什么会有这种情况发生。 为什么“1+1>2”?“团结就是力量”? 为什么不同种类的部分组合起来就有超越部分的功能出现? 我来告诉大家吧:这就是因为, 整体 = 所有的部分的和 + 架构。正是因为有了良好的架构(起正作用的架构),整体才显现出超越任何部分的功能和特征。假如,架构拙劣,起到负的作用,那么,整体小于部分之和,也是常见的,乌合之众甚至不如各自单打独斗具有战斗力,就是一个例子。 所以,从整体和部分的关系来阐释软件架构,才是经典的、顺畅的、最容易被理解的、意义最普遍的和最有现实指导意义的。因为部分和整体的关系,是软件系统和业务系统共同的本质。 babituo |
| 软件工程也是系统工程 其实一个软件也是一个系统,软件工程本身就是一种“特殊的”系统工程,而我猜测中国系统科学、系统工程的源头就在钱学森爷爷那里,至少有 40 多年的历史。 (张恂 144 字 0 回复 E2008-2-19 15:42:46 LID:59 Hit:95)不错,整体与部分(the whole vs. the part),又是一对二元对立统一关系,依然可以用“阴阳太极”的辩证思维来解释。 |
| 《软件架构设计》的硬伤 挪到了这里 (张恂 68 字 0 回复 E2007-8-30 21:00:13 LID:53 Hit:285) |
| 《软件架构设计》中凌乱残缺的案例设置 挪到了这里 (张恂 66 字 0 回复 E2007-8-30 21:02:28 LID:52 Hit:349) |
| (45) 推荐一篇我的文章 http://blog.vsharing.com/Smarthings/A631267.html (babituo 48 字 1 回复 C2008-1-15 10:34:04 LID:56 Hit:128) |
| 建议做成链接(张恂 178 字 0 回复 E2008-1-15 10:45:19 LID:57 Hit:115) |
| (44) 有关 InfoQ 中文站内容、功能和架构整体设计的建议(1) 首先,对 InfoQ 表示支持和感谢!贵站的独特技术内容和报道视角,的确为我们及时学习和掌握国际上相关领域的软件技术信息提供了便利,令人有一种耳目一新的感觉。但作为用户,经过一段时期的使用,我们感到在访问贵站时也存在一些不便,在此提出一些改进建议,希望能好上加好。 (张恂 905 字 1 回复 C2007-12-10 15:04:52 LID:54 Hit:116)从总体的概念模型上,我感觉 InfoQ 正如其名,是一个 Info Queue,而且这个队列目前好像还是 FIFO 的队列。这样随着内容的不断添加,早先的新闻也就被推倒了队列的后面。如果你想访问历史信息,尤其是一些重要的、有价值的和热点信息,就不得不通过“更早的”、“更新的”来不断翻页,才能找到。 而贵站在首页上确实也作了一些分类,并提供了搜索功能,比如 Java、Ruby、Agile、.NET 等大类,但进去一看,仍然是一个信息队列,还是要使用“更早的”或“更新的”。 能不能缩短用户定位到热点信息的访问时间呢?我觉得,可能有这样几个办法: 1)在“更早的”和“更新的”基础上,提供 Paging 的功能,这样用户可以跳着前进,而不是一次只能前进/后退一步,对相关信息的整体容量有多少(页)也会有个明确的了解。 2)在信息队列 FIFO 的基础之上,增加新的“冒泡”算法。 比方根据社区用户的点击访问量,回复/发帖探讨的数量,也就是大家关心的程度,或者最近更新的时间等等 Strategy,自动上浮,而不是完全由编辑来人工、主动挑选哪些内容应该被放到首页和便捷位置。 贵站能保证你们请到的编辑一定都是相关领域的专家么?我觉得至少从目前来看,似乎很难保证。这样,贵站的编辑在主动挑选、推荐时,由于个人知识面、认识水平的不足,就容易出现某种倾向性、片面性。 无论 Paging 或更丰富、灵活的 View 更新机制,都是网络上极常见的 Web 架构模式,技术上并不难实现。还有很多辅助手段可以想到。 然而,避免让某些人(比如编辑)从一开始就掌握过多的特权,而真正发动广大读者的参与热情,让大家可以更多地公平参与,我们觉得这对于一个成熟的、立场中立的软件技术社区而言是一件很重要的事情。 |
| InfoQ 中文站内容、功能和架构整体设计建议(2) 谈一谈 InfoQ 中文站与英文站内容不同步、不匹配的问题 (张恂 935 字 0 回复 C2007-12-10 17:12:21 LID:55 Hit:116)说老实话,作为一名读者,我对目前 InfoQ 中文站的翻译效果是不太满意的。问题主要在两个方面:首先是时效性,其次是完整性和准确性。 我发现 InfoQ 英文站的新闻更新速度很快,而且内容丰富,名家荟萃。而反观 InfoQ 中文站,不但我们在英文站上看到重要的文章,由于没有人愿意来翻译,或者编辑/主编认为它们不重要,有可能被有意无意地忽略掉了,而且翻译得也未必那么准确,取决于译者的水平。所以,感觉 InfoQ 中文站的内容与英文站相比,无论在精彩性、完整性和质量上都要差不少,似乎不在一个量级上。 所以,我想问的一个问题是:到底 InfoQ 建设中文站的初衷是什么? 难道仅仅是为了“解困”,帮助英文基础不好的中国程序员充电?如果是这样,那么你们翻得越多,越容易让人产生阅读英文的惰性,反而是帮了倒忙。 由于中文站与英文站的内容不匹配,不同步,会形成很多后果。首先,我们需要在“ En 和 中文”之间来回翻看,比对;再者,这无疑形成了新的信息不对称,本来我们希望了解国际上比较权威、多方面的最新信息,结果却可能看到被贵站的编辑/主编人为过滤、改编过的信息,档次上自然差了一些(先不论中文站的编辑是否到达了专业水准和国际水准),这对于中国程序员来说显然是不公平的,大家当然是想看到原汁原味的信息。 如果完全靠编辑、志愿者们来有选择地进行翻译,一来可能工作量巨大,耗费大家大量的时间和精力,二来也有可能吃力不讨好。如果 InfoQ 中文站不是为了专门向出版社培养翻译人才,没有必要把主要精力放在翻译上吧。内容,学习,和交流,才是最重要的吧。 即便需要翻译,也没必要全文翻译,翻译一些关键段落和难点即可,而且有了中英对照,跟有利于提高大家的阅读水平。 所以,我的建议是: 改变 InfoQ 中文站现在采取的内容过滤、翻译或映射模式,采取信息附加和增值(add-on)模式。也就是说,让 Info 英文站的信息全部可以在中文站上直接看到和访问,这样大家也可以直接参与英文讨论;而中文的翻译、自编部分作为附加内容出现在中文站上。 这么做岂不是“两全其美”? |
| (43) Kent Beck 的新书《实现模式》 Amazon: Implementation Patterns (张恂 426 字 0 回复 E2007-11-8 17:16:48 LID:26 Hit:186)176 页,AWP 于 2007-10-23 日出版 这里有一篇 Amr Elssamadisy 发布在 InfoQ 上的 书评(完整版) 介绍的是 Java 编程模式,可能与 Beck 早期有关 Smalltalk 编程模式的工作有关。Amr 认为这些模式的粒度与 Larman 的 GRASP 模式位于一个层次,我觉得不尽然。 ... |
| (42) 请熊节公开正式地向张恂赔理道歉 熊节,你好! (张恂 540 字 2 回复 C2007-4-18 6:38:53 LID:41 Hit:1084)发表在你博客上的 2004 年 6 月 《档次最高的裤腿追咬者》、2007 年 4 月《上帝让谁灭亡,首先让他疯狂》(如“某硕士的躁狂型妄想症在我看来已经是明白无疑了”、“避免再次把这种容易失去理智的躁狂症患者散到社会上来呢?”)、2007 年 4 月 《这是个什么硕士》等评论、文章是对张恂人格尊严的严重侵犯、无端侮辱和诽谤,这是一种非常卑劣、无耻的行为! 我给你 50 天的宽限期,望你在自今日起的 50 天内,在自己的博客上尽早公开、正式地向张恂赔理道歉,消除不良影响,并保证从此以后不再对张恂进行各种形式的人身攻击、诬蔑和诽谤。否则,50 天后我将随时向法院提起对你的诉讼。 张恂 2007 年 4 月 15 日 |
| 谴责熊节的无耻表现 透明思考:90天也过去了,我可没忘 (张恂 1195 字 0 回复 E2007-7-29 10:53:24 LID:50 Hit:425)此人竟然如此无耻和不识相,超出了我的预计。三年来把我的一忍再忍,一让再让,当作了软弱,真是给脸不要脸。记得陈毅元帅好像有一句名言:不是不报,时机未到;时机一到,统统报销。咱中国还有一句古话,叫作:多行不义,必自毙。以上传统经典可供熊节及其饭丝(Fans)们深入学习和借鉴。 既然看清了,行动也会更加坚决。下面我会做的第一件事情: 1)给 ThoughtWorks 的郭晓和新任 CEO 写一封公开信。这样的人竟然还能做 ThoughtWorks 的 Consultant,四处招摇、丢人现眼,把无耻当有趣,真不要脸! ... 说实话,我的一生中,还是头一回遇到做人这么无耻的。做人不可以这样恬不知耻: (以下为引用) 某硕士的叫嚣 别以为我忘了。我可没忘,我在等呢。从4月15日算起的50天,大概应该是在6月5日左右就到期了吧?能拿到硕士文凭的人,应该会数数的。 等得够久了。不仅没有法院的传票,连个后续的风声都没了。再等下去,我怕会被误解,会被添油加醋地描绘成我偃旗息鼓默然道歉之类的。那不行。吵架虽然不是正事,也不能不负责任,对不对? 所以我得在自己的博客上公开、正式地说明:90天过去了,我没有道歉,并且还在继续扩大“不良影响”。以后是否还会有“各种形式的人身攻击、诬蔑和诽谤”,我不作承诺,视我的心情而定——这得请求原谅,因为某硕士同志没有体现出足够的资格让我正儿八经地“人身攻击、诬蔑和诽谤”,只能闲来闹着玩;既然是闲来闹着玩,也没人付钱给我干这事,就没办法保证专栏供稿了。 记得以前在china-pub吵架的时候我就奉劝过某硕士同志:不要拿自己做不到的事情来威胁别人,到头来糗了自己。现在,应验了。 那么,某硕士同志,对于我这种明显的挑衅态度,不知道又将如何应对呢?上次的大话似乎已经吞了下去,这次会不会冒出新的大话?当心食言会肥的。 现在我可以继续耐心等待了。 ****** 读者朋友,希望我的评论没有影响您对熊节的看法,熊节在您眼里是星还是腕,这是您的自由。当然,我想中华人民共和国宪法也给予了我公开表达自己的愤慨和谴责的权利。 我对熊节本人以及其他软件明星的批评历来都遵守学术批评的基本准则,在正常学术批评的范畴之内。熊节破坏了这个基本底线,他的“躁狂症患者”、“躁狂型妄想症”、“裤腿撕咬者”以及“上帝让谁灭亡,首先让他疯狂”在先。在熊节正式对此公开道歉之前,我将坚持我的看法。 |
| 熊节思想的精髓:麦克卢汉主义(张恂 104 字 0 回复 C2007-5-11 16:02:04 LID:45 Hit:154) |
| (41) 从软工测试的角度看诺顿误杀事件 Google search: 诺顿 误杀 (张恂 2073 字 0 回复 E2007-6-13 13:05:28 LID:47 Hit:175)Norton,很熟悉的名字,10 多年前就记住了,Windows 平台上一个著名的实用工具软件品牌,至今我的脑海中仍然存留着诺顿医生的形象。 上个周末从电视上猛地听到这则新闻,就觉得整桩事情很有意思,甚至觉得这种事情发生在国际大公司、著名软件企业身上,简直不可思议,怎么 Symantec 也会发生这种事故?当然,我完全能够理解相关用户们的感受,我身边的一些个别朋友也遭遇到了这次蓝屏。我想,如果我也是这次事件的受害者,我也一定会以适当的方式表达我的愤慨。 由于职业习惯,我首先想的一个词是 —— 测试。不知道 Norton 的测试人员跑哪去了,是不是开小差了,好么,这回篓子捅大了,结果全中国的软件用户们替 Norton 的升级版作了一回测试。 这应该是软件工程里最糟糕的一种情况,等到软件产品交付到用户手里才发现错误,而且不是一般的错误。我想,Symantec 的产品研制流程肯定是世界一流,而且没有问题的,发生这件事的原因肯定是有人失职,没有按照正规的软件工程测试流程来执行。确切地说,有关人员没有认真地执行回归测试,仅仅修改了病毒特征定义文件,让用户通过 LiveUpdate 来下载升级,就以为万事大吉,草草发布了。在发布前,有关人员没有想到要充当一名普通用户,来真实的体验一下这样的升级。如果有这样的体验,我想这次事故也就不会发生了。软件测试是保证产品质量和企业声誉的最后一道防线。 软件开发中最关键的是人,即便有再好的流程、方法和管理制度,如果有人不严格地照之执行,那有什么用? 说一点“题外话”,今后如何才能有效地避免此类事故的发生? 首先,我有一个问题:发现这种问题仅仅依靠软件自动测试够不够?我想,大概不够,可能还非得要人工测试来检验才行。 这次系统崩溃听说与 Norton 英文版无关,只与 XP 简体版有关。我想只要 Symantec 有一位测试工程师或 QA,和我们大多数的普通用户一样,在 Windows XP 简体中文版的测试机器上先把这个升级版 run 一遍,然后再重启系统,就能发现这个简单的错误。 如果不用人工测试,用软件工具自动测试,有没有可能发现这个错误?让我想想 ... 关于软件测试有一个有趣的结论,人们极难做到 100% 覆盖的软件测试。找出一个软件产品的所有测例(test cases),是一个排列组合问题,随着测试点、测试路径的增加,测试空间将呈现爆炸式增长。做到 99.999% 覆盖的测试是有可能的,但那将付出极大的代价。 好消息是,诺顿误杀事件中的测例并不属于那些极端复杂、难以被人想到的测例,而且用人工来执行这个测例,看来是一种最简明的测试办法。 我们有黑盒测试、白盒测试、单元测试、集成测试、系统测试、自动测试、人工测试、性能测试、可靠性测试等等许多种不同的测试类型和方法,每一种方法都不能独立解决 100% 覆盖的问题,所以我们需要把这些测试方法综合起来运用,不能仅仅依赖一种方法。 我对杀毒软件、软件病毒没什么研究(打算 50 岁以后再研究),也没有做过防病毒软件的测试,但是我对软件工程的普遍科学真理有点研究和心得。 以上是我从软件工程和测试的角度,对这则新闻事件的一些解读。这又是近年来涉及到国际知名品牌、知名企业的一次质量事故,应该说对软件产品的供应商和广大用户来说都是不幸的一次事件,后面就看各方如何来妥善地处理了。 我感觉这次诺顿误杀事件是一个很好的宣传科学,宣传软件工程和软件测试的案例。学生程序员朋友们,这回知道了软件工程、测试的厉害吧,没有测试是万万不行的!天真、随意地忽略忽视软件工程中的某一个步骤、细节或环节,都有可能发生“天大”的灾难! 相关报道: 误杀门:诺顿面临集体诉讼?(来源:央视国际-经济半小时) 搜狐诺顿事件专题 Symantec 高管谈产品测试 赛门铁克解释诺顿“误杀”原因 法律专家:用户向赛门铁克索赔没有金额上限 |
| (40) 下载 InfoQ 上电子好书 现在已经有了 9 本 MiniBook: (张恂 840 字 0 回复 E2007-5-27 10:42:17 LID:49 Hit:133)Starting Struts 2 Patterns of Agile Practice Adoption: The Technical Cluster Mr. Neighborly's Humble Little Ruby Book Getting Started with Grails Domain Driven Design Quickly Scrum Checklists Enterprise SOA Adoption Strategies Visual Studio .NET Tips and Tricks Java Transaction Design Strategies |
| (39) 咱中国程序员应该认真向袁隆平大师学习(张恂 94 字 0 回复 E2007-5-24 7:19:42 LID:48 Hit:89) |
| 共 48 个主题 60 条评论 <添加新主题> |