03__核心分析逻辑:所有的性能分析,靠这七步都能搞定

你好,我是高楼。

我之前看过一些性能分析方法论,比如 SEI 负载测试计划过程、RBI 方法论、性能下降曲线分析法等等,这些观点很多只是停留在概念和方法论的层面,并没有具体的落地细节,让人看了之后也不知道怎么进一步做下去。像这样的方法论,在我看来完全没有必要存在。

03__互斥锁(上):解决原子性问题

第一篇文章中我们提到,一个或者多个操作在 CPU 执行的过程中不被中断的特性,称为“原子性”。理解这个特性有助于你分析并发编程 Bug 出现的原因,例如利用它可以分析出 long 型变量在 32 位机器上读写可能出现的诡异 Bug,明明已经把变量成功写入内存,重新读出来却不是自己写入的。

03__换个角度解决问题:服务端推送技术

你好,我是四火。

今天我们继续和 HTTP“过不去”。在上一讲,我们讲到了 HTTP 在安全传输方面的局限,并介绍了怎样使用经过 TLS 加密的 HTTPS 连接来解决这样的弊端。

03__汇编:编程语言的诞生

你好,我是七牛云许式伟。

在上一篇文章中,我们一起解剖了架构大厦的地基:冯·诺依曼体系。接下来,我们就开始沿着这座大厦攀登,一起来聊聊编程语言。

对于现代计算机来说,虽然 CPU 指令是一个很有限的指令集,但是 CPU 执行的指令序列(或者叫“程序”)并不是固定的,它依赖于保存在存储中的数据,由软件工程师(或者叫“程序员”)编写的软件决定。

03__基础架构:etcd一个写请求是如何执行的?

你好,我是唐聪。

在上一节课里,我通过分析 etcd 的一个读请求执行流程,给你介绍了 etcd 的基础架构,让你初步了解了在 etcd 的读请求流程中,各个模块是如何紧密协作,执行查询语句,返回数据给 client。

03__架构思维:数字化转型如何落地?

你好!我是付晓岩。

前面两节课,我们学习了历史思维,弄清楚了数字时代的特征和要注意的发展趋势,同时,我们还学习了生态思维,找到了建立核心能力和生态关系的思路,那么,我们怎么把这些认知和思路落地呢?这就要用到架构思维了。可以说,架构思维是这门课里最核心的、起到方法论与实践连接作用的思维模式。

03__教练技术:怎么做复盘才能化解冲突?

你好,我是张鹏!

上一讲我介绍了 CLAP 模型的使用方法。但是在实际做复盘的时候,你可能会经常遇到一个问题,那就是不同部门的员工之间发生冲突。

其实,大部分的冲突都是心态失衡引发的情绪冲突,也就是说,出于某些原因在主观情感上盲目地相信或者刻意地回避一些事情,所以固执地坚持错误的判断。比如,因为被质疑挑战之后面子上挂不住,就上头了,激动地跟人抬杠;又比如因为害怕被追责惩罚,就拼命地甩锅。

03__揪出隐藏在背后的那些子项目

你好,我是温铭。

我们先来揭晓上一节最后留下的思考题,如何把 Lua 代码从 nginx.conf 里面抽取出来,保持代码的可读性和可维护性呢?

操作其实很简单。

我们先在 geektime 的工作目录下,创建一个名为 lua 的目录,专门用来存放代码: