本文转载自:https://fangcaicoding.cn/article/57
大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据量级的业务系统的架构和核心编码。 “学编程,一定要系统化” 是我一直坚持的学习之道。目前正在系统化分享从零到一的全栈编程入门以及项目实战教程。 无论你是编程新手,还是有经验的开发者,我都愿意与你分享我的学习方法、项目实战经验,甚至提供学习路线制定、简历优化、面试技巧等深度交流服务。 我创建了一个编程学习交流群(扫码关注后即可加入),秉持“一群人可以走得更远”的理念,期待与你一起 From Zero To Hero! 茫茫人海,遇见即是缘分!希望这篇文章对你有所帮助!
Hello!大家好,我是方才。不知道大家有没有遇到过如下场景:
linux命令或脚本,之前编写过,隔一段时间,想要用的时候,哎,又忘了!只能再学一次!这个场景熟悉不?哈哈!方才兄是深有体会!
我个人记笔记的习惯,也经历了各个阶段。最初笔记复用率不高,仅仅是加深了掌握情况-》然后再经历写了和没写一样,囫囵吞枣-》再到系统学习,知识图谱+技术博客的阶段,耗费精力,未能持续-》再到放弃,躺平-》然后是纯工作驱动,记录工作中遇到的问题-》重新拾起,系统学习和输出,让记笔记变得更加有意义。
我的经历不一定适用于所有人,但可以供大家参考。
我记得18年刚学编程的时候,并没有一个比较系统的记笔记的方法和习惯,单纯使用xmind做一些知识脑图,这个方法的好处是,能快速形成一个知识树,知晓某个知识点的次重点。
可以看看之前记录的笔记:

在最初形成笔记的时候,价值和帮助性还是很大的,但仅使用xmind去记录,很难在精简和细节这两者之间去达成平衡的。
形成知识体系,要的是精简,能形成一个知识树;而日常复用要的是细节,比如说某个框架或者语法的使用,期望能通过代码示例,立即满足项目的使用。
所以从上面的记录也能看出来,18年的我,还是很粗暴的,在知识图谱中记录了很多代码细节,最后就导致知识树失去了精简,代码细节也不够细,不方便检索。
这种状态,一直持续到了20年,最可怕的是,那个时候的自己,并没有意识到这种方式并不是最优!所以,也没有去调研,去思考改变!

image-20241103002948388
截图是csdn的创作历程。最开始的初衷是发现单纯的思维导图,对于一些不常用的技术点或者实现,时间间隔半年或者更久之后,单靠知识图谱,很难立即复用在项目中,然后开始了**xmind+写博客。**
但很明显到了下半年,心态发生了变更了,开始为了写博客而去写博客,忽略了自己的理解程度和掌握程度,一些技术知识点,看了一本技术书籍,就开始简单写个demo,去发博客,缺少了深度思考的过程,最典型的就是设计模式相关的内容。
虽然写了很多,但并没有有效理解和吸收!只能算是知道,而不是能算是知识!
人生的每一步路,都不会白走!
19年的博客经历,让我开始逐步意识到,不成体系、未经理解的输出,是没有意义的!
那种感觉就是,你看我写了这么多博客,技术成长是很大的,但真让去实践运用,大部分都没法实践!仅停留在知道层面!
20年,这一年就做一件事,系统学习ElasticSearch,选择了最笨的方法但确是最有效的办法,通读官方文档,然后站在初学者(本来也是初学者)的角度,去理解各种概念,去抽象各种DSL语句的作用和使用场景。
整个系列的文章,受到了不少es学习者的好评。
微信公众号也依托es系列,从0起步,涨粉2k,虽然不多,但这是一种认可。中途也偶尔有伙伴付费,让我帮助解决es相关的问题。
但这个过程,是非常耗费时间和精力的。所以没能持续下去!


