2016 年总结

从来没有写过年度总结,今年决心写一次,也算是对满是感慨的2016年做个纪念。从年前一直拖到现在,拖延症着实严重,Mark一下日期:2017-02-09。哈哈~~梦想和现实总是很矛盾,从我的博客名和我的性格中就能体现出来。


生活

截至今年中秋节,爱情长跑已经跑了6年,依然是异地,从早期的分分合合,到现在谈婚论嫁,整体上看似乎是顺顺利利,然后实际有多曲折,可能只有我们俩自己清楚。能遇见已是缘分,在一起更是不容易!

不得不说,在这场爱情长跑里,她牺牲了很多很多,远超于我。为了能在一起,结束异地生活,争论了很久,最后她选择了辞职来北京找我,这件事情上,我有点狠心,并且越是临近她来北京的时间,我越觉得矛盾与愧疚。矛盾是因为2016年北京的房价,呵呵,涨了一倍,虽说年轻该闯一闯,但现在真的怀疑这些决定是否值得,但愿多少年后,回首再看这篇博客时,能够回复两个字:值得。再说愧疚,专科学历的她,放弃了本来舒适、稳定的工作,来北京找工作,承受的压力可想而知。除此以外,因为我们俩学历不对等,这么多年来自周围的言论,也是给她带来了巨大的压力。然而我不仅没有同意回合肥发展,也没有能力帮助她,让她来北京过上幸福、安逸的生活,至少在现在的房价下,两、三年内没有希望。

(PS:居然能让房价涨了一倍,也不知道上面是干嘛的,我就不信2017年上半年你不回落一次)

因为她的牺牲,我们的爱情也前进了一大步。用行动和态度说服了双方父母改变了心意,家长见面、领证日子、婚礼日子,习俗礼节等等,两星期内全部敲定,万事俱备,只欠落实。这样的速度,连我们自己也觉得惊讶。

爱情果真是一件让人幸福、愉悦的事情,尽快工作上突发变动,心情压抑,但每每想到谈婚论嫁的事宜,总会多云转晴,动力十足。


工作

今年年初时,刚毕业半年,也刚工作半年。之前没有实习过,工作经验少的可怜,另外基础也不扎实,所以,可以说是彻头彻尾的新手菜鸟!尽管如此,在工作方面,今年着实收获很多、成长很多,同时也感慨很多!

前一年写了2个月数据库自动化脚本,天天加班加点的,好不容易积累了点数据库运维技能,夯实了python、shell编程能力,准备强行当一个DBA,搞一点运维开发、数据分析。结果今年……尼玛!依次做了批量部署、装机自动化(what‘s the fuck?!)、服务端开发、系统发布与持续集成、自动化测试、系统环境运维、前端开发……唉~~莫名其妙的被领导刻上了“全栈”的印记,亲身体会到了那种“什么都会做,又什么都不会做”的感受。尽管如此,“全栈”没有白做,高的离谱的绩效也没有白拿,这一年我还是成长了很多,总结一下收获:

1、批量部署

说起来很简单,然而在公司几万台服务器上操作,所需要的可不仅仅是“怎么做”,更重要的是“要注意哪些情况”。怎么做?我用的是Ansible。要注意哪些情况?密码文件的管理、rm等高危操作(莫名的想起了gitlab事件,可怜的管理员)、机器品牌、机器型号、操作系统版本、MegaCli版本、磁盘空间、用户权限、性能等等,各种各样的特殊情况。幸好有位大神罩着,不然我这个菜鸟也不会成长的这么快,这对我后续的做事风格影响很大,这也是领导比较重视我的一个原因,做事、写程序考虑的因素、场景很全面,对于危险的操作有足够的防护措施和回滚策略。

话说那个全自动部署的脚本写的真是漂亮,解析文件、批量部署、分析部署结果、生成部署结果Excel,几万台服务器的批量部署,全部自动化,真的是很厉害,然而能体会到这一点的可能只有我和那位大神两个真正做的人。

2、装机自动化

