跨主题反复出现的思维模式。每发现一个新洞印证了某个母题,就回来加一条——这一页越长,说明你越接近"事物背后共通的道理"。
已建立的连接,双向都能走
一旦连接由内向外建好,两个方向就都能走,不必再发起"陌生入站"。
信任 / 解析追到底,必有内置锚点
任何"层层往上问"的体系,最底下必须有个"出厂就钉死、不再往下问"的锚点,否则无限递归、永远落不了地。
分层 + 封装
每层只管自己那一级抽象,上下互不干涉;数据层层加头(封装)、层层拆头(解封装)。
- 分层与封装:IP / TCP / HTTP 各管一层。
- WebSocket / socket:socket 是接口、不是协议。
- 负载均衡:L4 看 IP+端口,L7 看 HTTP 内容。
- 事件循环 vs 游戏帧循环:JS 微任务、宿主 timer、Cocos scheduler 各自属于不同调度层。
- JavaScript 内存与生命周期:业务生命周期、JS 引用可达性、宿主和 native 资源属于不同层,结束其中一层不代表其他层已经结束。
- ECMAScript、模块与兼容:语言版本、模块系统、构建转换和运行时 polyfill 是四层不同问题,名字同时出现不代表属于同一条版本线。
- 从场景到像素:场景、几何、片元和像素属于不同表示层;渲染管线让每一层只完成一种变换,再把结果交给下一层。
在更弱的底座上补出更强的抽象
底层常常只给一个很朴素、甚至有缺陷的能力;上层靠编号、约定、状态表、签名、缓存等机制,补出应用真正想要的高级能力。
- TCP:IP 只尽力而为,TCP 用序号、确认、重传补出可靠有序字节流。
- HTTP / Cookie / Session:HTTP 天生无状态,Cookie + Session 在独立请求之间补出登录态;缓存给重复请求补"记忆"。
- 数据库:普通文件和磁盘只提供朴素读写,数据库用页、索引、缓存池和日志补出可靠、可查询、可恢复的账本。
- JavaScript 运行时:ECMAScript 只定义语言核心,浏览器和 Node.js 作为宿主补出网络、文件、DOM、定时器和事件循环。
- 工程化:人的记忆、手工操作和个人经验都不可靠,工程化用约定、工具、自动化和反馈补出稳定交付。
追到最底,是物理 / 人 / 商业
技术链条总有落地的地基——不是某个中央调度,而是物理规则、人工配置、商业合同。
- 路由与 BGP:路由表的尽头是 IANA 发号 + 各家人工配 BGP 邻居 + 商业互联协议。