体验编码遇上生产力:数据库并未消亡,因为你的演示可以放入localStorage

posted in: Uncategorized | 0

有人在网上宣布数据库已经死了。他们说,他们的代码为氛围的应用将所有内容都存储在浏览器的本地存储中。这番话是以一个从未在03:00接到传唤的人的平静自信发布的,因为一万个会话决定对现实持有不同意见。

这种观点不够勇敢。它不是“第一原则”。当一个对一个人——也许十个人——有效的演示被误认为是生产基础设施时,就会发生这种情况。代码为氛围的编写并没有发明过度自信。它只是让过度自信比阅读教科书更快地传播。

两面板表情包:零用户过度架构与使用localStorage和一个用户的代码为氛围的编写
两种跳过可扩展性章节的方法。(我们都遇到过这两种人。)

代码为氛围的编写实际上是什么

代码为氛围的编写是指导编码代理(或聊天模型)直到UI看起来正确,并且快乐路径点击的习惯。你会感到高效。绿色的勾勾堆积如山。你还没有为并发、持久性、身份、备份,或者第二台设备存在的那天设计。

诚实地使用,编码代理是那些已经知道“错误”是什么样子的人的力量倍增器。用作判断的替代品,它是一个生成可信架构剧院的机器。如果从未问过在第10万个用户时会发生什么,代理会很乐意将本地存储作为“数据库”来实现。

本地存储不是一个数据平台

浏览器存储是一个单一客户端的便捷缓存。它不是多写。它不是多设备。它不是跨用户的交易。它不是你的审计跟踪。它不是你的灾难恢复计划。它是有界限的,用户可以清除,并且对你的运营故事来说是不可见的。

在单个用户身上,本地存储感觉像是自由:没有托管费用,没有模式迁移,没有无聊的运营。在10万用户身上,你没有一个聪明的架构。你有一百万个关于状态的断裂谎言,你无法查询、调和或恢复任何一个。

  • 可扩展性不是“更多的CSS”。可扩展性是并发写作者、一致性和故障域。
  • 持久性不是可选的。用户期望昨天的工作在明天仍然存在。
  • 身份不是 DevTools 中的 JSON Blob。账户、会话和撤销是产品要求。
  • 可观察性不是 console.log。你需要知道哪个版本破坏了哪个群体。

数据库不是宗教。它们是对“如果两个人同时点击会怎样?”问题的一个世纪压缩答案。假装这个问题消失了,因为你的框架搭建了一个待办事项应用,这不是创新。这只是健忘症,只是自动补全更好。

简单的模式

在 vibe-coded 论述中有一个反复出现的模式:

  1. 在一部笔记本电脑上构建一些东西。
  2. 将笔记本电脑的限制重命名为一种哲学(“数据库已经死了”)。
  3. 嘲笑那些仍然关心无聊基础设施的人,把他们当作恐龙。
  4. 很久以后发现,客户不是一个浏览器标签页。

IT 中的复杂性不是角色扮演。分布式系统、容量规划、备份和安全存在,因为现实是对抗性和并发性的。AI 工程并没有删除这些限制。它只是改变了你撞上它们的快慢。

如果你的应用程序的整个宇宙只适合一个用户的浏览器,就说出来。称它为个人工具。不要把它作为平台来推销。不要嘲笑那个堆栈,它让银行、医院和工资系统在每个星期二避免发明新的数据丢失形式。

Fuckups 周期

Fuckups 周期:从桌面到桌子下的服务器到服务器机房到云到 AI — 每个时代都发誓要解决上一个时代的意外
用明天的发票解决昨天的意外的简短历史。

IT 的进步不是进步,而是 **过度纠正**。每一代人都在为上一代人的尴尬发明一个永久的解决方案 – 然后发现一个更大的尴尬,只是品牌更好。

首先,每个工作场所的每个桌子上都有 Windows。文件通过乐观和可移动媒体移动。然后有人决定同事需要一个真正的服务器,所以一台第二台电脑出现在某人的桌子下,并成为“基础设施”。当那个人休假时,办公室知道了单点故障在荧光灯下是什么感觉。

