之前没有做过年度总结,倒不是觉得没有必要,而是太懒了,不愿动手记录。想想这刚过去的一年,经历了不少的事情,也犯过不少的错误,记录下来,以史为鉴,警醒自己,勉励自己。

工作上

​今年的互联网寒冬迹象越来越明显,公司已经欠了我好几个月的工资了,因此总体上基调是压抑的,但是本职上的工作还是认真有序地负责了始终。

​今年参与过的主要任务有支付中控优化、微信人脸支付、小型机项目、项目内存和 cpu 占用过高bug 修复。在优化微信人脸支付项目上线时,由于未考虑到旧客户端版本兼容性,被打回了。这件事警醒了我在设计接口要考虑周全,兼容客户端旧版本。下半年也出现过由于内存占用过高导致 Linux OOM 的问题,以至于服务宕机超过两个小时,而且出现过两次!第一次出现的时候,同事都还在,我没有参与到解决方案中来。大约过了两个月后,又出现了OOM,(这次大部分同事都离开了),整个服务宕机了。这里简单地说一下解决过程:首先,查看服务日志,找到了很多服务报出的异常/错误日志,但这些服务都不是导致宕机的主要原因(它们都是 OOM 的受害者);接着,运维发现使用 ssh 登不上服务器,他开始联系微软(服务器提供商),并重启服务器,同时,另一个同事发来了第一次宕机的调查日志,当时由于情况比较着急,日志也太长,我简单地浏览了一下;然后,重启完服务器之后,发现服务都没有加入到自动启动列表,手动重启了核心服务,服务日志显示订单无异常之后,又把剩余服务重启了。经历了大约两个小时后,整个服务恢复正常。但是,此番操作只是临时性的修复,没有解决根本原因,下一次还会出现的,毕竟此前就出现了一次。

​服务宕机的根本原因,在之后的一两个月内发现并解决解决了。我是通过当时的服务日志、微软给的调查日志和 pprof 定位到内存泄露的代码,很快就修复了,但是上线花了比较长时间。为了预防类似的问题,我们也做了一些预防措施,比如所有服务加入到自启动列表,prometheus监控服务器资源占用情况并加入阈值报警机制,所有服务加入 pprof,方便调试。后面的服务 cpu 占用过高也是通过 pprof 解决的,不得不说,profiling 真是解决问题的神器。

​关于技术,感觉今年没什么长进,毕竟业务决定了技术,自己也没有好好地深入学习。这是下一年亟需解决的一点。不过,今年阅读的博客颇多,内容也都是精华,在此感谢他们(主要的):面向信仰编程No Headback当然我在扯淡码农桃花源Tony Bai煎鱼的博客gocn.vip

​今年,是离职的一年,我目睹了一大半的同事相继离开,心里不免有些悲伤。广阔天地,大有作为!为了今后的发展,我也提了离职,希望来年能找到一份如意的工作。

阅读与学习

​我看过的电影和书籍,一般都是在豆瓣记录的,豆瓣是一个不错的小众的记录点滴的地方,它显示我今年看过了 65 部影视作品,对比之下,图书就比较少了,记录的只有 8 本。对于阅读,我还是秉持着多多益善,精益求精的态度。多读书对自己总是有好处的。今年看的书大部分是文学作品,详见:他看过的电影和书,数量也是比较少的,希望明年的数量能翻倍,不同领域的作品也都能涉及。

​今年还参加了不少的线下线上活动。从 GopherChina2019、两场 Golang Meetup、蚂蚁金服双十一 Service Mesh 线下活动、中国 MongoDB 用户大会(纯粹去划水)、谷歌北京线下活动(GDG)。前面三场的内容很扎实,收货很大;后面两场感觉收益不是很大,一来是我很水,二来是主办方很水(目的是打广告)。参加了一些下线活动之后,我也总结出一些经验:1. 去看自己感兴趣或者贴合公司业务的;2. 要保持精力,认真听讲,头天晚上要好好休息;3. 免费的大多数都是广告推广,要自习甄别,能不去就不去。

​线上活动主要是go夜读,通过 zoomus 聆听各位大佬的源码解读、业务架构讲解、实践经验分享,学到了很多。今年有段时间没怎么关注,漏掉了不少大佬的直播。明年会好好关注,提前预习,认真听讲和实践。在这里也非常感谢杨文大佬倾力主持夜晚,为夜读做了大量的贡献。

​关于学习,我发现之前的学习方式是毫无章法的,杂乱,涉及的领域也多种多样,chrome 收藏的书签超过了 800,其中大部分都没有回顾过,很多书签也无法访问了,这些历史书签对我来说都是累赘啊。于是我在十二月,花了两三个礼拜清理了近三百个书签,做减法的感觉真的很爽,希望以后能在各个方面做到断舍离吧。最终目标是把书签减少到 200 个,希望能在 2020 年完成。我的职业规划是在一两年内(2022)成为技术专家,三年左右(2023)成为架构师,因此,我希望在新的一年找到工作后,能学习一些底层和职业语言扩展之外的东西,从 Linux 内部原理、内存模型、进程线程管理、编译原理、汇编,到MySQL原理、Redis 源码、消息队列、rpc、k8s 体系结构、C 以及 C++,再到其他编程语言js/ts、java、rust。学无止境,我爱学习!

外出游玩

​今年的工资没到位,我本不应该出去游玩的。但是今年出去玩的次数比去年多一些。

​先说说北京省内,三月初陪前同事超哥爬了香山,那时初春,香山光秃秃的,没什么看头。不过下山的时候遇到了几件有趣的事情,超哥另辟蹊径,从陡峭的路走下去,惹得一个穿红色衣服的小女孩跟从,她的妈妈也跟着受累。还遇到了一个民谣歌手,我们听了几首歌之后,买了他的专辑,不过那个专辑后来我们都没有听。后来一个人去了植物园,见识了很多叫不出名字的花儿,很满足;也去过长城,共两次,第一次我一个人,后面是我陪同姑姑姑父去的,爬得真累,现在不想去了。后半年去了恭王府附近,走马观花,就不描述了。

​至于其他省份,今年共去了三个地方,上海,乌镇,成都。六月初的时候,为了释放内心的压抑(工资不到位),当时也有一张免费的 MongoDB 大会的票,就请了两天假,坐飞机去了上海。在上海定了个比较偏的民宿,这是比较气人的,每次出门都浪费了不少时间。去了外滩,喝了大白兔奶茶(不怎么好喝),逛了一遍城隍庙,和大学同学吃了一顿,感觉还是不错的。一个人在上海也没什么好玩的,就出发去了水乡乌镇,大概待了一天多,看了木心博物馆,逛了乌镇的老街,后面的就记不清了。国庆节时候,以为公司会发半薪(最后还是没发),就去了成都。在成都,看完又脏又懒的大熊猫之后,逛了宽窄巷子和春熙路,在建设路排了两个晚上(两次),吃了不少好吃的美食,和高中同学吃了钵钵鸡,后面还去玉林东/西路逛了逛,在一家不知名的酒吧坐了一会儿。此次成都游玩的最大感悟,就是不要在节假日出门——人太多了。

新的一年,新的期许

​我的2019 年,总体来说是糟糕的。坏的习惯没有摈弃,优秀的习惯没有形成,生活和技术是停滞不前的。一切都会过去,过去的就让它过去。不缅怀历史,只展望当下。希望能在 2020 年找到一份满意的工作,养成阅读和写博客的习惯,多参加线下活动,多于其他不同行业的人交流,在技术上掌握 Linux 的底层知识和了解开源项目的源码。

为者常成,行者常至。