05__鉴权:如何保护你的数据安全?

你好,我是唐聪。

不知道你有没有过这样的困惑,当你使用 etcd 存储业务敏感数据、多租户共享使用同 etcd 集群的时候,应该如何防止匿名用户访问你的 etcd 数据呢?多租户场景又如何最小化用户权限分配,防止越权访问的?

05__聚合和聚合根:怎样设计聚合?

你好,我是欧创新。今天我们来学习聚合(Aggregate)和聚合根(AggregateRoot)。

我们先回顾下上一讲,在事件风暴中,我们会根据一些业务操作和行为找出实体(Entity)或值对象(ValueObject),进而将业务关联紧密的实体和值对象进行组合,构成聚合,再根据业务语义将多个聚合划定到同一个限界上下文(Bounded Context)中,并在限界上下文内完成领域建模。

05__决定5G产业生态的技术标准,是怎么制定出来的?

你好,我是杨四昌。

通过上节课的学习,你已经知道了 5G 的整个产业全景图是怎样的,也对 5G 有了初步的了解。

那当前 5G 的产业生态能如此欣欣向荣,靠的又是什么呢?答案很简单:标准。万事万物要成体系都得有标准,5G 的技术标准就是 5G 产业生态的重要基础

05__快门:你看到就能拍到么?

你好,我是小麥。

在第三四节课,我们比较完整地了解了光圈和镜头的基本知识。光圈当然很重要了,但在很多情况下,只调光圈是无法满足你对照片的期望和设想的。

05__理论二:封装、抽象、继承、多态分别可以解决哪些编程问题?

上一节课,我简单介绍了面向对象的一些基本概念和知识点,比如,什么是面向对象编程,什么是面向对象编程语言等等。其中,我们还提到,理解面向对象编程及面向对象编程语言的关键就是理解其四大特性:封装、抽象、继承、多态。不过,对于这四大特性,光知道它们的定义是不够的,我们还要知道每个特性存在的意义和目的,以及它们能解决哪些编程问题。所以,今天我就花一节课的时间,针对每种特性,结合实际的代码,带你将这些问题搞清楚。

05__链接器:符号是怎么绑定到地址上的?

你好,我是戴铭。

你是不是经常会好奇自己参与的这么些项目,为什么有的编译起来很快,有的却很慢;编译完成后,有的启动得很快,有的却很慢。其实,在理解了编译和启动时链接器所做的事儿之后,你就可以从根儿上找到这些问题的答案了。

05__聊聊Kafka的版本号

你好,我是胡夕。今天我想和你聊聊如何选择 Kafka 版本号这个话题。今天要讨论的内容实在是太重要了,我觉得它甚至是你日后能否用好 Kafka 的关键。

上一期我介绍了目前流行的几种 Kafka 发行版,其实不论是哪种 Kafka,本质上都内嵌了最核心的 Apache Kafka,也就是社区版 Kafka,那今天我们就来说说 Apache Kafka 版本号的问题。在开始之前,我想强调一下后面出现的所有“版本”这个词均表示 Kafka 具体的版本号,而非上一篇中的 Kafka 种类,这一点切记切记!

05__领域驱动设计(下):如何设计统一的金融业务模型?

你好,我是任杰。这节课我想和你聊一聊怎么设计统一的金融模型。

上节课我带你了解了,如何通过领域驱动设计的方法来设计金融软件的顶层架构。我们知道了金融软件的核心原则之后,今天我们来学习实际的金融架构设计和建模,看看金融行业的一些通用的软件设计和分析方法。

05__流程变革实战案例一:研发流程的重整要点

你好,我是蒋伟良博士。聚焦战略,简化管理,实现有效增长。欢迎你和我一起学习《流程型组织 15 讲》这门课。

今天是第 5 讲,我来用案例的方式,给你分享流程变革的实战。包括这一讲和后面的几讲,我会跟你分享研发流程的重整要点、销售流程的重整要点,也包括战略流程的重整要点。通过案例我们可以很好地看到流程变革、以客户为中心、流程型组织给企业带来的再造性的、彻底性的、根本性的提升。

05__密码学:为什么说区块链站在了巨人肩膀上?

你好,我是赵铭。

