You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.4 KiB

用户故事 | 小S学习是人生路上生生不息的活泉

你好我是小S来自北方二线城市。我做了七八年的开发最近一份工作是做安防音视频流媒体方向其中部分工作内容是负责实际项目的对接任务所以会涉及到很多的网络相关的问题。

我与极客时间的不解之缘

我是非科班出身的,最早只是在图书馆借借书看,后来从事了开发工作之后,我就开始买网课学习,可以说,我的整个计算机知识体系都是通过网课+图书构建起来的。

不过那个时候我在学习的过程中就发现这些资料要么是大部头的书、要么是很长的视频学起来不是很方便很少有大段的时间能专门坐下来看长视频并仔细分析、记笔记而且也没太多时间去搜集额外的资料。还有一个问题就是这些资料很多都是良莠不齐、鱼龙混杂的早期我还会在一些音频App上找但因为这些App并不是专门做技术内容所以也不太合适。

机缘巧合下,我发现了极客时间这个平台,课程上新很快,内容也一直在更新迭代。虽说我大部分计算机基础课之前都补上了,但是现在有更上一层楼的机会,何乐而不为呢,毕竟这种音频+图文的讲解模式还是很适合充实基础知识的。

并且,极客时间的大部分课程也都是从实际应用的角度出发,拓宽了我们来自二三线以下城市开发者的视野。说实在话,小地方没什么大厂,小公司也不太能用得上新技术,但是我想,有追求的人是不会想困在一潭死水中的,而是会付诸实际行动去学习、去实践,这才是取得进步的活泉

另外,我也比较喜欢极客时间划分的学习路径,像我这样非科班出身的技术人,其实打心底是想要把内功补上的,而即使是科班出身,我想大部分人内心深处也是向往着有一天把这些知识好好串一串吧。

我的学习方法

说说我用极客时间的方法希望也能给你带来启发或共鸣。我在极客时间上初步规划了三个学习进阶方向计算机基础知识、C++工程师目前的方向、Go工程师希望以后兼顾的方向

首先就是常规刷课。比如平时通勤、下班休息后甚至跑步时都可以听一听。然后我一般会在周日下午固定几个小时用来整理当周学过的内容。当然实践性强的内容这么学当然不行需要动手做实验为此我还买了一个阿里云ECS。另外有些课程老师会推荐一些延伸资料我平时也会看一下。

再者就是善用搜索。极客时间的课程都是很体系化的,涵盖的技术范围也比较广泛,可以帮我们省去不少埋头苦苦摸索的时间,所以我推荐根据自己平时工作中用到的一些技术来进行扩展。

比如我之前的公司有做中台的打算,我就去看了《说透中台》这门课。看完后感觉公司并不适合做。这就像当年大学时候的数学建模一样,我分析完数据之后,得出的结论就是它是假设的,压根不成立。但是这样也没关系,因为我们能从中获取很多实践经验,也可以拓宽视野。

不过,我们也要时刻提醒自己,不要像刘姥姥进大观园,眉毛胡子一把抓,最后可能收效甚微,一定要把握好“量”和“度”。这个其实和健身跑步一个道理,得一步步来,毕竟我们总不能直接练习十项全能。

最后,还有一个方法,就是学习网络,我在工作中经常碰到很多奇奇怪怪的问题,而我一直觉得,网络排查不是一个网络工程师或者一个纯开发就能单独搞定的事,所以我就想深入做一下网络编程、网络原理、网络排查。所以自然而然地,我就开始学习胜辉老师的《网络排查案例课》,收获颇多。

我是怎么学习这门课的?

要我来说的话,这门《网络排查案例课》,广大运维同胞可太值得看了。毕竟,如果系统出了问题,我们总不能只会“重启大法”吧。胜辉老师讲解的各种案例真可谓是惊涛骇浪,如果这些我们都见过了,那后面我们还能害怕遇到啥问题呢。

我在工作中出的问题最多、用的最多的其实还是UDP的问题平时因为涉及到音视频传输会遇到各种流媒体协议导致的传输问题。而TCP的问题相对少一些不过我为了拓宽视野就来看胜辉老师的课了。胜辉老师真的是苦口婆心手把手从基本的抓包入手帮我们大大降低了学习门槛即使是新手小白理解起来也没什么问题。而且后半部分的课程也都是我现在项目最常用的内容比如Nginx问题、HTTP状态码问题、重传问题、丢包问题、负载均衡等等。

在学习这门课的过程中也让我在实际项目上有了新的收获。比如我们之前项目碰到过下级服务和上级服务之间使用SIP协议交互基于UDP的SIP。下级服务给上级服务的消息一般正常但是上级服务回复的消息会不定期消失。当时网络的同事说两级服务之间是双线一条联通、一条电信。后来禁用了一条就恢复正常了。这和老师在第23讲当中说的情况就有相似之处多链路时某些特有的链路出问题导致了表面上看似无规则的出错而我们根据详尽的链路分析其实就会发现问题所在。

写在最后

实际上,对于一个日常要为项目排查问题的开发来说,学习新知识应该是一种必备素质和要求。现在的技术发展日新月异,很多公司的程序也从普通机房迁到了云上。那我们就只管使用程序吗?遇到问题只管让现场重启吗?其实不太可能。日常的抓包排查网络、看日志、查代码、查接口、分析问题,如果单靠工作上的点滴积累,恐怕会跟不上时代的变迁了。

实际项目出问题就要解决问题,但不是什么时候和我们配合的团队都是专业团队,也不是什么时候和我们配合的人都是负责任的人,也不是什么时候负责协调的人什么都懂。那么需要的就是,我们有更专业的知识和更丰富的经历。而丰富的知识和经历,我们在这里就可以找到答案。行百里者半九十,希望我们一起加油、一起学习、一起进步!