Go语言技术文章
-
Go 1.24 默认支持泛型类型别名。本文从跨包迁移一个泛型类型的实际场景出发,说明别名与定义类型的语义差异、Go 1.23 实验开关的边界,以及如何用编译、测试和工具链检查完成迁移验收。185 收藏 -
用月光、湖心芦苇和远山做一组适合手机锁屏的竖屏壁纸:主图保留上方时间区与中部图标区的干净留白,再通过色彩与雾气改词得到一张明显不同的雾紫变体。253 收藏 -
Golang · Go问答 | 1星期前 | 性能优化 · Context · go并发 · 故障排查 · 接口开发 · Go goroutine泄漏 context.WithCancel 请求生命周期 defer cancel
调用 context.WithCancel 并不自动消除 goroutine 泄漏。关键在于 cancel 的调用位置、子协程是否监听 Done,以及请求提前返回时能否及时结束。本文从一个持续增长的接口现场拆出根因、修复和复查方法。427 收藏 -
Golang · Go问答 | 1星期前 | golang · 错误处理 · Go问答 · io包 · 文件写入 · Go Writer io.MultiWriter io.ErrShortWrite 短写
io.MultiWriter 会把一次写入依次交给多个 Writer;只要某个目标返回短写或错误,调用方就必须按返回字节数和错误值判断是否完整。本文用可复现实验拆解 ErrShortWrite 的触发边界、失败顺序和安全核对方式。338 收藏 -
Go 的 embed.FS 适合把默认配置随二进制一起发布,但路径写错、覆盖顺序不清和测试读错目录都很常见。本文从目录布局到运行时覆盖,给出可复用的最小实现、验证命令和回滚边界。339 收藏 -
用 Temporal.PlainDate 处理生日、账期和只关心日历日期的业务值,避开 Date 的时区偏移,覆盖 from、compare、until、toString 与旧浏览器降级边界。198 收藏 -
医保亲情账户可以让家长在自己的手机上帮孩子展示医保码、办理就医结算。本文按国家医保局公开流程说明绑定入口、材料准备、使用边界,以及亲情账户与家庭共济的区别。416 收藏 -
服务停止时日志已经出现 SIGTERM,但进程迟迟不退,甚至留下僵尸进程。本文用一个可复查的 Linux 场景讲清信号是否送达、进程是否处理、子进程如何回收,以及服务管理器的停止边界。208 收藏 -
Go 测试里临时目录、环境变量和共享资源容易在失败路径上残留。本文用 testing.T.Cleanup 拆解注册时机、后进先出顺序、子测试继承和并行测试边界,给出可运行的测试写法与验收清单。114 收藏 -
PHP 8.4 属性钩子适合做属性级归一化,但默认值、构造函数赋值和可空类型的执行边界很容易混在一起。本文用配置对象拆开初始化顺序,并给出可运行的验证与旧版本回退写法。198 收藏 -
科技周边 · 业界新闻 | 1星期前 | 云原生 · 容器 · kubernetes · 业界新闻 · 弹性伸缩 · HPA Kubernetes 1.37 scale to zero 外部指标 ScaledToZero
Kubernetes 1.37 将 HorizontalPodAutoscaler 缩容到 0 个 Pod 的能力推进到 Beta 并默认开启,适用于对象指标或外部指标驱动的空闲工作负载。文章结合 spec.minReplicas、ScaledToZero 状态和恢复条件,说明哪些任务适合采用、为什么 CPU/内存指标不能直接承担缩到 0,以及上线前如何做最小验证。387 收藏 -
一个 AI 应用把危险请求挡住是安全表现,把正常请求误判为风险则是业务失败。本文用一组可回放的测试样本拆分安全拒答、过度拒答、正常通过和非安全业务错误,说明如何设计标签、计算指标并在上线前复核。377 收藏 -
多模态模型识别扫描表格时,漏列通常不是模型单点失误,而是图像缩放、表格线、列坐标和结构化输出共同造成的。本文给出一套从输入预处理到坐标复核、局部纠错和结果验收的实用流程。461 收藏 -
Redis 报 OOM 不一定是 used_memory 超过 maxmemory。本文从 maxmemory 判定、内存碎片率、客户端输出缓冲和大 key 四个方向核对真实占用,并给出可复现的 redis-cli 检查命令。460 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · golang · JSON · 配置管理 · go · 工程实践 · 空值处理 encoding/json Go教程 MarshalText encoding.TextMarshaler 配置序列化
同一个配置值如果在 JSON、日志和环境变量之间各写一套转换,很快就会出现格式漂移。本文用 encoding.TextMarshaler 统一文本表示,拆开 json.Marshal 的调用规则、指针接收者、错误处理和 nil 边界,并给出可运行的验证示例。142 收藏