这门课的名字里有「数据开放平台」,容易让人以为是做 API 网关或后台管理系统。实际上它走的是另一条线:用 C++ 在 Linux 上从零搭一个能扛并发的网络服务端。所谓「数据开放」,指的是服务端对外提供数据访问接口,底层涉及网络通信、事件驱动、连接管理这些硬活。如果你正在找的是"写业务逻辑、调框架"的课,这门可能不对路;如果你想搞清楚一个高并发服务端到底是怎么跑起来的,它值得看。
它解决的是哪个工作场景
实际工作中有一类需求很典型:后端要处理大量并发连接,但团队里没人能说清 epoll 的边缘触发和水平触发到底差在哪、Reactor 模型为什么要那么分层、连接断了之后资源是怎么回收的。这类问题平时靠框架兜着,一旦线上出现连接堆积或 CPU 异常,排查就只能靠猜。
这门课把场景收窄到 Linux 环境下的 C/C++ 网络服务端开发,围绕事件驱动这条主线展开。学完之后,你面对的不再是"调个库就行",而是能自己判断一个并发模型的设计取舍在哪里。
学完能独立做什么
- 用 epoll 搭建一个可运行的事件循环,理解注册、就绪、分发各自的职责边界
- 按 Reactor 模式组织代码,把网络 IO 和业务处理拆开,而不是全塞在一个 while 循环里
- 处理粘包、心跳、连接超时这类真实服务端必须面对的细节
- 在 Linux 上完成编译、运行、观察资源占用的基本操作,遇到问题知道从哪一层查
注意"独立完成"的边界:课程产出的是一个可演示的服务端 Demo,不是可以直接上生产的产品。它的价值在于让你具备复现和改动的能力,而不是交付一个现成系统。
资料结构和适合的基础
资料是视频加配套笔记的形式,按章节推进,从基础概念逐步过渡到综合实战。笔记的作用是课后复盘,不是替代视频——很多设计思路在讲解过程中才说得清,笔记只能记结论。
适合有这些基础的人:能写 C++ 基本语法和类,了解指针、内存管理的大致概念,在 Linux 下敲过命令、会用 g++ 编译。如果连 socket 编程是什么都没接触过,前面几节会比较吃力,建议先补一段基础再进来。完全零基础的话,这门课不适合作为第一门课。
怎么用这份资料效率更高
不要一次性刷完。每两到三节停下来,把当节的代码自己敲一遍,哪怕照着抄也要跑通,然后写一小段笔记记录"这一节解决了什么问题、留下了什么坑"。这类底层课最容易出现的情况是看的时候都懂,动手就卡在环境或语法上。
综合实战部分建议单独空出时间,不要拆成碎片。最终目标是脱离视频,自己从空文件开始复现一遍核心流程,写进个人项目里。能讲清楚为什么这么设计,比能跑起来更重要。
值不值得学
它适合两类人:一是准备往 C++ 后端或底层方向转,需要一个能拿得出手的项目;二是已经在做相关开发,但对并发模型只停留在会用框架的层面,想补上原理这一环。如果你目前的方向是 Web 业务开发、数据分析或前端,这门课的投入产出比并不高。
另外提醒一点:课程标注为软考考证分类,但内容本身是工程实战,和软考笔试的考点并不重合。冲着考证来的话,先确认清楚自己的目标再决定。
视频目录(156 节)
第01章 课程介绍
课程目录
* 1-1 想了解课程全貌看导学_good.mp4
* 1-2 项目简介_good.mp4
第02章 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常用命令_good.mp4
* 2-7 gdb调试core文件.mp4
* 2-8 gdb调试正在运行中的程序_good.mp4
第03章 Linux编程基础(下)
* 3-1 Linux的时间操作.mp4
* 3-2 Linux的目录操作.mp4
* 3-3 Linux的系统错误.mp4
* 3-4 目录和文件的更多操作.mp4
第04章 进程与进程控制
* 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
第05章 C++网络编程基础(上)
* 5-1 第一个网络通讯程序.mp4
* 5-2 基于Linux的文件操作.mp4
* 5-3 socket函数详解.mp4
* 5-4 主机字节序与网络字节序.mp4
* 5-5 万恶的结构体.mp4
* 5-6 封装socket客户端.mp4
第06章 C++网络编程基础(下)
* 6-1 封装socket服务端.mp4
* 6-2 实现文件传输功能.mp4
* 6-3 多进程的服务端.mp4
* 6-4 三次握手与四次挥手.mp4
* 6-5 TCP缓存.mp4
第07章 开发框架介绍
* 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
第08章 生成测试数据
* 8-1 业务需求.mp4
* 8-2 搭建程序的框架.mp4
* 8-3 加载站点参数.mp4
* 8-4 模拟观测数据.mp4
* 8-5 把数据写入文件.mp4
第09章 服务程序的监控和调度
* 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 非结构化数据的存储_good.mp4
* 22-2 共享平台的辅助功能.mp4
* 22-3 如何获得项目经验_good.mp4
* 22-4 简历的编写.mp4
* 22-5 如何向面试官介绍项目.mp4
* 22-6 面试官可能的提问.mp4
* 22-7 下一步学习计划_good.mp4
资料
* 01 Electron基础.zip
* 02 项目前期搭建.zip
* 03 登录功能.zip
* 04 登录后.zip
* 05 工作流.zip
* 06 系统.zip
* 07 双击窗口放大问题.zip
* 项目完整版(前端+后端+数据库).zip






