08 2021 档案
摘要:不知道大家有没有维护过陈年老代码的经历,我曾经看过一个项目,维护代码的人都换过好多个的那种。因为缺少一些规范约束,编码风格、文件命名等都带着浓重的个人风格。 对于一个需要多人协作的项目来说,我们还是需要有一些编码约束来提高协作效率的。 今天我们来介绍一个工具,ls-lint 用于对文件和目录名称进行
阅读全文
摘要:不管是 React 和 Vue,在开发组件这块,都讲究利用组合来复用组件。但是如何将组件分解成多个子组件,有时候却是一件非常棘手的问题。拆分的不合理,非但不能提高组件的复用性,还会带来额外的维护成本。 在这篇设计易于扩展和收缩的软件论文中,作者介绍了一种软件设计思路,我们整理了下,发现不失为一种解决
阅读全文
摘要:不管是 React 和 Vue,在开发组件这块,都讲究利用组合来复用组件。但是如何将组件分解成多个子组件,有时候却是一件非常棘手的问题。拆分的不合理,非但不能提高组件的复用性,还会带来额外的维护成本。 在这篇设计易于扩展和收缩的软件论文中,作者介绍了一种软件设计思路,我们整理了下,发现不失为一种解决
阅读全文
摘要:事件循环是 NodeJS 处理非阻塞 I/O 操作的和核心机制。NodeJS 的事件循环脱胎于 libuv 的事件循环,因此,要搞清楚 NodeJS 的事件循环,还需要先了解 libuv 的事件循环是如何工作的。 libuv 的事件循环 我们先来了解两个基本概念:句柄(handle)和请求(requ
阅读全文
摘要:假设我们现在要盖一座房子,我们买了一些砖块,厂家正在送货。现在我们有两个选择,一是等所有砖块都到了以后再开始动工;二是到一批砖块就开始动工,砖块到多少我们就用多少。 这两种方式哪种效率更高呢?显然是第二种。这就是流(stream)的理念。在计算机科学中,流是随时间可用的一系列数据元素。就像传送带运输
阅读全文
摘要:在浏览器中,JavaScript 的执行是单线程的。如何在单线程中实现异步操作呢?答案就是事件循环。 事件循环(Event Loop) 浏览器通过事件循环来处理事件、用户交互、JS 代码执行、渲染、网络请求等。通常又两种事件循环,一种是 Window 事件循环,一种是 Worker 事件循环。由于它
阅读全文