macOS 上 lsof 查端口查不到?不是端口没被占,是你没权限看见
lsof -i :端口 查不到,不代表端口是空的。权限不够、AirPlay 占用 5000 端口的真实案例,以及怎么解决。
mise:一个工具管住所有语言版本,不用再装一堆 nvm/gvm
mise 是什么、怎么配置、怎么用——一个工具替代 nvm/gvm 这类单语言版本管理器,附常见语言的完整配置示例。
单元、集成、契约、端到端:分清这几种测试,看的是同一个问题
区分测试类型别看代码碰了几个文件,看的是要不要跨真实边界。契约测试为什么能让集成测试的 N² 问题变成线性。
有状态和无状态的接口:REST 的无状态约束,以及 JWT 撞上的撤销难题
长连接不等于有状态。用两个具体例子讲清楚无状态和有状态的定义,以及 JWT 为了做到无状态认证撞上的撤销难题。
Go 热重载:air 怎么工作的,以及它和优雅关闭的一个冲突
Go 里的热重载不是真的热更新,是监听变化重新编译再重启进程。air 默认还会直接强杀旧进程,跟优雅关闭逻辑冲突。
Postman Pre-request Script 实战:自动生成签名、验证码与 Token 续期
MD5 签名、Google Authenticator 验证码、Token 续期,三个 Pre-request Script 案例同一类坑:不报错,值不对。
Go 优雅关闭:Shutdown() 只是一半,K8s 里还有个隐藏竞态
http.Server.Shutdown() 该等的都等了,K8s 滚动发布偶尔还是 502——问题出在 SIGTERM 和 Endpoint 摘除的竞态。
Go 接口设计:接口参数不够用时,该不该加个 struct
接口参数不够用时,借道传参能跑但埋雷。Go struct 零值兜底能让扩展变成非破坏性变更,但这也是双刃剑——Stripe 官方吃过零值歧义的亏。
Postman 进阶技巧:告别手动复制粘贴的高效用法
Postman 不只是图形化的 curl。自动登录续 Token、批量编辑、curl 互转、CLI 接入 CI——几个真正省时间的进阶用法。
Go Context 实战:超时、取消与跨协程数据传递
Go 里几乎所有函数第一个参数都是 ctx context.Context。取消、超时、跨协程传值这三件事,Context 具体怎么用、有哪些坑。