从大学开始,如果遇到了“难啃的骨头”,一般都是我上,我也不知道我身上的哪个特质导致了这样的情况(不过我这个人好奇心比较重,做之前都比较兴奋,并不抵触,然而也只是做之前~~之前~~前~~)。难啃的事,不一定就很难,技术也不一定就很高深,关键在与:压根就不想做,比如说装机自动化。我一个计算机科学与技术专业毕业的人,硬件不怎么懂,嵌入式也没好好学,之前也都是写Python、Shell,再多点也就用了点MySQL、MongoDB、Ansible,领导居然让我去做自动化装机,这是个什么鬼?!即使做出来,对我以后有什么用处?并且这回可不像批量部署那次有个大神照顾了,什么是ILO?什么是IPMI?什么是PXE网卡?通通都不知道!脑子里的唯一的想法就是:“刚买回来的机器,都没开机,也没有系统,没有人工介入,怎么装系统?”

尽管如此,最后我居然单枪匹马,一个星期就给出实现方案了,现在想想也是蛮自豪的。实现方案:PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统。虽然实现方案是可行的,最后我也确实实现了,然而结果却差强人意,纯粹变成了我的技术路线的一个冷门分支,并没有实际成果落地,因为任务起初定下的会提供给我机器的MAC地址,最后提供不了,导致整个实现方案不能覆盖到所有机型。这是我的工作生涯中,第一个失败的任务,尽管我自己是满意的,因为你给我MAC地址,我就能完成自动化装机。

3、服务端开发

系统上线后,用户体验并不好,Bug很多,前端、后端人手不够,领导单独请吃了一顿饭,1个小时的功夫就把我从底层Python开发转成了后端Java开发。虽然Spring MVC、Hibernate都没看过,但是边学边做,倒是很快就达到了基本开发的需求。修了2个月的Bug,又开始负责数据库相关业务逻辑,再之后逐渐的扩展到系统大部分业务逻辑,以及多个系统相关组件的开发与运维,包括监控组件、报警组件、任务调度组件、定时任务组件等等。在这个过程中,自己的问题定位的能力、业务逻辑的理解能力、系统框架的设计思想、数据库表结构的设计思想、团队协作能力、开发流程的规范化、文档的规范化、项目管理等都有不同程度的提升。总的来说,开发技能进步的很少,但是在系统的整体框架,以及业务逻辑的理解上提高了很多。

对系统整体框架的了解,对各个业务逻辑的把握,以及良好的沟通、工作方式,确立了我在项目组内的核心骨干地位,参与了一些重要功能的设计与开发。

4、系统发布与持续集成

因为Bug太多,外界给的压力太大,领导希望每天都能看到效果提升,从而几乎每天都要发布系统,修复Bug。刚从底层转到后端的我,正好接手了系统发布的工作,当时还是手动发布。作为一个写了几个月底层代码的人,我实在是接受不了每天心惊胆战敲着相同的命令,生怕敲错一个命令,就会系统崩溃。于是我写了一个自动部署的Shell脚本,部署快了,但是打包、上传war包还是很慢(因为是在本地打包,上传到服务器,笔记本配置太差)。所以我又搭建了个Jenkins,花了两天配置好了,整个跑通了。考虑到之后能将系统发布工作交接出去(实在太枯燥了),又添加了在ftp上的版本管理,与Git双重保险,并添加了一键回滚策略,保证万无一失。 一键部署,一键回滚,十分方便,搭建完使用了好多天后才知道,原来这个玩意还有个专门的名称:持续集成。自己方便、团队开心、领导满意,简直不能更好。

5、自动化测试

在2个月的Bug修复时期,出现了多次产生了新的Bug、Bug反复出现的情况,在新功能开发中,领导严格要求开发流程的规范化、文档的规范化,另外,就是要引入测试来保证系统的质量。领导的这一决定,项目组的很多开发都不理解、不赞成,觉得是在浪费时间,但是我个人一直是非常赞成这个想法和理念的,尤其是测试驱动(TDD)的思想,虽然行为驱动(BDD)更加高大上,但是我觉得测试驱动更加符合当时的项目及开发者的情况。不过,仅仅是赞成想法而已,真要实现,我是反对的,各个开发在测试上想法不一致,强行推行测试,并不会得到预期的效果。个人感觉,想要落实测试,团队成员必须都要对测试有足够的重视,即使你不是一个测试人员。

