2026 第 5 周
更新:
-
Small CMS System
-
业务不稳定是常态,技术必须预留演化空间(不去判断未来,而是判断哪里“不稳定”); 不能解释的系统,必然不可维护; 解题空间, not 答案;
-
register/unregister 是生命周期; match 是匹配状态[变化]; xx 只是 event[fact] 的 conditional consumer; layerId[ui]/intentId[意图/uuid]/ItemId[业务]/Version[版本]/AbortSignal[请求层]; ps: TanStack Query 只处理 ItemId/Version/AbortSignal 层面问题
-
维护代码是使用 ai 生成的项目,1) 针对 Bug/Feature 最小化修改 2) 明确原始需求, 使用 ai 重构新版本, 继续 Bug/Feature
-
和 ChatGPT 聊 FormEngine 设计, 聊着聊着觉得越来越像状态机 - Extended finite-state machine, XState
-
逻辑等价变换(Logical Equivalence Transformation)negation, [否定] 表示 Not, 使用符号 ¬ 表示; conjunction, [合取] 表示 And, 使用符号 ^ 表示; disjunction, [析取] 表示 Or, 使用符号 ∨ 表示
-
visitor / transformer
-
运行态系统要围绕“异常”设计,而不是围绕“正常”设计。
-
ttl = time to live; concurrency, max, duration; drain/clean/obliterate
-
人情世故
-
一种页面交互流程
sequenceDiagram autonumber participant L as layer[n] participant G as global participant D as domain participant F as fetch/remote Note over L,G: 0) layer 初始化: 在 global 注册 handler(layerId, match(type, uxPayload)->bool) L->>G: register(layerId, handler[type, uxPayload] -> boolean) Note over L,D: 1) layer[n] 发送 request(query, uxPayload) 到 domain L->>D: request(query, uxPayload, meta) Note over D: 创建 AbortController / cancelToken par 2) fetch 正常完成(未 abort) D->>F: fetch(query, meta, signal) activate F F-->>D: return(state: success|error, data?) deactivate F D-->>L: updateResponse(state, data?) D-->>G: emit(type, uxPayload, meta) and 2') layer 主动 abort(中止请求) D->>F: fetch(query, meta, signal) activate F Note over L,D: layer 触发:路由切换/组件卸载/用户取消 L->>D: abort(requestId) D->>F: abort(signal) deactivate F Note over D,L: domain 更新 response 为 cancelled/aborted D-->>L: updateResponse(state: cancelled, error: AbortError) D-->>G: emit(type: "request:cancelled", uxPayload, meta) end Note over G: 4) global 检查是否有 handler 能处理该 type + uxPayload G->>G: handlers = match(type, uxPayload) alt 5) 存在 handler 且返回 true(已处理) G-->>G: ignore event (stop) else 6) 无 handler 处理 Note over G: 按 meta 中特殊 type 走内置处理逻辑 G->>G: builtinHandle(meta.type, type, uxPayload) end Note over L,G: 7) layer 关闭: 从 global 中注销 L->>G: unregister(layerId)