当然,解决方案是一个服务器机房:机架、空调、防伪门禁卡、一种抵达感。直到有人碰错了机架上的那个开关,整个校园在午餐前安静下来。教训不是谦卑。教训是把开关放在没人能碰的地方

于是云计算来了:走廊里再也没有意外的电源按钮。没错。还有正确的:月度账单,它教会了财务新词汇,安排了至今仍未结束的会议。集中化通过将脆弱性转移到合同、地区和定价层解决了桌子下的问题。

现在蛋糕上的点缀是人工智能——不是作为工程师的工具,而是作为工程师和编码员可以被全面替换的论据。模式很熟悉:宣布最后一层过时,将能力从循环中自动化,扩大剩余风险,直到爆炸半径达到整个大陆。桌子、房间和云都很庞大。每个产品决策下都有更大的模型。当尘埃落定时,错误不会是一个翻转的PDU。它将是将机构性遗忘作为不可避免性出售。

你可以已经听到下一个幻灯片加载的声音。它将声称这次我们永久修复了它。历史表明,我们应该保留一个仍然知道备份是什么的人——并且当演示与生产混淆时,被允许说不的人。

编码氛围和“数据库已经死了”并不是一种新的错误。它们是同一游行中的最新服装:跳过艰难的章节,发布口号,在观众已经观看时发现规模。

教育失败,不仅仅是工具失败

仅仅归咎于模型太简单了。很多观点来自那些在短暂课程后被扔到市场的人,这些课程优化的是投资组合截图,而不是与并发人类接触的系统。训练营和匆忙的学位可以造就“工程师”,他们从未被迫回答:什么是真相来源,10倍负载时会发生什么,当它说谎时谁会被通知?

这不是对每个初级人员的侮辱。这是对管道的不起诉,这些管道比教可扩展性、容量、故障模式和生产的乏味纪律更快地出售职位标题。编码氛围然后放大了差距:一个编码代理将实现你告诉它的任何故事,包括将规模视为别人的问题的故事。如果没有人根据多写者一致性对你有评分,你就不会要求代理这样做。

当行业招聘混淆演示速度与工程判断时,责任也在于它。结果是熟悉框架却对数据库、队列、备份以及免费层不再是商业计划的日子一无所知的世代。

真正的矛尖在哪里

有趣的未来不是“AI取代工程”。不是今年,也不是因为模型可以发射React。未来几年的矛尖是我们已经实践过的配对方式:一个拥有数十年伤疤的人,配上一个令人难以置信的快速且知识渊博的助手——长时间的判断加生成,真实系统中的会话连续性,提示缓存和令牌成本被视为工程投入而非魔术。

这不是氛围扮演。这是同行工作。当代理错误时,当模式必须存活十年时,当“在我的机器上工作”不是SLA时,人类仍然拥有决策权。代理仍然将数小时的模板和研究压缩成几分钟。你们一起前进的速度比单独快——而不假装规模是顾问发明的神话。

3DN,我们关心计算、托管和数字主权,正是因为生产是意识形态消亡的地方。家庭产品——工作·金钱·政治,DutchBud,PolitiCap,ZZP2ZZP,IWISH——只有在无聊的层级在不止一个人出现时保持时才重要。

在宣布一种技术死亡之前,一个简短的检查清单

  • 并发写作者有多少?
  • 当两个客户端意见不一致时,真实来源是什么?
  • 如何在糟糕部署后的上周二恢复?
  • 如何在不清除所有人的情况下撤销一个用户的访问权限?
  • 在10、10,000和100,000个用户时,你的故事是什么——不是口号,而是数字?

如果你不能回答这些问题,你就没有一个热门观点。你有一个原型。原型很好。谎报其规模则不然。

氛围编码将继续发布演示。工程将继续发布系统。市场最终会注意到区别——通常是在本地存储填满之后。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注