个人学习方法分享

article/2025/10/30 6:19:28

hi,大家好,今天来分享一下,我的一些学习经验,希望对大家学习有帮助

我的学习方法

学习计划

核心思想:把自己像产品一样打造,就像张一鸣经典语录:run company as a product

制定目标

首先学习需要明确学习目标,学习之前,要把目标制定下来,一个月,三个月,半年,一年,三年等不同周期目标。

迭代计划

分解目标,然后建立特定周期的迭代计划,最终形成多个迭代, 不断迭代自己。

每天学习安排

每一天时间安排,就像高中一样,制定出一个时间表,心里有数,用来指导学习,不需要严格执行,大致就好,留一些缓冲时间,具体时间安排可以参考番茄工作法,一般每天至少尽量留一个小时给自己充电。

迭代计划

之前用的一个敏捷开发工具 trello来实现迭代计划,我设置10天为一个迭代周期,每个月结束后会进行总结复盘,是否达到迭代的目标。

这里tc是指什么,大家可以猜一下?

具体迭代看板:

每个卡片为一个具体任务,可以设置开发时间,设置任务状态,check list是用来验收任务-闭环:

trello软件,在手机和电脑都可以用,是我最喜欢的软件迭代工具(任务管理,团队协作工具),知乎评价非常高,同样可以用来迭代自己。

学习资料

书籍

很多经典书籍(后面有经典书单推荐),经典书籍可以让我们更容易理解知识的本质,学习作者对技术的理解,和作者进行精神交流,有些章节我都会反复看几遍,然后敲代码去实现验证。

博客网站

大多数知识点都需要上网查看,翻看各种博客网站,主要是看一下该知识点的内涵和外延,看一下别人是怎么理解的,后面有经典博客网站推荐。

极客时间

极客时间课程, 有些很经典,质量很高,我会选我想看的章节, 查缺补漏, 加强理解, 看一下其他大佬对这个知识点是怎么理解的, 有助于加深理解。

总结沉淀


我目前用来记笔记的工具 mindmaster 脑图 比较好分类, 查找比较方便。之前有用文本记录比较乱,看个人爱好, 这款软件支持手机和电脑端同步使用。

比如学习TCP/IP协议后,就需要总结如下:

由于展开太大,这里取TCP节点展示看(由于导出图片有大小限制,完整版更详细):

不知不觉中总结很多知识:

这些其实可以算是个人知识财富,希望大家多总结。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

读过一些经典书单

1.  深入理解计算机系统

计算机界的神书,底层开发的圣经,计算机基础知识神作,建议多读几遍。

2.具体数学

计算机科学的神奇书籍,帮你建立计算机独有数学思维,比如递归,组合,动态规划等。

3. 编译原理

本书作者Alfred V.Aho、Ravi Sethi和Jeffrey D.Ullman是世界著名的计算机 科学家,他们在计算机科学理论、数据库等很多领域都做出了杰出贡献。本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。

4 . 计算机程序的构造和解释

书中使用程序设计语言Lisp的方言Scheme来解释计算机科学的核心概念,包括抽象、递归、解释器以及元语言抽象。具体而微地由宏观到微观给出清楚地轮廓与脉络。

5 . The C Programming Language


到今天仍然是C语言入门的首选,书非常简洁优美,就像C语言本身一样。

6.  深度探索C++对象模型

C++对象内存模型,从语法上看编译器实现,学习C++必须要掌握的。

7.  深入理解LINUX内核

如果你想深入学习Linux内核,这本书是个很好选择。

8.  深入理解LINUX网络内幕

对Linux网络子系统有深入分析,如果你要深入学习网络,这本书是很好的选择。

9.  UNIX编程艺术

本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,而这些经验对于理解Linux系统有非常大的益处。

10. 程序员的自我修养

了解程序编译,连接,库等程序运行原理,包含windows和linux系统,加强基本功修炼。

11.  刻意练习

这本书深刻分析刻意练习背后的原理,用科学方法论证如何从新手到大师。

推荐好的博客

1.https://blog.csdn.net/dog250

