2020年度个人工作总结
2020年已近尾声,临近新年了,忽然意识到这真是是极快的一年,又是极慢的一年。
新冠肺炎疫情从年初一直持续,经过全国上下齐心协力,停工、听课,全力抗疫,年中才得见曙光。然而临近年末,世界范围的疫情仍无好转,且国内疫情又有反扑之势,这一年中所有人都在关注着疫情,忽然发现2020年就这么过去了...
这一年中,我前半年居家办公,后半年复工上班,期间伴随了几次降薪,生活也渐至拮据,加之项目事物繁杂,只觉得日子过得极其缓慢,期盼早点到新年。
终于熬到了2020年底,2021近在咫尺,也正该总结一下这一年来的工作了。
# 上半年
年初即开始了在家办公,持续了近半年时间。这期间的工作重心在方案调研及Demo开发,调研并实现的包括统一认证登录系统、蓝牙测距app、fastdfs文件管理工具。另外还尝试完成了个人总结的常用前端工具类库。
# 统一认证登录系统
作为一个调研项目,此次主要是想通过调研确定后续公司自主项目的认证登录方案。
经过去年对cas认证登录方案的调研,我们发现过去基于浏览器session的登录方案均不适用于我们目前前后端分离的技术架构。因此我们只好自己实现了简单的基于 OAuth2.0 的登录实现方案。经过了数次讨论以及两次左右前后端的Demo开发,最后基本确定了实现方案。
具体方案可见我个人网站《Vue+OAuth2.0前后端分离单点登录调研》一篇。
# 蓝牙测距App
蓝牙测距App主要是由于疫情原因,响应集团提出的针对疫情申请自主创新项目的方案调研。方案主要是想基于手机蓝牙进行距离监测,提示用户在工作和生活中互相保持安全距离。
项目基于react-native框架开发,主要完成了安卓端app的开发和打包(ios系统需要开发者账号,放弃)。项目主要实现了调用手机蓝牙功能,显示附近蓝牙设备列表,包括设备名称、距离(获取信号数据后经过计算)等信息。
通过此项目,我对react-native框架有了初步了解。虽然后续项目功能未实现,仅作为demo进行了讨论。但通过对本项目进行创建、开发、打包、发布这几个主要流程的尝试,使我基本上熟悉了Demo级别的简单 rn App 开发技术。
# 基于fastdfs的ftp工具
此项目是疫情期间和服务端同学一起完成的用于ftp操作的简单系统,用于对不允许ftp桌面端访问的服务器进行文件的可视化操作。
项目基于fastdfs,前端使用vue进行前后端分离开发。主要实现了文件展示(平铺、列表)、查询、上传、下载、删除、重命名,文件夹创建、修改、删除等操作。开发完成后曾部署在内网试用,可以完成基本的文件可视化操作。
# ms-fe-tools个人工具类库
ms-fe-tools工具库是我个人总结的前端开发中常用的js方法集。主要用于在后续工作中提高开发效率,提升个人技术积累。
我在此项目中尝试了模块化开发思路,使用webpack打包后发布到了npm平台。项目包含了Tree、Store、Validator、Common等几个模块,实现对树形结构数据的处理、表单验证、浏览器存储以及其他常用方法的封装。此工具支持常规js使用与es6引入使用两种方式。
通过此项目我初步了解了模块化开发,尝试使用了单元测试工具jest,了解了npm平台的发布流程,后续还将尽可能继续添加常用工具方法,不断丰富。
npm包地址:https://www.npmjs.com/package/ms-fe-tools
# 下半年
下半年由于疫情好转,逐步恢复了到岗复工。主要工作包括了企业画像、网络安全、信号灯联网控制系统三个大屏项目,以及智慧工地项目。
# 企业画像(大屏)
企业画像项目主要是作为集团信息化的调研项目,为向集团领导直观展示当前集团的各种企业数据而开发。
我们在项目中主要负责前端大屏开发。主要包括了首页、二级企业画像、营业收入利润率、发展状况、风控、数据维护几个模块。
在此项目中我们首次尝试对大屏进行了简单的响应式适配,尽量满足大屏在尺寸不同(差异不大)的设备上的显示效果。
# 网络安全(大屏)
此项目仅作为网络安全监控系统的调研项目,无后台数据,仅作为前端开发项目。
我们在项目中同样尝试了响应式适配,取得了不错的效果。项目主要包括首页、资产态势、威胁态势、攻击态势、事件态势、处置态势几个模块,直观展示了网络攻击的各项数据指标。
# 信号灯联网控制系统(大屏)
信号灯系统是作为优化交通状况的综合管控工具调研开发的项目,主要包括概况、诊断、评测三个模块。
我们在此项目中主要负责前端大屏开发。此项目依然使用响应式适配方式,包含了图表、地图、滚动列表多个组件,以及地图联动事件等交互功能。直观展示了对地区交通路网的整体状况以及诊断分析数据。
# 智慧工地
智慧工地项目作为本年度最重要的工程项目,在今年秋季正式启动。此项目是作为某建设集团的智慧工地整体项目的一部分而存在。
项目包括首页、项目概览、人员管理、项目管理、物资管理、设备管理、成本管理、绿色施工、安全管理、系统管理、系统监控等模块。包含了对工地项目的工区、人员、岗位、工单、设备、物资、进度、费用、安全等方面的综合管控,此外还包括功效分析、自定义角色权限、劳务资源管理等多项可定制的系统功能,以及数据字典、定时任务、系统监控等常见系统功能。
在此项目中,我主要负责开发前端项目中的首页、人员管理、系统管理、劳务资源管理模块。在开发过程中,和同事领导经过讨论设计了本系统的人员角色权限架构,并与后端同事共同实现了角色权限控制这一基础功能。
通过此项目,我发现真正设计出一套完善的角色权限控制架构难度其实很大。每一套系统都或多或少存在其数据或是功能的独特性,根据这些特性在设计权限时需要极其缜密的思维。因为稍有不慎,考虑不到的点就可能会引发灾难性的后果,此外还需要想到实现功能的成本,综合这些因素后再进行设计。
# 小结
本年度项目主要分三大类。首先,对大屏项目开发有了更深的了解,开发了大屏项目模版来提升后续大屏项目的搭建效率。其次,智慧工地项目是一个比较传统的管理系统,对角色权限的设计和实现让我对这方面的理解也更加深入,对系统业务的开发也更加熟悉。另外,几个调研项目也拓宽了我的知识面,对之前没有涉猎过的领域有了初步了解。
然而,这一年项目过于繁杂,很多项目不了了之,除了对公司来说失败的成本过高之外,对我们开发者也是一种打击。希望以后的工作中类似的情况可以逐渐减少,可以多做一些有真正意义的项目。
# 总结
比较艰难的一年。
这一年我和身边大部分人一样,艰难的走了过来。从一个程序员工作的角度讲:接触了诸多项目,又失去了诸多项目,最后靠着留下的一两个项目度过了公司最小研发团队生死存亡的阶段。能有这么一点成绩实为不易,也多亏了领导和同事们的共同努力。
如果要总结今年的关键词,除了艰难以外,就是坚持了吧。在这期间也曾经想过离开,但回头看看,这两年来做过了十数个项目,能称得上满意的却凤毛麟角。难道就真的不能做好一个项目了?哪怕要离开,我也希望离开前能稍有作为。不求花团锦簇,不求灯彩佳话,梦中也不曾有百万雄兵,只为将来回首这一年时,没有后悔。
Initializing...