feat: add 3 creative slides — tech decisions, request tracing, lessons learned
Deploy Slides / build-and-deploy (push) Successful in 1m13s

- why-not-x.md: Engineering decision rationale (Go vs Python, SQLite vs PG, etc.)
- request-journey.md: Full HTTP-to-pixel request tracing with timing breakdown
- lessons.md: 4 real engineering pitfalls and how they were solved
- Wire all 3 new pages into slides.md in logical positions
This commit is contained in:
2026-05-30 22:46:23 +08:00
parent 67ee76e58d
commit f0245e926d
4 changed files with 109 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# 为什么不用 X?— 技术选型思考
每个选择背后都有取舍
<v-clicks>
<Item title="为什么不用 Python?">
Go 的 goroutine 天然适合并发管线编排。编译型语言部署简单(单二进制),无需管理 venv / 依赖树。Eino 框架是 Go 生态。
</Item>
<Item title="为什么不用 PostgreSQL?">
gen2D 是单实例工具型应用,SQLite 零配置、单文件、ACID 足够。无需额外数据库服务,Docker 部署零依赖。
</Item>
<Item title="为什么不用 Celery / RabbitMQ?">
当前规模下 goroutine + channel 足够。TaskQueue FIFO 串行执行避免 AI API 并发限流问题。RabbitMQ 已在路线图中,按需引入。
</Item>
<Item title="为什么不用 Redis 做缓存?">
请求去重用 `sync.Map` 内存缓存即可,单实例场景无需分布式缓存。Redis 仅用于限流(需要原子操作),不在时自动 fail-open。
</Item>
</v-clicks>
<!--
评委可能会问:为什么不用xx?这个问题展示的是工程判断力——不是用最新的,而是用最合适的。
-->