归档
按时间查看所有文章。
20260629解梦
网络设备的区别
两台路由器开启两个wifi怎么接线
使用 Fail2Ban 保护 SSH 与 Nginx:拦截恶意扫描和高频请求
Fail2Ban 是一款基于日志分析的自动封禁工具。它会持续监控 SSH、Nginx 等服务产生的日志,当某个 IP 在指定时间内触发过多异常记录时,自动调用 iptables 或 nftables 将其临时封禁。
内嵌字幕 硬字幕 外挂字幕的区别
使用 yt-dlp 下载了内嵌字幕视频后放在 nginx 静态目录下,然后通过浏览器直接访问 下载的 .webm 文件,发现视频没有字幕,但是使用 vlc 播放器播放视频是可以正常显示字幕的,然后就了解了下 web 浏览器播放视频解析字幕和 视频里几种字幕的区别
curl 使用介绍
Obsidian 使用 Git 实现 Windows、macOS、iOS 与 Android 多端同步
VSCode REST Client:用 `.http` 文件调试和管理 API
VSCode 的 REST Client 插件允许我们直接在 `.http` 或 `.rest` 文件中编写并发送 HTTP 请求。请求是普通文本,可以和代码一起维护、进行 Git 版本管理,也能通过变量和响应引用串联登录、鉴权等操作。
NestJS 如何使用 Docker 部署项目
在 NestJS 中基于 Docker 实现项目部署,采用「本地构建镜像 + scp 上传镜像包」的部署方式。
NestJS 优雅实现定时任务
在 NestJS 中基于 @nestjs/schedule 实现优雅的定时任务。
NestJS 如何优雅地实现爬虫功能
使用 NestJS + 原生 fetch + cheerio 实现爬虫功能。
NestJS 接入 Logger,并结合 Exception Filter 统一异常日志
本文基于当前 NestJS 项目实践,使用 `nest-winston` 接入 Winston 日志系统,再通过全局 `Exception Filter` 统一异常响应和异常日志。
NestJS 使用 Swagger 生成接口文档,并接入 Knife4j 主题
本文基于一个 NestJS 11 项目的实际改造,介绍如何接入 Swagger、启用 Knife4j 主题,并补充统一响应、JWT 鉴权、错误响应、分页查询、枚举、文件上传等进阶用法。
NestJS 项目如何检查 Node.js 版本:从版本声明到启动前强校验
本文介绍如何在 NestJS 项目中检查 Node.js 版本,包括版本声明、兼容范围声明和执行前校验。
NestJS 实现 JWT 登录、令牌刷新与全局路由守卫
本文介绍如何在 NestJS 中实现 JWT 登录、令牌刷新与全局路由守卫,包括登录参数校验、密码哈希比对、访问令牌与刷新令牌签发、受保护路由鉴权、公开路由声明,以及把当前用户身份传递给后续业务代码。
NestJS 使用 Interceptor 统一响应,并通过装饰器自定义 message
本文介绍如何在 NestJS 中使用 Interceptor 统一响应,并通过装饰器自定义 message,包括统一响应结构、Interceptor 位置、实现全局响应拦截器、用 SetMetadata 声明接口消息、使用 Reflector 读取元数据、注册为全局拦截器、默认 message 的两种策略、错误响应应该怎样处理、避免重复包装、单元测试、常见误区等。
NestJS 使用 class-validator 做字段参数校验
本文介绍如何在 NestJS 中使用 class-validator 做字段参数校验,包括必填项、字符串、邮箱、布尔值、可选字段和额外字段校验等。
NestJS 使用 class-transformer 统一格式化响应字段
本文介绍如何在 NestJS 中使用 class-transformer 统一格式化响应字段,包括删除敏感字段、格式化日期、枚举和关联对象等。
NestJS 在 Service 之外增加抽象类与 Repository 层
在简单 CRUD 中,直接把 TypeORM 的 `Repository<User>` 注入 Service 完全可行。但随着重复检查、事务、缓存、查询策略和数据源切换不断增加,Service 很容易同时承担业务编排与数据库细节。增加 Repository 层的目的不是让目录更多,而是建立稳定的数据访问边界。
NestJS 接入 MySQL 数据库
本文以 NestJS、TypeORM 和 MySQL 为例,演示如何完成一套基础数据库接入,并通过 `User` 模块实现一个简单的用户列表查询接口。
NestJS 中使用 Middleware 中间件
在 NestJS 中使用 Middleware 中间件,实现一个简单的请求ID中间件,用于追踪请求链路。
NestJS 优雅实现环境变量配置与校验
在 NestJS 中基于 @nestjs/config 和 joi 实现优雅的环境变量配置与校验。
NestJS 中 Module、Controller 和 Service 的直接关系
NestJS 项目通常从 `Module`、`Controller` 和 `Service` 三类文件开始。本文以 NestJS 默认生成的 `AppModule`、`AppController` 和 `AppService` 为例,说明三者的职责边界、依赖关系和一次 HTTP 请求在它们之间的流转过程。
Nest CLI 常用命令速查
Nest CLI 是 NestJS 官方提供的命令行工具,用来创建项目、生成模块文件、启动开发服务和维护项目结构。对于刚开始学习 NestJS 的项目来说,熟悉 CLI 命令可以减少手动创建文件时的路径错误,也能让 `Module`、`Controller`、`Service` 的组织方式更统一。