02__如何设计一个“好的”测试用例?

在上一篇文章中,我以“用户登录”这一简单直接的功能作为测试对象,为你介绍了如何设计测试用例。现在你应该已经知道,为了保证软件系统的质量,测试用例的设计不仅需要考虑功能性需求,还要考虑大量的非功能性需求。

02__如何写出你的“hello_world”?

你好,我是温铭。今天起,就要开始我们的正式学习之旅。

每当我们开始学习一个新的开发语言或者平台,都会从最简单的hello world开始,OpenResty 也不例外。让我们先跳过安装的步骤,直接看下,最简单的 OpenResty 程序是怎么编写和运行的:

02__如何制定性能调优策略?

你好,我是刘超。

上一讲,我在介绍性能调优重要性的时候,提到了性能测试。面对日渐复杂的系统,制定合理的性能测试,可以提前发现性能瓶颈,然后有针对性地制定调优策略。总结一下就是“测试 - 分析 - 调优”三步走。

02__生态思维:企业怎么找准自己的定位?

你好!我是付晓岩。今天,我想和你聊一聊,在数字化转型中,企业必须要用到的生态思维。

说到生态,也许你立刻想到的就是跟每个人都息息相关的环境问题,比如小河的污染、气温的持续上升、沙漠化等,可以说,这些问题很大程度上都是粗放的、单纯求快的发展思路导致的。这种因果循环不是自然界才有的东西,在我们的商业领域、企业管理,甚至是技术领域,都是存在的。

02__授权码许可类型中,为什么一定要有授权码?

你好,我是王新栋。

在上一讲,我提到了 OAuth 2.0 的授权码许可类型,在小兔打单软件的例子里面,小兔最终是通过访问令牌请求到小明的店铺里的订单数据。同时呢,我还提到了,这个访问令牌是通过授权码换来的。到这里估计你会问了,为什么要用授权码来换令牌?为什么不能直接颁发访问令牌呢?

02__数据结构:快速的Redis有哪些慢操作?

你好,我是蒋德钧。

一提到 Redis,我们的脑子里马上就会出现一个词:“快。”但是你有没有想过,Redis 的快,到底是快在哪里呢?实际上,这里有一个重要的表现:它接收到一个键值对操作后,能以微秒级别的速度找到数据,并快速完成操作。

02__通信技术:设备接入网络的方式有哪些?

你好,我是郭朝斌。

在上一讲的讨论中,我们得到一个结论,物联网是互联网的发展和延伸,是由设备和人作为主体共同组成的互联网。而在设备、人和信息之间搭建联系的物联网,可以分为设备层、网络层和应用层三个层面。

02__微服务架构时代,运维体系建设为什么要以“应用”为核心?

今天我来讲一下微服务架构模式下的一个核心概念:应用

我会从这几个方面来讲:应用的起源、应用模型和应用关系模型建模以及为什么要这样做。最终希望,在微服务的架构模式下,我们的运维视角一定转到应用这个核心概念上来,一切要从应用的角度来分析和看待问题

02__为HTTP穿上盔甲:HTTPS

你好,我是四火。

在上一讲中,我介绍了互联网最重要的 HTTP 协议。可是随着互联网的发展,你会发现 HTTP 越来越无法满足复杂的需求,比如数据加密传输的安全性需求,再比如服务器消息即时推送的交互模式的需求,而这些不适性是由 HTTP 的基本特性所造成的。

02__我要不要做管理呢?内心好纠结!

上一篇文章,我们探讨了技术人常见的职业发展方向,不难看出,在做了几年技术之后,大部分技术人会把“做管理”作为一个重要选项来考虑,甚至在很多时候,你的上级会推着你带团队。你是否正处在这样一个阶段?是否犹豫过要不要做管理呢?

02__系统可用性:没有故障,系统就一定是稳定的吗?

你好,我是赵成,欢迎回来。

我们先来复习一下上一讲的内容,总结下来就是,SRE 是个体系化工程,我们通过构建 SRE 这样一套体系来保证系统稳定性,具体来说就是“提升 MTBF,降低 MTTR”。有了这样一个激动人心的目标,你是不是想着那咱还等什么,赶快、立马就入手建设 SRE 体系吧!

