Build. Learn. Document. Repeat.
持续学习,持续实践,持续沉淀。
欢迎来到我的数字花园 🌱。
我习惯将学习、实践与思考沉淀为可复用的笔记,希望把零散的信息整理成系统化的知识,也希望它们能在未来的某一天再次帮助自己,或帮助正在阅读的你。
我相信知识不是一次性整理完成的文档,而是在学习、实践和复盘中不断生长的网络。
如果某篇文章帮助到了你,希望它也能成为你知识网络中的一个节点。
🕰️ 最近笔记
用 LangChain 和 FAISS 为 Markdown 建立语义检索
AI / Agent本文讲如何把一份 Markdown 做成可以用问题搜索的文档库:先生成 index.faiss 和 index.pkl,再加载这两个文件,找出与问题相关的原文。
VS Code 联动调试 Flask 与 Celery
Engineering / Python本文讲如何在 VS Code 中调试 Flask 接口和 Celery 后台任务:给代码设置断点,发送一次请求,让程序停下来,查看变量,再逐行执行。
Flask API 使用真实 PostgreSQL 做隔离集成测试
Engineering / Python接口测试,就是用程序发送请求,再检查接口有没有完成约定的操作。
CSS Grid 两列布局中的 fr 与 minmax
Engineering / HTML&CSS这段声明定义了两个显式列轨道:
Python Generator 与 Flask SSE 流式响应
Engineering / Python下面的函数统一处理普通响应和流式事件响应:
Python Thread 线程基础
Engineering / Python看到 threading.Thread 时,容易把它理解成“让函数去后台执行”。这个说法只描述了表面现象,没有解释后面的几个问题:为什么调用 start() 后输出顺序变了,为什么有时需要 join(),为什么多个线程修改同一个变量会出错,…
LangChain 多模型 Provider 接入与统一模型工厂
AI / Agent应用只接入 OpenAI 时,创建 ChatModel 只需要模型名和 API Key:
Ollama 模型参数适配:从 max_tokens 到 num_predict
AI / Agent这套多 Provider 设计使用统一的业务结构描述模型:
广度优先搜索(BFS):逐层遍历与无权图最短路径
Engineering / DataStructure从一个节点找另一个节点时,路径往往不止一条。若只关心「经过边数最少的路径」,可以从起点开始先看所有一步能到的节点,再看两步能到的节点。这就是广度优先搜索(Breadth-First Search,BFS)的顺序。
深度优先搜索(DFS):沿一条分支走到底
Engineering / DataStructure在一张图里找路时,有时并不关心最少经过几条边,而是想先沿一条可能的路径走下去;走不通时,再退回最近的分叉点换一条路。这个过程就是深度优先搜索(Depth-First Search,DFS)。
📝 关于这些笔记
这里的大部分内容都来自实际学习和开发过程。
为了方便长期维护,每篇笔记都会尽量按照统一的知识结构整理,例如:
| 类型 | 说明 |
|---|---|
Theory | 概念讲解、原理分析、成因对策 |
Practice | 实践指南、实现方案、最佳实践 |
Snippet | 代码片段、实用函数 |
Reference | 学习笔记、语法参考 |
Tutorial | 上手教程、快速入门、搭建指南 |
Cheatsheet | 命令备忘、配置速查 |
Experience | 踩坑记录、FAQ、排查过程 |
希望每一篇笔记不仅能解决当前的问题,也能成为未来可以快速检索和复用的知识资产。
📖 知识导航
-
🤖 AI 大模型、AI 应用开发以及相关技术实践。
-
💻 Engineering 记录软件开发、编程实践与工程设计思考。
-
☁️ Infrastructure 沉淀开发环境、部署流程与基础设施相关知识。
-
🛠 Tools 分享提升效率的工具、配置与个人工作流。