在前端工程师眼里,工程化最重要的就是 Webpack 工具,而 Webpack 核心是基于 Node.js 来运行的,当然还有其他场景比如说 SSR 的实...
Node.js 从工程化工具到后端服务应用的转变
近 10 年来,我一直在一线大厂从事前端研发工作,负责前端、中台业务,以及跨端平台的研发和管理,曾经负责研发过亿级用户社交项目、千万...
MC系统架构是如何布局的?
Mc 基于 Libevent 开发实现了多线程网络模型。Mc 的多线程网络模型分为主线程、工作线程。这些线程通过多路复用 IO 来进行网络 IO ...
MC为何是应用最广泛的缓存组件?
众所周知,用户体验可以说是互联网企业最看重的指标,而在用户体验中,请求响应速度首当其冲。因此互联网系统对性能的追求是永无止境的。性...
MC是怎么定位key的
我们在进行 Mc 架构剖析时,除了学习 Mc 的系统架构、网络模型、状态机外,还对 Mc 的 slab 分配、Hashtable、LRU 有了简单的了解...
MC是如何使用多线程和状态机来处理请求命令的?
网络模型:了解了 Mc 的系统架构之后,我们接下来可以逐一深入学习 Mc 的各个模块了。首先,我们来学习 Mc 的网络模型。主线程:Mc ...
MC如何淘汰冷key和失效key
淘汰策略Mc 作为缓存组件,意味着 Mc 中只能存储访问最频繁的热数据,一旦存入数据超过内存限制,就需要对 Mc 中的冷 key 进行淘汰...
JS 异步编程都有哪些方案?
JS 的异步编程可以说在日常的前端业务开发中经常出现,你需要深刻理解其思路,才能更好地加以运用。先一起来回想一下,我们在日常开发中都...
JS 的数据类型你了解多少?
作为 JavaScript 的入门级知识点,JS 数据类型在整个 JavaScript 的学习过程中其实尤为重要。因为在 JavaScript 编程中,我们经常会...
Hot Key和Big Key引发的问题怎么应对?
问题描述第六个经典问题是 Hot key。对于大多数互联网系统,数据是分冷热的。比如最近的新闻、新发表的微博被访问的频率最高,而比较久远...
CPU 过载保护设计:如何在服务层面确保系统稳定?
过载保护假设一种场景,我们去银行办事,大家都知道需要拿号排队,银行每 10 分钟处理 1 个人的业务,而每 10 分钟会进来 2 个人,...
3 大主流系统框架:由浅入深分析 Expre、Koa 和 Egg.j
3 大主流系统框架:由浅入深分析 Expre、Koa 和 Egg.j介绍一些目前主流框架的设计思想,同时介绍其核心代码部分的实现,为后续使用框架...
自制编程语言
一听到这个话题,有的人会想:太疯狂了,制作编程语言肯定很有难度吧?有人会怀疑:制作编程语言能有什么用呢?其实这些都是误解。制作编程...
征服C指针
这是一本关于 C 语言的数组和指针的书。一定有很多人感到纳闷:“都哪朝哪代了,还出版 C 语言的书。”C 语言确实是非常陈旧的语言,...
用地图说话 在商业分析与演示中运用Excel数据地图
数据地图是商业分析的高级形式和手段,多见于国外高端商业财经杂志。一直以来,很多职场人士都希望能在自己的数据分析和商务演示中使用数据...
应用程序性能测试的艺术
本书由经验丰富的软件性能测试专家编写;本书的编写是为了帮助那些希望成为此领域专家的读者,并对已经从业于软件性能测试领域的读者给予一...
一站式学习C编程
本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试...
研磨设计模式
本书完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序...
学习正则表达式
本书通过示例介绍如何编写正则表达式,旨在让读者轻松掌握正则表达式。事实上,笔者几乎将所涉及的每一个概念都通过示例展示了出来,读者很...
学习R编程语言
R是一种编程语言,也是用于数据分析和统计的软件环境。它是一个GNU项目,这意味着它是自由的开源软件。它正在以指数级的速度不断成长——普...