dog250的文章都比较深刻,属于网络进阶,可能不太适合入门,建议入门后,再看这里文章,会让你醍醐灌顶。

2. https://blog.csdn.net/gatieme

操作系统优质博客,可以学习linux 调度相关内核知识;

3.http://www.wowotech.net

蜗窝科技,博客专注分享linux内核知识(偏嵌入式方向), 很多文章都非常精华和透彻,值得内核学习者学习;

4. http://bbs.chinaunix.net/

bbs.chinaunix的内核板块,第一代内核程序员聚集地,很多大佬在这里分享内核知识,现在应该都是各大公司技术专家或者负责人了。

5.https://coolshell.cn

耗子叔个人技术网站,早期我喜欢的技术blog博主,一个乐于分享技术的大牛,尤其是分享的基础知识,本人也很喜欢基础知识;

6. https://blog.codingnow.com/

云风的blog,大多数和游戏相关,可以学习很多高性能编程技巧。

 

7. C++博客

7.1 https://www.stroustrup.com

Bjarne Stroustrup,不认识的可以去面壁了,没有他,就没有我们现在的饭碗。Bjarne Stroustrup是丹麦人,目前任教于TAMU。他的Homepage和他的书籍The C++ Programming Language一样,都是百科全书级的,如果你认真研究,你也会成为你同事或周围人的C++之父。

7.2 https://www.fluentcpp.com

博客作者Jonathan Boccara是C++软件工程负责人、博客作者和作家,专注于如何使代码具有表现力,顶级C++高手。

7.3 http://scottmeyers.blogspot.com

Scott Meyers,不多介绍,世界上几乎每个C++程序员都应该知道的名字,畅销书:Effective C++, More Effective C++的作者。博客长期更新,就凭Scott Meyers这个名字,就值得一读。

7.4 http://www.modernescpp.com/index.php

现代C++编程大神,文章主打modern C++,让你与时俱进;

7.5 http://purecpp.org/

应该是算国内顶级C++社区,举办多届C++大会。博主为C++委员会成员

个人博客 https://www.cnblogs.com/qicosmos,也非常值得C++开发者学习。

8.http://www.yinwang.org/

王垠大佬博客,对编程语言理解深刻,如果还在学习编程语言语法,可以看一下这个博客一些文章;

个人学习经验总结

此处为个人学习经验总结,可能不一定适合你,但或许对你有些帮助,希望你取长补短,协助你找到自己的方向。

1. 学习一定要有目标,目标一定要有计划(排期),计划一定要有落地执行方案(迭代),迭代一定要有check list(结果验证),最后根据结果进行复盘总结,这样才能形成学习的闭环,然后不断按照这个流程迭代自己,同时整个流程可能也会发现一些问题,比如拖延,比如时间估算不准等,这时候流程也需要不断调整优化。

2. 学习中,真正困难的地方,是习惯问题,可能存在一些不好的习惯,导致不能专心学习,比如玩手机等,改变自己习惯是一件很困难的事情,如果你已经走投无路,或者你很想完成你的目标,做梦都想,那你必须对自己狠心一点,改掉自己不好习惯,学习的时候最好专注,找个安静的地方学习,尽量不要被打扰。

3. 学习中,多去和别人交流,很多心中疑惑,很可能别人一句话就让你悟道解开,和大神交流(可以书本,视频演讲,直播,线下技术讲座等等),要学会虚心请教,大神对一些基础概念的本质理解,会让人醍醐灌顶,胜读十年书。

4. 学习要有耐心,很多时候是需要花很多时间去学习一个知识点,一些知识点需要反复来回多看几遍,要刻意去练习,大脑才会加深影响,慢慢地把各个点串起来,很多时候看代码就是这样,需要时间,我会慢慢在大脑中试图关联起来,最后才能恍然大悟。


5. 学习最重要就是坚持,这个比任何技能都重要,很多知识是需要花很多时间才能吃透的,而这个过程并不是循序渐进,很可能是某一天灵感爆发,或者悟道,而这个爆发又是你之前慢慢积累结果,所以很多时候,我们可能百思不得其解,很多人中途可能放弃了,觉得太难了, 如果我们非常想完成我们的目标,就要突破这些难点,咬牙坚持,总有一天会拨开迷雾,获得真知,你会感谢当初坚持下来的你,这个过程是痛并快乐着。

