本文最后更新于 130 天前,其中的信息可能已经有所发展或是发生改变。
1. 基础知识
1.1 C++语言知识
- C++基础语法
- 类相关(封装、继承、多态)
- 模板
- 常用的库(STL等)
- C++新特性
- C++高阶开发
1.2 Linux基础知识
- Linux命令
- 常用的Linux系统
- Linux开发环境配置等
1.3 项目开发相关
- Git的使用(Git命令、Git工具)
- IDE的使用(VS、VC、QtC等)
- CMake、MakeFile
- 程序静态\动态链接(lib、dll等)
- 软件工程基本知识
- 其他工具
- 代码比对工具(Beyond Compare等)
- 代码检测工具(CPPCheck等)
- ··· ···
2. 网络
2.1 网络原理
计算机网络、TCP/IP等基础原理教材
2.2 网络编程
- TCP、UDP、HTTP
- C++网络
- 常用三方库
- epoll
- 网络通信模型
- IO类型(阻塞IO BIO、异步IO AIO、非阻塞IO NIO)
- 事件处理模型(Reactor、Proactor)
3. 数据结构与算法
3.1 基本原理
数据结构、算法等教材
3.2 刷题
力扣等OA平台刷题
4. 数据库和中间件
4.1 MySQL
- 基础知识(概念、原理、术语等等)
- 数据库操作(增删查改等)
- 常用命令、函数
4.2 Redis
- 基础知识
- 五大数据类型
- 发布和订阅
- 事务操作
- 持久化
- 集群
- 源码学习
4.3 Nginx
4.4 消息队列
- 基础知识
- 三方库(RabbitMQ、ZeroMQ等等)
5. 客户端开发
5.1 Qt Widget
5.2 Qt Quick
6. 图形开发(主)
6.1 OpenGL
6.2 三维
- Open3D
- PCL
7. 音视频开发(辅)
7.1 音视频基础
7.2 FFmpeg
- 基础知识
- 常用命令、函数
7.3 音视频编解码
- 音视频编码/解码流程
- H.264 和 H.265
- FFmpeg硬编解码
- 音频编码(AAC)
7.4 音视频渲染和特效
-
SDL视频渲染流程和工作流程
-
YUV数据格式
-
Filter工作机制和实现原理
7.5 WebRTC
- 整体框架
- 重要API
- HTTP和HTTPS
- 编程语言JavaScript
- SDP
- RTP和RTCP
7.6 其他
- GDB调试
- 安全(MD5、加密库OpenSSL)
- 日志的设计、实现与测试
- 音视频客户端/服务器端调试与测试
8. UE5开发(附)
附录
一些或许有用的网站、