自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

翻译 硝烟中的Erlang -- Erlang生产系统问题诊断、调试、解决指南

英文原名:Stuff Goes Bad: Erlang In Anger英文作者:FRED HEBERT下载地址:http://vdisk.weibo.com/s/iGQ-rFuJU0-4译者序在我近20年的软件开发工作中,除了Erlang,还使用过许多其他编程语言。有工作需要的C/C++、Java,也有作为业余爱好使用的Lisp、Haskell、Scala等,其中

2014-12-07 21:31:33 2789 1

原创 如果你是这几年才听说敏捷的,真是挺“可怜的”

如果你是这几年才听说敏捷的,真是挺“可怜的”邓辉我承认,我标题党了,呵呵。不过,有些事情,确实得仔细思考才能搞清楚,才能不会被牵着走。软件开发这回事,和管理有关的东西,《人月神话》已经讲透了,只要你在工作中仔细观察,认真思考,多做实验,隔个半载一年把这本书再读一遍,你对软件开发管理这件事情的认识上就不会走弯路,不会被忽悠。关于如何才能做好软件这件事情

2011-11-17 12:54:58 2823 1

原创 用 Java 实现组合式解析器

Ward Cunningham 曾经说过,干净的代码清晰地表达了代码编写者所想要表达的东西,而优美的代码则更进一步,优美的代码看起来就像是专门为了要解决的问题而存在的。在本文中,我们将展示一个组合式解析器的设计、实现过程,最终的代码是优美的,极具扩展性,就像是为了解析特定的语法而存在的。我们还会选取 H.248 协议中的一个例子,用上述的组合式解析器实现其语法解析器。读者在这个过程中不仅能体会到代码的美感,还可以学习到函数式编程以及构建 DSL 的一些知识。

2010-06-28 13:50:00 5645 10

原创 Joe Armstrong, the father of Erlang, finally publishes his library of Erlang code!

Announcing elib1 Elib1 was released today. Elib1 is a library of Erlang modules and set of applications which use the modules. The Elib1 project now moves into phase 2 The phases of th

2010-03-12 09:56:00 1713

翻译 一种日志结构文件系统的设计与实现(三)

一种日志结构文件系统的设计与实现(三)The Design and Implementation of a Log-Structured file systemMendel Rosenblum and John K.OusterhoutElectrical Engineering and Computer Sciences, Computer

2010-03-05 15:47:00 4530 1

原创 Let's build a simple Database Engine (1)

Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class

2010-03-03 17:09:00 2860 1

翻译 一种日志结构文件系统的设计与实现(二)

一种日志结构文件系统的设计与实现(二)The Design and Implementation of a Log-Structured file systemMendel Rosenblum and John K.OusterhoutElectrical Engineering and Computer Sciences, Computer

2010-03-02 14:50:00 6464

翻译 一种日志结构文件系统的设计与实现(一)

一种日志结构文件系统的设计与实现(一)The Design and Implementation of a Log-Structured file systemMendel Rosenblum and John K.OusterhoutElectrical Engineering and Computer Sciences, Computer Scien

2010-03-01 16:54:00 9174

翻译 算法导论第3版新增第27章:多线程算法(完整版)

多线程算法(完整版)                            ——算法导论第3版新增第27章 ThomasH. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

2010-02-25 15:07:00 15351 20

翻译 算法导论第 3 版之多线程算法(三)

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 7.8 磅 0 2

2010-02-24 14:32:00 6507 2

翻译 算法导论第 3 版之多线程算法(二)

用于学习和交流,欢迎指正。多线程算法(二)                                                                                      ——算法导论第3版新增第27章 ThomasH. Cormen, Charles

2010-02-23 14:04:00 7209 3

翻译 多线程算法(—)

用于学习和交流,欢迎指正。多线程算法                                                                                      ——算法导论第3版新增第27章 ThomasH. Cormen, Charles E.

2010-02-22 13:30:00 10716 4

翻译 Kademlia:一种基于XOR度量的P2P信息系统