话题说偏了,简而言之,领导又让我设计一套自动化测试方案。一方面,要能融入持续集成中,测试不通过就不进行构建、部署;另一方面,要能覆盖前端代码、后端代码、底层代码;最后,要能模拟用户,进行整个流程的测试,也就是用户验收测试(UAT)。最后我的设计方案是:1.使用Selenium测试框架进行UAT测试,同时也能覆盖到前端代码的测试,该测试仅针对更新频率较低,并且重要的页面流程进行测试,其它测试代价太高,折中后放弃;2.使用JUnit编写单元测试,进行后端代码的测试,然后在Jenkins构建、打包前,通过Maven调起单元测试,测试通过才构建,否则失败,并发送邮件通知;3.使用UnitTest等测试框架,编写单元测试,进行底层代码的测试,比如Python程序的测试。

庆幸的是,领导仅让我设计了方案,搭建、配置了部分环境,并未让我全权负责测试代码的编写,总算逃过一劫。作为一个好同事,我还友好的提醒了其它快要掉进这个“大坑”的同事,个别还给出了逃离理由,唉~~真是对不起领导啊,谁让你这个真的有点坑人啊~~

6、系统环境运维

我运维了几乎所有的系统和组件,运维真是件痛苦的活,尤其是特别重要的组件,比如报警组件、任务调度组件。尽管为了省事,我已经写了很多组件运行状态的监控脚本,各个组件也都有高可用脚本,但是依然有很多事情要处理,比如机器宕机、机器下线、节点迁移、添加节点等等。每个组件每个操作,会影响到哪些组件,会影响到数据库中的哪些表。唉~不得不感慨,知道多了也很累,各种事情都会来找你。

7、前端开发

我并不懂前端开发,然而因为分工不是特别明确,经常进行后端开发或者Bug修复,会涉及到部分前端内容,总是不停的找前端开发人员,找多了自己也不好意思,比较人家也有自己的任务。没办法,索性就学了前端的基本知识:Html + CSS + JavaScript,我个人特别喜欢页面这种所见即所得的感觉,突然发现还挺有意思的,于是乎又学习了JQuery + EasyUI,慢慢的,不仅问题不找前端了,后来干脆跟领导说我的页面我自己画,不用找前端人员了。就这样,我又成了前端开发。最近又看了点BootStrap和Vue.js,MVVM还是挺不错的,虽然还不怎么会写,但是并不妨碍我很喜欢前端开发的感觉。

时间: 2024-09-29 22:07:45

2016 年总结的相关文章

聊一聊前端模板与渲染那些事儿

欢迎大家收看聊一聊系列,这一套系列文章,可以帮助前端工程师们了解前端的方方面面(不仅仅是代码): https://segmentfault.com/blog/frontenddriver 作为现代应用,ajax的大量使用,使得前端工程师们日常的开发少不了拼装模板,渲染模板.我们今天就来聊聊,拼装与渲染模板的那些事儿. 如果喜欢本文请点击右侧的推荐哦,你的推荐会变为我继续更文的动力 1 页面级的渲染 在刚有web的时候,前端与后端的交互,非常直白,浏览器端发出URL,后端返回一张拼好了的HTML串

使用 Raspberry Pi 上的传感器在 Node.js 中创建一个 IoT Bluemix 应用程序

先决条件 一个IBM Bluemix 帐号,一个 Raspberry Pi 2 或 3,一个 PIR 运动传感器 适用于本文的 Github 存储库 如果您是一位精明的 Bluemix 开发人员,您可能只想看看如何在 node.js 中与 IoT 建立连接,或者只想了解如何从此 github 存储库中拉取我的代码. git clone https://github.com/nicolefinnie/iot-nodejs-tutorial 以下是实现与 IBM IoT 平台连接在一起的 4 个 R

爱奇艺、优酷、腾讯视频竞品分析报告2016(一)

1 背景 1.1 行业背景 1.1.1 移动端网民规模过半,使用时长份额超PC端 2016年1月22日,中国互联网络信息中心 (CNNIC)发布第37次<中国互联网络发展状况统计报告>,报告显示,网民的上网设备正在向手机端集中,手机成为拉动网民规模增长的主要因素.截至2015年12月,我国手机网民规模达6.20亿,有90.1%的网民通过手机上网. 图 1  2013Q1~2015Q3在线视频移动端和PC端有效使用时长份额对比 根据艾瑞网民行为监测系统iUserTracker及mUserTrac

