自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【React】react的diff算法流程

react的diff算法

2022-11-18 10:46:18 1092 1

原创 【Nuxt】nuxt的生命周期

Nuxt生命周期

2022-11-10 10:42:24 1941

原创 【JavaScript】来唠一唠JavaScript中的继承

JS的继承方式可以说是五花八门,好多小伙伴都不能系统地将其讲解出来。所以今天我们就来唠一唠这个JS的继承方式。

2022-11-01 15:55:38 194

原创 【JavaScript】其实真不难,带你一步一步手撕promise。

带你手写promise

2022-06-27 22:03:32 1017

原创 【JavaScript】手写call、apply、bind函数,理清楚思路其实不难。

一、call、apply、bind的作用和区别JavaScript中call、apply、bind函数的作用都一样,都是改变函数中的this指向。它们之间只有一些细小的差别:call,第一个参数为执行上下文,参数通过后续参数传递,会自动调用函数 apply,第一个参数为执行上下文,参数需要写成一个数组,然后通过第二个参数传递,会自动调用函数 bind,与call几乎一模一样,只是不会自动调用函数,需要手动调用。二、实现思路两个函数A、B。当A调用call、apply、bind函数时需要传入

2022-03-18 21:10:24 742

原创 【JavaScript】判断数据类型的方法都有哪些?

JavaScript判断数据类型的方法都有哪些呢?首先我们最容易想到的肯定是typeof,因为这个方法的名字就说明了它的作用——就是用来检测类型的。typeofconsole.log(typeof 2); // numberconsole.log(typeof true); // booleanconsole.log(typeof 'str'); // string console.log(typeof fu...

2022-03-10 09:41:15 713

原创 【JavaScript】为什么0.1 + 0.2 不等于 0.3?要怎么解决?

在我们眼中0.1 + 0.2一定是等于0.3的,但是在JavaScript眼中不是!!!

2022-03-03 13:17:18 662

原创 【计算机网络】TCP三次握手性能优化

TCP三次握手性能提升因为TCP是面向连接的、可靠的、双向传输的传输层通信协议,所以在每次传输数据前都要进行三次握手才能建立连接。可以说TCP三次握手的过程在一个HTTP请求中平均时间占比10%左右,当遇到网络不佳或者SYN攻击时,如果没有正确调节三次握手的参数,就会对TCP性能参数很大影响。客户端优化三次握手建立连接的首要目的是同步序列号可靠传输是依靠同步的序列号实现的,比如流量控制,丢包重传等其实SYN报文的全称就叫同步序列号 SYN_SENT状态优化 客户端发送完SY

2022-03-02 13:20:38 2379

原创 【计算机网络】TCP的延迟确认和Nagle算法

因为TCP头部开销很大,当我们每次发送的数据很小的时候,都要带着这个巨大的头部,效率很低。造成浪费为了解决这个问题,TCP采用了两种策略: Nagel算法(发送角度) 延迟确认(接收角度) Nagel算法 没有已发送但未确认的报文时,马上发送数据 存在未确认报文时,直到没有已发送未确认报文或数据长度达到MSS大小时再发送数据 只要没有满足上面两条中的一条,发送方就会一直囤积数据,直到满足条件 没用Nagel算法,发送方就会将字符一个一个发送,每次

2022-01-18 19:52:24 2541

原创 【Vue】生命周期

2022-01-14 11:15:07 318

原创 【数据结构】哈希表冲突的解决方法

哈希表解决冲突的方法 链地址法(拉链法):将数组中每个位置存储的元素改成一个链表 开放地址法:寻找空白单元格来存储重复数据,寻找空白单元格的方法: 线性探测: 插入:步长为1,一点点寻找空白位置。 查找:跟插入过程类似,哈希化后,得到一个索引,比对元素,不相同则进行线性探测,如果查找过程中遇到空白位置,就停止查找。 删除:查找目标元素后,不可以设置为null,因为哈希表后面的位置有可能还存在冲突的元素,设置为null之后,线性探测就找不到后面元素了。删除时一般.

2022-01-12 10:08:15 632

原创 【浏览器】浏览器渲染流程

浏览器是一个多进程模式 浏览器进程:负责用户显示、用户交互、子进程管理 网络进程:处理网络资源加载(HTML、CSS、JS) 渲染进程:每个页面都是一个单独的渲染进程 GPU进程:绘制页面 插件进程:浏览器安装的插件运行 输入网址到渲染页面大致过程:用户输入URL,会开始导航(浏览器进程),浏览器进程会准备一个渲染进程,用于渲染页面,同时通过网络进程加载资源,最终将加载到的资源交给渲染进程渲染,最后渲染完毕(进程间通过ipc方式通信)有两阶段(导航流

2022-01-06 13:46:21 381

原创 【计算机网络】TCP的主要特性

重传机制重传机制是TCP实现可靠传输的方式之一,通过序列号与确认应答号实现发送端发送的数据达到接收方后,接受方收到后会回应一个确认应答消息。发送方发送1~1000的数据给接受方,接收方收完后,会返回一个应答消息和下一次期望收到的数据1001发送方接着发送1001后面的消息如果过程中发生了丢包,就会触发TCP的重传机制重传机制包括: 超时重传 快速重传 SACK D-SACk 超时重传超时重传的两种情况 数据包丢失 ACK确认

2022-01-06 13:44:55 1421

原创 【javaScript】js运行机制

单线程同步任务要先于异步任务执行执行顺序 同步 process.nextTick 异步 setImmediate(第一次事件循环完毕之后就会执行) 下面可以看个例子:输出的顺序为:原因如下:如果此时在零秒定时器前面添加一个for循环同步代码,让这个for循环的运行时间大于0毫秒,那会如何执行呢?执行结果如下2000次1的输出运行时间显然大于0毫秒,但是定时器内的代码并没有在f...

2022-01-04 09:29:36 412

原创 【计算机网络】TLS四次握手过程

我们都知道HTTP是明文传输,所以存在窃听、篡改和伪装等风险。为了解决这些问题,https出现了,https在http的应用层和传输层之间增加了一个SSL/TLS层,建立连接时增加了TLS层的四次握手,实现了信息加密、报文校验和身份证书等功能。今天,我们就来探讨一下,TLS层的信息加密是如何实现的。https的信息加密是混合加密,也就是对称加密与非对称加密。双方通通信开始前要协商密钥,密钥协商时采用的是非对称加密,进行通信时使用的对称加密。在密钥协商阶段主要用到以下几种算法:RSA算法 D

2022-01-03 10:58:25 5676

原创 为什么说Vue是单页面应用呢?

相信很多初学Vue的小伙伴都有一个疑惑,为什么使用Vue所制作的网页是单页面的呢?下面我们一起来探讨一下这个问题。我们都知道Vue的工作就是将我们的数据渲染到页面上。想要在模板上渲染数据,首先就要把Vue的实例对象挂载到模板上,下面我们就以一个使用vue-cli创建的项目来讲解:首先我们点开 src/mian.js 文件:可以看到vue-cli首先是帮我们引入了vue和App组件,通过new Vue建立了一个Vue的实例对象,然后...

2021-10-08 19:58:15 6161

空空如也

空空如也

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

TA关注的人

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