摘要: HTTP 2.0 新特性 HTTP 2.0 为什么使用二进制分帧? 二进制协议比文本协议更加紧凑,减少占用空间 分帧层相当于将 HTTP 切分,更加灵活,比如可以对 header 帧做单独的特殊处理 分帧层有着属于自己的报文头,其中的 Stream Identity 使得操作系统具备将多个响应以及请 阅读全文
posted @ 2024-10-23 08:44 zjy4fun 阅读(32) 评论(0) 推荐(0) 编辑
摘要: ~ brew install wget ==> Downloading https://ghcr.io/v2/homebrew/core/wget/manifests/1.24.5 Already downloaded: /Users/z/Library/Caches/Homebrew/downlo 阅读全文
posted @ 2024-10-20 12:45 zjy4fun 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 全双工通信和半双工通信 全双工通信(Full-Duplex)和半双工通信(Half-Duplex)是两种通信模式,它们的区别主要在于数据传输的方向和时机: 全双工通信 同时双向通信:全双工模式允许通信双方在同一时间同时进行发送和接收数据。 例子:电话通话就是一个典型的全双工通信。通话时,双方可以同时 阅读全文
posted @ 2024-10-10 12:33 zjy4fun 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 浏览器渲染原理 五个渲染流程 Parse 阶段:解析 HTML Style 阶段:样式计算 三个阶段: 收集,划分和索引所有样式表中存在的样式规则 访问每个元素并找到适用于该元素的所有规则,CSS 引擎遍历 DOM 节点,进行选择器匹配,并且匹配的节点执行样式设置 结合层叠规则和其他信息为节点生成最 阅读全文
posted @ 2024-10-07 19:30 zjy4fun 阅读(17) 评论(0) 推荐(0) 编辑
摘要: React Fiber 在 React 16 之前的版本对比更新 VirtualDOM 的过程是采用 Stack 架构实现的,也就是循环加递归,这种方式的问题是一旦任务开始进行就无法被中断。 如果应用中的组件数量庞大, Virtual DOM 的层级比较深,主线程被长期占用,直到整棵 Virtual 阅读全文
posted @ 2024-10-07 18:49 zjy4fun 阅读(22) 评论(0) 推荐(0) 编辑
摘要: React diff 为什么使用虚拟 DOM ? 浏览器在处理 DOM 的时候会很慢,处理 JavaScript 会很快,页面复杂的时候,频繁操作 DOM 会有很大的性能开销(每次数据变化都会引起整个 DOM 树的重绘和重排)。 为了避免频繁操作 DOM,React 会维护两个虚拟 DOM,如果有数 阅读全文
posted @ 2024-10-07 18:21 zjy4fun 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 系统代理:通常工作在应用层,主要处理HTTP/HTTPS等协议。 TUN模式:工作在网络层,可以处理所有IP数据包。 TUN 代表"网络隧道"(Network Tunnel) 如果想让 terminal 中所有的网络流量走代理,需要开启TUN模式 系统代理只会对系统代理应用有效,对于非系统代理应用, 阅读全文
posted @ 2024-09-21 19:32 zjy4fun 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 执行四个耗时任务,对比效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" / 阅读全文
posted @ 2024-09-05 15:41 zjy4fun 阅读(19) 评论(0) 推荐(0) 编辑
摘要: ref: https://github.com/zjy4fun/web-worker 分别使用主线程和 worker 线程处理一个耗时计算,看看对主线程上的 UI 渲染有什么影响 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 阅读全文
posted @ 2024-09-05 15:28 zjy4fun 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 将 remote 由 ssh 切换到 https 阅读全文
posted @ 2024-08-31 20:11 zjy4fun 阅读(23) 评论(0) 推荐(0) 编辑