2018-09-02Node.js置顶 Node.js 进阶 —— Koa2 源码分析前言Koa 2.x 版本是当下最流行的 Node.js 框架,同时社区涌现出一大批围绕 Koa 2.x 的中间件以及基于 Koa 2.x 封装的企业级框架,如 egg.js,然而 Koa 本身的代码却非常精简,精简到所有文件的代码去掉注释后还不足 2000 行,本篇就围绕着这 2000 行不到的代码抽出核心逻辑进行分析,并压缩成一版只有 200 行不到的简易版 Koa。 阅读全文…
2019-05-07React置顶 React 基础篇 —— React HooksReact Hooks 简介React Hooks 是 16.8 版本中正式加入的特性,配合函数组件使用,在没有 Hooks 之前,函数组件使用场景非常有限,只适合编写纯展示性的 UI 组件,其余复杂的场景不得不使用类组件,而 Hooks 的主要作用是在函数组件中使用原本所不具备的 React 特性。 阅读全文…
2018-09-06Node.js置顶 Koa2 洋葱模型 —— compose 串联中间件的四种实现前言Koa 是当下主流 Node.js 框架,以轻量见长,与相对传统的 Express 比较,它的中间件机制支持了异步,所以编码时可以使用 async/await,将异步代码用同步的方式编写,提高了可读性,使代码变得更优雅,上一篇文章 Node.js 进阶 —— Koa2 源码分析,也对 “洋葱模型” 和实现它的 compose 进行分析,由于个人觉得 compose 的编程思想比较重要,应用广泛,所以本篇借着 “洋葱模型” 的话题,打算用四种方式来实现 compose。 阅读全文…
2019-04-16TypeScript置顶 TypeScript 基础知识总结TypeScript 简介TypeScript 是由微软开发的开源编程语言(后面简称 TS),是 JavaScript 的超集(后面简称 JS),由于 JS 过于灵活,如果使用不当,在长期维护迭代的大型企业应用中,会存在潜在的 Bug 和风险,而 TS 更适合大型企业应用,是因为 TS 需要编译成 JS 运行,所以在编译阶段可以进行语法错误,类型错误检查,提前知道代码中潜在的问题,不至于等到代码运行时报错。 阅读全文…
2022-04-28算法LeetCode 14 —— 最长公共前缀题目链接https://leetcode-cn.com/problems/longest-common-prefix/题目描述编写一个函数来查找字符串数组中的最长公共前缀,如果不存在公共前缀,返回空字符串 ""。示例示例 1:输入: strs = ["flower", "flow", "flight"]输出: &... 阅读全文…