致敬2016,拥抱2017

2016年5月10号加入现在的团队,到今天2016年12月31号,已经过去了接近8个月。这整个期间,我们团队都只有我一个前端工程师,我从刚开始的忐忑不安、压力极大,到现在基本上手,我们团队做的项目虽然不大,但是 restful+前后端完全分离+SPA 也是web app 的一种趋势吧。写出来,总结下,对自己以后道路做指引,对其他人能有点帮助也说不定呢。

这一年我做了哪些

刚开始的时候直接接手了一个做了个开头的项目。然后没办法,我就用 react 重新开始开发。由于以前并没有独立作为前端开发过项目,压力可想而知,非常大。

没办法,那一个月我上下班的1个小时左右的时间都用来查东西,看东西,然后基本每天下班都很晚。

当时真是没办法,因为对开发完整的项目真的是没什么经验。当时准备用 webpack 来组织项目来着,命令行用 cd 来打开一个文件夹这么基本的语句我都不会。。。这么一个命令我整整查了2天才最后在一个很不起眼的地方看到。

现在想想那个时候还真是挺拼的,虽然解决问题的效率并不能算很高。但是现在远没有那个时候那么拼了。
然后一个月后,就是6月初,公司发生了一点变动。

然后我们团队又重新开发一个新的项目,也是比较小的web app 项目。

这个变动的期间我了解到了 vue 这么个框架。看了下其它开发者的评价,又看了看它的文档,感觉很不错,由于我们公司只有我一个前端工程师,而且在我们公司我是最懂前端的了,所以我就毅然决然的决定使用 vue 来开发新的项目。

作为一个没有独立开发过项目的人,作为一个没有使用mvvm框架开发过完整项目的人,我当时也是蛮有压力的。

在新项目里,我才发现我们团队是在用 git 来做版本管理的?,然后又学了下 git 。

这样子我们产品的MVP总算堆出来了。

后来公司的团队成员有了一点变动,项目进度基本停滞了,产品经理和UX、UI会讨论产品原型,然后出原型图、设计图。我呢,就没有太多的任务了,只是断断续续完善一点东西。

这样的时间大概持续了一个月。

这个期间我学了 d3.js ,这个前端的数据可视化库,因为我们产品到后期可能要用到数据可视化库,而且掌握一个数据可视化库对前端开发来说并不多。

不得不说 d3.js,还是比较强大的,它的强大就在于可以灵活的做出想要的效果,而不像 HighCharts ,这些库拘束性比较大。

还有就是,之前听我们的后端说用的是 Python,然后就学了一点点。现在对这门语言印象比较深的就是它是靠空格来分割代码的,看起来很优雅。

了解一点Python之后,有个好处就是我对计算机语言的认识加深了一点,比如同样是循环或者条件语句,各种计算机语言会有不同的表现方法。

这一个月过去了之后,项目重新规划了一下,又继续开发了,但是前期是UI在出图,然后这个期间我就看了一点node的文档,万一以后使用node做东西呢,也算有个基础。学的不深,但是搭个本地的服务器,修改下文件名,新增文件、修改文件、删除文件还是可以做到的。

这之后就到了9月份,我印象还是挺深刻的,一下子增加了好多开发任务,整整忙了一个月,这一个月真的是实践的一个月。对开发的理解加深好多。

这个时候用上了 vue-cli 来搭框架,我用的vue-cli 的webpack 模块,自带babel 转换,所以就直接上手 es6 了。

然后就到了10月份,十一放假而且有朋友结婚就回家了,到了中旬家里有点事又回家了。这一个月基本啥都没干。

到了11月又忙了一个月。由于项目的一个重要分支之前没有加路由,没有加状态管理,所以不得不重构了一遍,而且项目又增加了一个很关键的需求。

这时候尤雨溪大神刚好发布vue2.0的正式版,所以就一并换到了vue2.0。

到了这时候我对vue2.0版的全家桶的基本部分都掌握了。

这时候到了12月了,这个月断断续续对项目做了一些优化。值得一说的一个点是我在服务器的请求用上了异步+Promise,以前由于经验不足+时间匆忙一直用的同步,网速理想的情况下同步也尚可,但是一旦网速较慢整个页面都会卡住,这是十分不理想的。这个估计是项目中最大的败笔了吧,好在可以调回来。从开始用的 zepto 的 promise ,后来全部转到了 es6 的 promise,然后是 Promise().all() Promise().race() 这些都掌握了。

12月我利用闲暇看了 《JavaScript高级程序设计》这本书,看了其中的4-5章。对于原型、继承认识清晰了,还有了解了JS数据的属性,还有学了 Object 对象的一些常用方法。可以说收获还是蛮大的。

自我定位

感觉自己的性格、IQ、EQ和特性还是比较适合前端开发这份工作的,然后了解新东西、理解新东西、学习新东西自我感觉还是比较快的,这是我的优点。

然后我这个人还是有点懒,在没有业务压力的情况下,偶尔会找不到北。希望新的一年能够有所进步。

然后是英文水平比较差,英文文档借助翻译还能勉强看,但是速度很慢。希望新的一年能有所提高。

感悟前端

对前端开发人员总是有各种各种的称号,程序猿、码农、前端、前台、前端开发、H5开发等等。对我自己而言,我更倾向于把自己看作一名前端工程师,是的,是前端工程师,而不仅仅是前端开发。

这个之间的差别就是前端工程师是基于项目工程的,就是说我做的东西要对整个项目负责,而不仅仅是完成指定的需求。换句话说就是我做开发是基于业务需要开发的并非仅仅是基于产品经理提的需求或者UI做好的页面。我对技术的理解是解决问题的能力,提高用户体验的能力,这个还是很重要的。这样才可以说前端开发还是蛮有趣的,因为再有趣的事情做上一千遍的时候也会厌烦。

当然从某种层面讲这种观点有点理想化,毕竟在大公司,每个人都只是一颗不太起眼的螺丝钉。这里只是说下自己的观点罢了,不见得很合理。

拥抱2017

2017年,工作上还是继续优化项目,增添一些新的功能。这些还是很期待的。

然后个人对前端的学习上,希望从学习一些库的源码切入进去,首先是 zepto/jquery 源码,这些大概要花几个月时间了,之后尝试看下 vue 的源码吧,估计都比较有困难,但是真的能够做到的话,相信在前端的道路上是一个很大的进步。

最后,看看大家的2016.
最后的最后,祝大家2017新年快乐!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你如何在java中获取线程堆_如何在Windows上获取未在控制台中运行的Java进程的线程和堆转储...

问题我有一个Java应用程序,我从控制台运行,然后控制台执行另一个Java进程。我想获得该子进程的线程/堆转储。在Unix上,我可以做akill -3 但是在Windows AFAIK上获取线程转储的唯一方法是在控制台中使用Ctrl-Break。但这只会让我转移父进程&am…

html ie乱码_Java 0基础入门(初识Html)

在学习Java之前,我们需要了解一定的前端知识。毕竟页面才是用户真正看到的,而且也是体现Java后端逻辑结果的地方。学习HTML后,能够制作界面美观大方的静态网站(更复杂的功能需要JavaScript脚本一起来实现)。HTML制作的网页。所需要的Html开发…

常用自动化框架简单的分析与介绍

目前常用的可用于APP自动化测试的框架有以下几个: 1、Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也…

linux一步一脚印---more、less、head、tail

一、more 文件内容或输出查看命令more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比; [rootlocalhost ~]# more /etc/profile 1、more 的语法、参数和命令&#…

单片机检测stc没反应_我为什么不用STC单片机

写在2019.10.27这属于自己打自己脸,不过,我突然想试试 STC15W108.理由可能有点操蛋,因为STM8S没有 DFN8这样 3x3的封装,而PIC的仿真器太贵。我最后感兴趣的一个STC型号是 STC15F的8脚系列,那是在2010年,然而…

commons-pool

commons-pool组件是使用对象池时都要用到的。他的作用主要是管理对象池, 当我们要用这个组件时(比如redis要用到时),只需要实现它的部分接口,比如PooledObjectFactory接口,实现它的创建对象,销毁…

JAVA中CyclLink怎么用_Java多线程基本使用一

1 多线程--初步【1进程比如:QQ、迅雷、360、飞秋...2线程的概念3线程的意义:4.Java程序的运行原理代码是运行在线程中的,如果一个进程没有线程,那么进程就结束了,也就是说一个进程至少要有一个线程当开启一个Java…

指针分析

int *a; int b 4; a &b; //a:b的地址 //*a 取b地址的值,为4 //&a为指针变量的地址 //*(&a)为指针变量储存的地址 即为a int **b &a; //b为指针变量a的地址 //*b为指针变量a所储存的地址 //改变*b(指针变量所储存的地址)即改变了*b的值转载于:http…

live server插件怎么用_分享几个我日常使用的VS Code插件

在这篇文章中,我想介绍一下自己日常使用中最喜欢的Visual Studio Code扩展。大多数时候,我用VS Code编写的是JavaScript应用程序(标准JavaScript、React、Angular、NodeJS……各式各样)。Bracket Pair Colorizer 2这个扩展很不错,可以帮助我搞…

Xtrabackup数据全备份与快速搭建从服务器

Percona Xtrabackup可以说是一个完美的数据备份工具。特别是当数据库的容量达到了一定数量级的时候且存在单表达到几十G的数据量, 很难容忍一些逻辑备份的漫长时间。如单个数据库约200G,单表最大为120G,mysqldump逻辑备份的时间长达20多小时。…

简单的java方法_Java简单实用方法一

整理以前的笔记,在学习Java时候,经常会用到一些方法。虽然简单但是经常使用。因此做成笔记,方便以后查阅这篇博文先说明构造和使用这些方法。1,判断String类型数据是否为空String类型的数据为空,主要为等于null或”“那么只要判断…

Android应用程序开发

第一章 Android应用初体验 1.1应用基础 activity是Android SDK中Activity类的一个具体实例,负责管理用户与信息屏的交互。 应用的功能是通过编写一个个Activity子类来实现的。 布局定义了一系列用户界面对象以及它们显示在屏幕上的位置。组成布局的定义保存在XML文件…

phonegap

phonegap 框架详解 转自:http://www.cnblogs.com/hubcarl/p/4216844.html首先, 来看一下phonegap 初始化流程以及Native 与 JS 交互流程图。 说明:socket server模式下, phonegap.js 源码实现的采用1 毫秒执行一次XHR请求, 当Native JS 队列里面有JS语…

j2ee核心模式_Operator和Sidecar正在成为软件交付新模式

现如今的开发人员希望可以开发出具备弹性和可扩展的分布式系统。该系统受益于软件复用和开源模型创新,针对安全性问题能够轻易完成补丁更新并进行低风险的升级。该系统不可能通过带有各种嵌入式语言库的应用程序框架来实现。最近,一篇关于“多运行时微服…

微信JS-SDK选择相册或拍照并上传PHP实现

理解:微信上传接口是拍照,或者选择本地照片,上传到微信的服务器,获取到一个id,通过token与这个id获取到图片,保存到服务器即可。 效果 通过微信js接口,调用底层程序。 需要引入js文件&#xff0…

JMS-ActiveMQ学习-3 ActiveMQ与Spring集成

Spring下开发消息的发送和接收程序 点对点模式 一、创建生产者项目 1.创建maven项目 2.添加spring-jms、jms规范、activemq依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms&…

看libevent所遇到的英语生词

libevent – an event notification library The libevent API &#xff08;libevent应用程序&#xff09;provides a mechanism&#xff08;机制&#xff09; to execute&#xff08;执行&#xff09; a callback function&#xff08;回调函数&#xff09; when a specific&a…

java中迭代器要导包吗_java 中迭代器的使用方法详解

java 中迭代器的使用方法详解前言&#xff1a;迭代器模式将一个集合给封装起来&#xff0c;主要是为用户提供了一种遍历其内部元素的方式。迭代器模式有两个优点&#xff1a;①提供给用户一个遍历的方式&#xff0c;而没有暴露其内部实现细节&#xff1b;②把元素之间游走的责任…

android socket 长连接_TCP/IP,http,socket,长连接,短连接

点击上方蓝色字体&#xff0c;选择“标星公众号”优质文章&#xff0c;第一时间送达上一篇&#xff1a;这300G的Java资料是我师傅当年给我的&#xff0c;免费分享给大家下一篇&#xff1a;这200G的Java实战资料是我师傅当年教我的第二招作者 | ksfzhaohui来源 | my.oschina.net…