发表于2025-03-06
图灵奖得主、《人月神话》作者Brooks封笔之作,揭秘软件设计神话!
程序员、项目经理和架构师必读的一本书!
如果说《人月神话》是近40年来所有软件开发工程师和项目经理们必读的一本书,那么《设计原本:计算机科学巨匠Frederick P.Brooks的反思》将会是未来数十年内从事软件行业的程序员、项目经理和架构师必读的一本书。它是《人月神话》作者、著名计算机科学家、软件工程教父、美国两院院士、图灵奖和IEEE计算机先驱奖得主Brooks在计算机软硬件架构与设计、建筑和组织机构的架构与设计等领域毕生经验的结晶,是计算机图书领域的又一史诗级著作。
《设计原本:计算机科学巨匠Frederick P.Brooks的反思(珍藏版)》从工程师和架构师的视角深入地探讨了设计的和过程,尤其是复杂系统的设计过程,旨在提高产品的实用性与有效性,以及设计的效率和优雅性。全书共28章,分为6个部分:第一部分(1~5章)主要讨论了什么是设计、设计过程的思考、设计的类别、理性模型及其缺陷、以及对一些好的设计过程模型的探讨;第二部分(6~7章)主要讨论了协作设计与远程协作;第三部分(8~16章)全面总结了设计中的各种原则、经验和教训,包括设计中理性主义与经验主义、用户模型、资源预算、约束、设计中的美学与风格、设计中的范本、设计的分离、设计的演变途径和理由,以及专业设计者为何会犯错;第四部分(17~18)探讨了建筑设计与计算机软硬件设计在设计思想和方法上的一些共同点和不同之处;第五部分(19~20章)探讨了设计和设计师之间的关系,以及如何培养设计师;第六部分(21~28章)通过各个领域的各种类型的案例进行了分析和研究,旨在深刻揭示隐藏在这些案例背后不变的设计过程和思想。
除了从事计算机软硬件相关工作的读者应该阅读本书之外,其他领域的设计者、设计项目经理和设计理论研究人员也都能从《设计原本:计算机科学巨匠Frederick P.Brooks的反思》中找到大量宝贵资料。
Frederick P. Brooks,Jr,著名计算机科学家、软件工程教父、美国两院院士、图灵奖和IEEE计算机先驱奖得主。他在计算机软硬件的架构与设计和软件工程领域有极其深厚的造诣,并取得了举世瞩目的成就。
他是IBM System/360计算机和Operating System/360操作系统的项目经理和总设计师,还是IBM Stretch和Harvest等沿续至今的计算机体系结构的总架构师。他不仅提出了软件工程领域具有深远影响的“没有银弹”的著名论点,而且著有软件工程领域的传世之作《人月神话》,畅销30余年,为软件行业的发展做出了巨大贡献。
此外,他在建筑设计方面也有十分深入的研究,曾参与北卡罗来纳大学的西特森厅的设计,是设计委员会的正式成员。
高博,资深软件开发工程师、架构师和项目经理,毕业于上海交通大学计算机系,在微软、惠普和盛大等国内外知名企业从事软件开发相关的工作近10年,积累了丰富的经验。对程序设计语言、软件测试方法学、软件架构设计、软件项目管理和云计算等技术方向和领域有浓厚的兴趣,并致力于这些方面的研究和实践。他热衷于分享,近年来翻译了《C++:99个常见编程错误》、《微软的软件测试之道》、《源码中国》、《研究之美》等多本经典著作,在业界颇有影响力。
朱磊,资深软件开发工程师,毕业于上海交通大学软件工程系,现就职于EMC上海卓越研发中心,担任软件开发工程师。业余时间潜心于技术的钻研,非常喜欢与人分享和交流,担任上海交通大学饮水思源论坛Java版版主已4年有余。曾参与过数本软件开发类著作的翻译。
王海鹏,资深软件开发工程师、架构师、咨询顾问和培训讲师,毕业于华东师范大学,有近20年软件行业从业经验,经验十分丰富。专注于软件架构及其方法学的研究,致力于提高软件开发的效率和品质。翻译经验颇丰,已为国内软件行业从业者们奉上了近20本经典著作,主题涵盖敏捷方法学、需求工程、UML建模和测试等多个领域。
我写这本书的目的,意在督促设计师和设计项目经理们去努力思考设计活动的过程(process),特别是复杂系统的设计过程。本书是站在工程师的角度来思考的,不仅注重实用(utility)与效益(effectiveness),也兼顾效率(efficiency)和优雅(elegance)。
谁应该读这本书 《人月神话》一书的目标读者是“职业程序员、职业经理人,尤其是管理程序员的职业经理人”。在该书中,我讨论了团队在开发软件时,获得概念完整性(conceptual integrity)的必要、困难和方法。
而本书的读者范围则扩大了很多,它融入了我35年以来取得的经验和教训。设计经验让我确信,不同设计领域的设计过程包含一些不变的因素。因此本书的目标读者是:
1)各种类型的设计师。设计如果只走系统化路线,而摒除了直觉,就只能得到亦步亦趋的抄袭品和仿冒品。然而,如果只跟着直觉走,而不讲系统化,则产品只会是瑕疵满盈的空中楼阁。如何将直觉和系统化的方法融合在一起?如何在设计师生涯中成长?如何在一个设计团队中发挥作用?虽然本书涉及的领域甚广,但我期望的读者却是侧重于计算机软件和硬件的设计师—我自身的定位决定了面对这个读者群体我能够论述的内容最为具体。因此,在这些领域的例子中,有时会涉及技术细节。其他读者完全可以跳过这些细节,不影响理解。
2)设计项目经理。为了避免灾难,项目经理在设计他的设计过程中,就必须结合理论与口口相传的实践经验,而不能仅仅去抄袭某个过度简化的学术模型,也不能拿到一个过程,就生搬硬套,而对理论依据或别人的经验不闻不问。
3)设计研究人员。对设计过程的研究已经日渐成熟。这是好事,但并不是事事都好。发表出来的研究论文关注的主题越来越狭窄,而对于大局问题的讨论则越来越少。或许是出于对精确性,以及对“设计成为一门科学”的期望,想要在科学研究之外发表一些东西变得很困难。我建议设计思想家和研究人员,即使社会科学方法论的帮助不大,也应该重新关注起大局问题。我充分相信,他们也会质疑我的论述是否普遍适用,以及我的观点是否真的成立。我希望将他们的一些研究成果带给实践者,谨以此为他们的学科提供一些帮助。
设计原本:计算机科学巨匠Frederick P.Brooks的反思(珍藏版) [The Design of Design] 下载 mobi pdf epub txt 电子书 格式 2025
设计原本:计算机科学巨匠Frederick P.Brooks的反思(珍藏版) [The Design of Design] 下载 mobi epub pdf 电子书还可以,一直相信京东的商品。不错,赞一个!
评分啦咯啦咯啦咯啦咯啦
评分书还是不错的,学到了很多新领域的知识,值得推荐给大家!
评分真的很一般般!!! 第1章 引言 1.1 性能问题 1.2 解决方案 1.3 什么是负载均衡 1.3.1 负载均衡的前世 1.3.2 负载均衡的今生 1.3.3 纵向扩展 1.3.4 横向扩展 1.4 负载均衡的实现 1.4.1 网络的构成 1.4.2 缓存:网站的曲速引擎 1.4.3 使用DNS进行负载均衡 1.4.4 内容分发网络 1.4.5 6P原则 1.4.6 基础知识 1.4.7 HTTP负载均衡 1.4.8 对数据库进行负载均衡 1.4.9 对网络连接进行负载均衡 1.4.10 SSL负载均衡 1.4.11 建立高可用性集群 1.4.12 云平台上的负载均衡 1.4.13 IPv6:实现和概念 1.4.14 下一步做什么 1.5 总结 第2章 网站工作原理 2.1 开始我们的旅程 2.1.1 来自非IT背景 2.1.2 开始浏览的过程 2.1.3 通过DNS查找网站 2.1.4 最终连接到服务器 2.1.5 服务器自身 2.1.6 连接到数据库 2.1.7 缓存技术速览 2.1.8 回传到客户端 2.2 进一步了解 2.3 网络 2.3.1 TCP 2.3.2 DNS 2.3.3 速度、带宽和延迟 2.3.4 网络连接小结 2.4 HTML和Web 2.4.1 HTML 2.4.2 为什么基于文本很重要 2.4.3 为什么链接很重要 2.4.4 HTML小结 2.4.5 浏览器 2.5 Web内容 2.5.1 静态内容 2.5.2 动态内容 2.5.3 创建动态内容 2.5.4 Web内容小结 2.6 数据库:最薄弱的环节 2.7 总结 第3章 内容缓存:保持低负载 3.1 什么是缓存 3.2 走马观花 3.2.1 基于浏览器的缓存 3.2.2 Web加速器 3.2.3 Web代理 3.2.4 透明Web代理 3.2.5 边缘缓存 3.2.6 平台缓存 3.2.7 应用缓存 3.2.8 数据库缓存 3.2.9 仅仅是个开始…… 3.3 缓存理论:缓存为什么这么难 3.3.1 HTTP 1.0对缓存的支持 3.3.2 HTTP 1.1加强的缓存支持 3.3.3 解决方案 3.3.4 缓存不像看起来那么简单 3.4 Web代理 3.4.1 Squid代理服务器 3.4.2 开始了 3.4.3 故障排除 3.4.4 透明代理 3.4.5 发生了什么 3.4.6 获得帮助 3.4.7 Squid,代理中的瑞士军刀 3.5 边缘缓存:Varnish 3.5.1 默认保守缓存 3.5.2 安装Varnish 3.5.3 配置并运行 3.5.4 定制Varnish 3.6 总结 第4章 基于DNS的负载均衡 4.1 DNS内幕 4.1.1 IP地址 4.1.2 问题 4.1.3 解决方案 4.1.4 回退一步 4.2 DNS详解 4.2.1 亲自查询 4.2.2 DNS查询进阶 4.3 DNS缓存 4.3.1 查询DNS缓存 4.3.2 Linux系统上的DNS缓存 4.3.3 实质内容 4.4 BIND9 4.4.1 DNS DB的头 4.4.2 DNS数据库记录 4.4.3 加载数据库 4.4.4 检查配置文件 4.4.5 常见问题 4.4.6 测试DNS 4.5 基于DNS的负载均衡 4.5.1 基于DNS的负载均衡的优势 4.5.2 基于DNS的负载均衡的问题 4.6 总结 第5章 内容分发网络 5.1 选择CDN服务提供商 5.2 开始使用Rackspace 5.3 向CDN账户添加内容 5.4 Rackspace云文件API 5.4.1 将API集成到PHP中 5.4.2 用API密钥进行认证 5.4.3 建立连接和断开连接 5.4.4 对容器进行操作 5.4.5 对文件进行操作 5.4.6 其他有用的函数 5.5 总结 第6章 性能和可靠性计划 6.1 yoU MAke DInner In TiME 6.1.1 理解 6.1.2 决策 6.1.3 设计与实现 6.1.4 安装 6.1.5 测试、维护、评估 6.1.6 计划的重要性 6.2 备份 6.2.1 为什么备份如此重要 6.2.2 前方可能有麻烦 6.2.3 必须实现自动化 6.2.4 战术备份 6.2.5 战略备份 6.2.6 增量备份与全备份 6.2.7 一定,一定要测试恢复! 6.3 总结 第7章 负载均衡基础 7.1 什么是负载均衡 7.2 有哪些可用的计算资源 7.2.1 处理器 7.2.2 内存 7.2.3 使用top命令查看CPU和RAM的性能 7.2.4 网络 7.2.5 存储(磁盘) 7.3 负载均衡实战 7.4 指导原则 7.4.1 深入理解系统 7.4.2 规划 7.4.3 监测和测试 7.5 总结 第8章 对网站进行负载均衡 8.1 测量Web服务器的性能 8.2 加速Apache HTTP 8.2.1 禁用空载模块 8.2.2 禁用DNS查询 8.2.3 采用压缩 8.2.4 FollowSymLinks和SymLinksIfOwnerMatch选项 8.3 加速nginx 8.3.1 worker_processes和worker_cpu_affinity 8.3.2 Gzip压缩 8.4 对Web服务器进行负载均衡 8.4.1 配置 8.4.2 准备IPVS服务器 8.4.3 准备工作服务器 8.4.4 测试负载均衡器 8.5 划分动态和静态内容 8.6 总结 第9章 对数据库进行负载均衡 9.1 搭建MySQL Cluster 9.1.1 安装管理程序 9.1.2 配置管理程序 9.1.3 准备集群数据节点 9.1.4 安装MySQL Server和NDB守护进程 9.1.5 配置NDB守护进程 9.1.6 启动集群节点上的服务 9.1.7 更新MySQL的root用户 9.1.8 测试上述安装和配置 9.2 实施负载均衡 9.2.1 建立负载均衡 9.2.2 设置负载均衡服务器 9.2.3 设置工作服务器 9.2.4 测试负载均梵蒂冈对方的手是
评分收到
评分看着有点费劲,举例都是建筑方面的
评分121 121 121 121
评分此用户未填写评价内容
评分写的蛮好的一本书,引经据典
设计原本:计算机科学巨匠Frederick P.Brooks的反思(珍藏版) [The Design of Design] mobi epub pdf txt 电子书 格式下载 2025