Go语言技术文章
-
Redis 报 OOM 不一定是 used_memory 超过 maxmemory。本文从 maxmemory 判定、内存碎片率、客户端输出缓冲和大 key 四个方向核对真实占用,并给出可复现的 redis-cli 检查命令。460 收藏 -
Golang · Go教程 | 1星期前 | 标准库 · golang · JSON · 配置管理 · go · 工程实践 · 空值处理 encoding/json Go教程 MarshalText encoding.TextMarshaler 配置序列化
同一个配置值如果在 JSON、日志和环境变量之间各写一套转换,很快就会出现格式漂移。本文用 encoding.TextMarshaler 统一文本表示,拆开 json.Marshal 的调用规则、指针接收者、错误处理和 nil 边界,并给出可运行的验证示例。142 收藏 -
REPLACE INTO 遇到主键或唯一键冲突时,不是原地更新,而是先删除旧行再插入新行。本文用订单同步场景拆开执行语义、AUTO_INCREMENT、外键级联和更稳妥的替代写法。109 收藏 -
排查 Go context.WithDeadline 提前结束的问题,理解父级截止时间只会更早不会更晚的继承规则,并用剩余预算、HTTP 超时和测试日志完成可复现核对。228 收藏 -
用一组适合锁屏的雨后苔藓石阶壁纸提示词,做出冷绿主图和暖光变体,重点处理时间区留白、主体位置与竖屏裁切。424 收藏 -
暴雨预警的蓝、黄、橙、红代表不同警戒等级,但具体降雨阈值由当地气象部门按区域标准发布。本文教你看懂预警、安排出行并核对避险信息。289 收藏 -
用 Go net/url.URL.JoinPath 处理接口基础地址与资源路径的拼接,说明重复斜杠、绝对路径片段、查询参数和转义边界,给出可测试的请求地址写法。248 收藏 -
文章 · 前端 | 1星期前 | 前端 · javascript · 安全开发 · Web Crypto · 浏览器 API · ArrayBuffer 前端加密 AES-GCM Web Crypto API crypto.subtle
用浏览器原生 Web Crypto API 完成 AES-GCM 密钥的导入、导出、加密和解密,重点核对 Base64 编码、CryptoKey 可提取性、每次加密唯一 IV 以及 ArrayBuffer 类型边界。129 收藏 -
Shell 脚本明明执行失败却返回 0,或者 set -e 没有按预期中断,常见原因是管道只返回最后一项的状态、条件命令被豁免,或脚本覆盖了前一个退出码。本文从日志检查脚本的故障现场出发,解释 set -e、set -o pipefail 和 PIPESTATUS 的适用边界,并给出可复查的修正方式。293 收藏 -
用一个可运行的小例子说明 Go embed.FS 读取嵌套资源时的路径规则、fs.ValidPath 校验边界与错误处理方式,避免把磁盘路径习惯带进嵌入文件系统。374 收藏 -
Go map 直接读取时,缺失键和真实的零值会得到同一个结果。本文用 ok 语法、comma-ok 判断和 nil map 示例,说明如何区分存在性、避免误判,并把判断边界写进函数接口。145 收藏 -
文章 · java教程 | 1星期前 | Java · Switch · Java 21 · 类型匹配 · java case null Pattern Matching for switch 类型模式
Java 的 Pattern Matching for switch 遇到 null 时不会自动落到 default。本文从一段线上状态分派代码切入,说明 case null、类型模式、when 守卫和 default 的边界,并给出兼容旧写法的改造方式。194 收藏 -
Go 的 slice 传入函数时复制的是切片头,不是底层数组。本文用 append 和容量边界的具体例子解释为什么函数内部修改会影响调用方,并给出隔离数据、限制容量和复查别名的选择方法。499 收藏 -
MCP 采用 Streamable HTTP 后,客户端、网关和服务端需要重新处理会话、路由、断线恢复与版本兼容。本文结合规范中的 HTTP 端点、MCP-Session-Id、Last-Event-ID 和协议版本头,给出一套可回滚的迁移检查方法。277 收藏 -
MCP 工具调用遇到超时,不能简单地把所有失败都重试。本文从资产保护、调用路径和错误分级入手,设计一套包含超时、重试、幂等、审计与人工接管的收口方案。111 收藏