02__想要成功面试,先要弄懂面试过程

你好,我是白海飞。今天我分享的主题是“想要成功面试,先要弄懂面试过程”。

面试看能力,上场之前能够了解全局,熟悉细节,才能更有针对性地做足准备,做到心中有数。如果你已经参加过很多次面试了,请想一想,你真的清楚整个招聘过程吗?在你知道的那些环节背后,有什么人在主导,目的是什么,要注意什么,该做什么,不该做什么,以及有什么风险,这些问题你清不清楚呢?

02__消息收发架构:为你的App,加上实时通信功能

你好,我是袁武林。

前一篇文章中,我们从使用者的直观角度和从业者的实现维度,了解一个 IM 系统都应该具备哪些要素。但实际上,从我的角度来看,我更倾向于把“IM”看做是一门可以融入到各种业务系统中,为业务系统提供“实时交互”能力的技术模块。

02__效能度量:效果不好甚至有副作用,怎么回事?

你好,我是葛俊。今天,我来和你聊聊研发效能的度量。

在和技术管理者,尤其是高层管理者聊起研发效能的时候,常常提起效能的度量这个话题。管理学大师彼得 · 德鲁克(Peter Drucker)曾经说过,“一个事务,你如果无法度量它,就无法管理它”(If you can’t measure it, you can’t manage it)。要想提高研发效能,自然要首先解决效能的度量的问题。

02__心驰神往:受众到底喜欢怎样的故事?

你好,我是涵柏。

今天继续我们的故事旅程。经过第一课的学习,我想你已经明白了说者与听者之间为什么会产生认知差异,知道了我们应该如何应对这种差异。

但是学完了上节课,这个时候你会发现一个新的问题:我们写故事、讲故事是服务于受众的,那受众到底喜欢怎样的故事呢?

02__性能调优的本质:调优的手段五花八门,该从哪里入手?

你好,我是吴磊。

上节课,我们探讨了性能调优的必要性,结论是:尽管 Spark 自身运行高效,但作为开发者,我们仍然需要对应用进行性能调优。

那么问题来了,性能调优该怎么做呢?面对成百上千行应用代码、近百个 Spark 配置项,我们该从哪里入手呢?我认为,要想弄清性能调优怎么入手,必须先得搞明白性能调优的本质是什么。

02__学习路径:爬过这六个陡坡,你就能对Linux了如指掌

很多人觉得 Linux 操作系统刚开始学起来很难,主要是因为我们平时办公或者学习用的都是 Windows 系统,而 Windows 和 Linux 的使用模式是完全不一样的。

Windows 的基本使用模式是“图形化界面 + 菜单”。也就是说,无论我们做什么事情,首先要找一个图形化的界面。在这里面,“开始”菜单是统一的入口,无论是运行程序,还是做系统设置,你都能找到一个界面,界面上会有各种各样的输入框和菜单。我们只要挨个儿看过去,总能找到想操作的功能。实在不行,还有杀手锏,就是右键菜单,挨个儿一项一项看下去,最终也能实现想做的操作。

02__业务架构:作为开发,你真的了解业务吗?

你好,我是王庆友,今天我们一起聊聊业务架构。

作为开发人员,我们平常讨论比较多的是技术层面的东西,比如 Spring 框架、Redis 缓存、MySQL 数据库等等,我们喜欢讨论这些,是因为纯技术的东西比较通用,和业务相关性不大,沟通起来比较方便。

02__一篇文章带你快速搞定Kafka术语

你好,我是胡夕。今天我们正式开启 Apache Kafka 学习之旅。

在 Kafka 的世界中有很多概念和术语是需要你提前理解并熟练掌握的,这对于后面你深入学习 Kafka 各种功能和特性将大有裨益。下面我来盘点一下 Kafka 的各种术语。

02__预习篇_·_Dart语言概览

你好,我是陈航。

