I Must Go Seek Some Dewdrops

React 组件生命周期

本文针对 React v16.3 及之后的版本。React v16.3 废除了在 render 函数之前执行的三个生命周期函数,包括 componentWillReceiveProps, componentWillMount 和 componentWillUpdate。原因是 React Fiber 的引入,它采用了分片的渲染方式,从同步渲染转为异步渲染,会导致 render() 函数之前的生命周期函数被多次执行。

Read More


排序算法总结

本文记录了常用的排序算法,按照时间复杂度的分类方式,分为时间复杂度为 O(n^2) 的算法,O(nlogn) 的算法和 O(n) 的算法依次讲解。

Read More


Node 初探之垃圾回收

V8 中,所有 JavaScript 对象都通过堆来进行分配的。当我们在代码中声明变量时,所使用对象的内存就分配在堆中。V8 会限制堆的大小,在 64 位系统下约为 1.4GB,32 位系统下约为 0.7GB。V8 中的垃圾回收机制也是系统自动回收,无需开发者手动回收。

Read More


Node 初探之异步

异步是指现在运行的程序和将来运行的程序中有一段时间间隙,如何处理这段时间间隙就是异步编程的核心。最简单的方法是使用回调函数。

Read More


网络基础知识备忘录(二)

对于我来说网络知识是属于比较抽象的部分,很多东西不记录下来很快就会忘记。所以有了这个网络基础知识的备忘录,这是第二部分,第一部分见这里 :)

Read More


JavaScript 作用域与闭包

作用域是一套规则,它用来指导引擎如何查找到变量。所以我认为作用域主要是用来确定变量的位置,判断是否可访问到。

作用域是引擎的另一个好朋友(还有一个是编译器),它负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限。

Read More


网络基础知识备忘录(一)

对于我来说网络知识是属于比较抽象的部分,很多东西不记录下来很快就会忘记。所以有了这个网络基础知识的备忘录。这是第一部分,第二部分见这里 :)

Read More


解析 React 工作流程

说起 React,可能脑海中浮现的第一句代码应该是 ReactDOM.render(<App />, root)。这一句代码很像 DOM 操作中的这句代码 document.appendChild(App, root)。然而对于 React 来说,将 App 节点加载在 root 节点之后的这个过程中还发生了很多故事,比如 <App /> 是如何转换为一个 DOM 节点的,App<App /> 又有什么关系,render() 这个函数又做了什么等等。

Read More


Shall I compare thee to a summer’s day?

Shall I compare thee to a summer’s day?

Thou art more lovely and more temperate.

Rough winds do shake the darling buds of May,

And summer’s lease hath all too short a date.

Read More


Hello Cicada

Hello Cicada, Hello World.

Cicada is a concise and retro theme for Hexo. It helps you develop and publish your thoughts to the world.

Read More