如何在 Java 8 项目中防止 SQL 注入

在 Java 8 项目里,防 SQL 注入不能靠“过滤关键字”这类经验做法,真正有效的是把 SQL 结构和用户输入彻底隔离。本文围绕 JDBC、MyBatis、异常处理和输入校验四个环节,梳理哪些写法安全、哪些地方最容易失守。

如何在 Java 8 项目中防止 SQL 注入

Node.js 项目在 Linux 上如何配置 Nginx

本文用一套可直接照着执行的流程,讲清 Node.js 项目在 Linux 上接入 Nginx 反向代理的方法,涵盖安装、配置、启用、验证和防火墙放行,并点出最常见的排错方向。 Node.js 项目部署到 Linux 服务器后,通常不会直接把应用端口暴露给公网,而是交给 Nginx 做反向代理。这样既方便统一接入 80/443,也为后续启用 HTTPS、缓存和负载均衡留出空间。

Node.js 项目在 Linux 上如何配置 Nginx

Java 中 Long 转 int 的安全转换方案

在 Java 里把 `Long` 转成 `int` 看起来只是一次普通类型转换,真正的风险在于溢出时未必会报错。结合 Hutool `Convert`、原生范围校验和 `Math.toIntExact()` 的行为差异,本文梳理几种常见写法的适用边界与避坑点。 把 `Long` 转成 `int` 看似只是一次普通类型转换,真正容易踩坑的地方,是越界后到底会静默截断、返回默认值,还是直接抛异常。

Java 中 Long 转 int 的安全转换方案

Go 服务限流怎么用好 time/rate:从令牌桶原理到落地实践

在 Go 服务里做限流,`golang.org/x/time/rate` 往往是最直接也最稳妥的选择。它基于令牌桶算法,既能限制平均速率,也能保留可控突发能力。本文从核心原理、三类常用 API、典型接入方式到参数调整建议,梳理这套库在实际项目中的用法边界。

Go 服务限流怎么用好 time/rate:从令牌桶原理到落地实践

Go 代码格式化该用 gofmt 还是 goimports?一文讲清选择与集成方式

在 Go 项目里,`gofmt` 只能处理代码排版,而 `goimports` 还会接手 import 的增删、合并和分组。本文从两者差异、命令用法到编辑器、Git 钩子和 CI 集成,梳理一套更省心的落地方式。 写 Go 时,最常见却也最打断节奏的,往往不是业务逻辑本身,而是没删干净的 import、漏写的依赖和反复手动整理的格式问题。

Go 代码格式化该用 gofmt 还是 goimports?一文讲清选择与集成方式