又是一年:从客户端到服务端这几年

博客四年没写过年终小结以外的东西了,今天翻归档,看到 2019 年那篇,突然想写点什么。不是总结,更像是给自己留个锚点。 2019 年那篇里写"明年想做的事:学点服务端的东西"。现在回头看,这个愿望以一种完全没预料到的方式实现了——不是学了点,而是整个换了赛道。2021 年转岗到基础架构,一晃四年多。 这四年最大的变化不是技术栈,是看问题的位置。做客户端的时候,后端是一个黑盒:接口慢就是后端的问题,挂了就是后端的问题。换了位置之后才发现,“后端"自己也在被数据库、网络、机器、甚至别的团队的黑盒卡着。现在再看当初自己在客户端组提的那些工单,很多问题的真实答案不是"谁错了”,而是"信息在哪个环节丢掉了"。 这个认知反过来让我现在的代码风格变了不少:接口里多传一个字段、日志里多打一行、文档里多写一句"这里为什么这样设计",成本几乎为零,但可能在两年后帮某个排查问题的人省下一晚上。 技术上的近况:今年主要精力在把推送网关的下一代架构往前推,长连接网关的协议升级是个又脏又慢的活儿,因为要兼容三年前的老客户端。有段时间挺烦的,觉得在还技术债没有成长。后来想通了——能安全地改一个跑了五年的系统,本身就是一种能力,而且这种能力只有在这种活儿里练得出来。 下半年想捡起来的是写作。翻归档才发现 2024 年只写了两篇,2025 年到现在只有这一篇。倒不是没东西可写,是"要写就写完整"的强迫症越来越重,一篇东西反复改开头,最后烂在草稿箱。试着降低标准:写得糙一点没关系,记录本身就是价值。这篇就算个开始。

2025-08-22 · 芮靖安

2019 年终小结

年底了,照例写点流水账,权当给自己的记录。 今年工作上最大的事是组件化改造落地了,从 5 月开始到现在,底层库全部拆完,业务模块拆了三分之一。中间有一段时间特别沮丧:拆到一半的时候两头不靠,旧代码看不上,新架构没收益,全组人都在怀疑这件事的意义。挺过那一段之后就好了,现在新需求基本都能在独立模块里开发,这钱花得值。 技术上今年的收获: 把 Swift 在项目里的占比推到了 60%,剩下的是一些低频改动的老页面,不急着迁; 学了一点点响应式,Combine 发布之后把项目里一个手写的 EventBus 干掉了,代码量少了一半; 开始认真写单测。之前一直觉得 iOS 单测是玄学,用了 Quick/Nimble 之后看法有所改观,虽然覆盖率还是惨不忍睹的 11%。 生活上没什么可说的,跑步从三公里进步到八公里,然后 knee 出了点问题,医生说少跑。明年打算换游泳。 明年想做的事:把组件化收尾;学点服务端的东西,公司内部有 Go 的技术分享,听了一次感觉挺有意思;看书比今年多一点,今年只读完三本,惭愧。 最后感谢今年帮过我的同事和网上那些写了高质量博客的陌生人。我现在写这个博客的动力之一,就是希望哪天也能帮到别人一次。

2019-12-29 · 芮靖安