从基础到实战
建议按顺序学习。每一节都建立在前面的概念之上。
先建立程序、变量、控制流、函数和运行环境的共同语言。
能把一个生活任务拆成输入、步骤、状态和输出。
- 1第一次写程序:从变量、判断到函数的 12 个共同概念48 分钟阅读
用一个记账程序讲清源代码、运行、变量、类型、表达式、判断、循环、函数、对象、错误、测试和版本控制,并对照 Python、Java 与 JavaScript。
- 2电脑到底在做什么:从输入、内存到程序运行的第一张地图34 分钟阅读
用一个文件处理任务串起 CPU、内存、磁盘、操作系统、进程和网络,帮零基础读者建立可排障的计算机心智模型。
- 3开发环境第一课:文件、路径、终端、环境变量与依赖到底是什么36 分钟阅读
从打开一个项目文件夹开始,讲清目录、绝对与相对路径、终端与 Shell、命令结构、进程、端口、环境变量、PATH、依赖、包管理器和虚拟环境。
- 4命令行的第一套工具:目录、管道、重定向与退出码36 分钟阅读
从路径和标准输入输出开始,学会组合命令、搜索日志、写安全脚本,并理解每条命令如何把结果交给下一条。
- 5Git 是什么:从三个状态到第一次提交与分支38 分钟阅读
先用生活中的存档理解 Git、仓库、提交和分支,再完成一次安全提交、分支合并、冲突处理与误操作恢复。
- 6调试的完整闭环:从复现条件到最小修复35 分钟阅读
建立可迁移的排障习惯:记录现象、构造最小复现、提出可证伪假设、用日志和断点验证,再补回归测试。
- 7列表、字典和集合:数据结构决定程序怎样查找和改变46 分钟阅读
用通讯录和库存两个例子理解数组、链表、栈、队列、映射与集合,学会按访问方式选结构并写出复杂度理由。
用调试、测试、错误处理、网络和操作系统边界让程序可解释。
能解释一次请求或进程在哪些地方等待、失败、释放资源。
- 8测试从哪里开始:把应该能用写成可执行的证据36 分钟阅读
解释断言、单元测试、集成测试、fixture、边界与回归,带着一个小函数和一个 HTTP 接口建立第一套测试习惯。
- 9错误处理与输入校验:让程序在坏数据面前保持可解释45 分钟阅读
区分预期业务拒绝、程序缺陷和外部故障,设计校验顺序、异常边界、错误码、重试与日志,避免静默失败。
- 10浏览器打开网页经历了什么:DNS、连接、HTTP 与状态码40 分钟阅读
用一次页面请求串起 DNS、TCP/TLS、HTTP 请求响应、Cookie、缓存和错误状态,学会在 Network 面板里定位慢与错。
- 11一次请求怎样到达服务器:DNS、TCP、TLS 与 Socket47 分钟阅读
沿着浏览器请求拆解域名解析、连接建立、TLS、HTTP 与端口,练习用分阶段证据定位网络慢、超时和连接失败。
- 12操作系统给程序的三件礼物:进程、文件和权限43 分钟阅读
从启动一个脚本开始理解系统调用、进程生命周期、文件描述符、路径、权限和信号,并完成一份可排障的 Linux 运行记录。
进入对象协作、进程并发和更复杂的系统边界。
能指出一次并发任务在哪些地方等待、失败或丢失状态。
先交付有输入校验、测试和版本记录的小工具,再把同一套边界扩展到可观测、可恢复的阅读服务。
完成一个可运行的小项目,并留下运行说明、失败案例和一次恢复演练。