栋的月结 | 第二回合(定期更新、动态、架构、云技术、算法、后端、前端、收听/收看、英文、书籍、影视、好歌、新奇)[含泪总结.. 憋泪分享!]

开篇词

大家好!以下是我在 2020 年 2 月 1 日至 29 日的所见、所闻、所学和所悟。

现在,我把它们安利给你们。

 

定期更新

  • 原创专栏:
    • 一文搞定
    • Linux 管理员手册:既简单又深刻
  • 官方授权:
    • Baeldung Java 周评
  • 符合官方许可:
    • Spring 官方指南
       

动态

从我的英文博客翻译并迁移了一些原创文章到《Linux 管理员手册:既简单又深刻》专栏里,并分别命名为

  • 33. 输出格式 - 打印格式化的结果
  • 34. 系统上下文 - 时间
  • 35. 系统上下文 - 日期
  • 36. 系统上下文 - 信息
  • 37. 文本编辑器 - Nano 的基本使用
  • 38. 进程 - 运行时作业管理
  • 39. 查找工具 - 命令行 & 文件基本搜索
  • 40. 查找工具 - 命令行 & 文件搜索用途
  • 41. 归档 - 压缩与解压缩文件
  • 42. 用户信息 - 编号 ID、组编号 Group ID、名称等等
  • 43. 文件权限 - 符号 & 数字模式,指定用户 ID、指定组 ID
  • 44. 文件权限- chown、chgrp、chmod、umask
  • 45. 组管理 - 创建、变更、删除
  • 46. 用户管理 - 创建、变更、删除
  • 47. 用户管理 - 登陆详情 / 登陆记录
  • 48. 用户管理 - SSH/Bash Shell 用户间沟通
  • 49. 用户管理 - su、sudo、sudoers 文件、alias 以及 wheel 组
  • 50. 文件权限- 文件系统访问控制列表(ACL,Access Control List)
  • 51. 文件权限 - 文件属性
  • 52. 查找工具 - 文件高级搜索
  • 53. 高级文本编辑器 - Vim 的常见用法
  • 54. 高级文本编辑器 - Vim 的末行模式
  • 55. 高级文本编辑器 - Vim 的编辑模式
  • 56. 高级文本编辑器 - Vim 的视图和插入模式
  • 57. 高级文本处理 - grep、egrep
  • 58. 高级文本处理 - 流编辑器(Sed)
  • 59. 高级文本处理 - Awk 的常见用法
  • 60. Linux 磁盘管理 - 概念
  • 61. Linux 磁盘管理 - 工具

