一、先说清楚要做什么 本站跑在阿里云 2 核 1.8G 的 ECS 上,WordPress + MySQL 8.4 容器服役两年。这篇文章记录一次不停机的生产迁移:把数据层从 MySQL 容器换成 SQLite 单文件。目标只有一个——用实测数据回答"对小博客,这刀值不值得动"。 "生产"这个约束会让每个决策变重:不能停机、不能丢一篇内容、回滚必须…
从零实现短链服务的完整实战:短码生成与冲突处理、Redis 缓存穿透与击穿(singleflight)、异步点击统计、两层缓存、wrk 压测定位瓶颈。含 2C1.8G 机器实测数据:无缓存 1200 QPS → 加 Redis 28000 → 加本地 LRU 56000。
Tauri 的核心价值是体积(5-10MB vs Electron 的 80-120MB)。实战:三个 Rust 命令(列/读/写笔记)、app_data_dir 跨平台路径、v2 权限模型、前端 invoke 调用、路径穿越防护(白名单 + canonicalize),含体积与内存对照。
内容站要的不是「能跑」,而是「能被找到」。实战:本地 Markdown 起步、generateStaticParams + ISR、metadata 与 OG 动态生成、sitemap/robots 约定文件、三件性能必做、standalone 部署、九项验收清单。
Agent 是「调用工具、观察结果、决定下一步」的循环,难在写稳。完整骨架 + 三重防护(max_steps、重复调用检测、结果截断)、工具描述要写「何时使用」、错误作为观察结果返回而非抛异常、上下文膨胀的三种压缩、trace 记录每步成本。
要做什么:几千篇文档,毫秒级全文检索 在内存里建一个迷你全文搜索引擎:给定查询词,按相关度排序返回文档。它不做磁盘持久化、不做增量更新、分词刻意从简——但倒排索引、BM25 打分、AND/OR 查询这些搜索引擎的骨架一件不少。写完你就知道 tantivy 这类现成库在替你做什么,以及什么时候该直接用库。 指标目标值怎么测 查询延迟千级文档单次查询远…
要做什么:一个会重复、会抖、会死在半路的支付闭环 这篇用 Spring Boot 搭一个"下单 → 支付回调 → 超时关单"的最小闭环。不接真实支付渠道,但把真实渠道带来的全部约束都模拟出来:回调会重发、网络会抖、进程会死在任何两行代码之间。"模拟支付"四个字会让每个设计决策都变重——订单系统错一次就是钱,而这道题里大部分"正确性"其实不来自 Ja…
要做什么:同一道题再答一遍 短链是一道被反复回答的经典题,需求很早就被定死了:长网址换 6 位 Base62 短码、并发插入靠唯一索引兜底重试、缓存挡读流量、302 跳回原址。这篇拿同一道题用 Minimal API + EF Core 再答一遍——不为评优劣,两份答卷放一起,各替你做了哪些决定才看得清。 指标目标值怎么测 跳转路径延迟命中缓存不碰…
要做什么 一个看板小应用:待办、进行中、已完成三列,卡片支持新建、删除、拖拽换列,刷新后位置不丢。技术栈是 Solid 系列前三篇的组合——solid-js 1.9 写界面,SolidStart 1.2 的 query/action 承担数据流,存储用单个 JSON 文件。"单机单人"这个约束会让存储选型变轻,但有两件事不会跟着轻:状态归属(客户端…
要做什么 一个 Markdown 片段收藏夹:收集常用命令、代码模板、配置片段,支持新建、编辑、删除、标签筛选,详情页把 Markdown 渲染成 HTML。技术栈就是 Svelte 系列前两篇讲的组合——Svelte 5 runes 写界面,SvelteKit 2 的 form actions 与 load 承担数据流。"单机单人使用"这个约束会…