Go语言技术文章
-
Linux 上删除大文件后 df 仍显示空间紧张,常见原因是进程仍持有已删除文件的文件描述符。本文用 lsof +L1、/proc/PID/fd 和 df/du 对照定位占用者,说明安全释放空间与重启复核的顺序。328 收藏 -
文章 · python教程 | 1星期前 | Python教程 · pathlib · 运维脚本 · 文件系统 · 安全清理 · Python 符号链接 pathlib.Path.walk 目录清理 失败记录
Python 3.12 引入 pathlib.Path.walk 后,可以用底层目录遍历写清理脚本,但大型目录不能只调用 rmtree。本文从 top_down、follow_symlinks、失败回调和 dry-run 记录出发,给出可复核的清理流程。388 收藏 -
用 Java StructuredTaskScope 组织多个子任务,讲清部分成功收集、失败处理、关闭时机和资源回收的验收方法。437 收藏 -
Golang · Go教程 | 1星期前 | 文件处理 · golang · 工程实践 · 路径校验 · 安全编程 · Go archive/tar 路径逃逸 解压安全 filepath.IsLocal
archive/tar 的 Header.Name 不能直接拼接到解压目录。本文从 tar 条目检查、filepath.IsLocal 与 Rel 校验入手,给出拒绝绝对路径和 .. 逃逸的 Go 示例,并补上符号链接、文件大小和失败回滚边界。489 收藏 -
Go 1.20 引入的 http.ResponseController 把 Flush、Hijack、读写超时和全双工读取统一到一个控制入口。本文用最小示例说明它如何工作、何时返回 ErrNotSupported,以及接管连接后必须承担哪些清理责任。186 收藏 -
RAG 应用最难排查的错误之一,是模型把相似检索片段直接改写成确定答案。本文从引用绑定、证据片段和拒答边界入手,给出一套可落地的输出验收方法。201 收藏 -
Go 的 log/slog 用 WithGroup 给字段划分命名空间,但 With、WithGroup 和单次 LogAttrs 的先后顺序会影响最终结构。本文用一个请求日志例子说明字段如何继承、重复键如何处理,以及自定义 Handler 应该怎样保持同样的语义。391 收藏 -
后台任务最难排查的不是启动,而是失败后谁负责停下、错误如何回到请求方、剩余 goroutine 怎样确认已经退出。本文用 Go errgroup 组织并发任务,拆解退出信号、错误回收和最小验收方式。385 收藏 -
Redis 在生成 RDB 快照时可能因 fork 和写时复制出现延迟抖动。本文从慢查询时间线、INFO persistence 指标和内存峰值入手,给出判断、避让与回滚方法。176 收藏 -
Go 1.25 的 trace.FlightRecorder 适合捕获长时间运行服务中的短暂性能异常。本文从缓冲窗口、触发快照、go tool trace 分析和并发边界入手,说明什么时候该用它,以及如何控制内存和文件大小。240 收藏 -
MySQL WITH RECURSIVE 查询层级数据时,真正需要防的是环路和无界展开。本文用组织架构示例拆开终止条件、递归深度上限、路径去重和结果核对。472 收藏 -
Go 1.25 继续完善 runtime.AddCleanup 的并发清理能力。本文从文件描述符这类外部资源出发,说明它与 SetFinalizer 的语义差异、必须保留的显式 Close,以及 GODEBUG 检查方式。368 收藏 -
围绕雨后苔藓石阶与萤火微光制作一组原创手机壁纸,给出青绿主图和明显不同的琥珀变体,配套完整中英文提示词、直接下载链接,以及主体位置、留白、色彩和光线的改词方法。211 收藏 -
Go 的 os.ReadFile 会一次性把文件内容放进 []byte,适合小配置和短文本,不适合把大文件直接装进内存。本文用文件大小、读取方式和错误处理三个维度拆解内存暴涨原因,并给出 bufio.Reader、io.Copy 和分块处理的选择边界。220 收藏 -
用 Go http.ServeContent 提供音视频或大文件时,Range 请求返回 416 往往不是客户端故障,而是 Seek、文件大小和请求区间没有对上。本文用可复现的检查路径拆开 206 与 416 的边界。219 收藏