我是如何学习一门编程技术的?

三海 2020年10月15日 127次浏览

前言

给大家说说我的学习经验,本文将会从以下几个方面讲述:

  1. 为什么要学习新技术?
  2. 如何选择一门技术?
  3. 如何快速学习并使用?

为什么要学习新技术

不学习新技术很可能你就失业了

现在编程环境日新月异,对于新人来说,可能上个学会的框架还没用熟练,市场上又出了一个新框架并且比老框架更加的优秀。

同时,在招聘市场上也会逐渐向新技术靠拢。

比如17年之前最火的前端技术是JQuery,但随之而来的Vue,React,给了前端程序猿新人一个重击。那段时期如果你看招聘,都会写着掌握Vue或React优先!

如果不去掌握新技术,那么就面临着失业了。

所以,为什么要学习新技术?

当然是为了更好的搬砖了。。。

那么,是不是所有的新技术都需要去学习呢?

不是的!

如何选择一门技术

先说个我一直信奉的:选择大于努力

我选择新技术的标准就一个:

对目前及以后有影响的,并且半衰期长的技术

本人是从事PHP开发的,我将从PHP的角度来讲述如何选择一门值得学习的技术。

不知道从什么时候开始,Laravel这个框架在国内的地位越来越高。

那时,我在公司使用的还是tp之类的。

但是,随着Laravel刷屏的次数越来越多,并且招聘市场也在朝着Laravel靠拢

这给了我一个讯号,如果未来我不掌握Laravel,这将成为我应聘的一个短板。

所幸,我的判断是正确的。

如今我的薪水已经涨幅35%。

程序猿吃的是技术饭,需要我们时刻洞察市场的动态,你才能不被市场淘汰

如何快速学习并使用

确定了学习哪门技术后,要如何开始学习呢?

程序猿的空闲时间是非常少的,毕竟上辈子的福报够深

如何花更短的时间掌握新技术呢?

  1. 先了解
  2. 找资料
  3. “埋头学”
  • 先了解

我的经验告诉我,学习任何一门技术之前,先去了解它的产生原因,解决了什么问题是更加利于学习的。

所以,我把了解排在第一位。

举个例子,近期我发现,大部分的公司都在要求掌握Swoole技术。

那么我们先分析一下,Swoole是什么,以及它为什么出现,解决了什么问题?

Swoole是国人开发一个用于PHPer的异步网络通信扩展。

因为PHP的经典架构是Lnmp,nginx接受一个请求转发到php-fpm处理,在这期间是PHP-fpm同步阻塞的。并且处理完一个请求后会销毁内存用于下个请求。

如果我们的PHP程序是常驻内存,并且是非阻塞的会怎样呢?

性能会大大的提升。

swoole作者测试过,在一台普通的1核1G的服务器上,lnmp架构的并发只有几十,而用了swoole的并发普遍在上千左右。

这意味着,老板能省下一大笔服务器的费用。

所以要求掌握swoole的公司会越来越多的。

  • 找资料

确定了这门技术在现在和未来对于我们来说是非常有必要去掌握的,那么我们要如何开始学习呢?

第一,先大致过一遍官方文档。

官方文档是最准确并且最全的,其他的资料可以不用去找了。

碰到不理解的地方也不要停下来,先看完一遍再说。

在看完一遍之后,再去着重的把不理解的地方进行google。

第二,找视频教程。

我认为,视频教程优于文字教程。

大脑对于图像的记忆远远大于文字。

那么,从哪些渠道可以找到比较好的视频教程呢?

  • 慕课网 --专注程序猿
  • youtube --你懂得,一般国内的教程也会被发布在这
  • 51CTO --不怎么去,但也是比较好的
  • 网易云课堂 --不是专注编程的,但也有部分教程比较好
  • 中国大学Mooc --各名牌大学的公开课,比较系统化
  • 网易公开课 --全世界大学的公开课
  • B站 -- 老司机,你懂的

如果有需要付费的,而你恰恰囊中羞涩,咸鱼,youtube是个好地方。

找到视频先看一两个,对比出哪个教程适合你。

毕竟,适合自己的才有兴趣去学。

  • “埋头学”

我是如何学习laravel的呢,找到我想要的视频教程后,我每天会在固定的时间点进行学习。

比如我晚上学习效率高,我就放在晚上进行学习。

但是千万不要三心二意,决定这个点学习就专注于它

一个人成就会如何,绝大部分的差距体现在专注时间的长短上

每个人的高效时间点是不同的,你要去发现它。

大概三天我就学习完了,接下来是最重要的。

用学到的东西去实现一个小项目

这期间,碰到不会的,千万不要第一时间去看视频

先查文档,不会的再进行google

实在没办法了再去看视频。

程序猿长久来看靠的都是自我解决问题的能力。

搞完这个小项目后,大部分已经入门了。

如果还不会,再重复一遍。

没有什么是重复掌握不了的