Go语言技术文章
-
Go 批量 CSV 导入不能先把全文件读进内存。用 csv.Reader 逐行读取、用大小与行数预算限制请求、按批写库并回传有限的失败行,才能让大文件导入既可控又方便用户修正。407 收藏 -
文章 · java教程 | 5天前 | 事务 · spring · aop · Java教程 · Transactional · 排错 · java Spring 事务失效 @Transactional AOP代理 同类方法调用 订单创建
Spring 服务里一个带 @Transactional 的方法被同类普通方法直接调用时,事务可能没有开启。以订单创建与库存扣减场景为例,本文说明代理边界、日志验证、拆分服务的稳妥修法,以及哪些替代写法不适合长期使用。406 收藏 -
给 Go HTTP 服务加一层轻量请求 ID 中间件:优先复用客户端 ID,没有可靠值时生成新 ID,再把它传入 context、响应头和 log/slog 日志,最后用 httptest 验收整条链路。405 收藏 -
Golang · Go教程 | 1星期前 | golang · Timer · 并发编程 · time.After · 性能排查 · time.After go timer Go 1.23 NewTimer Timer.Reset Timer.Stop
Go 1.23 之后,未引用的 Timer 可以被垃圾回收,time.After 不再天然等于内存泄漏。但在高频超时循环里,仍要先区分分配波动、超时语义和取消需求;需要复用或主动取消时,再用 NewTimer、Stop 和 Reset 把边界写清楚。403 收藏 -
用一个小型 Go 日志筛选器说明如何同时支持文件参数和标准输入,处理参数优先级、逐行读取、字段校验、错误退出码以及管道联调。403 收藏 -
从 Redis Key 生命周期治理趋势入手,分析散落 Key、无 TTL、大 Key 和过期策略带来的问题,给出规则登记、扫描任务、告警处理、复盘指标的渐进式采用路径。400 收藏 -
一篇面向线上值班的 Go 内存突增处理手册:从触发信号、快速判断、pprof 采集、缓存修复、回滚路径到恢复确认。399 收藏 -
用一个可复现的小实验讲清 Linux inode 用满的现象、df -i 检查、目录文件数定位、安全清理和恢复验证,避免只看 df -h 误判磁盘问题。399 收藏 -
本文回答接口返回数据和数据库不一致的常见问题,按请求输入、参数校验、写入存储、索引查询、缓存读取、异步同步和清理策略逐步排查。398 收藏 -
Golang · Go问答 | 3天前 | golang · HTTP · Context · 并发编程 · context.Context context.WithTimeout Go HTTP 超时
Go 服务调用 HTTP、数据库或 RPC 时,超时不能只靠客户端等待。本文用 context.WithTimeout 给请求链路加上可传播的截止时间,并说明 cancel、父子 Context、select 和错误判断的常见坑。397 收藏 -
文章 · 前端 | 14小时前 | 前端 · javascript · 浏览器性能 · 交互优化 · 数据表格 · 前端 性能优化 requestAnimationFrame 布局抖动 表格列拖拽 Pointer Events
表格列拖拽时出现指针跟不上、列宽抖动和松手后跳回,通常不是 Pointer Events 本身慢,而是每个 pointermove 都同步读写布局。本文用 120Hz 屏幕的可复现场景,比较直接写入与 requestAnimationFrame 合帧方案,并给出最终验收指标与边界。397 收藏 -
Go 1.26 重写了 go fix,它现在可以借助分析器发现并应用一批安全的现代化改动。本文从一个旧模块升级现场切入,说明如何先扫描、再查看差异、分批应用,并用 go test、go vet 和基准测试确认改动没有越过兼容边界。396 收藏 -
Golang · Go教程 | 3星期前 | map · 基准测试 · 性能优化 · Go教程 · 内存分配 · 内存分配 Go性能优化 benchmark Go教程 map预分配 make map benchmem
Go map 预分配不是玄学优化。本文用一个可复测 benchmark 说明 make(map, n) 如何减少扩容、降低 B/op 和 allocs/op,并给出适用边界。395 收藏 -
Go 服务 CPU 没满但请求排队、延迟升高,可能是共享锁竞争而不是算力不足。本文按运行手册说明如何判断信号、短时开启 mutex profile、定位持锁路径、做低风险修复并验证回归。395 收藏 -
Go 服务返回静态 JSON 或文章详情时,ETag 可以让浏览器先带 If-None-Match 询问资源是否变化,未变化就返回 304,减少响应体传输。本文用 net/http 写一个可运行的缓存协商示例,说明哈希生成、条件判断、响应头顺序和测试边界。395 收藏