Go语言技术文章
-
go mod tidy 加入看似未使用的模块,通常是因为它会扫描测试、工具、构建标签和跨平台源码。本文用依赖路径、模块图和可回滚命令说明如何判断该模块是否应该保留。400 收藏 -
Golang · Go教程 | 2星期前 | CGO · 资源管理 · Go教程 · runtime.KeepAlive runtime/cgo.Handle Go cgo C库句柄 LockOSThread
Go 封装 C 库句柄时,应让一个包装对象独占 C 指针,以显式且幂等的 Close 负责释放,并用互斥锁处理并发访问。若 C API 依赖线程状态,则用锁定 OS 线程的专属 goroutine 承担创建、调用与销毁。本文同时说明 cgo 指针边界、KeepAlive、回调句柄和发布检查。400 收藏 -
Go 源站关闭 HTTP/2 后客户端仍显示 h2,通常是因为客户端看到的是到 CDN、负载均衡或反向代理的前端连接。本文从逐跳协议边界、Server.Protocols 绑定、直连源站与 r.Proto 证据入手,定位真正仍在使用 HTTP/2 的链路。400 收藏 -
同一套 Go 应用需要随不同构建目标携带不同静态资源时,可以让构建标签选择资源入口文件,再由 embed.FS 把选中的目录编进二进制。本文给出默认版与企业版的组织方式,并让业务层保持统一的 fs.FS 接口。400 收藏 -
Go mime.ExtensionsByType 做 MIME 到扩展名的反向查询时,结果可能包含多个带点后缀。本文说明如何把它当作候选集合,并用业务格式、用户偏好或稳定排序选择默认后缀,同时明确它不负责检测文件内容。400 收藏 -
文章 · python教程 | 1星期前 | 线程池 · 异常处理 · 并发编程 · Python教程 · Python threadpoolexecutor future add_done_callback 线程任务结果
Python concurrent.futures 的 Future 可以通过 add_done_callback 注册完成回调。本文用线程池批量任务说明如何区分成功、取消和异常,如何把完成结果安全投递到汇总容器,以及为什么不能把回调触发顺序当成任务提交顺序。400 收藏 -
MySQL InnoDB 的 READ COMMITTED 可减少部分范围操作的间隙锁影响,但不会消除同记录写冲突。本文通过范围插入与已有记录更新的两会话示例,说明一致性取舍、下一事务设置和回滚清理责任。400 收藏 -
多租户模型服务复用上下文时,应把可信租户、主体、有效权限及资源版本纳入缓存描述,并保留命中授权与失效处理,避免仅凭相同问题共享私有材料。400 收藏 -
AI 输出过滤只负责内容风险,业务规则负责领域正确性。本文用三层状态和最小 Python 示例说明如何区分安全拒绝、结构重试、业务冲突与人工复核,避免把所有失败都记成一个 blocked。400 收藏 -
Go 1.22 之后,http.ServeMux 用模式覆盖的请求集合判断优先级,而不是按注册顺序或通配符名称决定。本文比较静态路径、单段通配、剩余路径通配、方法和主机,并说明如何识别冲突模式。400 收藏 -
从 selector、EndpointSlice、headless Service 和 ExternalName 的边界出发,说明云原生 Service 后端端点怎样处理,并用端点状态与请求指标定位空后端和错误路由。400 收藏 -
GitHub Actions 近期变化不只涉及 YAML 写法,还包括工作流依赖锁文件、macOS 14 runner 退役、检查记录保留期和 pull_request_target 执行保护。本文用四张清单判断现有工作流的兼容性与迁移优先级。400 收藏 -
Go 1.27 把 go fix 中的 waitgroup analyzer 改名为 waitgroupgo。本文区分命令入口与分析器名称,说明如何用 go tool fix help 和 go fix -diff 确认参数,并判断哪些 WaitGroup 写法适合现代化、哪些场景需要人工复核。400 收藏 -
MySQL 的 EXPLAIN 只估算执行计划,EXPLAIN ANALYZE 会真正运行语句并给出实际行数与耗时,因此测试时看起来更慢。本文用订单列表查询拆开两者的差异,说明如何读 actual time、如何避免把诊断开销误当业务耗时,并给出可回滚的线上验证边界。399 收藏 -
数据库 · MySQL | 2个月前 | MySQL · 权限 · 性能排查 · mysql SHOW PROCESSLIST performance_schema.threads PROCESS权限 会话诊断
线上慢 SQL 需要先确认它属于哪个连接、卡在哪个阶段,再决定是否查看执行计划或终止会话。本文用 SHOW PROCESSLIST 与 performance_schema.threads 还原连接 ID、线程状态、权限边界和复核步骤。399 收藏