2018 年工作记录
最后更新于 2019-02-20 22:27:00
从去年毕业到现在,时间过得飞快,今年的毕业生这个时间也已经走上工作岗位了,而我这一年工作上经历的事情要丰富的多了。
2018 年
今年,我已经不是个应届毕业生了,对我来说,已经度过了步入社会走上工作岗位短暂的过渡期。同时,今年毕业的同学们应该也已经走上工作岗位了,那么我也算是有一定工作经验的人了。
在这一年里,熟悉了工作流程的我,尽可能的抓住一切机会,让自己快速的成长,经历更多的事情。
思考
进入公司也有半年了,已经熟悉了工作流程的我,现在要思考的问题不再是怎样快速熟悉工作流程以及胜任基本的工作任务了,因此我决定把新的目标放在针对自己的领域如何提高自己的工作效率上。
作为 Web 前端开发新手,我还在手动编码,手动处理代码压缩,图片压缩,CSS 兼容等等这些工作,而且与服务器端的合作开发流程也不太顺畅。由于公司没有可借鉴的经验,所以就自己动手研究,首先将问题分解成了两个:
- 建立一套前端工作流,进行工程化实践
- 寻找更好的前后端合作开发模式
建立前端工作流
首先,则是自己所在领域的开发工作流程问题。Web 前端不像安卓、服务器端开发,它们都有专门的 IDE,提供一整套的开发工具包,而前端开发就相对于零散化了。
第一,刚开始用的编辑器是 Sublime-Text 3,后来在网上发现了 VS Code,感觉用起来要方便得多,就直接转战 VS Code 了,它确实是前端开发的利器。
第二,建立一套前端工作流,节省时间,把一些非核心业务编码的工作自动化处理。主流的方案有 Gulp 和 Grunt,在试用并且衡量优劣之后,选择了 Gulp,主要原因是因为配置比较简单,利于上手。
在使用了 Gulp 两个月左右之后,发现由于 JavaScript 没有类和模块的概念(ES5 没有,ES6/7/8 新特性浏览器不一定支持),代码量变大之后,JS 代码和模块难以手动维护。于是,准备采用主流的 Webpack 模块化方案。然而,网上的大多数教程还停留在 2、3 版本,这时候官网的 Webpack 版本已经到 4.5 了,最重要的是 4 之后的版本调整的特别大,与之前的 2、3 不兼容。所以,花了两周左右的时间,研究了下官方的 Webpack 英文文档和 GitHub 的版本更新文档以及 Demo,基本上配合 Gulp 搭建了一套完整的前端工作流。
利用 Gulp 工作流来处理 Sass 文件合并、压缩和图片压缩等工作,最后将 Webpack 插入到 Gulp 工作流中来完成 JavaScript 代码模块化管理工作,前端的开发流程简化了,工作效率也大大提升了。
后来,也在开发过程中不断的调整优化 Gulp 和 Webpack 的配置,尽可能的将能自动化完成的工作都交给它们来负责,减轻自己的手动工作量。
前后端分离开发/部署
其次,则是前后端合作开发的模式。在实际工作中,前后端都有不同的开发人员负责,初期进行并行开发。到后期,前端需要随时与服务器端进行接口数据对接,并进行调试。
传统的模式中,一个 Web 项目中前后端代码都在一块,要么服务器端开发人员拿着前端代码去调试,要么前端开发人员拿着服务器端代码去调试,由于对彼此的领域不熟悉,这个过程中会出现很多麻烦的事情,而且效率低下。
于是,参考现在主流的模式,进行前后端开发/部署完全分离的尝试,这个工作由我来做,过程还算顺利。主流的解决方案就是利用 nginx 来做一个反向代理,将前端静态资源均放在 nginx 前端服务器上,而服务器端代码则放在 tomcat 容器中。nginx 使用起来门槛也比较低,大多数东西都在配置文件中,不过这个过程中还是费了一些心思的。
因此,后期进行 Web 项目开发的时候,前端开发人员只需在自己的电脑上开一个 nginx 服务器,随时根据需求更改配置文件中的代理 IP 地址,这样前后端开发人员配合调试起来也方便、高效。
同时,将 Web 项目进行前后端分离部署,使用 nginx 也为后期做负载均衡提供了解决方案。
项目总结
因为基本技术能力尚可与公司项目多的双重因素,手上负责了两个项目,第一次经历整个项目的所有过程,困难多,收获也多。