<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>随笔 on 山行小记</title>
    <link>https://ruijingan.pages.dev/tags/%E9%9A%8F%E7%AC%94/</link>
    <description>Recent content in 随笔 on 山行小记</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <copyright>@2025</copyright>
    <lastBuildDate>Fri, 22 Aug 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ruijingan.pages.dev/tags/%E9%9A%8F%E7%AC%94/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>又是一年：从客户端到服务端这几年</title>
      <link>https://ruijingan.pages.dev/posts/2025/2025-mid-review/</link>
      <pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://ruijingan.pages.dev/posts/2025/2025-mid-review/</guid>
      <description>&lt;p&gt;博客四年没写过年终小结以外的东西了，今天翻归档，看到 2019 年那篇，突然想写点什么。不是总结，更像是给自己留个锚点。&lt;/p&gt;
&lt;p&gt;2019 年那篇里写&amp;quot;明年想做的事：学点服务端的东西&amp;quot;。现在回头看，这个愿望以一种完全没预料到的方式实现了——不是学了点，而是整个换了赛道。2021 年转岗到基础架构，一晃四年多。&lt;/p&gt;
&lt;p&gt;这四年最大的变化不是技术栈，是看问题的位置。做客户端的时候，后端是一个黑盒：接口慢就是后端的问题，挂了就是后端的问题。换了位置之后才发现，&amp;ldquo;后端&amp;quot;自己也在被数据库、网络、机器、甚至别的团队的黑盒卡着。现在再看当初自己在客户端组提的那些工单，很多问题的真实答案不是&amp;quot;谁错了&amp;rdquo;，而是&amp;quot;信息在哪个环节丢掉了&amp;quot;。&lt;/p&gt;
&lt;p&gt;这个认知反过来让我现在的代码风格变了不少：接口里多传一个字段、日志里多打一行、文档里多写一句&amp;quot;这里为什么这样设计&amp;quot;，成本几乎为零，但可能在两年后帮某个排查问题的人省下一晚上。&lt;/p&gt;
&lt;p&gt;技术上的近况：今年主要精力在把推送网关的下一代架构往前推，长连接网关的协议升级是个又脏又慢的活儿，因为要兼容三年前的老客户端。有段时间挺烦的，觉得在还技术债没有成长。后来想通了——&lt;strong&gt;能安全地改一个跑了五年的系统，本身就是一种能力&lt;/strong&gt;，而且这种能力只有在这种活儿里练得出来。&lt;/p&gt;
&lt;p&gt;下半年想捡起来的是写作。翻归档才发现 2024 年只写了两篇，2025 年到现在只有这一篇。倒不是没东西可写，是&amp;quot;要写就写完整&amp;quot;的强迫症越来越重，一篇东西反复改开头，最后烂在草稿箱。试着降低标准：写得糙一点没关系，记录本身就是价值。这篇就算个开始。&lt;/p&gt;</description>
    </item>
    <item>
      <title>2019 年终小结</title>
      <link>https://ruijingan.pages.dev/posts/2019/2019-review/</link>
      <pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
      <guid>https://ruijingan.pages.dev/posts/2019/2019-review/</guid>
      <description>&lt;p&gt;年底了，照例写点流水账，权当给自己的记录。&lt;/p&gt;
&lt;p&gt;今年工作上最大的事是组件化改造落地了，从 5 月开始到现在，底层库全部拆完，业务模块拆了三分之一。中间有一段时间特别沮丧：拆到一半的时候两头不靠，旧代码看不上，新架构没收益，全组人都在怀疑这件事的意义。挺过那一段之后就好了，现在新需求基本都能在独立模块里开发，这钱花得值。&lt;/p&gt;
&lt;p&gt;技术上今年的收获：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把 Swift 在项目里的占比推到了 60%，剩下的是一些低频改动的老页面，不急着迁；&lt;/li&gt;
&lt;li&gt;学了一点点响应式，Combine 发布之后把项目里一个手写的 EventBus 干掉了，代码量少了一半；&lt;/li&gt;
&lt;li&gt;开始认真写单测。之前一直觉得 iOS 单测是玄学，用了 Quick/Nimble 之后看法有所改观，虽然覆盖率还是惨不忍睹的 11%。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;生活上没什么可说的，跑步从三公里进步到八公里，然后 knee 出了点问题，医生说少跑。明年打算换游泳。&lt;/p&gt;
&lt;p&gt;明年想做的事：把组件化收尾；学点服务端的东西，公司内部有 Go 的技术分享，听了一次感觉挺有意思；看书比今年多一点，今年只读完三本，惭愧。&lt;/p&gt;
&lt;p&gt;最后感谢今年帮过我的同事和网上那些写了高质量博客的陌生人。我现在写这个博客的动力之一，就是希望哪天也能帮到别人一次。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