帮尤金大神从他的 Baeldung Java Weekly 里翻译了一些文章到《Baeldung Java 周评》专栏里,并分别命名为

  • Baeldung Java 周评 - Baeldung Java 周评 | 第三十二弹(关键词:Spring MVC 验证组、Object 方法生成、Hibernate 自动刷新、Ajax 自动保存)
  • Baeldung Java 周评 | 第三十三弹(关键词:JDK 9 JEP、Hibernate 脏检查、JUnit Runner 架构、Spring REST 引句、Route 53 基准测试)
  • Baeldung Java 周评 | 第三十四弹(关键词:注入 Spring MVC 控制器、Java 实现网址缩短服务、Spring MVC 端点文档、微服务先决条件、国际象棋 TDD)
  • Baeldung Java 周评 | 第三十五弹(关键词:Java 8 字符串去重、Java 的新 Math.random() 方法、JVM 垃圾回收器高级概述、Activiti 流程驱动应用)
  • Baeldung Java 周评 | 第三十六弹(关键词:当 Java 8 Streams API 不够用、Java 9 终极特性列表、Java 并发问题、Hibernate 字节码增强、两阶段提交)
  • Baeldung Java 周评 | 第三十七弹(关键词:数据库加锁与丢失更新、分层架构的优劣、Lambda 及其副作用、JavaZone 资源、Spring Boot 微服务、负载测试指南)
  • Baeldung Java 周评 | 第三十八弹(关键词:防止通讯丢失更新、JUnit 简明教程、SpringBootWeb 使用 ActiveDirectoryLDAP、超媒体价值、软件开发失败)
  • Baeldung Java 周评 | 第三十九弹(关键词:SpringBootAdmin、逻辑与物理时钟乐观锁、微服务和 Jar、微服务不是 Jar、改善写作风格、历史遗留代码、历时一年的博客写作)
  • Baeldung Java 周评 | 第四十弹(关键词:用 Lombok 来减少样板代码、代码覆盖率指标的意义、Spring Boot 和 Data REST 相结合、Spring 流式传输
  • Baeldung Java 周评 | 第四十一弹(关键词:Java 路线图、Java 9 幕后花絮、嵌入式 MongoDB、注入领域对象、启动时验证配置、微服务经验教训、Redis 集群、惯性问题)
  • Baeldung Java 周评 | 第四十二弹(关键词:Spring Web 应用体系结构、Hibernate 应用及可重复读取、Java CPU和 PSU 发布版、Spring Sync 简介)
  • Baeldung Java 周评 | 第四十三弹(关键词:Spring Boot Actuator、Spring Boot 数据源、Spring Rest API Swagger、JVM 自适应堆)
  • Baeldung Java 周评 | 第四十四弹(关键词:Java 8 Optional 类、Java 10 null 值、Java 十个不知道、Java 泛型和擦除、Java 线程之外、乐观加锁)
  • Baeldung Java 周评 | 第四十五弹(关键词:JDK 9 的又一库?、从 Joda-Time 切回 java.time、乐观加锁实体建模策略的扩展、不可变性的帮助、打成 War 包)
  • Baeldung Java 周评 | 第四十六弹(关键词:Java 9 新特性、Java 时区处理指南、中断 Executor 任务、ExecutorService 提示和技巧、持续交付、微服务测试)
  • Baeldung Java 周评 | 第四十七弹(关键词:Java 服务器调优、Elasticsearch Groovy 客户端、Mockito 单元测试、Spring Boot 会话状态外部化)
  • Baeldung Java 周评 | 第四十八弹(关键词:Java 不烂、Java 版本简单化、Java 开发推荐的 15 种工具、finalize 和幻影引用致命缺陷、Spring 请求级别记忆化)
  • Baeldung Java 周评 | 第四十九弹(关键词:Spring XD 开发大数据应用、Spring XD 与 Hadoop 工作负载分析、Reactor 异步/非阻塞微服务、JPA 获取依赖)
  • Baeldung Java 周评 | 第五十弹(关键词:Jigsaw 项目、EAGER 抓取代码异味、Java 8 流及 JPA、Java 8 缺少 Iterable.stream()、缓存消息传递)
  • Baeldung Java 周评 | 第五十一弹(关键词:Java 过去/现在及未来、企业级 Java 事务隔离、封装 Spring Bean、Java 9 货币 API、从0 到 Security)
  • Baeldung Java 周评 | 第五十二弹(关键词:Java 增强泛型、Java 8 模糊方法查找、CompletableFuture 异步超时、Spring 错误重试、WebSocket)
  • Baeldung Java 周评 | 第五十三弹(关键词:Java 8 Optional 类的高效用法、JDK 8 流驱动集合功能、Java 9 及更高版本一窥未来、Jackson 反序列化、微服务)
  • Baeldung Java 周评 | 第五十四弹(关键词:Spring 安全单页应用、Spring 12-Factor 风格配置、Groovy Spring Boot、Spring 缓存消息传递改进)
  • Baeldung Java 周评 | 第五十五弹(关键词:Spring Security 资源服务器、Spring MVC 应用体系、Elasticsearch 的容器级搜索引擎、Java 并发之争)
  • Baeldung Java 周评 | 第五十六弹(关键词:API 网关模式、休眠加锁模式、JDK 7/8 读较慢的大行、Logback 记录日志到 Redis、并发超时支持、Java 单页应用脚手架)
  • Baeldung Java 周评 | 第五十七弹(关键词:悲观加锁弥补乐观加锁的不足、Java 嵌套类型、Graphite 存储 Hystrix 月历史指标、OAuth2 单点登录、十二要素应用模式)
  • Baeldung Java 周评 | 第五十八弹(关键词:JHipster 介绍、Hibernate 加锁模式原理、五个 Docker 误解、本地 Netflix Eureka、trait 接口设计)
  • Baeldung Java 周评 | 第五十九弹(关键词:基于值的类、Selenium WebDriver 视觉测试、应该知道的十二个 JPA 功能、Spring 缓存高级主题、原生反应式流支持)
  • Baeldung Java 周评 | 第六十弹(关键词:何处构造线程、幂等与时间解耦、JDK8 连接字符串、Spring XD 流处理、Elasticsearch 使我们更快、架构设计的经验教训)

在符合许可的前提下从 Spring 官方指南里翻译了一些文章到《Spring 官方指南》,并分别命名为:

  • SpringBoot 2 JMS 消息传输
  • SpringBoot 2 批量服务
  • SpringBoot 2 Web 应用加固
  • SpringBoot 2 超媒体驱动 RESTful Web 服务
  • SpringBoot 2 访问 Pivotal GemFire 数据
  • SpringBoot 2 基于 SpringIntegration 获取 RSS Feed(Spring Blog)帖子信息
  • SpringBoot 2 缓存数据至 Pivotal GemFire
  • SpringBoot 2 事务管理
  • SpringBoot 2 使用 JPA 访问数据
  • SpringBoot 2 使用 MongoDB 访问数据
  • SpringBoot 2 通过 Spring MVC 服务 Web 内容
  • SpringBoot 2 将 JAR 应用转换成 WAR 应用
  • SpringBoot 2 创建异步方法
  • SpringBoot 2 处理表单提交
  • SpringBoot 2 构建应用
  • SpringBoot 2 借助 WebSocket 构建交互式 Web 应用
  • 使用 Spring Tool Suite (STS) 操作入门指南
  • SpringBoot 2 RESTful Web 服务与 AngularJS
  • SpringBoot 2 RESTful Web 服务与 rest.js
  • SpringBoot 2 RESTful Web 服务与 jQuery
  • SpringBoot 2 为 Web 服务开启跨源请求(CORS)
  • SpringBoot 2 消费 SOAP Web 服务
  • SpringBoot 2 REST 访问 JPA 数据
  • SpringBoot 2 REST 访问 Neo4j 数据
  • SpringBoot 2 REST 访问 MongoDB 数据
  • SpringBoot 2 REST 访问 Pivotal GemFire
  • SpringBoot 2 构建 SOAP Web 服务
  • SpringBoot 2 缓存数据
  • 从 STS 发布到 Cloud Foundry
     

架构

左耳听风 | 高效沟通:Talk 和 Code 同等重要
收获:Talk 和 Code 同样重要、有效沟通是事业成功的必要条件、沟通及其背后原理、通过约定俗成和反馈来解决问题、应对沟通问题的方法。
评分:10
左耳听风 | 高效沟通:沟通阻碍和应对方法
收获:六种沟通阻碍(信息不准确、信息太多、缺乏交互、表达方式、二手信息、信道被黑)、阻碍所产生的沟通问题、相应的解决办法。
评分:10
左耳听风 | 高效沟通:沟通方式及技巧
收获:尊重对方、倾听对方、控制情绪、想办法引起对方的兴趣、直达主题,强化观点‘用数据和实例说话。
评分:10
左耳听风 | 高效沟通:沟通技术
收获:四大关键技术(逻辑、信息、维度和共同)、维度把控、寻找共同、金句的重要性。
评分:10
左耳听风 | 高效沟通:好老板要善于提问
收获:引导(让员工找答案)、倾听(全面接收和理解对方的信息)、共情(站在对方立场设身处地思考和处理问题)、高维(提升自己的格局观)、反馈(建立反馈机制)。
评分:10
左耳听风 | 高效沟通:好好说话的艺术
收获:跟员工沟通、跟客户沟通、跟老板沟通。
评分:10
左耳听风 | 程序员如何用技术变现(上/下)
收获:你把你的时间投资在哪些地方,就意味着你未来会走什么样的路。所以,利用好你的时间,投到一些有意义的地方吧。
评分:10
左耳听风 | Equifax 信息泄露(始末/看数据安全)
收获:Equifax 信息泄露始末、Apache Struts 漏洞相关、数据泄漏介绍以及历史回顾、数据泄漏攻击、专家建议、技术上的安全做法。
评分:10
左耳听风 | 何为技术领导力?
收获:技术重要吗?、什么是技术领导力?、拥有技术领导力的软件工程师。
评分:10
左耳听风 | 如何才能拥有技术领导力?
收获:技术领导者需要有良好的沟通能力、组织能力、驱动力、团队协作能力等等。
评分:10
左耳听风 | Go 语言,Docker 和新技术
收获:抢占先机的公司有更大的影响力、当需求引爆时公司或个人影响力就会形成比较大的护城河、通讯/金融行业对于 PaaS 平台的理解已经超过了互联网公司、Go 语言和 Docker 作为 PaaS 平台的关键技术前途是无限的。
评分:10
左耳听风 | 答疑解惑:渴望、热情和选择
收获:思考问题的出发点、思维方式、格局观、价值观、思维基因、编码能力很重要、技术视野核技术洞察力还有技术解决问题的能力更为重要。
评分:10
左耳听风 | 如何成为一个大家愿意追随的 Leader?
收获:做一个好的 Leader 真的不容易,你需要比大家强很多,你需要比大家付出更多;你需要容天下难容之事,你还需要保持热情和朝气;你需要带领团队守护理想,你还需要直面困难迎刃而上。
评分:10
查看《左耳听风》原文

许式伟的架构课 | 怎样成长为优秀的软件架构师?
收获:程序员的三个层次:搬砖工、工程师、架构师;优秀的架构师:掌控全局;架构相关图书:架构思维类、设计模式类、分布式系统架构设计类、重构类;该主题的两个脉络主线:从零开始构建整个信息世界、过程所用的重要架构思维范式以及如何将其运用于平常的工程实践中;如何成长为优秀的软件架构师:匠心、悟心。
评分:10
许式伟的架构课 | 架构设计的宏观视角
收获:为什么需要建立宏观视角?:如果把应用比作一座大厦,那么我们作为大厦的架构师,需要把大厦的结构搭建好,让程序员可以把砖填充进去,我们都知道,一个大厦的结构建的是否稳固,与地基密不可分。应用的基础架构:中央处理器+存储+一系列的输入输出设备;可编程性(计算类、I/O类、指令跳转类);开放设计的外部设备支持(电脑的 CPU 非常简洁,只读入和写出数据并对其进行计算。直接用机器指令太累,没人看懂以及没法维护)。完整的架构是怎样的?:服务端应用(业务架构、应用框架及各类基础库、中间件类基础软件/Nginx/MySQL、操作系统、编程语言、冯诺伊曼体系架构)、客户端应用(业务架构、跨平台应用框架及各类基础库、浏览器、HTML/XML+CSS+JS/WebAssembly、操作系统、编程语言、冯诺伊曼体系架构)。架构能力的提升,本质上是对你的知识脉络(全身经络)进行反复梳理与融会贯通的过程。
评分:10
查看《许式伟的架构课》原文

研发效率破局之道 | 为什么你要关注研发效能?
收获:研发效能的完整定义应该是:团队能够持续地为用户产生有效价值的效率(效性/Effectiveness、效率/Efficiency、可持续性/Sustainability。能否长期、高效地开发出有价值的产品)。软件开发的灵活性决定了研发效能提升的困难性。研发效能的提高,需要整个公司在研发流程、工程方法、个人效能和文化管理等方面进行精心设计。研发的高效能:研发效能、研发流程、工程方法、个人效能、管理和文化。着重 Why,深入了解效能实践背后的原理,给出 How,也就是具体的实践。
评分:10
查看《研发效率破局之道》原文

MySQL 实战 | 普通索引与唯一索引
收获:普通索引和唯一索引的选择、数据的查询和更新过程、change buffer 的机制以及应用场景、索引选择的实践。
评分:10
MySQL 实战 | 如何选择索引
收获:索引统计的更新机制、优化器存在选错索引的可能性、索引统计信息不准确导致的问题、在应用端用 force index 来强行指定索引。
评分:10
MySQL 实战 | 给字符串加索引
收获:如何为邮箱字段建立合理的索引?、前缀索引对覆盖索引的影响、其他处理方式、字符串字段创建索引的几种方式。
评分:10
MySQL 实战 | InnoDB 脏页的控制策略
收获:WAL 概念、刷脏页操作和执行时机、随机写转换成顺序写以提升数据库性能、控制刷脏页的方法和对应的监控方式。
评分:10
MySQL 实战 | 日志和索引常见问题
收获:日志和索引的相关问题、MySQL 内部处理命令时的三种选择。
评分:10
MySQL 实战 | binlog 和 redo log 的写入机制
收获:怎么保证 redo log 和 binlog 是完整的、对 crash-safe 概念的清晰理解。
评分:10
MySQL 实战 | 大查询
收获:MySQL 的查询结果、发送给客户端的过程、边算边发的逻辑、不在 server 端保存完整的结果集、会堵住 MySQL 查询过程但不会打爆内存、InnoDB 引擎内部由于淘汰策略的存在所以大查询不会导致内存暴涨、InnoDB 对 LRU 算法做的改进使冷数据全表扫描对 Buffer Pool 的影响可控、业务高峰期还是不能在主库执行全表扫描。
评分:10
MySQL 实战 | 为什么表数据删掉一半,表文件大小不变?
收获:数据库中收缩表空间的方法、delete 不会使表文件变小、通过 alter table 命令来重建表以使表文件变小。
评分:10
MySQL 实战 | 怎么最快地复制一张表?
收获:物理拷贝的方式最快(全表、服务器拷贝、都使用 InnoDB 引擎)、mysqldump 生成包含 INSERT 语句文件的方式不适用于关联表等复杂的条件语句(可导出部分数据)、select … into outfile 的方式最灵活(支持所有 SQL、只能导出一张表、表结构需要另外的语句单独备份)。
评分:10
MySQL 实战 | 如何正确地显示随机消息?
收获:内存临时表、磁盘临时表、随机排序方法。
评分:10
MySQL 实战 | MySQL是怎么保证主备一致的?
收获:MySQL binlog 的格式和一些基本机制、多节点、半同步、MySQL group replication、MySQL 不同格式 binlog 的优缺点、MySQL 通过判断 server id 的方式断掉死循环。
评分:10
MySQL 实战 | MySQL是怎么保证高可用的?
收获:MySQL 高可用系统基础、导致主备延迟的情况、切换策略的不同选择、可靠性优先和可用性优先策略、建议使用可靠性优先策略、减少主备延迟以提升系统可用性。
评分:10
MySQL 实战 | 备库为什么会延迟好几个小时?
收获:MySQL 的各种多线程复制策略、需要多线程的原因、不同复制策略的优缺点、尽量减少大事务操作,把大事务拆成小事务、binlog 协议并不是向上兼容的,主备切换/版本升级时要考虑的因素。
评分:10
MySQL 实战 | 主库出问题了,从库怎么办?
收获:一主多从主备切换流程、从库找新主库位点的痛点、MySQL 5.6 版的 GTID 模式、GTID 基本概念和用法。
评分:10
MySQL 实战 | 读写分离有哪些坑?
收获:一主多从读写分离时的过期读原因及应对方案、一写多读导致的过期读问题、需要权衡读写性能。
评分:10
MySQL 实战 | 为什么这些SQL语句逻辑相同,性能却差异巨大?
收获:对索引字段做函数操作可能会破坏索引值的有序性致使优化器决定放弃走树索引功能、隐式类型转换、隐式字符编码转换。
评分:10
MySQL 实战 | MySQL有哪些“饮鸩止渴”提高性能的方法?
收获:一些紧急处理的手段、尽量避免一些低效的方法、连接异常断开是常有的事、代码里要有正确地重连并重试的机制、做好 SQL 审计可以减少问题的发生、集中在 server 层的解决方法。
评分:10
查看《MySQL 实战》原文

技术领导力实战笔记 | 最合适的技术才是最有价值的技术
收获:优秀的人,都至少能达到:1、能够清楚地认识到什么东西是对的;2、在知道是对的情况下,愿意去把事情做得更好。两个必备的素质:1、全面的技术能力,不求多深,但是可以听懂不同部门的诉求和技术方案,了解不同方案的技术难度;2、 优秀的沟通能力和说服能力,这一点无需多言。
评分:8
技术领导力实战笔记 | 谈谈 CTO 在商业战略中的定位
收获:战略必须被认可和接受。战略宣讲的三个步骤:第一步(战略制定者从全公司层面对公司来年的目标、运营模式进行宣讲)、第二步(战略和目标分解)、最后(落地策略、资源调配)。能解决问题才是合格的 CTO(跟每个团队,尤其是不属于 CTO 负责的团队进行充分的沟通,理解这些团队的痛点,业务上的不足,设身处地的站在对方团队的基础上理解并接受对方的痛点,换位思考,对症下药)。什么样的 CTO 才能在商业战略上做决策?(技术上独当一面、懂得系统是如何通过代码实现的、架构设计、沟通能力、很强的产品意识和商业意识)。
评分:10
技术领导力实战笔记 | 打造自己的个人品牌,你也可以
收获:Q:技术人可以通过哪些方法打破边界,提升认知?(走出自己的舒适区,要学会“跨界”)、Q:怎样从他人的经验分享中提炼出真正对自己有价值的知识点,并在实践中运用?(MVP 法则)、Q:技术人应该如何打造个人品牌?(越是难度高的产出,越容易受人肯定)。
评分:10
查看《技术领导力实战笔记》原文

说透敏捷 | 灵魂拷问:如何利用敏捷思维更好地解决实际问题?
收获:瀑布模型问题:研发周期过长,导致研发跟不上业务发展的节奏、研发不能很好地响应需求变化,导致客户满意度低、不能很好地管控风险。其实有很多公司,他们都在有意或无意中使用了敏捷的一些实践。是否打着敏捷的名头,是否冠以敏捷,这本身是无所谓的,只要我们能够用到敏捷的一些方法来帮助到自己的公司项目就好。我们已经进入 VUCA 时代:易变(volatility)、不确定(uncertainty)、复杂(complexity)和模糊(ambiguity)。
评分:9
说透敏捷 | 老生常谈:你真的知道敏捷到底是什么吗?
收获:敏捷的价值观:正确理解敏捷的初心(个体和交互胜过过程和工具、可以工作的软件胜过面面俱到的文档、客户合作胜过合同谈判、响应变化胜过遵循计划、虽然右项有价值,但我们更重视左项)。敏捷的原则:正确理解敏捷的基石(我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。业务人员和开发人员必须相互合作,项目中的每一天都不例外。激发个体的斗志,以他们为核心搭建项目。提供所需的环境、支援、信任,从而达成目标。不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。可工作的软件是进度的首要度量标准。敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。以简洁为本,它是极力减少不必要工作量的艺术。最好的架构、需求和设计出自自组织团队。团队定期地反思如何能提高成效,并依此调整自身的举止表现)。敏捷的方法与实践:正确落地敏捷的基础(迭代计划会议开始前,产品负责人需要准备好需求条目,使需求达到准入标准;Scrum 讲究时间盒,包括迭代的周期、各个会议,这些都要遵守时间盒的约定)。敏捷 = 价值观 + 原则 + 一系列符合价值观和原则的方法。
评分:9
说透敏捷 | 评估诊断:成功迈出敏捷推进的第一步
收获:评估诊断的方法步骤:第一步(挑选代表性项目)、第二步(访谈评估)、第三步(制定转型计划)、第四步(沟通)。评估诊断案例分析:首先(虽然有些团队进行了敏捷尝试,但成熟度并不高,如果用 5 分制,1 为最低,5 为最高,给他们打分,这些团队的实践水平均介于 1 和 2 之间)、其次(该企业未推进敏捷的团队现在采用的是瀑布模式,对敏捷了解甚少)、最后(团队在跨团队交流方面有很大的障碍,这表现在业务人员与开发测试团队隔离,目标不统一,且参与敏捷的投入度不够)。
评分:9
说透敏捷 | 团队试点(一):让你的敏捷实践“事半功倍”
收获:为什么要做试点前的准备?(只有做好详细、充足的准备,我们才能在推进敏捷试点时真正做到有备无患)、如何做好敏捷试点前的准备?(1. 选择试点团队:采纳敏捷的意愿相对强烈、业务价值高或采纳敏捷会在短期内给团队带来很大收益。2. 前期准备工作细则:组织和人员、管控治理规则、需求范围、架构、敏捷方法和工具、办公环境设施)。
评分:8
查看《说透敏捷》原文

说透中台 | 来龙去脉:中台为什么这么火?
收获:2008~2015:孕育。2015 关键词:阿里巴巴中台战略诞生。2017 关键词:横空出世。2018 关键词:全面爆发。2019 迷雾仍然存在。
评分:9
说透中台 | 中台种类:你听说的中台真的是中台吗?
收获:主流代表:业务数据双中台(业务中台、数据中台)。非主流系列(技术中台、研发中台、移动中台、管理中台、组织中台)。
评分:9
说透中台 | 中台定义:当我们谈中台时到底在谈些什么?
收获:企业为什么要建中台?(互联网时代,用户才是商业战场的中心,为了快速响应用户的需求,借助平台化的力量可以事半功倍。中台化是平台化的下一站,是平台不断对于自身治理演进、打破技术边界、逐渐拥抱业务、容纳业务、具备更强的业务属性的过程。中台关注为前台业务赋能,真正为前台而生。)、Pace-Layered 角度划分的三类(SOR/Systems of record:后台、SOI/Systems of innovation:前台、SOD/Systems of differentiation:中台)。给中台下个定义:企业级能力复用平台(1. 企业级、2. 能力、3. 复用、4. 平台)。
评分:10
说透中台 | 万事预则立:中台建设前必须想清楚的四个问题
收获:中台建设前必须想清楚的四个问题(中台建设的愿景是什么?:这个愿景是需要所有的角色,上到企业管理层,下到每一位中台的相关人员都要明确并达成一致的。中台的用户和客户是谁?:中台建设虽然需要兼顾各方的利益,但更多主要还是解决企业管理层对于公司长期生存与可持续发展的恐惧与焦虑问题。中台的钱由谁出?:众筹模式(从业务前台集资,有钱的捧个钱场没钱的碰个人场,能出预算的出预算,能出人的出人,来组建中台团队,然后再反过来服务于前台业务团队)、投融资模式(产品的建设前期先由投资方出资,按照产品的建设目标经过一段时间的建设期,相对成熟之后,再逐渐地让用户使用,最终通过对于用户的服务,让用户满意,实现收入并收回企业投资且盈利的模式。目前大部分的创业公司都是采用类似的模式,相信你也很熟悉了))、中台的目标怎么验证?:目前业界有一些中台的考核标准我们可以作为参考,例如阿里巴巴的中台考核就是设计成:40% 稳定性 +25% 业务创新 +20% 服务接入量 +15% 客户满意度。
评分:9
查看《说透中台》原文

DDD 实战课 | 领域驱动设计:微服务设计为什么要选择DDD?
收获:软件架构模式的演进(第一阶段是单机架构、第二阶段是集中式架构、第三阶段是分布式微服务架构)。微服务设计和拆分的困境(微服务拆分困境产生的根本原因就是不知道业务或者微服务的边界到底在什么地方。DDD 核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性)。为什么 DDD 适合微服务?(DDD 包括战略设计和战术设计两部分:战略设计主要从业务视角出发、战术设计则从技术视角出发)。DDD 与微服务的关系(DDD 主要关注:从业务领域视角划分领域边界,构建通用语言进行高效沟通,通过业务抽象,建立领域模型,维持业务和代码的逻辑一致性。微服务主要关注:运行时的进程间通信、容错和故障隔离,实现去中心化数据管理和去中心化服务治理,关注微服务的独立开发、测试、构建和部署。)。
评分:10
DDD 实战课 | 领域、子域、核心域、通用域和支撑域:傻傻分不清?
收获:如何理解领域和子域?(领域就是用来确定范围的,范围即边界。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。领域建模和微服务建设的过程和方法基本类似,其核心思想就是将问题域逐步分解,降低业务理解和系统实现的复杂度)、如何理解核心域/通用域和支撑域?(核心域:决定产品和公司核心竞争力的子域。通用域:同时被多个子域使用的通用功能子域,例如认证、权限等没有企业特点限制无需定制的系统。支撑域:既不包含核心竞争力功能也不包含通用功能的子域,例如数据代码类的数据字典等系统)。
评分:10
DDD 实战课 | 限界上下文:定义领域边界的利器
收获:什么是通用语言?:在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言就是通用语言。什么是限界上下文?进一步理解限界上下文(领域边界就是通过限界上下文来定义的)、限界上下文和微服务的关系(我们将限界上下文内的领域模型映射到微服务,就完成了从问题域到软件的解决方案)。
评分:9
查看《DDD 实战课》原文

即时消息技术剖析与实战 | 架构与特性:一个完整的IM系统是怎样的?
收获:从一个简单的聊天系统说起(1. 使用者眼中的聊天系统:用户账号、关系链、联系人的列表、消息、聊天会话;2. 开发者眼中的聊天系统:首先是客户端、其次是接入服务(连接保持、协议解析、Session 维护和消息推送)、之后是业务处理服务(消息的存储、未读数变更、更新最近联系人)、接着是存储服务(账号信息、关系链,以及消息本身)、最后是外部接口服务(将消息给到第三方外部接口服务,来通过手机操作系统自身的公共连接服务来进行操作系统级的“消息推送”,通过这种方式下发的消息一般会在手机的“通知栏”对用户进行提醒和展示))。接入服务和业务处理服务独立拆分(第一点是接入服务作为消息收发的出入口,必须是一个高可用的服务,保持足够的稳定性是一个必要条件。第二点是从业务开发人员的角度看,接入服务和业务处理服务进行拆分有助于提升业务开发效率,降低业务开发门槛)。IM 系统都有哪些特性?(1. 实时性:保证消息实时触达是互动场景的必备能力。2. 可靠性:不丢消息、消息不重复。3. 一致性:“多用户”“多终端”的一致性体验能大幅提升 IM 系统的使用体验。4. 安全性:“数据传输安全”“数据存储安全”“消息内容安全“三大保障方面提供全面隐私保护)。
评分:10
即时消息技术剖析与实战 | 消息收发架构:为你的App,加上实时通信功能
收获:消息存储(消息索引和消息内容:消息发送方和消息接收方,内容表/索引表。联系人列表:最近联系人表。)、消息收发通道(消息发送通道:IM 服务端提供一个 HTTP 协议的 API 接口、客户端和 IM 服务端维护一个 TCP 长连接。消息接受通道:借助 TCP 的全双工能力,也就是能同时接收与发送数据的能力)、消息未读数(两个概念:多少未读消息、我和某个联系人有多少条未读消息)。
评分:9
查看《即时消息技术剖析与实战》原文

项目管理实战 | 角色转换:程序员做项目管理的三大误区
收获:误区 1:凡事恨不得事必躬亲(成功施加影响的三个层次,分别是让人知道要做(Awareness)、有动力做(Desire)和有能力做(Ability))。误区 2:追在别人屁股后面做监工(要明确目标,建立机制,并让这个机制运转起来,最终在项目组形成一种良性的秩序)。误区 3:拿着锤子,看哪里都是钉子。
评分:9
项目管理实战 | 十大领域五大过程组(上):程序员必须要了解的项目管理常识
收获:项目管理的历史(甘特图、关键路径法)。什么是项目管理?(项目管理就是变理想为现实,化抽象为具体的一门科学和艺术)。项目管理的十大知识领域(1. 干系人管理:如何管理干系人?2. 范围管理:做什么?3. 进度管理:花多长时间?4. 成本管理:花多大代价?5. 质量管理:达到什么要求?6. 资源管理:有多少内部资源?7. 采购管理:有多少还要买?8. 沟通管理:如何管理沟通?9. 风险管理:如何应对风险?10. 整合管理:如何实现整体最优?)。
评分:9
项目管理实战 | 十大领域五大过程组(下):程序员必须要了解的项目管理常识
收获:项目管理的五大过程组:1. 启动过程组(千里之行,始于足下。启动过程组意味着正式开始一个项目,或者是开始一个项目中的新阶段,包括识别干系人和制定项目章程两个子过程。正式宣告一个新项目或新阶段的开始,公开确认项目章程,包括明晰各方干系人的期望和诉求,设定愿景目标和重要里程碑,确定责任分工和沟通机制等。)、2. 规划过程组(运筹帷幄,决胜千里。规划就是要把愿景目标转化为可落地的行动方案和工作路线。)、3. 执行过程组(言出必行,行之必果)、3. 执行过程组(言出必行,行之必果)、4. 监控过程组(审时度势,沉着应变)、5. 收尾过程组(慎终如始,则无败事。不管项目成功与否,“趁热”复盘都是极为重要的一步。)。互联网项目管理的职责定位(保目标、助决策、提效能、促协作)。提效能是要去关注和消灭团队中的低价值工作所引发的效能痛点。促协作则是着眼于使用各种项目管理方法和工具,让高价值工作者可以更好地合作。保目标、助决策是要打通从战略到执行的闭环,提效能、促协作则是打通上下游协同的闭环。
评分:10
查看《项目管理实战》原文
 

云技术

AWS | 方案架构助理 | 联合身份验证的使用场景
收获:企业访问亚马逊云资源、移动及 Web 应用、中心化身份识别管理(亚马逊云账户)。
评分:9
AWS | 方案架构助理 | 消息推送服务(SNS)
收获:SNS 基础:与多个亚马逊云服务集成、SNS 与 CloudWatch 相结合可以给管理员发送重要的提醒、可以被用于移动端提示推送;SNS 组件:Topic、Subscriber、Publisher。
评分:10
AWS | 方案架构助理 | 消息队列服务(SQS)
收获:推送类型:短轮询、长轮询、更少的空 API 调用。
评分:10
AWS | 方案架构助理 | 弹性转码器
收获:作业队列、定义了输入对象的作业、预设转码配置、用于发送作业状态变更提醒的管道。
评分:8
AWS | 方案架构助理 | 交互式 SQL 查询服务(Athena)
收获:能够查询结 S3 中的结构化、半结构化以及无结构化数据;可以查询多种亚马逊云日志,包括流日志以及负载均衡日志;无法对数据做变更。
评分:8
AWS | 方案架构助理 | 弹性大数据处理(EMR)
收获:大规模并发处理大数据、拥有零个或多个核心节点、主节点对节点集群进行管理、任务节点可选,可用来执行任务。
评分:9
AWS | 方案架构助理 | 流数据捕获加载服务(Kinesis 以及 Firehose)
收获:流、分片、数据记录。
评分:8
AWS | 方案架构助理 | 数据仓库(Redshift)
收获:PB 级规模数据仓库方案、用于分析负载的列数据库、专属于 OLAP、多数据库数据收集、可从 S3 加载数据,反之亦然。
评分:9
AWS | 方案架构助理 | 云监控(CloudWatch)
收获:一小时指标将被保留 455 天;五分钟指标将被保留 63 天;一分钟指标将被保留 15 天;可以与警报器结合使用。
评分:10
AWS | 方案架构助理 | 云监控日志(CloudWatch Logs)
收获:指标过滤、日志过滤器、日志事件、日志组、日志流。
评分:10
AWS | 方案架构助理 | 云资源调用记录(CloudTrail)
收获:用户/角色或服务的行为将被记录于此;事件管理;记录控制面板事件(用户登录、配置安全、安全组变动)或数据事件(S3 对象级别事件、Lambda 函数级别事件)。
评分:10
AWS | 方案架构助理 | 网络流量信息统计(VPC Flow Logs)
收获:用于捕获 VPC 进出流量的元数据;可被置于网卡、子网或整个 VPC 中,并可捕获捕获点中的元数据及其中的任意内容;其不提供实时捕获并且不对流量本身进行捕获操作,而仅捕获流量的元数据;其不捕获 DNS 服务器、Windows 许可认证、169.254.169.254 地址、DHCP 流量以及 VPC 路由器。
评分:10
AWS | 方案架构助理 | 计划事件通知(CloudWatch Events)
收获:事件目标:EC2 实例、Lambda 函数、阶跃函数状态机、SNS 主题、SQS 队列。
评分:10
AWS | 方案架构助理 | 密钥管理托管(KMS, Key Management Service)
收获:提供了区域的、安全的密钥管理以及加解密服务。
评分:9
AWS | 方案架构助理 | 云应用部署(Elastic Beanstalk)
收获:支持多种主流语言及 Web 容器;适用于:以及小的开销来进行应用环境的评审、当使用其所支持的某种语言并可以添加其指定的配置时;不适用于:当需要对底层基础设施进行操作时、当需要 Chef 等运维工具的支持时。
评分:9
AWS | 方案架构助理 | 自动化云应用部署(OpsWorks)
收获:Chef 配置管理及部署平台的实现;将 CloudFormation 等底层细节移除,但不太像 Elastic Beanstalk;可以以层叠的形式来创建一个资源栈并对资源进行单元式管理;其组件包含:栈、层、实例、应用、菜单。
评分:10
AWS | 方案开发助理 | 亚马逊云全局基础设施
收获:账户与服务层:主账户、管理员用户;物理与网络层:边缘节点;区域:空间集;空间:数据中心集;结合虚拟私有云的空间。
评分:9
AWS | 方案开发助理 | 共享责任模型
收获:我们的责任:IAM、双重认证、密码/密钥轮换、访问顾问、信誉顾问、安全组、基于资源的策略、访问控制列表、虚拟私有云、端口扫描是违规的,即使是在你自己的环境中进行的、操作系统层补丁;亚马逊云的责任:物理服务器层及以下、物理环境安全及保护(火灾/停电/自然灾害/管理)、根据业界标准来退役存储设备、个人资料安全、网络设备安全及访问控制列表、API 端点部署 SSL、洪流攻击抵御、EC2 实例及欺骗攻击抵御(入站出站过滤)、EC2 实例虚拟环境隔离(物理设备上的实例是独立的)。
评分:10
AWS | 方案开发助理 | 计算服务概览
收获:EC2(云虚拟服务器)、ECS(受监管的容器服务)、Elastic Beanstalk(PaaS)、Lambda(无服务器计算)。
评分:8
AWS | 方案开发助理 | 存储服务概述
收获:RDS (SQL)、DynamoDB (NoSQL)、ElastiCache(高性能)、Redshift(数据仓库)。
评分:8
AWS | 方案开发助理 | IAM 基础
收获:用于管理:用户、组、角色、访问策略、Api 密钥、根据用户指定密码策略及 MFA 要求。
评分:9
AWS | 方案开发助理 | IAM 策略
收获:管理员登录、高级用户、只读访问。
评分:8
AWS | 方案开发助理 | IAM 用户
收获:默认情况下拒绝访问所有云服务;拥有唯一的访问凭证;显式拒绝会覆盖显式允许的权限。
评分:8
AWS | 方案开发助理 | IAM 组
收获:可用于分配权限策略;易于进行云资源的访问管理。
评分:8
AWS | 方案开发助理 | IAM 角色
收获:分配给云资源的权限,例如 EC2 访问 S3 的权限。
评分:9
AWS | 方案开发助理 | 安全令牌服务(STS)
收获:授予信任的用户临时凭证用以访问云资源;临时凭证的有效期为几分钟至几小时;凭证过期后即无效;请求调用 STS API 时,凭证将以三个组件形式返回:安全令牌、访问钥 ID、访问密钥;STS API 调用:AssumeRole、AssumeRoleWithWebIdentity、AssumeRoleWithSAML、GetFederationToken、GetSessionToken。
评分:9
AWS | 方案开发助理 | IAM API 密钥
收获:要求在以下场景中使用:AWS 命令行界面(CLI)、PowerShell 工具、AWS SDK、通过 API 直接调用云服务;API 密钥是一次性的;AWS 不会重新生成同一组访问钥;必须与一个用户关联之后才能使用;角色不拥有 API 凭证;AWS 控制台中只能看到访问密钥号,加密密钥号用不可见;反激活现有访问密钥集之后方能生成新的一套;永远不要在 EC2 实例中创建或保存 API 密钥。
评分:10
AWS | 方案开发助理 | 钥管理服务(KMS)
收获:概念:用户主密钥(CMKs):由客户管理、由 AWS 管理;数据密钥:对大量数据进行加密操作、CMK 可以生成/加密/解密数据密钥、KMS 不管理或保存数据密钥,需要自行管理、KMS 不能用数据密钥来加密数据;信封加密:通过数据密钥加密的纯文本数据、使用密钥加密密钥(KEK)来对数据密钥加密、KEK 可被另一个 KEK 加密,但最终会有一个主的密钥(特指 KMS CMK)以加密一个或多个密钥;KMS API 行为:加密、解密。
评分:8
AWS | 方案开发助理 | 应用安全评估(Inspector)
收获:自动安全评估服务;以测试 EC2 实例的网络访问状态及实例中应用的安全状态;可在开发及部署管道或静态生产系统中自动进行安全漏洞评估;以定期进行开发及运维中的安全检查。
评分:8
AWS | 方案开发助理 | 用户池和身份池
收获:用户池:Cognito 里的用户目录、池里的用户可以通过 Cognito 或第三方身份识别供应商来登录至 Web 或移动应用、可以通过 SDK 来访问用户成员的目录;身份池:可获取临时凭证来访问云服务(诸如 S3 和 DynamoDB)、支持匿名访客用户以及可以使用该服务尽情用户鉴权的身份识别供应商(Cognito 用户池、Facebook/Google 等社交媒体登录、Amazon 登录、OpenID(OIDC)供应商、SAML 身份识别供应商、开发者认证身份识别)。
评分:10
AWS | 方案开发助理 | 身份识别联盟及用户身份池
收获:Cognito 身份识别:给应用用户创建唯一身份标识、使用自己的验证过程或 Google/Facebook 等供应商来进行身份识别的验证、保存移动用户数据、借助 Sync 来使用获取的凭证进行数据同步;Cognito 用户数据同步(Sync):在多移动设备及 Web 之间同步用户数据、客户端库将数据缓存至本地;Cognito 用途:SDK(Android/iOS、JavaScript、其他 SDK)。
评分:9
AWS | 方案开发助理 | EC2 基础
收获:可伸缩服务器;由不同的实例类型以及大小所组成;实例配置:模拟传统服务器,但为方便伸缩性及弹性而拥有可随时委托及退役的能力;主要组成部分:云机器镜像(AMI)、实例类型(算力、内存、网络带宽)、网络接口(公有、私有或弹性 IP 地址)、存储(弹性快存储(EBS)、弹性文件系统(EFS)、实例存储(临时存储));三大类 AMI:社区版镜像(免费使用,操作系统)、商店镜像(付费使用,包含许可软件)、我的镜像(自己创建的镜像);实例类型:通用用途(T2,M5,M4)、算力优化(C4,C5)、内存优化(X1e,X1,R4)、计算加速(P3,P2,G3,F1)、存储优化(H1,I3,D2)。
评分:10
AWS | 方案开发助理 | EC2 选购
收获:按需付费;预留实例;空闲实例;独立主机。
评分:8
AWS | 方案开发助理 | EC2 实例配置
收获:EC2 IP 地址:私有 IP 地址、公有 IP 地址、弹性 IP 地址;启动脚本与用户数据/元数据:启动脚本(定制的用于在实例启动之后执行的脚本)、用户数据文本框(将要在启动时执行的脚本放入其中)。
评分:10
AWS | 方案开发助理 | EC2 存储基础
收获:弹性快存储(EBS)基础:持久的、网络附加存储、可备份为快照、默认在多空间中有副本、通常挂在至 /dev/sda1 或 /dev/vxda;EBS 性能:每秒输入输出(IOPS)、IOPS 单位();初始化 EBS 卷:从 EBS 快照创建的卷必须初始化、在第一次读取卷中的存储块时会进行初始化操作,将产生 50% 的性能影响、在生产环境中可以手工读取所有的块以避免首次读取时所产生的性能影响;EBS 卷:普通用途 SSD、读写加强版 SSD、吞吐量优化版 HDD 及冷 HDD、EBS 磁盘(老版);实例存储块卷:底层硬件附加在运行实例的主机上的虚拟设备、实例存储卷为临时数据、实例终止或关闭之后数据被清除、实例重启后数据还在、并非被所有实例类型支持;EBS 快照:本质是递增的、只保存最近快照的变更、原快照删除后数据还存在于其他快照中、只按每个快照的增量数据收费,但先前的数据依然存在、可用于创建完全还原的 EBS 卷、频繁对数据创建快照可提高续航力、应在非生产环境或非高峰时期进行;弹性文件系统(EFS):优势(可同时被多个实例访问、当机房通过 Direct Connect 连接至 VPC 时,该服务可被挂载至机房的服务器、可在空间伸展至 PB 级时仍保持低延迟以及高吞吐率、按使用率付费)、安全(通过 POSIX 权限来管控文件系统访问、VPC 进行网络访问控制,IAM 进行 API 访问控制、使用 KMS 对数据进行加密)、用途(大数据分析、多媒体处理工作流、Web 服务及内容管理)。
评分:9
AWS | 方案开发助理 | EC2 密钥对
收获:使用密钥对创建并授权之后方可登录实例;SSH 使用 .pem 密钥文件来登录 Linux 实例。
评分:9
AWS | 方案开发助理 | 弹性负载均衡
收获:将入站流量分发至不同服务器;由一个 EC2 服务来自动将入站流量分发至与其关联的所有实例;可将流量负载均衡至多个可用空间中的多个实例上;允许直接将 SSL 证书应用至负载均衡器以减少实例的算力开销会话状态维护:推荐用类似于 ElastiCache 这样的缓存服务来进行会话状态的维护。
评分:10
AWS | 方案开发助理 | EC2 API 行为/错误及亚马逊云共享职责模型
收获:客户负责管理实例的软件层安全;亚马逊云负责管理实例的虚拟层及物理层安全。
评分:9
AWS | 方案开发助理 | VPC 基础
收获:基础 VPC 网络;VPC 优势;默认 VPC;VPC 限制:每个区域 5 个、每个区域 5 个网管、每个区域 50 个客户网关、每个区域 50 个 VPN、每个区域 200 个路由表 / 每个表 50 个条目、5 个弹性 IP、每个 VPC 500 个安全组、每个安全组 50 条规则、每个网络接口 5 个安全组。
评分:10
AWS | 方案开发助理 | VPC 网络基础
收获:网关:允许 VPC 里的实例与互联网进行通信、水平扩展,冗余和高可用;网关规则:VPC 同一时间只能有一个网关、当 VPC 中有正在使用的云服务时不能与网关进行解绑操作、当 VPC 中有需要访问外网服务的云服务时,需要绑定一个网关;路由表:包含一堆路由规则,用于定向网络流量、包含两个组件(目的地、目标);子网掩码:每个可用空间中可添加一至多个子网掩码、一个子网掩码对应一个可用空间,不能处在多个可用空间中、公有子网掩码拥有互联网路由、私有子网掩码不拥有互联网路由。
评分:9
AWS | 方案开发助理 | VPC 安全基础
收获:网络访问控制列表:运作于网络/子网掩码层、支持子网掩码的进出流量允许拒绝规则、无状态,出站流量必须是允许的、以数字形式处理规则来决定是否放行流量、作为VPC 的安全可选层扮演防火墙角色,以在多个子网掩码之间进行入站出站流量的管控。
评分:10
AWS | 方案开发助理 | VPC 网络之高可用与容错
收获:自伸缩:根据选定 Cloudwatch 指标的变化来自动添加或减少实例;自伸缩两大组件:启动配置(当自伸缩组需要观察额外的实例时,需要用到 EC2 模版)、自伸缩组(最少/多实例数、启动实例所处的 VPC 及可用空间、启动实例是否从 ELB 接收流量、伸缩策略、SNS 短信提醒)。
评分:10
AWS | 方案开发助理 | VPC 网络之堡垒机和 NAT 网关
收获:堡垒机:为私有子网掩码内的实例而部署在公有子网掩码上的实例、可以作为私有子网掩码内实例的一个入口、需要变得坚不可摧、可以在不借助 VPN 的情况下作为 SSH 的访问点;NAT 网关:为私有子网掩码内的实例而设计的,可将其路由至互联网、处在私有子网掩码内的实例很安全,但其却无法下载软件或进行软件更新的操作;NAT 网关必须:创建于公有子网掩码内、作为自由子网掩码路由表的一部分;NAT 实例:对应其 NAT 网关所描述的单一用途、通过配置一个实际的 EC2 实例以区分执行来完成相同的工作、即将成为亚马逊云里的一个历史遗留产物、试题里可能还有其相关的问题。
评分:8
AWS | 方案开发助理 | 应用负载均衡
收获:应用负载均衡:在应用层(HTTP/HTTPS)做路由决策、支持基于路径的路由,可以为监听器配置规则以将请求基于其所持有的 URL 进行转发、支持基于主机的路由,可以为监听器配置规则以将请求基于 HTTP 头部中的主机字段进行转发、支持将请求路由至单实例上的多个应用、我们可以以端口不同但目标组相同的方式来注册每个实例或 IP 地址;经典负载均衡:在传输层(TCP/SSL)或应用层(HTTP/HTTPS)做路由决策、支持经典版 EC2 实例。
评分:9
AWS | 方案开发助理 | 网络负载均衡
收获:在传输层(TCP/SSL)做路由决策、每秒可处理百万级请求、再不修改头信息的情况下对请求进行转发、支持动态主机映射、拥有可以处理不稳定工作负载以及扩展至百万级请求的能力、为负载均衡提供静态 IP 地址支持,可以为每个子网掩码分配单独的弹性 IP 地址。
评分:10
AWS | 方案开发助理 | 动态端口
收获:ALB 和 NLB 支持动态端口:单 EC2 实例可能会运行多个容器、每个容器都被随机地分配了一个端口号、这些端口并非静态的、重启的容器可能会收到新的端口号、动态端口由目标组来分配、目标组追踪每个实例上接受流量的端口列表并指引负载均衡器以将流量均衡分发至这些端口、由于其对动态端口的支持,第二代负载均衡器更适用于将流量路由至容器服务。
评分:10
AWS | 方案开发助理 | Lambda 基础
收获:服务器计算平台;核心概念是 Lambda 函数或 Lambda 函数包;可以方便地与其他云服务相集成;支持多种开发语言;适用于:类似于 S3 桶变更或 DynamoDB 表更新等事件驱动任务、流处理以及数据仓库技术处理、物联网以及移动后端、Web 应用 API。
评分:9
AWS | 方案开发助理 | Lambda 函数与事件
收获:事件有:经过 API 网关的 HTTP API 请求、Cloudwatch 调度事件、S3 文件上传、DynamoDB 流变更、通过 CLI 或 SDK 的直连调用、其他事件源;函数有:应用代码、代码的应用依赖,库/配置以及其他依赖;编程模型:句柄文件与函数、事件、上下文、日志与异常、运行时指定概念;调用类型:同步、异步;函数配置:语言环境、句柄、内存、最大执行持续时间、权限、环境变量、VPC、死信队列、并发、标签。
评分:9
AWS | 方案开发助理 | Lambda 版本与别名
收获:版本:拥有独立的 ARN、KaTeX parse error: Unexpected character: '' at position 59: …不同版本之间进行流量分发操作;̲好处:方便的开发工作流以及阶段…{aws:用户名}/*)。桶策略:附加至桶的策略、策略中的所有权限被应用至桶中的所有对象,除了由非桶所有者的外部用户创建的对象、可以用来进行 IAM 用户或其他 AWS 账户的授权访问、指定了桶用户允许或禁止的操作(匿名用户进行授权访问、指定可以进行如 PUT 或 DELETE 等特定操作的用户、限制基于 IP 地址的访问)。S3 访问控制列表:可与桶以及对象共用、无法拒绝或授予条件式权限、对象 ACL 的使用场景(管控非桶所有者所有的对象访问、管控对象级别的权限以及对象区分的权限、允许外部账户来管控对象策略)。罐装式 ACL:公有读(允许向外共享对象)、aws-exec-read(允许 EC2 从 S3 获取 AMI 捆绑)、XML 形式编写。
评分:9
AWS | 开发助理 | S3 加密
收获:两种保护信息的方式:中途/客户端加密(使用客户端主键、使用 AWS KMS 管理的客户主键/CMK)、静止加密(S3 管理的键/SSE-S3、KMS 管理的键/SSE-KMS、客户提供的键/SSE-C)。
评分:9
AWS | 开发助理 | S3 对象版本管控
收获:S3 版本控制:默认情况所有桶和对象禁用版本控制、版本控制一旦启用,其只能被暂停而不能被完全禁用、暂停版本控制只会防止创建新版本、所有现有版本的对象将保持它们的老版本、版本控制只能在桶级别进行设置并被应用至桶内的所有对象、生命周期策略可被应用至对象的特定版本。启用 S3 版本控制:现有对象将保持不变、新增对象将自动地被赋予唯一的版本编号、每个新版本将被当成一个全新的对象进行计费。删除版本控制的对象:标准工作流(只对最新版本做删除标记、直接访问对象时返回 404、依然可以通过指定特定版本号来获取指定版本的对象)、永久删除一个版本(发送删除请求时指定版本号)。恢复版本控制的对象:删除当前版本(提取先前版本,直到你想要的版本为止)、复制旧版本(将对象先前版本复制到相同桶、以新版方式将其添加至桶、复制的版本变成当前版本、所有对象的版本被预留)。
评分:10
AWS | 开发助理 | S3 对象类型与冰河存储
收获:存储类型:标准(通用,所有用途的存储、默认存储选项、11 个 9 持久性、4 个 9 可用性、最昂贵的存储类型)、低冗余存储(RRS:非关键,可再生的对象、4 个 9 持久性、4 个 9 可用性、比标准存储类型便宜些)、不常访问(S3-IA:标准-IA、单空间-IA、不常访问的,但必须能立即可用的对象、11 个 9 持久性、3 个 9 可用性、比标准和低冗余存储类型便宜些)、冰河(可通过生命周期管理来切换至其中、长期归档的存储,不适合用来做备份、可能需要花上数小时来提取对象、11 个 9 持久性、最便宜的存储类型,成本非常低、三种提取数据的级别:加急,1-5 分钟;标准,3-5 小时;大批量:5-12 小时)。
评分:10
AWS | 开发助理 | S3 生命周期策略
收获:默认情况下,禁用桶/对象的生命周期。可定制以适应公司的数据保存策略。很好地用于对象存储的自动化管理以达成更高的成本效益。可通过结合版本控制来很好地创建归档和备份方案。
评分:9
AWS | 开发助理 | S3 部署静态网站
收获:提供了低成本/高可靠的静态网站部署服务。包含 HTML/CSS 以及 JS 文件还有图片和字体。创建静态网站时可指定首页以及错误文件。提供一个网站的唯一 URL 端点,其格式取决于所处区域。Route 53 可映射人类可读的域名至部署静态网站的桶,特别适合于 DNS 故障转移解决方案。
评分:9
AWS | 开发助理 | S3 启用跨站资源共享(CORS)
收获:允许某个域名里的 Web 应用访问另一个域名里的资源。通常指的是某个桶里所部署的 Web 应用可以访问另一个桶里的资源。每个桶都能设置 CORS。
评分:8
AWS | 开发助理 | DynamoDB 概述
收获:核心特性:完全可控的 NoSQL 数据库、一致的和快速的性能、方便搭建并与其他服务进行通信、静止加密可选加密。热门用例(物联网:元数据存储、游戏:会话信息存储、移动端:用户资料存储)。费用:核心收费部分(额定写吞吐率、额定读吞吐率、索引数据存储)、其他收费因素(保留容量、自动伸缩、全局表:复制写容量单元、按需备份:按月每 GB 存储收费、按需存储:按每 GB 恢复收费、加速器:按每小时使用实例收费、流:按每 100k 读收费)。
评分:9
AWS | 开发助理 | DynamoDB 核心概念
收获:分区键:每张表都要求有一个分区键、条目的分区键也被称作哈希属性、分区键属性必须为标量,只能存放一个值、在一个内部哈希函数里使用分区键以决定在哪存放分区数据。排序键:表不要求有排序键、条目的排序键也被称作范围属性、范围键必须为标量,只能存放一个值、在使用分区键来决定存入的分区数据后,排序键被用来对分区中的数据进行排序操作。主键:简单主键,只有分区键、组合主键,分区键和排序键。条目:一组在表中其他条目间可被唯一标识的一组属性、每个条目是一或多个属性并且可被想像成关系型数据库中的行。属性:基本数据元素,于其他数据库中的资源以及列类似。
评分:9
AWS | 开发助理 | DynamoDB 额定吞吐率
收获:一个应用能够从一张表或索引消费的最大容量。当吞吐率到达上限时,请求将被阻塞。可以同时使用自动伸缩来避免被阻塞(按需提升容量、周期性降低容量)。根据读和写容量单元来测量。额定吞吐率被设置于表级别但被拆分和消费于分区层。意味在其他分区正常运作的情况下特定分区可能缺少需要的容量。分区:在分区中存储数据、分区为存储表的 SSD 分配并自动在多空间进行复制、分区数量取决于表吞吐率容量以及现有分区的存储大小。读:读容量单元被消费的原因(使用 GetItem 和 BatchGetItem 操作时、使用 Query 操作时、使用 Scan 操作时)、一个读容量单元等于一个 4KB 或以下大小的条目的每秒读操作(强一致性)、单个条目的读操作大小总是进位至距离 4KB 最近的大小、最终一致性读只需要读容量单元一半的大小。
评分:8
AWS | 开发助理 | DynamoDB 读操作
收获:GetItem:根据条目的主键来高效地从一张表中读取单个条目。BatchGetItem:可从一或多张表读取至 100 个条目(请求中的每个条目均使用 GetItem 操作来处理、每个条目都独立地进行进位操作以供读容量单元使用)。Query:以相同的分区键值来读取条目、同时,我们能用排序键来高效地对条目进行排序操作、所有返回的条目均被当作单个读操作,计算所有条目总大小并进位至下一个 4KB 边界。Scan:读一个表中的所有条目、考虑的是条目评估的大小,而不是其所返回的条目的发小。最终一致性和强一致性读:最终一致性不保证获取的是当前写入表中的数据、强一致性保证获取的是当前写入的数据。
评分:9
AWS | 开发助理 | DynamoDB 局部与全局的二级索引
收获:二级索引:允许高效地查询非主键属性、每个二级索引只关联一张表、表可以有多个二级索引、自动维护二级索引,索引根据表的变化而变化。本地二级索引(LSI):为表提供了排序键的选择、LSI 主键为组合键(主键和排序键)、每个本地二级索引可作为另一个排序键、每个 LSI 自动与基表保持同步、本地二级索引的读和写容量窃取自基表的容量、LSI 必须在建表时创建。全局二级索引:每个全局二级索引可作为另一种方式以查询使用了不同分区以及不同排序键的信息、类似于 LSI,每个 GSI 自动与基表保持同步、无法进行强一致性读、不与主表共用读和写容量,其拥有自己的 WCU 和 RCU 额定吞吐量、可在建表后创建 GSI。
评分:9
AWS | 开发助理 | DynamoDB 条件写与原子计数器
收获:写:WCU 在增/改/删时被消费、一个 WCU 等于一个 1KB 或以下大小的条目的每秒写操作、总是进位至距离 KB 最近的大小、多个条目要求多个 WCU。原子计数器:写是有序的以至于可以对现有值进行递增操作以实现类似于网站访问记录之类的用途,失败的操作可以被重试,但重试会产生条目被更新两次的风险并且可能出现少算或多算的情况。条件写:当写条件成功时可以使用条件写来进行额外控制、只有当正在写入的条目属性符合一或多个预期的条件时才成功。
评分:9
AWS | 开发助理 | DynamoDB 的常见错误与限制
收获:ThrottlingException:可能是在快速地尝试着对表进行增、删或改操作。ProvisionedThroughputExceededException:表的吞吐量不足以支撑当前的读及写操作数量。ResourceNotFoundException:请求的表不存在,或正在创建中的状态。限制:二级索引、额定吞吐率、表、条目与属性、特定 API 限制。
评分:9
AWS | 开发助理 | DynamoDB 加速器(DAX)
收获:内存加速器:被设计用于伸缩和性能、毫秒级响应、某些特定场景会要求微秒级响应、为最终一致性数据提供快速的响应时间,高访问量的应用可从加速器的高速内存性能获益、加速器的应用场景(需要有响应时间尽可能最快的读、一些需要频繁读取的小部分条目、读密集型,成本敏感、针对大量数据集的重复读需求)。
评分:10
AWS | 开发助理 | DynamoDB 节流问题
收获:根据每个条目的分区键来在多个分区中对其进行存储、每个分区与表共用额定读(RCU)/写(WCU)吞吐率、当请求发出时,其路由至正确的分区以获取数据,并且被请求的分区容量决定了是允许或阻塞(拒绝)该请求、一些阻塞是应该被应用预测并处理的、导致阻塞的原因(表分区接收到不可数的请求量,热分区。容量限制:表本身不具有足够的容量来服务多个分区上的请求)、阻塞过多的结果(在应用没有重试写的情况下丢失数据。过度尝试写导致的慢处理。在写被阻塞及读未被阻塞时数据可能会过期)。解决阻塞问题:逐步提升表的额定容量、确保审查表的全局二级索引容量,索引阻塞是表阻塞的两倍、实现错误重试以及指数退避 - 该技巧在重试之间使用逐渐延长等待时间来应对连续的错误响应以帮助提升应用的可靠度,亚马逊云 SDK 内置了该逻辑,当使用其他 SDK 时请考虑手工对其进行实现、尽可能均匀地分发读和写操作至多个表中、实现一个缓存方案,类似于 DAX 或 Elasticache。分区底线:只提供 3000 RCU 和 1000 WCU、只持有 10 GB 数据、不可被删除,哪怕容量或存储的数据减少了、拆分后,其当前吞吐率和数据一分为二,新建两个分区、并非所有分区的额定吞吐率都是一样的。
评分:10
AWS | 开发助理 | DynamoDB 流结合 Lambda
收获:添加/更新或删除的表项、新的流记录反映了表的变更、新的流记录触发 Lambda 函数、Lambda 函数读流记录并将其发送至 CloudWatch 日志。流捕捉表项级别变更的时间顺序序列并将该信息存储至日志并保存 24 小时、应用可以访问该日志并查看近乎实时变更之前或之后显现的数据项、当对表启用流时,DynamoDB 捕获该表数据项的任何变更信息、近乎实时方面允许构建的应用消费这些流并可对内容进行操作、亚马逊云为 DynamoDB 及其流维护分离的端点。
评分:10
AWS | 开发助理 | DynamoDB 按需自动伸缩
收获:为 DynamoDB 表创建应用自伸缩策略、DynamoDB 发布消费的容量指标至 CloudWatch、若表消费容量超出一定时间的目标利用率则 CloudWatch 触发告警并通过 Amazon SNS 将其发送给用户、CloudWatch 告警触发应用自伸缩来评估你的伸缩策略、应用自伸缩发布一个更新表请求以调整你的伸缩策略、DynamoDB 处理更新表请求,动态增减表额定吞吐容量以靠近用户的目标利用率。
评分:9
AWS | 开发助理 | RDS 基础
收获:完全可管控的关系型数据库服务、无法访问数据库底层操作系统、向传统方式那样连接至 RDS 数据库服务器、具有审核/调整硬件容量大小的能力以按需伸缩、可启用多空间部署以实现备用及高可用方案、利用只读复制来减轻主库的负载、将组织的数据存至表、关联表间具有定义的关系、支持的库(MySQL、MariaDB、PostgreSQL、Oracle、MS SQL Server、Aurora)、Aurora 是亚马逊自家产的库,与 MySQL 完全兼容,比 MySQL 快五倍并且比商用数据库便宜很多。
评分:9
AWS | 开发助理 | 加密 RDS 数据库
收获:通过为 RDS 实例启用加密选项以加密 RDS 实例及快照、被加密的数据还包括 DB 实例的底层存储/其自动备份/只读复制/及快照、无需更改数据库客户端应用来使用加密、使用 KMS 来管理 RDS 资源所用的加解密密钥、可以使用 KMS 来创建加密密钥并定义其使用策略、使用信封加密的两层结构(唯一数据密钥加密客户数据、KMS 主密钥加密数据密钥)。
评分:9
AWS | 开发助理 | Redshift 是什么
收获:PB 级数据仓库服务、完全可控及可伸缩、通常用于大数据分析,其可被集成至绝大多数商业智能工具中(Jaspersoft、Microstrategy、Pentaho、Tableau、Business Objects、Cognos)。
评分:8
AWS | 开发助理 | ElastiCache 和缓存策略
收获:ElastiCache 基础(完全可控的用于缓存数据库语句查询结果以提升数据库性能的内存缓存引擎、适用于大量的、高性能的或高并发的查询、可用于管理 Web 会话及缓存动态生成的数据、可用的引擎(Memcached、Redis)、构建的应用需要与 Reids 或 Memcached 协作、MySQL 有与 Memcache 协作的插件)、缓存策略(懒加载(当缓存未命中时将数据写入、避免持有不被请求的数据、不与其他策略共用时其所持有的数据会比较稳定)、直接写(有新写入或更新的数据时就更新缓存、让缓存保持最新数据、可在应用里添加等待时间操作、无 TTL 时可能会有很多不会被读取的缓存数据)、添加 TTL(懒加载和直接写的一个折中方案、缓存数据的过期时间、读到过期数据时应用检查底层数据库里对应的值、不保证信息的新鲜度,但其也防止数据腐败并允许缓存来检查对应数据在底层数据库里的值))。
评分:9
AWS | 开发助理 | SNS 介绍
收获:SNS 基础、SNS 组件、SNS 优势、SNS 主题、SNS 订阅者、SNS 发布者。
评分:8
AWS | 开发助理 | SNS 资源访问管理
收获:SNS 访问控制策略。
评分:8
AWS | 开发助理 | SNS 消息数据
收获:SNS 消息、消息体、消息属性。
评分:9
AWS | 开发助理 | 移动应用:SNS 移动设备推送
收获:SNS 移动端推送、移动端推送提醒服务。
评分:8
AWS | 开发助理 | SNS API 行为及错误
收获:SNS API 行为。
评分:7
AWS | 开发助理 | SQS 基础
收获:两种轮询类型、其他 SQS 重要事实、SQS 生产者、SQS 队列、SQS 消费者。
评分:10
AWS | 开发助理 | SQS 资源访问管理
收获:SQS 基于资源的访问控制策略。
评分:8
AWS | 开发助理 | SQS 轮询类型
收获:短轮询、长轮询。
评分:8
AWS | 开发助理 | SQS 消息数据
收获:消息特征及限制、重要的消息组件、消息生命周期。
评分:9
AWS | 开发助理 | SQS API 行为及错误
收获:创建、获取、设置、接收、更改、删除。
评分:9
AWS | 开发助理 | SWF 基础
收获:SWF 组件、SWF 及 SQS、SWF 及 Step 函数。
评分:9
AWS | 开发助理 | Step 函数基础
收获:Step 函数组件、Step 函数优势。
评分:8
AWS | 开发助理 | Step 函数状态类型及转换
收获:AWS Step 函数状态类型(任务、抉择、失败/成功、通过、等待、并行)、AWS Step 函数转换(基本转换、输入输出)。
评分:9
AWS | 开发助理 | API 网关基础
收获:API 网关主要特性、API 网关优势、API 网关资源、API 网关方法。
评分:9
AWS | 开发助理 | API 网关部署及阶段
收获:部署、阶段。
评分:7
AWS | 开发助理 | API 网关缓存及监控
收获:API 网关缓存、API 网关 CloudWatch。
评分:8
AWS | 开发助理 | CloudWatch 基础
收获:EC2 指标、S3 指标、ELB 指标。
评分:9
AWS | 开发助理 | CloudFormation 基础
收获:模版、栈。
评分:7
AWS | 开发助理 | CloudFormation 资源及栈
收获:资源、栈。
评分:8
AWS | 开发助理 | CloudFormation 函数
收获:固有函数、常见固有函数。
评分:8
AWS | 开发助理 | 参数存储基础
收获:系统管理器参数存储基础、参数存储 API 行为、常见 API 行为。
评分:9
AWS | 开发助理 | 亚马逊云共享责任模型
收获:基础设施服务、容器服务、抽象服务。
评分:9
AWS | 开发助理 | 信誉顾问
收获:核心检查建议。
评分:8
AWS | 开发助理 | 加固数据
收获:S3(桶级或对象级权限、启用版本控制、副本、服务端加密、客户端加密)、EBS(副本、备份、微软加密、TruCrypt 加密、Linux 加密、SafeNet ProtectIV 加密)、RDS(MySQL、Oracle、单项函数)、Glacier(服务端加密、唯一加密密钥)、DynamoDB(原始二进制文件、Base-64 加密字符串字段)、EMR(无 HDFS 拷贝服务端加密、应用级加密、混合)。
评分:9
AWS | 开发助理 | 安全地解除数据及设备
收获:请求删除、审查块存储、尝试读。
评分:8
AWS | 开发助理 | 数据传输保护
收获:突发信息泄漏、数据完整性妥协、对等身份妥协、AWS 管理控制台。
评分:8
AWS | 开发助理 | 加固操作系统应用
收获:创建自定义 AMI、引导应用、管理补丁、不要在 AMI 上存放凭据、保护环境不受恶意程序侵扰。
评分:8
AWS | 开发助理 | 测试安全性
收获:防火墙、Web 应用防火墙、基于主机的 ID/IP、记录所有东西。
评分:8
AWS | 开发助理 | AWS 架构良好的框架
收获:不要猜测你的用量需求、在生产级对系统进行测试、自动化以简单化架构实验、允许演进式架构、数据驱动架构、随时做好伸缩准备。
评分:9
AWS | 开发助理 | AWS 良好框架的五大支柱
收获:卓越运维、安全性。
评分:9
 

算法

当月无
 

后端

当月无
 

前端

当月无
 

收听/收看

得到学习计划 | 高考复习节奏被打乱,怎么办?
收获:八条战术打法:1. 严格要求自己按照规划的作息时间起居、学习;2. 把省出来的上学、放学路上的时间,用于户外体育活动,增强体质,提高免疫力;3. 把各科学习时间与所在省份统一安排的高考时间吻合,让自己的大脑开始逐渐适应不同科目考试时段,并 “培育” 大脑兴奋点;4. 按照规划学习时,一定要先收起手机等移动通讯工具;5. 开始做一套题目(试卷)前,不要急于对答案;6. 万一此次停课时间较长,可以独立研究一下所在省市的历届高考真题;7. 每天关心一下疫情状况和收看新闻也需要排上学习议程;8. 组建在线学习小组。
评分:9
得到学习计划 | 如何打造一个反派角色?
收获:如果你成功的话,观众会和你的主人公同喜同悲,跟随他走到天涯海角。也就是说:一个电影成功的要点是要观众与主人公共情。传播学心理实验的两个发现:发现一(观众对于影视角色道德观的判断,是随着对人物的好恶而变化的。也就是说:如果你喜欢一个角色,你对他不道德行为的容忍度会增加)、发现二(“相对道德观”:尽管观众不赞成坏主人公的行为,但是当他周围的环境和人物比他更坏、更不道德时,观众会选择支持主人公)。英雄和恶魔只是一线之隔,道德和罪恶在于一念之差。我们和世界可以相互毁灭,也可以相互成就。因为最终成就一个人的,并不是善或恶的本性,而是在善事和恶事之间,人做出的一次次选择。
评分:10
得到学习计划 | 了解电影不一样的意义,人间值得
收获:电影不仅仅是一种艺术形态,也是一个让人梦想成真的地方。可能这就是为什么李安会说,他在拍电影的时候,反而觉得电影里的世界比现实更真实。除了重构现实,电影在一些重大的历史节点,也发挥了非常重要的社会作用。这些导演的努力也换来了想要的结果,美国民众形成了一股集体意识,那就是美国正在参与一场正义之战。电影哪里仅仅是一种艺术形式,它在现代史上承担的东西太多了,从个人的希望,到一个国家的团结,我们每多了解一点,就会觉得人间值得。
评分:9
得到学习计划 | 音乐是怎么变成免费午餐的
收获:真正从事网络盗版的团队还很容易脱罪。而下载盗版音乐,则是一代人的集体行为。这也正是盗版很难追罪的原因。MP3 技术超前于它所在的时代,它天生适合音乐产业,却长期被音乐行业打压,在市场上所获甚少。直到互联网时代来临,它才被文件共享亚文化团体发现,并广泛使用,但却成了盗版音乐的代名词。
评分:8
得到学习计划 | 为什么越理解人性,就越能解决问题?
收获:越能理解人性,就越能解决商业问题:《道德与市场》、《天主教世界》。越能理解人性,越能解决技术问题:《俞军产品方法论》、《增长思维 30 讲》。越能理解人性,越能解决社会问题:《警察:街角政治家》。
评分:8
得到学习计划 | 家庭背景声 - 关键时刻演讲 - 总序
收获:《我们将战斗到底》、《在阵亡将士葬礼上的演讲》、《申辩》、《不自由,毋宁死》、《葛底斯堡演说》、《我有一个梦想》、《支持 “物种起源” 的学说》、《论不合作》、《探索的动机》、《在巴黎索邦代表大会的致辞》。
评分:8
得到学习计划 | 家庭背景声 - 宽容 - 总序
收获:《先驱者》、《苏格拉底》、《伊拉斯谟》、《拉伯雷》、《布鲁诺》、《斯宾诺莎》、《伏尔泰》、《莱辛》、《托马斯潘恩》、《宽容的出路》。
评分:8
得到学习计划 | 家庭背景声 - 傅雷家书 - 总序
收获:《一九五四年一月十八日至十九日晚:远行》、《一九五四年十月二日:正视人生的低调》、《一九五五年一月二十六日:赤子之心》、《一九五五年五月八日:对手,镜子与伙伴》、《一九五六年二月二十九日夜:伟大的心,真诚的爱》、《一九五九年十月一日:爱国家》、《一九六〇年八月二十九日:冷静、容忍与爱情》、《一九六一年九月十四日:父母心》、《一九六二年三月八日:恋爱中的博敏》、《一九六五年二月二十日:伟大音乐与中国传统》。
评分:9
得到学习计划 | 家庭背景声 - 哈佛毕业演讲 - 推荐序
收获:《倾听内心的低语》、《未来并非在劫难逃》、《永远别向复杂低头》。
评分:9
得到学习计划 | 家庭背景声 - 西方名家经典散文 - 罗振宇推荐序
收获:最经典的作品,最优秀的声音表演者。
评分:8

逻辑思维第 110 期 | 大门口的野蛮人
收获:人类的繁荣到底是怎么来的、日本经济衰落之谜、老而不死是为贼、大航海精神何在、迈阿密:靠罪犯和流浪汉繁荣起来的都市、创新:低素质者与高素质者的双人舞、患上 “日本病” 的香港何去何从。
评分:9

卖桃者说第 36 期 | Deadline 的魅力
收获:霍夫施塔特定律:即使你考虑到了霍夫施塔特定律,项目的实际完成时间总是比预期的要长;布鲁克定律:为已经延期的软件项目增加人手只会让项目延期得更厉害;时间的力量:一个新的团队,无论多么拼命,多么才华横溢,只要是需要协作开发的项目,初期基本上很难做到保质保量按时发布;Deadline 的魅力:一种行之有效的项目进度管理方式,就像武侠小说里的月夜斩一样,偶尔用一下,威力惊人。但不能常用,否则会适得其反。
评分:9
卖桃者说第 37 期 | 如何读好一本书
收获:1. 这本书到底在谈什么?2. 作者具体说了什么,怎么说的?3. 这本书说的有道理吗?是全部有道理,还是部分有道理?4. 这本书跟你有什么关系?四个渐进层次:1. 基础阅读;2. 检视阅读;3. 分析阅读;4. 主题阅读。
评分:10
卖桃者说第 38 期 | 为什么获得提拔的不是你?
收获:可能是因为你没有展现出把事情做成的能力吧。
评分:9
卖桃者说第 39 期 | 我是如何收集知识的
收获:读书、好记性不如烂笔头、稍后读,而不是稍后再也不读。
评分:10
卖桃者说第 40 期 | 把 Linux 内核当成一家软件外包公司的老板
收获:操作系统其实就像一个软件外包公司,其内核就相当于这家外包公司的老板。所以接下来的整个课程中,请你将自己的角色切换成这家软件外包公司的老板,设身处地去理解操作系统是如何协调各种资源,帮客户做成事情。
评分:9
卖桃者说第 41 期 | 年初做的计划,你完成了多少?
收获:OKR 的好处在于,对于目标提出了可度量的关键结果。它是一种非常实用的工具,大部分目标驱动的场景都可以使用,你的新年计划自然也不例外。
评分:8
卖桃者说第 42 期 | 如何高效完成自己的计划?
收获:第一个关键点,目标要确定且具备可行性;第二个关键点,不要贪心,目标最好不要超过 5 个,每个目标下面的关键成果定在 2-4 个比较合适;第三个关键点,组成目标的关键结果要做到明确且定量;第四个关键点,定期 Review 你的计划,并根据情况做出调整。
评分:10
卖桃者说第 43 期 | 影响了我二十年的三个原则
收获:一、闭环原则;二、谁难受谁推进原则;三、Think bigger。
评分:10
卖桃者说第 44 期 | 发生故障后要不要追责?
收获:只要不是设计高压线,或者造成了不可挽回的损失,一定要优先鼓励肯定,传递信任,而不是批评和处罚。当然,定责该怎么定就怎么定,但不要惩罚,毕竟,我们的最终目的是从根本上反思,找出问题的根源,避免下次再犯,而不是惩罚人。
评分:9
卖桃者说第 45 期 | 深入浅出数据库索引
收获:索引常见模型、InnoDB 的索引模型、索引维护。
评分:10
卖桃者说第 46 期 | 极客时间手记一:产品之难
收获:你有你的计划,世界自有计划。产品之难,难于上青天。发挥自己的长板,让别人补足你的短板,这就是现代的木桶理论。做到产品的确定性,需要付出巨大的努力。只有这样,你可能把事情做对、做好,最终将产品呈现到大众的眼前。
评分:10
卖桃者说第 47 期 | 极客时间手记二:我们要做什么样的产品
收获:第一、精益现有业务。第二、需要做一款真正意义上的互联网产品。
评分:8
卖桃者说第 48 期 | 极客时间手记三:找到合适的人
收获:3F 原则:Friend / 朋友、Family / 家人、Fool / 傻子。构建自己的影响力和资源池:1. 多输出、多分享;2. 帮助别人。团队的组织结构:1. 大公司团队构成;成长型公司团队构建;3. 创业公司团队构建。
评分:9
卖桃者说第 49 期 | 极客时间手记四:构建技术基础服务
收获:1. 根基:技术基础服务(流畅、稳定)。2. 如何构建基础服务(规划产品要有长远的打算、成熟的技术要尽快引入、考虑同类型技术在不同应用场景下的使用、要重构代码,而不是重写代码、要把变化集中在某个领域、要做好 Code Review 和研发计划)。3. 大公司和创业公司的不同(基础服务、业务系统、使用的编程语言、各个终端技术、本地只搭建测试环境、生产服务都放公有云)。
评分:10
卖桃者说第 50 期 | 风险管理:不能盲目乐观,凡事都应该有B计划
收获:什么是风险管理?:风险 = 损失 x 发生概率、风险管理重要吗?:被动应对(风险已经发生,造成了问题才被动应对)、有备无患(事先制定好风险发生后的补救方案,但没有任何防范措施)、防患未然(对可能的风险做出防范,并把风险防范作为项目任务的一部分)、如何做好风险管理?:1. 培养风险意识(项目中的任务,不能盲目乐观,都思考一下它最坏的结果是什么,如果最坏的结果不能接受,就说明要有个 B 计划,考虑风险管理)、2. 管理风险(第一步:风险识别,识别可能的风险、第二步:风险量化,对风险进行评估量化、第三步:应对计划,对风险制定应对策略、第四步:风险监控,对风险进行监控预警)。
评分:9
卖桃者说第 51 期 | 极客时间手记五:产品的构建和发布(上)
收获:1. 从 MVP 到 PMF。2. 万丈高楼平地起,盘龙卧虎高山齐。3. 产品发布了,什么都没有发生。
评分:9
卖桃者说第 52 期 | 极客时间手记六:产品的构建和发布(下)
收获:1、增长模型。2、口碑营销和事实营销(口碑营销、事实营销)。3、神奇时刻。4、设置里程碑。5、副产品。6、闭环。7、管理员视角和用户视角。8、关注用户的长期价值和本质需求。
评分:9
卖桃者说第 53 期 | 如何把 GitHub 帐号打造成社交名片?
收获:整理你的 GitHub 账号、参与开源项目、打造自己的开源项目。
评分:8
卖桃者说第 54 期 | 你有错失恐惧症吗?
收获:1. 梳理的信息获取渠道、2. 与自己和解,承认你的时间和精力有限、3. 根据谷歌的 70-20-10 原则规划自己的时间、4. 思维上的断舍离。
评分:10
卖桃者说第 55 期 | 程序员练级攻略:技术资源集散地
收获:个人技术博客、油管频道、各大公司技术博客、论文。
评分:10
卖桃者说第 56 期 | 自由软件之父理查德·斯托曼
收获:他的三个主要成就:开发了 Emacs 编辑器、GNU 通用公共许可证、Copyleft,所有 GNU 程序都应遵循 “Copyleft” 原则。
评分:9
卖桃者说第 57 期 | 为什么你总是看起来很忙?
收获:有理想,但不忙着实现,那就是幻想。
评分:8
卖桃者说第 58 期 | 你在解决问题还是在制造问题?
收获:在遇到问题的时候一定要先判断以下,这个问题是真实的需求,还是自己制造出来的伪问题,甚至是麻烦。如果是后者,那还是干掉问题本身好了。
评分:9
卖桃者说第 59 期 | 我们能从失败中学到什么?
收获:看穿而不是看到,要聚焦,要取舍,要直面竞争,不要去做小数点后面的事情。
评分:10
卖桃者说第 60 期 | 最近极客时间发布的几个新功能
收获:专栏和视频课程的详情页和目录都进行了全面的改进、视频课程增加了下载功能、多级留言、其他四个使用技巧(摇一摇、搜索入口、内容分享功能入口、学习轨迹、连续播放和后台播放)。
评分:9
卖桃者说第 61 期 | 你会主动跟你的上级沟通吗?
收获:定期沟通和反馈、提前做好准备、注意上级的能力边界、根据不同的场景使用不同的沟通工具。
评分:9
卖桃者说第 62 期 | 有准备的面试才能拿到更好的 Offer
收获:求职类型、面试准备、(1. 明确自己现有的知识领域和目标职位的匹配程度、2. 技能准备、3. 目标公司)、简历、面试过程(你为什么离开、你为什么来这、你为什么总跳槽、你为什么这么长时间不跳槽、你有什么优点、你的长期规划、你的短期规划)、反馈。
评分:10
卖桃者说第 63 期 | 自律的人生和自律的程序
收获:自律人生(推迟满足感、承担责任、尊重事实和保持平衡)、自律代码(定义含义明确的接口、无副作用函数和指责单一原则、概念轮廓原则)。
评分:10
卖桃者说第 64 期 | 你对推荐算法的认知,也许都是错的
收获:误区一:推荐算法是根据用户点击率来推荐。误区二:冰箱都买完了还推荐冰箱,点了不喜欢还推荐,算法一点都不聪明。误区三:推荐算法会导致 “信息茧房”。误区四:推荐算法发展的很快,未来可以洞察人性,无所不能。误区五:算法都是公开的,竞争壁垒不高。
评分:10

极客新闻 | 苹果详解 Face ID 的安全性
收获:Face ID 使用了多个神经网络,分为面部识别和抗欺骗两类。面部识别神经网络可以应对用户穿戴帽子、围巾、眼睛、隐形眼镜以及格式太阳镜的情形;而抗欺骗神经网络则是防止使用照片或者面罩来解锁手机。
评分:8
极客新闻 | 微软加入量子计算的竞争
收获:微软的量子计算平台预览版将包括一个量子计算模拟器,以及一种集成在 Visual Studio 种的量子计算编程新语言。根据微软介绍,该平台的拓扑量子比特计算执行时间更长、一致性更好并且误差更小。
评分:10
极客新闻 | Reddit 是如何面试工程师的?
收获:招聘流程五步骤:简历筛选、电话面试、现场面试、Offer 发送、入职报到;现场面试六轮:三轮技术,三轮 QA;现场技术面试两方面:代码和算法,系统设计;回答技术问题时:可以适当求助面试官;QA 面试三环节:环节一(候选人 AMA,Ask Me Anything,面试和被面者可以问对方任何问题,相互加深对对方的了解);环节二(跨职能面试,非基础设施的工种需要和产品团队打交道,需要具备良好的沟通能力和解决冲突的能力,可以问有关产品线的问题);环节三(从更高层次以及候选人项目经验来评估候选人与职位的匹配情况,候选人可以问项目情况、公司架构以及团队路线图等问题)。
评分:10
极客新闻 | 如何理解逆变测试?
收获:生产代码应该总是越来越泛化,而测试代码应该越来越具体。这就促进了解耦。这样就是逆变,两个代码流沿着泛化轴向着相反的方向演化,直到没有新的沉降试验可以编写。
评分:8
极客新闻 | 英伟达发布人工智能相关新项目
收获:Holodeck 是一款 CAD 工具;TensorRT 3 是一款 AI 推理软件;Drive PX Pegasus 是一款应用于自动驾驶的人工智能系统;Pegasus 将四个强大的处理器组合在一个车牌大小的设备上。
评分:9
极客新闻 | Gartner:2020 年 AI 将创造 230 万个就业机会
收获:随着 NLP(自然语言处理)技术的快速发展,聊天机器人在识别用户意图、了解用户需求方面也表现得越发优秀。经 Gartner 研究发现,基于语音搜索的查询是增长最快的移动搜索类型。语音和视觉搜索正在加速移动浏览器和移动 APP 的交易增长,在许多电商网站上,基于这两者的交易额已经占据交易总量的 50%,这一趋势还将在 2018 年及以后持续进行。
评分:8
极客新闻 | 谷歌大脑团队的研究方法
收获:谷歌大脑团队也坚信培养下一代科学家非常有意义,它每年接受超过 50 名实习生,并为他们进行机器学习领域的研究提供指导;同时还启动了谷歌大脑学员计划,为对机器学习研究感兴趣的人群提供进修渠道。
评分:7
极客新闻 | 安卓统一推送联盟正式在京成立
收获:联盟的建立将进一步完善中国安卓生态的建设。联盟让终端厂商、App 开发商、第三方推送服务平台的资源得到整合,减少矛盾和利益冲突,形成协同的产业链发展格局,助力推送服务体系的建设,让中国的安卓生态更加健康和稳定。
评分:8
极客新闻 | 微软携手亚马逊发布深度学习库 Gluon
收获:机器学习的潜力只有在所有开发人员都可以访问的情况下才能体现。目前,构建和训练机器学习模型仍然需要大量的专业技能,而 Gluon 让构建神经网络和训练模型像构建应用一样简单。
评分:7
极客新闻 | 姚期智:工业界有望反向助力 AI 理论突破
收获:需要整合大数据、自然语言分析、图像识别等诸多人工智能技术,本质上是将已有的知识点按照需求进行整合。
评分:9
极客新闻 | QQ 空间已在生产环境中使用 QUIC 协议
收获:谷歌通过大规模的性能分析访问,相较于 TCP 而言,QUIC 的性能有了真正的进步。而与 HTTP/2 相比,QUIC 协议弃用了 TCP 而改用了 HTTP/2 在传输层所遇到的一些性能瓶颈,同时又具有 HTTP/2 的特性。目前的劣势是浏览器支持度比较差。
评分:7
极客新闻 | 算法比数据更重要,AlphaGo Zero 完胜旧版
收获:最大的突破在于实现了 “白板理论”。婴儿是一块白板,可以通过后天学习和训练来提高智力。人工智能(AI)的先驱图灵认为,只要能用机器制造一个类似于小孩的 AI,然后加以训练,就能得到一个近似成人智力,甚至超越人类智力的 AI。而自学成才的 AlphaGo Zero 正是实现了这一理论。
评分:10
极客新闻 | Spring Data Kay 发布最新正式版
收获:同时发布的还有 Spring for Apache Kafka 2.0,也是以 Spring 5 和 Java 8 为基准,支持事务、Kafka Streams API,并更新了 Kafka 客户端,能够更好地支持测试,改进了错误处理方式。
评分:9
极客新闻 | SaaS 与 IaaS 推动全球公有云收入增长
收获:到 2021 年有 70% 的公有云服务收入将被前 10 大公有云厂商所主导。在 IaaS 方面,亚马逊、微软和阿里巴巴已经占据强有力的市场地位。
评分:8
极客新闻 | Docker 宣布将支持 Kubernetes
收获:Docker 容器被称为容器运行时的事实标准,但在容器编排上,Kubernetes、Mesos 和来自 Docker 官方的 DockerSwarm 一直处于竞争状态,而来自谷歌的 Kubernetes 以其高效、简便、高水平的可移植性等优势占领了绝大部分市场。。
评分:8
极客新闻 | 谷歌发布 Android Instant Apps SDK 1.1
收获:当用户需要使用或浏览某个未安装的应用时,系统可以自动加载其中的内容并打开它。在这个过程中,用户不需要安装这个应用,这在很大程度上方便了用户,也为手机省去了安装所需的内存。
评分:8
极客新闻 | GitHub 发布 2017 年度开发者报告
收获:一、GitHub 用户数已达 2400 万。二、GitHub 上最后欢迎的编程语言:JavaScript 第一,Python 第二,Java 第三。三、近 70 万中国开发者加入 GitHub。四、上百万学生和老师把 GitHub 当成学习与教授的地方。五、TensorFlow 当选最火热项目。
评分:8
极客新闻 | 库克:学习编程比学习英语更重要
收获:无论是政治家还是科技公司高管,越来越多的知名人士都在强调编程的重要性,编程已经成为大家心目中非常重要的一种技能。。
评分:8
极客新闻 | 谷歌发布文档数据库 Firestore
收获:用于移动、网络和服务器应用的文档数据库。
评分:8
极客新闻 | MDN 成立产品顾问委员会 PAB
收获:近几年,各家浏览器之间的合作多了很多,前端开发者的日子也好过了很多,希望这样的合作继续下去,让浏览器兼容不再成为问题。
评分:8
极客新闻 | 张建锋:互联网第三波浪潮来袭
收获:智联网、新一代人及自然交互、机器智能。
评分:9
极客新闻 | 阿里巴巴开源 AliOS Things,布局物联网
收获:全栈物联网操作系统。
评分:8
极客新闻 | 2017 全球 Chrome 浏览器加密网页突破 70%
收获:现在,HTTPS 加密已经比过去更简单、更便宜,不仅能够保证网站服务的性能,也能保护用户的敏感数据。
评分:9
极客新闻 | IBM 开源 Java 微服务运行时环境 Open Liberty
收获:Open Liberty 与其他应用服务器最大的不同之处,首先在于配置的简易性,他们努力让配置变得简单易用,配置文件可以被提交到版本控制系统里,这样就可以和代码放在一起了,这对于 DevOps 来说是一个好消息。
评分:8
极客新闻 | 100% 代码覆盖还值得追求吗?
收获:函数覆盖率 > 分支覆盖率 > 语句覆盖率。
评分:9
极客新闻 | 如何成为 10x 数据科学家?
收获:首先,要了解业务。其次,要了解数据。最后,要了解代码设计。
评分:8
极客新闻 | Visual Studio 15.4 发布,新增多平台支持
收获:延续了支持 。NET Standard 2.0 和通用 Windows 平台即 UWP 的承诺。.Net Standard 2.0 支持是微软推动跨平台应用开发和代码重用战略的重要一环。
评分:8
极客新闻 | Uber 开源数据流分析平台 AthenaX
收获:能将各查询编译为可靠、高效的分布式应用,同时管理该应用的完整生命周期,这允许用户仅专注于最为核心的业务逻辑。其大大简化了流分析任务处理方式,使得所有技术水平的用户都能将大规模流分析应用,快速引入到自己的生产环境中,帮助大家轻松构建起自己的。
评分:7
极客新闻 | Bustle 的 GraphQL 实践
收获:首先解决了人员沟通文件。GraphQL 为 API 或文档的变更提供了开箱即用的解决方案。它是一门比 REST 更加严谨的 API 开发语言,它强制你开发出更好的 API,同时可以自动生成文档。它自带的 API 浏览器(explorer)完全是自动化的,节省了开发时间,加快了开发速度。
评分:8

每日一课 | 如何快速对应用系统做一个 360 度的画像诊断?
收获:进程消耗 CPU;内存利用率暴增;数据库连接数被耗尽;各种 OOM;线程死锁;锁争用;上下文切换太频繁。
评分:10
每日一课 | 支付系统中,有哪些技术问题可能会引发资金损失?
收获:问题的产生:人为操作不当、系统逻辑错误、并发场景处理不当、网络异常、查询和通知问题、接口幂等性问题、状态同步问题、重复提交问题;前后端防重:前端防重(禁掉提交按钮、数据库加索引、Redis 加锁、token 校验)、后端防重(数据库乐观锁、有限状态机、白名单)。
评分:10
每日一课 | webpack 构建如何更合理地实现多页面打包?
收获:一、 制定合理的 entry 匹配规则;二、实现 entry 的动态计算;三、根据 entry 的 key 值增加对应的 html-webpack-plugin。
评分:9
每日一课 | 面试中如何通过 HashMap 展示你在数据结构方面的功底?
收获:数据结构中的 Hash 表和 Hash 算法;Hashmap 里为什么能够一枪命中;重写 hashcode 方法和 equals 方法;面试中引出相关话题的技巧。
评分:9
每日一课 | iOS 如何优雅地协同滚动多个子 ScrollView?
收获:1. 如何实现多个滚动视图互不干扰的滚动,交接时保持流畅?:layoutSubviews 函数;2. 在满足协同流畅滚动的同时,需要考虑哪些通用的优化处理?:性能上滚动流畅、结构上易于扩展、复用、预加载。
评分:9
每日一课 | 新闻类 App 是如何展示资讯内容的?
收获:如何兼顾多端统一的内容展示,保证敏捷开发?如何突破瓶颈,优化展示逻辑,提升展示的速度?面对复杂的交互内容,如何进一步优化交互体验?。
评分:9
每日一课 | 如何对 JS 文件进行类型检查?
收获:引入 TypeScript;好的编辑器:VS Code:JSDoc、d.ts 文件、jsconfig.json。
评分:10
每日一课 | Vue 中修改了数组数值,为什么界面没有更新?
收获:由于 JavaScript 的限制,Vue 不能检测以下数组的变动:当你利用索引直接设置一个数组项时,例如:vm.items[indexOfItem] = newValue;当你修改数组的长度时,例如:vm.items.length = newLength。
评分:9
每日一课 | Java 中将接口和实现放在同一层里对吗?
收获:无环依赖原则(ADP)、稳定依赖原则(SDP)、抽象稳定原则(SAP)、依赖倒置原则(DIP)、主适配器 Driving Adaptor、次适配器 Driven Adaptor、端点(接口)。
评分:10
每日一课 | C++ 中如何深入理解左值、右值与右值引用?
收获:右值:xvalue(Expiring Value,将亡值)、prvalue(Pure Right Value、纯右值);纯右值:函数返回的临时变量值、字面量值、lambda 表达式;将亡值:在 C++ 版本中新引入的跟右值引用相关的表达式类型;使用基于右值引用的语义转移过程:省去重新分配内存空间的过程,可以在一定条件下提升应用的整体运行效率;RVO 与 NRVO:编译器厂商会同时使用的编译器优化技术,以对函数的对象返回值类型进行临时值上的优化;常量左值类型(const T&)的好处:可以被进行取地址操作;将亡值:资源能够被重新使用的对象(“std::move” 函数的返回值;返回值被标记为右值引用(&&)的函数)。
评分:8
每日一课 | 如何快速设计出一套实用的监控系统?
收获:要监控的层面:基础设施(硬件、网络、操作系统/容器、主机)、中间件和公共服务(JVM、MySQL、Redis、Tomcat、Nginx)、应用服务(服务状态、服务错误数、调用链、订单状态类、耗时类、实时统计类)。
评分:10
每日一课 | C++11 中简单好用的新语法特性有哪些?
收获:auto 关键字(有时会出 BUG):类型占位符。decltype 关键字:匿名枚举类、匿名结构体、匿名联合体、增强模版泛型的能力。基于范围的 for 循环:冒号前(用于进行迭代的具体变量)、冒号后(将要被迭代值的具体范围)。其他好用特性:lambda 表达式、 constexpr 关键字、智能指针。
评分:8
每日一课 | 如何从容地应对生产事故?
收获:一、事故洞察;二、事故分析;三、事故升级;四、事故应对;五、事故复盘;六、完善方案池;七、故障演练;解决事故的参与者。
评分:10
每日一课 | 如何利用有效的资源扛住 618 大促流量?
收获:梳理清楚部署及调用情况、外网网关机房部署比例、对接口调用情况进行梳理、接口重要程度识别、识别业务风险点(制约性能上限)、性能测试报告、分层优化。
评分:10
每日一课 | TLS1.3 原理以及在 Nginx 上的应用
收获:椭圆曲 DH 密钥交换、魏尔斯特拉斯椭圆函数、蒙哥马利曲线。
评分:8
每日一课 | 究竟要不要使用 React Hooks?
收获:Class、fx 组件 + React Hooks(解决代码复用问题:高阶组件、函数作为子组件。最大的好处:关注分离、代码复用)。
评分:8
每日一课 | React 中如何实现模块的按需加载?
收获:React.lazy(加载中、加载完成、可以被 Suspense 进行处理)、import(动态 import、动态加载模块、ES6 语法规范)、Suspense。
评分:9
每日一课 | 如何快速对请求链路的关键点进行网络问题排查?
收获:确认是否存在队列阻塞、Linux 系统文件句柄、内核文件增大软限制和硬限制。
评分:9
每日一课 | HTTP/2 能带来哪些性能提升?
收获:HTTP 协议的五个精准定位、五个特点所带来的新问题、问题解决途径。
评分:10
每日一课 | 服务发现技术是如何演进出来的?
收获:集中式代理、客户端嵌入式代理、主机独立进程代理。
评分:10
每日一课 | JavaScript 中如何优雅地实现函数防抖?
收获:定义 debounce 函数,并接受 fn 和 timeForWait 两个参数。
评分:9
每日一课 | JavaScript 中如何封装一个具有自动失败重试功能的 HTTP 模块?
收获:async 和 await 来实现。
评分:10
每日一课 | 如何理解现代发布策略?以 Kubernetes 为例
收获:蛮力(Brute Force)发布、滚动发布(Rolling Update)、蓝绿发布(Blue/Green 发布)、金丝雀发布(Canary)、A/B 测试。
评分:10
每日一课 | 前端 Router 是怎么实现的?
收获:使用 URL 的 hash 来模拟一个完整的 URL。利用浏览器的 history API。
评分:10
每日一课 | 为什么 CSS 要放在 header 底部,JavaScript 要放在 body 底部?
收获:为了提高用户体验。
评分:8
每日一课 | 使用 Vue 开发小程序是怎么做到的?
收获:小程序渲染原理、使用 Vue 开发小程序、实现思想。
评分:9
每日一课 | 大厂前端面试中经常提到的 Promise 要如何实现?
收获:Promise/A+ 规范内容:每个实例只能有三个状态(Pending、Fulfilled、Rejected)、只能从 Pending 到 Fulfilled 或 Pending 到 Rejected、状态变化不可逆、可以被调用多次并返回一个 Promise 对象、内部保存一个 value 值,用来保存上次执行的结果值、如果报错,则保存的是异常信息。
评分:10
每日一课 | 如何读懂 Babel 转换出的 JavaScript 代码?
收获:Babel 的基本构成(.babelrc 配置文件包含:presets 和 plugins、.babelrc 配置文件包含:presets 和 plugins)。Babel 是如何读懂 ECMAScript6 代码的(转换 const 和 let 成 var;箭头函数里的 this 指向的是外层对象;参数扩展符;模块化写法)。
评分:8
每日一课 | 如何利用 ClassPath 解决 Java 开发工程问题?
收获:设置 ClassPath、IDEA 启动时,-classpath 参数里的内容、IDEA 启动应用前、覆盖类时,应用的 -classpath 分为三部分、IDEA 启动测试时,它的 ClassPath 有三部分、ClassPath 知识点、IDE 启动时,ClassPath 的顺序、ClassPath 的顺序。
评分:9
查看《每日一课》原文

编辑训练营 | 为什么说编辑要重视文字规范?
收获:文字规范:“小” 错误,有 “大” 成本。对症下药,才能真正解决问题:1. 不拒绝问题,才能进一步解决问题、2. 如何改掉 “粗心” 的毛病,提升文字质量?、你可能不是 “粗心”,而是知识体系有欠缺、好编辑,应该有文字洁癖;参考资料:《标签符号用法》、《出版物上数字用法》、《新华字典》、《图书编辑校对实用手册》、《作者编辑常用标准及规范》。
评分:10
编辑训练营 | 如何发现并纠正文章语病?
收获:一、何谓病句及正确句子的语法结构。二、病句出现的常见雷区。三、最常见的四大病句类型:1. 语序不当(常发于:并列定语与宾语)(让长定于先行、短定语紧贴宾语)、2. 结构混乱(常发于:主语、谓语、状语、宾语)(抽离主句中的主语,将该主语套在每个半句上,如果半句中缺失主语不能与抽离的主语吻合,就一定产生了主语的偷换)(谓有否,宾状不可否);3. 成分残缺(常发于:代词、宾语)或赘余(常发于:代词、介词)(砍掉句子中所有的定、状、补及各种从句,保留下来的主、谓、(宾)是否能独立成句,如果不能,则一定出现了成分残缺)(先定位清楚补足语内(比如例子中的后半句)是否包含主、谓、(宾)等成分)(只有当 ”对于“ 接定于成分或单独的主语内容,那么才是正确的语境);4. 搭配、指代不当(常发于:介词、动词、代词、关联词)。四、语病 Checklist(因此,为了更好地帮你记忆正确的语法结构,我也为你建立了一个简单的 ”语病 Checklist“,如果你的句子出现了以下任一问题,那基本上可以断定 80% 以上的可能性会是病句);长句子系列;用词系列。五、培养你的语感。
评分:8
编辑训练营 | 到底该怎么理解技术采用生命周期?
收获:技术采用生命周期:第一类人群称为创新者、第二类人群称为早期采用者、第三类人群称为早期大众、第四类人群称为晚期大众、第五类人群称为落后者。跨越鸿沟。衡量方法:InfoQ 的可以做些什么(报道一些成功案例、解决方案,也可以多做一些深入浅出的文章帮助大家入门)、怎么才能知道技术发展到了哪个阶段(借助 QCon、ArchSummit 大会,与 300 为不同行业,不同领域,不同规模公司的主要技术负责人沟通,了解他们对于目前我们所关注技术的采用情况。对沟通情况数据进行整理,计算对应技术的采用率,并根据采用率数据,把相关技术对应到技术采用生命周期中。与行业关键意见领袖沟通,对于上述客观计算出的技术采用生命周期曲线做主观层面的微调)。推荐书籍:《创新的扩散》
评分:8
编辑训练营 | 如何取一个好的文章标题?
收获:标题是文章的第一句话,它决定用户是否对你产生兴趣。什么是好标题?:好的标题应该是 “真实可信” 的、具有 “冲突感” 的、能和用户产生 “共鸣” 的。怎么取一个好标题?:1. 巧用数字,把复杂的概念具像化、2. 设置悬念,引发用户好奇心、3. 扩大外沿,增加潜在受众群体、4. 移动端、Web 端,相同内容两种标题。当在微信公众号等移动端展示时,标题的冲突性很受用户喜欢(但现在已经不好使了)。好标题三大要素总结:真实可信、营造冲突感、引发共鸣。
评分:8
编辑训练营 | 怎么才能写出一篇好新闻?
收获:什么是好新闻:用概括的叙述方式,以简明扼要的文字,迅速及时地报道新近发生的、有价值的事实,使一定人群了解。好新闻的三个关键部分:概括的叙述方式、简明扼要的文字(谁、何时、何地、何事、为何);迅速及时地报道新近发生的事(快是王道);有价值的事实,使一定人群了解(要帮助用户去甄选、判别值得他们关注的新闻)。养成刷线索的习惯的几个维度:Hacker News、Reddit 等聚合类线索源,当天的重磅、热点事件;你所关注公司、人的社交媒体;你所负责技术领域的一些公司技术博客、技术网站或者开发者社区;三个关键点:文字简洁(新闻事件补充背景信息,从而让信息更为丰满)、快(想要比别人快,就要比别人勤奋)、有价值(提升技术敏感度,多找专家去采访、交流、吃饭聊天)。如何写一个好的正文:提出三个用户可能产生的疑惑,同时确保你已经就这些疑惑提供增量信息。
评分:9
编辑训练营 | 和专家沟通出现冲突时,我该怎么办?
收获:沟通不畅,很可能只是准备不足?:首先,关于目的、其次,关于沟通对象、再次,准备内容你预设场景了吗?、最后,自己的状态(你能做到每次沟通前都 “重启” 自己的状态吗?)。不会倾听就不会沟通,太夸张了吧?:对他人真心好奇,就这么简单。用数据说话,到底有多厉害?:你有一个论点,那就要有几个论据来支撑,最好的论据当然是数据和事实了。坦诚沟通,能解决所有问题吗?:坦诚沟通不一定能解决所有的问题,但这是通往解决所有问题的唯一路径。
评分:9
编辑训练营 | 如何快速找到各个领域的专家?
收获:高效的搜索技巧:Google hacking(1. 搜索指定网站的内容、2. 搜索特定类型的文档、3. 对关键词进行逻辑运算,以找到更精确的结果)、最常用的三种 Google hacking 技巧(1. 通过相关参数来匹配具体需求、2. 用逻辑运算来进行关键词组合、3. 特殊符号)、通过哪些渠道找讲师(1. 技术会议、现在技术论坛(meetup);2. 技术媒体 / 博客 / 公众号文章作者 / 技术社区;3. 技术图书作者或译者;4. GitHub 开源项目贡献者;5. 微博等社交网站;)、如何与意向讲师取得联系(1. 多从个人主页找信息;2. 尽可能地多搜集和这个老师相关的资料,然后组合多个关键词进一步检索;3. 留意会议的演讲视频或者演讲文稿的开头和结尾;4. 擅用其他查询工具;5. 猜测微信 ID;6. 进一步确认是否有共同好友)。
评分:8
查看《编辑训练营》原文
 

英文

导师盒 | 做自己的老板
收获:做自己懂的喜欢的又容易产生收益的事业。
评分:10
导师盒 | 危机管理 - 埃里克·德岑霍尔
收获:由于大众认知的偏差,你无法满足所有人,只要照顾好那 18% 与你产生共鸣的市场足矣。
评分:9
导师盒 | Instagram 高级营销 - 丹·弗莱什曼
收获:发布高质量内容:业务相关、符合实际情况、让读者愉悦;关注:常人觉得有趣的内容(非政治类、非种族歧主义类)、看竞争对手在做的事、看其他人在做的事。
评分:9
导师盒 | 三个能即时增加网站任意页面的参与度的高级技巧 - 亚历克斯·莫尔
收获:技巧一、有一个好的标题:为什么访客需要看这个界面:顶部显示能给终端用户带去的好处、以访客为中心、处在顶部并居中、两个重要的好处(更优惠、更快)、五至十二个单词(包含数字信息)。技巧二、进行 A/B 测试,但别被它骗了:A/B 测试是一个工具,不是一个信仰、主要的问题是显著性差异、太多其他变数以及一些工具的非正规归纳方式、比没有信息还糟糕的是相信误导类信息、可能有用的代替方法(A/A-B/B 测试)。技巧三、不要强迫方可做决定:避免交叉设计,这会带来决策疲劳、大多数人不是因为他们不喜欢你的产品而不去购买,而是因为拖延症、避免两列布局、使其易用并可用(不是扫描或抓取信息)。
评分:10
导师盒 | 病毒视频剖析 - 泰·洛佩兹
收获:主要故事主题(M.S.T.):学的越多,赚的越多。发布的信息需要有 70%(可预测) 与 MST 一致,其余的 30%(不可预测) 可以随机一些,如果一切都可预测,那将很乏味。为 MST(吸引眼球) 选择一个行业(收益):UFC/拳击=Underdog、Tai Lopez 教育=学得多赚得多、Rock Entertainment=Loveble Big Strong Guy、PewDiePie Video Game=Joker/Crazy。欧拉回路命运:赞扬、业余时做的事情、敌人的补充、成长的环境、个性测试。
评分:10
导师盒 | 用 Snapchat 来推广公司业务 - 克里斯·瑞克特
收获:每天发布到 Snapshot 的内容将成为其故事的一部分。故事可以使人相信你说的话。由于大家在默认情况下都是静音查看每个消息,所以如果发布的是视频内容,请添加字幕。确保只发布圈内相关的消息。
评分:9
导师盒 | 给网站引入更多流量 - 布雷特·费尔勒
收获:发布线性的小测试。使用正确的语言。
评分:8
导师盒 | 如何为你的品牌引入大流量 - 安东尼·马塞洛内
收获:1. Instagram 的价值(好内容、直接访问至影响人物、切换至商务账户)。2. 对标你的服务(普通的页面、个人的页面)
评分:9
导师盒 | 销售的科学 - 杰尔曼·加西亚弗雷斯科博士
收获:理性大脑(做所有的决定、等红绿灯、做数学题)。情绪大脑。原始大脑/爬虫类脑(产生恐惧以激活防御机制并失去理智)。两种销售人:操作性销售人员(他们的最终目的是卖东西)、关系型销售人员(激发信任、客户愿意与其保持联系、在销售之前提升多巴胺等正向奇妙感觉的等级)。使客户开心的们买卖:让客户产生紧迫感,再给其提供可消除紧张情绪的服务或产品,使其感受到被多巴胺环绕的感觉,并自发完成销售。
评分:10
导师盒 | 租或买房住 - 泰·洛佩兹
收获:没有什么钱的情况下,就租房住。或者有钱的情况下,把买房的钱拿去投资、创业。贝索斯拿着七万存款去创办而不是买房,所以他损失了几百万而不是几百亿。投资房产之前先亲身去实地居住一段时间,如果好租的话,就可以买。
评分:10
导师盒 | 拓展现有业务 - 克里斯·瑞克特
收获:初期只逐个招聘技能紧缺的职位进行远程办公。把每件事当成事业来做,假设你一直都有很多潜在客户。从小买卖开始,售卖类似 MVP 的产品,见效后逐步改进并提供新的收费服务或产品。
评分:10
导师盒 | 睡得更好 - 肖恩·史蒂文森
收获:没有时间锻炼,就有时间的病。
评分:10
导师盒 | 正向思维培训 - 马克·达玛
收获:心理学:让有问题的人正常。正向心理学:让正常的人更好。精神韧性的组成成分:爱、高兴、感激、希望、自豪。
评分:10
导师盒 | 你的饮食与你的大脑 - 杰尔曼·加西亚弗雷斯科博士
收获:习惯改变:渐渐改变、偶尔来一次欺骗日(顿欺骗餐)。最大的敌人:果糖(水果)、自由基(氧化)、葡萄糖。
评分:10
导师盒 | 商务旅行技巧 - 奥斯汀·迪斯特尔
收获:全球入境计划、汇率、信用卡。
评分:6
导师盒 | 在播客上被预约 - 科林·汤普森
收获:能接触到更多的人、为客户着想,给他们提供有用的信息。
评分:9
导师盒 | 从报纸上获得宣传 - 尤利西斯·奥苏纳
收获:不能付钱给贡献者/记者/编辑或给其送礼物、巴结的结果(拉黑、坏印象)、可以付钱给做 SEO 的人、四大谬论(杀手级故事、需要连接、需要大量的信用度、欠你一个故事)、没有获得报道的情况下应该首先去的地方(successstory.com、pressstory.com、influencive.com、huffingtonpost.com、thriveglobal.com)。
评分:9
 

书籍

反脆弱:从不确定性中获益
第 1 章 - 达摩克利斯之剑和九头蛇怪
收获:生活中的一半事物未被命名、命名的必要性、反脆弱性的原型、领域独立就是领域依赖。
评分:9
反脆弱:从不确定性中获益 - 纳西姆·尼古拉斯·塔勒布
第 2 章 - 随处可见的过度补偿和过度反应
收获:知识分子往往关注的是随机性(脆弱性)带来的负面反应,而非正面反应(反脆弱性)。对挫折的过度反应所释放出来的多余能量成就了创新!。如何在跑马比赛中取胜。论暴乱、爱和其他意料之外压力受益者的反脆弱性(你的堡垒筑得越高,我们就越有力量)。请将该书列为禁书:信息的反脆弱性。
评分:10
第 3 章 - 猫与洗衣机
收获:压力就是知识(反之,知识也可以是压力)— 有机体与机械 — 在现代化主宰了 200 年后,现在该唤醒我们体内的野性了。复杂系统:压力源即信息、机械体或有机体/生物体或非生物体(机械体,非复杂系统:需要持续修复和维护、厌恶随机性、无须恢复、相互依赖性低或没有、压力导致材料疲劳、常用导致老化/消耗、在冲击下会反应不足、时间只会带来老化。有机体,复杂系统:自我修复、喜欢随机性/小幅变化、在受压后需要恢复、相互依赖性高、缺乏压力导致萎缩、闲置导致老化、在冲击下会反应过度、时间带来老化和衰老)。均衡,不再均衡:针对儿童的犯罪(我们不仅厌恶压力,也不理解压力,殊不知,彻底消除波动和变化只会危害生命、生活、科学和智慧。除了伤害孩子,我们还会危害社会和我们的未来。旨在减少儿童生命中的变化和波动的举措却也会降低我们这个所谓的 “伟大的全球化社会” 中的多元性和差异性)。受到翻译的惩罚:一个能说流利英语的人,举着一块把我的名字拼错的牌子,在机场迎接我,没有压力、没有歧义,不用使用任何从丑陋的教科书上接触到的俄语、土耳其语、克罗地亚语或波兰语。观光化:我们现代人的生活要收到诸多条条框框的约束,即使在我们的休闲时间(周五晚上看歌剧、某个晚上参加约定好的聚餐、预定的活动、预定的笑声。再次叹息,我们住在 “金色” 的监狱里)。对机遇的秘密渴望:如果我能预测我未来每一天的轨迹,那么我会感觉自己身体的一部分已经死了;现代生活中充斥着原本可以避免的慢性应激损伤。大自然才是伟大的反脆弱专家。
评分:10
第 4 章 - 杀死我的东西却让其他人更强壮
收获:对一个人具有反脆弱性的东西,对其他人而言则是脆弱性的 — 我们何时引入了想的太多、做得太少的理念 — 失败是为了他人的成功 — 终有一天,你会收到感谢信。反脆弱性的层级:进化和不可预测性(进化最有趣的一面是,它是依赖反脆弱性实现的;它喜欢压力、随机性、不确定性和混乱 — 而个体生物则相对脆弱,基因库正是利用冲击来确保优胜劣汰,提高整体的适应力)、有机体即群体,群体即有机体(当你禁食的时候,坏的蛋白质将首先被分解,并通过你自己的身体再生,这个过程被称为细胞自噬)。错误,谢谢你:从他人的错误中学习(彼此负相关/独立的错误发生会降低未来犯错的概率。自然是在非系统性的错误中学习和改进的)、怎样成为特里莎修女(犯罪的人要比那些从来没犯过罪的人更可靠。犯了很多错误的人要比那些从来没有犯过错的人更可靠)。为何整体厌恶个体(要让经济具有反脆弱性,并经历所谓的进化,每个独立的企业都有必要是脆弱的,面临着奔溃的风险进化需要有机体死亡,并被其他有机体取代,以实现整体改善,或淘汰适应力不如其他有机体的生物):。杀不死我的,会杀死其他人:我和我们(如果不打破个体的利益,整个经济体就无法生存;一味地保护是有害的,为了个体的利益制约进化的力量似乎毫无必要)、美国创业者日(创业就是一个高风险、英雄式的活动,对经济的增长,甚至仅仅是生存来说都至关重要)。
评分:10
外卖战略:抢占餐饮的下一个主战场 - 闫寒
第 1 章终局思维看外卖 - 餐饮行业发展趋势和外卖发展趋势分析
收获:选择行业和选择股票的逻辑差不多,我们都要在它价格尚低且处于高速增长时入手。
评分:9
第 1 章终局思维看外卖 - 外卖爆发式增长的原因
收获:堂食和外卖的依赖元素不同。餐饮行业的发展依赖一个重要元素:饮食文化。外卖行业不光要做饭给你吃,还需要能够在 “你在家,我在餐厅” 的时候顺利沟通订单和服务需求。
评分:9
 

影视

濕婆神/眾神之神 第1集
感想:中国神话里有七仙子,印度神话里有七仙人…
评分:9
 

好歌

Thank U, Next - Ariana Grande
Eastside - Benny Blanco, Halsey, Khalid
Shower - Becky G
Cool Again - Shoffy, Prince Fox
 

新奇

百日编码挑战计划:#100DaysOfCode
每天花一小时在编码上,持续一百天。
百天挑战计划:#100DaysOfX Challenges
一个打卡一百天的地方,建议不要同时接收超过 2-3 个挑战,包括但不限于:健康、编码、设计、音乐、阅读、写作、烹饪、健身、瑜伽等分类。
CSS 颜色渐变:uiGradients
如题所示,这是一个提供了很多种 CSS 渐变色代码的网站。

 

末了

希望你在吸收了这些精华之后,能与我一起,茁壮成长…

下期我们,不见不散!

你可能感兴趣的:(栋的月结)