我是如何学习一门新技术的

简介: 我是如何学习一门新技术的

Hello Everyone ~

因为近期在业余时间看了一些书和文章,而且也都让自己颇有些心得,以前的快乐是打几把游戏现在的快乐是学会一个新知识,写一篇博客,享受写的这一个过程,所以今天又突然想写一篇感想类的文章,也是对自己的学习路上的一个小总结,因为本人也是正处于“IT工程师伟大发展之路”的初级阶段,所以平时还是要用大量的时间来学习积累。我一直认为不是所有的学习都有方法可言,都有捷径可走,即使我们每个人都希望自己能高效的学习,但是每个人的头脑和学习方式都可能是独一无二的,因此在这里我不讨论什么高效的方法,只讲讲自己学习每个知识点的一个小过程,不喜勿喷哦。

下面开始正文:


1 发现需求

在有一次我做项目到Maven仓库寻找依赖的时候发现的一个页面:mvnrepository.com/tags

网络异常,图片无法展示
|


有人会不禁感叹,这么多技术我们到底学那个好…

我觉得答案应该是:看需求。不要去盲目的学习,而是有目标的学习,而我认为需求可以来源于以下几个方面:

  • 为完成工作或是学业或是比赛必不可少的技术。
  • 对当前工作有更好提升的技术。比如能更加高效开发的技术,更加节省资源的技术,更加对业务实现和优化的技术等等。
  • 能帮助自己找工作的技术。比如面向招聘信息学习等等。
  • 感兴趣的技术。

因此,我们在学习技术之前要想一想为什么要学习这门技术,而不是盲目从众式的学习技术

2 了解技术的大概

简单来说就是这个技术能做什么,属于哪个领域,能实现什么业务或者对什么业务有帮助,还有一些核心概念等等。

  • 能做什么,能实现什么功能(业务)
  • 属于哪个领域或方面
  • 核心概念

3 认真研读官方文档,找出最佳实践和使用套路

我们所学习的技术都是有一份官方文档的,如果没有,那也会在GitHub上有一个显眼的README.md文件进行介绍和使用流程的描述,我们只需要在搜索引擎中输入相关的关键字很方便的就能找到哦。

除此之外,每个技术的官方文档上都会有一个小demo,就是最佳的使用实践,看完基础概念后一般就可以理解下来,然后我们就在demo中总结下基础的使用套路。

  • 官方文档
  • 官方GitHub地址
  • 最佳实践和使用套路

4 引入需求场景,总结使用流程

所谓的需求场景,最好就是应用在我们的实际工作项目的业务研发中,如果是一枚学生,就放在自己的学期末项目或者比赛和毕业设计项目中,反正就是不能白学,而是真正的放在有用的地方去实际的应用一次,然后就可以总结一下这个技术的使用流程,可以加深下印象。

  • 带入实际使用场景

5 探究原理并合理输出

到了学习这门技术的深层次阶段,当然不能说是最后阶段,因为技术的学习没有终点。到这个阶段就是深究原理,站在巨人的肩膀上,了解其背后的思想,为什么这门做?还能怎么做?为什么这样做是最优的?相信经过深层次的挖掘之后我们心中一定会有自己的答案,当然挖掘原理的前提是能够熟练的使用该技术,挖掘原理的方式可以是看源码、读博客、看视频等等,最好是能够有自己的理解并写成文章分享出去。

  • 熟练使用,探究原理
  • 理解思想,扩展思想,善于分享

最后总结下:

在自己学习技术的道路上也遇到过很多良师益友,曾经有一名老师说的话对我的印象很深,只有短短的四个字:学会取舍,这句话可以说在我们的生活中也是非常常见的,无论做什么事情都很难让自己完全满意,因此我们就要学会取舍。还曾读过一篇文章,可以说是一位资深的技术人对新人的忠告,也有一句话非常好,他说不要害怕学习一门新的技术栈,任何技术栈除了几个特性以外,其他都是相通的,学习每个技术栈最重要的就是掌握该技术栈的那几个特性

彩蛋:分享下我是如何学习Go语言的

(1)发现需求

学习Go语言的原因主要有两个,一是真的感兴趣,因为Go语言号称是“为并发而生”,因此就是伴随着好奇心去探索;二是因为想模仿技术大牛,因为当时在极客时间上看了几门课,有一门叫做《许世伟的架构课》,还有一门叫做《左耳听风》(PS:真的不是打广告,但是你如果也想买课的话留言联系我可以有优惠),这两位老师都是在行业中非常厉害的存在,而且他们都很擅长使用Go语言,所以就想也扩展下自己的技术栈,向大牛们看齐!

(2)了解技术大概

首先百度查下Go的历史,然后官网查看Go语言有哪些优雅的特性,以及都有哪些行业或公司在使用,都能用来做什么,实现哪些业务等等

(3)研读官方文档,找出最佳实践

当然官网可能是英文的,但是百度翻译总会用,有道词典、Google Chrome网页翻译就更方便了,然后边看文档边看视频敲出了很多语法和数据结构的使用。

然后学习Go的很多框架,比如Beego、Gin、gorm、viper等等都是差不多的流程。

(4)引入需求场景,总结使用流程

因为Go语言的并发特性和HTTP支持,自己在业余时间利用Go语言写了一个博客系统和Go整合Kafka搭建的日志收集系统,从中知道了Go语言和一些中间件比如MySQL、Redis、Kafka、Spring等的整合方式,还清楚了Go Modules的使用流程和一些常用命令。

(5)探究原理并合理输出

这个就要看我的专栏咯:

最后立个flag:因为Go是云原生的基础部分,因此熟练掌握之后下一步着手探索云原生技术!

OK今天的分享就到这里~


相关文章
|
1月前
|
算法 编译器 C语言
探索C++编程的奥秘与魅力
探索C++编程的奥秘与魅力
|
1月前
|
存储 人工智能 JavaScript
编程与计算机技术的探索之旅
编程与计算机技术的探索之旅
|
1月前
|
机器学习/深度学习 设计模式 SQL
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
34 10
探索技术之路:我的编程之旅
【6月更文挑战第5天】本文是一篇个人的技术感悟文章,作者通过回顾自己的编程学习经历,分享了在技术探索过程中的收获和感悟。文章强调了持续学习和实践的重要性,以及与他人交流和分享的价值。通过阅读本文,读者可以获得一些关于如何提高编程技能和保持学习动力的建议。
|
1月前
|
算法 程序员
探索技术之海:我的编程之旅
本文是一篇个人技术性感悟文章,作者以第一人称的视角,回顾了自己从对计算机的好奇到成为一名程序员的成长历程。文章详细描述了作者在学习编程过程中遇到的挑战、解决问题的方法以及从中获得的启示。通过分享自己的经验,鼓励读者勇敢面对困难,不断提升自己的技术水平。
|
25天前
|
机器学习/深度学习 数据采集 算法
踏上机器学习之路:探索数据科学的奥秘与魅力
踏上机器学习之路:探索数据科学的奥秘与魅力
20 0
|
1月前
|
C++ 算法 Rust
从C++看编程语言发展脉络
【5月更文挑战第1天】自1979年以来C++历经40年发展,以其复杂语法影响了Go、Rust和Zig等语言。 回顾C++11,引入了范围for循环、Lambda表达式、自动类型推导、统一初始化、删除和默认函数、nullptr、委托构造器、右值引用、新标准库如线程支持及算法等。C++持续演进,保持其在编程语言中的影响力。
83 0
从C++看编程语言发展脉络
|
1月前
|
开发框架 .NET Java
探索 C#编程的奥秘与魅力
【4月更文挑战第20天】C#是微软开发的现代、面向对象的编程语言,以其简洁语法、强大功能和跨平台支持脱颖而出。它支持自动垃圾回收、泛型、委托、LINQ,并广泛应用于桌面、Web、移动和游戏开发。C#拥有活跃的开发者社区和丰富的资源,是Unity游戏开发的首选语言。随着.NET Core,C#可在多个操作系统上运行,持续创新,未来发展潜力巨大。
|
1月前
|
存储 算法 Java
揭秘计算机奥秘:基础知识大挑战,踏上科技探索之旅
揭秘计算机奥秘:基础知识大挑战,踏上科技探索之旅
15 0
|
1月前
|
存储 算法 数据库
编程与计算机技术的奥秘之旅
编程与计算机技术的奥秘之旅