Go语言技术文章
-
用浏览器原生 Popover API 做一个键盘可用的操作菜单,覆盖 popovertarget、自动关闭、焦点回收、toggle 事件和不支持浏览器的降级方案。340 收藏 -
用 Go 的 multipart.Reader 逐段接收大文件,把请求体写入临时文件并在边界解析或磁盘失败时可靠清理,配套可运行的上传接口、大小限制与验收方法。340 收藏 -
Go 的 http.Request.Clone 会复制请求的大部分可变结构并替换 context,但 Body 仍是浅拷贝。本文用转发请求和超时取消两个场景,核对 Header、URL、Body 与 context 的安全边界。340 收藏 -
讲清 Go 中 http.Request.URL.Query 返回的 url.Values 结构,如何读取重复参数、保留出现顺序,并区分参数缺失与显式空值。340 收藏 -
Go 1.26 的实验包 runtime/secret 用 secret.Do 包住处理敏感数据的调用链,清理寄存器和栈上的临时值,并在堆对象失去引用后交给垃圾回收清理。本文说明启用方式、返回值复制、panic 与平台限制。340 收藏 -
Go 的 net/url 会把 URL 路径解码到 Path,同时用 RawPath 保留可复原的编码提示。掌握 URL.EscapedPath 的判断规则,才能在 %2F、路径重写和请求回放场景中稳定保留原始路径语义。340 收藏 -
Golang · Go问答 | 4天前 | 并发 · pprof · 故障排查 · Go问答 · Go 1.27 · Go goroutine泄漏 net/http/pprof goroutineleak runtime/pprof
Go 1.27 将 goroutineleak profile 作为正式能力,但空结果不等于没有泄漏。本文从 runtime/pprof 的可达性判定出发,核对阻塞原语、全局对象盲区与 net/http/pprof 入口。340 收藏 -
数据库 · Redis | 1星期前 | Redis · 消息队列 · 重试机制 · Stream · 消费组 · ACK · redis streams 重试 XREADGROUP XACK PEL pending
在 Redis Streams 下游,ACK 只是消费确认,不是消息删除;pending 列表、last-delivered-id 与重试窗口一起决定消息是否真正安全出队。本文用 redis-cli 的最小链路验证常见误区和可上线检查点。339 收藏 -
Go 1.27 让 go test 默认启用 stdversion 检查,用来发现代码使用了高于 go.mod 版本的标准库符号。本文从报错定位开始,说明 go.mod、构建标签和升级边界如何配合,并给出可复现的检查流程。339 收藏 -
数据库 · Redis | 1星期前 | Redis · Redis性能 · 延迟排查 · 运维监控 · Redis LATENCY HISTOGRAM Redis 延迟直方图 命令耗时分布 latency-tracking
Redis 平均延迟正常并不代表尾部请求没有抖动。本文用 LATENCY HISTOGRAM 查看命令级累计耗时分布,说明 latency-tracking 的开关、微秒桶和 +Inf 边界,再用调用量与实例时间窗口完成一次可复核的延迟核对。339 收藏 -
Go 的 embed.FS 适合把默认配置随二进制一起发布,但路径写错、覆盖顺序不清和测试读错目录都很常见。本文从目录布局到运行时覆盖,给出可复用的最小实现、验证命令和回滚边界。339 收藏 -
用 MySQL LOAD DATA 导入 CSV 时出现列错位,通常不是表结构突然变化,而是字段分隔符、引号规则或 Windows 行尾与实际文件不一致。本文用可复现的订单导入例子定位并修正。339 收藏 -
用 asyncio.Semaphore 控制批量协程的并发上限,再配合 asyncio.wait_for 和 gather(return_exceptions=True) 区分超时、成功与失败,让任务在单次请求异常后仍能继续收敛。339 收藏 -
培训机构收取课程费后,不能用收据替代发票。本文按预收款、实际提供服务、先开发票和退款四个节点,整理开票判断、核对材料与留证方法。339 收藏 -
DriverManager类用于加载JDBC驱动并且创建与数据库的连接。在DriverManager类中,定义了两个比较重要的静态方法,如表1所示。 表1 DriverManager类的重要方法 方法声明 功能描述 static synchronized void registerDriver(Dr338 收藏