Go语言技术文章
-
账号表用了软删除后,旧用户数据需要保留,新用户却可能再次使用同一邮箱。本文从真实注册冲突现场出发,说明复合唯一索引为何失效,以及如何用生成列把活跃账号约束、删除留档和恢复校验收进一条稳定的数据链路。471 收藏 -
数据库 · MySQL | 5天前 | 并发 · MySQL · InnoDB · update · 库存扣减 · innodb MySQL 库存扣减 条件 UPDATE 防超卖 affected rows
用一条带库存条件的 UPDATE 实现最小扣库存接口,避免先查后改造成超卖;同时说明受影响行、事务边界与死锁重试。470 收藏 -
预约、提醒和活动排期里,用户输入的本地时间不能直接当 UTC 保存。本文用一个小型预约转换器说明 Python zoneinfo 的最小用法:保留时区键、把带时区时间转成 UTC,并在夏令时回拨造成的重复时间里明确记录 fold 选择。469 收藏 -
带孩子坐高铁,证件别只看大人。本文依据铁路运输规程和12306公告,说明免费乘车儿童、儿童优惠票的证件准备要点,以及进站前怎样避免票、证、人信息不一致。467 收藏 -
高层震感明显时,最危险的往往是慌张冲向电梯或阳台。本文依据应急管理与地震部门公开指引,整理震时就近避险、保护头颈、远离玻璃,以及震后如何有序撤离的关键动作。467 收藏 -
Golang · Go问答 | 3天前 | golang · errgroup · Context · 并发控制 · Go问答 · SetLimit · 错误传播 Go errgroup.SetLimit errgroup.WithContext Go 并发限制 批量调用 context 取消
批量请求第三方接口时,errgroup.WithContext 配合 SetLimit 能把并发上限、首个错误返回和派生上下文取消放进同一段代码。这里给出可直接核对的最小写法、限额取值与几个容易卡住的边界。467 收藏 -
Go 服务的正则匹配突然占满 CPU,常见原因不是规则本身,而是每次请求都重新编译 regexp。本文用基线、pprof 和缓存编译结果的对比,说明如何定位并控制这类热路径开销。467 收藏 -
用 Go 标准库实现 HTTP 文件上传时,不能只调用 FormFile 就直接落盘。本文通过一个最小项目说明请求体大小限制、multipart 解析、文件关闭、受控命名和上传后检查的实现顺序。466 收藏 -
Golang · Go教程 | 5天前 | 切片 · Slices · Go教程 · Go 1.21 · 切片删除 Go教程 Go slices.Delete slices.DeleteFunc Go 1.21
Go 标准库 slices.Delete 会返回修改后的切片。本文用一个最小实验说明为什么必须接收返回值、底层数组何时仍被复用,以及批量删除时怎样避免循环删元素。463 收藏 -
文章 · python教程 | 4天前 | 命令行 · 异常处理 · Input · Python教程 · ValueError · 命令行交互 ValueError Python input int 输入校验 EOFError
Python 的 input 总会返回字符串,直接交给 int 转换时,空值、字母和终端输入结束都会让交互变得难用。文章从用户实际输入出发,给出循环校验、范围限制、退出命令和 EOFError 边界的最小实现,并附上核对清单。458 收藏 -
Golang · Go教程 | 1天前 | golang · HTTP · go · 服务端 · 实战 · 安全配置 · http.server MaxBytesReader ReadHeaderTimeout Go HTTP 服务 请求体限制 响应头限制
Go 的 http.Server 默认足够启动一个接口,却不会替业务限定大请求体、慢请求头和响应写入时间。本文用上传接口的真实边界,拆解 MaxBytesReader、ReadHeaderTimeout、WriteTimeout 与 MaxHeaderBytes 的职责,并给出可复查的生产配置。455 收藏 -
Golang · Go教程 | 4天前 | golang · 配置 · 设计模式 · go · client · api设计 · Go 构造函数 Functional Options 函数选项 Client 配置 API 兼容
Functional Options 适合“少量必填参数稳定、可选项会逐步增加”的 Go Client 构造场景。它能避免频繁改函数签名,并让调用点保留 WithTimeout、WithRetry 这类具名配置;但配置总是成组出现、需要从文件反序列化,或只有一个可选值时,Config 结构体或新增构造函数往往更直接。关键不在模式名称,而在默认值、重复选项与兼容边界是否明确。454 收藏 -
文章 · 常见问题 | 5天前 | 常见问题 · 正版漫画 · 漫画App · 安全下载 · 阅读指南 · 正版漫画App入口 漫画App怎么下载 漫画官方入口 正版日漫App 漫画地区限制 漫画试读规则
找正版漫画 App 时,优先从出版方或内容服务方公开页面、正规应用商店进入,再核对开发者、地区、语言、试读和订阅规则。作品在别人的商店能搜到,不代表你的账号或地区一定可读;不明安装包和“全集免费”跳转更不该碰。453 收藏 -
用 Go 的 context.WithCancelCause 连接并发任务,让上游知道是超时、校验失败还是依赖服务异常,并用 Cause 做可验证的错误分类。450 收藏 -
Golang · Go问答 | 3天前 | WaitGroup · golang · goroutine · 并发编程 · Go问答 · Go 1.25 · Goroutine 并发 WaitGroup Go 1.25 sync.WaitGroup.Go Add Done
Go 1.25 为 sync.WaitGroup 增加了 Go 方法,常见的 Add、go func、defer Done 三段式可以收成一次调用。它能减少计数配对遗漏,却不会替业务处理 panic、取消或结果收集。本文用批量写入场景解释最小写法、和旧写法的边界差异、版本兼容与复用 WaitGroup 时容易忽略的顺序。448 收藏