21年,工作上发生了一些变动,开始半独立的负责项目,尝试带团队!工作忙起来了,就没有太多的心思去写博客写公众号了(现在回看,那是一个多不正确的选择),甚至连xmind知识图谱都没有再去总结。
处于一种单纯靠工作驱动,在工作中成长和学习的过程。
在这一年,不能说没有成长,更多是被动的,而非主动学习沉淀。
这种状态是可怕的,感知不到自我的快速成长,让我感到焦虑。
22年,开始认知到缺乏主动沉淀的不可持续性,开始有有意识的去记录工作中实践的一些技术点,好的解决问题的思路等等,基于点上去形成博客文章,方便后续的复用。
状态好的时候,也会主动去学习一些知识点,查漏补缺。积少成多,逐步分类汇总,开始慢慢沉淀。
这种状态持续到23年底。


22年和23年,在工作中有意识的记录,慢慢也形成了一些沉淀,但相关的知识体系是没有去补充完整的。也没啥其他原因,就是懒!
决定去改变,是从今年8月开始的,开始去搭建个人博客,重新把公众号捡起来,接着出输出成体系的技术文章【为什么一定要去输出?费曼学习法是经过了时间验证的,亲测有效】。
这个过程,开始审视之前的习惯和产出比例,基于目前的认知,形成了一个基本的思路:
比如说最近在系统学习前端知识,从html、css、js,再到vue系列,都在使用该方法。目前看来是有效的。
这个过程和20年写公众号一样,很耗费精力!但心态不一样了,有时候慢就是快!


**知识图谱的记录:xmind**。免费版的功能已经足够个人使用,树形结构非常符合常规的表达习惯,先总后分。
技术文章的记录:Typora+gitee。Typora做为一款markdown编辑器,无疑是非常优秀的,所见即所得,自动生成目录索引。结合gitee的远程仓库,即可实现跨平台的同步。
在笔记软件上选择上,之前也用过语雀,也简单试用过nation和Obsidian,还是感觉使用typora更加轻量可控,没有太多的学习成本,只需要掌握markdown语法即可,而且是本地存储+gitee远程同步,完全不用担心数据丢失。
当然笔记软件不是重点,个人习惯就好,重点是要写起来。
typora使用技巧 分类的目的,是为了方便管理,这个分类在最开始也不用去纠结。甚至没有分类都是OK的,当笔记有了个20+之后,再去分分类也是OK的。

使用Typora,图片的保存,要么本地,要么图床。最初我也是基于gitee搭建的图床,但那次gitee和github开启防盗链,让我花了一天多的时间的去迁移图片,再次提醒我 “免费的才是最贵的”。
然后我也研究过使用oss搭建图床,使用过一段时间阿里云oss,不管是七牛云还是阿里云,每年的费用都是可以忽略不计的。但使用图床有个我不太能接受的问题,图片的目录管理和文章没法匹配,一篇文章极大可能是会陆续迭代的,图床常见的目录策略要么是固定目录,要么就是年月日,而我个人更期望是同一篇文章的图片放在一个单独的目录。
所以,最后还是切换为本地存储。默认存储到当前路径的 /assets/{fileName}下。

这样,对应文章的所有图片都在一个文件夹下,若文章需要迁移目录,直接将附件一起拷贝即可,方便管理。
使用的软件:
xmind**。知识图谱是为了记忆,掌握全貌。Typora+gitee。Typora是为了记录细节,方便复用。结合gitee的远程仓库,实现跨平台的同步。主动学习的笔记形成过程:
被动学习的笔记:
高效记笔记的前提的,是先记!先记!先记!
一定不要本末倒置,因为没有找到好的方法论,就一直不去做这个事情!程序员持续的学习是非常有必要的,这个学习不仅仅是技术、还有业务知识、个人成长等等!
以上就是方才兄个人记笔记的迭代过程,也欢迎大家在评论区留言讨论!分享一些高效的学习&记笔记的方法!
近期更新计划(有需要的小伙伴,记得点赞关注哟!)
vue、router、elementplus等前端框架入门教程,预计11中旬更新完成;“学编程,一定要系统化”——若你也是系统学习的践行者,记得点赞关注,期待与你一起 From Zero To Hero!