自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

包磊磊的博客

微信------18800171167

转载 数字证书有效性验证

数字证书的有效性验证主要从三个方面: 1,数字证书有效期验证 2,根证书验证 3,CRL验证 下面依次讲解这三块内容 1,数字证书有效期验证 就是说证书的使用时间要在起始时间和结束时间之内。通过解析证书很容易得到证书的有效期 2,根证书验证 先来理解一下什么是根证...

2020-05-25 16:07:20 0

转载 webpack详解

webpack是现代前端开发中最火的模块打包工具,只需要通过简单的配置,便可以完成模块的加载和打包。那它是怎么做到通过对一些插件的配置,便可以轻松实现对代码的构建呢? webpack的配置 const path = require('path'); module.expo...

2020-05-25 13:53:36 4 0

转载 tcp的认知和应用

什么是tcp tcp定义 tcp是网络七层模型当中传输层的协议,由IETF的RFC 793定义,是面向连接的、可靠的、基于字节流的通信协议。而传输层位于七层模型的中间,下面是网络层,上面的话有应用层,承上启下,地位还是很重要的。在传输层中还有一种协议udp(无连接、不保证可靠性)。相比来说tc...

2020-05-24 23:57:27 5 0

转载 前端面试官: 你知道source-map的原理是什么吗?

https://cloud.tencent.com/developer/article/1598223

2020-05-24 22:35:08 7 0

转载 简单聊聊前端开发中的热更新原理

背景 前端项目开发过程中热更新的机制大家都知道,不知道你在开发的时候是否做了这方面的配置。 相信接触最多的就是 webpack 的热更新,文件保存后页面自动刷新,或者 css 自动更新,页面的样式在不刷新页面的情况下就会更新。 还有就是模块热替换。 热更新机制很好玩,能提升不少开发效率,但...

2020-05-24 19:43:19 11 0

转载 一文吃透 React SSR 服务端渲染和同构原理

推荐下我自己的小册React SSR 服务端渲染原理解析与实践 全网最完整的 React SSR 同构技术原理解析与实践,从零开始手把手带你打造自己的同构应用开发骨架,帮助大家彻底深入理解服务端渲染及底层实现原理,学完本课程,你也可以打造自己的同构框架。 写在前面 前段时间一直在研究reac...

2020-05-24 18:54:47 15 0

转载 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解题思路 需要考虑指数和底的一些情况。 指数为负时,可以先对指数求绝对值,算出次方的结果后再取倒数 当底数为0,指数为负时,会出现对0求倒数情况,要特殊处理 0的0次方在数学上没有意义,因此无论输出0还是1都是可以接受的 在计算次方的时候,除了简单的遍历,我们可以使用递归的思想,如下...

2020-05-23 00:18:58 17 0

转载 关于 TCP/IP,必知必会的十个问题

https://juejin.im/post/598ba1d06fb9a03c4d6464ab

2020-05-22 17:29:18 13 0

转载 数据管理工具Flux、Redux、Vuex的区别

目录 为什么要进行数据管理? 怎么有效地进行数据管理? 数据管理工具 1. Flux 2. Redux 3. Vuex 使用数据管理工具的场景 相关资料 主要讲解一下前端为什么需要进行数据管理,有效的数据管理应该是什么样子的,最后挑选Flux、Redux、Vuex进行...

2020-05-21 23:33:03 27 0

转载 CNAME 别名记录

当我们在地址栏输入:www.baidu.com的时候,我们的电脑会通过DNS系统去解析这个域名,并获得IP地址。   DNS(Domain Name System[域名系统]),万维网上作为域名和IP地址相互映射的一个[分布式数据库]能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的...

2020-05-21 20:11:42 104 0

转载 简单的解释下什么是CNAME?

什么是CNAME? 在网上看了挺多解释,小白表示开始是有点懵的,后来自己总结了下前辈们的解释,如有理解错误,烦请各位指出。 先简单的说下域名解析(懂的不用看啦): 在以前,人们用IP进行互访,后来发现IP太多不好记忆,便有了域名,比如www.baidu.com,你一看就知道是百度搜索引擎,而不需...