在数字社会的今天,我们的工作生活离不开密码学,可以说离开密码学,我们就像是在网络世界中裸奔,毫无隐私可言。然而普通大众可能对密码学知之甚少,它就像是一位低调的守护者,默默维护着网络世界的安全。

05__面向对象编程:怎样才能写出一个“好”的类?

你好,我是 Chrono。

如果按照前几节课的惯例,今天应该是讲运行阶段的。但是,运行阶段跟前面的编码、预处理和编译阶段不同,它是动态的、实时的,内外部环境非常复杂,CPU、内存、磁盘、信号、网络套接字……各种资源交织在一起,可谓千变万化(正如我在第 1 节课里所说,每一个阶段的差异都非常大)。

05__敏捷开发到底是想解决什么问题?

你好,我是宝玉,我今天想跟你聊聊“敏捷开发”。

关于敏捷开发的实际应用,现在无外乎有以下几种常见的情形:

  • 很多团队想敏捷开发,但不知道该怎么上手;
  • 有的团队已经应用了一些敏捷开发的实践,然而效果不理想,不知道是敏捷开发的问题,还是自己实践方式不得当;
  • 有的团队听说了敏捷开发,但是并不知道它是什么。

为什么会这样呢?今天我们就围绕敏捷开发来谈一谈,看看敏捷开发是什么,能帮助我们解决哪些问题,要不要实施敏捷开发,以及怎么能应用好敏捷开发。

05__模型的分类方式

机器学习学的是输入和输出之间的映射关系,学到的映射会以模型的形式出现。从今天开始,我将和你聊聊关于模型的一些主题。

大多数情况下,机器学习的任务是求解输入输出单独或者共同符合的概率分布,或者拟合输入输出之间的数量关系。从数据的角度看,如果待求解的概率分布或者数量关系可以用一组有限且固定数目的参数完全刻画,求出的模型就是参数模型(parametric model);反过来,不满足这个条件的模型就是非参数模型(non-parametric model)

05__内存快照:宕机后,Redis如何实现快速恢复?

你好,我是蒋德钧。

上节课,我们学习了 Redis 避免数据丢失的 AOF 方法。这个方法的好处,是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。

05__全局时钟:物理时钟和逻辑时钟你Pick谁?

你好,我是王磊,你也可以叫我 Ivan。

今天,我想和你聊聊时间的话题。

“时光一去永不回,往事只能回味”,这种咏叹时光飞逝的歌曲,你一定听过很多。但是,在计算机的世界里,时间真的是一去不回吗?还真不一定。

05__全链路压测:系统整体容量保障的“核武器”(上)

你好,我是吴骏龙。

通过基础篇的学习,相信你对容量保障的相关知识已经有了基础的了解,知道了容量测试不能简单定义为压力测试,而是验证服务容量的手段;知道了容量指标分析不能只看单一指标,也学习了分析容量指标的 5 个经典问题;以及了解了容量治理可以采取扩容、限流和降级策略。

05__权衡的艺术:漫谈Web_API的设计

你好,我是四火。

今天,我们该根据之前所学,来谈谈具体怎样设计 Web API 接口了。我们围绕的核心,是**“权衡”(trade-off)**这两个字,事实上,它不只是 Web API 接口设计的核心,还是软件绝大多数设计问题的核心。

05__容器汇编_II:需要函数对象的容器

你好,我是吴咏炜。

上一讲我们学习了 C++ 的序列容器和两个容器适配器,今天我们继续讲完剩下的标准容器([1])。

函数对象及其特化

在讲容器之前,我们需要首先来讨论一下两个重要的函数对象,lesshash

05__如何安全、快速地接入OAuth_2.0?

你好,我是王新栋。

在第 3 讲,我已经讲了授权服务的流程,如果你还记得的话,当时我特意强调了一点,就是授权服务将 OAuth 2.0 的复杂性都揽在了自己身上,这也是授权服务为什么是 OAuth 2.0 体系的核心的原因之一。

05__如何从生命周期的视角看待应用运维体系建设?

还记得上周我们在讲标准化体系建设(上)的最后,我留了两个小问题,其中一个是这样的:

