Go语言技术文章
-
EXPLAIN FOR CONNECTION 读取的是目标连接当前正在使用的执行计划,不是重新估算一条 SQL;目标连接空闲、语句不可解释、使用预处理语句或权限不足时,就会出现空结果或报错。256 收藏 -
Vite 的环境变量不是天然私密配置:带有 VITE_ 前缀的变量会进入客户端代码,生产构建还会把 import.meta.env 静态替换。本文按资产、暴露路径、风险和防护清单拆开说明,帮助你把 API 地址等公开配置与密钥留在服务端。256 收藏 -
Go TLS 校验失败而浏览器正常时,重点核对拨号地址、ServerName、SNI 与证书 SAN 的关系,并区分主机名不匹配和信任链错误。256 收藏 -
Python asyncio.timeout_at() 接收事件循环时钟上的绝对 deadline,适合把一次请求的总截止时间传给多个嵌套协程。本文对比 timeout、timeout_at 和 wait_for,说明异常捕获、剩余预算、动态 reschedule 与过期边界。256 收藏 -
Landlock 可以同时限制 Linux capability 的使用和 namespace 类型,但两者是独立权限轴,重叠操作必须同时满足。本文按 ABI 12 说明规则集、user namespace 边界、no_new_privs 与上线检查清单。256 收藏 -
讲清 scheduler.yield 如何把浏览器长任务拆成可恢复的小段,给出批次处理、时间预算、兼容后备与 Web Worker 选择方法。255 收藏 -
Go 1.23 起可用 unique.Make 规范化可比较值。本文用重复标签对象示例说明如何保存 unique.Handle[string]、在热路径比较句柄、在输出边界取回 Value,并解释何时不该使用。255 收藏 -
MySQL JSON_OVERLAPS 可以配合 InnoDB 多值索引优化 JSON 数组相交查询,但必须匹配索引表达式、数组类型和查询路径,并用 EXPLAIN 确认优化器实际选用了索引。255 收藏 -
Go HTTP 请求重试不要一股脑塞进 Transport:网络级可重放失败适合统一处理,创建和写入接口必须由业务层配合幂等键、结果查询与退避策略,才能避免超时后的重复写入。255 收藏 -
multiprocessing 进程池把任务送入子进程时,函数、参数和返回值都要跨进程传递。本文结合 Python 3.14 起的启动方式变化,解释不可序列化对象为什么暴露、哪些写法容易只在 fork 下工作,以及如何用模块顶层函数、数据描述和 initializer 重构稳定边界。255 收藏 -
Go database/sql 的 SetConnMaxIdleTime 看连接连续空闲多久,SetConnMaxLifetime 看连接从创建起活了多久。本文用时间线、配置示例和 DBStats 说明两者区别与组合方式。255 收藏 -
通过 os.Getwd 与 filepath.Abs 定位 Go 相对路径的解析基点,为外部配置提供显式绝对路径参数,并用 embed 管理随版本发布的只读模板,说明跨工作目录启动时的判断与错误处理。255 收藏 -
Golang · Go问答 | 3天前 | 标准库 · go · 性能排查 · 直方图 运行时指标 Go runtime/metrics Float64Histogram Buckets Counts
Go runtime/metrics 的 Float64Histogram 返回边界与计数两个切片,本文说明 len(Buckets)-1 的长度关系、相邻边界区间、KindBad、空样本、Inf 边界和累计指标差分的处理方式。255 收藏 -
Go 的 ctx.Err() 适合判断 Canceled 和 DeadlineExceeded,context.Cause(ctx) 则能在设置取消原因后保留更具体的根因。本文用父子 Context、主动取消和超时三个场景说明两者如何配合。255 收藏 -
用 Go 的 filepath.WalkDir 递归遍历目录时,如何只收集指定后缀的文件?本文比较 WalkDir、ReadDir 和 Glob 的边界,并给出大小写统一、目录继续遍历和错误处理的实用写法。255 收藏