公共教程学习路线:廖雪峰、阮一峰与 MDN 应该怎么用
本文目录
好教程能帮人跨过入门门槛,但一篇教程不等于标准、一套课程也不会自动覆盖真实工程。下面按学习目标选择公开资源:廖雪峰教程偏中文讲解与循序示例,阮一峰的文章和教程适合作为特定主题入口,MDN 提供结构化 Web 学习和浏览器技术参考;Node.js、Python 官方文档用于确认对应运行时的行为。
本轮复核了作者站点、官方文档和教程入口;这只确认来源与入口,不代表每个页面、代码示例或许可条款都已逐项验证。外部页面会更新、迁移或调整许可,收藏前仍要检查版本、更新时间、作者和许可。本文保留来源入口与原创学习建议,不镜像教程正文。
先判断自己处在哪一层
- 从未写过代码:先学变量、条件、循环、函数、数组/对象和调试,再进入框架。语言教程和 HTML/CSS 不是同一门课。
- 会一门语言、刚开始 Web:学习 HTML 语义、CSS 盒模型/布局、JavaScript DOM/事件/异步,再做一个可部署的小页面。
- 已能写页面、补标准:用 MDN 查 API、兼容性和示例;需要精确语义时继续追到 WHATWG、TC39 或 CSSWG 标准。
- 想做服务端:先理解 JavaScript,再学 Node 的模块、异步 I/O、文件、HTTP、测试和安全;Python 路线则把语言基础、虚拟环境、包管理、测试和部署分开。
中文讲解路线
| 目标 | 推荐入口 | 适合怎样使用 |
|---|---|---|
| JavaScript 零基础或补基础 | 廖雪峰 JavaScript 教程 | 按章节写代码,遇到浏览器/Node 差异时回到当前官方文档核对;旧示例不应直接当现代工程脚手架。 |
| Python 入门与语法复习 | 廖雪峰 Python 教程 | 用它建立概念,再用当前 Python 文档核实版本、命令和第三方包做法。 |
| ES2015 语言特性地图 | 阮一峰《ECMAScript 6 入门》 | 适合已有 JavaScript 基础的人查 let/const、模块、Promise 等主题;不要把历史版本中的提案或旧兼容结论直接套到现在。 |
| JavaScript 核心语法和 DOM | 阮一峰 JavaScript 教程(网道) | 旧教程入口已说明迁移到网道;适合系统复习核心语法和 DOM,较新的语言特性再对照 ES6 教程与 TC39 资料。 |
| 计算机原理和技术专题文章 | 阮一峰的网络日志 | 按专题阅读并记录发布日期;周刊是发现线索,不是每个链接都已经独立验证的推荐结论。 |
阮一峰 ES6 教程页面标注署名—非商业 4.0 许可。访问、链接与把全文复制到另一个站点不是一回事;如需再利用正文或示例,先阅读页面许可和具体素材条款。这里仅做链接与原创说明。
用 MDN 建立前端基础
完全入门可从 MDN 学习 Web 开发 的入门模块开始,随后按 HTML、CSS、JavaScript 核心模块推进。它提供技能测试和挑战,适合边读边练;核心模块之后再按兴趣进入扩展主题。
- 写页面结构时查 HTML 文档 的语义、表单、媒体和可访问性说明。
- 调布局时查 CSS 文档 与 Flexbox/Grid/响应式专题。
- 查语言行为时看 JavaScript 指南;查浏览器功能时看具体 Web API 文档和兼容性表。
- 对安全、缓存、网络和浏览器行为等容易误解的结论,继续阅读标准、浏览器兼容表或权威安全指南,不能只依赖某个教程片段。
- 想按专题短课补性能、可访问性、表单、PWA 或测试,可看 web.dev Learn;它是补充课程,不代替 HTML、CSS 和 JavaScript 的规范定义。
- 对语言精确语义,查 ECMAScript 规范;规范是裁决来源,不适合作为零基础第一课。
教程用于建立心智模型,参考文档用于确认细节,标准用于裁定精确行为。三种材料用途不同,发生冲突时先比较版本、环境和定义范围,再追到标准或实现证据。
Node.js 与 Python 官方路线
- Node.js Learn 按入门、命令行、HTTP、文件系统、异步、并发、TypeScript、诊断、测试和安全组织内容。先确认当前 Node LTS 与项目 engines,再看与该版本有关的 API。
- Python 官方教程(简体中文) 面向“学过编程、正在学 Python”的读者,不是完全零编程基础课程。它覆盖解释器、控制流、数据结构、模块、异常、类、标准库与虚拟环境;
/3/指向当前文档系列,复现旧项目时要锁定其实际 Python 小版本。 - Python Packaging User Guide 讲项目打包、依赖和发布;建立 Python 环境时优先读 pip 与 venv 指南,不要把系统 Python 与项目依赖混装。
- Node.js 从 官方 Learn 入口 开始,按项目正在运行的 Node 版本查 API、异步、文件、网络、测试和诊断;中文入口可能跳转到英文内容。
- 使用 NestJS 时从 NestJS 官方文档 对照当前主版本的模块、校验、鉴权和测试章节;框架版本要与项目依赖一致。
- 数据库知识不要只靠 ORM 教程:PostgreSQL 当前文档 和 OWASP Cheat Sheet Series 分别帮助核对数据库版本行为与安全控制;生产项目要切到与实际 PostgreSQL 主版本匹配的文档。
- 查标准库和语言语义时转到对应参考章节;Python 包管理和项目结构不要只靠旧教程里的一条 pip 命令。
- 学到服务端后补 HTTP、数据库事务、身份验证、授权、日志、测试与部署;“代码能跑”不等于生产安全或可维护。
TypeScript、Git、HTTP 与数据库:按工程任务补基础
| 主题 | 官方/一手入口 | 推荐顺序与边界 |
|---|---|---|
| JavaScript 到 TypeScript | TypeScript Handbook | 先会 JavaScript 再读 Handbook;依次练基础类型、窄化、函数、对象和模块。它不是 JavaScript 入门课,也不覆盖每种构建工具的集成。 |
| Git 协作 | Pro Git 简体中文 | 先理解工作区/暂存区/提交,再练分支、合并、冲突和远端协作。涉及 reset、rebase、强推等会改写历史的命令,先在临时仓库演练并确认协作者影响。 |
| HTTP 与浏览器/服务端边界 | MDN HTTP 概览 | 顺着请求/响应、方法、状态码、头部和缓存建立模型,再读具体 API。CORS 是浏览器跨源访问策略,不等于服务端身份认证或授权。 |
| SQL 与关系数据库 | PostgreSQL 官方教程 | 从建表、查询、连接和聚合开始,再学约束、事务、索引及执行计划。current 会随官方主版本更新;复现线上问题时切换到服务器实际主版本文档。 |
这一组资料适合已经写过一点代码、开始接触多人协作或服务端的人。每看完一节就用自己的小仓库/本地数据库完成一次操作;不要在真实项目里用危险 Git 命令“试试看”,也不要把练习数据库连接到生产环境。
四周实践路线:每周留下一个可检查的成果
按每周 4–6 次、每次 30–60 分钟安排;时间只是建议,不是课程承诺。每周先读一个小主题,再关掉教程独立实现。没有编程基础时先走 HTML/CSS/JavaScript 的入门路线;已有其他语言经验、目标是 Python 的读者可以直接走 Python 分支。Python 官方教程明确面向“正在学习 Python 的程序员”,不能代替零基础编程启蒙。
| 周次 | 前端分支 | Python/后端分支 | 必须交付的成果 |
|---|---|---|---|
| 第 1 周:基础与输入输出 | 用语义化 HTML、CSS 布局和表单做一页阅读清单;键盘可操作,窄屏不横向溢出。 | 用变量、容器、循环、函数和文件读写,写一个读取 JSON 阅读清单并输出统计的命令行程序。 | README 写明环境、启动步骤和两组手工输入/输出;坏输入有明确提示。 |
| 第 2 周:状态与边界 | 用 JavaScript 管理添加、完成、筛选状态;刷新后用本地存储恢复,并处理损坏数据。 | 拆分模块,为空文件、缺字段、重复条目和非法进度编写测试;用虚拟环境安装项目依赖。 | 至少 6 个自动化测试,包含正常、边界和失败路径;测试可一条命令运行。 |
| 第 3 周:网络与数据 | 调用一个明确文档化的 JSON API;展示加载、空数据、错误、重试和请求取消状态。 | 实现一个小型 HTTP JSON 接口;校验输入,区分 400/404/500,避免把异常堆栈返回给调用方。 | 写出请求/响应示例;确认并发重复请求、超时和无效参数的预期行为。 |
| 第 4 周:交付与复盘 | 检查可访问性、性能、浏览器兼容和部署产物;记录无法支持的环境。 | 将数据保存到数据库时使用参数化查询和事务;补日志、配置说明、迁移/备份与恢复演练。 | 一个完整的阅读清单小项目:可安装、可启动、可测试;README 给出限制、数据流和回滚办法。 |
前后端可以先分别完成,不必第一周就接成全栈。第 3 周使用真实第三方服务前,先检查是否需要账号、是否收费、是否会发送个人数据;练习阶段优先使用本地假数据或自己控制的服务。不要把令牌写进前端、仓库、截图或公开日志。数据库和登录不是为了“全栈”标签硬加的功能,先让单机流程正确,再按需求增加服务端同步。
交付检查清单
- 新环境能按 README 从零运行;写清 Node/Python 版本、包管理器、环境变量名和示例配置,但不要提交真实密钥。
- 每个关键流程至少有一个成功、一个无效输入、一个失败依赖的测试;异步流程还要测重复提交和迟到响应。
- 前端用键盘完成主要操作,表单错误能读懂;空态、加载态和 API 失败态不是一片空白。
- 服务端逐项校验输入并执行授权;隐藏按钮不等于权限控制,客户端传来的角色和价格也不能直接信任。
- 记录一条真实的排错过程:现象、假设、证据、修复、回归范围。不能只留最终代码,也不要把未经复现的猜测写成根因。
- 发布前检查依赖锁文件、测试、构建、日志和回滚办法;没有做过的生产验证明确标注“未验证”。
自测:我现在能独立做什么
给每项打 0/1/2 分:0 = 还不能解释;1 = 看资料能完成;2 = 能独立完成并解释边界。
- 能否从空目录创建项目、运行测试并解释依赖锁文件的作用?
- 能否说明表单输入如何经过浏览器校验、服务端校验、持久化和响应渲染?
- 能否区分 401 与 403,并说明授权为什么必须由服务端执行?
- 能否用测试复现一次空值、重复请求、超时或乱序响应问题?
- 能否说明数据库事务解决什么问题、部署失败怎样恢复、哪些数据需要备份?
总分不是能力排名。0–3 分先补语言和调试基础;4–7 分按项目缺口练习;8–10 分尝试带约束的完整小项目,再请别人做代码审查。把“我学过某教程”改写成可验证的行为,例如“我能实现并测试一个带输入校验和错误状态的列表接口”。
一周一小项的练习法
- 阅读一个主题,写下 3 个关键概念和 2 个尚未确认的问题,不整段抄教程。
- 离开原文,从空文件实现一个最小例子;给输入、边界条件和失败路径各设计一个测试。
- 查官方 API 文档或标准,记录版本、浏览器/运行时和兼容性;旧教程里的旧 API 要标为历史背景或替代方案。
- 把例子放入自己的小项目,提交代码并写明如何运行、怎样验证、哪些情况不适用。
- 一周后不看笔记重做一次;仍记不住的地方补图、补测试或补自己的解释。
在博客里引用教程的维护格式
每条外部学习资源建议记录:原作者、原始标题、稳定入口、主题、前置知识、适用人群、许可、最后检查日期、是否验证过示例,以及本站新增的原创实践。链接失效时先找作者官方新域名或仓库修订记录,不要静默换成来源不明的镜像。
引用一小段原文也要标作者和链接,并遵守对应许可与合理引用要求;不要整站抓取、批量复制或把第三方版权材料包装成自己的文章。需要离线学习时优先使用作者/官方明确提供的下载版本,并保留许可和版本信息。
继续阅读
- 前端学习路线与现代浏览器实践:用标准、浏览器实测和日期标记维护旧知识。
- Python 学习仓库复盘:从实际练习文件核对进度、语法迁移和下一步任务。
- Linux 常用命令手册:配合 Python、Node 和本地项目练习终端基本功。
- Mac 前端工程师工具链:准备编辑器、终端、Git 和换机清单。
Live Notes
留言提交后会先进入审核,审核通过后对其他读者公开。