Go语言技术文章
-
PHP 8.3 的 readonly class 适合承载不可变请求 DTO,但它不会自动完成 JSON 类型校验。本文从订单请求反序列化出发,说明构造器边界、字段校验、异常响应与版本兼容检查。105 收藏 -
Redis GEOSEARCH 做附近门店查询时,距离相同、门店坐标变化和分页游标都会影响结果稳定性。本文用 GEOSEARCH、WITHDIST 和业务排序键拆解半径分页边界,并给出可重复的校验方法。105 收藏 -
Go 的 sync.Cond 适合让 goroutine 等待一个由共享状态表达的条件。本文用一个有界任务队列拆开 Wait、Signal 与 Broadcast 的正确顺序,并补上退出、空队列和误唤醒后的核对方法。105 收藏 -
向量检索系统里,模型、dimensions 参数和索引维度必须形成一份可检查的契约。本文用 OpenAI Embeddings 的请求参数、双索引回填和查询路由,说明如何迁移维度而不让新旧向量混在一起。105 收藏 -
Redis FUNCTION STATS 只能观察当前正在执行的函数,本文用 Redis 8.0 的真实长函数复现 running_script、duration_ms 与 engines 返回值,并说明它和历史调用统计的边界。105 收藏 -
Linux cgroups v2 中,MemoryHigh 用于让服务进入回收和限流状态,MemoryMax 用于设置硬内存上限。本文从 systemd 配置、cgroup 路径到 memory.events 读取,给出一套可复查的 OOM 定位方法。105 收藏 -
Go 1.27 将 goroutineleak profile 正式带入 runtime/pprof,并提供 HTTP 端点。本文解释它能识别哪些无法唤醒的阻塞协程、适合哪些服务排查,以及为什么结果仍需回到所有权和取消路径确认。105 收藏 -
Go 里接口自身为 nil 与接口持有 typed nil 不是一回事,reflect.ValueOf(nil) 还会得到无效 Value。本文给出带 IsValid 和 Kind 防护的安全判断函数,避免反射判断直接 panic。105 收藏 -
Go encoding/csv 的 Comment 只识别没有前导空白的物理行首。引号字段中的 # 属于字段值,不会被当成注释;本文用代码和边界表说明三种情况的区别。105 收藏 -
围绕珊瑚橙日落与深蓝海鸟制作一组简洁的9:16手机壁纸:固定一只海鸟和低海平线,把主体放在中下部并保留顶部锁屏留白,再通过深蓝月光与珊瑚余晖生成明显的同源变体。105 收藏 -
Go 泛型出现 cannot infer type 时,先判断类型参数是否出现在普通实参中,再用显式类型参数或调整函数签名完成修复。105 收藏 -
Go 的 channel range 只有在通道关闭后才会退出。本文从单发送者、多发送者和接收端提前退出三个场景说明 close 的责任边界,避免 range 卡住与 send on closed channel。105 收藏 -
Go net.Resolver.LookupIP 取消后,标准库不会把半截地址列表作为成功结果返回。本文解释 Context 取消、并发共享查找、旧切片复用和错误判断之间的关系,并给出安全的地址缓存与排查写法。105 收藏 -
OpenAI Batch API 的输出顺序不保证与输入一致,custom_id 才是回配原始请求的稳定关联键。本文用 JSONL、成功结果、错误结果和重试设计说明如何可靠映射批量任务。105 收藏 -
以不可变 digest 为主键,把 Cosign 签名、OIDC 身份、SBOM attestation 和发布前验收门禁接入 CI,避免只验 tag 或只看签名存在。105 收藏