开始折腾“生命的回报”系统
大家可能看我分享的标题,会以为这是个多么高大上的项目,说白了,它就是我给自己建的一个“活得值不值”的记账本,我管它叫“生命的回报”。这个东西我前前后后折腾了两年多,主要是想把那些零碎的、但又决定生活质量的东西,全部自动化记录下来,免得我天天只顾着工作。
最开始的时候,我真是瞎搞。我在一台旧的树莓派上,装了各种语言的环境。一开始想着简单,用Python写了几个爬虫,去拉我跑步的数据、读书笔记的条目、还有每月固定的理财收入。爬下来的数据,我全一股脑地塞进了本地的SQLite数据库里。我当时觉得数据有了就行,根本没想过后面怎么用。结果?树莓派经常跑死机,数据格式五花八门,一团糟,查询起来比登天还难。
从一团麻到有所收敛
这个“大杂烩”系统跑了三个月,我彻底受不了了。每次想知道自己这个月是不是比上个月健康,光是数据清洗就要花我半天时间。这哪里是回报,分明是折磨。我立马决定砍掉重练。
我把所有逻辑都收敛到了一套微服务框架里。放弃了零散的Python脚本,把核心的采集、清洗、存储全部用Go语言重新写了一遍。为什么用Go?没别的原因,就是因为它占资源少,能稳定地在我的低配小服务器上跑起来。我把主要的记录类型定死了,就三大块:精力投入(运动、睡眠)、心智成长(阅读、学习)、经济效益(被动收入)。
- 第一步,我设计了统一的API接口,让不同的数据源进来时能自动映射成我系统里固定的格式。
- 第二步,我部署了自动日志收集服务。这样每次数据更新或者系统出问题,我不用登录服务器,直接在我的管理后台就能看到“更新日志”。
- 第三步,也是最费劲的,我搞了个简单的Web界面,用来展示这些数据和手动输入一些无法自动获取的生活记录,这就是所谓的“更新地址”。虽然界面丑得要命,但至少能用了。
为什么逼着自己做记录
你可能会问,一个程序员,为啥不把这些时间花在赚钱的项目上,非要折腾这种对自己生活质量没啥直接影响的东西?我一开始也没想通,直到我那年因为连续加班,身体拉响了警报。
那段时间,我工作上刚完成了一个大项目,自我感觉良觉得自己厉害得不得了。可身体是不会骗人的。我去看医生,报告显示我的各项指标都偏离了正常范围,医生直接说我这是过度劳累,再不调整就得大病一场。我当时人是懵的。我付出了这么多,回报在哪里?
回家后,我打开了被我嫌弃的那个“大杂烩”系统,虽然数据乱,但我还是硬着头皮拉出了近半年的生活记录。我发现一个惊人的事实:我工作投入的时间是直线上升的,但我的阅读量、户外活动时间和有效睡眠时间,全都跌到了谷底。我所谓的“成功”,是以牺牲我的健康和成长为代价的。
那一刻我才意识到,这个系统不是用来炫耀技术的,它是我的生活预警器。我必须逼着自己去记录,去追踪,去实时查看自己的投入产出比。这就是我后面把“更新日志”改成“生命的回报_更新日志”的原因。
系统还在不断迭代,它可能代码很粗糙,排版很简陋,但它每天都在告诉我,我今天有没有好好地为自己的未来投资,而不是只为了眼前的忙碌透支自己。这个回报,我觉得比任何项目的奖金都值。