31__理论五:让你最快速地改善代码质量的20条编程规范(上)

前面我们讲了很多设计原则,后面还会讲到很多设计模式,利用好它们可以有效地改善代码质量。但是,这些知识的合理应用非常依赖个人经验,用不好有时候会适得其反。而我们接下来要讲的编码规范正好相反。编码规范大部分都简单明了,在代码细节方面,能立竿见影地改善质量。除此之外,我们前面也讲到,持续低层次、小规模重构依赖的基本上都是编码规范,这也是改善代码可读性的有效手段。

31__容器存储实践:CSI插件编写指南

你好,我是张磊。今天我和你分享的主题是:容器存储实践之 CSI 插件编写指南。

在上一篇文章中,我已经为你详细讲解了 CSI 插件机制的设计原理。今天我将继续和你一起实践一个 CSI 插件的编写过程。

31__如何实现原生推送能力?

你好,我是陈航。

在上一篇文章中,我与你分享了如何使用 Provider 去维护 Flutter 组件共用的数据状态。在 Flutter 中状态即数据,通过数据资源封装、注入和读写这三步,我们不仅可以实现跨组件之间的数据共享,还能精确控制 UI 刷新粒度,避免无关组件的刷新。

31__如何提高你的商业产品收入(下)

极客时间的专栏读者你好,我是邱岳。今天我们继续商业产品话题的讨论。

上一次我们聊到了提高收入的办法,无外乎是提高定价和扩大规模,如果我们的商业产品天花板比较高,我们有可以扩张的空间,就可以着手去操作了。

31__软件测试要为产品质量负责吗?

你好,我是宝玉。从这一篇开始,我们将进入软件工程中的测试模块的学习。

说到软件测试,你一定不会陌生,尤其是如果你做开发相关岗位的话,一定是对测试又爱又恨,一方面测试从你的程序找出 Bug,然后你还要费心去修复;另一方面测试帮你发现 Bug,修复后能很好的提升质量。

31__深度和广度优先搜索:如何找出社交网络中的三度好友关系?

上一节我们讲了图的表示方法,讲到如何用有向图、无向图来表示一个社交网络。在社交网络中,有一个六度分割理论,具体是说,你与世界上的另一个人间隔的关系不会超过六度,也就是说平均只需要六步就可以联系到任何两个互不相识的人。

一个用户的一度连接用户很好理解,就是他的好友,二度连接用户就是他好友的好友,三度连接用户就是他好友的好友的好友。在社交网络中,我们往往通过用户之间的连接关系,来实现推荐“可能认识的人”这么一个功能。今天的开篇问题就是,给你一个用户,如何找出这个用户的所有三度(其中包含一度、二度和三度)好友关系?

31__时代之风(下):HTTP_2内核剖析

今天我们继续上一讲的话题,深入 HTTP/2 协议的内部,看看它的实现细节。

这次实验环境的 URI 是“/31-1”,我用 Wireshark 把请求响应的过程抓包存了下来,文件放在 GitHub 的“wireshark”目录。今天我们就对照着抓包来实地讲解 HTTP/2 的头部压缩、二进制帧等特性。

31__事务机制:Redis能实现ACID属性吗?

你好,我是蒋德钧。

事务是数据库的一个重要功能。所谓的事务,就是指对数据进行读写的一系列操作。事务在执行时,会提供专门的属性保证,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),也就是 ACID 属性。这些属性既包括了对事务执行结果的要求,也有对数据库在事务执行前后的数据状态变化的要求。

31__输入与输出:如何建立售前售后生态体系?

到这一节,操作系统作为一家外包公司,里面最核心的职能部门差不多都凑齐了。我们有了项目管理部门(进程管理),有为了维护项目执行期间数据的会议室管理部门(内存管理),有项目执行完毕后归档的档案库管理部门(文件系统)。

31__数据观:在你眼里,数据到底是什么?

你好,我是臧萌。这一节我来和你漫谈一下数据。工作这么多年来,我看待数据的态度,经历了从轻视、差不多就行,到重视和严谨对待的转变,甚至对数据有些敬畏。