本仓库用于学习后端开发,主要使用 Python、Node.js 和 SQL,通过笔记与可运行示例记录学习过程。
学习方式和案例进度见 PROGRESS.md。
- Python 基础:数据类型、函数、类、异常、模块、文件操作、类型标注、虚拟环境和依赖管理。
- Node.js 基础:JavaScript 基础、模块系统、npm、文件与网络操作、Promise、
async/await和事件循环,之后学习 TypeScript。 - 计算机网络与 HTTP:TCP/IP、DNS、HTTP 请求与响应、状态码、请求头、Cookie、HTTPS 和常见调试方法。
- Web API:路由、请求参数、JSON、参数校验、错误处理、分页和接口文档;分别使用 FastAPI 和 Express 实践。
- 数据库与 SQL:表设计、增删改查、关联查询、索引、事务、隔离级别和数据库迁移;从 PostgreSQL 或 MySQL 选一个开始。
- ORM 与数据访问:连接池、ORM 的基本使用、查询性能,以及直接使用 SQL 的场景。
- 用户与权限:密码哈希、登录、Session、Token、权限控制,以及 SQL 注入、XSS 和 CSRF 等常见安全问题。
- 缓存与异步任务:Redis 基础、缓存失效、后台任务、消息队列和任务重试。
- 并发与异步:Python 的线程、进程和
asyncio;Node.js 的事件循环、异步 I/O 和阻塞操作。
- 测试:单元测试、接口测试、数据库测试、测试替身,以及 Python 和 Node.js 的测试工具。
- 工程规范:项目结构、配置与环境变量、日志、代码格式化、静态检查、依赖锁定和 Git 忽略规则。
- 部署与运维:Linux 常用命令、Docker、反向代理、进程管理、CI/CD、监控和故障排查。
- 进阶主题:限流、幂等、分布式锁、分布式事务、服务通信和可观测性;建议在完成单体项目后学习。
实现一个待办事项 API,先完成增删改查,再逐步加入数据库、登录、测试、缓存和 Docker。使用 Python 和 Node.js 实现同一组接口,对照学习两种语言及其生态。
network/:计算机网络与 HTTP 学习笔记(待补充)。python/:Python 环境配置和基础示例。nodejs/:Node.js 学习内容(待补充)。examples/:综合实践示例(待补充)。sql/:SQL 学习笔记(待补充)。docs/:文档(待补充)。