在对象属性识别过程中,我们进行了一些关键项的举例,但是如果换一个对象,我们有没有好的方法论来指导我们进行准确和全面的识别,而不至于遗漏?从我们今天的内容中,你有没有发现些规律呢?

05__如何快速利用_MVP_思想

你好,我是邱岳,今天我分享的主题是:如何快速利用 MVP 思想。

在上一篇 “用最少的资源给你的产品试试水”中,我们谈到了最小可用产品 MVP,并分享了几个关于它的经典案例。现在,让我们从例子里面跳出来,去看看怎么能快速地在自己的工作中利用 MVP 思想,这里有几个原则可以参考。

05__如何确保消息不会丢失_

你好,我是李玥。这节课我们来聊聊丢消息的事儿。

对于刚刚接触消息队列的同学,最常遇到的问题,也是最头痛的问题就是丢消息了。对于大部分业务系统来说,丢消息意味着数据丢失,是完全无法接受的。

05__如何统一管理纷繁杂乱的数据指标?

你好,我是郭忆。

上一节课,我讲到了各种类型的元数据,这些元数据有什么用?跟我们的数据中台又有什么关系呢?其实,元数据在指标管理、模型设计、数据质量和成本治理四个领域都发挥着作用,而这些领域构成了数据中台 OneData 数据体系。从今天开始,我将带你逐一了解元数据在上述领域的应用,首先是指标管理。

05__如何用向量和坐标系描述点和线段?

你好,我是月影。

为什么你做了很多可视化项目,解决了一个、两个、三个甚至多个不同类型的图表展现之后,还是不能系统地提升自己的能力,在下次面对新的项目时依然会有各种难以克服的困难?这是因为你陷入了细节里。

05__三角法:怎么组建复盘团队?

你好,我是张鹏。

上一讲我讲解了怎么在制度和文化层面营造复盘环境,其中很重要的一个举措就是组建复盘团队,并且做好团队成员的角色分工。这一讲,我将为你介绍具体的方法。

05__深入浅出索引(下)

在上一篇文章中,我和你介绍了 InnoDB 索引的数据结构模型,今天我们再继续聊聊跟 MySQL 索引有关的概念。

在开始这篇文章之前,我们先来看一下这个问题:

在下面这个表 T 中,如果我执行 select * from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行?

05__使用套接字进行读写:开始交流吧

你好,我是盛延敏,这里是网络编程实战第 5 讲,欢迎回来。

在前面的章节中,我们讲述了套接字相关的知识,包括套接字的格式,套接字的创建以及 TCP 连接的建立等。在这一讲里,我来讲一下如何使用创建的套接字收发数据。

05__数组:为什么很多编程语言中数组都从0开始编号?

提到数组,我想你肯定不陌生,甚至还会自信地说,它很简单啊。

是的,在每一种编程语言中,基本都会有数组这种数据类型。不过,它不仅仅是一种编程语言中的数据类型,还是一种最基础的数据结构。尽管数组看起来非常基础、简单,但是我估计很多人都并没有理解这个基础数据结构的精髓。

05__数组:一秒钟,定义_1000_个变量

你好,我是胡光,咱们又见面了。通过前几节的学习,你已经了解了基本的程序结构。我们来简单总结一下,其中第一种结构就是顺序结构,它指的是我们所写的按照顺序执行的代码,执行完上一行,再执行下一行这种的。第二种就是分支结构,主要是用 if 条件分支语句来实现,主要特征是根据表达式的真假,选择性地执行后续代码。最后一种就是循环结构,用来重复执行某段代码的结构。

05__图标(上):把现实装进你的笔记

你好,我是高伟。欢迎你继续跟我学习视觉笔记。

前面几节课中,我们学习了“点线面”、人物、容器等简单视觉元素的画法,这个过程其实就是在帮你组建属于你自己的“视觉元素后台”。

05__系统设计目标(三):如何让系统易于扩展?

从架构设计上来说,高可扩展性是一个设计的指标,它表示可以通过增加机器的方式来线性提高系统的处理能力,从而承担更高的流量和并发。

你可能会问:“在架构设计之初,为什么不预先考虑好使用多少台机器,支持现有的并发呢?”这个问题我在“03 | 系统设计目标(一):如何提升系统性能?”一课中提到过,答案是峰值的流量不可控。