Go语言技术文章
-
Go 的 flate.NewReader 返回值同时实现 flate.Resetter,可在每段独立 DEFLATE 数据开始前调用 Reset 切换输入,复用内部已分配内存。本文给出完整循环,并说明 Close、字典、ByteReader 过读和并发使用边界。488 收藏 -
MySQL GROUP_CONCAT 的稳定结果取决于函数内部的 ORDER BY、文本 COLLATE、并列键和长度上限。本文用标签聚合示例说明排序、去重、NULL、分隔符与 group_concat_max_len 的实际边界。488 收藏 -
ServiceLoader找不到provider时,先核对META-INF/services文件或module-info.java声明,再检查类加载器、可见性和无参构造器。本文给出一套可复用的配置与排查方法。488 收藏 -
用 httptest.ResponseRecorder 测试 HTTP handler 时,优先通过 Result() 读取最终状态、响应头和响应体;本文解释 Code、StatusCode、Header 快照以及常见断言边界。488 收藏 -
go.mod 的 go 指令不是备注,它同时限定最低 Go 版本、模块源码的语言语义和依赖版本下限;本文用代码和版本关系说明它与 toolchain、GOTOOLCHAIN 的分工。488 收藏 -
Python sqlite3 的 autocommit 要先选清自动提交、显式事务或旧式 isolation_level。本文用连接参数、in_transaction 和重连验证排查提交回滚问题,并给出 Python 3.11 及更早版本的兼容写法。488 收藏 -
Redis 7.4 起可用 HEXPIRE 和 HPEXPIRE 为 Hash 字段设置独立 TTL。本文从版本确认、字段写入、TTL 返回值到 HSET 覆写陷阱,给出一套可执行的配置与排查方法。488 收藏 -
Kubernetes v1.37 把 DRA 扩展资源支持提升到 GA,但工作负载直接引用 ResourceClaim 仍是 Beta。本文给出 API、状态、驱动绑定和灰度回滚检查清单。488 收藏 -
PHP json_decode 返回 null 不一定是语法错误,深层 JSON 超过 depth 时会产生 JSON_ERROR_DEPTH。本文用异常、错误码和轻量结构扫描区分问题,并给出生产环境的深度上限与排查写法。488 收藏 -
用一个清晰判断区分 Context 元数据和业务参数:trace_id 等请求范围信息可以传播,userID、订单号和分页条件应回到显式函数签名,并用私有 key 与访问器收口类型断言。488 收藏 -
Golang · Go教程 | 1个月前 | 文件处理 · Go教程 · 安全编程 · Go archive/zip 路径穿越 ZIP解压 filepath.IsLocal filepath.Localize
Go 用 archive/zip 解压外部归档时,不能直接拼接成员名。本文说明如何处理 zip.ErrInsecurePath,用 filepath.Localize 和 filepath.IsLocal 拒绝绝对路径、.. 与跨平台分隔符,并用 os.Root 限制写入目录边界。488 收藏 -
Python sqlite3 的 with 代码块并不等于关闭连接。本文从连接上下文、事务模式和线程边界解释数据未提交的原因,并给出可直接排查的写法。488 收藏 -
spawn 会用全新 Python 解释器导入入口模块,因此进程创建必须放进 main 保护。本文用最小示例解释导入边界、可 pickle 要求和稳定检查方法。488 收藏 -
df 显示磁盘已满而 du 统计偏小时,常见原因是已删除文件仍被进程打开。本文用 df、du、lsof 和 /proc//fd 固定挂载点、定位占用句柄,并给出安全回收边界。 488 收藏 -
MySQL 9.4 将 back_log 默认值提高到 10000,但它只负责短时连接请求的监听队列,不等于并发连接容量。本文从 back_log、max_connections 与 Linux socket 队列上限三层说明如何核对。488 收藏