Posts
All the articles I've posted.
-
TCP与UDP
UDP 面向报文 UDP 是一个面向报文(报文可以理解为一段段的数据)的协议。意思是 UDP 只是报文的搬运工,不会对报文进行任何拆分和拼接操作。 具体来说 在发送端,应用层将数据传递给传输层的 UDP 协议,UDP 只会给数据增加一个 UDP 头标识下是 UDP 协议,然后就传递给网络层了 在接收端,网络层将数据传递给传输层,UDP 只去除 IP 报文头就传递给应用层,不会有任何拼接操作 不可靠性 UDP 是无连接的,也就是说通信不需要建立和断开连接 UDP 也是不可靠的,协议收到什么数据就传递什么数据,并且也不会备份数据,
at 14:17(Updated) -
Vue2使用slot跨组件传递信息
父组件 Parent.vue < template > < div class = "parent" > < Child > < span # slot1 = " { item , index } " >{{ index }}</ span > < span # slot2 = " { item , index } " >{{ index }}</ span > </ Child > </ div > </ template > < script > import Child from './Child.vue' export default { name : "parent" } </ script > Parent.jsx import Child from './Child.jsx' const Parent = Vue . component ( 'parent' , { render ()
at 14:34(Updated) -
Vue2 与 Vue3
生命周期 Vue2.x Vue3.x beforeCreate setup created setup beforeMount onBeforeMount mounted onMounted beforeUpdate onBeforeUpdate updated onUpdated beforeDestroy onBeforeUnmount destroyed onUnmounted errorCaptured onErrorCaptured 整体来看变化不大,除了 beforeCreate 、 created 用 setup 代替外,其余的基本都是变更名称,但功能本质上未发生变化 响应式原理 Object.defineProperty vue2 中无法实现对数组对象的深层监听,是因为组件每次渲染都是将 data 里的数据通过 defineProperty 进行响应式或者双向绑定,
at 02:36 -
浏览器存储
cookie,localStorage,sessionStorage,indexDB 特性 cookie localStorage sessionStorage indexDB 数据生命周期 一般由服务器生成,可以设置过期时间 除非被清理,否则一直存在 页面关闭就清理 除非被清理,否则一直存在 数据存储大小 4K 5M 5M 无限 与服务端通信 每次都会携带在 header 中,对于请求性能影响 不参与 不参与 不参与 从上表可以看大,cookie 已经不建议用于存储。如果没有大量数据存储需求的话,可以使用 localStorage 和 sessionStorage 。对于不怎么改变的数据尽量使用 localStorage 存储,
at 07:08(Updated) -
浏览器渲染机制
渲染流程 浏览器的渲染机制一般分为以下几个步骤: 处理 HTML 并构建 DOM 树 处理 CSS 构建 CSSOM 树 将 DOM 树与 CSSOM 树合并成一个渲染树 根据渲染树来布局,计算每个节点的位置 调用 GPU 绘制,合成图层,显示在屏幕上 在构建 CSSOM 树时,会阻塞渲染,直到 CSSOM 树构建完成。并且构建 CSSOM 树是一个十分消耗性能的过程,所以应该尽量保证层级扁平,减少过度层叠,越是具体的 CSS 选择器,执行速度越慢 当 HTML 解析到 script 标签时,会暂停构建 DOM,完成后才会从暂停的地方重新开始。也就是说,如果你想首屏渲染的越快,
at 07:04(Updated)