Go语言技术文章
-
runtime.GoroutineProfile 的记录数会随 goroutine 创建和退出而变化。本文比较一次分配、带余量的有界重试和 runtime/pprof,给出容量上限、重试上限、records[:n] 截断与失败处理写法。354 收藏 -
Go 接口字段既可能缺失,也可能显式传 null。本文说明普通值和单层指针为何不足,并给出 Optional[T] 三态模型、PATCH 更新规则、响应编码方式、失败处理及测试清单。354 收藏 -
Go slog 日志量过大时,先用 LevelVar 和 HandlerOptions.Level 过滤低价值日志,再对可聚合的成功事件做带键采样;错误、审计和关键状态变化保持全量保留。354 收藏 -
archsimd 目标实现是否被选中取决于 GOEXPERIMENT=simd、目标 GOARCH、文件名隐式约束和显式 //go:build 的共同结果,运行时 CPU 特性检查不会改变已编译文件。354 收藏 -
Go flight recorder 的缓冲区太小时不会按事件类型选择性丢弃,而会淘汰较老的完整 trace generation。本文解释 MaxBytes 与 MinAge 的优先级、会缺失的上下文及容量配置方法。354 收藏 -
Linux 网络命名空间接入宿主机网桥的核心是创建 veth 对:宿主机端加入 bridge,另一端移入 netns;三层地址配置在网桥和命名空间端口上。本文给出完整命令、核对方法、路由边界与生产加固要点。354 收藏 -
AI 应用的流式请求不能用“连接结束”判断模型完成。本文从一次取消被记成成功的故障入手,拆分 AbortSignal、SSE 完成事件和异常断开,给出可落地的状态字段、前端判定代码与日志边界。354 收藏 -
Go 标准库没有统一的跨平台文件锁 API。本文比较 Unix flock 与 Windows LockFileEx 的竞争、清理语义,再给出原子占位、数据库和 Redis 等替代策略。354 收藏 -
Golang · Go问答 | 3天前 | TLS · 连接池 · 故障排查 · Go问答 · 证书轮换 DidResume session ticket ClientSessionCache Go TLS SetSessionTicketKeys
Go TLS 证书轮换后仍看到旧会话,通常不是证书文件没替换,而是旧连接、HTTP Transport 连接池或 session ticket 在复用。本文用 DidResume 区分恢复握手,给出服务端证书指针切换、票据密钥轮换、客户端 Transport 重建和长连接排空的迁移顺序。354 收藏 -
检验检测报告超出 CMA 能力范围时,不能当作资质范围内的 CMA 证明报告使用。本文按报告用途、能力附表、一单一库和特殊许可四个维度说明如何核对与处理。353 收藏 -
两张原创青紫海湾9:16手机壁纸:主图用月夜与荧光浮游生物营造安静纵深,变体改成蓝调黎明和珊瑚色地平线,并附完整中英文提示词、下载按钮与锁屏留白调整方法。353 收藏 -
Go sync.RWMutex.TryRLock 会立即尝试取得读锁,失败时直接返回 false,不会等待。本文说明它适合机会性读取和软降级的场景,以及失败分支、RUnlock 和关键数据一致性的边界。353 收藏 -
说明如何定位 cgroup v2 的 cpu.stat,按字段区分 CPU 使用量与节流计数,通过只读两次采样计算增量,并界定父组限制、版本差异及业务延迟归因的边界。353 收藏 -
recover 只能恢复当前 goroutine 正在展开的 panic。本文用调用栈边界解释父 goroutine 为什么接不住子 goroutine,并给出 worker 包装器、错误回传和资源清理的实现方式。353 收藏 -
Go map 的 range 顺序本来就不保证稳定,测试直接比较遍历结果就会偶发失败。本文用一个小型测试工具拆开集合断言与顺序断言,让 map 测试稳定且不掩盖真实数据错误。353 收藏