21__缓冲区:一个可能引发“惨案”的地方

你好,我是蒋德钧。今天,我们一起来学习下 Redis 中缓冲区的用法。

缓冲区的功能其实很简单,主要就是用一块内存空间来暂时存放命令数据,以免出现因为数据和命令的处理速度慢于发送速度而导致的数据丢失和性能问题。但因为缓冲区的内存空间有限,如果往里面写入数据的速度持续地大于从里面读取数据的速度,就会导致缓冲区需要越来越多的内存来暂存数据。当缓冲区占用的内存超出了设定的上限阈值时,就会出现缓冲区溢出。

21__换个按钮颜色,_就能增长百万用户?

作为今天文章的开始,我先给你分享一下,硅谷最神奇的产品经理是什么样子的。他们喜欢摆弄数据、喜欢把玩产品,然后就随手指了一下,说:“咱们需要优化这个地方的体验”。然后呢,团队成员按照他的想法实施后,没几个星期,数据就直线上升了。

21__基函数扩展:属性的非线性化

虽然线性回归是机器学习中最基础的模型,但它的表达能力会天然地受到线性函数的限制,用它来模拟多项式函数或者指数函数等非线性的关系时,不可避免地会出现误差。要获得更强的表达能力,必须要把非线性的元素纳入到学习模型之中。

21__架构设计:普通程序员也能实现复杂系统?

你好,我是宝玉,我们已经正式进入到“系统设计”这个主题模块,今天我们先来聊一聊“架构设计”。

早些年,软件很简单的时候,不需要需求分析和架构设计,直接采用边写边改(Code And Fix)模型,也能做出来。后来软件复杂了,就对程序员要求特别高了,所以早些年的软件开发,都是个人英雄主义盛行。比如张小龙一个人完成了 Foxmail,求伯君完成 WPS,王江民写 KV 杀毒软件……

21__开放封闭原则:不改代码怎么写新功能?

你好!我是郑晔。

上一讲,我们讲了一个最基础的设计原则:单一职责原则,从这个原则中,你知道了一个模块只应该包含来自同一个变化来源的内容。这一讲,我们来看下一个设计原则:开放封闭原则。

21__开源还是自研:企业DevOps平台建设的三个阶段

你好,我是石雪峰,从今天开始,专栏正式进入了“平台工具篇”。

在这个全新的章节,我重点想讲三个方面的内容:

  1. 帮助你梳理企业内部 DevOps 平台的实施路径,理清平台建设的主体脉络;
  2. 给你分享一些核心平台的建设经验,这些经验都来自于生产一线;
  3. 给你分析一下 DevOps 平台的发展方向和热门趋势,让你在进行平台建设时,能够跟上潮流。

我想跟你说的是,没有人天生就是 DevOps 平台的产品经理,但每一个人都能成为 DevOps 平台的产品经理

21__垃圾回收(二):V8是如何优化垃圾回收器执行效率的?

你好,我是李兵。

上节我们介绍了 V8 使用副垃圾回收器和主垃圾回收器来处理垃圾回收,这节课我们看看 V8 是如何优化垃圾回收器的执行效率的。

由于 JavaScript 是运行在主线程之上的,因此,一旦执行垃圾回收算法,都需要将正在执行的 JavaScript 脚本暂停下来,待垃圾回收完毕后再恢复脚本执行。我们把这种行为叫做全停顿(Stop-The-World)

21__类似“点击流”这样的海量数据应该如何存储?

你好,我是李玥。

对于大部分互联网公司来说,数据量最大的几类数据是:点击流数据、监控数据和日志数据。这里面“点击流”指的是在 App、小程序和 Web 页面上的埋点数据,这些埋点数据记录用户的行为,比如你打开了哪个页面,点击了哪个按钮,在哪个商品上停留了多久等等这些。

21__良心中间商:HTTP的代理服务

在前面讲 HTTP 协议的时候,我们严格遵循了 HTTP 的“请求 - 应答”模型,协议中只有两个互相通信的角色,分别是“请求方”浏览器(客户端)和“应答方”服务器。