node核心模块-vm

2018-11-30
阅读 2 分钟
5.7k
The vm module provides APIs for compiling and running code within V8 Virtual Machine contexts. The vm module is not a security mechanism. Do not use it to run untrusted code. The term "sandbox" is used throughout these docs simply to refer to a separate context, and does not confer any security g...

组件化统一标准——Web Components

2018-11-21
阅读 2 分钟
8.5k
一句话概括,Web Components是一个Web组件标准。现在的前端开发几乎已经离不开组件化开发了,无论是vue中的模板语法还是react中的JSX,都是把结构、样式和逻辑封装成一个组件,采用组件复用来提高开发效率。既然组件如此重要,Web Components就是提供浏览器底层的支持,不依赖各种框架的支持和webpack的编译,让我们也能...

redux系列之react-thunk源码解读

2018-11-18
阅读 3 分钟
3.4k
我们知道,redux提供了一套很好的状态管理机制,通过在createStore方法创建出store对象,通过store.getState获取状态对象,通过reducer定义出action改变对应的state变化的规则,通过replaceReducer动态改变reducer规则,结合dispatch一个action来修改状态对象state,甚至,redux还提供了applyMiddleware来给redux增加中...

React 源码深度解读(十):Diff 算法详解

2018-11-16
阅读 19 分钟
15.5k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深。阅读 React 源码是一个非常艰辛的过程,在学习过程中给我帮助最大的就是这个系列文章。作者对代码的调用关系梳理得非常清楚,而且还有配图帮助理解,非常值得一读。站在巨人的肩膀之...

React 源码深度解读(九):单个元素更新

2018-11-14
阅读 14 分钟
3.4k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

nest后端开发实战(二)——分层

2018-11-13
阅读 7 分钟
10.1k
分层是解决软件复杂度很好的方法,它能够降低耦合、增加复用。典型的java后端开发大多分为三层,几乎成了标准模式,但是node社区对于分层的讨论却很少。node后端是否需要分层?如何分层?本文将从个人的角度提供一些思路。

前端设计模式用起来(1)状态模式

2018-11-09
阅读 4 分钟
6k
业务代码开发久了,偶尔看看设计模式,总会让自己有一种清新脱俗的感觉。总想把这种感觉记下来,但一想到要先起个恰如其分的标题和开头,就让我有一种百爪挠心的纠结,所以迟迟没有开始。今天起更新我学习设计模式笔记的原因,就好像是,你喜欢一个女孩久了,却总不表白,难道不怕被别人截胡了么!

React 源码深度解读(八):事务 - Part 2

2018-11-08
阅读 6 分钟
4.5k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

高清屏下的1px边框问题

2018-11-07
阅读 2 分钟
5.7k
css像素或逻辑像素,单位是px,它是一个相对单位,在不同dpr(devicePixelRatio 设备像素比)设备中,1px代表的物理像素是不同的。

React 源码深度解读(六):依赖注入

2018-11-06
阅读 4 分钟
6.5k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

React 源码深度解读(七):事务 - Part 1

2018-11-05
阅读 8 分钟
4k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

React 源码深度解读(五):首次自定义组件渲染 - Part 2

2018-11-01
阅读 9 分钟
3.2k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

React 源码深度解读(四):首次自定义组件渲染 - Part 1

2018-10-30
阅读 6 分钟
4.3k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

用node搭建一个接口Mock工具

2018-10-26
阅读 2 分钟
3.9k
背景项目开发过程中,有一个必不可少的环节--接口联调,由于前端后端开发进度不同,有时前端需要等待后端的接口,或者前端为了调试ui,需要在本地mock接口数据。不同的接口,返回的数据格式是不一样的,每次都去手动mock数据,难免繁琐和低效。能否搭建一个自动化的mock平台,自动从接口文档中获取所有接口的数据格式,...

React 源码深度解读(三):首次 DOM 元素渲染 - Part 3

2018-10-20
阅读 5 分钟
4.3k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深,阅读其源码是一个非常艰辛的过程。在学习 React 源码的过程中,给我帮助最大的就是这个系列文章,于是决定基于这个系列文章谈一下自己的理解。本文会大量用到原文中的例子,想体会原...

React 源码深度解读(二):首次 DOM 元素渲染 - Part 2

2018-10-20
阅读 7 分钟
4.2k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深。阅读 React 源码是一个非常艰辛的过程,在学习过程中给我帮助最大的就是这个系列文章。作者对代码的调用关系梳理得非常清楚,而且还有配图帮助理解,非常值得一读。站在巨人的肩膀之...

React 源码深度解读(一):首次DOM元素渲染 - Part 1

2018-10-19
阅读 7 分钟
15.1k
React 是一个十分庞大的库,由于要同时考虑 ReactDom 和 ReactNative ,还有服务器渲染等,导致其代码抽象化程度很高,嵌套层级非常深。阅读 React 源码是一个非常艰辛的过程,在学习过程中给我帮助最大的就是这个系列文章。作者对代码的调用关系梳理得非常清楚,而且还有配图帮助理解,非常值得一读。站在巨人的肩膀之...

