Lanes
三条主线
语言与运行时、智能系统工程、问题求解的结构——分开记,交叉读。
Golang
从 context 与并发原语,到泛型约束与错误传播。关注「能在生产里站得住」的写法,而不是语法清单。
Recent
近期笔记
从并发模型到检索增强生成,从经典算法到工程取舍——慢读,细记。
-
Go channel 与 select:编排而不是堆砌
goroutine 容易开,难在收口。channel 与 select 是把并发从「能跑」变成「可推理」的关键。
-
混合检索:关键词与向量如何一起用
纯向量召回擅长语义,关键词召回擅长专有名词。多数业务需要二者协作。
-
滑动窗口:双指针背后的不变量
窗口题看起来多,骨架却相似:维护合法区间,并在扩张与收缩间切换。
-
Go 接口与 nil:为什么「看起来是 nil」却不是
最经典的 Go 坑之一:把 nil 指针放进接口后,接口本身往往不再等于 nil。
-
上下文窗口不够用时:裁剪、摘要与分层投放
模型窗口再大,也会被检索片段与历史消息填满。预算管理是应用层责任。
-
堆与优先队列:Top-K 与合并问题的底座
排序能做 Top-K,但堆通常更省;合并 K 个有序表时,堆几乎是标配。
-
大模型流式输出:SSE 与后端转发要点
流式不是装饰:首字延迟下降后,长回答才可交互。工程上要处理好缓冲与取消。
-
理解 Go context:取消、超时与请求级值传递
context 不是万能钥匙,却是请求生命周期里最可靠的约定。本文梳理 WithCancel、WithTimeout 与 Value 的边界。
-
RAG 实践:分块策略如何影响检索质量
固定长度、语义分段与重叠窗口,三种分块方式在中文技术文档上的实测对比与取舍。
-
拓扑排序:从课程表到构建依赖
Kahn 与 DFS 两种实现,以及在包管理、CI 流水线排序中的常见坑。
把零散的阅读、调试与思考,沉淀成可复读的文字——这便是「拾光」。
— 本站写作原则
Paths
推荐阅读路径
若你不知从哪篇开始,可以按下面三条小路走一遍。
- 并发入门
- 检索实践
- 结构基础
Notes
站内说明
关于阅读节奏与内容边界,写在这里备查。
如何阅读
每篇笔记尽量自成一体,可跳读。涉及代码处给出可运行的短片段,便于对照官方文档加深理解。
文章按主题与时间双线组织;若你偏好体系化学习,优先使用上方的阅读路径。
Timeline
近期更新
站点与文稿的点滴变化。
-
增补 Channel/select、混合检索、滑动窗口等十篇新笔记,主线内容更完整。
-
发布 流式输出、上下文窗口、接口 nil 与 Go context 等系列。
-
整理 RAG 分块与拓扑排序两篇,形成「检索 / 图论」对照阅读。
-
增补 泛型约束与提示词评测,强调可复现的工程习惯。
-
建站 确立三条主线,陆续写入二分、并查集、嵌入与 errgroup 基础篇。