Go语言技术文章
-
Java 8 应用升级到 Java 21,真正容易卡住的不是语法,而是 JAXB 缺失、强封装反射和默认字符集变化。本文用一套可复用的检查顺序,把编译、启动和回归验证串起来。425 收藏 -
文章 · java教程 | 1个月前 | 消息队列 · Java · 事务 · 架构设计 · Spring Boot · spring boot 最终一致性 事务消息表 Outbox Pattern 订单通知
订单状态写入数据库后再发送通知,最容易出现数据库成功而消息丢失的窗口。本文用 Spring Boot 和 outbox_event 表,把业务写入与待发送事件放进同一个事务,再用独立发送器处理重试、幂等和失败回退。498 收藏 -
Ubuntu 22.04 升级到 24.04 后,Linux 服务可能因为环境变量来源、unit 覆盖方式和重载顺序不清而启动异常。本文用 Go 服务示例拆解迁移检查、EnvironmentFile 改写、回归验证与安全回滚。429 收藏 -
MySQL UPDATE JOIN 不是写上 JOIN 就只会改一行,关联表存在重复键时,同一目标记录可能被多条源记录命中。本文用订单与客户标签的修复场景,演示先用 SELECT 验证关联唯一性,再在事务和影响行数检查下执行更新。262 收藏 -
PHP 8.3 的 readonly class 适合承载不可变请求 DTO,但它不会自动完成 JSON 类型校验。本文从订单请求反序列化出发,说明构造器边界、字段校验、异常响应与版本兼容检查。105 收藏 -
并发处理一批任务时只返回第一个错误,往往会掩盖其他失败项。本文用 Go errors.Join 组合多个错误,比较首错、聚合错误和带任务标识的结果汇总,给出可验证的选择边界。278 收藏 -
处理 Go 的 io.Reader 时,EOF 不一定意味着本次没有数据。本文用一个无换行结尾的文本例子拆开 n>0 与 io.EOF 同时出现的情况,给出读取循环、bufio.Reader 和测试核对方法,避免丢掉最后一段内容。384 收藏 -
数据库 · Redis | 1个月前 | Redis · go · Pipeline · 批处理 · 重试 · 幂等性 · 重试 go-redis 幂等键 批量写入 Redis Pipeline 逐条结果
Redis Pipeline 能减少网络往返,却不会把一批命令变成事务。用 go-redis 演示批量写入的部分成功、结果核对、可安全重试的边界,以及如何用幂等键避免重试造成重复副作用。391 收藏 -
Go 里用 slices.Delete 删除元素后,切片长度变小不代表底层数组立刻释放。要结合 Go 版本、元素类型、尾部引用是否清零和切片是否继续持有容量来判断 GC 边界。本文从批量过滤场景拆开删除、复用与内存回收的关系。112 收藏 -
Go 1.21 引入的 log/slog 让结构化日志更容易落地,但字段从 slog.Any 到 Handler 再到 JSON 输出时,组、动态值和敏感字段仍有边界。本文用订单请求日志拆解字段流转、Handler 包装与脱敏验证。193 收藏 -
科技周边 · 人工智能 | 1个月前 | go · openai · AI接口 · Responses API · Go OpenAI Responses API background mode 异步轮询 大模型接口
用 Go 接入 OpenAI Responses API 时,长推理或工具调用容易让同步 HTTP 请求撞上超时。本文从同步调用迁移到 background 模式,演示如何提交任务、按响应 ID 轮询、处理失败状态,并说明约 10 分钟保留窗口与 Zero Data Retention 的边界。388 收藏 -
把 os.DirFS 接到模板、压缩包或配置读取代码后,./config.yaml 这类看似正常的路径会被 io/fs.ValidPath 拒绝。本文用最小示例解释相对路径规则、filepath 与 path 的边界,以及迁移旧代码时如何保留用户输入语义。388 收藏 -
给管理接口增加 IP 白名单时,字符串比较、IPv4 与 IPv6 混用、掩码边界都容易出错。本文使用 Go netip.ParsePrefix 和 Prefix.Contains 搭建可复用的 CIDR 白名单校验器,补齐配置检查、匹配顺序和失败回归用例。167 收藏 -
Redis 8.8 带来原生 Array 数据结构,适合滚动窗口、按索引读取和范围聚合。本文用一组最小命令验证它与 List 的差异,并给出从 List 迁移前应检查的读写边界、客户端支持和回滚办法。154 收藏 -
部署前想确认两份配置目录到底差在哪里,可以用 Go 标准库做一个只读快照工具。本文从 io/fs 和 filepath.WalkDir 出发,完成隐藏文件过滤、相对路径排序、SHA-256 摘要和 JSON 差异报告,并验证退出状态与异常边界。339 收藏