教程总览
全部编程与 AI 教程,按系列组织。
Go 实战教程
Go 进阶教程
Go 包与模块管理
讲清 module、package 与目录的关系:go.mod 与 go.sum、internal 目录、导出规则、go get 与 go mod tidy、版本选择与 replace,以及常见的循环依赖处理。
Go 测试与基准测试
用标准库 testing 写表驱动测试:t.Run 子测试、t.Helper 与 t.Cleanup、临时目录、错误断言、基准测试与内存统计、覆盖率与 fuzz,以及测试的组织习惯。
Go context 与取消传播
context 的作用与用法:Background 与 TODO 的取舍、WithCancel/WithTimeout/WithDeadline、ctx 作为首个参数向下传递、select 监听 Done、避免泄漏与不要存进结构体。
Go goroutine 与 channel
并发原语的正确用法:go 与 WaitGroup、无缓冲与有缓冲 channel、close 与 range 的规则、select 与超时、worker pool、Mutex 与 channel 的选择,以及 race detector。
Go 泛型入门
类型参数与约束的实用入门:any 与 comparable、自定义约束与 ~ 底层类型、Map/Filter 等通用函数、泛型类型、类型推断,以及什么时候不该用泛型。
Go 性能剖析:用 pprof 找热点
从基准测试产物到生产采样:CPU 与堆 profile 的采集方式、top/list/web 与火焰图的读法、benchstat 对比两次改动,以及 pprof 端点该暴露给谁。
JavaScript 进阶教程
JavaScript 模块:ESM 与 CommonJS
讲清 ESM 的 export/import、默认导出与具名导出的取舍、动态 import、CommonJS 的 require/module.exports,以及 Node 与浏览器中的模块解析规则和互操作坑。
JavaScript 异步与 Promise
从事件循环出发讲清 Promise 的三种状态与链式调用,async/await 的错误处理,串行与并行的取舍,以及 Promise.all、allSettled、race、any 的使用场景。
JavaScript fetch 与 HTTP 请求实践
fetch 的基本用法与常见误判:状态码不会自动 reject、Response 只能读一次、超时与取消、失败重试与退避,以及浏览器 CORS 和 Node 环境的差异。
JavaScript DOM 与事件
选择与创建节点、批量更新与重排、事件冒泡与捕获、事件委托、监听器清理与 AbortSignal,以及 innerHTML 带来的 XSS 风险与表单处理要点。
JavaScript 工程化:npm、Vite 与代码检查
从 package.json 字段与语义化版本讲起,覆盖 npm ci 与锁文件、npm scripts、npx、Vite 开发与构建、ESLint 与 Prettier 分工,以及环境变量与产物检查。
JavaScript 测试:用 Vitest 写单元测试
从零配置 Vitest:断言怎么选、异步代码与假计时器怎么测、vi.fn 与 vi.mock 的替身边界、覆盖率阈值,以及在 CI 里稳定执行。
JavaScript 实战教程
PHP 实战教程
PHP 进阶教程
PHP Composer 与命名空间
用 Composer 管理依赖与自动加载:composer.json 结构、PSR-4 命名空间映射、版本约束与锁文件、脚本与自动加载优化,以及团队协作中的常见坑。
PHP PDO 与预处理语句
用 PDO 安全访问数据库:DSN 与连接选项、异常模式、位置参数与命名参数、事务、取值模式,以及 LIKE、IN、排序字段等预处理语句的边界。
PHP 面向对象与类型系统
PHP 8.4 的面向对象与类型:构造函数提升、readonly、枚举、接口与抽象类、trait、联合类型与 nullable、strict_types,以及继承与组合的选择。
PHP 模板与视图分离
把查询与输出拆开:一个 render 函数、布局与局部视图、输出转义、替代语法,以及模板里不该出现的数据库查询与业务判断。
PHP 调试与日志
开发与生产两套错误配置、error_log 与自定义处理器、异常兜底、结构化日志与请求 ID,以及 Xdebug 断点、慢查询与「白屏」排查顺序。
PHP 单元测试:PHPUnit 上手与实战
从 Composer 安装 PHPUnit 11 讲起,覆盖 phpunit.xml 配置、断言选择、数据供给器、测试替身、SQLite 内存库与覆盖率,以及在 CI 里稳定执行。
Go 基础教程
Go 环境搭建与第一个程序
从安装 Go 1.24 开始,讲清 GOPATH 与模块模式的区别、go mod init / run / build / fmt 的实际用法,并给出最小项目结构。
Go 变量、类型与零值
讲清 var 与 := 的区别、Go 的零值机制、常量与 iota 的用法,以及数值转换、string 与 []byte、rune 之间的边界。
Go 控制流:if、for、switch
说明 Go 为什么只有一种循环、if 的初始化语句怎么用、switch 的默认无穿透行为,以及 range 遍历切片、map 与字符串的区别。
Go 函数与错误处理
讲解多返回值与命名返回值、error 接口的正确用法、fmt.Errorf 的 %w 包装与 errors.Is/As,以及 defer、panic 与 recover 的适用边界。
Go Slice 和 Array 的区别
对比 Go 数组与切片的内存模型,说明长度与容量的关系、append 扩容规则,以及共享底层数组导致的隐蔽 bug。
Go Map 与结构体
讲清 Go map 的声明、comma-ok 取值、删除与并发限制,以及结构体定义、字面量、字段导出规则与嵌入组合的用法。
Go 指针、方法与值语义
解释 Go 指针的取地址与解引用、new 与 & 的区别,讲清值接收者与指针接收者的方法集规则,并给出何时该用指针的判断标准。
Go 接口与组合
讲清 Go 接口的隐式实现、小接口原则、类型断言与类型 switch,说明 nil 接口与 nil 指针的区别,以及用组合替代继承的写法。
JavaScript 基础教程
JavaScript 变量声明:var、let 与 const
对比 var、let、const 的作用域与提升行为,说明暂时性死区与引用绑定的区别,并梳理 JavaScript 的七种原始类型与 typeof 判断。
JavaScript 运算符与类型转换
讲清 == 与 === 的差别、隐式转换规则、truthy 与 falsy 判断,以及 ||、??、可选链在取值兜底时的正确用法。
JavaScript 条件判断与循环
讲解 if / switch 的写法差异、for、for...of、while 的适用场景,以及遍历数组和对象时最容易犯的索引与中断错误。
JavaScript 函数与作用域
对比函数声明、函数表达式与箭头函数,说明参数默认值与剩余参数,讲清作用域链、闭包与 var 在循环中的经典陷阱。
JavaScript 数组常用方法
按「是否改变原数组」梳理 map、filter、reduce、find、some、sort 等高频方法,配可运行示例与 flat、sort 的默认行为陷阱。
JavaScript 对象与解构
讲解对象字面量、属性访问与遍历,说明解构赋值、展开运算符与浅拷贝的关系,以及对象引用带来的修改共享问题。
JavaScript 字符串与模板字符串
整理字符串常用方法与模板字符串的写法,说明字符串不可变性、slice 与 substring 的区别,以及 replace 与 replaceAll 的匹配规则。
JavaScript 错误处理
讲解 Error 对象的结构与自定义错误,说明 try / catch / finally 的执行顺序、throw 的正确用法,以及异步场景下的错误捕获方式。
PHP 基础教程
PHP 变量与数据类型
讲解 PHP 变量的写法与作用域、标量类型与数组的类型判断,说明松散比较的陷阱以及 declare(strict_types=1) 的作用。
PHP 字符串与数组
整理 PHP 字符串处理与数组操作的高频函数,说明索引数组与关联数组的遍历方式,以及 array_map、array_filter 与数组合并的规则。
PHP 条件判断与循环
讲解 if / match / switch 的选择,for、foreach、while 的适用场景,以及模板中使用的替代语法与循环中修改数组的注意事项。
PHP 函数与作用域
讲解函数定义与类型声明、参数默认值与可变参数,说明返回值类型、变量作用域与 static 变量,以及匿名函数和箭头函数的用法。
PHP 表单与请求处理
讲解 $_GET 与 $_POST 的使用场景、请求方法判断、输入过滤与输出转义,说明如何避免 XSS 与把表单数据写回页面的正确方式。
PHP 文件读写
讲解 file_get_contents 与 file_put_contents 的用法、逐行读取大文件的方式、目录遍历与路径处理,以及文件锁与权限相关的注意事项。
PHP 错误与异常处理
区分 PHP 的错误等级与异常体系,讲解 try / catch / finally、自定义异常与全局处理器,以及生产环境隐藏错误细节的配置方式。
PHP 会话与 Cookie
讲解 session 的启动与读写、Cookie 的设置参数与安全选项,说明两者的适用场景、登录态管理的基本做法与常见的会话安全隐患。
单篇教程
Python 推导式与迭代工具
系统讲解列表、字典、集合推导式与生成器表达式,以及 enumerate、zip、sorted、itertools 等把循环写短的迭代工具。
Python 模块、包与虚拟环境
讲清 import 的几种写法、包与相对导入、__main__ 入口的作用,以及用 venv + pip 隔离依赖、固化 requirements 的完整流程。
Python 类与面向对象基础
讲解类的定义、实例与类属性的区别、@property、继承与 super,以及 __repr__、__eq__ 等常用魔术方法的写法与用途。
Python dataclass 与类型注解
介绍类型注解语法与 mypy 检查,讲解 @dataclass 自动生成的方法、default_factory、frozen 与 slots,以及和 NamedTuple 的选择。
Python 迭代器与生成器
区分可迭代对象与迭代器,讲清 yield 的执行流程、生成器管道处理大文件、yield from 与 send,以及生成器只能用一次的注意事项。
Python 常用标准库:datetime、collections 与 json
按使用场景介绍 datetime 的时间计算与格式化、collections 的 Counter / defaultdict / deque,以及环境变量与命令行参数等高频标准库用法。
Python 正则表达式入门
讲解 re 模块的 search、match、findall、finditer、sub 用法,常用元字符与分组、贪婪与非贪婪匹配,以及正则最容易踩的坑。
单篇教程
Python 基础教程
Python 变量和数据类型
讲解 Python 变量的绑定机制与内置数据类型,说明可变与不可变类型的区别,以及初学阶段最容易踩的几个坑。
Python 条件判断与循环
讲清 if / elif / else 的真值判断规则、for 与 while 的用法、break / continue / else 子句,以及遍历时最常见的错误。
Python 字符串处理与格式化
覆盖字符串创建、索引切片、split / join / strip 等常用方法、f-string 格式化语法,以及 str 与 bytes 的编码区别。
Python 列表和字典常用操作
整理 list 与 dict 的高频操作,包括切片、遍历、深浅拷贝与循环内修改的陷阱,配可运行示例。
Python 元组、集合与不可变性
对比 list / tuple / set / dict 的适用场景:元组的打包解包与可哈希性、集合的去重与集合运算,以及不可变性的实际含义。
Python 函数与参数传递
讲解函数定义、位置与关键字参数、默认值的可变对象陷阱、*args 与 **kwargs,以及作用域规则。
Python 文件读写与路径处理
讲解 open 与 with 的正确用法、文本与 JSON / CSV 读写、pathlib 处理路径与遍历目录,以及编码与换行相关的常见错误。
Python 异常处理与自定义异常
讲解 try / except / else / finally 的执行顺序、捕获具体异常的写法、raise from 保留异常链,以及自定义异常与常见反模式。