概述
我想要把所有的文章总结起来,汇总到一个知识库中
契机
其实从小我就对计算机非常感兴趣,
介绍
这是一套面向个人知识库,分为工具、目录结构、搭建思路和归档流程
搭建思路
将碎片化的信息转化为可检索、可关联和可复用的资产
方法
将文档分为四类:项目、领域、资源和归档
- 项目:明确截止的任务
- 领域:长期维护的资料
- 资源:需要参考的资料
- 归档:已完结的内容
目录
- 收集箱
学习一门计算机语言(C语言) 阅读《王道机试指南》 leetcode的数据结构120 leetcode的算法150 leetcode的hot100 《Hello算法》 AcWing 《代码随想录》 《labuladong》 灵茶山艾府
看到你这段话,我太有共鸣了。“抄书式笔记”是编程学习中最隐蔽、最普遍的陷阱,因为它会给你一种“我今天很努力”的虚假成就感,但大脑其实处于自动驾驶状态,根本没在运转。
你遇到的问题——记不住、说不清、算法不会做、项目不会写——根源其实是一个问题:你把编程当成了“知识课”来学,但编程本质上是“技能课”和“手艺课”。
学游泳不能靠抄《游泳姿势大全》,学编程也一样。下面我给你一套彻底重塑学习方法的行动方案,不需要你更“勤奋”,只需要你更“聪明”地练习。
🧠 第一步:彻底扔掉“抄书笔记”,改用“费曼笔记法”
核心原则:如果不能把知识教给一个完全不懂的人,说明你自己也没懂。
具体做法:
不再抄写“XX语言中,For循环的语法是 for(i=0; i<n; i++)”。
改为在笔记里回答一个具体的问题:
- 这是什么?(用大白话,不用术语):
For循环就是“让一段代码反复执行,直到某个条件不满足为止”。 - 我什么时候用它?:当我要重复做一件事,并且明确知道要做多少次的时候(比如遍历数组)。
- 我犯过什么错?:写 For 循环时我经常把
i < arr.length写成i <= arr.length,导致数组越界。 - 和它长得很像的 What/While 有什么区别?:For 循环更侧重于“次数”,While 更侧重于“条件”。
操作建议:把你现有的笔记全部作废(或封存)。新建笔记时,禁止出现大段代码,只写手写风格(或用文字描述)的逻辑和踩坑记录。代码只有在证明你犯过的错时才放进去。
🏗️ 第二步:学语法时,心里要装着“零件箱”而不是“百科全书”
你学语言是为了组装项目,不是为了背诵说明书。
具体做法:
把一门编程语言想象成一个工具箱。你只需要学会四类东西,其他现用现查:
- 存数据的东西(变量、数组、字典、对象)
- 做判断的东西(if-else、switch)
- 反复做的东西(for、while)
- 把代码打包复用的东西(函数、类)
关键技巧:屏蔽细枝末节。
比如学 Python,你不需要先背熟所有“字符串方法”(.upper(), .lower(), .strip())。你只需要知道“字符串有方法可以处理大小写和空格”,等写项目时,代码补全 和 Google 会帮你填上具体拼写。
目标:学完一个阶段后,你能在纸上画出“实现一个登录功能需要用工具箱里的哪几样零件”,就算过关。
🧩 第三步:做算法题的“逆向拆解法”(告别空想)
你之所以“做算法题也不会”,是因为你在硬想,而不是在用模式匹配。
具体做法:
拿到一道没见过的中等难度题,给自己定闹钟,15分钟想不出来就直接看答案。但是——看答案不是结束,而是开始。
看完答案后,做这三件事:
- 默写注释:把标准答案抄下来,但不是逐行抄。每一行代码上面,用中文写出这行在干嘛。比如:
# 先定义一个字典,用来存每个数字出现过没有
# 遍历数组,如果数字在字典里,说明找到了重复
# 否则把数字存进字典- 关掉代码,看着注释重写一遍:你看着自己的中文逻辑,把代码重新敲出来。如果敲不出,就回去看注释,再关掉重写。
- 给这道题贴标签:不要贴“LeetCode 第1题”这种标签,要贴**“哈希表查重”、“双指针夹逼”、“递归树遍历”**。下次遇到新题,你第一反应不是“这题怎么做”,而是“这道题看起来像‘双指针’那类题”。
真相:算法高手不是智商碾压,而是他们的“模式库”里存了上百个解题模板。你先去“偷”模板,拆解它,再反复默写,直到变成肌肉记忆。
🛠️ 第四步:做项目用“微缩复刻法”(从头造轮子是死路)
你之所以“做项目也不会”,是因为你试图一步到位写一个完整的“电商系统”。
具体做法:
先当“抄袭者”,再当“创作者”。
- 找一个和你水平相差不太大的、功能单一的开源小项目(比如一个“命令行待办清单”或“天气查询脚本”)。
- 把项目跑起来,然后把源代码全部删掉(或者新建文件)。
- 盯着它运行时的界面,凭记忆和逻辑,尝试复原它。卡住了怎么办?回去偷看原作者的写法,然后把那一段用自己的方式重新写一遍,哪怕写得丑一点。
- 复原成功一个功能后,强行给它加一个原作者没有的功能(比如:原作者只能加任务,你非要加一个“加任务时带优先级”)。这个过程会迫使你去查资料,把知识变成自己的。
避坑:绝对不要跟着视频从头敲一个“全栈项目”。那和抄书没区别。最小可行性实践——每次只学一个点(比如今天只搞定“怎么把数据存到文件里”),把这个点焊进脑子里。
⏳ 第五步:建立“每日输出闭环”(唯一的检验标准)
给自己定一条铁律:每天必须有一段代码跑起来,或者改出一个 Bug,否则今天没学。
比如:
- 今天学函数 → 别写笔记了,写一个
calculate(operation, a, b)的函数,能正确返回加减乘除,并在命令行运行出结果。 - 今天学算法 → 把刚才默写的那道题,换一种语言(比如从 Python 换成 Java)再跑通一次。
输出导向:
关掉书本、关掉教程。问自己:“如果现在让我给我的奶奶讲清楚今天学的这个概念,我该怎么说?”说不出来,就去重新看,直到能说出来为止。这个过程叫费曼学习法,是编程学习的核武器。
💎 总结:你的新学习流程
- 看概念 → 只用10%的时间。
- 关书口述 → 用大白话把原理讲出来(或写出来)。
- 看答案拆解 → 用中文写逻辑注释,然后关掉答案,对着注释敲代码。
- 做微缩项目 → 把代码扔进一个超级小的玩具项目里试试。
- 次日回顾 → 第二天开始学新内容前,先把昨天的代码重写一遍(不要直接复制粘贴)。
请记住:编程学得不舒服才是正常的。如果感觉很顺畅、抄得很舒服,那一定是在偷懒。痛苦和卡顿,正是大脑在建立新连接的声音。
现在,请你立刻打开你的 IDE(代码编辑器),删掉你昨天抄的一页笔记,然后新建一个 .py 或 .java 文件,哪怕只写一个 print("Hello, new method"),开始你的第一段“输出式学习”。祝你早日打破困局!💪
你之前已经搭好了文件夹骨架(PARA),也定好了AI分类规则,但这只是“仓库”,不是“体系”。真正的知识体系,是一套让知识从“输入”到“输出”自动流转的认知流水线。
结合你“编程抄书就忘”的痛点,这套方法专门治“只存不用”。我把它拆解为四个核心环节和一套每日闭环动作:
1. 核心心法:告别“搬运工”,做“提炼师”
坚决禁用“复制粘贴”。所有进入你00_Inbox的资料,必须经过你的大脑“翻译”:
- 程序员专用费曼法:看到一个排序算法,不要抄代码。而是用自己的话描述:“这个算法像打扑克牌时整理手牌,每次抓一张插到已排好的牌里。”(插入排序)。只记录**“它像什么”和“我哪里容易写错”**,代码留到IDE里练。
2. 加工流水线(CODE 模型)
利用你的目录,建立严格的流转工序:
- C(捕获):上课/看书时,灵感碎碎念全扔进
00_Inbox,命名格式YYYY-MM-DD_关键词.md。这一步允许乱。 - O(组织):每周日处理收件箱。问自己:“这是要用的(项目),还是要学的(领域)?”前者进
01_Projects,后者进02_Areas。 - D(提炼):这是核心动作。将笔记压缩成 “问题-答案” 对。比如,不记“Spring Boot注解”,而是记 “Q:如何让一个方法启动时就运行?A:@PostConstruct”。这能让大脑建立索引。
- E(表达):必须把学到的教给别人(或假想的读者)。哪怕只在
05_Logs写 “今日踩坑:Git 回退用 reset 还是 revert?前者删记录,后者留记录”。说不出来=没学会。
3. 建立“血脉”(双向链接)
你之前的目录是树状结构(按课程分),但知识是网状的。
- 当你学《操作系统》的“锁”时,请在笔记末尾加上
[[Java 并发编程]]和[[数据库事务隔离级别]]。 - 搜索原则:只在
02_Areas和03_Resources间建立强链接,Projects是临时的,不参与深度链接。
4. 对抗遗忘的“间隔复习”策略
- 每日晨起 5 分钟:翻开
00_Inbox或昨天的日志,不看内容,尝试默写出昨天学的 3 个核心名词解释。 - 每周复盘:将
05_Logs中的周报提炼,压缩成一篇极简博文或思维导图,塞入03_Resources作为永久资产。
🎯 针对编程困境的“实物演练”
针对你“算法不会做、项目不会写”,请在你的知识库里单独设立 “模式库”,并执行逆向拆解:
- 抄题解时:在笔记里只写 “解题信号”。比如遇到“有序数组找目标” → 信号是 “二分查找”。不记具体代码,只记触发条件。
- 项目复刻时:别急着写,先在
01_Projects里画 “输入-处理-输出”流程图,把大任务拆成“数据库怎么存”、“接口怎么调”等一个个 5 分钟能搜到答案的微颗粒。
📅 给你的启动清单(今天就开始)
- 今晚:打开
00_Inbox,把以前抄的一页笔记,强制用自己的大白话重写成 “Q&A 对”,存到02_Areas。 - 明早:重写昨日的代码,不看原稿,卡壳了就回笔记看 “解题信号” 提示。
请记住:体系的检验标准不是“记得多”,而是“找得快”和“用得对”。混乱是必然的,迭代即可。现在,从删掉一篇纯抄写的笔记开始,踏出重塑的第一步吧。需要我帮你设计一个具体的“算法题解笔记模板”吗?我可以马上写给你。
