51CTO博客开发
这段时间在抽空为一次会议准备PPT,内容是关于软件设计方法和设计决策的。10多年工作下来,周围认识和认可的设计师实在太少了。很多所谓的设计师,当说到扩展性的时候,能想到的只是工厂方法,简直太衰了。今天PPT差不多写好了(还剩了一点东西在另一台电脑上,到时候胡乱加进去就好了),闲着无聊,把PPT都转成图片贴上来。
《简单之美》场景故事连载5
《简单之美》场景故事连载4
《简单之美》场景故事连载3
《简单之美》场景故事连载2
《简单之美》场景故事连载1
《简单之美——软件开发实践者的思考》终于上架了,从年初定稿到现在转眼又4个月,希望看过的朋友都能喜欢。 贴下每章之前的话,推广下本书中的想法。 第1章 无极生太极 在进入软件开发领域之前,我们必须要做一些思想上的准备。这种思想上的准备高于方法论,以及任何一项具体的工作内容,它可以使我们站在一个更高的角度来认识软件开发这件事。思想认识是解
最近一直在抽时间了解Hadoop,进展比较慢,目前还在学习MapReduce计算模型中,估计等完全弄明白还要有一段时间了。 不过,这个学习过程还是很享受,看看一些行家在设计一种计算模型中表现出来的专业性,从应用背景,到基本算法抽象,到计算环境,到容错语义定义,到基本技巧与经验介绍,到性能原理分析,很好很喜欢。 学习之余,我又杂想了一下。 你看,MapReduce计算模型是完全公开的,对goo
回忆一下Google的计算环境,由很多廉价的机器组成的集群,硬件不可靠,网络带宽一般。前面我们介绍了MapReduce的并行计算模型,但是,针对特定的计算环境,仍然有一些设计上的问题要考虑。 首先必须考虑机器故障的容错处理。主要有两种故障,一种是运行worker程序的机器发生故障,一种是运行master程序的机器发生故障。在google的计算环境中,只有一个master,相对来说,worker的
在讨论MapReduce计算模型执行过程(框架或者叫运行时系统提供支持)之前,我们来看看计算环境。Google的计算环境非常典型,在两位工程师的论文中已经提到: 每个节点通常是双X86处理器,运行Linux,每台机器2~4GB内存 使用的网络设备都是常用的,一般在节点上使用的是100M或者1000M网络,一般情况下都用不到一半的网络带宽 一个Cluster中常常有
在上一篇文章中,我们谈到了MapReduce计算模型的基本原理。这个基本原理非常简单,就是map和reduce两个函数,处理一组键值对,并生成一组键值对。map和reduce分别包含了映射和化简(合并)这样两个思想。 MapReduce的计算思想来自于谷歌的两位工程师对于日常工作内容的思考。他们的工作对象是海量的原始数据,例如,从互联网上抓取的文档,服务器上的日志,而要做的计算,是对这些原始数据
管理 服务 本质
最近买了不少书,打算从头开始二次学习。这次学习将比较深入,包括一些硬件知识、系统软件知识、网络、编程语言、以及一些流行的编程模型,也许以后还会想到更多。刚开始的时候,一定找不到比较有效的线索,但走过一段以后,也许会有点眉目。好在这是一次长途旅行(也许是下半辈子),慢慢来 。 在开始这次旅行之前,因为一些特殊的原因,要先学习几个节外生枝的内容。这些内容不是计划的一部分,至少不是刚开始要进
经过一年多的努力,《简单之美》即将面世了。感谢杨福川先生的发现、鼓励和支持,也感谢小波,文柯,彬兄提出了这么多宝贵的建议。这本书包含了我十 多年软件生涯的心得,涉及的内容几乎覆盖了软件开发的方方面面,从方法论到架构思想,从需求到维护,从个人世界到团队管理。 多年以来,不管是在从事管理工作,还是在从事一线的软件开发工作,我一直在思考这样一个问题,业界有这么多知识财富,可是在实践中
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号