6. 要学会思考,要学会多总结(输出),对知识的透彻理解,才是我们最终的目标,而不是死记硬背,背概念,这需要我们不断思考,不断总结,所谓智慧就是这些思考的成果,这也是社会进步源泉;

7. 要学会分清重点,逐个攻破重点知识,时间有限,需要掌握28定律,了解一个系统,先要明白什么才是它的核心技术,其他只是辅助或者实现细节。

8. 要学会各种搜索技能(google,bing,百度,知乎等),学会查找各种经典资源,包括付费资源(csdn下载,百度文档,购买课程),有时候不要舍不得,好的资料,犹如武林秘籍,可以助你一臂之力。

总之,要建立自己的知识体系,不断迭代,查缺补漏, 把其他资源融入到自己计划中 。

技术思考总结

多年工作经验和学习经验,分享一些技术思考,可能不一定准确,但希望对热爱技术人有一些帮助。

1. 很多开源软件,其实并不是很难,只要花时间,有耐心啃代码,都会水落石出,源码面前,了无秘密,这是进大厂的一个快速路径。

2. 上层技术都是都是基于底层技术构建,找到底层原子操作,你也可以构建上层应用,比如docker基于Linux三大件(namespace,cgroup,ufs),不管上层应用如何变化,这些技术都不会过时,掌握这些核心技术,会让你走得更远,即使是开发应用,也会比其他人做得更好。

3. 计算机基础知识(内存,CPU,缓存,网络,文件系统),基础思想(二分思想,缓存思想,  面向对象,流水线,批量,递归,延后处理等),都非常重要,这些是决定你技术上限,只有深刻理解基础知识,才能看问题看到本质,才能拥有强悍的实战能力,才能在技术之路上走得更远:

  • 一类是解决问题的高手,保证业务可以稳定持续运行,基本功非常扎实,可以解决很多技术难题,最终这类人会成为技术牛人和专家,比如阿里的多隆大神,谢宝友大神,耗子叔-陈皓,Dog250,TK教主,Kevin David Mitnick等;

  • 一类是代码和软件设计高手,输出机器,保证产品可以快速上线,这类人最终会成为架构师或者负责人,比如求伯君,章文嵩,章亦春,张小龙,比尔盖茨,Ken Thompson,Fabrice Bellard,Linus Torvalds,Jeff Dean等;

4. 学会把大系统分解成子系统,按专项逐个攻破每个子系统,收集子系统相关的资料,吸收他人的精华,有时候胜读十年书,加快自己成长;每个专家大神,都是从菜鸟过来的,向大佬看齐,快速吸收他们的经验,总有一天你也会修炼成功。

5. 团队都需要各种人才,我们不可能样样精通,5v5团战是需要大家一起配合的,一定要找到自己的位置,就算是辅助,也是世界级辅助,照样让人刮目相看,比如我在我们团队,基本上算是疑难问题解决,辅助(各种环境搭建,资源建设,自动化,协助他人解决问题)和攻关队长,但不是很擅长写大段代码(纯输出)。

6. 有一些技术难点,是必现要去攻破的,比如之前在外企的时候,我写了多年的C++业务框架代码,一直对模板元编程感到力不从心,后面决心攻破这个问题, 并总结了C++这三座大山:

  • C++内存管理全景指南

  • C++模版的本质

  • C++的面向对象

同时业务框架代码讲究就是代码和架构设计,对设计能力要求很高,我又重新学习很多设计模式(大话设计模式等):

经典永不过时!重温设计模式

