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

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

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今天的分享就到这里~


相关文章
|
6月前
|
存储 人工智能 JavaScript
编程与计算机技术的探索之旅
编程与计算机技术的探索之旅
|
6月前
|
算法 编译器 C语言
探索C++编程的奥秘与魅力
探索C++编程的奥秘与魅力
|
19天前
|
缓存 Java 数据库
后端开发的艺术与科学
在这篇文章中,我们将深入探讨后端开发的核心理念和技术。从基础的编程语言和框架到复杂的系统架构和性能优化,我们将一探究竟。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技巧。让我们一起走进后端开发的世界,探索它的艺术与科学。
|
3月前
|
存储 Java Android开发
探索安卓应用开发:从初学者到专家的旅程
【8月更文挑战第24天】在这篇文章中,我们将一起踏上一段激动人心的旅程,从零基础开始,逐步深入到安卓应用开发的世界。通过简单易懂的语言和实际的代码示例,我们将解锁创建精美安卓应用的秘密。无论你是编程新手还是希望提升现有技能的开发者,这篇文章都将为你提供宝贵的知识和灵感。让我们一起构建你的第一个安卓应用吧!
|
6月前
|
机器学习/深度学习 设计模式 SQL
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
编程之路上的飞跃:那些让我技能显著提升的关键概念与技术
69 10
|
3月前
|
Java 程序员 Python
技术之路:我的编程之旅
【8月更文挑战第20天】在这篇文章中,我将分享我的编程之旅,包括我如何开始学习编程,我遇到的挑战和困难,以及我从中学到的经验和教训。我希望我的故事能够激励更多的人去尝试编程,同时也希望能够给正在学习编程的人一些帮助和指导。
|
3月前
|
前端开发 数据可视化 数据挖掘
探索技术之路:我的编程旅程
【8月更文挑战第7天】在数字时代的浪潮中,编程已成为一种重要的技能。本文将分享我个人的编程学习经历,包括初识编程的喜悦、面对挑战时的困惑与坚持,以及在实践中不断成长的过程。通过这段旅程,我深刻体会到了编程的魅力和挑战,并希望我的经历能为同样热爱编程的你带来一些启示。让我们一起在编程的道路上不断前行,探索更广阔的技术世界。
70 11
|
3月前
|
项目管理 开发者
探索技术之路:我的编程之旅
【8月更文挑战第7天】在数字化时代的浪潮中,编程已成为一种不可或缺的技能。本文将通过个人经历和感悟,探讨编程的美妙之处及其对职业发展的影响。我们将一起回顾从初学者到熟练开发者的转变过程,并分享在技术探索中的一些心得体会,希望能为那些正站在编程起点上的读者提供启发与鼓励。
|
5月前
|
算法 开发者
探索技术之美:我的编程之旅
【6月更文挑战第15天】在数字世界的迷宫中,我是一名探险家,用代码作为指南针。每一段算法的编写,都是我与问题对话的过程;每一次系统的优化,都仿佛是对宇宙规律的更深理解。本文将分享我在技术探索中的个人感悟,以及如何通过编程实践来提升自我。
|
6月前
|
存储 算法 搜索推荐
C++编程之旅:深入理解与实践
**C++编程基础概览** C++是一种高效、灵活且功能强大的编程语言,适用于操作系统、游戏开发、网络编程等领域。它支持过程化、面向对象和泛型编程,包含丰富的数据类型、运算符、控制结构,并提供类、对象、继承等面向对象特性。C++标准模板库(STL)提供了向量、列表等数据结构和排序算法,便于开发。通过异常处理机制,C++能有效管理运行时错误。学习C++涉及深入理解其语法、数据类型、函数、面向对象概念以及如何利用STL来编写高效代码。