Go语言技术文章
-
Python contextlib.ContextDecorator 让同一个上下文管理器同时支持 with 和函数装饰器。本文说明重复调用、__enter__ 返回值、__exit__ 异常传播和显式 with 的选择边界。242 收藏 -
Go GJSON 的数组条件查询中,#(...) 取第一个匹配项,#(...)# 才会收集全部匹配项。本文用同一份数据对比两种路径的返回形态、Go 代码读取方式、空结果边界和接口设计取舍。242 收藏 -
Google Drive是谷歌提供的云端文件管理与协作服务,可通过 drive.google.com 使用,也能安装 Drive for desktop 在电脑上同步文件。本文介绍主要功能、官方入口、下载路径、账号安全和适合人群。241 收藏 -
MCP 长任务如果只有最终结果,客户端很难判断服务是否卡住。本文用一个批量索引工具拆解 progressToken 的关联规则、notifications/progress 的递增约束、未知 total 的处理,以及完成、超时、取消时如何收口。241 收藏 -
用 Go 的 crypto/rand.Text 替换自写随机字符串时,先确认 Go 版本,再处理字符集、长度、错误边界和回归测试,避免把 math/rand 误用于邀请码或令牌。241 收藏 -
Java HttpClient 的 CookieHandler 既能复用会话,也可能让不同账号的请求串 Cookie。本文从共享客户端、并发访问和任务结束三个边界,给出隔离、清理与验证方法。241 收藏 -
Go 泛型约束中的 ~ 不是装饰符,而是把底层类型纳入类型集的边界工具。本文从一个可复现的金额类型例子出发,区分精确类型、底层类型和接口约束,给出编译器核对方法与选型清单。241 收藏 -
Redis Stream 长期运行后,按消息 ID 清理历史记录比按条数裁剪更容易贴合时间窗口。本文用 XTRIM MINID 对比精确裁剪与近似裁剪,说明 LIMIT、消费组 PEL 和回滚验收的实际边界。241 收藏 -
Obsidian官方网址是 https://obsidian.md,官方下载页是 https://obsidian.md/download。本文介绍它的定位、主要功能、适合人群和安全下载方法。241 收藏 -
用 Go 的 math/big.Int.FillBytes 把大整数写入固定长度的大端字节字段,理解绝对值、左侧补零和容量不足 panic 的边界,并给出可验证的协议字段校验写法。241 收藏 -
Linux 服务在启动阶段卡在随机数读取,通常不是 CPU 忙,而是 getrandom 等待内核熵池完成初始化。本文区分默认阻塞、GRND_NONBLOCK 返回 EAGAIN 和大缓冲区读取边界,并给出从日志到系统状态的核对顺序。241 收藏 -
Python 3.15 的 PEP 798 让列表、集合、字典推导式和生成器支持 *、** 解包。本文用等价循环解释展开、去重、键覆盖、惰性求值和变量作用域边界,并给出兼容旧版本的落地写法。241 收藏 -
Go 泛型函数的类型推导主要依赖调用实参与函数形参之间的类型关系,不能根据接收返回值的变量类型倒推。本文用无参数泛型工厂说明失败原因,并给出显式类型实参和增加 typed 参数两种 API 设计方案。241 收藏 -
Go 的 os/exec 使用 StdoutPipe 或 StderrPipe 时,真正容易卡住的通常不是少写一个 Close,而是读取未完成就 Wait,或子进程继承了输出管道。本文给出无手工管道和并发读取两种写法,并整理取消、错误处理与 EOF 排查要点。241 收藏 -
讲清 Go slices.Delete 删除后 len、cap、尾部清零和底层数组持有之间的区别,并给出 Delete、Clip 与复制收缩的选择方法。241 收藏