新書推薦:

《
DK葡萄酒大百科:一本关于葡萄酒的百科全书
》
售價:HK$
547.8

《
未来简史 从智人到智神(2025白金纪念版)
》
售價:HK$
86.9

《
社区矫正(第六版):美国地方治理的新议题及其比较
》
售價:HK$
107.8

《
动物与人体的比较解剖书
》
售價:HK$
98.8

《
半小时漫画中国史(全5册)
》
售價:HK$
274.5

《
7步吃透商业提案写作
》
售價:HK$
65.9

《
大国谍影
》
售價:HK$
96.8

《
从荒诞到反抗:导读加缪《局外人》和《鼠疫》(谜文库)
》
售價:HK$
65.8
|
編輯推薦: |
一场架构知识与思想的盛宴,一次技术哲学的探寻之旅。
这里有小而生动的故事,也有大且深远的洞察;
有基础理论的梳理,也有未来潮流的把握。
|
內容簡介: |
本书共9章36节,以作者学习与从业经历所跨越的四个时期为线索,内容主要包括初识编程与软件
架构的历程、软件生产力与生产关系的革命、软件架构领域的定理及定律、架构管理全景结构解析、
五大软件架构设计的驱动方式、技术决策的六大特定关切、大型复杂系统的韧性之道,以及智能原生
时代的技术思考。
本书以人为本、以史为鉴,内容直击架构设计与技术决策的底层逻辑与规律,面对当下并展望未
来,提出了众多具有普适性价值的技术观点,以抽象性、批判性的思考和对话方式,演绎了一套鲜活
的架构思维体系。本书内容丰富,图文并茂,语言通俗易懂,不仅极具知识性、科普性,而且兼顾趣
味性、故事性和实践性。本书力求通过分享思维与思想,进行有意义的思辨,无形中传递领域智慧,
帮助读者提高架构设计与技术决策能力,增强综合能力的底蕴和专业素养,在软件行业立足、扎根,
并获得长远发展。
本书适合资深的软件开发人员,以及想提高架构设计水平的产品经理、架构师阅读参考。
|
目錄:
|
序 章
——以时代为线,与思想为伴
0.1 四个时期和四方面趋势 1
0.2 软件架构的多面性本质 6
第1章
温故知新,举目千里
——初识编程与软件架构的历程
1.1 强者摇篮,编程的文艺复兴时代 12
1.1.1 Java语言,更像是弱者的游戏 12
1.1.2 多样性和原生力,我辈之差距 17
1.2 改弦更张,以模式引领架构之舞 20
1.2.1 三个话题,初识架构 20
1.2.2 设计模式,席卷天下 23
1.3 不甘平庸,非天才也要当决策者 26
1.3.1 书呆子难以逾越的鸿沟 26
1.3.2 在计算机大世界里淘金 29
1.4 乌合之众,敏捷更像是职场把戏 32
1.4.1 小团队作战的魅力 32
1.4.2 技术管理的真与假 34
第2章
黄金年代,风驰电掣
——软件生产力和生产关系的革命
2.1 开源制造,软件行业生产力的彻底释放 39
2.1.1 以GitHub见证开源之道 39
2.1.2 是乐高积木,还是组织器官 41
2.1.3 是自力更生,还是拿来即用 43
2.2 平台模式,软件行业格局的划分确立 45
2.2.1 连接客户重于生产制造 45
2.2.2 平台的核心交易与功能 47
2.3 笃行致远,企业软件架构的纵横跨越 50
2.3.1 内外隔离与服务治理并进 50
2.3.2 系统控制与应用逻辑分离 53
2.3.3 前后分离与数据架构破茧 56
2.3.4 糟粕与精华交替相伴而生 60
第3章
先行利器,无坚不摧
——重要定理和定律的价值
3.1 基本论点,别输在起跑线 66
3.1.1 从4方面认知软件系统 66
3.1.2 技术债务与架构适应度 71
3.1.3 架构与系统故障相关度 73
3.2 10大定律,厚积才能薄发 77
3.2.1 跨越学科,亦堪当大用 77
3.2.2 土生土长,更应当如数家珍 81
3.3 反模式,不良方法的警示 86
3.3.1 10个技术类反模式,一板一眼 86
3.3.2 11个管理类反模式,更显高超 89
3.4 项目管理,轻装上阵为佳 93
3.4.1 难以突破固有本能之限 93
3.4.2 倡导极简化的管理原则 95
第4章
提纲挈领,一览无余
——架构管理全景结构解析
4.1 架构管理的全景地图 99
4.2 架构活动的主体—人 102
4.2.1 设计思维的原则与模式 102
4.2.2 设计者的理念和策略 105
4.2.3 设计所需的软环境 108
4.3 过程利器及工具运用 110
4.3.1 架构设计过程利器 110
4.3.2 架构工作的工具箱 112
4.4 架构工作的基本活动 116
4.5 驱动方式及特定关切 120
4.5.1 架构设计的驱动方式 120
4.5.2 技术决策的特定关切 124
第5章
举足轻重,力敌千钧
——五大架构设计驱动方式
5.1 面向视图(或主题)的设计(VOD) 129
5.1.1 最为通用的设计方式 129
5.1.2 面向7大主题设计简析 132
5.2 质量驱动设计(ADD) 145
5.2.1 质量特征及趋势演变 145
5.2.2 4大质量属性设计简析 149
5.2.3 适用强技术特征系统 165
5.3 基于风格与模式的设计(PBD) 171
5.3.1 参定式的决策方式 171
5.3.2 16种架构风格简析 174
5.3.3 正本清源的微服务 184
5.4 领域驱动设计(DDD) 187
5.4.1 DDD的战略和战术设计 187
5.4.2 以业务模型为设计核心 192
5.4.3 6种限界上下文间的关系 196
5.5 风险驱动设计(RDD) 199
5.5.1 更显主观性的设计策略 199
5.5.2 因地制宜才能恰如其分 204
第6章
抽丝剥茧,使命必达
——技术决策的六大特定关切
6.1 技术约束,设计的导轨槽 208
6.2 解决方案,架构的温度计 211
6.3 领域特征,架构的方向盘 216
6.4 兜底方式,设计的保险丝 220
6.5 颗粒度,设计的万能魔法 225
6.6 应用场景,决策的胜负手 231
第7章
混沌工程,完美拼图
——大型复杂系统的韧性之道
7.1 接受复杂性,拥抱混沌 237
7.1.1 技术社会是个好词儿 237
7.1.2 深刻理解软件的复杂性 238
7.1.3 与混沌问题友好相处 242
7.2 与众不同的魅力所在 243
7.2.1 完整闭环的最后一块拼图 243
7.2.2 以实验之名再次探索系统 245
7.2.3 发现隐患,对抗系统熵增 247
7.2.4 目标场景,无所不尽其极 249
7.2.5 核心方法,一招鲜吃遍天 251
7.2.6 最佳实践,要做就要做好 254
7.2.7 实际工作中的思考和感悟 256
第8章
前沿科技,生生不息
——智能原生时代的技术思考
8.1 硅碳之争,乐观看待机遇与挑战 259
8.1.1 将解放生产力进行到底 259
8.1.2 应如何评判科技的发展 262
8.2 绿色计算,无服务架构实至名归 267
8.2.1 主流Serverless框架简析 267
8.2.2 新一代云计算的默认范式 271
8.3 隐私计算,数据与安全浑然一体 275
8.3.1 数据流通基石 275
8.3.2 隐私计算算法 279
8.3.3 主流框架简析 288
8.4 通用智能,语言大模型步入凡尘 291
8.4.1 1个程序和1个参数文件 291
8.4.2 自然语言模型的发展历程 296
8.4.3 大模型注意力机制简析 298
8.4.4 算力平台与业务流架构 300
8.4.5 大模型应用的逻辑架构 302
8.5 量子技术,扑朔迷离中砥砺前行 308
8.5.1 量子计算与通信 308
8.5.2 量子算法的威力 311
8.5.3 量子安全与应用 313
8.5.4 谈量子编程语言 316
后 记
——又一次富有意义的尝试
大话为形,思维为神 317
笔耕不辍,终见南山 320
|
內容試閱:
|
写作背景
为什么写这本书?主要缘于以下三方面的考虑。
1.深刻总结、传播分享
对过去的学习和工作经历,现在回过头来看,当时作为局中人干得热火朝天,沉醉其中、无法自拔,然而即便成果殷实,却难免常陷入感性中,对很多事情缺少理性的理解和把握,走了很多弯路。现在从旁观者的视角,再次思考,三次思考……可从中发现很多固有的、本质的道理和规律,很有必要传播分享。笔者将这些有关IT技术的底层逻辑、有价值的思想,以及实践中的悟道,抽象地统称为软件技术哲学。相比于预测未来,本人更偏好思考过去,通过有意识(有时或是无意识)地梳理、沉淀,进行去伪存真,正所谓“为学日益、为道日损”。
“每个人的经历都是独特而不平凡的,只要深度思考、细心品味,定能发掘出宝藏”,这是本书带给读者的殷切寄语。
时间不能倒退,发生的事已成为过去,不论如何反思也不能改写,那么翻阅这些
“老皇历”还有何用?笔者认为,对每个人而言,拥有各异的经历,正是“我之所以是我,而非他人”的原因所在。对“回顾过去的意义”有任何的质疑,都可以通过反问
“人类为何要学习历史、为何要演绎历史故事”来找到答案。
身处信息过剩的年代,深感“授人以鱼,不如授人以渔”。相比于纯粹的技术能力,深谙技术哲学、洞悉工作的底层逻辑与规律,能够释放更大的潜能,在竞争环境中长期占据有利地位。
2.与AI掰掰手腕儿、较较劲儿
近几十年,随着计算机技术及算力的高速发展,尤其是当下AI领域通用智能技术的大爆发,人类社会有逐渐被“格式化”的趋势,整个世界都弥漫着二进制的味道,软件及通信技术几乎连接了一切事物,在信息可以被随时共享、无边界传递的环境中,人们的生活越来越同质化。这些仍旧不是终点,更有量子计算这样的(超越二进制的)革命性技术在虎视眈眈,不遗余力地寻找(在应用场景中)实现技术转换的机会。历史的车轮滚滚向前,无人能够阻挡新技术发展的脚步。
未来世界可能会遍布各种各样的人机设备,在大脑上接上神经元感应设备,人脑所想就能自动变成文字,我们或许不需要用嘴说、用手写就能传递信息。但是,笔者并不期待这一天的到来。每个人拥有独特的个体特征、独立的思想,并以独立的方式进行内容的表达,如果这样的过程也被机器剥夺了,那么我想问:“人,何以为人?”
智能科技的无限发展,可能会造成人类文字表达能力的退化,人类是否因此而变得无趣,这或许是科技的一个令人讨厌之处。因此,笔者想保留属于自己的这一片领地,用双手一字一字地表达有价值的经历,以及在职业旅程中的一些所得所想。如果在有生之年,想在AI的世界里展示一下自我、比拼一下能力,那么择日不如撞日,撞日不如今日。这像是欲在历史长河中留下些许的注脚,这是碳生命与硅生命的战斗,这场战斗虽然略带凄凉之意,但也十分有趣。
3.个人的情怀、追求
记得就读研究生时,导师期望我们“除了谋生,要为社会、为行业做些额外贡献”。我的一点强项在于读了很多书,具有较好的写作能力,那么用这些能力,与20余年IT工作相结合,会产生什么呢?
我想总会有些可以精炼总结的,只要能够用心书写表达出来,就能帮助IT领域从业者提升职业素养和能力底蕴。软件技术和信息已经俯拾皆是,唯有思维、思想与方法才能亘古不变。如此说来,可能一本关于思维的书最为合适不过,更何况市面上此类书籍还是比较稀缺的。
本书特点
本书有小而生动的故事,也有大且富有远见的洞察;有对基础理论的梳理,也有对时下潮流的把握。
1.知识性、科普性
本书是一本软件领域的科普著作、一场架构与决策所需掌握知识的盛宴。以架构为核心线索,本书内容涉及软件行业的多个领域话题,言简意赅、醍醐灌顶。读者可以在最短时间内抓住各领域的技术精髓。
从编程语言和设计模式,到软件的生产力与生产关系,再到架构管理、设计驱动方式和技术决策要领,最后延伸至混沌工程,并积极展望前沿科技,其中知识点鳞次栉比,不一而足。
2.抽象性、思想性
书中的每词每句,都来源于漫长学习和工作中的悉心思考、总结,这是内聚、抽象的过程,是方法论的提炼过程。阅读本书的过程,是读者的自我思索过程,也是对软件技术哲学的探寻过程。这是一本没有一行代码的计算机书籍,编写本书的立意是分享笔者对软件架构及技术决策的理解,帮助读者打开思维空间,找到属于自己的软件哲学。
如果读者第一次阅读本书后并未留下深刻印象,我不会觉得失落,因为思维与思想会酝酿希望之光。期望在若干年后,读者回想起本书时,心中的评价会是:这是一本呕心沥血之作,只有经历过才会真正懂。
3.趣味性、批判性
为给读者提供更佳的阅读感受,本书力求以幽默、讽刺的口吻表达思想观点,体现软件工作的品位和情愫,让读者读起来既感到轻松惬意,又能过目不忘。我十分推崇幽默感,在我的人生观中,拥有幽默感代表有能力在面对厄运时可以做到一笑了之。心理强大的标志,是能够轻松面对人生,充满自信并能够居高临下地看待自己和周围的一切。因此,于我而言,所著之书必须具有一定的趣味性。
既然人生如此,那么设计工作也不例外。好的设计并非一定要有趣,但是很难想象完全无趣的设计会是好的设计。
批判性源于对所发生事情的洞察力。如果自己在潮水里面,成为潮水的一部分,那么如何还能看清潮流的方向?因此,本书强调一个观点:面对任何技术问题,要有自己的理解,不能随波逐流;保持质疑、拥有独立的思考,是一种高尚的追求。
4.故事性、实践性
提起哲学类书籍,很多人都会感到汗颜。笔者也不例外,曾经阅读哲学作品时的味同嚼蜡、有心无力之感,可谓是记忆犹新。因此,动笔之初,我就决心一定不能写一本乏味、枯燥的书,更何况本书所谓的技术哲学只是一个形象的比喻,并非真正的哲学。
技术素养和架构工作的内涵具有较高的抽象性,因此表达难度颇大。我能想到的最佳方式,一定是尽量多地以故事作为线索,穿针引线。虽然是软件技术类书籍,但是本书的行文更像散文集或故事会。书中观点多是通过实践经历娓娓道来,以漫谈的方式自然而然地呈现给读者。
对于本书的所有内容,读者只需感受,不需记忆。希望读者阅读本书的心情是愉悦的。
最后做一个阅读提示,本书内容基于笔者多年工作与学习积累的经验,一定会带有不同程度的主观色彩,因此读者要有一个弹性的理解,与其过多关注“内容的正确性、权威性与否”,不如以此为点拨,作借鉴之用,以思考和实践自己的论点。软件系统的立体性和多元性,需要我们在设计表达的立场观点和方法时富有极大的丰富性和灵活性,“拥有鲜活的思维”才是设计者应去追求的核心竞争力。
特别致谢
首先感谢本书插图的作者,我的朋友乔娜。乔娜为本书所作的38幅插图,无疑进一步彰显了本书的独特风格,为读者朋友们奉上飘逸之风。如果可以给本书打90分,我认为应当有10分是属于这些画作的。插图是对文字内容的无形延伸,让本书更具艺术气息,笔者想借此方式表达这样的寓意—增强知识的同时,不应忘记对审美的追求。
任何抽象思想不能凭空而发。本书内容量庞大、知识点众多,仅凭笔者个人绵薄之力来创作,当然无法胜任。必然要感谢软件行业的前辈,尤其是书中提及的几十本经典著作、若干定理和定律的创作者。本书很多素材来源于他们的经典观点和思想。站在这些巨人的肩膀上,我等后辈在近20余年亲身经历了一场软件行业的盛宴,这样的技术发展浪潮,在人类近代史上其实并不多见,屈指可数。
感谢清华大学出版社的编辑,这是第二次合作,又是一段愉快的经历。无论如何,这样的机会都是弥足珍贵的。
感谢家人的默默支持,让我不必深陷于家务琐事之中,能够在工作之余拥有大量的可用时间和安静的氛围,有良好的身心状态去面对写书这项枯燥、漫长任务的挑战。值得一提的是,由润羲同学对书稿做了一些试读挑错工作,希望这段经历对他的未来发展有所帮助。
最后,感谢广大读者的细心阅读,对于本书内容的任何意见和建议,可发送到邮箱yuanjm@tup.tsinghua.edu.cn,以便进行修改、完善,同时希望通过本书能结识更多的技术同仁和社会友人。
|
|