Go语言技术文章
-
Redis SPUBLISH 用于向分片频道发送实时消息。本文说明命令参数、返回值、Redis Cluster 路由边界,并对比 PUBLISH 与 Stream 的适用场景。186 收藏 -
Python logging 的 Formatter 不只是拼接字符串,还决定 LogRecord 如何变成稳定的结构化日志。本文用 extra、defaults 和自定义 Formatter 统一业务字段、异常信息与 JSON 输出。185 收藏 -
D3 data join 默认按位置匹配,列表重排后容易让 DOM 节点状态跟错对象。本文用稳定且唯一的 id 作为 key,说明 update、enter、exit 的对应关系,以及排序、重复 key 和 DOM 顺序的边界。185 收藏 -
数据库 · MySQL | 2星期前 | MySQL · 执行计划 · 查询优化 · mysql Hash Join 哈希连接 EXPLAIN FORMAT=TREE block_nested_loop join_buffer_size
MySQL 8.4 默认会在可行时采用哈希连接,但是否生效取决于连接条件、可用索引、block_nested_loop 控制项和内存边界。本文从常见慢查询症状出发,说明如何判断候选条件并用 EXPLAIN FORMAT=TREE 复查。185 收藏 -
io.Pipe 消费端提前退出后,应先用读端 CloseWithError 通知写端,再等待生产协程。本文区分两端关闭职责与错误传播,给出有限数据示例,并说明 nil、重复关闭、部分写入和上游阻塞的处理范围。185 收藏 -
Go 文件操作失败时,不要比较错误字符串。本文用 errors.Is 配合 fs.ErrNotExist 和 fs.ErrPermission 区分文件不存在、权限拒绝及其它错误,并保留 PathError 上下文。185 收藏 -
文章 · python教程 | 2星期前 | 缓存 · 垃圾回收 · python · 内存管理 · Python 内存缓存 对象生命周期 weakref.WeakValueDictionary 弱引用缓存
用一个对象缓存场景说明 Python WeakValueDictionary 如何不单独延长对象生命周期,覆盖最小写法、弱引用支持、缓存命中和回收边界,以及它与普通字典缓存的取舍。185 收藏 -
Go io.Pipe 的读写端是同步边界;本文用 CloseWithError 把生产错误传给消费者,并区分 EOF、业务错误与提前关闭,避免 goroutine 泄漏。185 收藏 -
通过 Fiber::suspend、resume 和 throw 理解 PHP Fiber 如何暂停深层调用栈,并用生命周期状态和 finally 处理恢复、异常与资源清理。185 收藏 -
Go 1.23 起使用 net.Dialer.KeepAliveConfig 明确设置 TCP 保活开关、空闲时间、探测间隔和未应答次数,并说明旧字段与平台差异。185 收藏 -
长文本做 Embeddings 时,先按标题、段落和句子保留语义边界,再用 token 预算兜底,并用少量 overlap 处理跨块关系。本文给出可落地的分块字段、批量向量化与检索反馈调参方法。185 收藏 -
从 InnoDB 死锁报告中的事务 ID、MySQL thread id、SQL 和锁对象入手,结合 Performance Schema 与应用日志,把死锁日志对应到具体连接和业务事务。185 收藏 -
Linux 下使用 stat 查看符号链接时,默认结果对应链接自身;加上 -L 才会切换到目标文件。本文用 GNU stat 的参数和格式化字段说明两者差异,并整理悬空链接与脚本化读取时的边界。185 收藏 -
PEFT通过merge_and_unload返回保留适配器效果的普通模型。文章说明返回值使用、完整导出、可撤销合并,以及恢复接口与还原原始权重的区别。185 收藏 -
Go map 的 range 顺序未指定,不能直接依赖遍历结果。本文用一个小型标准库示例收集 key、排序后回查 map,并说明按 value 排序时如何用 key 处理相同值,覆盖 nil map 与并发边界。185 收藏