Go语言技术文章
-
文章 · linux | 2个月前 | 内存 · Linux · 运维排查 · Linux OOM cgroup v2 memory.events memory.current memory.max memory.high
Linux cgroup v2 出现内存告警时,不要只盯着 memory.current。本文用 memory.events、memory.events.local、memory.high 和 memory.max 组成证据链,区分回收压力、硬限额命中与 OOM,并给出可复查的命令顺序。456 收藏 -
Redis 8.6 新增 HOTKEYS,可以在指定采样窗口内按 CPU 或网络指标找出高频访问键。本文从缓存延迟升高的现场出发,演示 HOTKEYS START、GET、STOP 的最小用法,解释 COUNT、DURATION、SAMPLE 与 SLOTS 的边界,并给出集群分片、误判和上线验收清单。456 收藏 -
Golang · Go问答 | 1个月前 | 标准库 · golang · unicode · 字符串处理 · strings.Split Go strings.Fields 字符串分词 Unicode 空白 Go 空字符串
Go 里处理用户输入时,strings.Fields 会按 Unicode 空白归并连续分隔符,而 strings.Split 会保留空字段。本文用可运行示例对比两者在连续空格、空字符串、中文空白和尾部分隔符上的结果,帮助你按数据边界选择 API。456 收藏 -
encoding/hex.AppendEncode 适合把字节编码结果追加到已有缓冲区。本文用 EncodedLen 判断容量,拆开 dst[:0] 复用、尾部追加和切片边界,避免预留不足或误把编码结果当原始字节。456 收藏 -
ResizeObserver 回调里直接改尺寸,可能让布局反馈进入下一帧并反复触发 loop completed with undelivered notifications。本文用真实的 ResizeObserver、requestAnimationFrame 和 entry.target.style.width 示例拆解原因,并给出可验收的收敛写法。456 收藏 -
bytes.Reader 读到末尾后,Seek、Reset 和重新创建 Reader 的效果并不相同。本文用可运行的小例子拆开读取游标、底层字节切片和并发复用边界,帮助你选对复位方式。456 收藏 -
画质怪兽公开资料页将其定位为安卓端游戏画面与帧率设置工具。本文整理访问页面、功能定位、信息差异和使用前需要留意的权限与规则边界。456 收藏 -
解释 Go 在 ppc64le 环境探测外部链接器能力时,为什么会因多词 CC 命令丢失尾部参数而误判 -mcpu=power10,并给出识别与规避方法。456 收藏 -
Java BigDecimal 的 2.0 与 2.00 数值相同但 equals 返回 false,是因为 equals 同时比较数值和 scale。本文用代码说明 compareTo、setScale、stripTrailingZeros 与集合键的选择边界。456 收藏 -
用 io.Pipe 把 Go 的数据生成器直接接到 HTTP 请求体,边编码边上传,不落地临时文件,并正确处理关闭、取消和错误传递。456 收藏 -
同一仓库维护多个 Go 模块时,可以用 go.work 的 use 指令共享本地开发版本。本文说明如何初始化工作区、验证本地解析、区分 go.work 与 replace,并让 CI 用 GOWORK=off 回到独立模块测试。456 收藏 -
go test 显示 (cached) 不一定是代码没更新。本文用 -count=1、GODEBUG=gocachetest=1 和 go clean -testcache 区分正常复用、输入未纳入缓存键与命令参数问题。456 收藏 -
Linux inotify 队列溢出后不会补发丢失事件,本文说明如何识别 IN_Q_OVERFLOW,通过全量扫描、缓存重建和递归 watch 重建恢复完整状态。456 收藏 -
context.Cause 在取消发生前返回 nil。本文用 WithCancelCause 和 WithTimeoutCause 说明读取时机、Err 与 Cause 的区别,以及下游错误映射边界。456 收藏 -
EXPIRE 只能让整个 Redis Hash key 过期,不能单独淘汰某个 field。Redis 7.4.0 起可用 HEXPIRE、HPEXPIRE 设置字段级 TTL;旧版本则应按生命周期拆分 key。456 收藏