China Operating System 电脑操作系统 2016全球互联网排名

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 电脑操作系统 China Operating System 2016全球互联网排名 ========

在vSphere环境下简单测试Windows 2016 S2D (1)

伴随这两年SDDC(软件定义的数据中心)越来越热,作为其中重要的建设区块的软件定义存储(SDS)也越来越多地被各行业,各类规模的数据中心所使用.作为SDS厂商之一的微软,面对这块蛋糕当然不甘人后,从Windows Server 2012开始,微软隆重推出了他的SDS解决方案--Storage Space.该版本还是需要建立在共享磁盘柜(JBOD)的基础上,和其他主流SDS厂商一样,其目的是通过将JBOD里各类磁盘加入到一个或多个存储池,再从存储池里划分存储空间(Storage Space)给单台

2016年度总结

2016年度总结 四季交替,冬去春来,不知不觉间,2016年又过去了.2016年是平静的一年,也是充满故事的一年. 16年6月之前,我的生活和15年一样,在保税区机房昼夜交替值班.身体依然上火严重,睡眠和饮食质量依然不佳.上班处理服务器硬件故障.搜集服务器故障日志.巡检.上下架服务器.拉网线光纤线.登记更新各种表格信息.下班睡觉.爬山.跑步.做仰卧起坐.每个月的生活几乎一样,唯一在变的是一去不复返的时光.      16年6月 ,我调岗了.由原来的机房值班岗位,调岗到公司总部开始了周一到周五每天

我的2016,我的盲路

转眼2016已经过去明天就是除夕了,坐在家里的火炕上看完正在追的剧半夜倾城,觉得心里一阵空虚明天我就23了,人能生有多少个23呢,回忆着过去的一年突然想写这篇文章总结一下过去的自己. 记得2016年刚开学的时候,我给自己定下了三个目标,第一,一定要拿下驾照,第二,大学英语怎么也得过四级的,第三就是希望可以拿下软考的中级,如今这三个目标我完成了俩唯一的遗憾就是软考没有过,我的大学是一个民办的三本,自从上大学以后我就觉得特别的丢人家里是东北的别人一问你是哪个学校的我就感觉内心极度的自卑,好在学了个我

2016年12月25 至 2018年12月25,致未来

未来总是充满遐想,两年的时间给自己一个成长,多的是努力,今天又是一年圣诞,孤独感爆棚,这是必经之路吧:成功的路上总是充满孤独与落寞,看了一篇文章,这世界程序猿分为三等,天才型,理想型,庸才型:我想我要做第四种--勤奋型:给自己加油!两年很短,多一点努力吧! 2016/12/25  圣诞  合肥   雨 随感

2016年 CSS 库、框架和工具新生榜 TOP 50

看看 CSS 在过去几年的巨大变化和快速发展,你就不会对它今年的开源工具大产量感到惊讶了.这些 CSS 库.框架和工具的建立不仅给我们提供了学习的视角,更给我们的工作与生活带来了便利. 本文精选了 50 款 2016 年发布的 CSS 库.框架和工具供大家享用,希望它们对您有所帮助. 分类快速预览:CSS 库,CSS Spinners,CSS 图像特效,CSS 实用程序,设计指南工具,响应式邮件与通讯列表框架,Flexbox 布局工具和框架,CSS 布局框架和 material design 框

【我拼搏的2016】-Python进行时

作为一名在IT圈混迹多年的老兵(虽说现在技术有了很多天翻地覆的变化),但不会编程,一直是我混迹IT圈的一个痛点,从C.C++.一直到PHP,也曾经翻过很多入门书籍,也曾经非常渴望体验一下程序员们经常提到的那种成就感,但由于经常被算法和复杂的模块搞的晕头转向,加上工作上用的不多,所以一直没有能够真正掌握到一门编程语言. 直到我了解到了Python,简洁的语法,强大的内置模块,再次唤醒了我心中开发的梦,后来又了解到Python语言开发了alphago,使我想掌握该语言的欲望再度增加,经过选择,于20