一个前端初学者的2018年终总结 | 掘金年度征文

前言

“本文是一篇个人年终总结”,这样听起来会不会高大上一点呢?

如果您正好浏览到这篇总结,可否邀请您认真读完此文。无需您的点赞,但是若能留下您 宝贵的建议,是再好不过了。

写这篇总结的目的大概有三个:

  1. 跟风:最近大家都在写年终总结,分享新年规划,所以凑个热闹咯!
  2. 总结:但是,也是该总结一下了,给自己一个交代,年初给自己定的计划大多泡汤了... ...
  3. 求助:同时,我想总结的内容主要是在 前端的学习 方面,所以希望通过此文,在掘金社区收到一些前辈或朋友们在前端学习上的建议。

自我介绍

先简单的自我介绍一下吧!

基本:

本人目前是一名大三学生,就读于湖南某普通一本,CS 专业。个人爱好很杂:摄影、编程、设计、读书、电影等等等,太多了,再介绍下去这篇总结就写不完了。

技术:

学过 HTML/CSS/JS 基础,但不扎实。简单用过 PHP,但只是玩玩咯。用 Vue + 各种 UI 框架,写过两三个简单的前端项目,用 mpvue 写过小程序。学了一些 node,粗略了解 Vue + node 全栈项目的开发流程。其他的,大多是停留于了解的层面。

其他:

考研 or 工作,我选择了工作,方向为前端,目标明年暑假找一家满意的互联网公司实习。

回顾

虽说是年终总结,但是我想从大一、大二说起。

大一、大二

误打误撞选了计算机专业,然后,误打误撞选择了前端。

大一下接触到了 Web 编程,而在那时候,对于只会用 C 编写一些小程序来解决简单的数学问题的我来说,HTML/CSS 是多么的有意思。带着对各种炫酷 Web 页面的崇敬,我把很多时间放在了 HTML/CSS 的学习上(现在觉得是多么的好笑hhh),同时也成功的加入了学校网络中心的一个互联网工作室(TickNet Studio),当然也只是一个培训生咯。

... ... 这里省略了很多 ... ...

大二的寒假,工作室的学长布置了一个小项目(简单留言板),为了完成这个任务,我花了一个寒假坎坷地学习了Bootstrap,嗯是的,我真的学了一个寒假,学完后还挺有成就感的。

回到学校,小何学长给我发了一堆链接,大概是这样的:

WTF!!!,大写的迷茫。这些都是什么??

接下来这几个月,我的 google 搜索引擎记录下了这些 keyword:

Vue  node  前端是什么?  webpack  npm  模块化  前端工程化  ...
复制代码

朋友们问我:“最近在学什么呢?”,我会回答:“前端”。这时的我,只是听说过前端这个东西,它是什么,做什么用的,并不了解。也是这个时候,慢慢的喜欢上前端,说不上热爱。

大三(最近)

今年 10 月份,我下定决心不考研了,也决定要作前端方向。当然,很担心自己找不到满意的工作,也从学长那里了解到了很多互联网行业的就业与发展。

然后我计划了前端学习的计划:控制技术学习的宽度,加深前端知识学习的深度。我觉得目前的我只能这样,深入学习,扎实基础知识。

(其他的放在后面总结)

学习困境

从我自己的学习经历来说,有两个问题:

1. 技术上的问题

很多时候,在学习一个新的知识或实战开发的时候,都会遇到很多的问题。比如:IDE 突然报错了、CSS 样式很奇怪、软件如何安装、棘手的 Bug 等等等。

我觉得这些,是技术上的问题。而解决问题的方法就是去自己寻找答案(这不是废话嘛!),这就决定了 解决问题的能力

我也在努力学会自己解决问题,学会使用 google 高效寻找答案,学会自己总结。

2. 学习方法与学习效率

对于我来说,我觉得这是一个很重要的问题。因为没有去寻找正确适合自己的学习方法,我发现我花费了很多的时间和精力,学习效果却很不如意。

一下是我自己目前使用的学习方法:

(1) 学习计划

年初我制定了一个今年的学习目标,罗列了很多东西。嗯,我觉得这样挺好的,给自己一个方向。然后,这些目标似乎都很遥远,很多计划都没有完成。

我改变了方式,将近期的计划,按照知识点学习顺序分配到每一个月、每一个星期、每一天、甚至是每一个小时上。我会在晚上睡觉前,抽出时间来总结今天的学习内容,并计划明天的学习内容。而每周末复习整理这个星期学习的内容,每个月底也进行一次总结。

我在电脑上和手机上都安装了方便做 TODO 的软件,每件任务设置为待完成状态,每完成一件任务就打上勾。这样当我晚上检查学习任务的时候便可清晰的知道今天我做了什么,学了什么内容,同时也产生一种正向反馈

