大家好!以下是我在 2020 年 03 月 02 日至 08 日的所见、所闻、所学和所悟。
现在,我把它们安利给你们。
从我的英文博客翻译并迁移了一些原创文章到《Linux 管理员手册:既简单又深刻》专栏里,并分别命名为
帮尤金大神从他的 Baeldung Java Weekly 里翻译了一些文章到《Baeldung Java 周评》专栏里,并分别命名为
在符合许可的前提下从 Spring 官方指南里翻译了一些文章到《Spring 官方指南》,并分别命名为:
MySQL 实战 | 如何判断一个数据库是不是出问题了?
收获:MySQL 实例健康状态检测的几种方法、各种检测方法存在的问题和演进的逻辑、非常广泛的主高可用(MHA)默认使用 select 1 方法、MHA 中的另一个可选方法是只做连接检测,但比较冷门、每个改进的方案都会增加额外损耗、比较推荐 update 系统表配合增加检测 performance_schema 的信息。
评分:10
MySQL 实战 | 误删数据后除了跑路,还能怎么办?
收获:误删后的处理方法、预防远比处理的意义大、用备份来恢复实例以定期检查备份的有效性、数据和服务的可靠性是各个环节一起保障的结果。
评分:10
MySQL 实战 | 为什么还有kill不掉的语句?
收获:有些语句和连接 “kill 不掉” 的情况、发送 kill 命令的客户端只是给目标线程设置了状态、被 kill 的线程执行到判断状态的 “埋点” 时进入终止逻辑阶段、终止逻辑本身也耗时。
评分:10
《查看《MySQL 实战》原文》
AWS | 方案架构助理 | AWS 良好框架的五大支柱
收获:可靠性、性能效益、成本优化。
评分:9
AWS | 方案架构助理 | 架构 AWS 最佳实践
收获:伸缩性、一次性资源而非固定服务器、自动化、解耦、服务而非服务器、数据库、移除单点故障、优化成本、缓存、安全性。
评分:10
AWS | 方案架构助理 | AWS 持续集成及持续交付实践
收获:持续交付不是持续部署、DevOps 团队、CI/CD 道路、部署方式(一次性完整部署、回滚/金丝雀、不可变及蓝绿)。
评分:9
AWS | 方案架构助理 | AWS 微服务
收获:架构复杂度、运维复杂度、无服务器微服务架构、跨服务挑战。
评分:9
AWS | 方案架构助理 | AWS Lambda 无服务器架构
收获:Lambda(FaaS、Lambda Function、Event Source)、Lambda 函数(函数代码包、句柄、事件对象、上下文对象、无状态及重用、Lambda 函数事件溯源、调用模式、调用类型、推模式事件溯源、拉模式事件溯源)、Lambda 函数配置、无服务器安全性最佳实践。
评分:8
AWS | 方案架构助理 | 无服务器架构优化企业经济
收获:无服务器应用使用案例、无服务器方式的应用领域、评估云供应商无服务器平台。
评分:8
AWS | 方案架构助理 | AWS 运行容器化微服务
收获:服务组件化、微服务架构特征、12 因子最佳实践、组织业务逻辑能力、产品而非项目、智慧端点及蠢管道、去中心化管理、去中心化数据管理、基础设施自动化、为失败而设计、演进式设计。
评分:9
AWS | 方案架构助理 | AWS 蓝绿部署
收获:方法论、环境边界、启用蓝绿部署的工具及服务、技巧。
评分:8
AWS | 方案架构助理 | X-Ray
收获:区隔、子区隔、服务图、跟踪、样例、跟踪标头、过滤表达式、注解及元数据、错误/故障及异常。
评分:9
AWS | 方案架构助理 | CodeCommit
收获:可控、安全,及可伸缩的私有 Git 仓库源控制服务。
评分:8
AWS | 方案架构助理 | CodeBuild
收获:构建项目、构建环境、构建配置。
评分:9
AWS | 方案架构助理 | CodeDeploy
收获:部署类型、AppSpec 文件、生命周期钩子。
评分:8
AWS | 方案架构助理 | CodePipeline
收获:管道、工件、阶段、行为、转换。
评分:9
AWS | 方案架构助理 | CodeStar
收获:可与 CodeCommit、CodeBuild、CodeDeploy、CodePipeline、CloudWatch 等 AWS 服务集成。
评分:9
本周无
《查看《算法面试通关》原文》
本周无
本周无
卖桃者说第 66 期 | TypeScript 的崛起
收获:1. 与 JavaScript 之间的互操作性极强、2. 提高了代码的准确性/安全性和健壮性,更适合大型项目。
评分:9
卖桃者说第 67 期 | 拼多多现象:快是一种能力
收获:拼多多通过创新的商业模式核技术应用,对现有商品流通环节进行重构,持续降低社会资源的损耗,为用户创造价值的同时,有效推动了农业和制造业的发展。
评分:9
卖桃者说第 68 期 | 不用强求自己工作快乐
收获:1. 保持思考(思考的要诀:幸福工作术)、2. 将行动与你的目标对其。
评分:10
卖桃者说第 69 期 | 工资到底该占你收入的多少比例?
收获:可能的收入构成包括股权收入、创业收入、投资理财收入。
评分:8
卖桃者说第 70 期 | 编程语言漫谈
收获:一、初学者不要纠结 “先学哪种语言”。二、如果你不能用一种编程语言的基本特性写出好代码,那换成另外一种语言也无济于事,你会写出同样差的代码。三、很多人觉得不要用脚本语言入门,我觉得不一定,尤其现在就着人工智能浪潮搞机器学习的人,用 Python 入门就很好。四、后端工程师要熟练掌握一门前端语言,前端工程师也要熟练掌握一门后端语言。五、SQL 是一门非常非常重要并且应该熟练掌握的语言(虽然它不能被称为程序语言)。六、无论使用什么语言,工程师都应该能够基于这种语言搭建测试框架,写好测试代码和写业务代码一样重要,甚至更重要。七、最后的,也是最重要的是:在任何时候都要用并发的、分布式的思维去看待你的程序。
评分:9
卖桃者说第 71 期 | 保持质疑的能力
收获:真正具备质疑精神的人,是能走的更远的。
评分:8
卖桃者说第 72 期 | 完美主义害死人
收获:思想上的完美主义者,大多是思想上的巨人,行动上的矮子,如果你是个完美主义者,至少要先跨出第一步。
评分:9
极客新闻 | Kafka 的真正定位并不是消息系统
收获:Kafka 和 RabbitMQ 等消息系统的三个关键区别:1. Kafka 之久化日志,这些日志可以被重复读取和无限保留;2. Kafka 是一个分布式系统,它以集群的方式运行,可以灵活伸缩,在内部通过复制数据提升容错能力和高可用性;3. Kafka 支持实时的流式处理。
评分:10
极客新闻 | 谷歌推出 Android Studio 3.0
收获:改进了布局编辑器,新版本的布局编辑器中添加了很多新的增强功能,如更新的组件树能更好地拖放和插入视图;增加了新的错误面板;支持创建视图障碍和组,并增强了链创建等等。
评分:7
极客新闻 | 谷歌 CEO:谷歌最大的威胁就是自身的成功
收获:当抵达颠峰时,往往就意味着有走下坡路的可能,所以要时刻提醒自己,“在硅谷的某个车库里,某些人正在研发某样比你更好的产品。”
评分:9
极客新闻 | 洪小文:真正的 AI 需从小数据、零数据着手
收获:现在已经进入持续学习的时代,相比 “无所不知”,人们更需要 “无所不学”。
评分:9
极客新闻 | GitHub 使用 Spokes 进行跨数据中心复制
收获:在应用层面透明地执行复制任务。哈格蒂说,以前只有距离很近的代码仓库之间才能进行复制作业,后来通过降低延迟和优化参考更新性能等方式解决了这个问题。
评分:7
极客新闻 | NASA 顶级程序员的 10 条重要编程原则
收获:一、限制所有代码为极为简单的控制流结构。二、所有循环必须又一个固定的上限值。三、在初始化后不要使用动态内存分配。四、函数代码行不能超过 60。五、代码中断言的密度平均低至每个函数两个断言。六、必须在最小的范围内声明数据对象。七、非 void 函数的返回值在每次函数调用时都必须检查。八、预处理器的使用仅限于包含头文件和简单的宏定义。九、应该限制指针的使用。十、代码必须利用源代码静态分析工具每天至少检查一次或更多次,且零警告通过。
评分:10
极客新闻 | 与 David Blevins 聊 Java EE 的未来
收获:考虑到 EE4J 和 MicroProfile 两个社区的大部分人都是同一批人,未来,它们很有可能会发展到一起,MicroProfile 规范将会被用到 EE4J 当中。
评分:8
每日一课 | 如何深入理解分布式事务 TCC 实现原理?
收获:缺点、步骤、伪代码示范(第一步:检测是否满足条件、第二步:子事务 try 方法)。
评分:8
每日一课 | 微服务框架 Apache ServiceComb 的设计思想有哪些?
收获:基于 Vert.x 构建通信能力(业务线程中处理的部分、网络线程中处理的部分)、Provider 端、Consumer 端、同步模式、异步模式、基于 OpenAPI 来管理契约的微服务框架、两个 ServiceComb 设计思想。
评分:9
每日一课 | ZooKeepe r的 ZAB 算法与 Paxos 的本质区别是什么?
收获:ZAB(Zookeeper Atomic Broadcast)、两个算法的重要概念(角色、事务操作、ZXID)、其他保证一致性的算法(Hash 路由算法、一致性 Hash 算法、Gossip 闲话算法、Raft 选举算法)、一致性算法的区别及选型。
评分:9
每日一课 | 如何设计并实现一个高可用的订单系统?
收获:几个在设计订单系统时避免丢单的要点、日万级订单系统的重构优化、日万级订单系统的问题、日千万级订单系统设计。
评分:10
每日一课 | 如何更轻松简单地从源码编译部署 Kubernetes?
收获:静态 Pod 和 Docker 两种部署方式:基于Docker 运行的 Kubernetes 集群(不需要初始化 manifest;需要登录到 Master 所在节点才能看到。)、静态 Pod 模式(需要先将组件的 yaml 文件放到相应的 staticPodPath 配置的路径下;直接通过 kubectl logs 的方式来获取 kube-apiserver 的运行日志)。
评分:8
每日一课 | 如何从 CRD 扩展开发切入 Kubernetes 源码学习?
收获:用户自定义资源对象扩展:API 资源对象(Pod 对象、Deployment、StatefulSet)、API 资源对象组成部分(分组、版本、类型)。
评分:8
每日一课 | 如何实现数据异构的多级缓存策略?
收获:数据异构的实现:订单下单场景(异构订单到缓存中的三种方式:通过双写、通过 MQ 消息、通过 MySQL 的 Binlog 日志)。
评分:9
《查看《每日一课》原文》
本周无
本周无
本周无
Don’t Call Me Angel - Ariana Grande, Miley Cyrus, Lana Del Rey
本周无
希望你在吸收了这些精华之后,能与我一起,茁壮成长…
英雄,我们下期,不见不散!