我的2016年总结

我的2016年总结

起初,我没有这个想法,说在年底的最后一天,回顾一下自己2016年的个人生活总结也好,技术总结也罢,压根没有想过会提笔写写。给我这种动力写下这篇文章的人,很大一部分是因为,最近在知乎上关注前端开发的一些话题,前端界非常牛逼的人物,他们,陆陆续续的在知乎上发布了自己2016年的个人技术总结。看过很多篇前端大牛的个人总结,在跟自己比比,真的觉得自己实在差劲。

所以,我才有了这个想法,回顾一下自己的2016年。

与其说是2016年总结,不如说是2016年技术总结。不过,两个标题对于我个人来说可以画等号吧。整一个2016年,在这个学期里,唯一一次的活动就是海贼王剧场版--黄金屋--首映当前晚上,跟几个同样热爱海贼王的同学一起去学校对面的电影院看电影了。这个学期,好像就没有什么活动了,整天都在看关于前端的知识,不断的学习,不断的被打击,不断的经历挫败,同时也在不断的积累。所以,整个2016年总结主要还是在自己的前端技术上的总结。

2016年上半年

老实说,现在我也忘记上半年我究竟干了些什么了。真后悔没有在每个月月末对自己做一次小的总结。以至于现在回想起来,都不知道自己上半年都干了些什么。整个上半年在自己脑海里完全是空的。怀疑自己,怀疑是不是夏眠了半年:"(

上半年,也就是我还处在大二下学期的阶段。当初,有一点可以确定的是,我仍然在前端圈子里摸爬滚打,仍然在折腾着前端技术。

CSS方面

上半年学些CSS预处理工具Sass。这个工具给我最大的便利之处在于它的选择器嵌套、继承、css变量、以及函数等的概念。同时还有些Sass自身提供的操作符。选择器嵌套的写法实在舒服,css嵌套写起来就好像js的词法作用域,但是很遗憾的是,css选择器的嵌套仍然为全局变量。同时还有自己写mixins然后通过@extend继承、占位符。个人用Sass最多的还是它的一个libary,叫compass。compass官方提供了非常多已经写好的mixins,可以直接通过include直接调用。compass我个人觉得最大的好处在于通过调用的一些封装好的mixins,可以实现css在不同浏览器下的prefix,这或许是我用它最多的地方了吧。当然,目前的开发中很少使用compass了。主要原因还是在于模块打包工具webpack的流行,它提供的css方面的loaders可以根据can i use实现prefix了。

上半年,还接触了BEM,BEM即Block__Element--Modifier,亦即块__元素--修饰符。我曾经在自己写的一些小demo里面(目前是个人github stars数最多的个人项目了),使用过BEM命名规则。怎么说,可能是因为个人开发的原因,就压根不会遇到过CSS命名重复导致样式被覆盖这样的问题。BEM更多的是在团队里面使用或许会派上用场。我没有团队开发的经验,目前正在做的项目中,前端开发只有我一个人。

前端工具方面

印象里很模糊,自己在年初的时候接触过一会儿的Gulp。当时是受了一些社区的影响,还有就是Gulp当时正红红火火,所以就接触了一下。当时没明白是干嘛用的,只是尝试了一些简单的功能。现在在项目中没有使用Gulp了,而是采用Webpack这个模块管理工具来管理前端资源了。

2016年下半年

关于下半年的成长,目前仍然记忆犹新。

在上学期结束的暑假里,开始意识到写博客的重要性记录前端技术的重要性,整个八月份,写了9篇文章,到今天的最后一天,我刚刚去博客看了一下,下半年积累了27篇文章。当然了,这些文章全部都是围绕前端开发所写的。

css方面

每次接触到css的时候,都感觉自己对它掌握仍然有不足之处。很高兴,在自己的博客里,看到了自己对于css的进一步理解。

明白了BFC实际上就是css中的一个“被动技能”,这个“被动技能”需要其他css属性定义后才能触发,如display设置为inline-block,table-cell,overflow设置为auto、hidden、scroll,position为绝对定位(包括absolute和fixed)等属性都可以触发BFC,使某个元素BFC化。同时,触发了BFC这个属性之后,可以在开发中解决的问题主要集中在两个方面,一是父子元素之间的高度塌陷问题,二是兄弟元素之间的margin重叠问题。

看完了大漠老师的经典作品《图解CSS3核心技术与案例实战》,这本书算是我的CSS3入门老师了。受益良多,比如css盒模型和css3中的伸缩布局盒模型,transition过渡效果,transform动画,media query实现响应式设计。不过很遗憾的是,对这些知识点掌握的不够透彻。同时,也缺少对响应式网站的开发经验。

看完了css经典著作《精通CSS高级Web标准解决方案(第二版)》。实话说,这本书确实落后前端已经很久了,诸如书上所说的滑动门技术,现在的css解决方案直接使用border-radius可以搞定,而且各个浏览器兼容还不错。但是,如css特殊性,层叠以及继承的概念,我认为都讲解的很好,简单易懂。还是挺推荐的。

同时,开始接触移动前端开发,写过一篇文章,是关于viewport的理解。对于移动端的前端开发,我很少接触。这确实是我的弱点。看来2017年要补补功课了。

javascript方面

整个下半年,回顾自己写过的文章,很大一部分都是在javascript方面的。诸如对象、数组扩展和数组一些方法的理解、构造函数和new操作符的关系、prototype原型对象、原型对象与构造函数还有实例对象之间的关系等等。下半年对于javascript的理解,对于我个人来说,真的进步很大很大。

最近,准备着手看完《你不知道的javascript》上卷和下卷,上卷看了前两章节,受益匪浅。学到了之前接触javascript从未见到过的知识点。

比如说,js在解析var a = 2这段代码的时候,首先会编译器询问当前作用域是否存在a这个变量,如果存在了,则忽略声明,继续执行编译;如果不存在,则进行词法分析,接着将每一个词法单元解析成抽象语法树,给这个变量分配内存,然后命名为a,同时给引擎做好代码生成的工作。接着,殷勤会在整个作用域查看是否存在这个变量,如果存在,则进行LHS查询,进行赋值;如果不存在,则报ReferenceError的错误。

引擎赋值操作分为两种,LHS查询和RHS查询,在严格模式下,明确规定不允许自动创建全局变量,此时引擎进行LHS查询和RHS查询如果在整个作用域下找不到某个变量,则会报RefferenceError的错误。当然了,非严格模式下的LHS查询会自动创建一个全局变量。同时还有变量引用的TypeError的错误等等。

书阿,读一遍怎么够呢?读书破万卷,下笔如有神。还真心不假。寒假会好好读读这两本书。

同时,前不久的时间,每天早上都花一些时间在codewars上刷js算法题。那段时间里,给我最大的感触就是自己对于js的知识有了更加深刻的理解,比如数组对象的一些常用方法join,push,unshift,map,isArray,filter,reduce,slice,splice,string对象的一些常用方法slice,substr,substring,indexOf,Math对象,RegExp对象,构造函数等。给我最大的帮助就是自己的逻辑开始清晰,知道一个问题应该如何通过代码来解决。

前端工具方面

下半年,开始接触了webpack。网上有很多关于webpack的文章,不过对于刚刚接触模块化思想的前端学习者(比如我)来说,真的太不好理解了。于是,自己写了一篇文章,至今没有发布,同样是关于webpack的一些理解。站在小白的立场写下这篇文章,涉及前端资源、loader、plugin使用、模块的概念等等。现在,在目前的项目中使用了webpack来管理模块之间的依赖关系、js压缩、css压缩、提取js,css公共代码等功能。

个人项目

另外感到值得欣慰的是,十月份的时候,开始跟着专业老师做项目。团队一共四人,两后端,一前端(我呗),一推广。这个项目主要是做一个服务于淘宝卖家的产品,并且,项目的技术选型是jQuery+webpack,老实说,当时我跟专业老师推荐使用vue的时候,被拒绝了。因为他觉得vue不够成熟。有些遗憾,因为没有能够在真实项目中使用vue的数据驱动和组件化思想进行开发。

其实,下半年对自己的计划就是想做一些实实在在的项目,于是找到了老师。很感激老师在这两个月给予我的知识,这两个月学习到了很多,模板引擎的运用,如何实现跨域资源请求,如果针对返回的数据在前端进行渲染等问题。同时,php部分也是自己写的。不过说来也惭愧,php写的都是非常基础的内容。经过老师的教导,明白了如何通过面向对象的方式创建json数据,返回给前端进行数据的渲染。


总的来说,我的整个2016年都是枯燥无味的,每天对着电脑,跟计算机语言打交道,从早到晚,从周一到周日。整个2016年,比较满意的是下半年,因为下半年的技术进步很快,学习到的知识很多,记录知识的文章很多。

感谢2016年那么努力的自己,每天每日每夜的看书写代码,真心觉得,每天过着这样的生活为什么自己不会厌倦。现在回想起来,可能多半是因为自己的性格原因吧,自己不太喜欢喧嚣的地方。像图书馆这种安安静静的,可能让我一个人静下心来看书的地方就最适合了。

2016年,我感觉自己很孤单,每天都一个人。每天过着一样的生活,起床-离开宿舍-买早餐-图书馆-吃饭-图书馆-吃饭-图书馆闭馆-回宿舍。基本上每天的生活都这样。总是在朋友圈感叹,自己为什么没有女朋友,为什么那么孤单。说实在的,我很羡慕那些经常出去玩,旅游的人,他们可以交到很多朋友,经历很多我没有经历的事情。不过现在想想,我孤单,不过我得到了他们用来旅游、玩的时间所得到的知识。这是我常常安慰自己最糟糕的一个理由了。

感谢我的2016年,感谢努力的自己。感谢那个坚持不懈、朝着梦想奋斗的自己。

最后,放上github的year contribution,算是2016年给自己的一份礼物吧。

2017年寒假规划

明天就是2017年了,还有5天的时间,没有太大的愿望,只是希望自己在2017年的寒假里能够完成以下任务,我就觉得很满足了。当然,我是一个非常容易满足的男生,没有太多的欲望,如果你找我聊天,我就会特别的开心的那种人。

  1. 读完《你不知道的javascript》上中卷。
  2. 继续完成项目的开发。
  3. 每天在codewars上做两道以上的js算法题
  4. 写一个响应式的博客,把文章迁移到自己的博客里。

就这些吧,如果能完成以上三点,我已经很开心很开心了。

2017年,希望家人,身边的朋友身体健康,得到自己想得到的,追求自己所追求的。

2017年,希望自己的前端技术有所有一个大的进步,希望实习的时候能够拿到大公司的offer。

期待2017年。

写于 吴文陆图书馆
时间 2016/12/31 21:15分

posted @ 2016-12-31 21:13  凯斯keith  阅读(402)  评论(2编辑  收藏  举报