优秀文章集锦
术语解释
技术类
代码风格
TypeScript
Vue 生态
Vue 使用技巧
JavaScript
事件循环
- 精读《Tasks, microtasks, queues and schedules》open in new window
- 文章里描述了 Tasks/Microtasks 与事件冒泡的关系,以及浏览器对此实现的不一致性
- 浏览器的 Event Loop 宏任务,微任务,事件冒泡open in new window
- 文章里的“五.当 Event Loop 遇上事件冒泡”说明了事件冒泡也是个宏任务
- 事件冒泡的宏任务是立即加入到任务队列的,而
setTimeout
是在delay
时间(有最小延迟时间)加入任务队列的,因此事件冒泡优先于setTimeout
动画
性能
GPU 加速
工程类
- 如何科学修改 node_modules 里的文件open in new window
- 一文搞懂CDN加速原理open in new window
- 提升低端设备的 Web 性能open in new window
错误处理和监控
授权服务
Oauth 2.0
- 阮一峰 - OAuth 2.0 的一个简单解释open in new window
- 阮一峰 - OAuth 2.0 的四种方式open in new window
- 授权码方式
- 用于第三方应用从资源服务器获取用户授权的信息。
- 这种方式在请求时可以指定授权范围,用户仅针对该范围授权,后续第三方应用也只能获取到该范围的授权
- 授权码的有效期比较短,且只能用一次
- 示例:快手 APP 获取用户的微信数据(进行登录)。
- 凭证式
- 用于第三方应用向资源服务器证明自身身份并获取到令牌,后续与资源服务器的通信均可认为是该第三方应用所为。
- 不涉及到用户,或者所有用户共用一个令牌。
- 示例:微信小程序应用可向微信获取一个令牌,后续携带该令牌获取小程序的用户反馈内容。
- 隐藏式和密码式风险很大,我目前没遇到过使用场景。
- 授权码方式