Go语言技术文章
-
os.DirFS 适合把目录暴露成 fs.FS,但它不是完整的安全沙箱。本文用相对路径和符号链接案例拆开根目录边界,比较 os.DirFS 与 os.OpenRoot 的使用场景,并给出检查清单。230 收藏 -
asyncio.timeout_at 用事件循环时钟表达绝对截止时间,适合把多个异步步骤放进同一时间预算。本文从最小写法出发,说明 TimeoutError 的捕获位置、取消语义、嵌套超时和 wait_for 的边界。230 收藏 -
Go 程序中,若在 main 函数结束前未等待 goroutine 完成,会导致其被强制终止,通道接收逻辑(如写文件)可能完全失效,尤其在仅发送单个值时表现明显。 Go 程序中,若在 main 函数结束前未等待 goroutine 完成,会导致其被强制终止,通道接收逻辑(如写文件)可能完全失效,尤其229 收藏 -
AI 接口遇到 504 不能简单重复提交。本文用 OpenAI 的 X-Client-Request-Id 和 Gemini API 的指数退避建议,拆解请求标识、可重试错误、结果去重与人工复核的完整工作流。229 收藏 -
超长视频不能只靠一次请求和一段摘要解决。本文以长视频检索为例,拆解分段抽帧、时间轴索引、候选片段复核和证据回溯的工程流程,并给出可验收的结果格式。229 收藏 -
AWS 最近为 EC2 增加应用状态检查,可按协议、端口、路径和健康响应码监测实例内应用。本文结合官方发布说明,拆解它与实例状态检查的区别、配置边界和自动恢复风险。229 收藏 -
用 Go 的 weak.Pointer 做一个不会长期抓住对象的弱缓存,解释 runtime.KeepAlive、Load 与 GC 回收之间的边界,并给出可复现的并发读取写法。229 收藏 -
用一个原生 HTML dialog 表单说明 showModal、close、returnValue 与 cancel 事件的关系,给出提交、取消和重复打开时的可靠状态处理方式。229 收藏 -
当文件名来自用户输入时,filepath.Join 只能处理字符串拼接,挡不住指向根目录外的符号链接。Go 1.24 提供的 os.OpenRoot 与 Root.Open 会在根目录范围内解析路径,本文用一个下载文件读取场景说明它能挡住什么、不能替代哪些权限控制。229 收藏 -
更换 Embedding 模型后,旧向量与新向量的维度可能不一致,直接覆盖索引会让写入、查询和回滚同时失控。本文以双索引迁移为主线,拆解维度核对、查询路由、后台回填和回滚验收。229 收藏 -
regexp.Regexp.LiteralPrefix 能返回正则表达式匹配必然拥有的字面前缀,但它不是完整的匹配判断。本文用请求路径筛选示例拆开 prefix、complete 与 MatchString 的边界,并给出可验证的安全用法。229 收藏 -
用 MySQL 8.0 的 SKIP LOCKED 做并发任务抢占,关键不在于把锁语句拼出来,而在于限定索引范围、保持短事务、正确处理空队列,并用状态更新和幂等键验收重复消费。228 收藏 -
Google Meet临时参会优先使用meet.google.com网页版,固定使用时可在Chrome中安装PWA;遇到打不开、版本旧或麦克风摄像头不可用,应分别检查浏览器、更新渠道和系统权限。228 收藏 -
在 Gradio 的 gr.Blocks 中,直接通过 在 head 中监听 DOMContentLoaded 无法可靠访问动态渲染的 HTML 元素;应改用内联事件处理(如 onclick)或延迟执行脚本,确保 DOM 元素已挂载。 在 Gradio 的 `gr.Blocks` 中,直接通过 ``228 收藏 -
本文详解使用 Go 标准库 net 包手动构造 HTTP POST 请求时的常见错误——缺失 Content-Length 或未关闭写入流导致服务器无法接收数据,并提供两种可靠解决方案。 本文详解使用 Go 标准库 net 包手动构造 HTTP POST 请求时的常见错误——缺失 Content-L228 收藏