零声教育 第14代 Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)成长体系课程 - v1.10
零声教育
2023-11-25
注:在老师指导下,进行学习,有问题第一时间与老师沟通。切忌盲目自行学习,容易走火入魔,后果自负。
课程购买地址
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)
零声教育 14代 Linux C/C++开发(后端/音视频/游戏/嵌入
式/高性能网络/存储/基础架构/安全)
成长体系课程大纲(
红色字体为直播
)
1. 精进基石专栏
2. 高性能网络设计专栏
3. 基础组件设计专栏
1.1 数据结构与算法
1.1.1 随处可见的红黑树
1.1.2 磁盘存储链式的B树与B+树
1.1.3 海量数据去重的Hash与BloomFilter,bitmap
1.2 设计模式
1.3 c++新特性
1.2.1 创建型设计模式
1.2.2 结构型设计模式
1.4 Linux工程管理
1.4.1 Makefile/cmake/configure
1.4.2 分布式版本控制git
1.4.3 Linux系统运行时参数命令
1.3.1 stl容器,智能指针,正则表达式
1.3.2 新特性的线程,协程,原子操作,lamda表达式
2.1 网络编程 异步网络库zvnet
2.2 网络原理
2.3 自研框架:协程框架NtyCo的实现(已开源)
2.1.1 网络io与io多路复用select/poll/epoll
2.1.2 事件驱动reactor的原理与实现
2.1.3 http服务器的实现
2.2.1 服务器百万并发实现(实操)
2.2.2 Posix API与网络协议栈
2.2.3 UDP的可靠传输协议QUIC
2.3.1 协程设计原理与汇编实现
2.3.2 协程调度器实现与性能测试
2.4.1 用户态协议栈设计实现
2.4.2 应用层posix api的具体实现
2.4.3 手把手设计实现epoll
3.1 池式组件
3.2 高性能组件
3.3 开源组件
3.1.1 手写线程池与性能分析(项目)
3.1.2 内存池的实现与场景分析(项目)
3.1.3 mysql连接池的实现(项目)
3.2.1 原子操作CAS与锁实现(项目)
3.2.2 无锁消息队列实现(项目)
3.2.4 定时器方案红黑树,时间轮,最小堆(项目)
3.2.5 手写死锁检测组件(项目)
3.3.1 异步日志方案spdlog(项目)
3.3.2 应用层协议设计ProtoBuf(项目)
4. 中间件开发专栏
5. 开源框架专栏
7. 性能分析专栏
8. 分布式架构专栏
9. 上线项目实战
4.2 MySQL
4.1 Redis
4.5 Nginx
4.3 Kafka
5.1 游戏服务器开发 skynet(录播答疑)
8.2.1 内核级支持的分布式存储Ceph
8.3.1 注册服务中心Etcd
4.2.1 SQL语句,索引,视图,存储过程,触发器
4.2.2 MySQL索引原理以及SQL优化
4.2.3 MySQL事务原理分析
4.2.4 MySQL缓存策略
8.1.2 TiDB存储引擎的原理
8.1.3 TiDB集群方案与Replication原理
4.1.1 Redis相关命令详解及其原理
4.1.2 Redis协议与异步方式
4.1.3 存储原理与数据模型
4.1.4 主从同步与对象模型
4.5.1 Nginx反向代理与系统参数配置conf原理
5.2.2 Kong 动态负载均衡与服务发现
4.5.2 Nginx过滤器模块实现
4.5.3 Nginx Handler模块实现
5.2 分布式API网关
5.1.1 Skynet设计原理
5.1.2 skynet网络层封装以及lua/c接口编程
5.1.3 skynet重要组件以及手撕游戏项目
3.2.6 手写内存泄漏检测组件(项目)
4.3.2 Kafka存储机制
4.3.1 Kafka使用场景与设计原理
9.2 图床共享云存储(上线项目)
9.3 微服务即时通讯(上线项目)
7.1.1 测试框架gtest以及内存泄漏检测(录播答疑)
7.1.3 火焰图的生成原理与构建方式
3.2.7 手把手实现分布式锁(项目)
红黑树的应用场景 进程调度cfs,内存管理
红黑树的数学证明与推导
手撕红黑树的左旋与右旋
红黑树添加的实现与添加三种情况的证明
红黑树删除的实现与删除四种情况的证明
红黑树的线程安全的做法
分析红黑树工程实用的特点
单例模式
工厂方法模式与抽象工厂模式
原型模式
适配器模式
代理模式
桥接模式
组合模式
策略模式
观察者模式
责任链模式
状态模式
Makefile的规则与make的工作原理
单文件编译与多文件编译
Makefile的参数传递
多目录文件夹递归编译与嵌套执行make
Makefile的通配符,伪目标,文件搜索
Makefile的操作函数与特殊语法
configure生成makefile的原则
cmake的写法
git的工作流程
创建操作与基本操作
分支管理,查看提交历史
git服务器搭建
进程间通信设施状态 ipcs
Linux系统运行时长 uptime
CPU平均负载和磁盘活动 iostat
监控,收集和汇报系统活动 sar
监控多处理器使用情况 mpstat
监控进程的内存使用情况 pmap
系统管理员调优和基准测量工具 nmon
密切关注Linux系统 glances
查看系统调用 strace
ftp 服务器基本信息 ftptop
电量消耗和电源管理 powertop
监控 mysql 的线程和性能 mytop
系统运行参数分析 htop/top/atop
Linux网络统计监控工具 netstat
显示和修改网络接口控制器 ethtool
网络数据包分析利刃 tcpdump
远程登陆服务的标准协议 telnet
获取实时网络统计信息 iptraf
显示主机上网络接口带宽使用情况 iftop
socket与文件描述符的关联
多路复用select/poll
代码实现LT/ET的区别
reactor针对业务实现的优点
epoll封装 send_cb/recv_cb/accept_cb
reactor多核实现
跨平台(select/epoll/kqueue)的封装reactor
reactor sendbuffer与recvbuffer封装http协议
http协议格式
有限状态机fsm解析http
同步处理与异步处理的数据差异
网络io线程池异步处理
ulimit的fd的百万级别支持
sysctl.conf的rmem与wmem的调优
conntrack的原理分析
connect,listen,accept与三次握手
listen参数backlog
syn泛洪的解决方案
close与四次挥手
11个状态迁移
大量close_wait与time_wait的原因与解决方案
tcp keepalive与应用层心跳包
拥塞控制与滑动窗口
udp的优缺点
udp高并发的设计方案
qq早期为什么选择udp作为通信协议
udp可靠传输原理
quic协议的设计原理
quic的开源方案quiche
kcp的设计方案与算法原理
协程存在的3个原因
同步与异步性能,服务端异步处理,客户端异步请求
协程原语 switch,resume,yield,
协程切换的三种实现方式,setjmp/longjmp, ucontext, 汇编实现
汇编实现 寄存器讲解
协程初始启动 eip寄存器设置
协程栈空间定义,独立栈与共享栈的做法
协程结构体定义
调度器的定义分析
超时集合,就绪队列,io等待集合的实现
协程调度的执行流程
协程接口实现,异步流程实现
hook钩子的实现
协程实现mysql请求
协程多核方案分析
协程性能测试
2.4 自研框架:基于dpdk的用户态协议栈的实现(已开源)
用户态协议栈的存在场景与实现原理
netmap开源框架
eth协议,ip协议,udp协议实现
arp协议实现
icmp协议实现
socket/bind/listen的实现
accept实现
recv/send的实现
重传定时器,坚持定时器,time_wait定时器,keepalive定时器
epoll数据结构封装与线程安全实现
协议栈fd就绪回调实现
epoll接口实现
LT/ET的实现
线程池的异步处理使用场景
线程池的组成 任务队列 执行队列
任务回调与条件等待
线程池的动态防缩
扩展:nginx线程池实现对比分析
内存池的应用场景与性能分析
内存小块分配与管理
内存大块分配与管理
手写内存池,结构体封装与API实现
避免内存泄漏的两种万能方法
定位内存泄漏的3种工具
扩展:nginx内存池实现
连接池性能的影响的2个因素,tcp连接和mysql认证
连接请求归还策略
连接超时未归还策略
链接断开重连策略
连接数量最优策略
互斥锁的使用场景与原理
自旋锁的性能分析
原子操作的汇编实现
有锁无锁队列性能
内存屏障 Barrier
数组无锁队列设计实现
链表无锁队列设计实现
定时器的使用场景
定时器的红黑树存储
时间轮的实现
最小堆的实现
分布式定时器的实现
日志库性能瓶颈分析
异步日志库设计与实现
批量写入与双缓存冲机制
奔溃后的日志找回
IM,云平台,nginx,http,redis协议设计
如何保证消息完整性
手撕protobuf IM通信协议
protobuf序列化与反序列化
protobuf编码原理
MySQL体系结构,SQL执行流程
SQL CURD与高级查询
视图,触发器,存储过程
MySQL权限管理
索引,约束以及之间的区别
B+树,聚集索引和辅助索引
最左匹配原则以及覆盖索引
索引失效以及索引优化原则
EXPLAIN执行计划以及优化选择过程分析
事务的ACID特性
MySQL并发问题 脏读,不可重复读,幻读
事务隔离级别
锁的类型,锁算法实现以及锁操作对象
S锁 X锁 IS锁 IX锁
记录锁,间隙锁,next-key lock
插入意向锁, 自增锁
MVCC原理剖析
读写分离,连接池的场景以及其局限a
缓存策略问题分析
缓存策略强一致性解决方案
缓存策略最终一致性解决方案
2种mysql缓存同步方案 从数据库与触发器+udf
缓存同步开源方案 go-mysql-transfer
缓存同步开源方案 canal原理分析
3种缓存故障,缓存击穿,缓存穿透,缓存雪崩
string,set,zset,list,hash
分布式锁的实现
lua脚本解决ACID原子性
Redis事务的ACID性质分析
Redis协议解析
特殊协议操作 订阅发布
手撕异步redis协议
string的三种编码方式 int,raw,embstr
双向链表的list实现
字典的实现,hash函数
解决键冲突与rehash
跳表的实现与数据论证
整数集合实现
压缩列表原理证明
对象的类型与编码
字符串对象
列表对象
哈希对象
集合对象
有序集合
类型检测与命令多态
内存回收
对象共享
对象空转时长
redis的3种集群方式 主从复制,sentinel,cluster
4种持久化方案
Nginx静态文件的配置
Nginx动态接口代理配置
Nginx对Mqtt协议转发
Nginx对Rtmp推拉流
Openresty对Redis缓存数据代理
Nginx Filter模块运行原理
过滤链表的顺序
模块开发数据结构 ngx_str_t, ngx_list_t, ngx_buf_t, ngx_chain_t
error日志的用法
ngx_comond_t的讲解
ngx_http_module_t的执行流程
文件锁,互斥锁
slab共享内存
如何解决"惊群"问题
如何实现负载均衡
shmem的三种实现方式
原子操作
nginx channel
信号
信号量
Nginx Handler模块运行原理
ngx_module_t/ngx_http_module_t的讲解
ngx_http_top_body_filter/ngx_http_top_header_filter的原理
ngx_rbtree_t的使用方法
ngx_rbtree自定义添加方法
模块性能测试
Nginx的核心数据结构 ngx_cycle_t, ngx_event_moule_t
http 请求的11个处理阶段
http包体处理
http响应发送
Nginx Upstream机制的设计与实现
unordered_map
stl容器
hash的用法与原理
shared_ptr, unique_ptr
basic_regex,sub_match
函数对象模板 function,bind
atomic的用法与原理
thread_local与condition_variable
异常处理 exception_ptr
错误处理 error_category
coroutine的用法与原理
死锁的现象以及原理
pthread_mutex_lock/pthread_mutex_unlock dlsym的实现
有向图的构建
有向图dfs判断环的存在
三个原语操作 lock_before, lock_after, unlock_after
死锁检测线程的实现
内存泄漏现象
第三方内存泄漏与代码内存泄漏
malloc与free的dlsym实现
内存检测策略
应用场景测试
多线程资源竞争 互斥锁,自旋锁
非公平锁的实现
公平锁的实现
加锁的异常情况
8.1.1 不一样的kv存储RocksDB的使用场景
集群三个组件 TiDB Server,PD Server, TiKV Server
Raft协议讲解
OLTP与OLAP
TiKV的Key-Value存储引擎
基于RBAC的权限管理
数据加密
日志结构的数据库引擎
前缀搜索
低优先级写入
生存时间的支持
Transactions
快照存储
多核并发编程-多线程,多进程,csp模型,actor模型
actor模型实现-lua服务和c服务
消息队列实现
actor消息调度
skynet reactor网络模型封装
socket/socketchannel封装
手撕高性能c服务
lua编程以及lua/c接口编程
基础接口 skynet.send,skynet.call,skynet.response
广播组件 multicastd
数据共享组件 sharedatad datasheet
手撕万人同时在线游戏
googletest与googlemock文件
函数检测以及类测试
test fixture 测试夹具
类型参数化
事件测试
内存泄漏
设置期望,期待参数,调用次数,满足期望
火焰图使用场景与原理
nginx动态火焰图
MySQL火焰图
Redis火焰图
火焰图工具讲解
etcd配置服务、服务发现、集群监控、leader选举、分布式锁
etcd体系结构详解(gRPC,WAL, Snapshot、BoltDB、Raft)
etcd存储原理深入剖析(B树、B+树)
etcd读写机制以及事务的acid特性分析
ceph的集群部署
monitor与OSD
ceph 5个核心组件
ceph集群监控
ceph性能调调优与benchmark
发布订阅模式
点对点消息传递
Kafka Brokers原理
Topics和Partition
Partition存储分布
Partition文件存储机制
Segment文件存储结构
offset查找message
高效文件存储设计
nginx,openresty,Kong之间的“苟且”
动态负载均衡的原理
服务发现实现的原理
Serverless
系统日志
监控,故障检测与恢复
代理层缓存与响应服务
1. MySQL:《高性能MySQL 第3版》
2. Nginx:《深入理解Nginx:模块开发与架构分析(第2版)》(陶辉)
4. Linux内核:《深入理解Linux内核架构》 (郭旭 译)
5. 数据结构与算法:《算法导论》(第3版)
6. 性能分析:《性能之巅 洞悉系统、企业与云计算》
7. MongoDB:《MongoDB权威指南》
8. Ceph:《Ceph分布式存储学习指南》(Ceph中国社区)
9. Docker:《Docker容器与容器云(第2版)》
10. TCP/IP:《Tcp/Ip详解卷一卷二卷三》
11. Linux系统编程:《Unix环境高级编程》
12. 计算机:《深入理解计算机系统》
13. DPDK:《深入浅出DPDK》
3. Redis:Redis设计与实现 (黄健宏)
10. 配套参考书籍资料
11. 零声服务
课程方式
110次课,60次直播,直播持续5个半月,直播每周二四六 晚8点到10点
课前预习资料 课后思考实践作业
班主任督学 作业统计 博客统计
老师答疑 工作问题 课程问题
奖学金机制 最高1000元 公开透明(一期评选一次)
面试跳槽
简历梳理 技术点凸显 项目技术梳理
模拟面试 技术表述
薪资谈判 福利争取
offer选择 职业规划 技术前景
学习方法
学员风采
每次课知识点总结成技术博客(写作计划一月评选两次 最高奖200元京东购物卡)
每次课实践题完成github(奖学金评选项)
课程与工作相结合,重新思考需求功能
不理解的技术点 跟老师沟通
往期数据
2023年3月统计
百万级别年薪的学员6位
最高年薪涨幅 30W
最快跳槽学习时间1个半月
部分offer列表
学员直播分享视频
学员回访
9.2.1 fastdfs架构分析和配置
fastdfs架构分析
快速配置fastdfs
上传文件逻辑分析
下载文件逻辑分析
9.2.2 文件传输和接口设计
http接口设计
图床数据库设计
图床文件上传,下载,分享功能实现
业务流程实现
9.2.4 产品上云公网发布/测试用例
使用云服务器的各种坑分析
fiddler监控http请求,postman模拟请求
wrk测试接口吞吐量
jmeter压力测试
9.3.1 IM即时通讯项目框架分析和部署
即时通讯应用场景分析
即时通讯自研和使用第三方SDK优缺点
即时通讯数据库设计
接入层、逻辑层、路由层、数据层架构
即时通讯项目部署
即时通讯web账号注册源码分析
9.3.2 IM消息服务器/文件传输服务器
protobuf通信协议设计
reactor模型C++实现
login_server负载均衡手写代码实现
用户登录请求验证密码+混淆码MD5匹对
如何全量、增量拉取好友列表、用户信息
9.3.3 IM消息服务器和路由服务器设计
请求登录逻辑
最近联系会话逻辑
查询用户在线主题
未读消息机制
单聊消息推拉机制
群聊消息推拉机制
路由转发机制
9.3.4 数据库代理服务器设计
main函数主流程
reactor+线程池+连接池处理逻辑分析
redis缓存实现消息计数(单聊和群聊)
redis实现未读消息机制
如何实现群消息的推送
单聊消息推送、拉取优缺点
9.3.5 文件服务器和docker部署
在线文件传输机制分析
离线文件传输机制分析
etcd微服务注册与发现
docker制作与部署
9.3.6 产品上云公网发布/公网测试上线
单元测试案例
testbench如何设计
IM项目性能压测
定制私有功能
云服务器部署
适宜工程师人群
5. 工作中技术没有挑战,工作中接触不到新技术的在职工程师
2. 从事嵌入式方向开发,想转入互联网开发的在职工程师
4. 从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师
6. 自己研究学习速度较慢,不能系统构建知识体系的开发人员
7. 了解很多技术名词,但是深入细问又不理解的工程师
8. 计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)
3. 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
1. 从事业务开发多年,对底层原理理解不够深入的在职工程师
零声其他课程
FFmpeg/WebRTC/RTMP/RTSP/HLS/播放器-音视频流媒体高级开发(录播答疑,196小时)
C/C++企业级项目实战班(浏览器/即时通讯/网盘/安全卫士/播放器)(录播答疑,146小时)
golang/云原生/Docker/DevOps/K8S/持续集成/分布式/etcd/ipfs(录播答疑,196小时)
Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈(录播答疑,134小时)
raft共识算法详解(leader选举+日志复制)
磁盘结构分析与数据存储原理
多叉树的运用以及B树的定义证明
B树插入的两种分裂
B树删除的前后借位与节点合并
手撕B树的插入,删除,遍历,查找
B+树的定义与实现
B+树叶子节点的前后指针
B+树的应用场景与实用特点
B+树的线程安全做法
hash的原理与hash函数的实现
hash的应用场景
分布式hash的实现原理
海量数据去重布隆过滤器
布隆过滤的数学推导与证明
7.2 观测技术bpf与ebpf
6. 云原生专栏
6.1 Docker
2.5 高性能异步io机制 io_uring
2.5.1 与epoll媲美的io_uring
2.5.2 io_uring的使用场景
io_uring系统调用 io_uring_setup, io_uring_register, io_uring_enter
liburng的io_uring的关系
io_uring与epoll性能对比
io_uring的共享内存机制
io_uring的accept,connect,recv,send实现机制
io_uring网络读写
io_uring磁盘读写
proactor的实现
4.4 微服务之间通信基石 gRPC
4.4.1 gRPC的内部组件关联
1. ClientSide与ServerSide,Channel,Serivce,Stub的概念
2. 异步gRPC的实现
3. 回调方式的异步调用
4. Server与Client对RPC的实现
4.4.2 基于http2的gRPC通信协议
基于http协议构造
ABNF语法
请求协议 Request-Headers
gRPC上下文传递
5.2.1 高性能web网关 Openresty
Nginx与lua模块
Openresty访问Redis,MySQL
Restful API接口开发
Openresty性能分析
5.4 高性能计算 CUDA(录播答疑)
7.1.2 性能工具与性能分析(录播答疑)
MySQL性能测试工具 mysqlslap
Redis性能测试工具 redis-benchmark
http性能测试工具wrk
Tcp性能测试工具TCPBenchmarks
磁盘,内存,网络性能分析
5.4.1 gpu并行计算cuda的开发流程
5.4.2 音视频编解码中的并行计算
cpu+gpu的异构计算
计算机体系结构中的gpu
cuda的环境搭建 nvcc与srun的使用
cuda的 向量加法与矩阵乘法
MPI与CUDA
cuda的h264编解码
ffmpeg的cuda支持
cuda的mpeg编解码
6.2. Kubernetes
6.1.1. Docker风光下的内核功能(录播答疑)
6.1.2. Docker容器管理与镜像操作(录播答疑)
进程 namespace
UTS namespace
IPC namespace
网络 namespace
文件系统 namesapce
cgroup的资源控制
6.1.3. Docker网络管理(项目)
Docker镜像下载与镜像运行
Docker存储管理
5种Docker网络驱动
pipework跨主机通信
OvS划分vlan与隧道模式
GRE实现跨主机Docker间通信
Docker数据卷
Docker与容器安全
6.1.4. Docker云与容器编排(项目)
Dockerfile的语法流程
编排神器Fig/Compose
Flynn体系架构
Docker改变了什么?
6.2.1 k8s环境搭建(录播答疑)
k8s集群安全设置
k8s集群网络设置
k8s核心服务配置
kubectl命令工具
6.2.2 Pod与Service的用法(录播答疑)
6.2.3 k8s集群管理的那些事儿(项目)
6.2.4 k8s二次开发与k8s API(项目)
Pod的管理配置
Pod升级与回滚
DNS服务之于k8s
http 7层策略与TLS安全设置
RESTful接口
API聚合机制
API组
Go访问k8s API
Node的管理
k8s集群日志管理
k8s集群监控
namespace隔离机制
yaml文件语法
14. k8s: 《Kubernates权威指南》龚正等编著
15. bpf:《BPF之巅 洞悉Linux系统和应用性能》
腾讯T3.1以上(现T9以上)offer 8位
dpdk/网络协议栈/vpp/OvS/DDos/SDN/NFV/虚拟化/高性能专家之路(录播答疑,93小时 在更新)
课程涉及编程语言 45%的c,25%的c++,20%的go,5%的lua,5%的其他语言(Rust,shell,java,awk,python)
7.2.1 内核bpf的实现原理
跟踪,嗅探,采样,可观测的理解
动态hook:kprobe/uprobe
静态hook:tracepoint和USDT
性能监控计时器 PMC模式
BPF工具 bpftrace,BCC
7.2.2 bpf对内核功能的观测
cpu的观测 taskset的使用
内存观测 kmalloc与vm_area_struct
文件系统观测 vfs的状态
磁盘io的观测 bitesize,mdflush
网络观测 tcp_connect, tcp_accept,tcp_close
bpf对网络流量的统计
bpf对redis-server观测
7.1 性能与测试工具
7.3 内核源码机制
7.3.2 内核内存管理运行机制
虚拟内存地址布局
SMP/NUMA模型
页表与页表缓存原理
伙伴系统实现
块分配(Slab/Slub/Slob)原理实现
brk/kmalloc/vmalloc系统调用流程
7.3.1 进程调度机制哪些事儿
qemu调试内存
进程调度cfs与其他的四个调度类
task_struct结构体
RCU机制与内存优化屏障
7.3.3 文件系统组件
虚拟文件系统vfs
Proc文件系统
super_block与inode结构体
文件描述符与挂载流程
复购学员比例超过60%
滑动窗口/慢启动讲解
其他协议 websocket,tcp文件传输
5.3 SPDK助力MySQL数据落盘,让性能腾飞 (基础设施)
5.3.1 SPDK文件系统设计与实现
9.1 dkvstore实现(上线项目)
9.1.1 kv存储的架构设计
8.1 分布式数据库
8.2 分布式文件系统(录播答疑)
8.3 分布式协同
8.3.2 协同事件 用户态文件系统 fuse(项目)
5.5 并行计算与异步网络引擎 workflow
5.3.2 文件系统的posix api实现
5.3.3 文件系统的性能测试与承接mysql业务
NVMe与PCIe的原理
NVMe Controller与bdev之间的rpc
8.2.2 分布式ceph存储集群部署
同步机制
线性扩容
如何实现高可用
负载均衡
blobstore与blob的关系
4层结构设计vfs
spdk的异步改造posix 同步api
open/write/read/close的实现
5.6 物联网通信协议 mqtt的实现框架mosquitto
LD_PRELOAD更好mysql系统调用实现
iodepth讲解
随机读,随机写,顺序读,顺序写
fuse的使用场景
文件系统读写事件
fuse的实现原理
/dev/fuse的作用
9.1.2 网络同步与事务序列化
9.1.4 KV存储的性能测试
5.5.1 workflow的应用场景
5.5.2 workflow的组件实现
workflow的编程范式与设计理念
mysql/redis/kafka/dns的请求实现
parallel处理与任务组装
线程池实现
DAG 图任务
msgqueue的实现
纯c的jsonparser实现
5.6.1 mqtt的高效使用场景
5.6.2 mqtt的broker
mqtt的发布订阅模式
解决低带宽网络环境的数据传输
3种Qos等级
mqtt的遗嘱机制
发布订阅的过滤器
mosquitto的docker部署
mqtt的日志实时监控
OAuth与JWT的安全认证
存储节点定义
tcp server/client
hash数据存储
序列化与反序列化格式
建立事务与释放事务
线程安全的处理
list数据存储
skiptable数据存储
rbtree数据存储
网络测试tps
吞吐量测试
hash/list/skiptable/rbtree测试
C/C++/MySQL/Redis/操作系统/八股文/Leetcode/剑指Offer面试攻略(录播答疑,82小时)
Qt开发必备技术栈(Qt5/C语言/c++/数据库/OpenCV/Quick/Qt实战)(录播答疑,158小时)
上课内容会按照大纲内容进行,如改动会在vip群进行沟通
课程尽量做到每次课手写代码,课程代码同步gitlab.0voice.com
8.3.3 快播核心技术揭秘 P2P框架的实现(录播答疑)
网关NAT表分析
NAT类型,完全锥型NAT,对称NAT,端口限制锥形NAT,IP限制锥型NAT
代码逻辑实现NAT类型检测
网络穿透的原理
网络穿透的3种情况
目标岗位(红色字体可作为招聘网站搜索关键字)
C++后端
开发工程师
安全开发
工程师
高性能
服务器开发
C++专家
/架构师
量化
交易工程师
CDN
研发工程师
自动驾驶
开发
游戏
服务器开发
云原生
底层基础架构
dpdk
网络开发
Linux内核
虚拟化
开发
推荐算法
工程师
存储
研发工程师
流媒体
开发工程师
9.1.3 内存池的使用与LRU的实现
大块与小块分配策略
内存回收机制
数据持久化
go,lua,java多语言支持
9.4 零声教学AI助手 一代(上线项目)
9.4.1 AI助手架构设计与需求分析
9.4.2 接口功能设计
9.2.3 容器化docker部署
crontab定时清理数据
docker server服务
grpc连接池管理
9.5 魔兽世界后端TrinityCore(上线项目)
9.5.1 网络模块实现
9.5.2 地图模块实现
9.5.3 战斗模块实现
9.5.4 TrinityCore 玩法实现
boost.asio 跨平台网络库
boost.asio 核心命名空间以及异步io接口
boost.asio 在 TrinityCore 中的封装
网络模块应用实践
地图模块抽象:map、area、grid、cell
地图模块驱动方式
AOI 核心算法实现
AABB 碰撞检测实现
A* 寻路算法实现
技能设计以及实现
AI 设计
怪物管理
副本设计
用户玩法实现-任务系统
数据配置以及数据库设计
触发机制实现
多人玩法实现-工会设计
知乎、b站小红点点未读消息如何实现
拓展新功能(代码)
9.4.3 向量数据库与连接池设计
9.4.4 服务部署上线
基于开源项目初步构建项目
gin框架实现代理服务
chatgpt的构想与需求分析
grpc与protobuf的使用流程
token计数器与tokenizer的服务封装
敏感词识别服务
redis实现上下文管理
问题记录保存
web端协议解析
OneBot协议
docker stack 服务部署
wrk接口吞吐量测试
线上节点监控
3.2.3 网络缓冲区设计
1. RingBuffer设计
2. 定长消息包
3. ChainBuffer设计
4. 双缓冲区设计
redis,memcached,nginx网络组件
上线项目:已上线投入生产使用
费曼学习计划文章集锦
项目开箱即用,触手可及
1. 魔兽世界后端TrinityCore
2. 微服务即时通讯
3. 图床共享云存储
4. 零声教学AI助手
5. 分布式kvstore(用于项目3 图床的链接存储)
6. 协程框架NtyCo(star>700)
7. 用户态tcp/ip协议栈NtyTcp(star > 600)
课程购买地址
Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)