Recent posts

Vuex 代码精读

Vuex 代码精读

序言 时隔多日,终于又有时间和精力来阅读源码了,这回挑的是和 redux 有些类似的 vuex,本来以为两者都是状态管理工具,大部分逻辑可能是重合的,但是没想到两者大相径庭,从代码哲学上就有分歧,具体实现更是相差甚远。 后面或许会另起一篇来具体描述一下两者的差异。 目录结构 src ├─ module │ ├─ module-collection.js // 模块树相关代码 │ └─ module.js // 单个模块相关代码 ├─ plugins │ ├─ devtool.js // devtool 插件 │ └─ logger.js // log 插件 ├─ helpers.js

Koa 的中间件完整流程 + 源码分析

Koa 的中间件完整流程 + 源码分析

Koa 的中间件原理总是一个被提问的问题,理论其实很简单,官方的洋葱模型其实就已经能够生动形象的解释中间件的运行机制了。但是,这么简单的解答又怎么能满足好奇心呢,所以这次,就又我来带大家走进 Koa 的中间件的世界(动物世界播音腔。

Redux 源码阅读笔记

Redux 源码阅读笔记

看完 Redux 的源码,可谓是收获颇丰,先不论对 Redux 本身。光是其中“中间件模式”的实现就够反复🤔琢磨了,其中 isPlainObject 🔧工具函数为了吃透它来了一场考古。往基础走,Redux 简直就是闭包的大型实现现场,applyMiddleware 中的闭包简直拍案叫绝。大部分笔记以注释的形式写在了源码文件里,虽然有点碎碎念,但是想来会有所帮助。

HTTP 学习笔记(六): HTTP 状态码

HTTP 学习笔记(六): HTTP 状态码

状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。 状态码如 200 OK,以 3 位数字和原因组成。数字中的第一位指定了响应类别,后两位无分类。响应类别又以下五种 类别 原因短语 1XX Informational(信息性状态码) 收到的请求正在处理中 2XX Success(成功状态码) 请求正常处理完毕 3XX Redirection(重定向状态码) 需要进行附加操作以完成请求 4XX Client Error(客户端错误状态码)