Go语言技术文章
-
npm 依赖供应链审计中,package-lock.json 应与 package.json 一起进入版本库,并随每次依赖变更保留可读 diff;CI 用 npm ci 按锁定树安装,审计报告和发布归档则单独记录,不能把锁文件本身当成漏洞结论。235 收藏 -
Go csv.Reader.TrimLeadingSpace 只忽略字段开始处的空白,不会删除引号包裹内容内部的空格。本文用最小示例拆开引号外、引号内两种位置,并说明注释、分隔符和字段数量设置的边界。235 收藏 -
从字节流、前两行读取边界和 BOM/编码声明冲突三个角度,说明 Python tokenize.detect_encoding 如何识别源文件编码,并给出 tokenize.open 的使用边界。235 收藏 -
document.fonts.load 可按字体家族、字重和文本等待匹配字体集合。本文对比 load、ready 与 check,提供标题字体等待及超时处理示例,并解释空数组、字形覆盖与迟到请求的边界。235 收藏 -
Go LDAP 的空密码不是普通登录失败的另一种写法。本文区分 Bind、UnauthenticatedBind 和 AllowEmptyPassword 的职责,给出认证意图封装与连接隔离示例,避免把未认证会话误当成用户身份。235 收藏 -
用 Hamba Avro 把 Go 结构体编码成 Avro record 时,核心是让 schema 字段、avro 标签和 Go 类型一一对应。本文分别说明 avro.Marshal、NewEncoder、字段类型映射和最小回读方式。235 收藏 -
CNCF 2026 的 AI 云原生讨论重点不只是项目清单,而是资源声明、推理路由、可观测性和治理接口。本文按落地排查顺序说明每类接口的输入、输出、边界与选型检查点。235 收藏 -
Go 的 tls.ConnectionState.NegotiatedProtocol 为空,不一定表示 TLS 握手失败,可能是没有配置 ALPN、对端没有启用 ALPN,或读取时机早于握手完成。本文按值班排障顺序说明 NextProtos、HandshakeComplete、协商结果和回滚边界。235 收藏 -
CSS Anchor Positioning 用 position-try 配置浮层回退位置,本文从最小写法、自定义 @position-try、优先级和兼容性边界说明如何避免 tooltip 溢出视口。234 收藏 -
讲清 Go slices.Chunk 的固定大小切分、底层数组别名、cap 裁剪、append 行为,以及何时应该用 slices.Clone 保存独立批次。234 收藏 -
Badger 事务提交返回 ErrConflict 时,必须创建全新事务重新读取并执行;本文给出有限次数重试、短退避、ErrTxnTooBig 分流与 CommitWith 持久化边界。234 收藏 -
用 Go image/draw 按目标尺寸计算居中裁剪框,再将源图区域复制到缩略图画布,并排查边界、偏移与合成模式问题。234 收藏 -
Go Ticker 动态调整周期不必重复创建对象,使用 Reset 复用同一条通道即可。本文说明周期校验、单一拥有者、暂停恢复和 Stop 清理的边界。234 收藏 -
Redis GETEX 可以在返回字符串值的同时设置或移除过期时间。本文用 EX、PX、EXAT、PXAT 和 PERSIST 区分相对与绝对过期,并说明空 key、错误类型和写权限边界。234 收藏 -
Go fuzz 运行时间过长时,不要只盯着 -timeout。本文区分 -fuzztime、-fuzzminimizetime、-parallel、-timeout 和 Fuzz 目标内的输入大小限制,并给出本地、CI 与深度 fuzz 的组合方式。234 收藏