写下来,下次就不用重新想一遍
每一篇都是从踩过的坑里长出来的:为什么这么分层、哪个方案被否决了、以及那些看起来对但实际会出问题的写法。
keel 底座设计说明
一个后端两个前端,靠一层共享契约把它们绑在一起。为什么是这个形状,以及哪些东西被有意留在了外面。
契约层是怎么工作的
类型只定义一次,前后端各自推导。改一个字段,忘了跟上的地方会在构建时报错,而不是上线后报错。
双命名空间怎么分
/api/admin/* 要登录、包一层 data;/api/public/* 匿名可读、直接返回。可见性规则只写一次。
游标分页 vs 偏移分页
后台用 page/pageSize,官网用 cursor/limit。同一个项目里两种分页并存,是因为它们要解决的问题不同。
同时发布的第二篇
和上一篇同一时刻发布。排序键相等时,靠 id 作为第二排序键保证顺序稳定。
同时发布的第一篇
这篇和下一篇的 publishedAt 完全相同,用来验证游标分页在排序键相等时不会翻乱。