经典论文系列,供学习和交流,欢迎指正。Kademlia:一种基于XOR度量的P2P信息系统PetarMaymounkov and David Mazieres{petar,dm}@cs.nyu.eduhttp://kademlia.scs.cs.nyu.eduNew York University原文:http://p

2010-02-12 10:59:00 7559 2

原创 基于 Java 的界面布局 DSL 的设计与实现

http://www.ibm.com/developerworks/cn/java/j-lo-uidsl/index.html基于 Java 的界面布局 DSL 的设计与实现   级别: 中级孙 鸣邓 辉 2

2010-02-11 09:15:00 1132

原创 Java 类的热替换 —— 概念、设计与实现

http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/index.htmlJava 类的热替换 —— 概念、设计与实现构建基于 Java 的在线升级系统  

2010-02-11 09:06:00 1045 1

翻译 基于consistent hashing实现Web Caching系统

近段时间的工作涉及高效CDN、海量数据存储和并行计算方面的内容,研读了不少这方面的论文。我会抽空把觉得比较精彩的论文翻译出来,供交流和学习之用,欢迎指正。 基于consistent hashing实现Web Caching系统David Karger, AlexSherman , Andy Berkheimer, Bill Bogstad, Ri

2010-02-05 20:59:00 3534 4

翻译 基础概念辨析:重访数据抽象(On Understanding Data Abstraction, Revisited)

前段时间看到一篇文章:On Understanding Data Abstraction, Revisited。其中对数据抽象这个概念进行了深入的探讨,清晰地给出了抽象数据类型和对象的定义,并阐述了其区别以及对于实际编程的影响。因此抽空翻译出来供大家学习、参考。原文:http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf 重访数据抽象

2010-01-09 13:05:00 5242 5

翻译 TDD的三条规则(中英对照)

 The Three Rules of TDD.TDD的三条规则邓辉 译Over the years I have come to describe Test Driven Development in terms of three simple rules. They are:这些年来, 我喜欢用下面三条简单的规则来描述测试驱动开发: You are not a

2006-08-21 15:57:00 13035 6

转载 敏捷软件开发基础:进行有效的客户协作

敏捷软件开发基础:进行有效的客户协作

2006-08-09 08:40:00 3048

转载 敏捷软件开发基础: 持续集成环境的构建

敏捷软件开发基础: 持续集成环境的构建

2006-08-09 08:39:00 2999 1

原创 A draft TOC of 嵌入式电信软件敏捷开发实践

嵌入式电信软件敏捷开发实践Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand.PART Ⅰ 观念篇第1章 嵌入式电信软件开发面临的挑战 平台的易变性、硬件的多样性 系统的特殊性和分布性 开发支持工具的缺乏 测试、调试环境的昂贵 高可靠性和高性能要求 升级的平滑性 功能需

2005-11-10 10:17:00 3076 1

原创 "Balancing Agility and Discipline" 中文版——《平衡敏捷与规范》终于要出版了

ais摆脱过程改进“黑暗面”的诱惑 邓 辉 本书已经有了三位软件方法学方面的世界级大师所做的序言,作为译者,实在是没有必要在此班门弄斧。但是作为中国软件从业者中的一员,当我看到国内软件企业在过程改进方面的一些所作所为时,我无法保持沉默。 国内软件企业在过程改进方面采用得最多的方法是 CMM( 能力成熟度模型 ) ,正如 Arthur Pyster 为本书写的序所说,基于 CMM 的过程改进方法如果

2005-08-30 14:23:00 3477

原创 软件思考系列之二

软件思考系列之二                                       —— 该如何来学习程序设计?邓 辉万恶之源——复杂性软件开发所面临的根本问题就是应对日益增加的复杂性,这些复杂性可能来自于软件本身、所涉及的问题领域、参与软件开发活动的人以及协调软件开发活动中各个元素的过程等。当所面临的复杂性超出了人们的理解范围时,就会造成混乱和危机。为了能够有效地降低这些复杂性,人们想

2005-07-13 20:27:00 2583 1

原创 需求工程???

