Go语言技术文章
-
Go 错误建模可按调用方需求选择:只需判断固定条件时用哨兵错误,需要读取操作、资源或原因等字段时用自定义类型。本文给出 Is、As、%w、组合模式、信息边界与兼容性检查。145 收藏 -
Go 重试机制最难的不是退避算法,而是稳定地区分可重试错误与永久错误。本文用 errors.Is、errors.As、%w、领域错误类型、context 与幂等约束,给出可维护的分类器和重试边界。263 收藏 -
Redis 分布式锁续期失败后,旧客户端不应继续产生受保护副作用。本文从租约、随机所有者令牌和围栏令牌的区别出发,给出可取消续期、资源侧拒绝旧写入、监控指标与工程取舍。333 收藏 -
Go 中直接比较 error 只检查当前错误值,errors.Is 会沿 Unwrap 错误链寻找匹配。本文用 %w、errors.Join 和自定义 Is 说明三种判断边界。401 收藏 -
通过 InnoDB 范围 UPDATE 与并发 INSERT 的双事务场景,解释记录锁、间隙锁和 next-key 锁何时出现,并给出索引、隔离级别、锁等待观察与缩小锁范围的实用判断方法。313 收藏 -
一组以珊瑚粉与沙金渐变沙丘为主题的原创极简手机壁纸,包含两张无文字、无水印的 9:16 成片、直接下载按钮、完整中英文提示词,以及配色、光线、留白和纵向构图调整方法。198 收藏 -
Go 中用 fmt.Errorf 的 %w 保留错误上下文,再用 errors.Is 沿错误链判断哨兵错误;本文还说明 %w 与 %v 的 API 暴露边界。468 收藏 -
敏感信息进入 Go 日志后,不能只靠调用点自觉替换。本文先说明已泄露日志的止损,再用 slog LogValuer、ReplaceAttr 和统一 Logger 装配建立多层脱敏,并列出嵌套字段、自由文本与旁路输出的验证清单。341 收藏 -
零售门店参加放心消费承诺,通常要具备满1年的营业执照及相关经营许可、稳定经营场所、可持续公开的五类承诺和畅通售后渠道,并通过信用与在线公示核验。本文按国家指引拆解条件、准备清单、办理流程和后续维护边界。280 收藏 -
Go 服务可以让请求边界把 trace_id 写入 context,再由 slog 自定义 Handler 在日志出口统一补充字段。本文给出可直接复用的包装器、中间件和 OpenTelemetry 提取方式,并说明伪造、覆盖与隐私边界。256 收藏 -
可访问模态弹窗不只是加 aria-modal。本文优先用原生 dialog 与 showModal 完成焦点限制和同文档背景 inert,再补齐初始焦点、Escape/按钮关闭、触发器恢复、动态触发器兜底,并说明何时才需要手写 Tab 焦点陷阱。309 收藏 -
Go slog 日志量过大时,先用 LevelVar 和 HandlerOptions.Level 过滤低价值日志,再对可聚合的成功事件做带键采样;错误、审计和关键状态变化保持全量保留。354 收藏 -
Linux 进程句柄持续上涨时,不要先调高 nofile。本文用 /proc/PID/fd 统计并聚类文件、deleted、socket、pipe 和 anon_inode,再结合 fdinfo、limits 与系统 file-nr 缩小泄漏资源,最后把资源簇映射回真正负责关闭的代码路径。292 收藏 -
本文实现一个可包裹 slog.JSONHandler 或 TextHandler 的 SecurityHandler:在 Enabled 阶段过滤低级别事件,在 Handle 和 WithAttrs 阶段递归脱敏敏感字段,并正确保留分组、动态级别、下游错误与并发安全语义。117 收藏 -
用 Python contextvars 在 asyncio 请求链中传递 request_id,说明 Task 上下文继承、copy_context、Token.reset 以及 to_thread 的边界。393 收藏