2020-05-21 17:38:35 19 0

转载 从输入 URL 到页面加载完成的过程 扩展问题

https://www.cnblogs.com/chengxs/p/11039155.html

2020-05-21 14:48:14 15 0

转载 SSL/TLS协议运行机制的概述

互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。...

2020-05-21 14:22:00 15 0

转载 TLS三个随机数和三个秘钥

三个随机数:Client random, Server random, Premaster secret 三个秘钥:公钥(public key),私钥(private key),对话密钥(session key)

2020-05-21 09:56:01 14 0

转载 1. 服务器端渲染(SSR)简介

1. 服务器端渲染(SSR)简介 1.1 什么是服务器端渲染(SSR)? Vue.js 是构建客户端应用程序的框架 默认情况下浏览器输出Vue组件,生成DOM并操作DOM 服务器端渲染则是服务器端生成静态的HTML字符串,浏览器将静态标记“混合”为客户端可交互的应用程序 服务器渲染的 ...

2020-05-20 15:48:39 21 0

原创 二进制中1的个数

题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表 思路1: 正数的原码=反码=补码。 计算机中,负数用补码表示。 如负数 -7 符号位 数值位 1 0000111 即-7的原码为(1000 0111) 反码1 1111000 (负数的反码与原码符号位相同,数值为取反) ...

2020-05-20 08:37:05 16 0

