Go语言技术文章
-
Golang · Go问答 | 14小时前 | 并发 · Go问答 · Go测试 · testing/synctest · 虚拟时间 · time.Sleep Go 1.25 testing/synctest Go并发测试 虚拟时间 flaky test
Go 并发测试里大量 time.Sleep 往往又慢又不稳定。Go 1.25 已将 testing/synctest 纳入标准库,可在受控测试环境中使用虚拟时间和 synctest.Wait 检查后台任务的稳定状态。本文用延迟写缓存的例子说明最小迁移方式、适用边界和回归检查。246 收藏 -
账号表用了软删除后,旧用户数据需要保留,新用户却可能再次使用同一邮箱。本文从真实注册冲突现场出发,说明复合唯一索引为何失效,以及如何用生成列把活跃账号约束、删除留档和恢复校验收进一条稳定的数据链路。471 收藏 -
Go Webhook 先验签再解析却得到 EOF,通常不是 JSON 有问题,而是 r.Body 已被提前读完。用单一读取边界、长度限制和常量时间比较,把验签与业务解析放回同一条可信数据路径。493 收藏 -
Golang · Go教程 | 15小时前 | 内存 · JSON · 性能优化 · Go教程 · json.Decoder · Go 流式解析 json.Decoder 超大JSON 峰值内存 批次写入
Go 服务读取数百 MB 的 JSON 数组时,直接 json.Unmarshal 往往先把整份数据堆进内存。用 json.Decoder 按元素读取、限制批次大小并记录错误行,可把峰值堆从输入规模中拆出来;文中给出可运行示例和压测核对方法。310 收藏 -
Golang · Go教程 | 15小时前 | golang · HTTP · go · 服务端 · 实战 · 安全配置 · http.server MaxBytesReader ReadHeaderTimeout Go HTTP 服务 请求体限制 响应头限制
Go 的 http.Server 默认足够启动一个接口,却不会替业务限定大请求体、慢请求头和响应写入时间。本文用上传接口的真实边界,拆解 MaxBytesReader、ReadHeaderTimeout、WriteTimeout 与 MaxHeaderBytes 的职责,并给出可复查的生产配置。455 收藏 -
Linux 上部署一个常驻业务服务时,服务单元与 Docker Compose 的差别不只在于是否容器化。用启动依赖、日志入口、恢复方式和回滚颗粒度四个维度,判断订单、接口等服务该选哪条路径。473 收藏 -
文章 · php教程 | 15小时前 | 重定向 · PHP · 后端开发 · PHP 8.5 · URL安全 · URL规范化 PHP 8.5 URI扩展 重定向白名单 Uri\Rfc3986\Uri
PHP 8.5 新增内置 URI 扩展,可按 RFC 3986 和 WHATWG URL 标准解析、规范化并修改地址。以登录回跳为例,本文给出基于 Uri\Rfc3986\Uri 的 scheme 与 host 白名单写法、旧 parse_url() 方案的边界,以及上线前的兼容性检查。130 收藏 -
文章 · 前端 | 16小时前 | 前端 · Cookie · cors · 自动化测试 · playwright · 前端 cookie cors Playwright SameSite 登录态 跨域测试
登录接口返回成功不等于登录态可用。本文用 Playwright 把 Cookie 保存、跨域请求凭证、CORS 响应头和 SameSite 边界写进一组可重复运行的浏览器回归测试,并给出失败定位与上线检查方法。285 收藏 -
科技周边 · 业界新闻 | 16小时前 | 云原生 · Etcd · kubernetes · 分布式系统 · 业界新闻 · Kubernetes etcd 3.7.0 RangeStream etcd升级 v2store etcdctl
etcd 3.7.0 已发布,重点是用 RangeStream 分块返回大范围读取结果、优化 keys-only 查询和租约路径,并移除遗留 v2 组件。对 Kubernetes 控制面和自建 etcd 集群而言,升级前更该核对 v2 依赖、镜像标签、客户端行为与滚动升级顺序。230 收藏 -
文章 · java教程 | 16小时前 | 事务 · spring · aop · Java教程 · Transactional · 排错 · java Spring 事务失效 @Transactional AOP代理 同类方法调用 订单创建
Spring 服务里一个带 @Transactional 的方法被同类普通方法直接调用时,事务可能没有开启。以订单创建与库存扣减场景为例,本文说明代理边界、日志验证、拆分服务的稳妥修法,以及哪些替代写法不适合长期使用。406 收藏 -
Golang · Go问答 | 16小时前 | GC · sync.Pool · bytes.Buffer · 内存优化 · Go问答 · Go 垃圾回收 内存占用 对象池 sync.Pool bytes.Buffer buffer复用
Go 服务用 sync.Pool 复用 bytes.Buffer 后,流量回落时 RSS 仍高并不一定是泄漏。本文从大容量底层数组被放回池、GC 回收节奏和运行时向系统归还内存三个层面复现问题,给出容量上限与 pprof 验证方法。307 收藏 -
文章 · java教程 | 16小时前 | 数据库 · 性能优化 · Java教程 · Optional · orElseGet · java 数据库查询 懒加载 optional supplier orElse orElseGet
Java Optional 的 orElse 会先计算兜底参数,即使主值已存在也可能触发数据库或远程调用。用订单展示接口复现这个问题,说明 orElseGet、Supplier、异常处理与测试边界。238 收藏 -
文章 · java教程 | 16小时前 | 数据库 · 性能优化 · Java教程 · Optional · orElseGet · java 数据库查询 懒加载 optional supplier orElse orElseGet
Java Optional 的 orElse 会先计算兜底参数,即使主值已存在也可能触发数据库或远程调用。用订单展示接口复现这个问题,说明 orElseGet、Supplier、异常处理与测试边界。186 收藏 -
2026年三伏天从7月15日开始,到8月23日结束,共40天:初伏10天、中伏20天、末伏10天。文内整理日期、核对方法、出行和高温天的实用提醒。165 收藏 -
Go 从 channel 接收时,关闭后的读取会立刻返回元素类型的零值。本文用订单事件场景说明如何用第二个返回值 ok 区分真实数据、关闭信号与业务结束条件,并给出可复查的写法。333 收藏