有的时候自己都很惊讶于作为公司里的某个岗位,一个人在这个岗位上到底承担了多少事情,这个职位在公司里称之为Configuration Management(CM), 大致上作为一个开发人员承担了除了开发之外的所有事情,比如开发某些工具,维护打包工具,维护各个部署环境,编写某些脚本等。使用后面流行的术语应该称之为DevOps,一个人承担了整个公司的DevOps工作,只是在2017年的那个时候,公司里还没有落实CI/CD那些方法和方法论。
同学FF正是这个职位上的现职人员,好像是干了几年了,至少在我来公司前就已经在这个职位上了,根据公司领导的安排,我在2017年上半年开始逐步接手CM的工作,断断续续的交接工作持续了3个多月,然后在交接过程中,我也撰写了一份CM工作手册,最后交接完毕后,这本工作手册写了100多页,确实有些意想不到,而且还是纯英文的,这是不是意味着其实我已经具备了英文写书的能力了。
只是好景不长,当我交接完后,公司开启了一轮人员变动和裁员工作,FF被裁员了,随同被裁的还有当时跟我一块开发Arduino程序的S同学,S同学所在组在不久前刚完成了页面前端的重构工作,替换了老掉牙的页面布局,使用Angular重写了一个更加专业化和好看的新页面,为此公司还给每个参与的人颁发了一张奖状,只是当裁员来临时,奖状也不能代表什么,这就像大明开国皇帝颁发的那些免死铁券,或发或收,持有者没有解释权,甚至在某些场合还没有所有权。
回归主题,2017年的8月份,作为新CM的我根据开发经理的安排开始开发一款数据库健康检查工具,基于这个工具,使用者可以比较两个数据库在版本和定义上的不同点,比如数据表,视图,存储过程,触发器等方面的定义,这样可以更好的定位出各个环境的数据库间的不同,从而更快的发现问题,解决问题。
基于这个数据库健康检查工具生成的报告则是以单个网页的形式展示出来的,在报告的样式和交互上,为了不额外依赖某些特定的脚本和样式文件,实现随意复制和传阅,这个报告网页对于脚本和样式的引用都是从网络上直接引用的,比如从ajax.googleapis.com上引用jquery文件,从maxcdn.bootstrapcdn.com上引用bootstrap样式文件。为了更好的生成报告,我们还特意编写了一个报告模板,模板文件本身就有四千多行代码,生成报告的时候只要读入这个模板,然后把数据按照约定的格式填进去即可。
发表回复