Blog
Blog
PHODAL
这里主要是指在 2019 年我看的一些不错的书,哈哈 ## 《零信任网络》 书的全称:《零信任网络:在不可信网络中构建安全系统》,英语: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 部分,《数据密集型应用系统设计》 的第一部分,《演进式架构》的第六和第七章。对了,还有《前端架构:从入门到微前端》全书,笑~。 不过,适合我的不一定适合你,但是多读书总是没错的。

在科技公司,诸如于 ThoughtWorks,当你在等待项目 / 两个项目之间 / 没有项目的时候,这段时间称为 bench (冷板凳,笑) 又或者是称为 beach。

应用脚手架是一个项目的重中之重,决定了整个项目的基调。

敏捷并不是没有设计,而是打散设计过程,让设计更贴合需求

吐槽文一篇。

最近,我困扰于『知识管理』——其实一开始,我并不知道我需要的是它。在我打算买几本 Kindle 电子书,以消磨一下时间的时候,我发现了『知识管理』相关话题的电子书。我这才意识到,我迫切需要一些新的工具来管理知识。

在之前的那篇《整洁前端架构》的文章里, 我们介绍了如何在前端领域里使用 Clean Architecture。在过去的几个月里,我们实践了 Clean Architecture 架构,并且实践证明了 Clean Architecture 也可以在前端工作得非常好。

坑多了,想吐槽一下。

组件化架构,非一朝一夕就能完成。

常见的通过 Node.js 来构建 Hybird 应用的命令有: - build - run ## 过程 1. 获取 Target 设备。通过执行 ``adb devices``,来返回设备列表。 2. 执行构建。 1. 进行构建前的依赖项检查。如 JDK、Android SDK、目标设备、Gradle 2. 清除旧的构建。执行 ``gradlew clean``,并通过 shell.js 删除构建目录。 3. 执行 ``gradlew build`` 进行构建。 3. 安装应用 1. 找到构建目录中的 adb 包。 2. 执行 ``adb install`` 来安装对应的包。 4. 启动应用的 Activity 1. 通过 ``elementtree`` 解析 AndroidManifest 来获取包名。 2. 执行 ``adb`` 命令来启动应用的 Activity。 ## 代码分析 详见 Cordova CLI 源码

Feeds

RSS / Atom

最近文章

存档

2026 (1 月)
2025 (12 个月)
2024 (12 个月)
2023 (12 个月)
2022 (12 个月)
2021 (12 个月)
2020 (12 个月)
2019 (12 个月)
2018 (12 个月)
2017 (12 个月)
2016 (12 个月)
2015 (12 个月)
2014 (12 个月)
2013 (9 个月)
2012 (3 个月)
2011 (1 月)
2010 (1 月)
1991 (1 月)

分类

标签

作者