删数据类功能怎么写才不闯祸:一个「删文清附件」的六条边界
删文顺带清附件,主流程十行代码;能不能上线取决于边界清单。本文给出六条边界(含一条会导致误删、我在真实项目里补上的引用守卫),以及如何把删除规则抽成纯函数在跑之前全测一遍。附零依赖...
安全扫描器:五个「扫了但没扫到」的坑,和一个实测确认的路径逃逸
摘要:「扫一遍站点里的 PHP 文件,看看有没有马」—— 需求一句话,实现也不长:遍历目录、读文件、跑几条正则、列个表。但一个能用的安全扫描器和一段能跑的循环之间,差着五个坑,而它们的共...
设计令牌的最小实现:一个颜色变量驱动全站(附阅读进度条)
设计令牌的最小可用形态只有三层:一个色值源头、一组派生纯函数、一堆 CSS 变量引用。本文讲清它为什么值钱、hex 解析必须兜住的边界(写错会让全站 var() 静默失效),以及一条 3px 进度条里...
当主题模板没有过滤器:把「字数+阅读时间」并进它的 meta 行
主题文章头部那行 meta 是硬编码的、没有 apply_filters,插不进新项。本文给出第三条路:服务端渲染自己的块,客户端把子项逐个搬进目标行,搬不动就原地保留。附中英混排字数口径、三层测试与...
看板娘不拖慢首屏:六个脚本的串行注入,与三重触发时机
Live2D 看板娘要加载 6 个脚本加模型贴图,直接挂 head 会拖慢首屏。本文讲清两件事:为什么这 6 个脚本必须串行(并行会得到「本地复现不了、线上偶发」的顺序 bug),以及怎么用「事件 + 定时...
一个 81 行的朗读按钮改了三轮:三个静默失效的坑
文章朗读按钮的核心代码不到 100 行,却踩了三个静默失效的坑:cssText 整体覆盖抹掉 innerHTML 的 display:none、硬编码白底在夜间模式消失、只在 boot 判定一次视口导致缩放后不搬家。附零依...
秘技、限时、自动:三种勋章获取方式,一条授勋通道
三枚成就勋章,三种完全不同的获取方式:秘技(Konami Code)、限时三选一认领、深夜自动授予。交互形态差很远,后端却是同一条通道。本文讲透三种模型各自最容易做错的一处:判定为什么必须在...
内联 CSS 的真实代价:一次把「省 25.6%」证伪的实测
16 个内联样式块、占页面 21% 的体积,合并到底能省多少?孤立测量说 14%~31%,整页 A/B 说 0.15%~0.36%。本文给出正确口径、线上实测数据,以及把 N 个散点收成「可缓存出口」的零依赖收集器。
「我填了 1 天,它却按 7 天算」:文章过期提示的四个边界
文章过期提示不到 100 行,但有四个边界决定它是好用还是添乱:后台填 1 天代码按 7 天算、颜色值原样拼进 style 属性、提示条跑进 RSS 与编辑预览、以及「刚好满 N 天」算不算过期。文末附零依...
zibll 隐藏成就体系:一个「发放成功」却从未入账的潜伏 bug
弹窗说恭喜,账上却没有勋章。复盘父主题勋章清册的三全准入条件、flag 先置位掩盖失败、哨兵 get_type 修复方案,附可直接粘贴的零依赖隐藏成就体系。














