如何快速学习一门新技术

简介: 如何快速学习一门新技术

(一)前言

我们永远学不完所有的技术,最近这段时间我更新文章的频率变低了,一方面是工作时间从原先地865变成了995,另一方面是在工作过程中遇到了更多技术挑战,需要花很多时间去学习。

在进现在这家公司之前,我在一家项目为主的公司工作,主要用到的就是Java、MySql、Redis这些技术栈,以项目交付为主。但是现在这家公司以研发为主,就导致了每一个研发项目可能都会用各种自己知识体系之外的框架或者说是技术。

比如数据抽取用到了Datax,搜索用到了ElasticSearch、监听应用binlog用到了kafka、离线大数据计算用到了spark、hive、hadoop、hbase等等。但是项目不会等着你慢慢地系统地去学习每一门技术,因此在经历了这些之后,我自己也总结了一些快速学习一门新技术的方式。

(二)快速了解阶段

在学习一门技术来说,首先要快速知道这门技术是干什么的。这一点其实很重要,了解这门技术是干什么的,才能去评估这门技术是否符合研发上的功能需求。比较建议的方式是结合官网以及一些优质博客,快速了解。比如以ElasticSearch为例,首先一定要先找到官网,如果全英文刚开始看不下去,可以使用浏览器的翻译功能,如果依旧不理解,就可以在网上搜优质的博文,但是博客的日期越新越好,两年前介绍的ES和现在的ES真的就和两个框架一样。

(三)内部尝试阶段

了解了框架的基本内容之后,接下来就要开始动手尝试,一方面是熟悉各种API和语法,另一方面是在使用过程中,能找到框架的一些缺点和局限性。比如ES没办法支持联表Join查询等问题,并把这些问题带到自己的项目中,评估是否对项目有影响。

内部尝试阶段依赖的资料优先还是官方文档,然后我建议刚开始可以跟着视频学习,比如B站有很系统地学习视频。在时间允许的情况下以二倍速看完整个系列地视频,如果时间很紧,看应用相关的就可以了,底层和源码相关的内容可以先跳过。

当经历了这个阶段之后,这个开源框架应该到了会用的地步了。

(四)编码阶段

在经历了一系列技术评审之后,接下来可能会有两种情况,一种是决定采用ES,另外一种是发现不合适,需要重新技术选型。如果是第二种情况,那么这门技术可以先放一放了,后面若是有兴趣再系统学习。如果是第一种情况,那么很快就会进入到编码阶段了。

在编码的过程中,会发现很多前期没有想到的情况,在一些需求之下可能需要讲ES使用到极致才能完成该需求。这个阶段主要靠地就是搜索引擎和官方文档,视频和书籍起不到帮助的作用。我当时在写ES的时候,遇到过很多很多奇特地需求,于是我翻遍了整个官方文档,还真的找到了ES提供的语法。

在经历了这个阶段之后,你对这门技术的使用应该是到了炉火纯青的地步,但是对原理并不通。

(五)深造阶段

其实在工作中能把一门技术用熟练就已经足够了,但是对于自己的提高来说深入底层是最好的方式。这个时候,各种优质书籍就成了最关键的因素。对绝大部分人来说,要自己摸着源码去理解很难很难,并且很容易理解错误。除了经典书籍之外,尽量读新出版的书,因为技术的更新实在太快了。如果是国外的书籍有能力就读英文原本,毕竟翻译过来往往几年就过去了。如果这一阶段你也熬过去了,那么恭喜你,你可以在简历上写精通这门技术了。

(六)总结

保持学习才能保持竞争力,希望这篇文章对你有帮助,我是鱼仔,我们下一篇再见。

相关文章
|
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月前
|
存储 算法 数据库
编程与计算机技术的奥秘之旅
编程与计算机技术的奥秘之旅