1. 程序员,如何让你的知识内化
一、前言
是否,你浏览过无数文章,但是转眼就忘?
是否,你收藏过无数文章,但是很少再看?
是否,你感觉自己很努力学习了,但还是收获甚微?
其实,这几个问题也一直深深地困扰着我,一直渴望着提升,却又摸不到方向,感觉一直在努力,然而貌似并没什么卵用。
直到,接触到知识管理这个概念,才领悟到:学习是一个系统工程,每一次的阅读、收藏、实践,其实都是这个系统的自我更新。唯有运用工程思维,才能更好的解决这几个问题!
关于知识管理,我视之为我人生中最重要的技能,我将不断探索、不断优化,以成就一个更完善的自己。
下面,将从一个程序员的视角来讨论知识管理,主要包括以下几个方面:
什么是知识管理?
为什么要管理知识?
如何管理知识?
二、什么是知识管理?
个人知识管理(Personal Knowledge Management):一般指个人通过工具建立知识体系并不断完善,进行知识的收集、消化吸收和创新的过程。
三、为什么要管理知识?
核心目的:搭建自己的知识体系
计算机行业的一个特点是新技术更新特别快,意味着程序员需要不停学习,才能跟上行业的发展。所以,知识管理对程序员非常重要。有意识,成体系地管理知识能够:
更快速的入门
如果我们已经建立好一个技术知识体系,新的技术也只是在其他技术上建立起来的,有了坚实基础,学习新技术就会更有效,毕竟原理总是类似的。
更全面的掌握
看过那么多的博客,如果没有经过自己的整理,终究总是一块块记忆碎片,难成体系!使用合适的工具,正确的方法,才能更好地掌握知识,让知识凝固在脑海,形成一个整体的脉络。
更高效的检索
程序员经常遇到同样的问题,例如说部署开发环境的时候,如果有把解决方案记录下来,就能省去重新解决问题的时间。毕竟重复的谷歌,也是耗时操作。
四、如何管理知识?
1.收集
确定主线,建立信源,链式反应,广泛收藏
“生也有涯,知也无涯”,我们永远不可能通晓所有的知识!
一开始我看到好的技术文章时,都是加书签存起来。后面发现这样不能离线访问,而且链接可能会失效。
后来,接触了印象笔记、为知笔记等云笔记软件,于是我可以把文章保存到笔记中,随时可以翻出来看。这是我的知识管理之路的开始。
可以说,笔记软件给知识积累带来了极大方便,而且,还可以在自己的所有笔记中快速搜索某个关键词。
有时候,我们明明记得自己以前看过某篇文章,但就是想不起来具体细节了,这个时候,只要我们之前保存过,一搜即可。这比再用搜索引擎去搜索,显然更高效一些。
记得以前,我为解决某个问题,谷歌了很久终于找到一篇文章解决了问题。解决之后并没有记录下来,结果下一次遇到同样问题,我又浪费了很多时间去再次搜索解决方案。重复多次之后,我意识到这是个严重的问题。所以逐渐养成了保存各种文章的习惯。这些网上积累下来的文章,成为了我构建知识体系的土壤。
不是收集好的知识,而是收集对自己有用的知识
你缺的不是知识,而是整合知识的能力
主题阅读,不以读完一书一文为目的,能提取到想要的知识即可
读书为纲,上网为目。唯有纲举,方可目张
设定一个自己的长期学习规划
建立自己的常用信源清单
从一个关键词的解释中,提取到一堆关键词,链式反应
印象剪藏时不必纠结分类,多用关键词搜索
2.整理
合并同类,编织脑图,定期整理,持续更新
“小马过河,深浅自知”,别人的文章永远是别人的知识!
上面收集的那些知识碎片是我们有初步印象的知识,只不过因为太过碎片,尚不能够形成完整的知识体系。很多人以为把看到的文章保存到自己的笔记里面,就有一种已经掌握它的错觉,结果保存了成千上百的文章,却一篇都没回顾过。
别人的文章是他的知识沉淀,并不是自己的。定期回顾,并提取出文章中的精华,再经过自己的实践、思考、整理,才能形成自己的知识体系。这是一个很漫长的积累过程,而我们能做的唯有:坚持到底!
分类自底而上,先有了大量碎片,而后才有细致分类。
多用思维导图,整体把握脉络
定时整理笔记,归纳相似主题
印象笔记做摘录,为知笔记写原创
书写,不只是为了记录,更是一种思考方式
原始积累,越快越好,先求量大,再求质优
使用工具,而不是被工具使用
构建知识体系,服从于个人职业发展
预判使用场景,布局技术未来
以写论文的方式来整理
3.分享
寻找同好,讨论反思,自我激励,打造品牌
“常与同好争高下,不共傻瓜论短长”,教是最好的学习方式!
一方面,自己以为理解了不是真理解,把别人讲理解了才是真理解!如果能有读者和自己互动,那肯定比自己一个人闭门造车,更有积极性一点,人毕竟是社会性的,我们也渴望着别人的认可。一个人默默写笔记,可能能坚持写个十几篇,如果是公开写博客,有读者的反馈和认同,那可能更容易坚持下去一些。毕竟,写作,是一段孤独的旅程。
另一方面,在这个时代,对于生活中的绝大多数人来说,拓宽朋友圈子的途径几乎只有一个,通过网络,而如何在网络中寻找到气味相投的朋友,如何判断别人和自己是否有共同语言?显然,通过天天在SNS上碎碎念的那些日志是难以做到的。我很佩服那些长期用博客记录想法的人,因此,即使和他们素未谋面,也算是神交已久。
打造个人品牌,增加自己的影响力
跨时空的交流方式
记录自己的经历和成长
锻炼自己的表达能力
2. 如何高效的学好C 语言啊
美河提供.C.精髓.软件工程方法.pdf,免费下载
链接:https://pan..com/s/17Q0JIVCI98FVDaRaisgA3A
C++是一种大型而复杂的语言,其设计目标是作为一种通用的工程语言。 本书分4个部分共19章,不仅详细介绍了C++语言的基本语法,而且讲解了 C++的高级应用(如虚函数、模板、异常等),并通过大量详尽的代码表达了有关软件工程及维护的观点。
3. 程序员是靠书本工作,还是靠学习程序的记忆工作
记忆肯定是需要的,但是书本却不一定需要
我觉得主要是靠长期养成的习惯
这里主要是可提高效率的方法,其次是遵循过程
4. 程序员,记忆力不断下降什么原因
引发记忆力衰退的因素:年龄增大,整体素质下降;脑力劳动过度;免疫功能低;生活兴趣高等。
延缓记忆力衰退和增强记忆力的方法,首先不能对自己的记忆失去信心,产生焦虑、忧愁、不安等消极的情绪,因为心理作用在增强记忆中的作用是十分重要的。其次,多吃一些补脑的食物如:
牛奶、鸡蛋、小米等等。有条件的话可以使用速读记忆工具训练也会有一定的提高。
5. 程序员都是怎么记代码和编程语言的
代码背不下来,只能记方法,算法
然后,通过大量的练习和应用加强理解和记忆,用多了自然就记住了。
当然,有些不常用的东西,在具体编程过程中还要去查一下相关资料。
6. 如何让人的记忆力变强
大多数的人脑只开发了冰山一角,如果继续开发,可以做的事情是无法想象的!记忆力也是如此,虽然先天有部分影响,但通过后天的不断努力,也能够拥有超凡的记忆力。
除了不断记忆,整理记忆也十分重要,每过一段时间对记忆的东西进行一次整理。一方面“温故而知新”,另一方面整理也会再次强化记忆,记得更牢记得更准。
7. 很厉害的程序员都是如何养成的
有自己高效率工作方法,比如我们组长,他总是能找到很多既能让工作高效率完成又能保障工作质量的神器,还有时间提升自己⌄听说最近他就在用SoFlu软件机器人来做辅助,基本的软件开发还有测试方面它都能轻松应对。
8. 程序员记忆力不好,记不住数据结构,还适合干这行么
我编程的思路就是,一次性编写终生受益,例如我要写一个tcp的server。我只要写好了,我就把这份代码存放起来。并且写一个自己的总结,这样在3年后我再想写一个tcp server我可以在比别人更短的时间写出一个能用的tcpserver。如此类推•~我有了自己熟悉的链表,hash。有了unix socket 、tcp、udp、raw 、有了python爬虫、有了路由常用实现,有了很多很多。如果人叫我去凭空写出这些来。。我完全不行,如果把我的笔记带上。我将能比普通人更快的,而且更稳定的实现。。除了这些,我不断在github上发现一些可能用得上的项目,学习然后总结。至今已经快300篇自己的记录了。
记录不仅仅是笔记,代码,有些还是一些脚本。例如如何去安装一个web开发环境,可能就是一个脚本。还有一些可视化的方法,例如我记不住GDB的命令,我就做一个GDB的前端,把常用的命令弄成图形化的界面。。点呀点就好了。例如系统很多的状态获取我记不住命令,就做个web的图形化显示。啥子都可以看懂。我又何必去记忆这些命令。
只要我们能解决问题,又管他我是一行一行写出来的代码,还是我之前写过的代码呢?记忆力差又怎么样。。5年下来如果你写个上千篇文档或者类似的工具。难道生产力还会低,能力还会低么?古人云:君子性非异也,善假于物也。记不住,就想办法不记住也能解决问题。
世上无难事,只怕有些人。你能解决别人解决不了的问题:可以引申出你能以更低的代价解决别人觉得很难的事儿。生活就像是一场考试,而习惯靠记忆解决问题的人他是闭卷考试,而你是开卷而且以及总结好了(小抄)。
9. 怎样做一名好的程序员,怎样才能记住代码
代码不是用脑去记的,而是用脑去想出来的,你只要理清代码的执行逻辑,同时还要把自己的心情调整好,千万不能心浮气燥,细心做好每一步,用心做好每一个程序就可以的了。
10. 一个优秀的程序员需要养成哪些良好的习惯
1. 理解编程语言的原理,遵循编程规范,并且能够写出有效的代码,并学会优化代码。
2. 估算解决问题所需要的时间,为自己定一个时间限制,加强程序自测试。
3. 做好版本控制,并及时备份代码,经常检查代码,还要回顾以前写过的代码,看看能不能有新想法。
4. 动手编码之前,先做好分析和设计。
5. 对项目文件归类保存。可以把项目文件放到SOURCE、HEADERS、MAKE、EXES等不同的文件夹中。
6. 制定验收规则,优秀出色的程序一定会编写技术测试脚本,因为他们清楚要是省略了这一步会严重后果。
7. 重视,但不过于注重程序的设计模式。
8. 养成耐心、冷静的好习惯,多向优秀的程序员学习。