微前端

2020-05-14
阅读 8 分钟
6k
在软件开发中,逐渐出现了类,模块化,组件化,设计模式等来解耦和拆分我们的代码,使得代码更易读,易维护。而微前端架构其实也是一种新的思想来帮助我们更好的拆分一些现在方式无法解决的问题而已。

深入react-fiber数据结构

2020-03-03
阅读 3 分钟
6.9k
上一篇介绍了react-dom,再往后面写很多都是在操作FiberRoot和Fiber这两个数据结构,这里简单的介绍一下,另外希望大家可以把他当成一个普通的数据结构来看,暂时不要把它跟react里面的各种逻辑结合到一起学习,看不懂的属性就过,就当它有这么个属性就可以了

深入react-ReactDOM.render

2020-03-01
阅读 6 分钟
4.8k
这篇主要就是介绍render的一个流程,只到调度为止,并没有深入到每个点,涉及到的数据结构我会在下一篇专门列出来,这里只要知道创建了什么数据结构就可以了,我主要是按16.12.0这个版本讲的,今天发现已经更新到16.13.0了不过具体改了什么还没看

深入react-基础API(三)

2020-02-29
阅读 4 分钟
1.7k
前言 继续上一篇,还有4个API:createElement,cloneElementcreateFactoryisValidElement createElement {代码...} 上面这段jsx代码通过babel转换后如下 {代码...} 可以看到转换后会调用createElement函数 第一个参数是个domElement 字符串 第二个参数是个把标签上的属性转换成了一个对象 后面的参数也是createElement函...

深入react-基础API(二)

2020-02-27
阅读 6 分钟
2.6k
这里我稍微改了一下源代码,源代码是用的function构造函数,这里我觉的class看着会更简单一些,其实是一摸一样的,Component的源代码在ReactBaseClasses里

深入react-基础API(一)

2020-02-27
阅读 7 分钟
2.5k
这篇文章主要通过源码的方式去讲述reactAPI,主要是在react(v16.12.0)这个包中的源码,不涉及react-dom的代码,react-dom会在后面去讲,而在讲述API的时候也不会过多的去讲解这个API的使用方式。而在react这个包里面的API其实更多的只是定义一些组件的type去供给react-dom执行真正更新逻辑的时候使用,因此可能会缺少...

深入nodejs-搭建静态服务器(实现命令行)

2019-02-05
阅读 11 分钟
5.1k
静态服务器 使用node搭建一个可在任何目录下通过命令启动的一个简单http静态服务器 完整代码链接安装:npm install yg-server -g启动:yg-server 可通过以上命令安装,启动,来看一下最终的效果 TODO 创建一个静态服务器 通过yargs来创建命令行工具 处理缓存 处理压缩 初始化 创建目录:mkdir static-server 进入到该目...

深入nodejs-核心模块Events详解(事件驱动)

2019-01-30
阅读 5 分钟
5.4k
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O的模型,使其轻量又高效。Allows you to build scalable network applications usingJavaScript on the server-side.

深入node.js-浏览器缓存机制

2019-01-29
阅读 5 分钟
6.1k
浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。

js算法-归并排序(merge_sort)

2019-01-09
阅读 3 分钟
6.7k
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

js算法-快速排序(Quicksort)

2019-01-08
阅读 3 分钟
41.6k
快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),简称快排,一种排序算法,最早由东尼·霍尔提出。在平均状况下,排序n个项目要O(nLogn)次比较。在最坏状况下则需要O(n^2)次比较,但这种状况并不常见。事实上,快速排序O(nLogn)通常明显比其他算法更快,因为它的内部循环(inner loop)可以...

js数据结构-二叉树(二叉搜索树)

2019-01-07
阅读 6 分钟
18.9k
可能有一部分人没有读过我上一篇写的二叉堆,所以这里把二叉树的基本概念复制过来了,如果读过的人可以忽略前面针对二叉树基本概念的介绍,另外如果对链表数据结构不清楚的最好先看一下本人之前写的js数据结构-链表

js数据结构-二叉树(二叉堆)

2019-01-04
阅读 6 分钟
8.6k
二叉树(Binary Tree)是一种树形结构,它的特点是每个节点最多只有两个分支节点,一棵二叉树通常由根节点,分支节点,叶子节点组成。而每个分支节点也常常被称作为一棵子树。

js数据结构-散列表(哈希表)

2019-01-01
阅读 3 分钟
7.7k
散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。

js数据结构-链表

2018-12-30
阅读 6 分钟
40.9k
大家都用过js中的数组,数组其实是一种线性表的顺序存储结构,它的特点是用一组地址连续的存储单元依次存储数据元素。而它的缺点也正是其特点而造成,比如对数组做删除或者插入的时候,可能需要移动大量的元素。

js数据结构-队列

2018-12-28
阅读 3 分钟
3k
上一篇数据结构讲到了栈,队列和栈非常类似。队列也是一种特殊的列表,它与栈的区别在于,栈是先入后出,而队列则是遵循FIFO先入先出的原则,换言之队列只能在队尾插入元素,而在队列的头部去删除元素。

js数据结构-栈

2018-12-28
阅读 2 分钟
4.1k
栈 栈是一种遵循后进先出(LIFO)的数据结构,其总共就两个主要的操作,分别是push和pop。 看上面这张图可以大致的知道,栈的几个特点: 初始化: 有一块连续的存储空间 栈顶 栈的长度 push操作: 向栈中添加新的元素 栈顶向后挪动一个位置,指向最新的数据地址 如果栈满了继续push的化,会抛出overflow的错误 pop操作: ...