项目开发中对前端数据管理的理解

2018-10-17
阅读 2 分钟
3.5k
现在的SPA开发中,提到数据(状态)管理不得不提Redux和Vuex,它们都是基于Flux思想的前端状态管理解决方案。但本文的重点不是介绍Redux或Vuex的技术细节,而是基于真实的业务场景谈谈在不同的场景下该如何管理数据。

读懂immutable-js中的Map数据结构

2018-10-17
阅读 4 分钟
3.9k
Trie 字典树,一种用空间换取时间的树形数据结构,主要特点是利用字符串的公共前缀来挺升查询性能。比如一组字符串 ["abc","ab","bd","dda"] 它的字典树结构如下:

node实现分片下载

2018-10-16
阅读 4 分钟
8k
本文基于http Range Requests协议,实现了分片下载的功能。 使用场景包括基于浏览器的流文件片段传输、基于客户端的分片下载等。 原理 http通过Range Requests相关的header,可以与服务器进行协商,实现分部分的请求。 这里就不细说具体协议内容了,具体可以参考这两篇文章,解释的非常详细: [链接] [链接] 下面贴一下...

VS Code插件开发介绍(一)

2018-10-10
阅读 4 分钟
16.7k
前段时间做了一个基于命令行的效率工具,可以自动生成组件的模板代码。自己用起来还觉得挺好,但在组内案例几次后大家都不愿意用,究其原因还是命令行工具使用起来门槛有点高,不方便。由于组内已经统一使用VS Code进行开发了,于是决定研究下VS Code的插件开发,让效率工具更方便的用起来。

nestjs后端开发实战(一)——依赖注入

2018-10-08
阅读 4 分钟
13k
js单线程和无阻塞io让它在处理高并发时有着得天独厚的优势,node应运而生,从此js进入到后端开发的行列。但是目前js在后端开发领域,并没有得到广泛和深度的应用。原因可能有这几点:

深入理解css之BFC

2018-09-30
阅读 2 分钟
3.3k
BFC的全称是block formatting context(块状格式化上下文),当BFC起作用的时候,其元素内部无论怎么翻江倒海都不会影响到外部元素,同样,外部元素的变化也不会影响到BFC内部元素,这就跟结界一样,你可以理解为有一个很强的护盾在包裹着BFC元素,这也是为什么BFC元素不会发生margin重叠的原因。

webpack调优总结

2018-09-21
阅读 6 分钟
5.6k
webpack 的出现为前端开发带来翻天覆地的变化,无论你是用 React,Vue 还是 Angular,webpack 都是主流的构建工具。我们每天都跟它打交道,但却很少主动去了解它,就像写字楼里的礼仪小姐姐,既熟悉又陌生。随着项目复杂度的上升,打包构建的时间会越来越长。终于有一天,你发现npm run dev后,去泡个茶,上了个厕所,跟...

解读 React 的 pooledClass.js

2018-09-20
阅读 4 分钟
2.9k
在学习 React 事件系统的时候,在事件分发的 dispatch方法发现了调用了一个 pooledClass 方法,一时半会没看明白这个方法的用意。

Promise.all并发限制

2018-09-13
阅读 2 分钟
39.2k
背景 通常,我们在需要保证代码在多个异步处理之后执行,会用到: {代码...} Promise.all可以保证,promises数组中所有promise对象都达到resolve状态,才执行then回调。 这时候考虑一个场景:如果你的promises数组中每个对象都是http请求,或者说每个对象包含了复杂的调用处理。而这样的对象有几十万个。 那么会出现的情...

你不知道的Virtual DOM(六):事件处理&异步更新

2018-09-09
阅读 6 分钟
7.7k
目前最流行的两大前端框架,React和Vue,都不约而同的借助Virtual DOM技术提高页面的渲染效率。那么,什么是Virtual DOM?它是通过什么方式去提升页面渲染效率的呢?本系列文章会详细讲解Virtual DOM的创建过程,并实现一个简单的Diff算法来更新页面。本文的内容脱离于任何的前端框架,只讲最纯粹的Virtual DOM。敲单词...

react+graphql起手和特性介绍(一)

2018-09-09
阅读 8 分钟
5.6k
这篇文章介绍一下如何搭建一个简单的graphql服务,graphql的特性以及如何在react中使用graphql,graphql给项目开发所带来的益处和它所适应的场景不多说了,可以看下infoq上的这篇文章了解下,这里主要介绍下如何搭建和使用。首先初始化项目react-graphql

redux源码分析之五:applyMiddleware

2018-09-06
阅读 3 分钟
2.5k
redux中间件其实非常简单,中间件的目的只有一个:在dispatch前后,执行一些代码,达到增强dispatch的效果,有点类似装饰器的原理。

redux源码分析之四:compose函数

2018-09-06
阅读 2 分钟
3.1k
所以,这个compose函数执行后,返回值是另外一个函数,这个函数,其实只是做了一件事情:把一个函数数组,按照顺序,从数组最后向前按照顺序执行,并且,把前一个执行的函数返回值,作为下一个执行函数的入参。对,你没看错,就是这么简单!