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

前言

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

  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

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

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

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

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

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


PS:你的赞是我创作的动力!

为什么同是9年义务教育别人就那么优秀?

想知道请关注订阅号:多边形战士(关注送 laravel,linux,nginx 等学习资料!!!)

回复’学习’,推荐你2本书。

回复’资源’,获取我收集到的一些优质资源。

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 4年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 28

@Chasers9527 :joy: 目前我也没发现很好的,但是现在的一些教程用来入门还是可以的,像慕课网上的那个swoole教程。

4年前 评论
Rubto

视频再加个B站 :smile:

4年前 评论

@bing_ 照抄是战术上的错误。学只是第一步,最重要的在于实践和总结。不能用勤奋代替思维上的懒惰。

4年前 评论

@Bug_tu 谢谢!这两天我开始有点进入状态了。

4年前 评论

大佬,期待多来点干货~

4年前 评论

知识是最基础的,框架的基础应用看手册,深入研究看源码。但是鉴于laravel的手册,嗯,学习laravel框架还是很有必要的 :joy: :joy: :joy:

4年前 评论

要点资源可以嘛

4年前 评论

与其花这么多时间去学习新技术 还不如多花点时间去学习基础知识,新技术新框架容易被取代 但是底层知识还是那个知识点,至于新技术,需求来时,边学边用。纯属个人见解 :grin:

4年前 评论

@yema 对的,不管新技术有多么的好,它也只是基于这些基础去做的

4年前 评论

@SamCCC 肯定不是三天全学精通了,三天就是入个们。

4年前 评论

@yema 请问,你们是在哪里学的基础?

4年前 评论
yema 4年前
bing_ (作者) 4年前
yema 4年前
bing_ (作者) 4年前
yema 4年前
bing_ (作者) 4年前
yema

我觉得编程和计算机基础只要好。新技术出来也只不过多了个工具,毕竟它脱离不出计算机的范畴。当然新技术还是要学的。

4年前 评论

请问一下,你所说的三天学习完,是指把laravel完全学完吗?Laravel我也在工作中用来写过好几个项目,但是我觉得3天把laravel整个学完我很难想象到;最近在学习GO,搜索资料的时候看到有一篇文章作者也是说自己一个周末两天学习完GO,我觉得太不可思议了。作为一个第一门编程语言是PHP的码农来说,光梳理GO的数据类型我大概也用了两天了 :joy:

4年前 评论
jackbot 4年前
jackbot 4年前
qinplain 4年前

学习是一件快乐的事 :relaxed:

4年前 评论

@Bug_tu 思维上的懒惰。你的这句话提醒了我,要脑袋比手更勤快。脑袋勤快懂得快啊。

4年前 评论

@bing_ 也没帮到你什么,学习都是因人而异,你进入状态就说明你找到了适合你的学习姿势 :grinning:

4年前 评论

@Bug_tu 我看过很多php 的视频教程,一边看一边抄,还是学不会,只知道大概怎么回事。
之前我学过一段时间tp, 可没找到比较深入的教程,一直停留在最基本的操作。
一群里的管理员推荐我学社区里的这套书,我看过书的内容,觉得功能挺多的,然后全天专注学习,可没想到跟之前学的东西都不大一样,感觉又要从头再来,很多地方根本不理解,都是照抄,学得很费劲,都一个月过去了,L01 L02 我都还没学会。
可我必须要学会编程,所以只能像你说的那样 埋头学。
对于我这种有学编程困难症患者,你还有什么建议吗?

4年前 评论

@bing_ 只是看完视频教程哟。。

4年前 评论

大概三天我就学习完了????? +1: :+1: :+1:

4年前 评论
张闯Json

直接了解数据结构,看看判断demo的差异,怎么连接数据库,怎么发送sql,增删改查一套,开撸

4年前 评论
这辈子不打工

直接上手册就完事了嗷

4年前 评论
幽弥狂

然而看到最后也没看到 YouTube 上,Swoole 教程哪个好~ 哈哈哈

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!