44__Socket内核数据结构:如何成立特大项目合作部?

上一节我们讲了 Socket 在 TCP 和 UDP 场景下的调用流程。这一节,我们就沿着这个流程到内核里面一探究竟,看看在内核里面,都创建了哪些数据结构,做了哪些事情。

解析 socket 函数

我们从 Socket 系统调用开始。

44__测试先行:测试驱动开发(TDD)

你好,我是茹炳晟。今天我和你分享的主题是“测试先行:测试驱动开发(TDD)”。

通过上一篇文章,我们已经深入理解了什么是探索式测试,以及如何用探索式测试开展具体的测试。今天我这次分享的目的,就是和你聊聊软件测试领域中的另一个很热门的话题:测试驱动开发,也就是 Test-Driven Development,通常简称为 TDD。

44__答疑文章(三):说一说这些好问题

这是我们专栏的最后一篇答疑文章,今天我们来说说一些好问题。

在我看来,能够帮我们扩展一个逻辑的边界的问题,就是好问题。因为通过解决这样的问题,能够加深我们对这个逻辑的理解,或者帮我们关联到另外一个知识点,进而可以帮助我们建立起自己的知识网络。

44__弹力设计篇之“幂等性设计”

所谓幂等性设计,就是说,一次和多次请求某一个资源应该具有同样的副作用。用数学的语言来表达就是:f(x) = f(f(x))。

比如,求绝对值的函数,abs(x) = abs(abs(x))。

44__工厂模式(上):我为什么说没事不要随便用工厂模式创建对象?

上几节课我们讲了单例模式,今天我们再来讲另外一个比较常用的创建型模式:工厂模式(Factory Design Pattern)。

一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。不过,在 GoF 的《设计模式》一书中,它将简单工厂模式看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。实际上,前面一种分类方法更加常见,所以,在今天的讲解中,我们沿用第一种分类方法。

44__记一次双十一抢购性能瓶颈调优

你好,我是刘超。今天我们来聊聊双十一的那些事儿,基于场景比较复杂,这一讲的出发点主要是盘点各个业务中高频出现的性能瓶颈,给出相应的优化方案,但优化方案并没有一一展开,深度讲解其具体实现。你可以结合自己在这个专栏的所学和日常积累,有针对性地在留言区提问,我会一一解答。下面切入正题。

44__如何构建自己的Flutter混合开发框架(二)?

你好,我是陈航。

在上一篇文章中,我从工程架构与工作模式两个层面,与你介绍了设计 Flutter 混合框架需要关注的基本设计原则,即确定分工边界。

在工程架构维度,由于 Flutter 模块作为原生工程的一个业务依赖,其运行环境是由原生工程提供的,因此我们需要将它们各自抽象为对应技术栈的依赖管理方式,以分层依赖的方式确定二者的边界。

44__实战(四):“画图”程序后端实战

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

上一讲我们介绍了帐号与授权相关的基础体系,并重点介绍 OAuth 2.0 背后的逻辑。今天我们开始考虑如何让 QPaint 引入帐号与授权体系。

最常规的做法,当然是自己建立一个帐号数据库,做基于用户名 + 密码的登录授权并转为基于 Cookie 的会话(Session)。示例如下: