🎮 小游戏制作教程(40 篇)

手把手、分步骤,用 Python / C / C++ / JavaScript 从零做出能玩的小游戏,每个语言从简单到难:猜数字、贪吃蛇、扫雷、2048、井字棋、俄罗斯方块……

🐍 Python 小游戏(12 篇)

Python 小游戏⑥:2048 终端版
2026-08-12 · 11 分钟

Python 小游戏⑥:2048 终端版

继 C 版 2048 之后,用 Python 重新实现:二维列表、移动合并算法与随机生成新块。读完你就能徒手写出能跑能玩的 4x4 数字合并游戏,还能自己加计分和动画效果。

Python游戏
Python 小游戏①:猜数字
2026-08-04 · 8 分钟

Python 小游戏①:猜数字

猜数字是几乎所有程序员写过的第一个小游戏:电脑随机想一个 1 到 100 之间的数,你猜,它只告诉你"大了"还是"小了"

Python游戏
Python 小游戏③:猜单词 Hangman
2026-08-06 · 9 分钟

Python 小游戏③:猜单词 Hangman

猜单词(Hangman)是经典的文字游戏:程序藏起一个单词,只显示字母个数,你一个个猜字母,猜对就亮出位置,猜错就少一次

Python游戏
Python 小游戏⑦:扫雷终端版
2026-08-12 · 10 分钟

Python 小游戏⑦:扫雷终端版

布雷、翻开、扩散、标记——扫雷的经典算法用 Python 逐行实现,控制台也能玩。从零搭建棋盘、数字计算与洪水填充,最后得到一个完整的 9x9 扫雷游戏。

Python游戏
Python 小游戏②:石头剪刀布
2026-08-05 · 7 分钟

Python 小游戏②:石头剪刀布

石头剪刀布(Paper-Scissors-Rock)规则人人皆知,但亲手用代码实现一遍,你会对"如何把现实规则翻译成程序

Python游戏
Python 小游戏⑤:贪吃蛇(pygame)
2026-08-08 · 12 分钟

Python 小游戏⑤:贪吃蛇(pygame)

前四篇都在终端里玩文字游戏,这篇用 pygame 做经典贪吃蛇,首次接触"游戏主循环":每帧重复"处理输入 → 更新状态

Python游戏
Python 小游戏④:井字棋
2026-08-07 · 10 分钟

Python 小游戏④:井字棋

井字棋(Tic-Tac-Toe)的棋盘只有 3×3,规则简单到一句话:谁先连成一线谁赢。但把它写成程序,你要处理输入校验

Python游戏
Python 小游戏⑧:打字测速
2026-08-13 · 8 分钟

Python 小游戏⑧:打字测速

随机出词、计时计速、正确率统计——用 Python 做一个锻炼打字的小工具。掌握时间测量与逐字符比对,输出 WPM 速度与正确率,还能扩展成闯关模式。

Python游戏

⚙️ C 小游戏(11 篇)

C 小游戏⑥:石头剪刀布
2026-08-12 · 6 分钟

C 小游戏⑥:石头剪刀布

随机数、循环对战、胜负统计——C 语言版的石头剪刀布,练习 switch 与随机数生成。用纯标准库实现人机对战,顺带学会输入校验和查表判胜负。

C游戏
C 小游戏⑦:打字测速
2026-08-13 · 7 分钟

C 小游戏⑦:打字测速

用 C 实现打字测速:读取输入、计时、统计正确率,体验字符级输入处理的细节。从 fgets 读行到逐字符比对,纯标准库完成,Linux 和 Windows 都能编译运行。

C游戏
C 语言小游戏④:2048 控制台版
2026-08-07 · 10 分钟

C 语言小游戏④:2048 控制台版

2048 是近几年最成功的休闲小游戏:规则一句话讲完,实现却大有讲究。它的核心是"滑动 + 合并"算法:每次移动所有方块

C游戏
C 语言小游戏①:猜数字
2026-08-04 · 6 分钟

C 语言小游戏①:猜数字

学完 C 语言的基础语法,很多人会陷入"什么都会、却什么都不会做"的尴尬。破解方法只有一个:动手做小项目。本文的猜数字是

C游戏
C 语言小游戏②:数学速算问答
2026-08-05 · 7 分钟

C 语言小游戏②:数学速算问答

猜数字只能练"比较",这一篇我们做一个真正会随机出题的小游戏:数学速算问答。程序自动生成加减乘除四则运算,你口算作答、答

C游戏
C 语言小游戏③:文本迷宫
2026-08-06 · 8 分钟

C 语言小游戏③:文本迷宫

前两篇我们一直在"猜"和"算",这一篇开始有真正的空间感。文本迷宫把地图存进二维数组,玩家用 WASD 控制 @ 穿行,

C游戏
C 语言小游戏⑤:贪吃蛇(控制台)
2026-08-08 · 9 分钟

C 语言小游戏⑤:贪吃蛇(控制台)

本系列收官之作,挑战经典中的经典——贪吃蛇。蛇由一串坐标组成,吃到食物变长,撞墙或咬到自己就结束。控制台版本采用"每按一

C游戏

🔷 C++ 小游戏(8 篇)

C++ 小游戏①:猜数字(面向对象版)
2026-08-04 · 8 分钟

C++ 小游戏①:猜数字(面向对象版)

猜数字是经典入门游戏:程序随机生成 1~100 的秘密数字,不断猜测,程序提示"太大"或"太小",直到猜中。本文用面向对

C++游戏
C++ 小游戏③:扫雷(控制台)
2026-08-06 · 12 分钟

C++ 小游戏③:扫雷(控制台)

扫雷是训练"数据结构思维"的好游戏:9×9 棋盘随机埋 10 颗雷,翻开格子,数字表示周围 8 格有几颗雷。本文用二维

C++游戏
C++ 小游戏⑤:文本 RPG
2026-08-08 · 12 分钟

C++ 小游戏⑤:文本 RPG

系列最后一篇:一个"剧情向"的文本 RPG,没有画面,全靠文字和想象力。玩家冒险、战斗、捡装备吃药水,把类、std::v

C++游戏
C++ 小游戏②:井字棋(带 AI)
2026-08-05 · 10 分钟

C++ 小游戏②:井字棋(带 AI)

井字棋规则简单,却是练习"棋盘建模"和"AI 决策"的绝佳素材。你和电脑轮流落子,电脑带策略 AI——能赢就赢,赢不了就

C++游戏

🟨 JavaScript 小游戏(9 篇)

JavaScript 小游戏⑤:打地鼠
2026-08-12 · 8 分钟

JavaScript 小游戏⑤:打地鼠

地鼠随机冒头,点击得分:setInterval 定时器、随机出现、得分与倒计时机制全实战。

JS游戏

🚀 语言新特性教程(15 篇)

C++11/14/17/20/23、Python 3.9→3.13、JavaScript ES6+ 与 C 标准演进:每个版本带来了什么、怎么写、值不值得升级。

C++ 新特性(5 篇)

Python 新特性(5 篇)

JavaScript 新特性(3 篇)

C 新特性(2 篇)

全部文章(109 篇)

按编程语言与主题分类,每组从简单到难循序渐进,支持搜索。

🐍 Python(24 篇)

Python 并发编程:线程与协程
2026-07-23 · 11 分钟

Python 并发编程:线程与协程

程序变慢时,第一反应往往是"让它同时干更多活"。Python 提供了线程、进程、协程三套并发方案,选对方案比写出代码更重

Python
Python 条件判断与循环
2026-06-22 · 8 分钟

Python 条件判断与循环

程序的核心能力之一就是"根据条件做选择、按规则反复执行"。Python 用 if / elif / else 表达分支,

Python
Python 数据类型与变量详解
2026-06-15 · 9 分钟

Python 数据类型与变量详解

变量是程序存放数据的"盒子",数据类型则决定了盒子里能装什么、能做什么运算。Python 是动态类型语言,写起来很自由,

Python
Python 数据库操作入门
2026-07-28 · 10 分钟

Python 数据库操作入门

程序跑起来容易,数据持久化才是关键。从零配置的 SQLite 到生产级的 MySQL,Python 的数据库接口高度统一

Python
Python 日期与时间处理
2026-07-06 · 8 分钟

Python 日期与时间处理

日志分析、订单统计、定时任务……几乎每个程序都要跟日期时间打交道。Python 的 datetime 模块功能强大但细节

Python
Python 装饰器详解
2026-07-17 · 10 分钟

Python 装饰器详解

装饰器是 Python 最优雅也最"劝退"的特性之一:它能在不改动原函数代码的前提下,给函数附加日志、计时、缓存等能力。

Python
Python 异常处理与调试
2026-07-28 · 8 分钟

Python 异常处理与调试

程序出错不可怕,可怕的是直接崩溃。异常处理让程序"优雅地失败":该报错时报错,该兜底时兜底。配合调试技巧,你就能从"看到

Python
Python 文件与目录操作
2026-08-02 · 9 分钟

Python 文件与目录操作

读写文件、遍历目录、批量重命名……这些"脏活累活"正是 Python 脚本的拿手好戏。本文围绕 open() 与 pat

Python
Python 函数进阶:参数与作用域
2026-06-29 · 9 分钟

Python 函数进阶:参数与作用域

函数是组织代码的基本单元。会写 def 只是入门,真正拉开差距的是对参数机制和作用域规则的理解:默认参数、可变参数、关键

Python
Python 迭代器与生成器
2026-07-11 · 9 分钟

Python 迭代器与生成器

处理大数据时,最怕一次性把所有数据装进内存。迭代器与生成器就是 Python 的"懒加载"方案:按需产生数据,边算边用。

Python
Python JSON 与 CSV 数据处理
2026-06-18 · 8 分钟

Python JSON 与 CSV 数据处理

JSON 和 CSV 是日常工作中最常见的两种数据格式:API 接口返回 JSON,表格数据导出 CSV。Python

Python
Python 列表与字典实战
2026-07-13 · 9 分钟

Python 列表与字典实战

列表(list)和字典(dict)是 Python 中使用频率最高的两种容器:前者处理"有序的一串东西",后者处理"键到

Python
Python 模块与 pip 包管理
2026-07-23 · 8 分钟

Python 模块与 pip 包管理

"不要重复造轮子"是 Python 社区的信条。标准库提供开箱即用的能力,几十万个第三方包通过 pip 一键安装。会用模

Python
Python 面向对象编程
2026-07-18 · 10 分钟

Python 面向对象编程

面向对象编程(OOP)把数据和操作数据的方法打包成"对象",让代码更贴近现实世界的建模方式。Python 的类机制灵活而

Python
Python 练手项目:从想法到作品
2026-08-02 · 12 分钟

Python 练手项目:从想法到作品

语法学了一堆,真正拉开差距的是"把想法做成作品"的能力。本文以一个命令行待办清单为例,带你走完选题、搭骨架、拆模块、加参

Python
Python 正则表达式实战
2026-08-11 · 10 分钟

Python 正则表达式实战

从匹配手机号到解析日志,正则表达式是文本处理的瑞士军刀。本文用 re 模块讲透常用模式与性能陷阱,带你写出能上生产环境的校验与提取代码。

Python 文本
Python 爬虫入门实战
2026-06-30 · 10 分钟

Python 爬虫入门实战

爬虫(网络抓取)是 Python 最受欢迎的应用场景之一:把网页上的公开信息批量提取并保存为结构化数据。本文用一个真实例

Python
Python 入门指南
2026-07-28 · 8 分钟

Python 入门指南

Python 是当今最流行的编程语言之一:语法简洁、生态丰富,无论是写脚本、做数据分析、开发 Web 还是学习算法,它都

Python入门
Python 字符串处理全攻略
2026-07-06 · 8 分钟

Python 字符串处理全攻略

无论是爬虫清洗数据、日志分析还是命令行工具,字符串处理都是 Python 开发者的日常。Python 的 str 类型自

Python
Python 类型注解:从入门到工程实践
2026-08-10 · 9 分钟

Python 类型注解:从入门到工程实践

类型注解不是强制约束,而是给代码装上的"说明书"。本文讲清变量注解、函数签名注解与 typing 模块常用工具,让代码可读性翻倍。

Python 进阶
Python 单元测试入门:unittest 与 pytest
2026-08-11 · 9 分钟

Python 单元测试入门:unittest 与 pytest

写测试不是浪费时间,是为未来省时间。本文用 unittest 讲清断言、夹具与测试组织,再对比 pytest 的简洁写法。

Python 测试
Python 虚拟环境与依赖管理
2026-08-10 · 8 分钟

Python 虚拟环境与依赖管理

每个项目一套独立环境,再也不怕依赖打架。本文对比 venv、pip、pip-tools 与 requirements.txt 的最佳实践。

Python 工具
Python 网络请求与 API 调用
2026-06-24 · 9 分钟

Python 网络请求与 API 调用

现代应用几乎都离不开网络:调第三方 API、抓取公开数据、上传文件。Python 的 requests 库把 HTTP

Python

⚙️ C(15 篇)

C 数组与字符串
2026-07-06 · 8 分钟

C 数组与字符串

处理 10 个成绩可以写 10 个变量,处理 10000 个呢?数组让"同一类型的批量数据"可以用一个名字管理。而 C

C
C 位运算:从进制到实战技巧
2026-08-11 · 8 分钟

C 位运算:从进制到实战技巧

位运算让程序在二进制层面思考:用 &、|、^、<<、>> 实现标志位、快速乘除与奇偶判断。

C 进阶
C 条件与循环
2026-06-28 · 7 分钟

C 条件与循环

顺序执行的程序毫无威力,真正厉害的程序会判断和重复:成绩够不够及格、文件读没读完、任务要不要再来一次。本文带你掌握 C

C
C 数据类型与变量
2026-06-20 · 7 分钟

C 数据类型与变量

程序本质上是对数据的加工。C 语言要求每个数据都有明确的类型——是整数、小数还是字符,决定了它占多少内存、能存多大范围。

C
C 文件操作
2026-07-28 · 8 分钟

C 文件操作

程序跑完就消失的数据没有意义,把结果存进文件、从文件读入配置才是常态。C 用 FILE * 完成文件读写,流程永远是四步

C
C 函数与递归
2026-07-02 · 7 分钟

C 函数与递归

把一段逻辑写进函数,就能重复调用、按需组合,这是 C 程序组织代码的基本方式。而递归——函数调用自己——则是解决"同构子

C
C 语言入门:第一个程序
2026-06-16 · 6 分钟

C 语言入门:第一个程序

1972 年,Dennis Ritchie 在贝尔实验室创造了 C 语言。半个多世纪过去,它依然是操作系统、嵌入式设备和

C
C 语言链表:从单链表到双向链表
2026-08-10 · 9 分钟

C 语言链表:从单链表到双向链表

数组的短板是插入删除太慢,链表用指针把节点串起来解决这个问题。本文手写单链表与双向链表的增删改查。

C 数据结构
C 内存管理:malloc 与 free
2026-07-15 · 8 分钟

C 内存管理:malloc 与 free

数组的长度在编译时就定死了,但程序运行时往往不知道要存多少数据。这时候就需要动态内存分配:运行时按需向系统申请内存,用完

C
C 多文件工程:头文件与模块化
2026-08-12 · 7 分钟

C 多文件工程:头文件与模块化

把大程序拆成多个 .c 和 .h 文件,是 C 工程化的第一步。本文讲清声明与定义、头文件卫士与编译链接流程。

C 工程
C 运算符与表达式
2026-06-24 · 7 分钟

C 运算符与表达式

运算符是 C 语言表达计算的"动词"。加减乘除、比较判断、逻辑与或、甚至直接操作二进制位——掌握了它们,你才能写出真正有

C
C 指针入门
2026-07-10 · 8 分钟

C 指针入门

指针是 C 语言最强大的特性,也是新手劝退率最高的知识点。其实它只做一件事:保存另一个变量的内存地址。把地址想成"门牌号

C
C 预处理与宏:编译前的魔法
2026-08-11 · 8 分钟

C 预处理与宏:编译前的魔法

#include、#define、条件编译、宏的陷阱与防御——预处理是 C 编译流程的第一站,搞懂它才能写出健壮代码。

C 进阶
C 语言排序算法实现
2026-08-10 · 9 分钟

C 语言排序算法实现

冒泡、选择、插入、快排、归并——五种排序用 C 语言逐一实现并对比性能,理解交换与递归的本质。

C 算法
C 结构体与联合体
2026-07-21 · 7 分钟

C 结构体与联合体

一个学生有姓名、年龄、成绩,一个点有 x、y 坐标——这些"一组相关数据"用几个独立变量管理会非常凌乱。结构体把它们打包

C

🔷 C++(15 篇)

C++ 类与对象
2026-06-20 · 9 分钟

C++ 类与对象

类是 C++ 面向对象编程的基石:它把数据和对数据的操作打包在一起,并通过访问控制保护内部状态。理解类与对象,就等于理解

C++
C++ STL 容器:deque、list 与选择指南
2026-08-12 · 8 分钟

C++ STL 容器:deque、list 与选择指南

vector、deque、list、forward_list 各有擅长也各有短板。本文对比它们的插入删除复杂度、迭代器失效规则与适用场景,帮你告别容器选择困难。

C++ STL
C++ 异常处理:try、throw 与 RAII 的配合
2026-08-11 · 9 分钟

C++ 异常处理:try、throw 与 RAII 的配合

异常让错误处理从"层层返回"变成"原地抛出"。本文讲清 try/catch 机制、异常的传播过程,以及 RAII 如何保证资源清理与异常安全。

C++ 进阶
C++ 文件流:fstream 读写实战
2026-08-10 · 8 分钟

C++ 文件流:fstream 读写实战

ifstream、ofstream、fstream 让文件读写像 cout 一样自然。本文带你实战文本文件、CSV 数据与二进制文件的读写,并避开常见的状态判断陷阱。

C++ 文件
C++ 入门:从 C 到 C++
2026-06-15 · 8 分钟

C++ 入门:从 C 到 C++

C++ 诞生于 1983 年,是 C 语言"加上类"的产物,但远不止如此:它同时支持面向过程、面向对象和泛型编程,是操作

C++
C++11/14/17 新特性
2026-08-02 · 10 分钟

C++11/14/17 新特性

2011 年发布的 C++11 被公认为"第二门语言":auto、lambda、智能指针、移动语义等特性彻底改变了写 C

C++
C++ 继承与多态
2026-06-26 · 10 分钟

C++ 继承与多态

