前言
首先,简单介绍一下自己,20 届普通二本毕业生,非计算机专业。2018 年 3 月开始开始自学编程,早期学的是 Java、C 语言、PHP。从去年 4 月份开始正式入坑前端。
回到正题,我们这次来简单聊聊对于前端技术小白、初级前端如何学习前端。
一、视频学习
对于技术小白而言,让你一开始就抱起一本几百页的《JavaScript 高级程序编程》或者《JavaScript 权威指南》。我想你可能几天就放弃了编程这条路。
因为,技术书籍在一定程度只适合已经习惯这个技术栈的人阅读,这样才不会感觉枯燥。所以,对于技术小白而言,我建议从视频学习开始入门,这样你可以通过别人给你暂时描述出你一段时间后会是怎么样,你才能从一而终地保持好奇心。
慕课网
首先,我比较推荐的视频学习网站是「慕课网」。虽然,我从来没在上面看过入门的课程。但是,无论是从讲师水平、课程质量来说,「慕课网」上涵盖了初级、中级、高级工程师所需要的知识体系。
然后,对于初级前端,我推荐「黄秩」前辈的课程,就我而言我买了两门《Vue.js 源码全方位深入解析》和《下一代前端开发语言TypeScript从零重构 axios》。
这里简单讲讲《Vue.js 源码全方位深入解析》这门课程给我带来的收获,让我从一个 console.log
流变成了 debugger
流,并且,可以说我现在看 Vue2x 和 Vue3.0 源码随心所欲。
并且,很有趣的是有时候你会发现 Vue2x 其实在一些小小的很狗血的地方 PS: 面试的时候,可以用于和面试官吹吹牛逼。
极客时间
其次,我比较推荐的网站就是「极客时间」,当然「极客时间」并不能说是纯粹的视频学习网站,它上面还有一些非常优秀的电子书。
对于极客时间来说,我其实褒贬不一,因为上面有一些脑残讲师流水账的课程被我买到,不忍吐槽。所以,这里我推荐两门我个人收获非常大的两门课程。
首先,是李兵前辈的《浏览器工作原理与实践》。如果,你是一个对浏览器相关知识非常薄弱的同学,推荐阅读。
然后,是覃超前辈的《算法面试通关 40 讲》。这个可以说是面试算法题的杀手,按课程的节奏刷一遍 LeetCode,很多算法面试题都可以畅通无阻。
小结
视频学习也是我在早期学习前端途径,但是,当时并没有人告诉我一些网站的好与坏,视野很窄,所以我也曾经入坑过「CSDN」 和一些不知名的视频教学网站。所以,对于以上推荐的课程,都是我排过坑后学习的课程,都给我带来了很大的提升。
大家如果有兴趣都可以放心买它,哈哈。
二、技术社区学习
对于技术社区学习,我把它大致分为两种「中文技术社区」和「英文技术社区」。
中文技术社区
「中文技术社区」,首当其冲的当然是「掘金」和「思否」。对于前者,很惭愧也很可惜的是我是去年 10 月份注册的,接触的时间可以说不是很长,但是收获非常非常多。比如,春秋招的时间点,各种面经层出不穷,从我的学习角度看待面经,它有时候并不是为了面试而存在,很大一样上是对自己学习方式的纠正和完善,所谓是博采众长,进一步提升自己。
可惜的地方,是 2019 年 10 月我之前并不知道掘金,说出来感觉也很羞耻,所以之前的技术学习相当于闭门造车了,导致很多时间都浪费了,学习方法不对、途径不多。不过,换个角度想,人生就是这般 鱼和熊掌不可兼得。
其次就是「思否」,对于思否而言,个人感觉更加偏向于开源和技术的广度,对 AI 之类的技术都有所涉猎,以及相比较「掘金」,思否的写文章的推荐算法也大有不同,至于不同在哪,大家懂得哈哈。然后,思否上还有一个比较有趣的地方就是问答模块,在这里回答一些问题,很大程度也是测量我们解决 Bug 能力、技术基础是否扎实等等。
英文技术社区
「英文技术社区」,对于这个我推荐的可能有所局限。但是就我体验而言,首先,我推荐的是「Hacker noon」。不知道,大家有没有注意过很多译文的文章来源都是「Hacker noon」,例如有时候阮一峰老师翻译的文章。并且,有一点感觉很友好的是,国内是可以访问的,这个不会给你的阅读造成一定困扰。
提到「英文技术社区」,我这里还推荐大家订阅一下 JavaScript Weekly,它会每周末给你邮箱发邮件,邮件的内容是这一周和 JavaScript 相关的事件,例如之前的 Vue 3.0 beta realease、Deno、ES 新特性等等。
JavaScript Weekly 其实在一定程度上起到了一个信息筛选的作用。毕竟,前端已经学不动了。所以,很需要这个信息的筛选。
小结
可能推荐的「英文技术社区」有点少,因为像 「GitHub」、「StackOverflow」之类的,我就没有提及,因为这个应该算是常用的学习途径。如果,有其他更好的「英文技术社区」推荐的,欢迎各位同学补充。
三、公众号技术推文学习
公众号技术推文学习,也是我非常推荐学习的一种方式。因为,正确的学习规划,它一定是片段化的,而不是成块成块地去学一个东西。只有片段化的学习,我们的效率和吸取能力才是最高的。而,公众号技术推文的阅读,我们可以在如何场合,坐公交、坐地铁、吃饭、躺床上等等,这些零碎的时间,我们都可以利用起来阅读技术推文。
前端早读课
首先,我推荐的是「前端早读课」。当然,它不仅有公众号,掘金、微博上都有它。「前端早读课」的文章,一直都是我打破视野的一种方式,每次都可以看到一些非常新的和架构性的文章,例如最近携程一位前辈写的面向 Model 的编程方式以及今天推送的对于中后台可视化界面搭建工具等等。
前端工匠
「前端工匠」对于我来说意义非凡,因为在面试中的很多问题的准备,我都是借鉴了一番浪里行舟前辈写的文章进行一定程度的扩展,然后才能和面试官扳手腕(吹牛逼)。其中,写的很好的几篇关于类型判断、Event Loop、浏览器缓存等等。
小结
当然,优秀的公众号还有很多,例如「全栈修仙之路」、「前端 Q」、「前端开发」、「奇舞周刊」、「前端桃园」等等。这里,我就不一一介绍,有兴趣的同学可以一个个点关注哈哈。
四、技术书籍学习
可能技术书籍对技术小白不太友好。但是,贯穿你整个技术生涯而言,技术书籍是一个不可或缺的技术学习方式。可能有时候,书本上的内容会比 MDN 上的文档有所落后。但是,需要强调的是编程的本质就是追溯本源的过程,例如在 Vue2x 源码中用了很多柯里化,那么什么是柯里化,我想如果你看过《JavaScript 高级程序设计》,那么在你看源码的过程就不会因为这个造成你的阻碍。当然,看书籍还有一点很重要的是,你可以通过看书了解到这项技术的刀耕火种的时期,这非常有趣。
所以,这里推荐几本我阅读过的很好的书籍:
- 《JavaScript 高级程序设计》
- 《JavaScript 权威指南》
- 《学习 JavaScript 数据结构和算法》
- 《深入理解 ES6》
- 《TypeScript 实战指南》
- 《CSS 世界》
- 《Vue.js 实战》
- 《深入 React 技术栈》
- 《了不起的 Node.js》
- 《Node.js 实战》
- 《图解 HTTP》
- 《Web 前端性能优化》
- 《Three.js 开发指南》
小结
其实,在文章开头的照片中就是目前我的藏书,由于我接触前端的时间不长,所以还是有点少,也存在几本还没看和看完。目前,比较想买的几本例如图解系列书籍、HTTP权威指南等等。当然,大家有推荐的,欢迎留言。
五、博客分享学习
这里为什么提及博客分享学习,对于技术小白而言,可能不会意识到写博客的重要性。但是,对于学习编程一段时间的同学而言,一个很重要的东西就是技术复盘,这个技术复盘可能是工作上的需要,也可能是面试准备需要。那么,这个时候博客的重要性就体现出来了,有它在会很大地缩短我们技术复盘的时间,并且还能把当初我们学习总结的优秀点重新 Get 到,而不是重新学,或者一头蒙地翻之前的学习资料重新过。所以,博客分享的总结至关重要对于我们每个从事技术的人来说。
这里再提一下,写的博客最好能通过社区分享出去,帮助他人的同时,也在树立自己的个人品牌(方便跳槽)
写在最后
当然,还有一些文档类的网站非常好,例如大家耳熟能详的「MDN」、「W3C」、「菜鸟手册」。并且,如果具体到学习某一项技术,首当其冲的就是官方文档阅读,因为它是最权威和最基础的一手资料。当然,还有一些零零碎碎的学习途径,例如一些优秀的 GitBook。这次总结分享的学习方式,可能还存在不足的地方,欢迎大家补充和批评。
写作不易,如果你觉得有收获的话,可以帅气三连击!!!