Go语言技术文章
-
从 2026 年 GitHub Actions 的触发保护、只读缓存和 Action 白名单变化,解释工作流权限为何走向分层最小化,并给出现有流水线的收紧顺序。150 收藏 -
Go Ristretto v2 通过 Config.Metrics 开启运行时指标,再从 cache.Metrics 读取 Hits、Misses 和 Ratio。本文用一组最小 Go 配方说明命中比例的公式、Wait 的可见性作用、Set 的异步语义与累计统计口径。150 收藏 -
用 MySQL Performance Schema 的语句摘要表按总耗时、平均耗时、调用次数和样例 SQL 找到最值得优先处理的慢 SQL,并识别摘要容量不足造成的 NULL 汇总行。150 收藏 -
Go plugin 的兼容性不能只看 .so 文件是否存在。本文按 plugin.Open、Lookup、类型断言和构建环境四道门禁拆解动态符号检查,给出统一导出类型、保留错误上下文和避免运行期崩溃的原创示例。150 收藏 -
通过 PerformanceResourceTiming 的原始字段定位单个资源响应区间,给出有限采集与停止观察的示例,区分跨域受限、缓存零值和未知样本,避免把浏览器区间当作纯服务端耗时。150 收藏 -
企业电表抄表不要只保存本次读数。本文按计量点和抄表周期,整理上次读数、本次读数、倍率、本期用量、账单台账、复核人和异常说明的关联方法,帮助月度核对时快速找到差异来源。150 收藏 -
Go 的 JSON 数字进入 interface{} 后默认会解码为 float64。本文解释原因,并用结构体、Decoder.UseNumber 和 json.Number 给出固定字段与动态字段的处理方案。150 收藏 -
区分 JDBC executeBatch 与事务 commit,给出分块执行、最后提交一次的原创示例,解释批更新计数、回滚失败、提交结果未知和分块提交的业务恢复边界。150 收藏 -
Go 的 Write 成功只表示数据已经交给文件对象,File.Sync 才负责把当前文件内容提交到稳定存储。本文用临时文件替换配置的完整顺序说明 Sync、Close、Rename 和目录项持久化的边界。150 收藏 -
MySQL CTE 可以把复杂筛选或聚合子查询命名后重复引用,本文用订单统计场景说明 WITH 的组织方式、列名与作用域边界,以及合并和物化对执行计划的影响。150 收藏 -
用 Responses API 的 usage 字段判断 prompt caching 是否命中,并通过稳定前缀、显式 breakpoint 与诊断信息排查缓存边界。150 收藏 -
用 fetch 获取流式响应时,ReadableStream 可以让页面边接收边处理。本文说明 response.body、getReader、TextDecoderStream、异步迭代和 AbortController 的组合方式,并列出 UTF-8 分片、流锁定和取消清理的边界。150 收藏 -
Go 1.27 新增的 go/types.Hasher 为 types.Type 提供了与 Identical 一致的等价关系和哈希函数。本文说明如何接入 hash/maphash、何时选择 HasherIgnoreTags,以及为什么它适合进程内类型缓存而不适合密码学摘要或跨进程持久化键。150 收藏 -
Go log/slog 中真正负责展开 LogValuer 的是 slog.Value.Resolve。本文说明 Attr、Value 与 LogValuer 的关系,讲清嵌套返回值、Group 不递归和递归保护边界,并给出自定义 Handler 的处理顺序。150 收藏 -
Go 的 net/http.Transport.MaxResponseHeaderBytes 用来限制客户端接收的响应头总字节数。本文说明正数阈值、零值默认行为、超限错误与 Transport 复用时的配置边界。150 收藏