这门课解决什么问题,适合谁学
C++ 后台服务端开发的难点,从来不是语法本身,而是如何把“能跑通的代码”变成“扛住高并发的服务”。很多初学者卡在从语法记忆到工程落地的断层上:懂指针、懂类,但面对真实场景时,不知道如何设计内存管理、如何处理并发竞争、如何排查生产环境的崩溃现场。这门课程的核心价值,正是填补这一断层——通过真实项目的打磨,将已掌握 C++ 基础的学习者,训练成具备职业思维的程序员。
它适合的对象很明确:已经熟悉 C++ 基本语法(包括面向对象、STL、指针与内存概念),但在实际开发中缺乏经验、对服务端架构无概念的人群。如果你是零基础,请先补齐 C++ 基础语法;如果你已是熟手,只想巩固细节,这门课可能略显基础。它的定位是“转型加速器”,帮助你在项目实战中建立工程直觉,而不是重新教一遍语法。
学完能独立做什么,建议先看哪几块
完成课程后,你应该能够独立搭建一个基础的 C++ 服务端程序,理解服务端通信模型(如 TCP 连接管理、IO 多路复用)、简单并发控制以及基础的项目结构组织。更重要的是,你会养成“像工程师一样思考”的习惯:遇到崩溃会看核心转储,遇到性能瓶颈会想如何减少锁竞争,而不是盲目加日志或重试。
建议学习顺序如下:首先务必观看前两节——课程导学与项目简介。这两节不是废话,它们明确了整个项目的背景、技术选型理由以及你将要达成的目标,跳过它们会导致后续操作缺乏上下文。其次,重点攻克项目搭建与环境配置环节,C++ 项目编译链复杂,环境不通则一切免谈。最后,跟随项目代码逐模块实现,不要急着跳过调试过程,每一次 Bug 修复都是职业能力的积累。
资料怎么配合练习
课程提供的资料包并非简单的代码拷贝,而是带有阶段性注释和关键节点提示的工程骨架。练习时,请不要直接复制最终代码运行,而应跟着视频节奏,先自己尝试实现核心逻辑,再对照课程代码查漏补缺。对于标记了“难点”或“面试常问”的模块,建议手写笔记,梳理内存流向和调用栈变化。真正的掌握发生在你能不看代码,独立复现整个服务启动、接受连接、处理请求并正常关闭的全过程时。此时的你,才算是跨过了 C++ 后台开发的第一道门槛。
课程目录
QQ_1746849867060.png (38. 43 KB, ) 2025-5-10 12: 05 上传 课程介绍: 通过项目的毒打,把已掌握C++基础知识的初学者训练成职业的程序员。 更详细的介绍请看课程的前两个视频(课程导学和项目简介)。 课程目录: ├── 第1章 课程介绍 │ ├── 1-1 想了解课程全貌看导学.mp4 │ ├── 1-2 项目简介.mp4 ├── 第2章 Linux编程基础(上) │ ├── 2-1 Linux的Hello world.mp4 │ ├── 2-2 VSCode的安装和配置.mp4 │ ├── 2-3 静态库和动态库.mp4 │ ├── 2-4 makefile.mp4 │ ├── 2-5 main函数的参数.mp4 │ ├── 2-6 gdb常用命令.mp4 │ ├── 2-7 gdb调试core文件.mp4 │ ├── 2-8 gdb调试正在运行中的程序.mp4 ├── 第3章 Linux编程基础(下) │ ├── 3-1 Linux的时间操作.mp4 │ ├── 3-2 Linux的目录操作.mp4 │ ├── 3-3 Linux的系统错误.mp4 │ ├── 3-4 目录和文件的更多操作.mp4 ├── 第4章 进程与进程控制 │ ├── 4-1 Linux的信号.mp4 │ ├── 4-2 进程终止.mp4 │ ├── 4-3 调用可执行程序.mp4 │ ├── 4-4 创建进程.mp4 │ ├── 4-5 僵尸进程.mp4 │ ├── 4-6 多进程与信号.mp4 │ ├── 4-7 共享内存.mp4 │ ├── 4-8 循环队列.mp4 │ ├── 4-9 信号量.mp4 │ ├── 4-10 多进程的生产消费者模型.mp4 │ ├── 4-11 UNIX环境高级编程.mp4 ├── 第5章 C++网络编程基础(上) │ ├── 5-1 第一个网络通讯程序.mp4 │ ├── 5-2 基于Linux的文件操作.mp4 │ ├── 5-3 socket函数详解.mp4 │ ├── 5-4 主机字节序与网络字节序.mp4 │ ├── 5-5 万恶的结构体.mp4 │ ├── 5-6 封装socket客户端.mp4 ├── 第6章 C++网络编程基础(下) │ ├── 6-1 封装socket服务端.mp4 │ ├── 6-2 实现文件传输功能.mp4 │ ├── 6-3 多进程的服务端.mp4 │ ├── 6-4 三次握手与四次挥手.mp4 │ ├── 6-5 TCP缓存.mp4 ├── 第7章 开发框架介绍 │ ├── 7-1 开发框架介绍.mp4 │ ├── 7-2 字符串操作(上).mp4 │ ├── 7-3 字符串操作(中).mp4 │ ├── 7-4 字符串操作(下).mp4 │ ├── 7-5 时间操作.mp4 │ ├── 7-6 目录和文件操作.mp4 │ ├── 7-7 写文件和读文件.mp4 │ ├── 7-8 日志文件操作.mp4 │ ├── 7-9 网络通讯.mp4 │ ├── 7-10 学习要求.mp4 ├── 第8章 生成测试数据 │ ├── 8-1 业务需求.mp4 │ ├── 8-2 搭建程序的框架.mp4 │ ├── 8-3 加载站点参数.mp4 │ ├── 8-4 模拟观测数据.mp4 │ ├── 8-5 把数据写入文件.mp4 ├── 第9章 服务程序的监控和调度 │ ├── 9-1 业务需求.mp4 │ ├── 9-2 调度模块.mp4 │ ├── 9-3 进程的心跳.mp4 │ ├── 9-4 守护模块.mp4 │ ├── 9-5 运行策略.mp4 │ ├── 9-6 清理文件.mp4 │ ├── 9-7 压缩文件.mp4 ├── 第10章 基于ftp协议的文件传输模块 │ ├── 10-1 业务需求.mp4 │ ├── 10-2 配置ftp服务.mp4 │ ├── 10-3 手工执行ftp命令.mp4 │ ├── 10-4 封装ftp客户端.mp4 │ ├── 10-5 文件下载模块(一).mp4 │ ├── 10-6 文件下载模块(二).mp4 │ ├── 10-7 文件下载模块(三).mp4 │ ├── 10-8 文件上传模块.mp4 ├── 第11章 基于tcp协议的文件传输模块 │ ├── 11-1 业务需求.mp4 │ ├── 11-2 模拟网上银行APP服务端.mp4 │ ├── 11-3 tcp短连接和长连接.mp4 │ ├── 11-4 上传文件(一).mp4 │ ├── 11-5 上传文件(二).mp4 │ ├── 11-6 上传文件(三).mp4 │ ├── 11-7 上传文件(四).mp4 │ ├── 11-8 同步和异步通讯.mp4 │ ├── 11-9 上传文件(五).mp4 │ ├── 11-10 下载文件.mp4 ├── 第12章 Oracle数据库基础(上) │ ├── 12-1 业务需求.mp4 │ ├── 12-2 Oracle数据库系统的安装.mp4 │ ├── 12-3 Oracle客户端的安装和配置.mp4 │ ├── 12-4 Oracle的表.mp4 │ ├── 12-5 Oracle的表-主键和约束.mp4 │ ├── 12-6 事务、虚表、序列和伪列.mp4 │ ├── 12-7 表的索引.mp4 │ ├── 12-8 where、order by子句.mp4 ├── 第13章 Oracle数据库基础(下) │ ├── 13-1 Oracle的函数.mp4 │ ├── 13-2 外键、别名和子查询.mp4 │ ├── 13-3 表空间、用户和权限管理.mp4 │ ├── 13-4 视图和数据字典.mp4 │ ├── 13-5 数据库链路和同义词.mp4 │ ├── 13-6 自定义函数、存储过程和触发器.mp4 │ ├── 13-7 其它的知识和相关的概念.mp4 │ ├── 13-8 数据库设计PowerDesigner(上).mp4 │ ├── 13-9 数据库设计PowerDesigner(下).mp4 ├── 第14章 C++开发Oracle数据库 │ ├── 14-1 创建表.mp4 │ ├── 14-2 向表中插入数据.mp4 │ ├── 14-3 修改和删除表中的数据.mp4 │ ├── 14-4 从表中查询数据.mp4 │ ├── 14-5 存取大型对象.mp4 │ ├── 14-6 其它细节.mp4 │ ├── 14-7 全国气象站点参数文件入库.mp4 │ ├── 14-8 全国气象观测数据文件入库(上).mp4 │ ├── 14-9 全国气象观测数据文件入库(下).mp4 ├── 第15章 数据抽取模块 │ ├── 15-1 业务需求.mp4 │ ├── 15-2 搭建程序的框架.mp4 │ ├── 15-3 全量抽取数据.mp4 │ ├── 15-4 实现增量抽取.mp4 │ ├── 15-5 应用的经验.mp4 ├── 第16章 数据入库模块 │ ├── 16-1 业务需求.mp4 │ ├── 16-2 搭建程序的框架.mp4 │ ├── 16-3 读取数据字典.mp4 │ ├── 16-4 准备SQL语句.mp4 │ ├── 16-5 解析xml、执行SQL语句.mp4 │ ├── 16-6 完善和优化.mp4 │ ├── 16-7 应用的经验.mp4 ├── 第17章 数据管理模块 │ ├── 17-1 业务需求.mp4 │ ├── 17-2 数据清理.mp4 │ ├── 17-3 数据迁移.mp4 ├── 第18章 数据同步模块 │ ├── 18-1 业务需求.mp4 │ ├── 18-2 不分批刷新.mp4 │ ├── 18-3 分批刷新.mp4 │ ├── 18-4 增量同步.mp4 │ ├── 18-5 应用的经验.mp4 ├── 第19章 IO多路复用 │ ├── 19-1 select模型(上).mp4 │ ├── 19-2 select模型(下).mp4 │ ├── 19-3 poll模型.mp4 │ ├── 19-4 epoll模型.mp4 │ ├── 19-5 阻塞&非阻塞的IO.mp4 │ ├── 19-6 水平触和&边缘触发.mp4 │ ├── 19-7 epoll的原理.mp4 ├── 第20章 网络代理模块 │ ├── 20-1 正向代理的实现.mp4 │ ├── 20-2 用epll处理定时器和信号.mp4 │ ├── 20-3 正向代理的优化.mp4 │ ├── 20-4 反向代理(上).mp4 │ ├── 20-5 反向代理(下).mp4 ├── 第21章 数据访问接口模块 │ ├── 21-1 业务需求.mp4 │ ├── 21-2 HTTP协议的本质.mp4 │ ├── 21-3 HTTP协议示例.mp4 │ ├── 21-4 表的设计.mp4 │ ├── 21-5 功能的实现(上).mp4 │ ├── 21-6 功能的实现(下).mp4 │ ├── 21-7 数据安全策略.mp4 ├── 第22章 学习总结 │ ├── 22-1 非结构化数据的存储.mp4 │ ├── 22-2 共享平台的辅助功能.mp4 │ ├── 22-3 如何获得项目经验.mp4 │ ├── 22-4 简历的编写.mp4 │ ├── 22-5 如何向面试官介绍项目.mp4 │ ├── 22-6 面试官可能的提问.mp4 │ ├── 22-7 下一步学习计划.mp4






