Go语言技术文章
-
Go 的 os.Root.OpenInRoot 把文件打开范围限定在指定根目录内。本文用真实代码拆开相对路径、符号链接和错误分支,说明它适合解决什么路径逃逸问题,以及如何验证回退策略。235 收藏 -
Golang · Go问答 | 6天前 | go · 密码学 · 安全编程 · 密钥管理 · crypto/ecdh · Go crypto/ecdh PrivateKey.Bytes NewPrivateKey 密钥导出
crypto/ecdh.PrivateKey.Bytes 返回私钥的原始编码,适合在明确的密钥序列化边界重新调用 Curve.NewPrivateKey;本文拆开复制语义、曲线长度校验和敏感字节生命周期,避免把原始私钥 bytes 当成通用密钥文件格式。235 收藏 -
iptables 规则看起来正确,却可能因为链顺序或匹配条件没有命中。本文用 iptables -L 的 pkts、bytes 计数器核对真实流量,给出清零、复现、定位和回滚的最小排查流程。235 收藏 -
用 Go 1.23 的 iter.Seq 把回调式迭代接入 range,拆清 yield 返回值、break 提前停止和错误传递的边界。235 收藏 -
从 EXPLAIN 的 key、key_len、type 和 Extra 入手,判断 MySQL 复合索引没有按预期生效的原因,并用最小 SQL 验证最左匹配、范围条件和排序顺序。235 收藏 -
本文说明 WebGPU 在浏览器端 AI 推理中的适用边界:如何检测支持情况,如何写最小可用示例,如何在不可用时降级到服务端或 Web Worker,并给出性能和安全检查点。234 收藏 -
以 Go Webhook 接收接口为例,讲清 HMAC 验签为什么要绑定原始 body、时间戳和事件 ID,并给出防重放、事件去重、审计日志和验证清单。234 收藏 -
Go 1.23 支持对迭代器函数使用 range,并在标准库提供 iter.Seq 和 iter.Seq2。本文从调用方需求、参数语义、提前停止和兼容策略出发,说明何时返回切片,何时设计迭代器 API。234 收藏 -
Golang · Go问答 | 1个月前 | 标准库 · bufio · 网络协议 · Go问答 · 流式读取 · peek Go bufio.Reader 协议解析 Go问答 Discard UnreadByte
Go 用 bufio.Reader 解析带长度或分隔符的协议时,Peek 只是查看缓冲内容,不会推进读取位置;Discard 才会消费字节。本文用一个简化帧协议拆开 Peek、Read、Discard、UnreadByte 的数据流转和边界处理。234 收藏 -
数据库 · MySQL | 2星期前 | MySQL · InnoDB · Online DDL · 数据库变更 · 表重建 · MySQL 8.4 ALGORITHM=INSTANT TOTAL_ROW_VERSIONS ERROR 4092 Online DDL
MySQL 8.4 默认使用 ALGORITHM=INSTANT 加列或删列,但每次变更会累积表的行版本;本文用 TOTAL_ROW_VERSIONS 和 INFORMATION_SCHEMA 设计阈值监控,说明 ERROR 4092 的安全处理与重建窗口。234 收藏 -
MySQL 的 NULL 不是普通空值,WHERE 条件还会产生 UNKNOWN。本文用订单查询拆开三值逻辑、IS NULL 判断和索引执行计划的边界。234 收藏 -
文章 · python教程 | 1星期前 | 并发 · 日志 · python · asyncio · contextvars · 线程池 请求上下文 日志关联 Python contextvars asyncio Task
Python 异步服务需要把 request_id、租户或用户上下文带进子任务时,contextvars 能保持 Task 隔离,但跨线程不会自动复制。本文用可复现的边界检查说明 copy_context、to_thread 与日志关联的正确用法。234 收藏 -
从输入组件重构案例说明为什么不应默认把 DOM Event 传到业务层,并给出语义回调、原生事件保留边界、TypeScript 示例和测试判断清单。234 收藏 -
Redis ACL 不只是给用户加密码,还要把命令类别、键名范围和连接验证一起收紧。本文用 SETUSER 配置一个只读报表账号,核对 ACL LIST、ACL DRYRUN 与真实连接的权限边界。234 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · golang · go · 性能 · 内存管理 · 代码排错 · 内存分配 性能优化 CAP bytes.Buffer Go教程 len Grow
bytes.Buffer 的 Grow 不是越大越好:它只保证后续写入有足够空间,Len 与 Cap 观察到的是不同维度。本文用请求拼装和最小测试说明如何估算容量、何时提前 Grow,以及如何验证扩容是否真的减少了分配。234 收藏