Go语言技术文章
-
Go 的 io.Pipe 没有内部缓冲,写端和读端必须在同一条消费链上配合推进。本文用一个压缩写入场景说明为什么 Write 会等待、CloseWithError 如何把失败传给另一端,以及怎样安排 goroutine 的退出和错误回收。461 收藏 -
文章 · linux | 2星期前 | Linux · 性能监控 · 系统排查 · 资源压力 · Linux 性能排查 PSI Pressure Stall Information /proc/pressure
Linux load 高并不一定能说明业务正在等待什么资源。本文用 PSI(Pressure Stall Information)读取 /proc/pressure/cpu、memory、io,解释 some 与 full、avg10/avg60/avg300 的含义,并给出从判断压力类型到设置 poll 阈值的排查和告警方法。461 收藏 -
Go 测试里临时目录、数据库连接和环境变量如果没有按作用域清理,单测会出现串状态和偶发失败。本文用 testing.T.Cleanup 对比 defer、子测试和失败路径,给出资源注册顺序与验收清单。461 收藏 -
多模态模型识别扫描表格时,漏列通常不是模型单点失误,而是图像缩放、表格线、列坐标和结构化输出共同造成的。本文给出一套从输入预处理到坐标复核、局部纠错和结果验收的实用流程。461 收藏 -
Golang · Go问答 | 5天前 | 并发 · 定时器 · go · 竞态 · time.AfterFunc · 定时器 Go 竞态 Timer.Reset Timer.Stop time.AfterFunc
time.AfterFunc 返回的 Timer 既可能尚未触发,也可能已经进入回调。本文用 Stop、Reset 和回调状态拆解竞态边界,给出可验证的防重复调度写法。461 收藏 -
crypto/rand.Read 的签名虽然返回 n 和 err,但当前 Go 文档规定它会填满切片且不返回错误。本文从 Reader、io.ReadFull 和失败测试边界解释为什么不能把部分字节当成可用随机值。461 收藏 -
用 INFORMATION_SCHEMA.INNODB_TRX 找出当前 InnoDB 事务,按 TRX_STARTED 判断持续时间,再用 TRX_MYSQL_THREAD_ID 映射到连接,避免把只读会话、锁等待和已结束事务混为一谈。461 收藏 -
一组适合手机锁屏的雨后苔藓温室壁纸提示词:主图用冷绿玻璃和上方留白,变体改用琥珀侧光与更低的主体位置,并附完整中英文提示词和改词方法。461 收藏 -
ClickUp 把任务、项目、文档、目标、聊天和多种视图放在同一工作区,适合需要统一跟踪工作进度的个人与团队。460 收藏 -
HandBrake是一款免费开源的本地视频转码工具,适合把视频转换为更容易播放或分享的格式,也能通过预设、质量、字幕和音轨选项控制输出结果。460 收藏 -
TCP和UDP都能完成两台计算机之间的数据通信,而且通信双方同样都需要创建Socket对象。不过,二者在通信方式上有一个很关键的区别。UDP只有发送端和接收端之分,并不强调客户端或服务器端的角色,设备之间可以比较自由地互相发送数据;TCP则不同,它对客户端和服务器端有明确区分,通信建立时,必须先由客460 收藏 -
AI Agent 一轮工具调用可能已经改写库存、发送通知,却在最后一步返回超时。本文用订单履约场景拆开部分成功的状态记录、补偿动作和安全重试边界,给出可落地的验收清单。460 收藏 -
处理用户提供的文件名时,filepath.Join 加 os.Open 可能被 .. 或符号链接带出指定目录。本文用 Go 1.24 的 os.Root 与 os.OpenInRoot 拆开安全打开、错误判断、资源关闭和平台边界,给出可复查的小示例。460 收藏 -
Redis 7 之后可以把 Lua 逻辑注册为函数,再用 FCALL 按函数名调用。本文从一个原子更新场景出发,拆清 numkeys、KEYS、ARGV、FCALL_RO 和集群迁移的边界。460 收藏 -
Redis 报 OOM 不一定是 used_memory 超过 maxmemory。本文从 maxmemory 判定、内存碎片率、客户端输出缓冲和大 key 四个方向核对真实占用,并给出可复现的 redis-cli 检查命令。460 收藏