Go语言技术文章
-
Redis 大 Key 不一定要改业务接口才能治理。本文从测量边界开始,演示如何按字段组拆成多个 Hash,用读取门面保持调用方式不变,再通过双写、回填、切换和旧 Key 下线完成迁移。207 收藏 -
Linux bind 挂载排障时,不要只看默认树形输出。本文用 findmnt 固定 SOURCE、TARGET、FSTYPE 和 OPTIONS 列,再按目标路径和子挂载查询,帮助你准确对应源目录与挂载目标。207 收藏 -
Redis 反复刷新缓存 TTL 时,普通 EXPIRE 可能把更长的剩余时间覆盖掉。本文按首次设置、只延长和只缩短等业务意图,说明 NX、XX、GT、LT 的选择和复查方式。207 收藏 -
Linux PID namespace 的 init 进程不仅是命名空间里的 PID 1,还承担孤儿进程接管和子进程回收职责。本文从进程可见性、SIGCHLD、waitpid、/proc 和 namespace init 退出边界说明怎样避免僵尸进程,并给出最小可读的回收代码。206 收藏 -
用 go/parser 生成 Go AST,再用 ast.Preorder 以迭代器形式完成深度优先前序遍历;同时比较 Inspect 与 PreorderStack 的控制边界,并处理解析错误、节点筛选和源文件位置。206 收藏 -
Go 使用 encoding/json 时字段为空,通常要按导出字段、struct tag 拼写和 Unmarshal 目标指针三个方向排查。本文用最小示例说明每种现象的原因与修复方式。206 收藏 -
Go 私有模块拉取失败时,先让 GOPRIVATE 匹配真实的模块路径前缀,再区分直连 VCS 与私有代理方案。本文说明 GOPRIVATE、GONOPROXY、GONOSUMDB 和 GOPROXY 的关系,并给出不泄露凭据的排查顺序。205 收藏 -
海盐灰渐变壁纸保持通透,需要柔和色温、有限亮部和轻薄遮挡,而不是整幅拉成纯白。本文展示两张无水印9:16原创壁纸,提供完整中英文提示词、灰青变体和锁屏留白、图标背景的调整方法。205 收藏 -
Go netip.Prefix 表示一个 CIDR 网段,但 Addr 可能仍保留主机位。本文用 Masked 得到规范化起始地址,再按 IPv4 与 IPv6 的位数计算最后地址,说明无效前缀、单地址前缀和地址族边界。204 收藏 -
需要在一个同步宿主里连续调用多个顶层异步入口时,可以用 asyncio.Runner 复用同一个事件循环和上下文。本文对比 asyncio.run 与 Runner 的生命周期、loop_factory、context 和关闭边界,给出按场景选型的方法。204 收藏 -
AI 工具调用不应把所有失败都重试。本文从参数校验、限流、超时、服务过载和业务拒绝五类场景出发,设计错误分类、指数退避、重试预算、幂等键与最终兜底。203 收藏 -
企业信用公示内容更正应先辨认信息来源:企业自行填报与政府部门公示分别处理,年报更正还受期限约束。本文说明官方入口、证据准备、经办授权与反馈核对,并区分更正、变更登记和信用修复。203 收藏 -
ReadableStream 停止读取时,reader.cancel() 和 AbortController.abort() 负责的范围不同。本文用一个可复用的 fetch 流读取结构说明如何取消请求、处理 AbortError 并在 finally 中释放 reader 锁。203 收藏 -
Go build 标签不生效时,文件名后缀与显式约束需要共同满足。本文用互补实现和 go list 文件归属说明平台后缀、自定义标签、测试文件及显式文件入口的区别。202 收藏 -
Go multipart 上传要同时限制请求总大小和解析内存:MaxBytesReader 负责入口上限,ParseMultipartForm 负责内存与临时文件取舍,再把超限统一返回 413 并清理资源。201 收藏