工程实践
已收录文章:43篇
-
context.WithValue 适合传递贯穿请求链的元数据,不适合替代函数参数或承载业务配置。本文用键类型、取值失败和测试隔离三个边界,说明什么时候该用、什么时候该拆出显式参数。107 收藏
-
Go 测试里临时目录、数据库连接和环境变量如果没有按作用域清理,单测会出现串状态和偶发失败。本文用 testing.T.Cleanup 对比 defer、子测试和失败路径,给出资源注册顺序与验收清单。461 收藏
-
Go embed.FS 不只适合把模板打进二进制,也可以通过版本目录和启动校验降低模板发布风险。本文演示如何保留可回滚版本、验证文件完整性,并明确热切换不该越过的边界。379 收藏
-
用 Go embed.FS 嵌入模板时,直接把整个目录交给模板引擎容易扩大读取范围。本文从目录挂载、路径清理和上线验收三个环节,给出可复查的安全写法。161 收藏
-
科技周边 · 业界新闻 | 1个月前 | 开发工具 · google · AI编程 · 工程实践 · AI编程 Google Antigravity 代理式开发 Google I/O 2026 开发验证Google I/O 2026 介绍了 Antigravity 这类面向行动的代理式开发平台。本文不把它当成自动交付按钮,而是从权限、任务拆分、结果验证和人工回退四个边界说明哪些工作适合交给代理,哪些仍要由工程师把关。182 收藏
-
Redis 的 EXPIRE 作用在整个 key 上,不能直接给同一个 HASH 的每个 field 设置独立 TTL。本文从用户会话属性和临时状态的场景出发,对比拆 key、时间戳字段、ZSET 索引三种设计,并给出清理任务、并发边界和验收方法。162 收藏
-
编辑器保存配置时常用临时文件写入再重命名,Go 文件监听器看到的可能是多次事件而不是一次保存。本文用事件合并、稳定快照读取和重试窗口处理原子替换,避免读到半个文件,也避免漏掉真正的更新。439 收藏
-
Go 服务做配置热加载时,直接改共享结构体很容易让请求读到半成品。本文用 atomic.Value 发布不可变快照,拆解更新、读取、校验和旧配置回收的边界,并给出可验证的回滚做法。390 收藏
-
科技周边 · 业界新闻 | 1个月前 | 开发工具 · mcp · ai agent · 工程实践 · MCP Agent Plugins plugin.json Agent Skills 跨代理分发Agent Plugins 1.0.0 把 Agent Skills 与 MCP 服务放进统一插件目录。本文从 plugin.json、目录布局、能力边界和分发验收四个角度,说明团队如何把一个可复用技能包交给不同代理和 IDE 使用。389 收藏
-
多轮对话变长后,简单截掉旧消息很容易让模型丢失用户约束。本文从上下文压缩的边界出发,拆解摘要漂移、关键事实遗漏和回放验收,用可重复的测试样例判断压缩是否真的可用。418 收藏
-
Embedding 模型升级或调整 dimensions 后,旧向量、查询向量和数据库索引可能不再兼容。本文用维度契约、双写灰度和检索验收三步,说明如何安全迁移并避免静默召回下降。313 收藏
-
当资源数量由配置或运行结果决定时,ExitStack 可以把文件、锁和回滚回调放进同一条可逆的清理链,并用 pop_all 保留成功结果。345 收藏