本文转载自:https://fangcaicoding.cn/article/57
大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据量级的业务系统的架构和核心编码。
“学编程,一定要系统化” 是我一直坚持的学习之道。目前正在系统化分享从零到一的全栈编程入门以及项目实战教程。
无论你是编程新手,还是有经验的开发者,我都愿意与你分享我的学习方法、项目实战经验,甚至提供学习路线制定、简历优化、面试技巧等深度交流服务。
我创建了一个编程学习交流群(扫码关注后即可加入),秉持“一群人可以走得更远”的理念,期待与你一起 From Zero To Hero!
茫茫人海,遇见即是缘分!希望这篇文章对你有所帮助!
Hello!大家好,我是方才。不知道大家有没有遇到过如下场景:
- 这个bug上次遇到过,哎,怎么都想不起是怎么解决的了,然后各种谷歌、翻找之前代码,遇到的坑再来一次;
- 这个
linux
命令或脚本,之前编写过,隔一段时间**,想要用的时候,哎,又忘了!只能再学一次!**
这个场景熟悉不?哈哈!方才兄是深有体会!
我个人记笔记的习惯,也经历了各个阶段。最初笔记复用率不高,仅仅是加深了掌握情况-》然后再经历写了和没写一样,囫囵吞枣-》再到系统学习,知识图谱+技术博客的阶段,耗费精力,未能持续-》再到放弃,躺平-》然后是纯工作驱动,记录工作中遇到的问题-》重新拾起,系统学习和输出,让记笔记变得更加有意义。
我的经历不一定适用于所有人,但可以供大家参考。
迭代过程
18年-xmind
我记得18年刚学编程的时候,并没有一个比较系统的记笔记的方法和习惯,单纯使用xmind
做一些知识脑图,这个方法的好处是,能快速形成一个知识树,知晓某个知识点的次重点。
可以看看之前记录的笔记:
这个是Java基础的:
在最初形成笔记的时候,价值和帮助性还是很大的,但仅使用xmind
去记录,很难在精简
和细节
这两者之间去达成平衡的。
形成知识体系,要的是精简,能形成一个知识树;而日常复用要的是细节,比如说某个框架或者语法的使用,期望能通过代码示例,立即满足项目的使用。
所以从上面的记录也能看出来,18年的我,还是很粗暴的,在知识图谱中记录了很多代码细节,最后就导致知识树失去了精简,代码细节也不够细,不方便检索。
这种状态,一直持续到了20年,**最可怕的是,那个时候的自己,并没有意识到这种方式并不是最优!**所以,也没有去调研,去思考改变!
19年-为了写博客
截图是csdn
的创作历程。最开始的初衷是发现单纯的思维导图,对于一些不常用的技术点或者实现,时间间隔半年或者更久之后,单靠知识图谱,很难立即复用在项目中,然后开始了**xmind
+写博客
。**
-
xmind:形成比较精简的知识图谱;
-
博客:完成细节记录,方便快速复用。
但很明显到了下半年,心态发生了变更了,开始为了写博客而去写博客,忽略了自己的理解程度和掌握程度,一些技术知识点,看了一本技术书籍,就开始简单写个demo,去发博客,缺少了深度思考的过程,最典型的就是设计模式相关的内容。
虽然写了很多,但并没有有效理解和吸收!只能算是知道,而不是能算是知识!
20年-改变
人生的每一步路,都不会白走!
19年的博客经历,让我开始逐步意识到,不成体系、未经理解的输出,是没有意义的!
那种感觉就是,你看我写了这么多博客,技术成长是很大的,但真让去实践运用,大部分都没法实践!仅停留在知道层面!
20年,这一年就做一件事,系统学习ElasticSearch
,选择了最笨的方法但确是最有效的办法,通读官方文档,然后站在初学者(本来也是初学者)的角度,去理解各种概念,去抽象各种DSL
语句的作用和使用场景。
整个系列的文章,受到了不少es学习者的好评。
微信公众号也依托es系列,从0起步,涨粉2k,虽然不多,但这是一种认可。中途也偶尔有伙伴付费,让我帮助解决es相关的问题。
但这个过程,是非常耗费时间和精力的。所以没能持续下去!
21年-停止不前
21年,工作上发生了一些变动,开始半独立的负责项目,尝试带团队!工作忙起来了,就没有太多的心思去写博客写公众号了(现在回看,那是一个多不正确的选择),甚至连xmind知识图谱都没有再去总结。
处于一种单纯靠工作驱动,在工作中成长和学习的过程。
在这一年,不能说没有成长,更多是被动的,而非主动学习沉淀。
这种状态是可怕的,感知不到自我的快速成长,让我感到焦虑。
22、23年-逐步沉淀
22年,开始认知到缺乏主动沉淀的不可持续性,开始有有意识的去记录工作中实践的一些技术点,好的解决问题的思路等等,基于点上去形成博客文章,方便后续的复用。
状态好的时候,也会主动去学习一些知识点,查漏补缺。积少成多,逐步分类汇总,开始慢慢沉淀。
这种状态持续到23年底。
24年-一个新的开始
22年和23年,在工作中有意识的记录,慢慢也形成了一些沉淀,但相关的知识体系是没有去补充完整的。也没啥其他原因,就是懒!
决定去改变,是从今年8月开始的,开始去搭建个人博客,重新把公众号捡起来,接着出输出成体系的技术文章【为什么一定要去输出?费曼学习法是经过了时间验证的,亲测有效】。
这个过程,开始审视之前的习惯和产出比例,基于目前的认知,形成了一个基本的思路:
- 先基于技术书籍+官网,在2-3天里,形成知识图谱;
- 基于知识图谱,结合AI+优秀的博客,学习技术细节;
- 为技术去找一个使用场景,进行代码实践和消化,最终形成技术博客,这个过程会重新去修正知识图谱;
- 发布到博客系统,依托外部的有效反馈,赋予记笔记更多的意义。
比如说最近在系统学习前端知识,从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
的远程仓库,实现跨平台的同步。
主动学习的笔记形成过程:
- 先基于技术书籍+官网,形成知识图谱;
- 基于知识图谱,结合AI+优秀的博客,学习技术细节;
- 为技术去找一个使用场景,进行代码实践和消化,最终形成技术博客,这个过程会重新去修正知识图谱;
被动学习的笔记:
- 临时将工作中遇到的有价值的问题点,记录成文;
- 在后续的系统学习中,加以整合;
写在最后
高效记笔记的前提的,是先记!先记!先记!
一定不要本末倒置,因为没有找到好的方法论,就一直不去做这个事情!程序员持续的学习是非常有必要的,这个学习不仅仅是技术、还有业务知识、个人成长等等!
以上就是方才兄个人记笔记的迭代过程,也欢迎大家在评论区留言讨论!分享一些高效的学习&记笔记的方法!
近期更新计划
近期更新计划(有需要的小伙伴,记得点赞关注哟!)
vue、router、elementplus
等前端框架入门教程,预计11中旬更新完成;- 博客系统功能完善,实现评论系统等功能;
- 基于vue3+springboot3的前后端分离的博客系统已经开源啦,欢迎大家star!
“学编程,一定要系统化”——若你也是系统学习的践行者,记得点赞关注,期待与你一起 From Zero To Hero!