Build. Learn. Document. Repeat.
持续学习,持续实践,持续沉淀。
欢迎来到我的数字花园 🌱。
我习惯将学习、实践与思考沉淀为可复用的笔记,希望把零散的信息整理成系统化的知识,也希望它们能在未来的某一天再次帮助自己,或帮助正在阅读的你。
我相信知识不是一次性整理完成的文档,而是在学习、实践和复盘中不断生长的网络。
如果某篇文章帮助到了你,希望它也能成为你知识网络中的一个节点。
🕰️ 最近笔记
初识 Jev:让 AI 帮程序做判断
AI / AgentJev 是 TypeSafe AI 推出的一款模型,主要用来帮助程序做分类、打分和判断。你提供待分析的内容,提前定义问题和答案类型,它就返回程序可以直接使用的结果。例如,判断一条消息是不是退款申请、应该交给哪个团队、是否需要优先处理。
Python 对象相等判断:从 JavaScript 理解 ==、!= 与 is
Engineering / Python在 JavaScript 中,两个分别创建的对象,即使属性完全一样,a === b 也会得到 false。带着这个经验读 Python,下面的代码就容易让人困惑:
Python 懒加载:初始化究竟在什么时候发生
Engineering / Python一个搜索服务可能需要加载模型,但程序启动后,不一定马上有人搜索。如果创建服务时就加载模型,即使最后没有执行搜索,也已经付出了加载的时间和内存开销。
为什么更换 Embedding 模型后需要重建向量索引
AI / Agent文档已经做成向量索引后,如果把查询时使用的 Embedding 模型换掉,可能出现两种情况:搜索报错,或者搜索没有报错,返回的内容却不相关。
用 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(),为什么多个线程修改同一个变量会出错,…
📝 关于这些笔记
这里的大部分内容都来自实际学习和开发过程。
为了方便长期维护,每篇笔记都会尽量按照统一的知识结构整理,例如:
| 类型 | 说明 |
|---|---|
Theory | 概念讲解、原理分析、成因对策 |
Practice | 实践指南、实现方案、最佳实践 |
Snippet | 代码片段、实用函数 |
Reference | 学习笔记、语法参考 |
Tutorial | 上手教程、快速入门、搭建指南 |
Cheatsheet | 命令备忘、配置速查 |
Experience | 踩坑记录、FAQ、排查过程 |
希望每一篇笔记不仅能解决当前的问题,也能成为未来可以快速检索和复用的知识资产。
📖 知识导航
-
🤖 AI 大模型、AI 应用开发以及相关技术实践。
-
💻 Engineering 记录软件开发、编程实践与工程设计思考。
-
☁️ Infrastructure 沉淀开发环境、部署流程与基础设施相关知识。
-
🛠 Tools 分享提升效率的工具、配置与个人工作流。