• websocket详解

    websocket作为一个可以在客户端和服务端进行全双工通信的协议,在即时通信,直播还有游戏运用十分广泛。但是本人在使用中时常搞不清他与http和TCP之间的联系,因此在这篇文章里将会介绍websocket的建立流程,与HTTP和TCP联系,websocket数据帧结构与解析 websocket的建立websocket并不是像我们想象中类似tcp建立连接的,实际上websocket和http...
  • JWT token失效问题与解决方案

    当使用 JWT 作为用户认证机制时,Token 有时效性是一个核心设计。默认 token 一旦过期,用户请求就会被拒绝,通常返回 401 Unauthorized。本文将介绍如何在 Nest.js 项目中处理 token 失效的问题,包括 检测、刷新机制和最佳实践。 问题重现UserService 中用以下方式生成了一个有效期为 60 天的 token,但是过期后访问接口就会报错。 1234...
  • 前端登录鉴权全过程

    在前端面试中总会遇到面试官问你前端登录鉴权是怎么做的,token的作用是怎么,token过期了怎么办之类的一些问题,那么在在这里就以我的智能协作项目(https://github.com/ztygod/smart-task-platform)做一次简单的梳理。 技术栈 前端:vue,axios 后端:nest.js,mysql,TypeORM 注册阶段在一般项目中我们会输入用户名ID...
  • 封装socket坑点

    在我的那个智能协作系统中,一开始维护了一个简单的useSocket Hook(如下),但是出现问题。这个封装方式导致了socket对同一个事件的多次监听,以至于后端emit事件的时候,前端会对这个事件进行多次响应,无法达到预期。上面代码问题如下: 1. 多个组件共享一个 socket 实例,但都注册 connect/disconnect 监听 如果你多个页面/组件都调用了...
  • Markdown 语法示例

    Markdown 语法示例Markdown 是一种轻量级标记语言,适用于写作和排版,广泛用于博客、文档和 GitHub README 文件等。本文将介绍 Markdown 的基本语法。 1. 标题使用 # 号定义标题,# 代表一级标题,## 代表二级标题,以此类推。 123# 一级标题## 二级标题### 三级标题 2. 加粗 & 斜体 加粗 使用 **加粗内容** 或 __加粗内...
  • 回溯

    回溯介绍回溯定义是: 简单来说,回溯是一种逐步尝试寻找解的过程,如果当前尝试失败,就返回上一步(即“回溯”),尝试其他可能的路径。 可以理解为一个进阶版的递归与树 DFS 的结合。 核心观点 选择 DFS 遍历对象 确定约束条件:DFS 变量结果不可能全部有效,我们需要找到有效的部分,也就是说需要进行“充分剪枝”。 确定 DFS 遍历结束的边界:设定目标,确保回溯能够正确终止。 题目括号...
  • tianyi

    helloI’m tianyi
123