程序员学习路线与免费资料地图:前端、后端、Python 到全栈
本文目录
教程收藏得越多,不代表学得越快。更有效的方式是先选一条主线,用一份结构清晰的课程建立心智模型,再回到标准文档查精确行为,最后通过小项目验证自己是否真的会用。
这篇文章把适合自学的公开资料按学习顺序分层整理,并给每一层配上可以检查的练习。它是原创导航和学习建议,不是第三方课程的镜像;外部页面可能改版、换地址或调整免费范围,本文最后核验日期为 2026-10-21。
本文聚焦“先学什么、做出什么、怎样验收”的课程路线;工具分类中的公共教程学习路线则专门整理廖雪峰、阮一峰、MDN 等外部资料的入口和使用边界。两篇分别解决练习规划与资源查找。
怎么使用这张地图
- 先定目标:做网页就从前端基础开始;做接口或自动化就从一门后端语言开始;想独立交付一个产品,再按全栈路线串起来。
- 一个阶段只保留一份主教材。读完一个主题,立即写一个小练习,不要同时横跳五套教程。
- 教程负责建立理解,官方参考文档负责核对版本、API 和边界。遇到浏览器兼容、框架升级或部署行为时,以当前官方文档和实际运行结果为准。
- 记录“我能解释并实现什么”,不要用读完章节数当作掌握程度。
前端路线
| 阶段 | 学什么 | 主资料 | 完成标准 |
|---|---|---|---|
| Web 入门 | 文件、命令行、网页如何工作,HTML/CSS/JavaScript 的职责 | MDN:Web 开发学习区 | 能从空目录做出并发布一个包含语义结构、样式和交互的小页面 |
| HTML 与无障碍 | 语义标签、表单、文档结构、键盘可达性 | MDN:构建网页内容;WAI:无障碍基础 | 不依赖鼠标完成表单;能解释为什么用按钮、链接和标题,而不是只靠视觉样式 |
| CSS 布局 | 盒模型、层叠、Flexbox、Grid、响应式、动画 | MDN:CSS 样式基础;web.dev:Learn CSS | 同一页面在手机和桌面都可用;布局不靠大量绝对定位硬撑 |
| JavaScript 语言 | 值与类型、作用域、函数、对象、异步、模块 | JavaScript.info;阮一峰:JavaScript 教程 | 能拆分模块、处理异步失败,并解释闭包、原型和事件循环的常见场景 |
| 浏览器平台 | DOM、事件、网络请求、存储、Observer、Worker、SSE/WebSocket | MDN:Web API;MDN:HTTP | 能为跨标签通信、长连接、流式 UI 和懒加载分别选择合适 API,并说明降级方案 |
| 现代 JS 与 TypeScript | ES 模块、Promise、迭代器、类型建模、编译边界 | 阮一峰:ECMAScript 6 入门;TypeScript Handbook | 能读懂类型错误,给 API 数据建模,并避免用 any 掩盖不确定输入 |
| 框架与工程化 | 组件、路由、状态、表单、构建、测试和性能 | React Learn 或 Vue Guide,先选一个深入 | 能从空工程完成带路由、接口、表单、错误态和测试的功能,不只会拼静态组件 |
阮一峰的资料放在哪一层
JavaScript 教程适合按章节学习语言和浏览器基础;ECMAScript 6 入门更适合作为有 JavaScript 基础后的语法扩展阅读,不是从零开始学习整个 Web 平台的唯一教材。教程更新节奏与语言标准不完全同步,遇到新语法或宿主 API 时再对照 MDN、ECMAScript 规范或对应框架的当前文档。
后端与 Python 路线
| 方向 | 推荐顺序 | 资料与用途 |
|---|---|---|
| Node.js 服务端 | JavaScript 基础 → Node 运行时与 npm → HTTP → 一个服务框架 → 数据库、测试和部署 | Node.js Learn覆盖运行时、命令行、HTTP、调试、性能和安全;Express 指南适合了解轻量路由;若项目使用 Nest,再读NestJS 文档 |
| Python 入门 | 语法与数据结构 → 函数/模块 → 异常、测试和虚拟环境 → 文件、网络与数据库 | 廖雪峰 Python 教程适合中文初学者按章节入门;Python 官方教程用于核对当前语言行为、标准库和版本差异 |
| Python Web | Python 基础 → HTTP 与数据库 → Django 或其他框架 → 测试、配置和发布 | Django 官方入门教程按一个应用介绍项目结构、模型、管理界面和请求处理;不要把某个框架教程当作 Python 语言参考手册 |
| SQL 与关系数据库 | 表/约束 → 查询与 JOIN → 事务 → 索引与执行计划 → 连接池和迁移 | PostgreSQL 官方教程适合建立关系数据库基础;具体语法和隔离行为要以所用数据库版本的手册为准 |
已有 JavaScript 经验、想边学边做的读者,可以继续看本站配套的 Python 学习路线:从语法基础到可维护的小项目;它把环境、语言差异、异常、测试、类型标注和异步 I/O 连成一条可运行的练习路径。基础之后可接着看 Python 学习仓库复盘了解练习组织,再读 Python 后端开发入门把语言基础迁移到可测试的服务。
廖雪峰的资料怎么配合使用
廖雪峰的网站教程目录包含 Python、Java、JavaScript、SQL、Git 等主题。对零基础读者,按一门语言的目录顺序读比从搜索结果随机拼章节更容易建立结构;但部署、框架版本、依赖安装和安全建议变化很快,涉及这些内容时要回到对应官方文档检查,不要照搬旧命令。
学习 Python 时,可以把廖雪峰教程当作中文主线、Python 官方教程当作精确参考,再用自己的脚本验证:读取 CSV、校验输入、写单元测试、处理异常、把配置与代码分开。若目标是后端服务,再补 HTTP、SQL、日志、权限、部署和备份;学完语法本身还不等于具备服务端交付能力。
从前后端走到全栈
全栈不是把所有框架都学一遍,而是能把一个用户需求可靠地穿过浏览器、API、权限、数据库和部署链路。可以按下面的顺序做一个小型书签或阅读清单应用:
- 先定义数据模型和使用场景:用户、条目、标签、创建时间、可见范围。
- 做一个可访问的前端:键盘可操作、手机可用、加载/空/失败状态完整。
- 设计 API 契约:字段、状态码、分页、校验错误和幂等语义写清楚。
- 实现服务端:认证与对象级授权分开;服务端重新校验每次读写,不能只相信前端隐藏按钮。
- 使用数据库事务维护跨表不变量,为查询设计索引并通过迁移管理结构变化。
- 加上测试:核心业务单测、接口集成测试、至少一条浏览器关键路径。
- 做可观测和运维:结构化日志、健康检查、备份恢复演练、限流、密钥管理和回滚步骤。
交付检查表:
- 未登录用户无法读取私有数据;不同用户不能通过替换 ID 访问他人资源。
- 接口对错误输入给出稳定错误,不向客户端泄露堆栈或密钥。
- 页面能表达加载中、空结果、失败、重试和成功状态。
- 数据库迁移可在空库执行,也可从备份恢复;关键写入有一致性测试。
- 生产配置不提交到 Git;发布有健康检查、日志定位办法和回滚步骤。
- 手机窄屏、键盘操作和至少一种主流浏览器完成实际验收。
用真实项目检查学习结果
每学完一块,就找一个小而完整的问题,而不是立刻再学一套框架:
- 浏览器基础:用
IntersectionObserver做图片延迟加载,处理不支持该 API 时的回退。 - 前端通信:分别实现
BroadcastChannel、storage事件和SharedWorker的适用场景说明,并测试同源与标签关闭行为。 - 流式交互:用
ReadableStream消费 SSE,处理取消、断线、重连和部分 UTF-8 字节,不把网络 chunk 当成完整文本消息。 - 后端基础:实现带游标分页的只读 API,说明排序稳定性、索引与重复请求行为。
- 数据一致性:实现一项库存或报名流程,用事务和并发测试保护数量不超限。
- 质量保障:为一个真实缺陷补最小复现、回归测试、日志定位说明和上线回滚步骤。
完成标准不是“代码跑起来”,而是能说清楚输入边界、失败路径、权限边界、兼容性和怎么证明它仍然正常。
外部课程与本地文章的边界
外部教程提供完整原文和作者更新;本博客负责中文学习路线、实践补充、版本提示和与本站项目经验的连接。链接失效或页面迁移时,应更新链接并记录核验日期,不默认把整套第三方教材抓取到本站。阮一峰的 ES6 教程页面注明非商业 Creative Commons 授权;引用或改编前仍须按页面当前许可要求保留署名并遵守非商用条件。其他资料也应分别核对各自许可,不能因为免费阅读就推断可以整篇复制或重新发布。
2026-10-21 外链与许可复核
- 廖雪峰 Python 教程当前目录仍提供从安装、基础语法、函数、模块,到测试、文件 I/O、网络和数据库的章节,可作为中文入门主线;语言版本、命令与标准库行为仍以当前 Python 官方教程为准。
- 阮一峰 JavaScript 教程(网道)自述主要覆盖 ES5 与 DOM,并指向 ES6 教程作为后续阅读;页面标注 CC BY-SA 3.0。它适合建立核心语法/DOM 的结构化复习,不应被描述为覆盖现代 Web 平台的完整课程。
- ECMAScript 6 入门页面标注署名—非商业 4.0(CC BY-NC 4.0),并将其定位为已有 JavaScript 基础后的中级教程。该许可与网道 JavaScript 教程不同;如需复制或改编,先按各自页面的完整条款处理,本博客只链接并提供原创学习建议。
- MDN Web 开发学习区当前提供 Getting Started、Core Modules 和 MDN Curriculum 等结构化入口,适合作为现代 Web 学习主线,再按需回到各 API 参考页核对细节。
建议读者在本博客按主题继续:
- 前端专题:浏览器跨标签页通信、IntersectionObserver 实战、SSE 与 WebSocket 流式展示。
- 后端专题:Node.js 服务端工程实践 与 Node.js 服务优雅关停与数据库连接池;继续补充专题时,优先写清可复现条件和失败边界。
- 全栈专题:羽毛球活动平台的全栈拆分:从需求、API、数据库事务到跨端行为看完整项目,并区分源码已验证与仍待实测的结论。
本文只收录学习入口和原创练习,不承诺外链永久有效,也不替代官方规范、具体版本文档或真实项目验证。
Live Notes
留言提交后会先进入审核,审核通过后对其他读者公开。