有关系统学习的一些思考和总结,如何系统学习一项新的技能

2023-08-24 10:00:24 浏览数 (1)

前言

最近的一两年都在业余时间逼自己学习,对某个领域,项目进行高强度,系统地学习,并输出一定数量的文章。使用这个思路我写出了 《ThingsBoard系列教程》 与 《Node-RED系列教程》,这两个都是开源项目,我花了很多业余时间研究它们,更是完整地把它们的官网文档看了几遍,虽然这个两个东西在我日常工作中完全没用到。后来我又学习了GitLab CI/CD,一开始不知道怎么学,因为在学的过程中,总是需要一些基础知识,比如某个名词不动,比如某个组件有哪几部分组成。相互之间是怎么连接的,这些在开始之初都困扰着我,但随着我看的文档足够多。这些问题都逐渐理解,明白。如果说ThingsBoard与NodeRED还算与前端有些关系,那GitLab CI/CD就离前端有些远了。为什么我能够在不属于自己的领域创造这样的一个成就?我想除了我不懈地追求答案,还和我学习一项技能的一些方法。这一篇文章我就稍微总结一下,我学习一项技能的方法和技巧。

如何系统地学习一项技能

这篇文章的内容都是我自己更加自己经历提炼而来。可能并不完全适合你,但你可以以此来发展自己的学习理论。

废话不多说了,下面我就谈一谈我是如何学习一项新技能的。 在开始时我先问一个问题,如果现在要你去学习GitLab CI/CD,达到一个精通熟练的程度,你应该怎么学?去哪里学?

很多同学遇到一个新的困难就会去百度,帮自己的问题输入到百度,然后一个连接,一个连接地打开,直到解决自己的问题。

这里的问题分为两类,一种是具体场景的问题,比如,由于服务器网络波动,流水线有时会失败,如果设置流水线的自动重试?这个就是具体场景的问题,很细小,很具体。解决这个问题不需要我们需要太多的知识储备。或许简单搜索一下就能知道答案。但有一些问题,需要对所涉及的技术有全面,整体的把控。比如请比较GitLab CI/CD与Jenkins的优缺点。这个时候就不仅需要我们对两个技术栈有基础原理了解,还有有具体的场景,特性了解。这个时候就需要我们对一个技术有比较系统的认知。了解它的组成部分,以及每个部分是如何运转的,相互之间是如何连接的。有哪些应用场景。能解决哪些问题,不能实现哪些功能。靠着这个思路去学习我们才能更全面地认识一个技术栈。

ok,我们基本已经摸清了学习一项技能需要回答的几个问题。 下面就要解决它们,查阅资料。 对于查阅资料一事,可以说是各有各的门道。针对不用的问题,也有不同的解决方案。但是,有一点要记住,如果这个技术栈是你职业生涯很长时间要使用的,那么你就应该系统地学习它。系统,长时间,有组织地学习。而对于一项技术,能够满足以上条件,最好的地方,最权威的地方就是它的官网。特别是一项影响力很广的技术,它会配备一个很完善的手册,教程,指导。在具体使用它之前我们应该完完整整地,通读一篇官方所有文档。这不是一个玩笑。虽然这看起来很耗费时间。有些官网的内容,堪比二三本实体书。当然起先 你可以优先读你感兴趣的部分,也可以只关注你正在使用的模块。但最后你一定要通读所有官网的所有文档。

一个技术栈的官网内容都是非常权威的,并且经过很多人review的,跟随版本更新。你应该优先从这里找答案。但官网也并不是万能的,有些具体的场景,开发人员并不会一一描述出来,还有一些环境问题,这些具体的问题,你应该善用搜索引擎。GitHub,Stack Overflow, CSDN。

在学习时,总结和输出同样很重要,输出后可以时常复习。

总结时可以将当前的知识点与过去的知识点进行连接,形成一个思维导图,知识并不是独立存在的,将知识进行图化,确定内部构成,上下游关系。这样即使我们忘记了一个点,也可以顺藤摸瓜找出,并理解哪个盲点。这也是知识管理的一个手段。

另外要说的一点就是,在学习之处要打好基础

所谓基础就是构建上层之物的基础,一切组件的最小部件。学好了基础,灵活使用可以解决各种各样,复杂的业务场景。 比如,有些人写了一篇 提升GitLab CI/CD流水线的十大手段,其实使用到的都是GitLab CI/CD的关键词特性,那么你只要理解了30多个关键词,虽然什么复杂的业务场景都能做出最优的解决方案。所以一定要做好基础。基础没有打好,遇到问题只能搜索现成的答案,无法自己灵活运用。

这里举个例子,加入你要学办公软件word,那么你应该怎么学那? 如果是我的话,我会从word上的每一个菜单项学起,根据word的菜单画出功能的思维导图,一点点将图点亮。也可以辅之以官方的视频教程,更为直观。我是一个长线坚持投资者。从不相信什么5分钟速成,21小时精通。

在学习的过程中要积累自己的资源,做一些案例。记录下来。即使很小的一个点,也是自己的进步。所有的努力都值得尊敬。

当你打好了基础,也积累了一定的实战经验。这个时候如果来一个综合案例当作作品那将是非常棒的一段体验。

在综合实战里,你需要考虑的不仅仅是一个技术栈的各个部分的完美运用与融合,还有和外部组件,系统的交互与协议。是一个很具有挑战性的事情。而一旦作品完成,那就代表你在该领域树立了一面自己的旗帜

0 人点赞