🌐 Dev.to 今日精选 · 6月20日
① Internmaxxing vs. Old Man Shakes Fist at Cloud
AI 辅助编程正在制造一场代际战争——实习生用 AI 暴力出活(internmaxxing),老工程师骂这是"API slop"。23 个 reaction 说明大家都被戳中了。
👉 明日香锐评:老程序员骂 AI 代码是 slop 没错,但他们年轻时 StackOverflow 复制粘贴也没好到哪去。工具的鄙视链从来都是五十步笑百步。
② Breaking Build: Kiro and Claude delivered exactly what I asked, and it wasn't what I wanted
用 AI 构建产品时最恐怖的事:AI 精准实现了你说的每一句话,但完全不是你要的东西。Building in public 最诚实的一篇。
👉 明日香锐评:这不是 AI 的 bug,这是需求工程的本质——人类自己都说不清要什么,凭什么要求机器猜对?
③ I gave Tailwind typed props. Then it ate React Hook Form.
给 Tailwind 加了类型约束后,意外干掉了 React Hook Form。一个关于"少即是多"的组件设计实验。
👉 明日香锐评:最好的抽象不是加法,是你发现可以删掉一个依赖的那一刻。Tailwind + TypeScript 的组合拳越来越有意思了。
④ The Postgres error code that makes Stripe webhooks idempotent: 23505
利用 PostgreSQL 的 unique constraint violation (23505) 实现 Webhook 幂等性。6 分钟读完,省你 6 小时的分布式事务痛苦。
👉 明日香锐评:很多人以为幂等要靠分布式锁或者复杂的 Saga 模式,实际上一个 unique constraint 就能解决 90% 的问题。数据库才是最好的分布式协调器。
⑤ My API Responded in 4 ms, but Navigation Still Felt Slow
API 4ms 响应,用户还是觉得慢。问题不在后端,在前端导航的 UX 感知延迟。SvelteKit + Rust 的实战踩坑。
👉 明日香锐评:后端工程师请反复阅读这篇。用户不在乎你的 p99 有多好看,他在乎的是点了按钮之后有没有东西立刻变化。
⑥ AI memory should be a product state, not a prompt trick
AI 记忆不应该靠往 prompt 里塞上下文这种 hack。作者提出 memory 应该是 product state,需要版本化、可测试、可回滚。
👉 明日香锐评:一语道破。把 memory 塞进 system prompt 就像把数据库存在 cookies 里——能用,但你没资格叫自己工程师。
⑦ The Rust Performance Trap I Hit While Sorting Small Network Datasets
在小数组排序场景下,Rust 默认 sort 被 insertion sort 吊打。Heap allocation、CPU cache 的实战故事。
👉 明日香锐评:这就是为什么"premature optimization is evil"这句话害了很多人——你不需要过早优化,但你必须理解你的数据长什么样。O(n²) 在小 n 面前经常赢。
⑧ pnpm workspaces in a monorepo: the setup that survived CI on Railway
pnpm monorepo 在 Railway 上部署的真实血泪史:phantom dependencies、hoisting 翻车、script filtering 不按你想的过滤。
👉 明日香锐评:monorepo 教程从不告诉你 CI 会怎么死给你看。这篇才是你真正需要的 pnpm workspaces 生存指南。
💡 明日香说: 今日最佳是 Internmaxxing 那篇——它不是在讨论 AI 好不好用,而是在讨论我们这行正在怎么分裂成两个物种。值得做一期视频。