posts

文章归档

PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。

这里是全站文章的归档入口,下面是按时间倒序排列的全部文章。若想按主题浏览,请从首页的专题分类进入。

全部文章

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
books

《互联网产品的客户端架构·内容、社交与实时互动》9.2 可见性规则在端上的表达

可见性规则在端上只能表达为提示与预判,最终仍以服务端为准。本节把公开、关注可见、好友可见、仅自己可见映射为带置信度的预判,给出可测试的首屏骨架、服务端纠正、拒绝后清理缓存与受众提示的完整实现,并复盘一次预判过宽导致缓存标题与封面提前泄露的事故。

9 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·内容、社交与实时互动》9.1 关注、互关与关系缓存

关注、粉丝与互关不是一张布尔表:方向、新鲜度和进行中的变更都要分别记录。本节用带假时钟的 FollowCache 实现四态关系缓存、TTL 降级、乐观关注与回滚,给出关系变化后的列表失效矩阵,并复盘一次把缓存互关当成私信授权、导致错误入口的事故。

9 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·内容、社交与实时互动》8.3 状态展示的降级与隐私边界

在线状态一旦涉及隐私,就不再是「显示什么」,而是「允许谁看到什么证据」。本节把可见性、关系、拉黑与连接降级组合成一张展示决策表,明确 unknown 与 offline 的差别,给出可运行实现与测试,并复盘一次隐藏在线后仍能从活跃时间反推的事故。

11 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·内容、社交与实时互动》8.2 输入中状态的节流与超时

输入中状态不是一次事件,而是一份几秒后自动过期的租约。本节用本地节流、远端超时、会话隔离与停发条件,把「正在输入」压成低频心跳,给出丢包、乱序、进程被杀与幽灵输入四类故障下的可运行实现与假时钟测试,并复盘一次每键发送导致群聊广播风暴、指示器随机闪烁的事故。

10 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·内容、社交与实时互动》8.1 presence 的近似语义:没有真正的「在线」

客户端看到的「在线」不是事实,而是一次带衰减的观测。本节把 presence 拆成最后活跃时间、online/away/offline/unknown 四态与 TTL 过期,给出窗口判定、下一次转换时间与最后活跃文案的纯函数实现,并复盘一次把 socket 连通当成在线、导致用户对着「幽灵在线」发消息的事故。

10 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·内容、社交与实时互动》7.3 断线期间的消息补拉与空洞检测

重连后只拉最新一条,会让中间的缺口永远补不上。本节用已收序列号维护连续高水位,按批生成补拉区间,把补拉结果与实时推送合并去重,并复盘一次「重连只同步最新消息」导致的历史消息永久丢失,说明补拉报告如何表达未完成状态,以及服务端历史过期后端上必须承认的边界。

11 分钟阅读
书稿 互联网产品 客户端架构