Go语言技术文章
-
Go select 中的 default 不会等待通信,放进无界消费者循环就会造成 busy loop。本文说明如何改成阻塞式消费,或用 ticker 控制必要的周期检查,并通过 CPU、日志和退出行为验证修复。237 收藏 -
比较 Python asyncio.gather 与 TaskGroup 在异常传播、兄弟任务取消、结果收集和资源清理上的差异,给出按业务边界选择异步并发 API 的判断清单。237 收藏 -
解释 Go http.Request.Clone 为什么不能让多个请求重复读取同一份 Body,并给出受限缓存、独立 Reader 和 GetBody 重试方案。237 收藏 -
文章 · 常见问题 | 1天前 | 墨刀AI · 产品经理工具 · UI原型工具 · 项目成本管理 · 团队工时核算 · 墨刀AI原型成本估算 UI原型工时统计方法 墨刀使用成本计算 产品原型交接成本 UI原型维护成本核算
本文拆解墨刀AI制作UI原型的全周期成本估算逻辑,分阶段统计角色工时,覆盖场景适配与常见问题,帮团队理性评估真实投入。237 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 认证 · MySQL 8.4 · 数据库升级 · caching_sha2_password mysql_native_password 账号认证 MySQL 8.4 升级迁移
MySQL 8.4 默认不再启用 mysql_native_password,老应用可能在发版后出现账号认证失败。本文用账号盘点、灰度改造、TLS 连通性检查和回退边界,讲清迁移到 caching_sha2_password 的可靠做法。236 收藏 -
科技周边 · 人工智能 | 1个月前 | go · Context · 流式处理 · 人工智能 · openai api · sse · 重试 · OpenAI Go context 流式输出 SSE Responses API 断线重试
Go 服务接入 OpenAI Responses API 的流式输出时,真正难的是事件边界、重复片段、断线重试和请求取消。本文用官方 openai-go SDK 拆解 SSE 事件,给出增量文本拼接、单次重试边界和 context 超时处理的最小流程。236 收藏 -
Canva是一款把模板、图片与视频素材、在线编辑和协作放在一起的视觉创作工具。本文从设计类型选择、模板修改、团队分享和素材安全几个实际使用环节,说明它适合哪些人以及如何从官方入口开始。236 收藏 -
Go 的 io/fs.WalkDir 适合做跨目录扫描,但权限错误、符号链接和大目录中断都不能靠默认行为猜测。本文用一个可运行的扫描器说明 fs.ValidPath、fs.SkipDir、context.Context 与错误记录如何配合。236 收藏 -
Golang · Go问答 | 3星期前 | 并发 · 标准库 · 故障排查 · Go问答 · time.Timer · 定时器 Go time.Timer Timer.Reset Timer.Stop 并发排查
复用 Go 的 time.Timer 时,Stop 和 Reset 的行为会受到 Go 版本、定时器是否已经到期以及是否存在并发接收的影响。本文用一个超时重试场景拆开旧版本排空规则、Go 1.23 的同步定时器语义和可验证的停机边界。236 收藏 -
Java 25 的一次性值容器是预览 API,适合表达只设置一次的懒加载结果。本文用并发配置缓存示例拆解 supplier 的至多一次成功计算、异常重试、预览开关和内存驻留边界,帮助你判断它何时比手写双重检查更合适。236 收藏 -
slices.Collect 能把 iter.Seq 变成切片,但空序列的结果、容量预估和重复遍历边界容易被忽略。本文用最小代码拆开收集过程,并给出选择容量策略的判断方法。236 收藏 -
文章 · 前端 | 2星期前 | javascript · 前端工程 · Web API · 事件监听 · AbortSignal 事件订阅 JavaScript Observable 响应式清理 addEventListener signal
不依赖尚未普遍可用的 Observable API,使用 AbortController 和 AbortSignal 统一管理事件监听、异步请求与订阅清理,讲清生命周期、重复取消和兼容回退。236 收藏 -
Laravel 13 的 JSON:API Resource 不只是把数组换成 data。本文用一组订单接口示例拆开资源类、资源集合、type/id、relationships、links/meta 与旧客户端兼容边界,给出可回滚的迁移写法。236 收藏 -
Golang · Go问答 | 1星期前 | map · 零值 · Go问答 · 运行时错误 · Go make nil map map初始化 assignment to entry in nil map
Go nil map 可以读取、len 和 range,却不能给元素赋值。本文解释 nil map 与空 map 的边界,演示 make 初始化,并排查函数返回值和结构体字段中的初始化遗漏。236 收藏 -
Go fuzz 最小化输入仍无法复现时,先核对失败日志中的 FuzzXxx/哈希、testdata corpus 路径和参数类型,再排查时间、随机数、全局状态与外部依赖,最后把稳定 corpus 固化为回归测试。236 收藏