Go语言技术文章
-
Redis TTL 返回 -1 表示键存在但没有过期时间。用小型缓存示例解释普通 SET、PERSIST 和遗漏 EXPIRE 的影响,并区分重新计时与 KEEPTTL 保留策略。370 收藏 -
Linux ss -o 显示 TCP 定时器,state 筛选连接状态。通过状态与端口查询示例,解释 timer 名称、剩余时间和计数,并说明与 TCP 内部信息关联观察时的适用边界。369 收藏 -
Go io/fs.Sub 创建子文件系统后,../ 父级路径为什么会失败?本文从 fs.ValidPath 和路径映射解释原因,并给出同时访问子目录与根级资源时保留原始 FS 的设计方式。369 收藏 -
通过flock独占锁和统一包装脚本避免cron与手工启动的任务重叠,给出非阻塞跳过示例,解释等待策略、退出状态、锁文件和子进程的生命周期。369 收藏 -
Linux taskset 可以为新命令或已有 PID 设置 CPU 亲和性。本文从 CPU 列表写法开始,说明 taskset -c、taskset -pc、-a 的使用边界,并解释权限、非法 CPU 和“设置成功但未立即迁移”的常见现象。369 收藏 -
Redis ZMPOP 的 COUNT 参数控制一次弹出的成员数量,默认只取一个,实际数量不会超过集合剩余成员数。本文结合 MIN、MAX、多键和空集合结果说明命令边界,并对比 ZPOPMIN 与 BZMPOP 的适用场景。368 收藏 -
用 MySQL roles 把 SELECT 权限集中到只读角色,绑定账号并设置默认角色,再通过 CURRENT_ROLE 和 SHOW GRANTS 复查最小权限边界。368 收藏 -
Go 1.23 的 maps.All 会把 map 转成 iter.Seq2,让 range 同时接收键和值。本文用对比场景说明最小写法、提前终止、无序语义、自定义 map 类型和选型边界。368 收藏 -
Go PNG 解码失败可用 errors.As 区分 FormatError 与 UnsupportedError,并保留 EOF、读取及压缩数据错误。本文给出错误链处理示例,说明值类型匹配、%w 包装与 DecodeConfig 的范围。368 收藏 -
本文用 PHP SQLite3::backup() 把 :memory: 内存数据库复制到持久化 SQLite 文件,说明目标连接、覆盖行为、返回值、关闭顺序,以及 attached 数据库的名称参数。368 收藏 -
建筑项目分包进场前,可按单位、项目管理人员、作业人员、施工设备和过程记录建立资料包,再用进场台账串起资质审核、实名登记、安全交底和设备验收。具体表单以项目所在地、合同和总包监理要求为准。368 收藏 -
Go bufio.Scanner 的空结果可能来自空输入、空行、空白词、超长 token 或自定义分割规则。本文用最小实验区分 Scan、Text 和 Err 的边界,并给出 Buffer 与排查清单。368 收藏 -
Golang · Go问答 | 4天前 | 标准库 · go · Go Content-Disposition mime/multipart NextPart NextRawPart quoted-printable
对比 Go multipart.Reader 的 NextPart 与 NextRawPart,说明 Content-Disposition 并非核心差异,重点解释 quoted-printable body 的透明解码边界与入口选择。367 收藏 -
Redis Stream 消费组中的 pending 消息不能直接从新的消费位置重读。本文用 XPENDING 判断空闲消息,再用 XAUTOCLAIM 按游标转移给恢复消费者,并说明 XACK、JUSTID、0-0 和已删除消息的处理边界。367 收藏 -
拿到 Linux sysctl 参数后,先把点号名称转换为 /proc/sys 路径,再按 kernel、net、fs、vm 等目录进入内核文档;如果页面没有完整条目,再结合当前接口和源码树交叉定位。367 收藏