展卷 ↗ 置顶技术手札2026.09.10 幂等请求怎么设计:让重复操作得到同一个结果 幂等请求怎么设计:让重复操作得到同一个结果 网络不保证一次提交只到达一次 约 7 分钟 · 含图解# 幂等展卷 ↗
展卷 ↗ 技术手札2026.09.10 备份为什么要验证恢复:从文件到可用数据 备份为什么要验证恢复:从文件到可用数据 ### 备份任务成功,只说明文件被写过 定时任务返回成功、磁盘上出现一个新文件、监控面板保持绿色 约 8 分钟 · 含图解# 备份展卷 ↗
展卷 ↗ 技术手札2026.09.10 渐进增强:脚本失效时,页面仍然可用 渐进增强:脚本失效时,页面仍然可用 ### 增强是加在可用之上的,不是先缺一块再补上 渐进增强的顺序是:先有一份能完成任务的文档,再用样式… 约 8 分钟 · 含图解# 前端展卷 ↗
展卷 ↗ 技术手札2026.09.10 测试用例怎么选:把风险变成一张矩阵 测试用例怎么选:把风险变成一张矩阵 ### 用例不是功能清单的展开 把每个按钮、每个字段、每种浏览器都乘在一起,得到的是组合数量,不是风险… 约 9 分钟 · 含图解# 测试展卷 ↗
展卷 ↗ 技术手札2026.09.10 动效的四条边界:节奏、暂停、可见性与减少动态 动效的四条边界:节奏、暂停、可见性与减少动态 ### 动效是状态说明,不是持续的背景噪声 界面里的运动用来说明一件事刚刚发生:面板打开了 约 10 分钟 · 含图解# 交互设计展卷 ↗
展卷 ↗ 技术手札2026.09.10 排版溢出怎么查:从盒模型到最小宽度 排版溢出怎么查:从盒模型到最小宽度 ### 先区分绘制出去和能够滚到 页面右侧多出一条横向滚动条,卡片标题压进邻列,按钮被切掉半个字 约 10 分钟 · 含图解# CSS展卷 ↗
展卷 ↗ 技术手札2026.09.10 响应式图片:用合适的像素减少等待 响应式图片:用合适的像素减少等待 ### 等待常常花在一张过大的图上 页面首屏经常是一张通栏照片 约 11 分钟 · 含图解# 前端展卷 ↗
展卷 ↗ 技术手札2026.09.10 CORS 和 CSRF 分别解决什么问题 CORS 和 CSRF 分别解决什么问题 ### 两个词经常一起出现,却不是一层防线 接口联调时,浏览器控制台抛出跨域错误,有人会说再加一… 约 11 分钟 · 含图解# 浏览器展卷 ↗
展卷 ↗ 技术手札2026.09.10 文件上传的安全边界:别只检查后缀 文件上传的安全边界:别只检查后缀 ### 后缀只是文件名里最容易改的一段 用户选择一张图片,浏览器把文件名、类型和字节流交给服务器 约 10 分钟 · 含图解# 文件上传展卷 ↗
展卷 ↗ 技术手札2026.09.10 数据库变更的分步策略:先扩展,再切换 数据库变更的分步策略:先扩展,再切换 ### 为什么停机改表越来越难用 表结构要跟着产品变:加一列状态、把金额从整数改成带币种的结构 约 11 分钟 · 含图解# 数据库展卷 ↗