标签: 实战

19 篇文章

生产 WordPress 从 MySQL 迁移 SQLite:决策、实测与踩坑
一、先说清楚要做什么 本站跑在阿里云 2 核 1.8G 的 ECS 上,WordPress + MySQL 8.4 容器服役两年。这篇文章记录一次不停机的生产迁移:把数据层从 MySQL 容器换成 SQLite 单文件。目标只有一个——用实测数据回答"对小博客,这刀值不值得动"。 "生产"这个约束会让每个决策变重:不能停机、不能丢一篇内容、回滚必须…
用 Rust 写一个迷你全文搜索引擎:倒排索引
要做什么:几千篇文档,毫秒级全文检索 在内存里建一个迷你全文搜索引擎:给定查询词,按相关度排序返回文档。它不做磁盘持久化、不做增量更新、分词刻意从简——但倒排索引、BM25 打分、AND/OR 查询这些搜索引擎的骨架一件不少。写完你就知道 tantivy 这类现成库在替你做什么,以及什么时候该直接用库。 指标目标值怎么测 查询延迟千级文档单次查询远…
用 Java 写一个模拟订单支付系统:幂等、对账与事务边界
要做什么:一个会重复、会抖、会死在半路的支付闭环 这篇用 Spring Boot 搭一个"下单 → 支付回调 → 超时关单"的最小闭环。不接真实支付渠道,但把真实渠道带来的全部约束都模拟出来:回调会重发、网络会抖、进程会死在任何两行代码之间。"模拟支付"四个字会让每个设计决策都变重——订单系统错一次就是钱,而这道题里大部分"正确性"其实不来自 Ja…
用 ASP.NET Core 重写短链服务:与 Go 实现同场对比
要做什么:同一道题再答一遍 短链是一道被反复回答的经典题,需求很早就被定死了:长网址换 6 位 Base62 短码、并发插入靠唯一索引兜底重试、缓存挡读流量、302 跳回原址。这篇拿同一道题用 Minimal API + EF Core 再答一遍——不为评优劣,两份答卷放一起,各替你做了哪些决定才看得清。 指标目标值怎么测 跳转路径延迟命中缓存不碰…
用 SolidJS 做一个看板小应用
要做什么 一个看板小应用:待办、进行中、已完成三列,卡片支持新建、删除、拖拽换列,刷新后位置不丢。技术栈是 Solid 系列前三篇的组合——solid-js 1.9 写界面,SolidStart 1.2 的 query/action 承担数据流,存储用单个 JSON 文件。"单机单人"这个约束会让存储选型变轻,但有两件事不会跟着轻:状态归属(客户端…
用 SvelteKit 做一个 Markdown 片段收藏夹
要做什么 一个 Markdown 片段收藏夹:收集常用命令、代码模板、配置片段,支持新建、编辑、删除、标签筛选,详情页把 Markdown 渲染成 HTML。技术栈就是 Svelte 系列前两篇讲的组合——Svelte 5 runes 写界面,SvelteKit 2 的 form actions 与 load 承担数据流。"单机单人使用"这个约束会…