Go语言技术文章
-
Linux 使用 tar 解压时遇到 Permission denied,先判断目标目录是否可写,再核对压缩包内路径、目录属主和 umask,最后用最小权限复测,避免直接使用高权限掩盖问题。482 收藏 -
asyncio.timeout_at 用事件循环时钟表达绝对截止时间,适合把多个异步步骤放进同一时间预算。本文从最小写法出发,说明 TimeoutError 的捕获位置、取消语义、嵌套超时和 wait_for 的边界。230 收藏 -
文章 · java教程 | 1星期前 | 正则表达式 · 字符串处理 · Java教程 · 异常排查 · Matcher · Java正则 Matcher.matches Matcher.find group 字符串校验
Java Matcher.matches 要求整个输入完全匹配,find 则负责在输入中寻找下一段命中内容,group 用来读取捕获组。本文从订单号整串校验和日志字段提取两个场景出发,拆开三者的边界,并给出可复现的检查代码。134 收藏 -
Go 的 http.Request.Clone 会复制请求的大部分可变结构并替换 context,但 Body 仍是浅拷贝。本文用转发请求和超时取消两个场景,核对 Header、URL、Body 与 context 的安全边界。340 收藏 -
Go 1.27 已于 2026 年 8 月 19 日发布。对已有服务而言,升级重点不是把版本号改成 1.27,而是先核对 go directive、stdversion 检查、依赖文件整理、JSON 行为和可回退开关,再决定是否进入灰度。206 收藏 -
同一批文档、相近的问题,向量检索却可能召回不同结果。本文从查询向量归一化、元数据过滤和评测样本三个边界入手,给出一个能复现波动、定位原因并验证修复的最小流程。311 收藏 -
Go 1.27 新增 strings.CutLast,适合把最后一次分隔符查找与切分写成一次调用。本文用路径、域名和空结果示例说明替代边界、兼容范围与测试方法。346 收藏 -
数据库 · Redis | 1星期前 | Redis · Redis性能 · 延迟排查 · 运维监控 · Redis LATENCY HISTOGRAM Redis 延迟直方图 命令耗时分布 latency-tracking
Redis 平均延迟正常并不代表尾部请求没有抖动。本文用 LATENCY HISTOGRAM 查看命令级累计耗时分布,说明 latency-tracking 的开关、微秒桶和 +Inf 边界,再用调用量与实例时间窗口完成一次可复核的延迟核对。339 收藏 -
删除父表记录时突然变慢,先别急着改事务隔离级别。本文从锁等待、子表外键索引和级联删除三个现场信号入手,给出可复现的检查 SQL、修复顺序与回滚边界。458 收藏 -
用 testing.TB.Context 把测试生命周期传给子协程,处理取消时机、Cleanup 顺序和 goroutine 退出验收,避免测试结束后仍有后台工作。407 收藏 -
用雨后玻璃温室、青苔小径和顶部留白做一套竖屏手机壁纸,提供可复用的中文提示词、英文提示词、柔光变体与改词方法。296 收藏 -
用原生 Popover API 做一个可访问的无 JavaScript 弹出层,覆盖 popover、popovertarget、light dismiss、焦点行为与不支持浏览器的降级方案。235 收藏 -
reflect.TypeFor[T]() 从 Go 1.22 开始直接返回泛型类型 T 对应的 reflect.Type。本文对比旧的 reflect.TypeOf((*T)(nil)).Elem(),说明接口类型、指针类型、类型缓存和 Go 版本兼容边界,给出可运行的类型判断示例。184 收藏 -
上传图片时先用 Go image.DecodeConfig 读取宽高和格式,再决定是否进入完整解码,减少大文件校验阶段的内存压力。223 收藏 -
QueueHandler 本身不会自动把日志变成安全的异步链路:如果它把记录送回监听同一队列的日志路径,就会出现递归、重复输出或队列持续增长。本文用最小示例拆开 QueueHandler、QueueListener 与 logger 层级的边界,给出可验证的安全配置。306 收藏