继承让新类复用已有类的代码,多态让同一段代码对不同对象表现出不同行为。这两件事合在一起,是面向对象"开闭原则"(对扩展开

C++
C++ 运算符重载:让类型用起来更自然
2026-08-10 · 9 分钟

C++ 运算符重载:让类型用起来更自然

为什么 vector 能用 [] 取值?运算符重载能让你的自定义类也拥有这种"语法特权"。本文用复数类讲透重载规则、成员与非成员函数的选择以及常见陷阱。

C++ 进阶
C++ 引用与指针
2026-07-20 · 9 分钟

C++ 引用与指针

指针是 C 的招牌,引用是 C++ 对指针的"安全升级"。两者都能间接访问变量,但语义大不相同:指针是"存地址的变量",

C++
C++ 智能指针
2026-07-29 · 9 分钟

C++ 智能指针

裸指针 + new/delete 是 C++ 内存泄漏和悬垂指针的头号来源:C++11 引入的智能指针用 RAII 思想

C++
C++ STL 算法库:sort、find 与 lambda 配合
2026-08-11 · 9 分钟

C++ STL 算法库:sort、find 与 lambda 配合

STL 算法是泛型编程的精华:sort、find、for_each、transform 配合 lambda 表达式,让排序、查找、变换一行顶十行。本文用实战例子逐个讲透。

C++ STL
C++ STL 容器:map 与 set
2026-07-08 · 8 分钟

C++ STL 容器:map 与 set

如果说 vector 是"有序的列表",那 map 就是"键值查找表",set 是"自动去重的集合"。它们内部用红黑树实

C++
C++ STL 容器:vector
2026-07-02 · 7 分钟

C++ STL 容器:vector

std::vector 是 C++ 中最常用的容器:一块连续内存上的动态数组,支持 O(1) 随机访问和尾部插入,还能自

C++
C++ string 字符串处理
2026-07-14 · 7 分钟

C++ string 字符串处理

字符串处理是编程中最频繁的操作之一。C 的 char[] + strcpy/strlen 既啰嗦又容易越界;C++ 的

C++
C++ 模板入门
2026-07-24 · 8 分钟

C++ 模板入门

模板是 C++ 泛型编程的核心:写一份代码,让它适用于任意类型。STL 的 vector、vect

C++

📜 JavaScript(11 篇)

JavaScript 动画与交互效果实战
2026-08-12 · 9 分钟

JavaScript 动画与交互效果实战

requestAnimationFrame、CSS 过渡与缓动函数——让页面动起来的三板斧,从滚动动画到拖拽效果。

JavaScript 效果
JavaScript 数组高阶方法
2026-07-15 · 8 分钟

JavaScript 数组高阶方法

处理数据是前端每天的工作,数组高阶方法就是那把"瑞士军刀"。学会 map、filter、reduce,几行声明式代码就能

JavaScript
理解 JavaScript 异步编程
2026-07-22 · 9 分钟

理解 JavaScript 异步编程

"JS 是单线程的,却能处理大量并发"--理解异步是进阶前端的第一道坎。本文从事件循环讲起,带你彻底搞懂 Promise

JavaScriptWeb
JavaScript 基础语法速览
2026-06-18 · 6 分钟

JavaScript 基础语法速览

JavaScript 是 Web 的"通用语言":浏览器里它驱动页面交互,Node.js 让它跑在服务器端。本文用最短的

JavaScript
JavaScript 闭包与作用域
2026-07-27 · 9 分钟

JavaScript 闭包与作用域

闭包(Closure)是 JS 面试必考、实战必用的知识点,也是"一看就懂、一写就错"的典型。本文从作用域讲起,推导闭包

JavaScript
JavaScript DOM 操作实战
2026-06-26 · 8 分钟

JavaScript DOM 操作实战

DOM(Document Object Model)把 HTML 文档变成一棵 JavaScript 可以操作的"对象树

JavaScript
JavaScript 事件机制详解
2026-07-05 · 9 分钟

JavaScript 事件机制详解

交互是前端的灵魂,事件是交互的载体。理解"事件从哪来、往哪去、如何拦截",是写出健壮交互代码的分水岭。本文拆解事件传播的

JavaScript
JavaScript fetch 与异步请求实战
2026-08-10 · 9 分钟

JavaScript fetch 与异步请求实战

从 XMLHttpRequest 到 fetch,浏览器发起 HTTP 请求的正确姿势。本文实战 GET/POST、错误处理与取消请求。

JavaScript 网络
JavaScript 表单校验与提交实战
2026-08-11 · 8 分钟

JavaScript 表单校验与提交实战

从正则校验到实时反馈,打造体验丝滑的表单。本文实现一个完整的注册表单校验案例。

JavaScript 浏览器
JavaScript 对象与原型链
2026-08-10 · 9 分钟

JavaScript 对象与原型链

对象是 JS 的心脏,原型链是它的血脉。本文从字面量到 class,彻底搞懂对象、原型与继承。

JavaScript 基础

🌿 Git(11 篇)

Git 分支管理策略
2026-07-10 · 8 分钟

Git 分支管理策略

分支是 Git 最强大的特性,但"能用分支"和"会用分支"是两回事。没有策略的仓库很快就会变成乱麻:功能分支长期不合并、

Git
Git 常用命令速查手册
2026-07-25 · 6 分钟

Git 常用命令速查手册

Git 是每个程序员必须掌握的工具。本文不追求面面俱到,而是把日常开发中 出现频率最高 的命令整理成速查表,配合真实场景

Git工具
Git 多人协作:从冲突到合并
2026-08-11 · 9 分钟

Git 多人协作:从冲突到合并

两个人改同一个文件必然有冲突。本文实战 Fork 工作流、解决冲突与 Code Review 流程。

Git 协作
Git Hooks 自动化
2026-08-01 · 9 分钟

Git Hooks 自动化

"又有人把调试代码提交上来了""提交信息乱写一气""CI 在合并前才发现格式错误"——根源都是质量检查全靠自觉。Git

Git
Git rebase 与 merge 怎么选
2026-07-18 · 8 分钟

Git rebase 与 merge 怎么选

"merge 还是 rebase?"几乎是每个 Git 使用者都会纠结的问题。两者都能把分支的改动合到一起,但哲学完全不

Git
Git stash 暂存技巧
2026-07-25 · 6 分钟

Git stash 暂存技巧

正在改代码时突然来了个线上 bug,要立刻切分支修复——但手头的改动还没写完,不想提交又不敢丢。这时候 git stas

Git
Git 子模块与高级技巧
2026-08-12 · 7 分钟

Git 子模块与高级技巧

一个仓库里嵌另一个仓库:submodule 的添加、更新与删除,以及 .gitignore 等实用技巧。

Git 进阶
Git 标签与版本发布
2026-08-10 · 6 分钟

Git 标签与版本发布

v1.0.0、v2.1.3 这些版本号是怎么打上去的?本文讲清轻量标签、附注标签与语义化版本。

Git 进阶

🧮 算法(11 篇)

回溯算法:全排列、子集与 N 皇后
2026-08-12 · 10 分钟

回溯算法:全排列、子集与 N 皇后

回溯算法是"走不通就回头"的深度优先搜索。本文从统一模板出发,逐步实现全排列、组合、子集三大入门题,再用 N 皇后展示如何剪枝,一套思路通吃所有回溯题。

算法
二分查找:面试必会
2026-06-28 · 7 分钟

二分查找:面试必会

二分查找是面试中出现频率最高的算法之一:代码不到十行,却藏着无数边界陷阱。本文从最朴素的版本讲起,带你写出一份"一次通过

算法
动态规划入门
2026-07-30 · 10 分钟

动态规划入门

动态规划(Dynamic Programming,DP)是面试中区分度最高的算法题型,也是很多人的噩梦。其实它的核心只有

算法
贪心算法:局部最优到全局最优
2026-08-11 · 8 分钟

贪心算法:局部最优到全局最优

贪心算法每一步都选当前最优,往往能得到全局最优。本文用找零钱、区间调度、跳跃游戏、分发饼干四个经典问题,讲清楚贪心的思考方式、适用边界,以及什么时候贪心会失效。

算法
哈希表:空间换时间
2026-07-08 · 8 分钟

哈希表:空间换时间

如果只能选一种数据结构陪你去面试,那一定是哈希表。它把"查找"从 O(n) 降到平均 O(1),代价只是多花一点内存。理

算法
链表算法实战:反转、环与快慢指针
2026-08-10 · 9 分钟

链表算法实战:反转、环与快慢指针

链表是面试高频考点。本文用 Python 手写链表节点,从零实现反转链表(迭代与递归两种写法),再用快慢指针解决找中点、判断环、找环入口三类经典问题,每个例子都能直接运行。

算法 数据结构
递归与分治思想
2026-07-18 · 7 分钟

递归与分治思想

很多初学者觉得递归难,是因为试图"一步步跟踪"它的执行过程。正确姿势恰恰相反:递归要求你信任函数本身。本文帮你建立递归的

算法
排序算法全家桶:冒泡/快排/归并
2026-06-20 · 9 分钟

排序算法全家桶:冒泡/快排/归并

排序是算法世界的地基:几乎所有面试、几乎所有数据处理都绕不开它。本文把最常考的三种排序——冒泡、快排、归并——一次性讲透

算法
栈与队列:从括号匹配到双端队列
2026-08-10 · 8 分钟

栈与队列:从括号匹配到双端队列

栈和队列是最基础也最实用的两种线性结构。本文讲解它们的概念与 Python 实现,并用括号匹配、逆波兰表达式、单调栈、滑动窗口最大值四个实战例子,带你彻底吃透这两种结构。

算法 数据结构
二叉树:遍历、构建与常见题型
2026-08-11 · 10 分钟

二叉树:遍历、构建与常见题型

二叉树是递归思想的最佳训练场。本文从节点定义讲起,覆盖前中后序递归与迭代遍历、层序遍历、由遍历序列重建二叉树,以及最大深度、对称性等高频题型,代码全部可直接运行。

算法 数据结构
数据结构与算法入门
2026-07-18 · 7 分钟

数据结构与算法入门

数据结构是程序的骨架。本文用最直观的方式介绍三种基础结构--数组、链表、栈,重点对比它们的内存模型与时间复杂度。

算法数据结构

🌐 网络(11 篇)

HTTP 协议基础
2026-07-15 · 8 分钟

HTTP 协议基础

你在浏览器输入网址回车,背后发生了什么?答案就是 HTTP--Web 世界的通用语言。本文用 curl 实战拆解请求与响

网络Web
HTTP 方法与状态码详解
2026-08-10 · 8 分钟

HTTP 方法与状态码详解

GET、POST、PUT、DELETE 有什么区别?200、301、404、500 背后是什么?一次讲透。

网络 HTTP
Web 认证入门:Token 与 JWT
2026-08-12 · 9 分钟

Web 认证入门:Token 与 JWT

从 Session 到 Token,再到 JWT——现代 Web 认证的演进路线。手写一个 JWT 签发与校验流程。

网络 安全
Cookie 与 Session:会话管理入门
2026-08-10 · 8 分钟

Cookie 与 Session:会话管理入门

HTTP 是无状态的,网站怎么记住你是谁?Cookie 存客户端、Session 存服务端,本文讲清这对搭档。

网络 Web
DNS 解析原理详解
2026-06-18 · 9 分钟

DNS 解析原理详解

打开浏览器输入网址,几毫秒内页面就加载出来了。这背后有一个默默工作的系统——DNS(Domain Name System

网络
RESTful API 设计指南
2026-07-15 · 9 分钟

RESTful API 设计指南

前后端分离成为主流后,API 就是前后端之间的"合同"。设计得好,团队协作顺畅、调用方省心;设计得差,文档越写越长,谁用

网络
TCP 与 UDP 协议对比
2026-06-26 · 8 分钟

TCP 与 UDP 协议对比

传输层有两大主角:TCP 和 UDP。几乎所有互联网应用都建立在这两个协议之上——网页用 TCP,视频通话用 UDP。它

网络
HTTPS 与 TLS 握手过程
2026-07-05 · 10 分钟

HTTPS 与 TLS 握手过程

地址栏里那把"小锁"背后,是一套精密的密码学流程——TLS 握手。它让浏览器和服务器在公开网络上安全地协商出加密密钥,从

网络
WebSocket 实时通信
2026-07-24 · 8 分钟

WebSocket 实时通信

聊天、行情推送、在线协作……这些功能都要求服务器主动推送数据,而传统 HTTP 是"一问一答"的。WebSocket 在

网络

🛠️ 工具(11 篇)

正则表达式入门
2026-07-10 · 5 分钟

正则表达式入门

正则表达式(Regex)是用一段"模式字符串"在文本中查找、提取、替换内容的技术。学会它,处理日志、校验输入、批量替换的

工具Python
Chrome DevTools 调试技巧大全
2026-08-11 · 9 分钟

Chrome DevTools 调试技巧大全

断点调试、网络面板、性能分析、移动端模拟——本文用真实场景串起 Chrome DevTools 的四大核心面板,帮你从"只会 console.log"进化到能独立定位和修复前端问题。

工具 调试
程序调试技巧大全
2026-08-02 · 8 分钟

程序调试技巧大全

写代码只占开发时间的一小半,剩下的大半时间都在和 Bug 搏斗。调试不是"碰运气",而是一门有方法论的技术:先复现、再二

工具
Docker 容器入门
2026-07-22 · 8 分钟

Docker 容器入门

为什么别人的项目"在我电脑上跑不起来"?Docker 给出的答案是:把应用连同它的运行环境一起打包,走到哪里都是同一套环

工具
Linux 常用命令速查
2026-07-10 · 7 分钟

Linux 常用命令速查

无论你是开发者、运维还是刚接触服务器的学生,Linux 命令都是绕不开的基本功。本文不追求面面俱到,而是把日常最高频的命

工具
Markdown 写作指南
2026-07-29 · 6 分钟

Markdown 写作指南

README、技术博客、接口文档、会议纪要……如今几乎所有技术写作都离不开 Markdown。它用极简的符号标记格式,让

工具
Node.js 环境搭建与 npm 使用
2026-08-11 · 8 分钟

Node.js 环境搭建与 npm 使用

从零安装 Node.js、理解 npm 的依赖管理、读懂 package.json 和 scripts 脚本,最后亲手启动一个 HTTP 服务器——这是进入 JS 生态的第一课。

工具 环境
终端与 Shell 配置:效率提升指南
2026-08-12 · 7 分钟

终端与 Shell 配置:效率提升指南

别名、补全、历史记录、自定义提示符、多标签分屏——本文把终端从"黑框框"变成效率神器,让你告别反复敲长命令的笨办法,真正爱上命令行。

工具 终端
Vim 编辑器入门
2026-07-15 · 7 分钟

Vim 编辑器入门

Vim 是 Linux 服务器上标配的文本编辑器,几乎每个程序员的第一次都是"进去就出不来了"。其实它没那么可怕:只要记

工具
VS Code 高效技巧:从编辑器到开发环境
2026-08-10 · 9 分钟

VS Code 高效技巧:从编辑器到开发环境

快捷键、多光标、代码片段、调试器、插件——本文把 VS Code 从"编辑器"调教成完整开发环境,讲清每个技巧背后的使用场景,让你写代码的速度快一倍。

工具 编辑器
Windows 命令行与 PowerShell 入门
2026-08-10 · 8 分钟

Windows 命令行与 PowerShell 入门

dir、cd、ipconfig、tasklist 是 Windows 用户的第一批终端命令。本文带你掌握文件导航、进程管理、网络诊断,再升级到 PowerShell 的管道与脚本。

工具 系统