2019-11 下旬
- 创建于:2019-11-21
- 更新于:2020-08-10
# 2019-11-29: 什么是 HashTable ? 如何解决冲突
好好想想先 😌
- TODO
# 2019-11-28: Websocket 怎么实现长连接
好好想想先 😌
参考链接
一句话
- 基于 http
- 101 switch protocol
- Websocket 只需要一次 HTTP 握手,所以说整个通讯过程是建立在一次连接/状态中,也就避免了 HTTP 的非状态性,服务端会一直知道你的信息,直到你关闭请求,这样就解决了接线员要反复解析 HTTP 协议,还要查看 identity info 的信息。
- 基于 http
# 2019-11-27: js 执行分为几个阶段,每个阶段分别做了什么
好好想想先 😌
参考链接
一句话
- 语法分析阶段
- 分析该 js 脚本代码块的语法是否正确,如果出现不正确,则向外抛出一个语法错误(SyntaxError),停止该 js 代码块的执行,然后继续查找并加载下一个代码块;如果语法正确,则进入预编译阶段。
- 变量提升在此阶段完成
- 预编译阶段
- 创建执行上下文
- 建立作用域
- 执行阶段
- 语法分析阶段
# 2019-11-26: 什么是 WebAssembly,应用场景有哪些
好好想想先 😌
参考链接
一句话
- 在网页上运行 C/C++ RUST 语言
- AssemblyScript
- 优点
- 体积小:由于浏览器运行时只加载编译成的字节码,一样的逻辑比用字符串描述的 JS 文件体积要小很多;
- 加载快:由于文件体积小,再加上无需解释执行,WebAssembly 能更快的加载并实例化,减少运行前的等待时间;
- 场景
- AutoCAD web 版
- Google Earth
# 2019-11-25: Object.is
和 ===
的区别
好好想想先 😌
参考链接
一句话
- 两者基本相同
- Object.is(NaN, NaN) // true
- NaN === NaN // false
- Object.is(0, +0) // true
- Object.is(0, -0) // false
# 2019-11-24: 什么是 QUIC 协议,基本原理是什么
好好想想先 😌
参考链接
一句话
- Quic 全称 quick udp internet connection,“快速 UDP 互联网连接”
- 减少了 TCP 三次握手及 TLS 握手时间。
- 改进的拥塞控制。
- 避免队头阻塞的多路复用。
- 连接迁移。
- 前向冗余纠错。
- Quic 全称 quick udp internet connection,“快速 UDP 互联网连接”
# 2019-11-23: 什么是 TCP 拥塞,拥塞控制
好好想想先 😌
参考链接
一句话
- 通过 HTTP 头信息的 Content-Security-Policy 的字段
- 通过网页的<meta>标签
# 2019-11-22: 什么是 CSP(内容安全策略)
好好想想先 😌
参考链接
一句话
- 通过 HTTP 头信息的 Content-Security-Policy 的字段
- 通过网页的<meta>标签
# 2019-11-21: 什么是 SQL 注入,怎样预防
好好想想先 😌
- 一句话
- TODO