Nest 实现 SSE原帖 服务端实时推送数据,除了用 WebSocket 外,还可以用 HTTP 的 <font style="color:rgb(37, 41, 51);">Server Send Event</font> (SSE)。 只要 http 返回 Content-Type 为 text/event-stream 的 header,就可以通过 stream 的 2023-09-05
Nest 定时任务原帖 启动npm install --save @nestjs/schedule 123456789101112131415161718// app.module.tsimport { ScheduleModule } from "@nestjs/schedule";@Module({ imports: [ScheduleModule.forRo 2023-09-05
nginx 常见问题反向代理后访问 40412345location /api { proxy_set_header X-Real-IP $remote_addr; proxy_buffering off; proxy_pass http://bazijun.top:3002;} location /api 没有以 / 结尾,这会导致 nginx 将 /api 也作为代理路径的一部分, 2023-08-23
动态生成代码的 eval 与 Functionby: gpt4 eval() 和 new Function()都可以用于动态执行 JavaScript 代码,不过它们之间存在一些关键的差异。 作用域<u>eval()</u>在当前的词法作用域中执行代码,这意味着在使用 <u>eval()</u> 执行的代码可以访问、修改甚至声明当前作用域内的变量。而 <u>new Functio 2023-08-21
Nest 基于邮件验证码登录代码:nest-study\email-login 用户填入邮箱地址,点击发送验证码,后端会生成验证码,发送邮件。并且还要把这个验证码存入 redis,以用户邮箱地址为 key。 之后用户输入验证码,点击登录。后端根据邮箱地址去 redis 中查询下验证码,和用户传过来的验证码比对下,如果一致,就从 mysql 数据库中查询该用户的信息,放入 jwt 中返回。 而当使用到一些铭感信息,如邮件 2023-08-16
node 收发邮件发邮件是基于 <u><font style="color:rgb(37, 41, 51);">SMTP</font></u> 协议,收邮件是基于 <u><font style="color:rgb(37, 41, 51);">POP3</font></u> 或 & 2023-08-16
Nest / Swaggerswagger 是一种叫做 <font style="color:rgb(37, 41, 51);">openapi</font> 标准的实现,如果不喜欢完全可以直接划走,一般 api 接口的平台都是支持 openapi 的。 安装 npm install --save @nestjs/swagger main.ts 中配置启动,生产的文档路由上加 &l 2023-08-16
nginx实现灰度系统正经项目新版本代码的上线基本都会用灰度系统,可以逐步放量的方式来保证上线过程不会出大问题,开始可以 5%(即 5%的用户会使用到该新版本),没啥问题再放到 10%,50%,最后放到 100% 全量。 第一次请求的时候,会按照设定的比例随机对流量染色,也就是设置不同 cookie。再次访问的时候会根据 cookie 来走到不同版本的代码。 nginx 有反向代理的功能,可以转发请求到应用服 2023-08-15
Docker 重启策略Docker 是支持自动重启的,可以在 docker run 的时候通过 <font style="color:rgb(37, 41, 51);">--restart</font> 指定重启策略,或者 Docker Compose 配置文件里配置 restart。 有 4 种重启策略: <font style="color:rgb(3 2023-08-14
Docker 容器通信方式桥接网络Docker 通过 Namespace 的机制实现了容器的隔离,其中就包括 Network Namespace。因为每个容器都有独立的 Network Namespace,所以不能直接通过端口访问其他容器的服务。但可以创建一个 Network Namespace,然后设置到多个 Docker 容器,这样这些容器就在一个 Namespace 下了,如此就可以直接访问对应端口了。这种就是桥接网 2023-08-14