系列文章《客户端可观测性进阶实战》第 3 篇 推荐阅读时间:10 分钟 前言 前两篇讲了 Trace 和 Metric。Trace 还原时间线,Metric 反映全局趋势,但线上排障时最常用的还是 Log。用户反馈一个问题,你打开后台面板,第一件事就是搜日志。 问题是,大多数团队的日志体系是这样的:
系列文章《客户端可观测性进阶实战》第 2 篇 推荐阅读时间:10 分钟 前言 上一篇讲了 Trace,它能还原一次操作的时间线。但 Trace 有个问题:它太重了。你不可能对每个用户每次操作都跑 Perfetto,线上只能采样 0.1% 的设备。 Metric 体系解决的是另一面的问题:全局趋势。启
系列文章《客户端可观测性进阶实战》第 1 篇 推荐阅读时间:10 分钟 前言 之前《客户端质量与稳定性实战》系列讲过可观测性的基础概念,但那篇更多是"是什么"层面的科普。实际线上排障时,团队里问得最多的还是这种问题: 用户反馈"点了一下就卡了",你能看到什么? 启动慢了 800 毫秒,到底慢在 Ap
系列文章《Android Gradle 构建体系深度实践(续)》第 3 篇 推荐阅读时间:10 分钟 前言 前面两篇聊了远程构建缓存和 CI 分片。这一篇进入最后一个场景:Gradle 与 Kotlin Multiplatform(KMP)的协同构建。 KMP 工程不是“一个 Android 项目多
系列文章《Android Gradle 构建体系深度实践(续)》第 2 篇 推荐阅读时间:10 分钟 前言 上一篇聊了远程构建缓存,它能把“编译”这件事的成本压到很低。项目再大一点,瓶颈就会转移: 单台 CI 机器跑完整套构建要 40 分钟,远程缓存也救不了“最后一个链接 Task” 单元测试和集成
系列文章《Android Gradle 构建体系深度实践(续)》第 1 篇 推荐阅读时间:10 分钟 前言 上一季我们把 Gradle 生命周期、Transform/Artifacts API 和自定义插件聊完了。这一季我们把镜头往前挪一点,看看构建提速里最容易被低估、也最容易踩坑的一环——构建缓存
大多数定投人展示自己收益时,都是这么算的: 总收益 = 现在市值 ÷ 总投入 - 1 看起来很对,其实只对了一半。 这一篇讲清楚:定投收益率有三种算法,不同算法会给出三个不同的数字,大多数人用的是最像"骗子"的那一种。 一句话结论 算对收益率,是评估定投的第一步;算错收益率,是绝大多数定投人开始"感
你买一只场内 ETF,下单后对手方是谁? 不是另一个散户在敲键盘等你,而是几只专门负责提供流动性的做市商在报价。它们是谁、怎么赚钱、为什么会消失,直接决定了你这笔交易能不能成交。 而更底层的一层,叫做"最小申购赎回单位"。它解释了为什么 ETF 有时会出现 1% 以上的折溢价。 这一篇揭开 ETF
你听过"周期股",但不一定搞清楚"周期"的真实驱动力是什么。 地产、汽车、化工、煤炭、钢铁——这些听上去"很土"的行业,背后有一个共同的节拍:库存周期。 搞懂它,你就能看懂 80% 的行业景气切换;看不懂它,你会在景气高点冲进去,在景气低点惊慌割肉。 这一篇把它说清楚。 一句话结论 库存周期由"被动
K线、均线、成交量——这些你都能看懂了。 但价格在真正见顶或见底之前,总会先画出一个"图案"。这就是反转形态。 形态学不玄乎,它只是把"多空双方反复拉锯的痕迹"打包成一个识别模板。这一篇讲 3 个最常用、胜率也最高的反转形态。 一句话结论 反转形态的核心不是"形状像",而是"颈线位被突破"。把识别重