7. 不设边界,之前在华为的时候,主要是做无线通信产品(USB上网卡,无线模块,车载模块,家庭CPE网关),需要对3G,4G等协议非常熟悉,我是从来没有搞过,使用是高通modem芯片,这些都是高通专利,一些重要的代码没有开放给我们,只能通过查看log和有限资料学习,通过提case和高通技术支持交流(悄悄学习),慢慢熟悉了高通设计,最终我们写了很多经典文章,比如无线传输性能白皮书等;我们开发分两波人,一波是主协议,属于上层应用,一波是主驱动,属于底层架构,我一年后差不多掌握了无线协议开发,包括熟悉理解高通芯片设计,后面主动学习USB协议和驱动相关的,1年半后,我可以一个人包揽从上层到底层全部任务,后面很多项目PL都叫我来主导,每一年几乎都是优秀员工,但也有很多不足,需要学习。

最后

学习技术,还是要有一点情怀(我知道大部分都是为挣钱,这个很正常),很多时候技术是枯燥无味的,需要长时间做冷板凳,如果内心不喜欢,很可能会非常痛苦,但调通代码或者找到某个疑难bug的根本原因带来的快乐,是其他人无法理解的,那种成就感会激励我们继续前行,希望大家都能朝着自己的目标努力,终有一天,有所收获。


想要获取"经典完整版TCP/IP协议总结PDF",只要三连截图给我,我发给你。

- END -


看完一键三连在看转发,点赞

是对文章最大的赞赏,感谢你

推荐阅读

图解Linux 内核TCP/IP 协议栈实现|Linux网络硬核系列

大厂的面试官是如何挑人的?

一个奇葩的网络问题

如何成为一名大厂的优秀员工?


http://chatgpt.dhexx.cn/article/LPhTrTmX.shtml

相关文章

分享自己学英语的经验

其实学好英语对于一个人真的很有用,尤其是对工程师来说,各种文献资料,代码,最新的技术文章,太多是英文的了,一个典型的例子就是,作为一个程序员和外国客户做过培训,当其他同事英语没…

【学习经验分享NO.21】学习资料分享(持续更新)

本博客将收集整理人工智能深度学习相关资料,进行整理,供大家学习使用。如果有需要帮忙整理的请留言。将不断更新,请持续关注。 一、深度学习论文资料 链接:https://pan.baidu.com/s/18LO5df0dp9-IE8Z3aFyrPg 提取码:c…

学习经验分享之十:Pycharm

前 言:作Pycharm有社区版和正式版,初学深度学习算法的小伙伴可能会选择社区版,因为正式版只有30天试用期,但是在实际使用过程中,社区版会出现很多功能上的不足,比如无法网上连接服务器,以及其他…

个人学习经验

这是一个ubuntu上学习cv遇到的一些常见问题的帮助和解决方法。 有些东西我会慢慢往上面加 文章目录 创建新环境conda添加镜像源安装模块在jupyter中使用新环境在pycharm中使用新环境 使用scp命令传输文件使用mobaxterm连接服务器 转数据集标注格式anaconda上安装好用的插件使用…

学习经验分享之十一:硕士论文撰写心得

硕士论文由于需要学校提交教育部盲审,导致通过率并不能达到百分百。翟天临事件之后,盲评通过率明显变低一般按照学科分布来说,盲审通过率最低的是工学,通过了为69.9%,其次为哲学,通过率为73.8%,…

我的 C# 学习经验分享

.NET 20 周年的学习挑战赛刚结束了第一阶段, 不知道各位小伙伴参加了没有 ? 有人问现在学习 C# 是不是有点过时 ? 也有人问现在 C# 能做什么 ?更有人问学习 C# 能否找到工作 ? 或者你从不同的专家 ,不同的从…

分享学习语言的经验

在人类所制造的工具中,有的可以将人送上月球,有的可以驾驭原子的火焰,但是只有计算机软件才能透彻的返照出人类的心智。 --《Java与模式》 软件能够返照出人类的心智,那么计算机语言就是我们展现心智的基石。经常在一些论坛上和贴…

分享一些自己的学习经验和技巧

毕业两年多,工作三年多,技术水平也不是什么出类拔萃,万里挑一的地步,从最初的Java工程师,到产品,再到大数据,到最后的运维工程师,研发工程师,短短三年多,总是…

爬虫学习经验分享-------某点评网站

某点评网站爬虫分享----0基础学习,解决反爬,加密,ip代理,封ip“403 Forbidden”等问题。 最近有个调查的项目,其中包含了对于网络数据的爬取。而之前我并没学过网络爬虫,因此我也抱着学习的心态来学习如何爬…

