很多网站支持 Google, Github 等多种登录方式。怎么做到的?
-
鉴权系统设计 - 基于 HttpOnlyCookie, Access Token, Refresh Token...
基于 HttpOnlyCookie + Access Token + Refresh Token 实现的鉴权和认证模型,在现代应用中很常见。本文将简略总结一下这个系统。 概念 HttpOnlyCookie 可以理解为一个特殊的容器,由于 JS 无法读到 Cookie,所以在这里面存东西能显著降低 XSS 窃取 token 的风险。 跨站脚本攻击(XSS) 全称 Cros... -
React Fiber
关于 React Fiber 的简单复习用学习笔记
-
申请 Github Education 通过方法
即便我是个真实学生,Github 也拒绝我的学生认证太多次。下面的方法亲测有效,一分钟之内可以认证通过。
-
关于算法优化在前端工程实践中运用的思考
在做算法题的时候,我们经常用 “空间换时间” 的方法,把 O(n) 的算法优化到 O(1) ,并“引以为傲”。但今天碰到的这个场景,让我开始重新思考这件事: 在前端领域,“空间换时间”有时候不一定是一件好事“ 案例展示 我们有一个大大的路由表,现在,我们需要处理这个路由表,把它变成面包屑菜单(Breadcrumb)组件可用的样子。 也就是对于每一个页面 URL,我们都要有一个对应的链路,来... -
使用 Github Action + Docker + Git 全自动部署项目到国内服务器,并优化部署速度到 10s
本文中,我会介绍我是怎么自动化部署我的 Nextjs 项目到多个服务器的,并分享一些部署技巧。成功以后,每次 git push 以后,项目会自动把生产构建部署到多个服务器,完全不需要你做任何额外的事情。 我的这个方法有如下几个显著优势: 完全适配国内网络环境。在各个方案中,这个方案绝对是部署速度最快的。有图有真相,在之后的自动化部署中,每次只花 10 秒左右 自动化部署,而且还是国内服务... -
🌟JS 面向对象的编程 & 原型链学习路径
this 语句和 new 关键字 原型对象与方法 prototype 和 proto 一样吗? 继承的手写实现 ES6 面向对象编程的语法糖 -
使用 nexttrace 代替 tracert, traceroute 以及 mtr 进行网络测试
nexttrace 是新一代的网络测试工具,社区正在积极维护 CLI 使用 官方文档如下: NTrace-core/README_zh_CN.md at main · nxtrace/NTrace-core 我们可以使用 Scoop 来安装 nexttrace。先安装 scoop: 12Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -S... -
关于跨运营商网络问题的思考
我在移动网络的情况下,访问我家电信宽带下托管的服务器出现了严重卡顿。这促使了我开展本文所示的系列研究。 如何得知自己现在网络环境的 isp cip.cc 简单测试 1curl cip.cc 获得类似于这样的信息: 12345678910C:\Users\26646>curl cip.ccIP : 183.131.35.123地址 : 中国 浙江 杭州运营商 ... -
RPC 协议个人学习总结
参考文献:操作系统中的远程过程调用 (RPC) - GeeksforGeeks RPC 协议,全称 Remote Procedure Call ,使程序能在网络中运行另一个计算机中的函数,就像在本地运行一样。RPC 隐藏了网络细节,因此开发人员可以像处理普通函数调用一样思考,而无需考虑复杂的网络操作。 其原理如图所示: RPC 工作原理 其中的 stub 是一种辅助型代码,个人认为它的关...