Go语言技术文章
-
Go maps.Equal 比较包含 NaN 的映射时返回 false,是因为它按 == 比较值,而 NaN 不等于自身。本文解释值与键的边界,并给出 maps.EqualFunc 的业务比较写法。489 收藏 -
文章 · php教程 | 5天前 | php教程 · session.save_path PHP session_start PHP会话保存路径 session_save_path排查 PHP会话目录权限
PHP session_start 找不到保存路径时,先查看当前请求实际生效的 session.save_path,再区分配置层级、代码覆盖、目录权限和容器挂载问题,最后用绝对路径完成复查。489 收藏 -
Go 的 File.Sync 只针对已经打开的文件描述符提交数据和文件元数据,临时文件 Rename 后的目录项仍属于父目录。本文拆分三层持久化边界,并给出 Go 的安全替换写法与平台注意事项。489 收藏 -
用 Go os/signal 和 NotifyContext 组织优雅停止:让取消信号传到后台 goroutine,等待资源收尾,并正确释放通知注册,避免服务退出后的 goroutine 泄漏。489 收藏 -
用Redis ZSET的score保存到期时间,以唯一任务成员和幂等键控制重复入队,再通过原子领取、租约与退避重试处理消费者崩溃和延迟漂移。489 收藏 -
MySQL GROUP_CONCAT 的稳定结果取决于函数内部的 ORDER BY、文本 COLLATE、并列键和长度上限。本文用标签聚合示例说明排序、去重、NULL、分隔符与 group_concat_max_len 的实际边界。488 收藏 -
本地能通过、CI 却提示 module checksum 缺失,通常不是 Go 随机失败,而是本地缓存掩盖了缺少的 go.sum 条目,或 CI 的只读与模块下载环境不同。本文给出复现、补齐和固定构建输入的方法。487 收藏 -
Go archive/tar 会自动处理 PAX 元数据头。读取时用 Header 获取已映射的标准字段,用 Header.PAXRecords 读取自定义扩展键,并在 Next、路径和类型转换处做好兼容处理。487 收藏 -
围绕视觉模型图像输入,讲清任务分档、等比缩放、detail 选择、patch/token 成本估算和发送前边界检查。487 收藏 -
Go error经过%w包装后不应再依赖完整字符串判断。本文区分错误文本、哨兵错误和具体类型,给出errors.Is、errors.As及多错误包装的替代方案。487 收藏 -
Linux 删除日志后磁盘空间没有释放时,用 lsof +L1 找到仍持有 deleted 文件描述符的进程,再通过 /proc 复核 PID、FD 和 inode,并用服务重开或受控重启安全释放空间。486 收藏 -
用 Go testing/fstest.TestFS 检查自定义 fs.FS 的路径、目录枚举和期望文件,按错误信号定位实现边界并补上回归测试。486 收藏 -
ReadableStream.tee() 的两个消费者速度不一致时,慢分支的未读数据会在内部队列中积累,快分支不会自动等待。本文用最小示例解释背压、内存风险、取消语义与分流方案选择。485 收藏 -
Go 的方法值 x.M 在创建时就会保存接收者,后续调用不会自动读取变量的新值。本文用值接收者、指针接收者和回调场景说明副本边界,并给出排查与修复清单。485 收藏 -
围绕 Redis Stream 消费组的 PEL,讲清 XAUTOCLAIM 的空闲阈值、批量 COUNT、返回游标、失效消息清理和 JUSTID 边界,并给出接管后幂等处理与 XACK 确认方案。485 收藏