需求工程???邓 辉软件是一种商品,既然是一种商品,就必然要满足购买者的需要。是的,人们是不会为那些不能满足自己需要的东西付钱的。另外,开发软件是需要成本的。只有那些成本低,并且能满足客户需要的软件产品才能够为软件企业带来利润。因此,要想使软件能够为软件企业带来最大的效益,一个首要的前提条件就是要弄清楚客户需要的到底是什么,也就是说,要搞清楚用户需求。弄清楚了用户需求,不仅可以使得所开发出来的软件

2005-04-08 09:42:00 2643 2

原创 清晰性和可测试性的权衡

清晰性和可测试性的权衡邓 辉       如果你和我的爱好相同,那么想必你也一定会花费大量的时间思考这样一个问题:“究竟是什么东西使得一个设计可以被称之为好呢?”大多数软件开发者都会在他们职业生涯中的某个时刻关注过这个问题,这个时刻往往是在亲眼目睹了一个糟糕的设计所带来的负面效果之后。就在那个时刻,我们开始反思。在这个反思中,我们都会经历这样一个阶段,我们似乎感觉到我们知道什么是好的设计,但是就是

2005-03-16 13:03:00 2894 1

原创 源代码就是设计 续篇

What Is Software Design: 13 Years LaterBy Jack W. ReevesPosted February 23, 2005People have occasionally asked whether I did any follow-on writing to my "What Is Software Design" article. The answer h

2005-03-05 23:07:00 3053 1

原创 软件思考系列之一

软件思考系列之一邓 辉12 / 24 / 2004引言 人们从事软件开发活动已经有数十年了,和其他许多传统行业相比软件行业还很年轻。为了能够取得和其他行业(比如:建筑行业)比肩的生产力,软件业中有很多有识之士一直没有停止过探索、研究和实践。其中一项影响最为深远的工作就是从传统行业中借鉴过来了“工程”这个隐喻,并希望能够像传统行业那样进行“工程化”生产,以获取满意的软件生产力。然而,“工程”这个隐喻

2004-12-26 22:01:00 3271 5

原创 测试观念谈

测试观念谈邓 辉 到目前为止,测试仍然是一种公认的检验程序正确性最为有效的手段。详尽的测试可以大大地降低程序的缺陷率。虽然缺陷率是目前一种公认的检验程序质量的指标,但是它只是一个结果,要到达大家都满意的一个指标值是要付出一定的代价的。 糟糕的是,有很多项目在进行测试时,都只把注意力放在了这个缺陷率和覆盖率结果上,他们编写了非常详尽的测试用例文档,然后根据这个用例文档编写出对应的

2004-11-18 18:00:00 2407

原创 Layers, Levels, and DIP

Uncle Bobs Software Craftsmanship CornerLayers, Levels, and DIPby Robert C. MartinFebruary 20, 2004SummaryIt is often said that high level layers should depend on lower level layers. However the De

2004-11-17 14:43:00 2134 1

原创 自底向上设计

注:本文仅供学习使用,请勿用作其他用途,谢谢!自 底 向 上 设 计 邓 辉 (翻译) 长期以来,我们一直遵循这样一个编程风格方面的原则:一个程序的功能要素不应该太大。如果程序中的某些部件的规模超出了易于理解的范围,就会造成大量的复杂性,这些复杂性很容易隐藏错误,正如在一个大城市中很容易隐藏罪恶一样。这种程序难以理解、难以测试、难以调试。 根据这个原则,一个大型程序必须要分

2004-11-02 13:33:00 9276 4

原创 Hackers and Painters

Hackers and Paintersby Paul Graham May 2003(This essay is derived from a guest lecture at Harvard, which incorporated an earlier talk at Northeastern.)When I finished grad school in computer scien

2004-09-15 10:50:00 4300

原创 代码自动生成和抽象

代码自动生成和抽象Hoping (原作) 基本概念抽象在软件开发中的重要性是不言而喻的。如果一个系统有了正确的抽象,那么这个系统就更容易理解,更容易维护,开发起来也更为高效,最为重要的是也更容易把事情作对。Grady Booch甚至认为抽象是应对软件复杂性最为有效的手段。在面临一个复杂的系统时,往往只要再提升一层抽象层次(当然要是正确的抽象),那么该系统就会立即变得清晰、简单,理解