前端学习总结,经验分享,项目经验分享过程

前言 来,和魔王哪吒总结一下,分享一下自己对前端学习总结,经验分享,以及写过的项目经验分享过程。 如果觉得还不错的话,浏览的过程中,需要您: 点赞,分享,评论有钱的捧…

方法教程:一分钟把网易云音乐上的MV/mv视频下载到本地电脑

1、用Google Chrome浏览器把网易云上的MV打开。点击【分享】-【复制链接】-粘贴到浏览器地址栏打开: 2、在视频旁边的空白处右击鼠标,打开【检查】: 3、打开界面后点击【Network】–【All】,然后刷新浏览器,让视频播放…

网易云 计算机,网易云音乐电脑版2.7.4.198336_网易云音乐 - 系统之家

网易云音乐是一款播放、发现高品质音乐的专业音乐播放器,能找到许多小众的品位音乐、歌手,让你在电脑上听CD品质的音乐。网易云音乐是网易旗下主推的音乐播放器,依托专业音乐人、DJ、好友推荐及社交功能,为用户打造全新的音乐生活…

利用requests爬取网易云音乐榜单并下载

最近想爬取网易云音乐的歌单,发现网上很多教程都用Selenium,比较麻烦。因为研究网易云音乐排行榜html码源,发现榜单是iframe动态加载的。用原网址爬取是爬取不到内容的。想用requests爬取的话需要获取iframe的源码。 目录 一、url和请求头分…

JS逆向之网易云音乐

文章目录 1. 目标网站2. 初步分析3. 定位加密参数生成位置4. 编码测试4.1 定义AES加密方法4.2 调用两次AES加密获取params4.3 获取歌曲的url4.4 单曲下载初步测试代码4.5 飙升榜单音乐批量抓取文章内容仅用于学习和技术交流,如有侵权请联系我删除。 1. 目标网站 https://musi…

网易云音乐 For Mac

网易云音乐mac版专门为mac电脑用户使用的音乐播放软件,用户还可以使用网易云账号将电脑和手机上的音乐同步网易云音乐mac版中,使用更加方便。网易云音乐for mac比较人性化,它能根据你平时听音乐的喜好,自动给你推荐音乐&#xff0…

利用 Python 一键下载网易云音乐 10W+ 乐库

如果你常听音乐的话,肯定绕不开网易云,作为一款有情怀的音乐 App,我对网易云也是喜爱有加。虽然说现在都已经是 5G 时代了,大家的手机流量都绰绰有余,但在线播放还是不如本地存着音乐文件靠谱,今天我们就用…

网易云音乐虚化图片html,网易云音乐怎么换背景 背景图片设置方法

网易云音乐作为主流的手机音乐播放器,依托强大的社交功能,从众多播放器中脱颖而出,个性化的皮肤更是为它增加了不少魅力,下面就跟小编了解下具体的设置方法吧。 类别:影音播放 大小:90.81M 语言&#…

JAVA如何用URL下载网易云音乐

1.打开网易云,选择一首歌曲播放,然后按f12 2.找到并点击以.m4a结尾的链接 3.把输入框的链接替换代码里面的URL //1.获取资源地址URL url new URL("https://m801.music.126.net/20201006161345/802c3e2bd0240db619e27a7f1eeffcce/jdyyaac/5608/005a…

使用云函数快速升级网易云音乐等级

关于等级特权,网易云官网有介绍 https://music.163.com/#/level/details ,最高级Lv10有100G音乐云盘免费容量 使用分享的脚本是每天自动在网易云音乐刷完300首歌,让你的账号快速升级(等级数据每天下午2点更新) 一个…

网易云linux版本如何安装包,网易云音乐Linux版提供64位和32位ubuntu16.04安装包

网易云音乐终于推出了官方Linux版本,提供的下载安装包有: deepin15(32位):http://s1.music.126.net/download/pc/netease-cloud-music_0.9.0_i386.deb deepin15(64位):http://s1.music.126.net/download/pc/netease-cloud-music_0…