我们知道,Flutter 开发框架采用的开发语言是 Dart,所以要用好这个框架,我们必须要搞清楚 Dart 语言。

关于新技术的学习,一直以来我都非常认同一个观点:千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样才能从高维度理解问题。所以,为了帮助你更高效地掌握 Dart,以最快的速度具备开发一款 Flutter 应用的能力,今天这篇文章,我会先从 Flutter 开发的角度,和你介绍 Dart 语言出现的历史背景、特性以及未来。

02__预习篇_·_小鲸鱼大事记(二):崭露头角

你好,我是张磊。我今天分享的主题是:小鲸鱼大事记之崭露头角。

在上一篇文章中,我说到,伴随着 PaaS 概念的逐步普及,以 Cloud Foundry 为代表的经典 PaaS 项目,开始进入基础设施领域的视野,平台化和 PaaS 化成了这个生态中的一个最为重要的进化趋势。

02__原理:通过一个案例,理解FaaS的运行逻辑

你好,我是秦粤。上一讲我们介绍了什么是 Serverless,从概念的角度我们已经对 Serverless 有了一个深入的了解;那从应用角度来看,Serverless 对于开发者究竟有什么魔力呢?这一讲,我准备通过快速部署纯 FaaS 的 Serverless 应用,给你讲一讲 FaaS 应用背后的运行原理。

02__怎样做到为用户而设计?

你好,我是 Rocky。

在上节课里,我抛给你一个非常基本的问题:我们为什么而设计,从而引出体验设计的三个层次。今天,我又抛出第二个简单的问题:我们到底为谁而设计?标准答案一定是为用户而设计。

02__着眼今生:揭秘区块链技术的发展现状

你好,我是赵铭。

在上一讲中,我们回顾了区块链技术自诞生到野蛮生长的三个阶段,自政府主动干预之后,整个市场因为比特币价格的腰斩而萎靡不振,热衷于赚取热钱快钱的投机者逐渐退出,只留下了一片狼藉。

02__指令式绘图系统:如何用Canvas绘制层次关系图?

你好,我是月影。

Canvas 是可视化领域里非常重要且常用的图形系统,在可视化项目中,它能够帮助我们将数据内容以几何图形的形式,非常方便地呈现出来。

今天,我们就在上一节课的基础上对 Canvas 进行稍微深入一些的介绍,来学习一下 Canvas 绘制基本几何图形的方法。

02__制定计划:好的计划是成功的一半

你好,我是四火。

在上一讲中,我们谈到了在面试之前,从宏观上去认识和理解公司和团队需要,和大致的人才甄选标准的重要性。今天,让我们来继续深入这个话题,我将结合实际案例继续分解面试计划,讲解在操作上的要点。

02__中台种类:你听说的中台真的是中台吗?

你好,我是王健。

上一讲我带着你一起重走了近十年的中台发展之路,从时间的维度了解了中台发展的背景,也帮你分析了中台兴起背后的一些原因。

不过最后的时候我们聊到,直到目前,中台的概念仍然存在着很多迷雾,中台到底是什么?中台到底该长什么样子?有哪些种类?对企业到底有什么价值?我需不需要建中台?这些问题在你心中可能仍然没有确切的答案。

02__字段:这么多字段类型,该怎么定义?

你好,我是朱晓峰。

MySQL 中有很多字段类型,比如整数、文本、浮点数,等等。如果类型定义合理,就能节省存储空间,提升数据查询和处理的速度,相反,如果数据类型定义不合理,就有可能会导致数据超出取值范围,引发系统报错,甚至可能会出现计算错误的情况,进而影响到整个系统。

02__自己动手,实现C++的智能指针

你好,我是吴咏炜。

上一讲,我们描述了一个某种程度上可以当成智能指针用的类 shape_wrapper。使用那个智能指针,可以简化资源的管理,从根本上消除资源(包括内存)泄漏的可能性。这一讲我们就来进一步讲解,如何将 shape_wrapper 改造成一个完整的智能指针。你会看到,智能指针本质上并不神秘,其实就是 RAII 资源管理功能的自然展现而已。