Logo

C++与系统/网络编程基础路径:构建并发HTTP服务原型

假设:学生每周可投入10小时,具备基本编程概念但无C++经验。本路径从C++基础开始,逐步深入系统编程和网络开发,最终完成一个高性能HTTP服务原型,包括路由、静态文件服务、日志、测试和性能验证。

初级
个性化
公开

学习时长

200h 0m

节点总数

26

使用次数

9

评分

0.0

学习目标

目标:20周内打牢C++与系统/网络编程基础,完成一个可并发处理请求的HTTP服务原型(含路由、静态文件、日志、测试与性能验证),为后续高性能后端与系统方向奠基。时间投入:≈10小时/周。里程碑:1) 第1-4周:C++17/20语法、内存/RAII、STL、异常与资源管理;CMake构建、小型命令行工具;2) 第5-6周:Linux与进程/线程/同步原语;套接字、I/O多路复用(select/poll/epoll)概念;实现TCP Echo服务器(可选:Boost.Asio/Asio);3) 第7-10周:HTTP/1.1基础;集成现成HTTP解析器或自己实现简化版;实现路由与静态文件服务、线程池、结构化日志(spdlog);4) 第11-14周:单元测试(GoogleTest)、错误注入与健壮性、信号处理与优雅关闭、配置文件与命令行参数;5) 第15-18周:性能与内存:用wrk压测并剖析(perf/heaptrack),valgrind无泄漏;包管理(vcpkg/Conan),打包发布;6) 第19-20周:文档与演示:README含架构与压测报告,提供systemd服务脚本与示例配置。成功标准:- 功能:支持GET/POST、路由、静态文件、并发连接;- 工程:GoogleTest覆盖率≥50%,CI构建通过;- 性能:本地机器在小文件静态服务下并发500连接、p95延迟<50ms、无内存泄漏(valgrind clean);- 学习产出:整理网络/OS要点清单与问题排查手册。

未分类

适合人群

"零基础到中级编程学习者,目标高性能后端开发"

学习成果

1. 掌握C++17/20语法、内存管理和STL。

2. 理解Linux进程、线程和同步机制。

3. 实现TCP和HTTP服务器,支持并发处理。

4. 使用测试框架和工具进行健壮性验证。

5. 优化性能并确保无内存泄漏。

路径课程 (26)
可用
生成中
待生成

1

学习C++基本语法,包括变量、数据类型、控制结构、函数和类,使用C++17/20标准。

10h 0m
初级
✨ AI
2

了解Linux操作系统基础,包括文件系统、进程和 shell 命令。

5h 0m
初级
✨ AI
3

编写项目文档,包括架构说明、压测报告和用法指南。

2h 30m
初级
✨ AI
4

掌握C++内存管理、智能指针和RAII原则,避免内存泄漏。

5h 0m
初级
✨ AI
5

学习标准模板库(STL)容器和算法,以及异常处理机制。

5h 0m
初级
✨ AI
6

使用CMake构建C++项目,管理依赖和编译过程。

2h 30m
初级
✨ AI
7

使用spdlog库实现结构化日志记录。

2h 30m
初级
✨ AI
8

学习并使用GoogleTest框架进行单元测试,覆盖率达到50%。

5h 0m
初级
✨ AI
9

开发配置文件和命令行参数解析功能。

2h 30m
初级
✨ AI
10

学习Linux进程创建、线程管理和同步原语(如互斥锁、条件变量)。

5h 0m
初级
✨ AI
11

掌握TCP/IP套接字编程,实现基本网络通信。

5h 0m
初级
✨ AI
12

创建systemd服务脚本,实现服务自启动和管理。

2h 30m
初级
✨ AI
13

使用valgrind检测和修复内存泄漏,确保valgrind clean。

5h 0m
初级
✨ AI
14

开发一个简单命令行工具,应用C++基础知识和CMake。

5h 0m
初级
✨ AI
15

学习使用vcpkg或Conan进行C++依赖管理。

2h 30m
初级
✨ AI
16

实施错误注入测试,提高系统健壮性。

2h 30m
初级
✨ AI
17

开发线程池以处理并发HTTP请求。

5h 0m
初级
✨ AI
18

实现信号处理机制,支持优雅关闭服务器。

2h 30m
初级
✨ AI
19

学习I/O多路复用技术,理解select、poll和epoll的区别和应用。

5h 0m
初级
✨ AI
20

理解HTTP/1.1协议,包括请求/响应格式、方法和状态码。

2h 30m
初级
✨ AI
21

打包HTTP服务项目,生成可执行文件和部署脚本。

2h 30m
初级
✨ AI
22

实现一个TCP Echo服务器,应用套接字和I/O多路复用。

5h 0m
初级
✨ AI
23

集成现有HTTP解析库或实现简化版解析器。

5h 0m
初级
✨ AI
24

实现HTTP路由和静态文件服务功能。

5h 0m
初级
✨ AI
25

使用wrk工具进行HTTP服务压测,分析性能指标。

5h 0m
初级
✨ AI
26

使用perf和heaptrack工具剖析代码性能和内存使用。

5h 0m
初级
✨ AI

评价与评论 (0)