关于这个博客:记录 Go 后端的真实取舍 blogger 2026-5-25 Go 语言笔记 关于这个博客:记录 Go 后端的真实取舍 记录一个 Go 后端工程师的个人技术博客定位:少写口号,多写可复用的工程判断。
Go 项目目录:cmd、internal、pkg 要不要全用 blogger 2026-5-24 Go 语言笔记 Go 项目目录:cmd、internal、pkg 要不要全用 Go 项目目录不要照搬模板,先确认入口、业务和可复用边界。
context 不只是取消信号:超时和值怎么放 blogger 2026-5-23 Go 语言笔记 context 不只是取消信号:超时和值怎么放 context 适合传生命周期和少量横切值,不适合承载业务参数。
errgroup 控制并发:别让 goroutine 泄漏 blogger 2026-5-22 Go 语言笔记 errgroup 控制并发:别让 goroutine 泄漏 用 errgroup 把并发任务的错误、取消和等待收口,减少 goroutine 泄漏。
defer 的成本和可读性:哪些热路径要注意 blogger 2026-5-21 Go 语言笔记 defer 的成本和可读性:哪些热路径要注意 defer 默认服务可读性和资源安全,只有被数据证明的热路径才值得手动优化。
Gin 中间件顺序:日志、恢复、鉴权、限流怎么排 blogger 2026-5-20 Gin 实战 Gin 中间件顺序:日志、恢复、鉴权、限流怎么排 Gin 中间件顺序会影响日志、panic 捕获、限流和鉴权语义。
Gin 参数校验:把 binding 错误变成可读响应 blogger 2026-5-19 Gin 实战 Gin 参数校验:把 binding 错误变成可读响应 Gin binding 要配合错误翻译,格式校验和业务校验不要混在一起。
GoFrame 配置分层:本地、测试、生产怎么放 blogger 2026-5-15 GoFrame 实践 GoFrame 配置分层:本地、测试、生产怎么放 GoFrame 配置应区分默认值和敏感值,生产密钥不要进入仓库。
GoFrame g.DB 事务写法:边界要在用例层 blogger 2026-5-14 GoFrame 实践 GoFrame g.DB 事务写法:边界要在用例层 GoFrame 事务应由用例层控制,repository 不要各自开事务。
GoFrame 的 gvalid:校验放入口层,不放领域层 blogger 2026-5-13 GoFrame 实践 GoFrame 的 gvalid:校验放入口层,不放领域层 gvalid 适合格式校验,业务状态校验仍应放在 service。
GoFrame 中间件里做 request id blogger 2026-5-12 GoFrame 实践 GoFrame 中间件里做 request id GoFrame 服务应在入口生成并传递 request id,用于日志和链路排障。
MySQL 索引:先看查询形状再建索引 blogger 2026-5-11 数据库与缓存 MySQL 索引:先看查询形状再建索引 MySQL 索引要从查询形状出发,用 EXPLAIN 验证,而不是凭字段名猜。
Linux systemd 管理 Go 服务 blogger 2026-5-7 部署与可观测性 Linux systemd 管理 Go 服务 Go 服务上线后用 systemd 管理,比 nohup 更可控、更容易排障。