之前我推荐的书籍还有:
这里主要是指在 2019 年我看的一些不错的书,哈哈。至于,为什么是 4.8 好书嘛,你自己想。
书的全称:《零信任网络:在不可信网络中构建安全系统》,英语:Zero Trust Networks: Building Secure Systems in Untrusted Networks。
先介绍一下概念:
零信任是一种安全模型,用于保护企业远离网络攻击并保护敏感数据安全。零信任扩展生态系统(ZTX) 包括数据和信息保护以及网络安全。
这本书介绍了一个理想的现代安全模型框架,包含了大量极具价值的实战经验。虽然,从某种意义上来说,它看上去更像是一本 DevOps / Ops 或者是信息安全方面的书籍,但是总的来说,我从中 GET 到了一些之前没有 GET 到的网络相关的知识。这本书从我们熟悉的 DMZ 区(Demilitarized Zone,隔离区)讲起,介绍了 DMZ 潜在的种种风险,进而引起了我对这本书的兴趣。
对于开发人员来说,有这么一点特别有意思:本地认证解决方案。诸如于 UAF 标准,将信任从大量服务转移到——数量相对较少的用户可控的终端上。
值得关注的还有倒数第二章『零信任网络的实现』,介绍了如何去实现这么一个网络,并结合了 Google 的 BeyondCorp 的例子来展示。
之前推荐过『《架构整洁之道》有感』,这里更新一下。
这本书是 Uncle Bob 的博客合集,所以这本书最吸、启发我的地方,怕是结尾的 《架构设计考古》相关的故事。编程年限时间越长,经常思考更好的解决方式,能收获到的知识也就越多。如果我们不能决定一个系统的架构,那么就思考、实践如何把它变好。过程中,大抵也是能收获更多的东西,对下一个系统有更多的启发。
第一、二部分,资深程序的程序员都会有一定的了解、实践。第三部分,是他最为人所知的 SOLID 原则,他最早出现 15 年前的《敏捷软件开发》等书上。而作为一个接受过 ThoughtWorks OO Bootcamp 训练的学员,我大抵还是能相当熟悉的运用它们。
第四部分,在讲述组件化架构,都是能以 UI 项目,而非后端服务谈论组件化架构,那倒能多得几分。终于在第五部分,开始总结性地介绍软件架构——这大概就是这本书最精彩的地方。除此,书中的这部分 Clean Architecture,经过我们的充分验证,这个架构模式对于大型项目来说确实不错——通过架构来规范代码。
然后,剩余的部分都在讲代码故事,Uncle Bob 讲述故事的能力,大概是我的好几个数量级。
说到底,还是因为我太年轻了,没能读懂这本书的精髓。看上去像可有可无的大道理,在落地上倒是得自己花时间去考虑。遇到一个架构方面的难题,带上这本书,加上所谓的悟性,或许我的问题就能迎刃而解。要是一看,本书倒是不适合初学者。可是,这本书的叙述方式,又相当的适合初学者。
中文电子书已出版,中文纸质版正在出版中,英文名:Building Evolutionary Architectures 。
我关注我们公司几个大佬写的这本书很久了——从 2017 年出版的时间开始关注。虽然,我知道这是一本不错的架构书籍,但是我一直懒得(穷)看英语版。它和我过去关注的《浮现式设计:专业软件开发的演进本质》有一定的相似度,不过提出了更多优秀和可靠的意见和建议。
演进式架构是支持跨多个维度进行引导性增量变更的架构。
作为一本架构方面的书籍,它系统性的将我们所需要的要素整合起来:
增量变更。如何增量地构建软件和如何部署软件。
适应度函数。架构的适应度函数为某些架构特征提供了客观的完整性评估。
适当的耦合。如何确定哪些架构维度间应该相互耦合,以最小的开销和成本最大程度地获益。
《演进式架构》一书一直在强调一个观点,即要长期的去规划架构,架构是持续、迭代演进出来的。为此要时刻关注变化,添加演进能力,实施增量变更。
有意思的是,书中提到了我想要的另外一个答案:可牺牲架构——在概念验证成功后即被抛弃的架构(Martin Fowler)。换句话来说,在你实现 MVP(最小可行性产品)的时候,你可以用最快、最优的方式来实现系统,而非最适合的架构但是速度慢。
书中还提到了大量的架构反模式,诸如于:供应商为王——围绕供应商(如 ERP)构建架构、最后 10% 的陷阱——某些技术可以快速构建应用,但是无法完成最后 10% 功能(诸如于 React 的 CRA,也许你并不需要这 10%)、代码复用和滥用。以及陷阱:原始抽象泄露——底层抽象错误导致系统出现意外的灾难、简历驱动开发——不要为了架构而构建架构,构建架构是为了解决问题。笑~
(PS:这部分可能是这本书另外一个亮点,反正我觉得它非常精彩——就是案例不够丰富。)
书中最后一部分介绍了如何去实践演进式架构,哈哈哈。不过,这本书有一个问题就是写得太抽象了。以致于没有相关经验的情况下,可能有些地方难以理解——我也是听了公司的架构导读分享之后,才对这本书有了一个更新的认识。
这本书我是在公司的邮件里,看到同事的推荐买的。反正,O'Reilly 的动物书不会太差。买完之后,发现这本书相当的不错,又弥补了我缺少的一些知识点。在写这篇文章的时候,我意识到这么好的书,在豆瓣上应该有很好的评分——果不其然,评分 9.7 (187 人评价)。
这是一本不可多得的关于数据方面的好书——特别是对于缺少数据方面的开发来说,比如非科班出生的程序员。不论你是前端工程师,还是后端工程师,或者是 DevOps 工程师——只要你是个工程师,都建议你去读一读。
书的第一部分是数据系统相关的基础部分。这部分的内容非常棒,它整理了一系列关于数据模型与查询语言、 数据编码与演化、数据存储与检索相关的知识。它是一个相当不错的知识索引和概括,帮助你重新梳理数据系统相关的整个体系的内容。哪怕是你对分布式系统没有兴趣,你也应该读完一章。
书的第二部分是分布式数据系统,也就是我们在各种讲后端架构常会看到的内容。也因此,这一部分的内容对于后端来说,它会更加有价值——诸如于各种分布式系统的基本问题,以及对应的解决方案。
书的第三部分是派生数据,包含了『批处理系统』、『流处理系统』以及『 数据系统的未来 』三个章节,我还没看……。因为关于批处理和流处理相关的内容,我已经有了一些实践。而且相关的内容,并非一两个章节能讲完的,笑~。
不得不提及的是,这本书每一个章节的结尾处都有几十个、几百个引用——我的意思不是说,这本书在浪费我辛辛苦苦赚的钱,而是这本书真的很细致、严谨。
经过无数次的微信群聊证明了:这本书是一本给前端的装逼利器。它可以用于打击绝大部分的后端开发人员,无往不利。笑~
你需要前端微服务,这里有。你需要前端的规划,这里有。你需要更好的前端架构,这里有。
综上所述,你应该优先看《零信任网络》第一、第七和第九章,《架构整洁之道》的第 5 部分,《数据密集型应用系统设计》 的第一部分,《演进式架构》的第六和第七章。对了,还有《前端架构:从入门到微前端》全书,笑~。
不过,适合我的不一定适合你,但是多读书总是没错的。