2004-06-14 10:31:00 3978 2

原创 权衡的艺术

权衡的艺术Hoping翻译来自:www.pragmaticprogrammer.com 你是怎样开发软件的? 在那些以编写软件为生的人们之间有一个常见的争执。有些人坚持认为在编写代码前必须先要有一个完整的模型,那些过早进行编码的人只不过是一些“在地狱中编码”的hacker。然后,就会有另外一群人说,嗨!等一下。你无法从一个简单的预先模型中学到足够的知识。你必须得编写

2004-05-24 10:37:00 1969

原创 源代码就是设计

注:本文摘自《敏捷软件开发:原则、模式与实践》(清华大学出版社,2003年9月版。本人有幸翻译了该书,详见:http://www.china-pub.com/computers/common/info.asp?id=13569)中的附录D。这是一篇伟大的论文,该文撰写于1992年,作者在当时就能有这样的反思,实在是非常了不起。××××××××××××××××××××××××××××××××××

2003-10-20 15:27:00 3130

原创 软件开发的本质 --《敏捷软件开发:原则、模式与实践》

注: Robert C. Martin先生是一位软件开发领域世界级的大师,也是我最喜爱的技术作家之一。他的文章总能直指问题要害,给出最有效、最实际、最贴切的解决方案。他的网站www.objectmentor.com上的文章是我的最爱,篇篇必读,每一篇总能给我一种茅塞顿开的感觉。很早我就知道Uncle Bob要写一本关于敏捷开发的书,我就一直关注着这本书,期待着这一天的到来,因为我知道这次Uncle

2003-08-11 11:23:00 2197

原创 软件测试认识中的误区

软件测试认识中的误区摘要由于人们对于软件质量的重视程度越来越高,就导致了测试在软件开发中的地位越来越重要。是的,测试是目前用来验证软件是否能够完成所期望的功能的唯一有效的方法。在这一趋势的引导下,现在很多软件相关的公司都非常重视对于他们所开发的软件的测试,甚至不惜花费巨资购买商用的测试工具,但是效果却不一定理想。究其原因主要是存在着对于软件测试的诸多误解。本文试图对一些比较普遍的关于测试的误解

2003-05-28 08:53:00 1838

原创 Slashdot对Bjarne Stroustrup的采访

注:前段时间Myan在CSDN上贴了一个对各大语言,以及OO和模块化的评价的文章。下面这篇对C++之父的采访中,Bjarne Stroustrup谈到了自己的看法。通过大师们思维的碰撞,我们能从中学到什么呢?Slashdot对Bjarne Stroustrup的采访 荣耀 马皓明  译1.OO的发展已呈颓势了吗?(由Rambone提问) 20多年过去了,显而易见,面向对象编程并非包

2003-05-27 18:33:00 2330

原创 递归之美 - Loki库TypeList源码剖析

 递归之美 - Loki库TypeList源码剖析邓 辉 TypeList概观提起List,想必大家都不会陌生,它是一个元素的集合,并且提供了一些对该集合进行操作的方法,比如:计算集合中元素的个数、向集合中添加元素、获取给定索引处的元素等。我们所熟知的List中的元素一般都是实例化后的值,相关的操作也都是在运行期间进行的。本文将要剖析的List和上述的List在某种

2002-07-23 09:10:00 3517 1

原创 使用设计模式改善程序结构(2)

 China dW 中国所有内容.................dW 中国技术专区: 组件技术 Java 技术 Linux XML.................dW 中国特别专题: 安全 Unicode 网站架构.................IBM 全部内容搜索帮助     IBM 主页

2002-07-19 09:57:00 1360

原创 使用设计模式改善程序结构(一)

 China dW 中国所有内容.................dW 中国技术专区: 组件技术 Java 技术 Linux XML.................dW 中国特别专题: 安全 Unicode 网站架构.................IBM 全部内容搜索帮助     IBM 主页

2002-07-19 09:55:00 1404

空空如也

空空如也

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

TA关注的人

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