自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 react 中的 function Component

因为hooks的出现 解决了函数式 组件没有生命周期的一个痛点 同时也有一些新的坑等待我们遇到的第一个坑就在配置了react-hot-loader的情况下无法使用hoosk原因是react-hot-loader的那个babel插件的问题 可能在解析某些语法上做了特殊的处理class Component 和 function Component 的区别为什么要了解 Function 写法的组件...

2019-03-26 18:38:36 6789 2

原创 《学习javascript数据结构与算法》算法

排序算法冒泡排序:拿当前值跟后面的值挨个比较 如果当前值比后面的值大 就替换位置选择排序:每次找到数组中最小的值的索引 跟当前索引位置元素交换插入排序:把当前索引的值当作一个基准 拿前一个值跟这个值对比 如果比他大就替换他的位置 最后把它插入到自己该在的位置。排序小型数组时,此算法比选择排序和冒泡排序性能要好归并排序:把数组先剁两半 然后各自排序 不断递归这个过程 最后把两大半数...

2019-03-23 18:44:36 906

原创 《学习javascript数据结构与算法》图

图邻接表 创建(队列+字典)图是网络结构的抽象模型。图是一组由边连接的节点(或顶点)。学习图是重要的,因为任何二元关系都可以用图来表示。在着手实现算法之前,让我们先了解一下图的一些术语。术语解释相邻顶点由一条边连接在一起的顶点称为相邻顶点。度一个顶点的度是其相邻顶点的数量路径路径是顶点v1, v2,…,vk的一个连续序列环环也是一...

2019-03-21 18:26:31 976

原创 《学习javascript数据结构与算法》树

树树是一种分层数据的抽象模型。现实生活中最常见的树的例子是家谱,或是公司的组织架构 图,如下图所示:树的相关术语术语解释根节点位于树顶部的节点节点树中的每个节点内部节点至少有一个子节点 (7、5、9、15、13和20是内部 节点)外部节点没有子元素的节点 (3、6、8、10、12、14、18和25是叶节点)子树子树由节点和它的后代构成...

2019-03-20 18:35:36 1052

原创 《学习javascript数据结构与算法》 集合,字典和散列表

集合集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同 的数学概念,但应用在计算机科学的数据结构中。在数学中,集合也有并集、交集、差集等基本操作.我们要实现的类就是以ECMAScript 6中Set类的实现为基础的有一个非常重要的细节,我们使用对象而不是数组来表示集合(items)。但也可以用数组 实现。在这里我们用对象来实现,稍微有点儿不一样,也学习一下实现相...

2019-03-19 23:19:16 757

原创 《学习javascript数据结构与算法》链表

链表要存储多个元素,数组(或列表)可能是最常用的数据结构。正如之前提到过的,每种 语言都实现了数组。这种数据结构非常方便,提供了一个便利的[]语法来访问它的元素。然而, 这种数据结构有一个缺点:(在大多数语言中)数组的大小是固定的,从数组的起点或中间插入 或移除项的成本很高,因为需要移动元素( 尽管我们已经学过的JavaScript的Array类方法可以帮 我们做这些事,但背后的情况同样是这样 ...

2019-03-18 21:45:47 581

转载 immutable.js在react 中的应用

immutable.js在react 中的应用1 React中浅层次拷贝的问题1.1 例子1我们给出下面的事实:const detail = {name:'qinlaing',school:{loc:'dalian'}}const copy = Object.assign({},detail);copy.school.loc ="北京";//此时你会发现我们的detail.schoo...

2019-03-17 18:34:22 1221

原创 读 create-react-app 源码构建自己的脚手架

create-react-app 目录结构├── createReactApp.js ├── index.js├── LICENSE├── package.json├── README.md├── CHANGELOG.zh-CN.md├── yarn.lock.cached这个部分的核心是 createReactApp.js ,整个脚本的流程如下细节...

2019-03-12 23:51:10 1230

原创 antd 源码 学习(进行中...)

因为之前自己也封装过通用组件库并上传到npm, 所以惯性驱使下直接打开了node_modules 目录 下antd的 代码翻看 可以看到如下目录结构├── dist ├── es ├── lib ├── node_modules├── CHANGELOG.en-US.md├── CHANGELOG.zh-CN.md├── package.json ├── README....

2019-03-10 18:46:22 4760 1

原创 nodejs

进程是操作系统分配资源和调度任务的基本单位操作系统分配资源 -> 由进程到线程nodejs : 单线程 非阻塞I/O优点:节约内存节约上下文切换的时间锁的问题 ,并发资源的处理( java里面的概念 并发的时候对资源加锁限制其他进程对其的访问 )缺点 :一个线程崩了整个程序就挂了多线程是如何实现的?并不是真正

2019-03-09 22:54:58 814

原创 express 的中间件

staticstatic 中间件主要用来提供静态资源服务 ,可以设置静态资源的目录 设置响应头 及缓存等等配置,代码如下function static(root,options = {}){ let { dotfiles = "ignore" ,etag=true,lastModified,maxAge=0, setHeaders } = options; return fun...

2019-03-09 15:35:39 304

原创 浏览器缓存

缓存的作用减少了冗余数据的传输,节省了网费。减少了服务器的负担,提高网站的性能缓存分为强制缓存和协商缓存强缓存如果生效不需要再和服务器发生交互,对比缓存不管生不生效都需要与服务端发生交互两类缓存可以同时存在,强缓存的优先级高于对比缓存1.对比缓存(协商缓存)通过最后修改时间来判断缓存是否可用(Last-Modified):/** * 1.第一次访问服务器的时候,服...

2019-03-09 15:32:06 311

原创 with关键字+正则 实现ejs模版

with关键字通常被当作重复引用同一个对象中的多个属性的快捷方式,可以不需要重复引用对象本身 比如 var obj = { a:1, b:2, c:3 } //单调乏味的重复“obj” obj.a = 2; obj.b = 3; obj.c = 4; //简单的快捷方式 with(obj){ a=3; b=4; c=5; }但这实际上并...

2019-03-09 15:24:53 394

原创 express中的路由和中间件

express 是基于nodejs 的http 模块封装的一个框架下面是一个极简的用例:const express = require("express");const app = express();app.param('userid', function(req, res, next, userid) { req.user = getUser(userid); nex...

2019-03-07 21:30:35 1322

原创 使用Node实现Http代理

代理的出现是因为浏览器同源策略的存在服务端实现代理的例子和方法很多 比如nginx 反向代理解决生产环境的跨域问题再有http-server等一些第三方的包帮我处理 基本达到了开箱即用的体验通常我们所说的代理来源于http1.1的定义,代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文假如我通过代...

2019-03-05 15:55:47 3325 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除