Go mod 好菜系列 - 0x0B wire 这口依赖注入别硬吞
详细聊 wire 是来解决什么的、为什么 Go 项目会谈依赖注入、它适合什么规模,以及什么时候完全没必要把项目搞成装配迷宫。
详细聊 wire 是来解决什么的、为什么 Go 项目会谈依赖注入、它适合什么规模,以及什么时候完全没必要把项目搞成装配迷宫。
从 schema、代码生成、类型安全、迁移和查询表达力角度详细聊 ent,看看它为什么让一些团队很上头,也为什么它不算轻菜。
详细讲 sqlx 为什么受欢迎、比 database/sql 多了什么、比 ORM 少了什么,以及它为什么适合想手写 SQL 但又不想太原始的人。
更模块化地聊 jwt:签发、校验、claims、过期、刷新和中间件实践,看看它为什么高频,又为什么不能被神化。
详细讲 validator 在 Go 项目里为什么高频、标签校验怎么写、适合放在请求层还是业务层,以及什么时候别迷信自动校验。
详细讲 cobra 能做什么、为什么 Go CLI 项目常用它、命令树/flags/执行入口如何组织,以及它在工程里的位置。
从配置文件、环境变量、默认值和热更新角度详细讲 viper,看看它怎么帮你把项目配置真正组织起来。
详细讲 zap 为什么在 Go 项目里很常见、结构化日志怎么写、字段日志有什么价值,以及它通常应该放在哪一层。
从缓存思路讲到 go-redis 的常见 API、过期控制、计数器和项目里最常见的使用方式,避免只会机械 set/get。
详细拆 gorm 的定位、模型定义、迁移、CRUD、查询链、关联和事务,看看它为什么常见、又为什么经常引发争议。
详细聊 gin 是什么、适合干什么、路由/中间件/参数绑定/响应处理怎么写,以及为什么它在 Go Web 项目里这么常见。
新系列开篇,先聊为什么常见 Go 模块值得单独学,以及 gin、gorm、go-redis、zap、viper、cobra 各自负责什么。