Skip to main content

全栈应用工程与 API 基础

会写出一个页面或接口,只代表程序暂时能够运行。真实项目还需要回答更多问题:需求是否明确、接口是否稳定、错误能否定位、修改会不会破坏旧功能、上线失败能否恢复。

这本小册面向完全零基础的技术新人,用一个持续演进的“TaskBoard 任务清单”项目,把应用工程和 API 架构中最通用的知识串起来。课程不要求背诵架构名词,也不讨论大型互联网系统;每学一个概念,都要在项目中完成一次操作并留下可检查的成果。

最终作品

完成课程后,你将拥有一个部署在 Cloudflare 上的 TaskBoard:

  • 一个可以新增、查看、修改和完成任务的网页;
  • 一组有统一输入、输出和错误格式的 HTTP API;
  • 一个保存任务数据的 D1 数据库;
  • 基础身份校验、日志、健康检查、限流和缓存;
  • 单元测试、接口测试、端到端测试和 GitHub Actions;
  • API 文档、发布记录、回滚方案和项目复盘。

实践技术栈

  • JavaScript:只使用变量、函数、对象、数组和异步请求等基础语法;
  • Cloudflare Workers:运行 API,不需要自行维护服务器;
  • Cloudflare D1:保存任务数据;
  • HTML、CSS 和浏览器 Fetch:制作最小操作页面;
  • Vitest、Playwright:验证函数、接口和用户流程;
  • GitHub Actions:在每次提交后自动检查项目。

可以使用 Codex 或其他 AI 编程工具协助写代码,但必须亲自运行命令、查看差异、执行验证,并解释截图中的结果。

一级菜单

部分解决的问题阶段成果
第1部分 从想法到可验收任务要做什么,怎样才算完成项目说明、用户故事、验收清单
第2部分 看懂 HTTP 并设计 API前端和后端怎样沟通可调用的任务 CRUD API
第3部分 组织可维护的应用代码多起来后怎样不混乱分层目录、配置与模块边界
第4部分 管理数据与用户权限怎样正确保存和修改数据D1、迁移、并发控制、权限
第5部分 连接外部服务与异步任务系统之间怎样协作第三方调用、Webhook、定时任务
第6部分 用测试保证功能怎样证明修改没有破坏项目单元、接口、端到端测试
第7部分 让线上应用更可靠出错后怎样发现、定位和保护日志、监控、缓存、限流、安全
第8部分 持续交付与项目毕业怎样稳定发布和继续演进CI、环境、发布、回滚、毕业演示

每章完成规则

每一章都包含一个可以单独审批的任务。任务只有同时满足以下条件才算完成:

  1. 按步骤完成代码、配置或文档操作;
  2. 运行本章给出的验证命令或浏览器操作;
  3. 保存指定文件,不把密钥提交到 Git;
  4. 上传能够看清关键结果的截图;
  5. 用两三句话记录做了什么、结果是什么、遇到了什么问题。

截图不是为了证明“敲过命令”,而是为了证明成果满足验收标准。终端截图要同时包含执行命令和结果;网页截图要包含地址栏与关键界面;云控制台截图必须遮盖账号、令牌和其他敏感信息。

开始前准备

  • 完成“计算机基础”中的命令行、Git、环境变量和网络请求章节;
  • 安装 Node.js 20 或更高版本、Git 和 VS Code;
  • 准备 GitHub 与 Cloudflare 免费账号;
  • 新建一个专门用于课程的空目录,不在重要文件目录中直接实验。

不熟悉 JavaScript 也可以开始。遇到代码时先运行、观察输入输出,再理解其中用到的基础语法。