(TODO截图)

(2) 做笔记

之前学习,都是看到什么就去学什么,然后一两天就忘了,同样也浪费了很多的时间和精力。

我把每个知识点学习到的内容用 markdown 的形式记录下来(使用了一个方便的 markdown 编辑软件),整理到文件夹,然后定期复习并把知识重新整合。

同时要养成写博客的习惯。似乎很多人会觉得博客不过是东拼西凑各处摘抄的内容,没有意义。是的,对于一个初学者来说,很难独自总结出非常优秀的博客。但对于我自己,我只想把博客作为自己的学习笔记,就像高中学习时会将教程或者参考书上的内容摘抄到笔记本一样,便于自己复习。(附:正伟的博客

(3) 番茄工作法

Coursera 上的一门课 Learning How To Learn 中提到了番茄工作法,它的工作模式是这样:第一,从待办清单里选择出一个要做的事,然后用25分钟的倒计时,在这个时间里面专注在手头上的工作,时间到了之后就休息5分钟,再不断的这样循环,这就是番茄工作法。

关键是25分钟专注于一件事,并且一定要休息。

最近尝试使用番茄工作法来管理时间,它可以较好的克服拖延症,提高工作学习效率。

(win10 上的计时器截图)

4. 思维导图

最近在尝试画各种思维导图,对于我脑海中闪过的任何想法(一部电影、一个游戏、一张照片等),我都想用一个思维导图来展示出来。然后,我把他用到了知识的学习上:对于每个知识点,建立一个完整系统的思维导图,每个思维导图之间可以联系在一起。(据说思维导图和人工智能的深度学习原理一样??)

(一张未完成的思维导图)

5. 学习反馈

前面也有提到学习反馈,我觉得学习过程中是需要及时给自己合适的正向反馈的,这样我们才会有不断精力、信心以及学习的欲望。

记得刚学习 HTML/CSS 的时候,我有特别大的兴趣,因为我只需要写简单的 html 加上一些样式就能立刻在浏览器上面看到自己所“创作”的页面,对于一个小白来说是很有成就感的,这种轻而易举就获得的成就感是很难在学习其他编程语言中获得的。这正是一种正向反馈的表现。

我的方式是:

  1. 在掘金上面写自己的技术博客:写的篇数不多,文章内容也有很多错误的地方,但是能够收到点赞或评论就是最大的反馈。
  2. 做开源项目:这对于目前的我来说是一件比较困难的事,但未尝不是一个给予自己反馈的方式。
  3. 打卡:比如学习软件会有每日打卡学习、Github 打卡一排绿、TODO上待完成的任务都打上勾...

6. 习惯的养成

通常说要养成一个习惯需要 21 天,但是这 21 天我就是始终没有坚持下去,大多是因为给自己定的习惯很难一下子坚持下去。

在网上看到的一个方法:养成习惯很简单,只需每天给自己安排最容易完成的任务,然后把这个坚持下去。

具体比如记单词,很多时候都是计划每天记忆 20 个甚至 50 个单词,但是慢慢的都放弃了,因为不知道20个单词要花多少时间去完成,而每天又会有很多不同的任务要去做,如果一天 20 个单词没有记完又会产生一种自我责备的心理,这是很糟糕的。而这种方法倡导的是:每天安排记单词的时间为 10 分钟(一个能轻松完成的任务),完成 10 分钟的学习时间,不管是记了多少个单词,不管现在是不是休息时间,都停下来,然后每天都坚持 10 分钟。对,就是这样,慢慢的就会养成每天记单词的习惯,而每天记多少个已经不是重点了。

最近我也在使用这种方式:每天5个单词、读书10分钟、12点睡觉(平时是12点后)等等这些很容易达到的目标。

------------------------一条分割线-------------------------------------------------------------------------------------------------

以上有很多方法还是我最近在尝试的,至少我能感受到正确的学习方法带来的好处。

3. 眼界

开阔技术的眼界,对于一个互联网开发者来说是非常重要的。很长一段时间我都停留在 HTML/CSS 的反复学习当中,甚至不知道作为一个前端该去学什么,如何去了解前端领域。

我现在每天都会花时间简单的去浏览各种社区或博客,如下:

当然最近一直住在掘金,也不知道为什么,最喜欢掘金社区。

但是,目前的我,需要的是加深对基础知识学习的深度(不知道我的想法对不对),对于其他领域也包括一些前端方向的技术只是去了解或者只是玩一下 QuickStart。

目前

项目:

学院的一个教学评教系统,工作室的项目,还在准备需求中。准备技术栈:Vue + Element UI + Nuxt + Koa + MySql + redis

一张思维导图:

道宽学长几个月前给了我一张前端面试技能树:

这些内容好像都有遇到过,但那时没有一个可以完全回到上来的。我想尽力把这些内容都啃一遍,应该算是比较系统了。

在看的书:

  • 《ES6 标准入门》
  • 《你找不到的 JavaScript》(中卷)(下卷)

图书馆:

我似乎很容易被别人打扰,而不能认真去做一件事,这样番茄工作法也就失效了。

我把学习环境从教室和工作室转移到了图书馆,因为这里安静(有空调,湖南是真的冷),周围的同学也不会来打扰我。

计划

应该是未来三个月的计划,之后应该要准备投简历找工作了。

学习:

  • 思维导图上的知识点一个一个突破
  • 计算机网络的基础知识
  • 算法与数据结构刷题
  • 提高设计审美(哈哈突然想到这个点,毕竟是一个热爱摄影的前端 *^__^*)

读书:

  • 《你不知道的JS》(上卷)(中卷)(下卷)+ 笔记总结
  • 《JS 高程》再读一遍
  • 《CSS世界》好好学一下CSS
  • 《JavaScript语言精粹》《高性能JavaScript》《JavaScript设计模式》几本短小精悍的书,计划慢慢看吧
  • 《黑客与画家》在看中,挺有意思的一本书

项目:

  • 教学评教系统(工作室项目,准备中)
  • 一个摄影社区(个人概念型项目,不知道能不能完成)

对比

这里我想用类似萧井陌老师的提问方式进行对比:

一年前

学习进度:

  • HTML/CSS:在慕课网上看了入门课程,无聊地啃了一遍 w3school 的文档
  • JavaScript:也是在慕课网上看了入门视频,没有实践
  • PHP:会基础的语法,写过简单的后端
  • 其他:大一学过C、数据结构,都还行

状态:

对 Web 编程兴趣挺大的,没做过什么项目,只写了些静态网页。自我感觉学习效果很差, 对学习热情很大,但有点迷茫不确定毕业是考研还是找工作。

问题:

  • 不知道应该看什么书?只是在网上找视频找资料学习
  • 不知道学什么,有哪些方向?
  • 不知道如何学习编程?效果很差
  • 想做项目,但不知道一个项目需要如何完成?

现在

学习进度:

  • HTML/CSS:很多时候要查API文档
  • JavaScript:看过《JS高程》《JS面向对象编程》《你不知道的JS》(上卷),基础知识还算一般,准备深入熟悉这门语言,如:面向对象、函数式编程、设计模式等
  • Vue:看过一遍官网的教程,用 Vue 全家桶写过两三个小项目,用 mpvue 写过小程序,熟练度还算一般
  • Node:了解过基础用法,用脚手架写过项目,能试着用 vue + koa 解决简单的全栈需求,不是很熟练
  • 其他:mongodb/redis/vue ssr/ 等了解过,停止于QuickStart

状态:

考虑了很多,还是准备毕业就去工作。准备明年参加春招,找一个满意的实习。不知道对自己有没有信心,目前状态有一点紧张。总结了自己的知识体系,也计划了未来几个月要学习的内容。方向很明确,前端,要学习的内容也还很多,但不像以前迷茫。想潜下心来学习,准备找工作。

问题:

这里很多关于找工作的问题了

  • 对于前端技术需要着重学习的内容是什么?

  • 如何训练自己的编程思想?

  • 如何给自己定位,实习要不要把自己目标定为大公司?当然大家都想去大公司,我的想法是去一个中等的互联网公司,对于自己发展有利的能在实习期间有所成长就行。

  • 前端应届生找工作应该注意什么,如何顺利找到实习?

  • 面试中,实际能力面试技巧的比重如何?好像有听说疯狂刷面试题拿到 offer 的,在我看来这变成了类似的应试学习。

  • 工作的城市:北上广深一线城市还是二线及一下城市?个人比较向往成都、苏杭这些城市。

最后

到这里,暂且认为您读完了此篇总结。所以,非常感谢您能够抽出宝贵的时间来阅读这篇初学者的总结。

这篇总结花了大概两天时间,前前后后回顾了很多内容,当然不能全部都写上去,看起来会有些多余。

回到开篇提到的,写这篇总结的目的之一:想在掘金社区收到一些前辈或朋友们在前端学习上的建议。也即是上文所提到的内容,或者是其他关于前端、前端就业、学习方法方面,您可以在下面留下您的评论,或者... ...

我的联系方式:

犹豫了一会,应不应该发这篇总结,担心这篇文章石沉大海无人理会(会不会很尴尬)。好吧,还是试试看。第一次这么认真的写年终总结,也算是给了自己一个交代。

嗯。。其实这篇文章发布两天后自己又撤回了。今天看到掘金的活动:掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中...... ,又分享出来了,希望被翻牌。

掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中......

猜你喜欢

转载自juejin.im/post/5c385056518825253b5e98f9