原创 剑指offer:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: function rectCover(number) { // write code here ...

2020-05-19 23:57:31 98 0

转载 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

Q:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 A:f(n) = f(n-1)+f(n-2)+…+f(1) f(n-1) = f(n-2)+ f(n-3)…+f(1) 两式相减,得到f(n) = 2*f(n-1). ————...

2020-05-19 23:02:36 27 0

转载 Symbol 实现

// 当调用 Symbol 的时候,会采用以下步骤: //1. 如果使用 new ,就报错 //2. 如果 description 是 undefined,让 desc 为 undefined 否则 让 descString 为 ToString(description) //3. 返回一个新的唯...

2020-05-19 20:09:38 22 0

转载 es6 Symbol.for(),Symbol.keyFor()

Symbol.for(),Symbol.keyFor() 有时,我们希望重新使用同一个 Symbol 值,Symbol.for()方法可以做到这一点。它接受一个字符串作为参数,然后搜索有没有以该参数作为名称的 Symbol 值。如果有,就返回这个 Symbol 值,否则就新建并返回一个以该字符串...

2020-05-19 20:09:01 21 0

转载 跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 function jumpFloor(number) { if(number <= 0) return 0; if(number == 1) retu...

2020-05-18 23:52:26 18 0

转载 旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 functio...

2020-05-18 23:03:35 22 0

原创 浏览器是怎样加载js代码的?

作者:第七星尘 链接:https://www.zhihu.com/question/263866883/answer/276139578 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 就像正常的下载文件一样。把服务的js文件下载下来,然后在本地浏览器执行。 ...

2020-05-18 14:47:26 18 0

原创 JS中关于async和defer作用与区别

<script src="script.js"></script> 没有 defer 或 async,浏览器会立即加载并执行指定的脚本,“立即”指的是在渲染该 script 标签之下的文档元素之前,也就是说不等待后续载入的文档元素,读到就加载并执行。 ...

2020-05-18 14:46:47 19 0

转载 网站加载 Waiting (TTFB) 时间过长的原因和解决办法

关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载Waiting(TTFB)时间过长的问题。对于没有优化过的 WordPress 站点,TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里...

2020-05-18 10:28:20 19 0

转载 DOMContentLoaded与load的区别、触发时机

一、DOMContentLoaded 与 load 事件 关于 DOMContentLoaded 和 load 事件,MDN对他们是这样描述的:DOMContentLoaded 文档地址、load 文档地址。 DOMContentLoaded 意思就是:当初始的 HTML 文档被完全加载和...

2020-05-18 09:58:16 18 0

转载 js文件的装载和执行

1.浏览器对script引用的js文件分两步,下载,下载完毕后马上执行;这两步都会阻塞浏览器继续解析。 2.加入defer属性,<scriptdefertype="text/javascript"src="some.js"></scrip...

2020-05-18 09:42:51 18 0

原创 promise 并行

//省略代码 function limitLoad(urls, handler, limit) { // 对数组做一个拷贝 const sequence = [].concat(urls) let promises = []; //并发请求到最大数 promises = se...

2020-05-17 20:50:39 22 0

原创 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

let stack1 = [] let stack2 = [] function push(node) { // write code here return stack1.push(node) } function pop() { // write code here if(...

2020-05-17 19:02:24 27 0

转载 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 /* function TreeNode(x) { ...

2020-05-17 17:55:59 20 0

原创 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。剑指offer3

输入一个链表,按链表从尾到头的顺序返回一个ArrayList /*function ListNode(x){ this.val = x; this.next = null; }*/ function printListFromTailToHead(head) { let...

2020-05-17 00:05:45 18 0

原创 自左下角出发 二维数组的查找 剑指offer

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 function Find(target, array) { let c = ...

2020-05-16 23:42:35 25 0

转载 Push “Cache”

“推送缓存”是针对HTTP/2标准下的推送资源设定的。推送缓存是session级别的,如果用户的session结束则资源被释放;即使URL相同但处于不同的session中也不会发生匹配。推送缓存的存储时间较短,在Chromium浏览器中只有5分钟左右,同时它也并非严格执行HTTP头中的缓存指令 ...

2020-05-16 22:31:39 15 0

转载 JS 中 service workers 的简介

Serv 一个service worker在单独的线程上运行,因此它是非阻塞的。这也意味着它无法访问主JavaScript线程中可用的DOM和其他API,比如cookie,XHR,Web存储API(本地存储和会话存储)等。由于它们被设计为完全异步,因此它们重度依赖promise来等待网络请求的响...

2020-05-16 22:27:53 14 0

转载 外部JS的阻塞下载

转载于:http://www.cnblogs.com/mofish/archive/2011/09/29/2195256.html 所有浏览器在下载JS的时候,会阻止一切其他活动,比如其他资源的下载,内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。 有人会问...

2020-05-16 16:56:57 14 0

转载 OSI七层模型与TCP/IP五层模型

一、OSI参考模型 今天我们先学习一下以太网最基本也是重要的知识——OSI参考模型。 1、OSI的来源 OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO...

2020-05-15 20:50:02 36 0

转载 Vue中computed的本质—lazy Watch

两个月前我曾在掘金翻译了一篇关于Vue中简单介绍computed是如何工作的文章,翻译的很一般所以我就不贴地址了。有位我非常敬佩的前辈对文章做了评价,内容就是本文的标题“感觉原文并没有讲清楚 computed 实现的本质- lazy watcher”。上周末正好研究一下Vue的源码,特意看了com...

2020-05-15 10:33:14 20 0

转载 闭包解释

闭包解释有很多。github上有木易博客讲的非常不错。可以说是标准答案了 先说自由变量 // 全局变量 "x" var x = 10; // 全局function function foo() { console.log(x); } (function (f...

2020-05-14 22:40:13 21 0

转载 傻傻分不清之 Cookie、Session、Token、JWT

什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/...

2020-05-14 17:15:10 71 0

转载 ES6 与 ES5 继承的区别

ES6 中有类 class 的概念,类 class 的继承是通过 extends 来实现的,ES5 中是通过设置构造函数的 prototype 属性,来实现继承的,ES6 与 ES5 的继承有什么区别呢?下面通过 3 个 demo,来分析它们之间的区别。 1. ES5 继承 直接上代码: fun...

2020-05-14 11:45:40 28 0

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