ps: 首先谢谢赵学长推荐,不然我真没想到要写总结这一茬
对于我这种记性不是很好的人来说,一年之内做了啥只能写一点东西,而且时间记不清。这个时侯github账号的推代码记录发挥了作用,自2017年4月以来,推代码上github已经从一种任务或者压力(毕竟团队学姐学长在看着呢,哈哈)变成一种习惯(都坚持这么久了,断了多可惜不是),每天不推代码上去(格子没从灰色变成绿色)脑子就会时刻提醒自己还有事情没做,所以这次总结,主要以github的推代码记录为线索。
2016年大一下学期开始学的html,css,之前没有任何计算机基础以及编程经验,到2017年4月之前都是在学一些很浅显的应用层的东西,而且很分散。当时问了赵学长的一个愚蠢的问题:“HTML和CSS差不多学完了,前端是不是就搞定了。。”。现在想起来还是‘视野太小,想得太简单!’。
而因为对未来的学习方向不是很确定就尝试性地学习了PHP以及其框架,从那个时候带我的老师就开始教我如何将SQL语言嵌入PHP以及用PHP写网页,但是,那时我的计算机概念太差了,每上一节课都很懵逼,看不懂代码,所以对PHP不是很喜欢。后来就放弃了PHP。
当时学习方法是看网上的文档或者视频,但很多知识点不能串到一起。写CSS经验不是很足,而且记得不熟,一些属性基本都要先查阅再用。现在问题依旧,总结就是 “基础不是很牢,学得浅显,拓展也不宽”。
当然,那个时候学C语言花的时间还算多,给我打下了一些“软实力”基础。而赵学长推荐的PAT刷题我那时就开始做了,但是发现自己做的比较慢,有错误了也不知道该如何解决,毕竟是自学,很难找到耐心的前辈请教一些小题目,所以刷题目的量与质真的比其他人落后很多。
这些问题,2018年寒假,我打算拼命补上。对前者打算阅读一本系统教写CSS的书籍以及实例,对后者打算制定刷题计划。
遵循学长曾说的一句话 : ‘学了必须要有产出’。
2017年7月暑假在特训营学的JavaScript,这个时候已经学完了C语言,理解JavaScript容易了很多。在用JS处理项目业务之前,根据组织任务安排,我刷了接近100道利用 JS高阶函数如 map,filter,reduce,foreach等以及一些方法如indexof,slice,splice等的题目来巩固JS基础,还学习了JS的特性比如多态,继承,构造函数等,以及阅读学长推荐的EloquentJavaScript书。
事实证明刷题很管用,JS也成为我最熟悉的语言。当然,我也发现了一些学习漏洞,比如因为我并没有系统地学习过ECMAScript 2015就开始去学ECMAScript 6,所以当触及到 bind , this , proto , promise等高级一点知识的时候,明显感觉不知从何想起,对它们的应用场景以及应用技巧都不曾掌握,我只知道其大概的意思,却没有使用过。
这些问题,我打算多看技术文档和写实例来弥补。
在特训营学习了JS后就开始应用前端语言写项目,在写完一个纯手写的CSS,html,JS后完成的项目后(其中数据存储只用上了浏览器缓存,并没有用数据库。当然,功能实现,但是界面很丑),我开始学习以及利用CSS框架(第一次接触框架这个概念)和各种JS封装包来写项目,这次我理解了前后台交互原理,学习了ajax,jquery等等工具,其实我觉得最重要的是:我终于知道网页的形成过程。
之后学习和利用了后前端node.js ,实现了用JS操作数据库,利用路由获取数据,知道了如何操作MYSQL数据库,这个时候我才理解 为什么SQL叫做 “嵌入式语言”,因为它真的可以嵌入到其它语言中。当然还学到了很多比如npm到底是什么,git的各种操作和概念,模块的概念,什么是docker和镜像,写项目的文档架构,测试的概念和做法,响应式布局等等。
2017年暑假的特训营让我真正明白了前端要做的事情以及前端的部分生态,视野开阔了不知多少。
计算机基础主要靠的是专业科目的学习,大二上学期学了很多和计算机有关的课程比如,“计算机网络”,“数据结构”,“数据库系统原理”。这些课程给我补了很多之前没涉及到的基础和概念。而之后还会继续阅读《深入理解计算机系统》来巩固基础。
2017年开学,我加入了木犀团队,这又是一次突破。在团队学姐的指导下,我学习了JS框架(vue.js),了解了组件化的现代前端代码趋向以及现在很火的开发项目打包工具webpack,并了解了ninja;之后利用这些工具开始写项目,而项目过程完全颠覆了我之前的写法,其中很少写原生的代码,几乎都是用一些框架方法来写,并且是拿着专门的设计图来写,而不用自己想了。
但是,在学习过程中还有很多漏洞:比如因为很少修改webpack的配置文件,对webpack的掌握并不是很踏实;而vue.js利用的似乎总是那么几个特性和方法,其它高级的方法都没有触及和尝试,这是得反思和改进的。
还学习了很多技能比如SVG,雪碧图,动画,aframe等。而如今在koa项目中我又学习到了“企业级”的node.js开发文档框架和思路(颠覆了之前的很混乱的写法),并且正在学习react.js以及之后要学的docker等等。
当然,其中还有一些拓展学习比如:JAVA
其实,我认为和2016年相比我最大的进步是敢于自学和学会了如何自学。不管是学习任何知识,知道如何自己安排学习计划如何从0到1很重要。和之前自己想着很复杂而懒得去做最后还没开始就因为迷茫而放弃了相比,进步已经很大。
总之,2017是很精彩的一年!虽然有苦逼和孤独的时候,但是回忆起来是一种满足和不愧。之后我会继续学习一些更高级的知识(这里又要感谢学长的之前的指导啊),不能只学会用封装包和框架,还要能写出封装包和框架。
最后自我勉励: 生命不息,奋斗不止!