└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | # ✍(已原创250篇)学员学习过程,课程总结的文章集锦,包含linux c/c++服务器,音视频,内核,dpdk,golang
2 |
3 | ## 第一期
4 |
5 | - [音视频学习的一些感悟](https://blog.csdn.net/weixin_40110713/article/details/121451643?spm=1001.2014.3001.5501)
6 | - [关于嵌入式音视频程序开发的感想](https://blog.csdn.net/weixin_40110713/article/details/121459889?spm=1001.2014.3001.5501)
7 | - [C++学习心得](https://blog.csdn.net/liangdongbo_/article/details/121487960)
8 | - [C/C++音视频高级开发 FFmpeg编程入门](https://juejin.cn/post/7033666766202994724)
9 | - [基于QT的多线程管理机制](https://blog.csdn.net/weixin_41639095/article/details/121487452)
10 | - [简谈epoll](https://blog.csdn.net/u014183456/article/details/121441877?spm=1001.2014.3001.5501)
11 | - [进程控制块Task_struct](https://blog.csdn.net/u014183456/article/details/121505748?spm=1001.2014.3001.5501)
12 | - [UDP的可靠性传输](https://blog.csdn.net/u014183456/article/details/119361294?spm=1001.2014.3001.5501)
13 | - [开源流媒体服务器SRS环境搭建](https://blog.csdn.net/hzb869168467/article/details/121481635?spm=1001.2014.3001.5502)
14 | - [音视频开源基础学习 - 编译ffmpeg](https://blog.csdn.net/hzb869168467/article/details/121481849?spm=1001.2014.3001.5502)
15 | - [音视频开源基础 - ffmpeg命令](https://blog.csdn.net/hzb869168467/article/details/121481931?spm=1001.2014.3001.5502)
16 | - [WebRtc入门 - API说明](https://blog.csdn.net/hzb869168467/article/details/121481964?spm=1001.2014.3001.5502)
17 | - [WebRtc入门 -webrtc框架](https://blog.csdn.net/hzb869168467/article/details/121482055?spm=1001.2014.3001.5502)
18 | - [redis底层数据](https://zhuanlan.zhihu.com/p/436497104)
19 | - [redis事务及订阅简介](https://zhuanlan.zhihu.com/p/437238757)
20 | - [redis hash概述](https://zhuanlan.zhihu.com/p/437377267)
21 | - [基于ijkplayer实现低延迟直播播放器](https://blog.csdn.net/qq_33844311/article/details/121381995?spm=1001.2014.3001.5501)
22 | - [使用soundtouch开源库实现ffplay倍速播功能](https://blog.csdn.net/qq_33844311/article/details/121423193?spm=1001.2014.3001.5501)
23 | - [【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构](https://blog.csdn.net/qq_33844311/article/details/121479224?spm=1001.2014.3001.5501)
24 | - [【obs-studio开源项目从入门到放弃】windows10使用vs2019编译obs-studio](https://blog.csdn.net/qq_33844311/article/details/121519431?spm=1001.2014.3001.5501)
25 | - [fastDFS学习相关](https://blog.csdn.net/Reggie0202/article/details/121432678?spm=1001.2014.3001.5501)
26 | - [http服务器的实现](https://blog.csdn.net/Reggie0202/article/details/121455829?spm=1001.2014.3001.5501)
27 | - [制作一个播放器(一)](https://blog.csdn.net/qq_18286031/article/details/121410289)
28 | - [制作一个播放器(二)](https://blog.csdn.net/qq_18286031/article/details/121432593)
29 | - [制作一个播放器(三)](https://blog.csdn.net/qq_18286031/article/details/121483144)
30 |
31 | ## 第二期
32 |
33 | - [【obs-studio开源项目从入门到放弃】obs_graphics_thread 视频采集渲染线程理解](https://blog.csdn.net/qq_33844311/article/details/121687742?spm=1001.2014.3001.5501)
34 | - [【obs-studio开源项目从入门到放弃】video_thread 视频编码线程理解](https://blog.csdn.net/qq_33844311/article/details/121745673?spm=1001.2014.3001.5501)
35 | - [【obs-studio开源项目从入门到放弃】obs rtmp推流插件 rtmp_output源码解析](https://blog.csdn.net/qq_33844311/article/details/121854521?spm=1001.2014.3001.5501)
36 | - [【obs-studio开源项目从入门到放弃】audio_thread 音频编码线程理解](https://blog.csdn.net/qq_33844311/article/details/121801113?spm=1001.2014.3001.5501)
37 | - [【obs-studio开源项目从入门到放弃】obs媒体源 ffmpeg_source 分析](https://blog.csdn.net/qq_33844311/article/details/121877366?spm=1001.2014.3001.5501)
38 | - [cmake开发实战教程--后续代码都是用cmake开发](https://blog.csdn.net/qq_18286031/article/details/121801112)
39 | - [基于Qt和ffmpeg的抓屏rtsp服务(一)](https://blog.csdn.net/qq_18286031/article/details/121745224)
40 | - [基于Qt和ffmpeg的抓屏rtsp服务(二)](https://blog.csdn.net/qq_18286031/article/details/121777729)
41 | - [内存映射原理](https://blog.csdn.net/u014183456/article/details/121736946?spm=1001.2014.3001.5501)
42 | - [引导内存分配器原理](https://blog.csdn.net/u014183456/article/details/121890036?spm=1001.2014.3001.5501)
43 | - [无题(追赶,选择,梳理,自我鼓励)](https://blog.csdn.net/yun6853992/article/details/121795416)
44 | - [dpdk课程学习之练习笔记一(接收,发送,arp,icmp功能测试)](https://blog.csdn.net/yun6853992/article/details/121838137)
45 | - [dpdk课程学习之练习笔记二(arp, udp协议api测试)](https://blog.csdn.net/yun6853992/article/details/121854352)
46 | - [音视频学习之基础概念整理(rgb/yuv,pcm,采样频率,帧率,码率,i帧p帧b帧,dts/pts)](https://blog.csdn.net/yun6853992/article/details/121869579)
47 | - [音视频学习之时间戳相关整理(时间基tbr,tbn,tbc)](https://blog.csdn.net/yun6853992/article/details/121870243)
48 | - [音视频学习之ffmpeg常用基础命令整理](https://blog.csdn.net/yun6853992/article/details/121870328)
49 | - [音视频学习之ffplay基础命令整理](https://blog.csdn.net/yun6853992/article/details/121870678)
50 | - [dpdk课程学习之练习笔记三(tcp的简单实现)](https://blog.csdn.net/yun6853992/article/details/121885640)
51 | - [ffmpeg 源码分析与命令实战和代码实战](https://blog.csdn.net/baidu_35297555/article/details/121875045?spm=1001.2014.3001.5501)
52 | - [Linux文件系统:minix文件系统二进制分析1(格式化)](https://blog.csdn.net/weixin_42314225/article/details/121711132)
53 | - [Linux文件系统:minix文件系统二进制分析2](https://blog.csdn.net/weixin_42314225/article/details/121727184)
54 | - [手把手教你在Linux内核中添加一个系统调用](https://blog.csdn.net/weixin_42314225/article/details/121721426)
55 | - [深入剖析MMU段映射](https://blog.csdn.net/weixin_42314225/article/details/121786233)
56 | - [深入剖析MMU二级页表](https://blog.csdn.net/weixin_42314225/article/details/121786323)
57 | - [Linux文件系统:minix文件系统二进制分析3(硬链接与软链接)](https://blog.csdn.net/weixin_42314225/article/details/121802183)
58 | - [Linux文件系统:minix文件系统二进制分析4(rm删除)](https://blog.csdn.net/weixin_42314225/article/details/121851975)
59 | - [针对分布式文件系统FastDFS问题的理解](https://blog.csdn.net/qq_39486027/article/details/121739759?spm=1001.2014.3001.5501)
60 | - [对nvidia-smi命令参数解析](https://blog.csdn.net/qq_39486027/article/details/121745995?spm=1001.2014.3001.5501)
61 | - [Protocol Buffers (protobuf ) 深入理解 -1](https://blog.csdn.net/qq_39486027/article/details/121881244?spm=1001.2014.3001.5501)
62 | - [Mysql索引学习之路](https://blog.csdn.net/h0731012/article/details/121756426?spm=1001.2014.3001.5501)
63 | - [MySQL 性能优化一](https://blog.csdn.net/h0731012/article/details/121758950?spm=1001.2014.3001.5501)
64 | - [MySql性能优化二](https://blog.csdn.net/h0731012/article/details/121762214?spm=1001.2014.3001.5501)
65 | - [网络IO模型](https://blog.csdn.net/h0731012/article/details/121766003?spm=1001.2014.3001.5501)
66 |
67 |
68 | ## 第三期
69 |
70 | - [WebRTC进阶-SDP协议详解](https://huzb1995.blog.csdn.net/article/details/122147530?spm=1001.2014.3001.5502)
71 | - [WebSocket协议解析](https://huzb1995.blog.csdn.net/article/details/122275738?spm=1001.2014.3001.5502)
72 | - [快速搭建Ubuntu环境-multipass](https://huzb1995.blog.csdn.net/article/details/122275784?spm=1001.2014.3001.5502)
73 | - [【obs-studio开源项目从入门到放弃】obs中 x264编码器的使用](https://blog.csdn.net/qq_33844311/article/details/122072255?spm=1001.2014.3001.5501)
74 | - [【obs-studio开源项目从入门到放弃】ffmpeg_muxer 视频的录制(flv-mp4-ts-srt-udp-tcp)](https://blog.csdn.net/qq_33844311/article/details/122084255?spm=1001.2014.3001.5501)
75 | - [【obs-studio开源项目从入门到放弃】win-wasapi 音频的采集](https://blog.csdn.net/qq_33844311/article/details/122145644?spm=1001.2014.3001.5501)
76 | - [std::vector 使用 clear() 后崩溃 vector out-of-bound](https://blog.csdn.net/qq_33844311/article/details/122225983?spm=1001.2014.3001.5501)
77 | - [伙伴分配器(buddy allocator)和slab](https://blog.csdn.net/u014183456/article/details/122031750?spm=1001.2014.3001.5501)
78 | - [日常知识点之公开课内存碎片优化(内存池)](https://blog.csdn.net/yun6853992/article/details/122032628)
79 | - [日常小知识点之用户层网络缓冲区(固定内存,ringbuffer,chainbuffer)](https://blog.csdn.net/yun6853992/article/details/122067005)
80 | - [日常小知识点之序列化结构(protobuf使用及简单原理)](https://blog.csdn.net/yun6853992/article/details/122113961)
81 | - [dpdk课程学习之练习笔记四(dns预备)](https://blog.csdn.net/yun6853992/article/details/122150555?spm=1001.2014.3001.5501)
82 | - [dpd课程学习之练习笔记五(kni理解及测试)](https://blog.csdn.net/yun6853992/article/details/122156624?spm=1001.2014.3001.5501)
83 | - [dpdk课程学习之练习笔记六(虚拟化理解vhost和virtio)](https://blog.csdn.net/yun6853992/article/details/122169052?spm=1001.2014.3001.5501)
84 | - [dpdk课程学习之练习笔记七(vpp环境搭建及plugin demo测试)](https://blog.csdn.net/yun6853992/article/details/122254344?spm=1001.2014.3001.5501)
85 | - [linux内核升级笔记](https://blog.csdn.net/yun6853992/article/details/122256540?spm=1001.2014.3001.5501)
86 | - [聊天集群服务服务器](https://blog.csdn.net/Reggie0202/article/details/122122091?spm=1001.2014.3001.5501)
87 | - [Mysql数据类型和运算符](https://blog.csdn.net/Reggie0202/article/details/122122965?spm=1001.2014.3001.5501)
88 | - [Mysql完整性约束与设计](https://blog.csdn.net/Reggie0202/article/details/122134146?spm=1001.2014.3001.5501)
89 | - [Mysql核心SQL](https://blog.csdn.net/Reggie0202/article/details/122151497?spm=1001.2014.3001.5501)
90 | - [MySQL索引基础](https://blog.csdn.net/Reggie0202/article/details/122157251?spm=1001.2014.3001.5501)
91 | - [Mysql索引B树跟B+树](https://blog.csdn.net/Reggie0202/article/details/122210459?spm=1001.2014.3001.5501)
92 | - [聚集索引和非聚集索引](https://blog.csdn.net/Reggie0202/article/details/122229759?spm=1001.2014.3001.5501)
93 | - [Mysql哈希索引](https://blog.csdn.net/Reggie0202/article/details/122238967?spm=1001.2014.3001.5501)
94 | - [MongoDB学习(一)](https://blog.csdn.net/h0731012/article/details/122137351?spm=1001.2014.3001.5501)
95 | - [MongoDB学习(二)](https://blog.csdn.net/h0731012/article/details/122149956?spm=1001.2014.3001.5501)
96 | - [MongoDB学习(三)](https://blog.csdn.net/h0731012/article/details/122161361?spm=1001.2014.3001.5501)
97 | - [MongoDB学习(四)](https://blog.csdn.net/h0731012/article/details/122279255?spm=1001.2014.3001.5501)
98 | - [音视频录制基础原理概念](https://truedei.blog.csdn.net/article/details/122116827)
99 | - [ffmpeg常用库、术语、API、数据结构总结](https://truedei.blog.csdn.net/article/details/122146742)
100 | - [ffmpeg解码之使用C语言打印音视频信息](https://blog.csdn.net/qq_17623363/article/details/122151819?spm=1001.2014.3001.5501)
101 | - [Linux常用的网络编程函数](https://blog.csdn.net/xfy333/article/details/122074482?spm=1001.2014.3001.5501)
102 | - [红黑树的旋转、插入和删除](https://blog.csdn.net/xfy333/article/details/122074876?spm=1001.2014.3001.5501)
103 | - [单例模式的实现](https://blog.csdn.net/xfy333/article/details/122074853?spm=1001.2014.3001.5501)
104 | - [手写内存泄漏组件](https://blog.csdn.net/congchp/article/details/122210392?spm=1001.2014.3001.5501)
105 | - [手写死锁检测组件](https://blog.csdn.net/congchp/article/details/122211328?spm=1001.2014.3001.5501)
106 | - [锁和原子操作的实现](https://blog.csdn.net/congchp/article/details/122213293?spm=1001.2014.3001.5501)
107 | - [手动实现try-catch组件](https://blog.csdn.net/congchp/article/details/122213437?spm=1001.2014.3001.5501)
108 | - [c++十大经典排序算法](https://blog.csdn.net/zhoujiajie0521/article/details/122183332?spm=1001.2014.3001.5501)
109 | - [KMP算法(c++)](https://blog.csdn.net/zhoujiajie0521/article/details/122183364?spm=1001.2014.3001.5501)
110 | - [常用的设计模式](https://blog.csdn.net/zhoujiajie0521/article/details/122194799?spm=1001.2014.3001.5501)
111 | - [c++的二叉树](https://blog.csdn.net/zhoujiajie0521/article/details/122258300?spm=1001.2014.3001.5501)
112 | - [c++的红黑树](https://blog.csdn.net/zhoujiajie0521/article/details/122266949?spm=1001.2014.3001.5501)
113 | - [iOS摄像头采集和编码](https://zhuanlan.zhihu.com/p/452057234)
114 | - [Android摄像头采集和编码](https://zhuanlan.zhihu.com/p/452142724)
115 | - [STL的分配器和迭代器](https://zhuanlan.zhihu.com/p/452879634)
116 | - [手写TCP服务器及其技术细节](https://www.jianshu.com/p/1cab4ef08f33)
117 | - [数据结构排序算法总结](https://www.jianshu.com/p/6f1fa19bf981)
118 | - [手写基于epoll与reactor的tcp服务器](https://www.jianshu.com/p/66a910f408ae)
119 | - [并发编程笔记](https://blog.csdn.net/wyj613/article/details/122201887?spm=1001.2014.3001.5501)
120 | - [Linux IO 多路复用笔记](https://blog.csdn.net/wyj613/article/details/122226495?spm=1001.2014.3001.5501)
121 | - [单例模式的线程安全](https://blog.csdn.net/wyj613/article/details/122261897?spm=1001.2014.3001.5501)
122 | - [实时调度类及SMP](https://www.cnblogs.com/myblogheyk/p/15760879.html)
123 | - [调度器分析及完全公平调度器CFS](https://www.cnblogs.com/myblogheyk/p/15760072.html)
124 | - [进程原理及系统调用](https://www.cnblogs.com/myblogheyk/p/15757864.html)
125 | - [linux内核源码组织结构](https://www.cnblogs.com/myblogheyk/p/15743122.html)
126 | - [QT+OPENCV实现截图并跟踪图像](https://www.cnblogs.com/ganlu123/p/15755125.html)
127 | - [MYSQL数据库的基本操作](https://www.cnblogs.com/ganlu123/p/15755138.html)
128 | - [方法学的对比](https://www.cnblogs.com/ganlu123/p/15755145.html)
129 | - [linux内核源码1](https://blog.csdn.net/tan1666/article/details/122262856?spm=1001.2014.3001.5501)
130 | - [linux内核源码2](https://blog.csdn.net/tan1666/article/details/122273530?spm=1001.2014.3001.5501)
131 | - [linux内核源码3](https://blog.csdn.net/tan1666/article/details/122282348?spm=1001.2014.3001.5501)
132 | - [信息系统项目管理师](https://blog.csdn.net/tan1666/article/details/122292591?spm=1001.2014.3001.5501)
133 |
134 | ## 第四期
135 |
136 | - [高效数据编码-protobuf](https://huzb1995.blog.csdn.net/article/details/122358505?spm=1001.2014.3001.5502)
137 | - [windows11+wsl+clion调试srs](https://huzb1995.blog.csdn.net/article/details/122365341?spm=1001.2014.3001.5502)
138 | - [redis入门到精通(二) -基本数据类型String](https://blog.csdn.net/hzb869168467/article/details/122481022?spm=1001.2014.3001.5501)
139 | - [redis入门到精通(一) - 编译与调试](https://huzb1995.blog.csdn.net/article/details/122384001?spm=1001.2014.3001.5502)
140 | - [【音视频技术栈】音视频学习路线规划](https://blog.csdn.net/qq_33844311/article/details/122354198?spm=1001.2014.3001.5501)
141 | - [【ffplay播放器】ffplay 播放器整体架构](https://blog.csdn.net/qq_33844311/article/details/122386848?spm=1001.2014.3001.5501)
142 | - [【obs-studio开源项目从入门到放弃】obs 配置 srt推流](https://blog.csdn.net/qq_33844311/article/details/122432124?spm=1001.2014.3001.5501)
143 | - [【obs-studio开源项目从入门到放弃】obs aac opus 音频编码器的使用](https://blog.csdn.net/qq_33844311/article/details/122454026?spm=1001.2014.3001.5501)
144 | - [【obs-studio开源项目从入门到放弃】obs 的高级输出 ffmpeg-output](https://blog.csdn.net/qq_33844311/article/details/122510959?spm=1001.2014.3001.5501)
145 | - [Nginx系列一:概念和配置](https://blog.csdn.net/u014183456/article/details/122334371?spm=1001.2014.3001.5502)
146 | - [Nginx 的数据结构](https://blog.csdn.net/u014183456/article/details/122421939?spm=1001.2014.3001.5502)
147 | - [Nginx 高级数据结构](https://blog.csdn.net/u014183456/article/details/122517090?spm=1001.2014.3001.5501)
148 | - [音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)](https://blog.csdn.net/yun6853992/article/details/122465587?spm=1001.2014.3001.5501)
149 | - [音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)](https://blog.csdn.net/yun6853992/article/details/122479324?spm=1001.2014.3001.5501)
150 | - [音视频学习之闲看视频整理低延迟](https://blog.csdn.net/yun6853992/article/details/122504844?spm=1001.2014.3001.5501)
151 | - [音视频学习之rtsp学习rtp协议的理解(rtp)](https://blog.csdn.net/yun6853992/article/details/122505376?spm=1001.2014.3001.5501)
152 | - [日常知识点之内存泄露定位手段(c语言hook malloc相关方式)](https://blog.csdn.net/yun6853992/article/details/122526428?spm=1001.2014.3001.5502)
153 | - [TCP传输机制](https://blog.csdn.net/asdaqqwc/article/details/122384997?spm=1001.2014.3001.5502)
154 | - [UDP可靠传输(KCP)](https://blog.csdn.net/asdaqqwc/article/details/122385671?spm=1001.2014.3001.5502)
155 | - [协程设计原理(理论)](https://blog.csdn.net/asdaqqwc/article/details/122417522?spm=1001.2014.3001.5502)
156 | - [TCP的慢启动与滑动窗口](https://blog.csdn.net/asdaqqwc/article/details/122480121?spm=1001.2014.3001.5502)
157 | - [用户态协议栈之TCP/IP设计](https://blog.csdn.net/asdaqqwc/article/details/122460875?spm=1001.2014.3001.5502)
158 | - [epoll实现原理](https://blog.csdn.net/asdaqqwc/article/details/122514892?spm=1001.2014.3001.5502)
159 | - [线程池之C实现](https://blog.csdn.net/asdaqqwc/article/details/122526810?spm=1001.2014.3001.5502)
160 | - [FFmpeg-Window QT环境调试环境搭建教程-1](https://zhuanlan.zhihu.com/p/456484182)
161 | - [FFmpeg-Window QT环境调试环境搭建教程-2](https://zhuanlan.zhihu.com/p/456488808)
162 | - [FFmpeg-Window QT环境调试环境搭建教程-3](https://zhuanlan.zhihu.com/p/456491912)
163 | - [Linux C/C++ 编程 实现通讯录(结构体)](https://blog.csdn.net/Abieai/article/details/122368107?spm=1001.2014.3001.5501)
164 | - [Linux C/C++ 编程 统计文件单词数量(文件操作)](https://blog.csdn.net/Abieai/article/details/122338226?spm=1001.2014.3001.5502)
165 | - [Linux C/C++ 并发下的计数(技术)方案(互斥锁、自旋锁、原子操作)](https://blog.csdn.net/Abieai/article/details/122386495?spm=1001.2014.3001.5501)
166 | - [Linux C/C++ 手写线程池](https://blog.csdn.net/Abieai/article/details/122396436?spm=1001.2014.3001.5501)
167 | - [Linux C/C++ 实现 MySQL数据库的增删改查(CRUD)](https://blog.csdn.net/Abieai/article/details/122421664?spm=1001.2014.3001.5501)
168 | - [Linux C/C++ 实现MySQL的图片插入以及图片的读取](https://blog.csdn.net/Abieai/article/details/122442204?spm=1001.2014.3001.5501)
169 | - [Linux C/C++实现DNS请求器(UDP编程)](https://blog.csdn.net/Abieai/article/details/122456116?spm=1001.2014.3001.5501)
170 | - [Linux C/C++ 实现HTTP请求器(TCP客户端)](https://blog.csdn.net/Abieai/article/details/122482849?spm=1001.2014.3001.5502)
171 | - [Linux C/C++ 实现TCP服务器](https://blog.csdn.net/Abieai/article/details/122493722?spm=1001.2014.3001.5502)
172 | - [Linux C/C++百万并发的服务器](https://blog.csdn.net/Abieai/article/details/122525544?spm=1001.2014.3001.5502)
173 | - [想要了解epoll必须要从这几点出发](https://blog.csdn.net/twopq/article/details/122336208?spm=1001.2014.3001.5502)
174 | - [手把手实现webserver网页服务器(一)-- HTTP协议](https://blog.csdn.net/twopq/article/details/122376788?spm=1001.2014.3001.5502)
175 | - [手把手实现webserver网页服务器(二)-- 线程池的实现](https://blog.csdn.net/twopq/article/details/122428412?spm=1001.2014.3001.5501)
176 | - [log4cpp日志方案](https://blog.csdn.net/congchp/article/details/122346002?spm=1001.2014.3001.5502)
177 | - [应用层协议设计protobuf](https://blog.csdn.net/congchp/article/details/122410600?spm=1001.2014.3001.5502)
178 | - [Mysql索引原理及sql优化](https://blog.csdn.net/congchp/article/details/122432091?spm=1001.2014.3001.5502)
179 | - [Mysql事务原理](https://blog.csdn.net/congchp/article/details/122496642?spm=1001.2014.3001.5501)
180 | - [linux c++网络模型](https://blog.csdn.net/zhoujiajie0521/article/details/122297337?spm=1001.2014.3001.5502)
181 | - [c++线程池](https://blog.csdn.net/zhoujiajie0521/article/details/122374175?spm=1001.2014.3001.5502)
182 | - [redis连接池(c++实现)](https://blog.csdn.net/zhoujiajie0521/article/details/122518860?spm=1001.2014.3001.5502)
183 | - [STL list容器的排序算法实现](https://zhuanlan.zhihu.com/p/457058178)
184 | - [H264视频编码格式](https://zhuanlan.zhihu.com/p/458159786)
185 | - [AAC(高级音频编码)](https://www.zhihu.com/people/gongluck-88/posts)
186 | - [手写简单红黑树](https://juejin.cn/post/7050008777285697573)
187 | - [C/C++ 编程中常见的内存错误](https://blog.csdn.net/wyj613/article/details/122390909?spm=1001.2014.3001.5501)
188 | - [C/C++ 实现内存泄露检测之一](https://blog.csdn.net/wyj613/article/details/122388128?spm=1001.2014.3001.5501)
189 | - [Linux epoll 与 Windows IOCP比较](https://blog.csdn.net/wyj613/article/details/122516351?spm=1001.2014.3001.5502)
190 | - [内存映射原理](https://blog.csdn.net/qq_41952309/article/details/122518931?spm=1001.2014.3001.5502)
191 | - [Linux 物理内存组织结构](https://blog.csdn.net/qq_41952309/article/details/122530209?spm=1001.2014.3001.5502)
192 | - [虚拟地址空间布局架构](https://blog.csdn.net/qq_41952309/article/details/122530310?spm=1001.2014.3001.5502)
193 | - [Linux内核内存布局](https://blog.csdn.net/qq_41952309/article/details/122530629?spm=1001.2014.3001.5502)
194 | - [Kafka开发环境搭建及应用](https://blog.csdn.net/qq_46118239/article/details/122418723?spm=1001.2014.3001.5501)
195 | - [Redis](https://blog.csdn.net/qq_46118239/article/details/122474257?spm=1001.2014.3001.5501)
196 | - [redis源码学习](https://blog.csdn.net/qq_46118239/article/details/122496320?spm=1001.2014.3001.5501)
197 | - [linux内核源码1.1进程管理和内存管理](https://blog.csdn.net/tan1666/article/details/122375992?spm=1001.2014.3001.5502)
198 | - [linux内核源码2.1设备驱动和文件系统](https://blog.csdn.net/tan1666/article/details/122385157?spm=1001.2014.3001.5502)
199 | - [linux内核源码3.1中断和网络](https://blog.csdn.net/tan1666/article/details/122387289?spm=1001.2014.3001.5502)
200 | - [linux 内核实战](https://blog.csdn.net/tan1666/article/details/122510526?spm=1001.2014.3001.5502)
201 | - [手动编译更换linux内核](https://blog.csdn.net/tan1666/article/details/122420012?spm=1001.2014.3001.5502)
202 |
203 | ## 第五期
204 |
205 | - [【obs-studio开源项目从入门到放弃】windows 窗口采集和桌面采集的解决方案](https://blog.csdn.net/qq_33844311/article/details/122560396?spm=1001.2014.3001.5501)
206 | - [【webrtc】vs2019 下载编译 WebRTC 最新源码](https://blog.csdn.net/qq_33844311/article/details/122680757?spm=1001.2014.3001.5501)
207 | - [【webrtc】demo 测试 peerconnection_server 和 peerconnection_client](https://blog.csdn.net/qq_33844311/article/details/122743509?spm=1001.2014.3001.5501)
208 | - [Nginx的配置指令和handler模块概述](https://blog.csdn.net/u014183456/article/details/122657263?spm=1001.2014.3001.5501)
209 | - [Nginx系列五: handler 模块](https://blog.csdn.net/u014183456/article/details/122725181?spm=1001.2014.3001.5501)
210 | - [定时器方案(一)之红黑树与最小堆 详解](https://blog.csdn.net/asdaqqwc/article/details/122609561?spm=1001.2014.3001.5502)
211 | - [定时器方案(二)之时间轮原理 详解](https://blog.csdn.net/asdaqqwc/article/details/122607888?spm=1001.2014.3001.5502)
212 | - [手写死锁检测组件](https://blog.csdn.net/asdaqqwc/article/details/122673198?spm=1001.2014.3001.5502)
213 | - [FFplay 工程源码分析-1](https://blog.csdn.net/u012117034/article/details/122646423?spm=1001.2014.3001.5501)
214 | - [FFplay 工程源码分析-2](https://blog.csdn.net/u012117034/article/details/122646438?spm=1001.2014.3001.5501)
215 | - [FFplay 工程源码分析-3](https://blog.csdn.net/u012117034/article/details/122646469?spm=1001.2014.3001.5501)
216 | - [FFplay 工程源码分析-4](https://blog.csdn.net/u012117034/article/details/122671908?spm=1001.2014.3001.5501)
217 | - [mysql缓存方案](https://blog.csdn.net/congchp/article/details/122615658?spm=1001.2014.3001.5501)
218 | - [redis事务与异步请求](https://blog.csdn.net/congchp/article/details/122623735?spm=1001.2014.3001.5501)
219 | - [定时器原理与实现](https://blog.csdn.net/congchp/article/details/122624194?spm=1001.2014.3001.5501)
220 | - [redis持久化与主从复制](https://blog.csdn.net/congchp/article/details/122700079?spm=1001.2014.3001.5501)
221 | - [CPU亲缘性](https://blog.csdn.net/congchp/article/details/122701611?spm=1001.2014.3001.5501)
222 | - [异步请求实现](https://blog.csdn.net/congchp/article/details/122624477?spm=1001.2014.3001.5501)
223 | - [redis存储结构与数据模型](https://blog.csdn.net/congchp/article/details/122740063?spm=1001.2014.3001.5501)
224 | - [redis io多线程](https://blog.csdn.net/congchp/article/details/122740115?spm=1001.2014.3001.5501)
225 | - [Docker镜像编译与Docker-Compose部署与编排](https://blog.csdn.net/qq_46118239/article/details/122731594?spm=1001.2014.3001.5501)
226 | - [DPDK 的虚拟交换机框架 OvS 的基础知识](https://blog.csdn.net/qq_46118239/article/details/122746868?spm=1001.2014.3001.5501)
227 | - [K8S核心组件介绍](https://blog.csdn.net/qq_46118239/article/details/122751173?spm=1001.2014.3001.5501)
228 | - [linux设备驱动](https://blog.csdn.net/tan1666/article/details/122611343?spm=1001.2014.3001.5501)
229 | - [Linux设备驱动开发详解](https://blog.csdn.net/tan1666/article/details/122611970?spm=1001.2014.3001.5501)
230 | - [Linux内核设计与实现](https://blog.csdn.net/tan1666/article/details/122630582?spm=1001.2014.3001.5501)
231 | - [linux内核源码实战_理解中断和网络](https://blog.csdn.net/tan1666/article/details/122637907?spm=1001.2014.3001.5501)
232 | - [linux内核源码实战_理解设备驱动和文件系统](https://blog.csdn.net/tan1666/article/details/122637892?spm=1001.2014.3001.5501)
233 | - [linux内核源码实战_理解进程管理和内存管理](https://blog.csdn.net/tan1666/article/details/122637865?spm=1001.2014.3001.5501)
234 | - [系统工程师应具备的技能](https://blog.csdn.net/tan1666/article/details/122710167?spm=1001.2014.3001.5502)
235 | - [带你了解BoostLog库,一篇boost库的总结](https://blog.csdn.net/sinat_28294665/article/details/122612096?spm=1001.2014.3001.5502)
236 | - [带你了解gLog库,一篇gLog库的总结](https://blog.csdn.net/sinat_28294665/article/details/122612242?spm=1001.2014.3001.5502)
237 | - [带你了解log4qt日志库,一篇log4qt日志库的总结](https://blog.csdn.net/sinat_28294665/article/details/122612309?spm=1001.2014.3001.5502)
238 | - [带你了解log4cpp日志库,一篇log4cpp日志库的总结](https://blog.csdn.net/sinat_28294665/article/details/122612383?spm=1001.2014.3001.5502)
239 | - [linux实用细节命令1,简单10条。](https://blog.csdn.net/sinat_28294665/article/details/122612868?spm=1001.2014.3001.5502)
240 | - [编程不可违背的9条原则,甚至会影响你的一生](https://blog.csdn.net/sinat_28294665/article/details/122613488?spm=1001.2014.3001.5502)
241 | - [Linux网络编程基础1:大小端 && 存储socket 地址](https://blog.csdn.net/sinat_28294665/article/details/122631160?spm=1001.2014.3001.5502)
242 | - [Linux网络编程基础2:socket,bind,listen,accept,close函数](https://blog.csdn.net/sinat_28294665/article/details/122634143?spm=1001.2014.3001.5502)
243 | - [linux实用细节命令2,grep与正则表达式(Regular Expression)](https://blog.csdn.net/sinat_28294665/article/details/122640510?spm=1001.2014.3001.5502)
244 | - [Linux实用细节命令3,sed非交互式流式编辑器增删改查](https://blog.csdn.net/sinat_28294665/article/details/122645736?spm=1001.2014.3001.5502)
245 | - [Linux实用细节命令4,awk数据分析与过滤统计](https://blog.csdn.net/sinat_28294665/article/details/122649617?spm=1001.2014.3001.5502)
246 | - [Linux服务器开发,系统运行时参数命令:CPU、内存、磁盘、网络](https://blog.csdn.net/sinat_28294665/article/details/122659439?spm=1001.2014.3001.5502)
247 | - [Linux服务器开发,创建型设计模式与结构性设计模式](https://blog.csdn.net/sinat_28294665/article/details/122710045?spm=1001.2014.3001.5501)
248 | - [Linux网络编程基础3:数据读写](https://blog.csdn.net/sinat_28294665/article/details/122710441?spm=1001.2014.3001.5501)
249 | - [Golang/云原生/Docker/DevOps/K8s,GO语言基础1知识](https://blog.csdn.net/sinat_28294665/article/details/122720465?spm=1001.2014.3001.5501)
250 | - [剖析一下“计算机网络”的世界](https://blog.csdn.net/hjlogzw/article/details/122581255?spm=1001.2014.3001.5502)
251 |
252 | ## 第六期
253 |
254 | - [【FFmpeg入门到放弃】ffmpeg 整体架构和 example demo入门](https://blog.csdn.net/qq_33844311/article/details/122888307?spm=1001.2014.3001.5501)
255 | - [【流媒体协议】图解 FLV 协议 快速入门](https://blog.csdn.net/qq_33844311/article/details/122951819?spm=1001.2014.3001.5502)
256 | - [【流媒体协议】图解 MP4 协议 快速入门](https://blog.csdn.net/qq_33844311/article/details/123007158?spm=1001.2014.3001.5501)
257 | - [知识巩固源码落实之1:tcp服务端epoll实现](https://blog.csdn.net/yun6853992/article/details/122912990?spm=1001.2014.3001.5502)
258 | - [知识巩固源码落实之2:tcp服务端接收处理半包和粘包](https://blog.csdn.net/yun6853992/article/details/122913020?spm=1001.2014.3001.5502)
259 | - [知识巩固源码落实之3:缓冲区ringbuffer](https://blog.csdn.net/yun6853992/article/details/122913568?spm=1001.2014.3001.5502)
260 | - [知识巩固源码落实之4:http get同步请求数据demo](https://blog.csdn.net/yun6853992/article/details/122915774?spm=1001.2014.3001.5502)
261 | - [知识巩固源码落实之5:http get异步请求数据demo(多线程+struct epoll_event的ptr)](https://blog.csdn.net/yun6853992/article/details/122915795?spm=1001.2014.3001.5502)
262 | - [知识巩固源码落实之6:c语言拼接字符串与切割字符串(strsep)代码](https://blog.csdn.net/yun6853992/article/details/122949240?spm=1001.2014.3001.5502)
263 | - [知识巩固源码落实之7:json协议使用cjson的构造和解析](https://blog.csdn.net/yun6853992/article/details/122953399?spm=1001.2014.3001.5502)
264 | - [日常知识点之网络面试八股文(tcp,惊群现象,协程)](https://blog.csdn.net/yun6853992/article/details/123029188?spm=1001.2014.3001.5502)
265 | - [Qt android 开发环境搭建](https://blog.csdn.net/qq_18286031/article/details/122881355?spm=1001.2014.3001.5502)
266 | - [Qt android 打印调试](https://blog.csdn.net/qq_18286031/article/details/122933499?spm=1001.2014.3001.5502)
267 | - [Qt andoid 实现简单的浏览器](https://blog.csdn.net/qq_18286031/article/details/122972306?spm=1001.2014.3001.5502)
268 | - [FFplay源码分析-read_thread](https://blog.csdn.net/u012117034/article/details/122872548?spm=1001.2014.3001.5501)
269 | - [FFplay源码分析-stream_component_open](https://blog.csdn.net/u012117034/article/details/122873233?spm=1001.2014.3001.5501)
270 | - [FFplay源码分析-video_thread](https://blog.csdn.net/u012117034/article/details/122873569?spm=1001.2014.3001.5501)
271 | - [FFplay源码分析-音视频同步1](https://blog.csdn.net/u012117034/article/details/122873602?spm=1001.2014.3001.5501)
272 | - [FFplay源码分析-音视频同步2](https://blog.csdn.net/u012117034/article/details/122873644?spm=1001.2014.3001.5501)
273 | - [FFplay源码分析-音视频同步3](https://blog.csdn.net/u012117034/article/details/122873686?spm=1001.2014.3001.5501)
274 | - [FFplay源码分析-pause](https://blog.csdn.net/u012117034/article/details/122873714?spm=1001.2014.3001.5501)
275 | - [FFplay源码分析-EOF](https://blog.csdn.net/u012117034/article/details/122873792?spm=1001.2014.3001.5501)
276 | - [FFplay源码分析-退出处理](https://blog.csdn.net/u012117034/article/details/122873860?spm=1001.2014.3001.5501)
277 | - [FFplay源码分析-总结](https://blog.csdn.net/u012117034/article/details/122873883?spm=1001.2014.3001.5501)
278 | - [reactor百万连接的并发](https://blog.csdn.net/congchp/article/details/122880179?spm=1001.2014.3001.5502)
279 | - [reactor实现http服务器](https://blog.csdn.net/congchp/article/details/122880497?spm=1001.2014.3001.5502)
280 | - [websocket服务器实现](https://blog.csdn.net/congchp/article/details/122880819?spm=1001.2014.3001.5502)
281 | - [hash,bloomfilter,分布式一致性hash](https://blog.csdn.net/congchp/article/details/122882760?spm=1001.2014.3001.5502)
282 | - [posix api和网络协议栈](https://blog.csdn.net/congchp/article/details/122883208?spm=1001.2014.3001.5502)
283 | - [用户态协议栈的实现](https://blog.csdn.net/congchp/article/details/122883361?spm=1001.2014.3001.5502)
284 | - [tcp协议栈实现,tcp定时器与滑动窗口](https://blog.csdn.net/congchp/article/details/122883556?spm=1001.2014.3001.5502)
285 | - [epoll实现原理](https://blog.csdn.net/congchp/article/details/122883631?spm=1001.2014.3001.5502)
286 | - [btree实现](https://blog.csdn.net/congchp/article/details/122884029?spm=1001.2014.3001.5502)
287 | - [数据库连接池](https://blog.csdn.net/congchp/article/details/122884165?spm=1001.2014.3001.5502)
288 | - [Linux服务器开发,MySql存储过程、函数和触发器](https://blog.csdn.net/sinat_28294665/article/details/122727430?spm=1001.2014.3001.5502)
289 | - [Linux服务器开发,MySql流程控制语句](https://blog.csdn.net/sinat_28294665/article/details/122726724?spm=1001.2014.3001.5502)
290 | - [Linux服务器开发,SQL语句,索引,视图,存储过程,触发器](https://blog.csdn.net/sinat_28294665/article/details/122734572?spm=1001.2014.3001.5502)
291 | - [Golang/云原生/Docker/DevOps/K8s,GO语言基础2知识](https://blog.csdn.net/sinat_28294665/article/details/122760921?spm=1001.2014.3001.5502)
292 | - [Linux服务器开发,Redis源码 存储原理与数据模型](https://blog.csdn.net/sinat_28294665/article/details/122754996?spm=1001.2014.3001.5502)
293 | - [Linux服务器开发,Redis协议与异步方式](https://blog.csdn.net/sinat_28294665/article/details/122752415?spm=1001.2014.3001.5502)
294 | - [Linux服务器开发,Redis相关命令详解及其原理](https://blog.csdn.net/sinat_28294665/article/details/122750845?spm=1001.2014.3001.5502)
295 | - [Linux服务器开发,MySql索引原理及优化](https://blog.csdn.net/sinat_28294665/article/details/122739531?spm=1001.2014.3001.5502)
296 | - [Linux服务器开发,MySql缓存策略](https://blog.csdn.net/sinat_28294665/article/details/122745979?spm=1001.2014.3001.5502)
297 | - [Linux服务器开发,MySql事务原理分析](https://blog.csdn.net/sinat_28294665/article/details/122742615?spm=1001.2014.3001.5502)
298 | - [Linux实用细节命令5,入门精选](https://blog.csdn.net/sinat_28294665/article/details/122758708?spm=1001.2014.3001.5502)
299 | - [Golang/云原生/Docker/DevOps/K8s,GO语言基础3知识,接口与发射](https://blog.csdn.net/sinat_28294665/article/details/122774553?spm=1001.2014.3001.5502)
300 | - [Linux服务器开发,网络io与select,poll,epoll](https://blog.csdn.net/sinat_28294665/article/details/122809071?spm=1001.2014.3001.5502)
301 | - [Linux服务器开发,协程设计原理与汇编实现](https://blog.csdn.net/sinat_28294665/article/details/122832964?spm=1001.2014.3001.5502)
302 | - [Linux服务器开发,tcp/ip定时器与滑动窗口](https://blog.csdn.net/sinat_28294665/article/details/122907540?spm=1001.2014.3001.5502)
303 | - [Linux服务器开发,手把手设计实现epoll](https://blog.csdn.net/sinat_28294665/article/details/122912547?spm=1001.2014.3001.5502)
304 | - [Linux服务器开发,redis,memcached,nginx网络组件](https://blog.csdn.net/sinat_28294665/article/details/122933360?spm=1001.2014.3001.5502)
305 | - [Linux服务器开发,Posix API与网络协议栈](https://blog.csdn.net/sinat_28294665/article/details/122953047?spm=1001.2014.3001.5501)
306 | - [Linux服务器开发,Skynet设计原理](https://blog.csdn.net/sinat_28294665/article/details/123001139?spm=1001.2014.3001.5502)
307 | - [Linux服务器开发,Redis源码 存储原理与数据模型](https://blog.csdn.net/sinat_28294665/article/details/123014160?spm=1001.2014.3001.5502)
308 | - [Linux服务器开发,Reids源码 主从同步与对象模型](https://blog.csdn.net/sinat_28294665/article/details/123022787?spm=1001.2014.3001.5502)
309 | - [Linux服务器开发,skynet网络层封装以及lua/c接口编程](https://blog.csdn.net/sinat_28294665/article/details/123028816?spm=1001.2014.3001.5502)
310 | - [老王的春天,C++基础语法知识,条件判断循环](https://blog.csdn.net/sinat_28294665/article/details/123039560?spm=1001.2014.3001.5502)
311 | - [老王的春天,C++基础语法知识代码分享,宏Macro](https://blog.csdn.net/sinat_28294665/article/details/123039642?spm=1001.2014.3001.5502)
312 | - [老王的春天,C++基础语法知识代码分享,指针及函数指针](https://blog.csdn.net/sinat_28294665/article/details/123039875?spm=1001.2014.3001.5502)
313 | - [面试考点---海量数据去重、HASH、布隆过滤器介绍](https://blog.csdn.net/hjlogzw/article/details/122889996?spm=1001.2014.3001.5502)
314 | - [传输层协议---TCP的进化之路](https://blog.csdn.net/hjlogzw/article/details/122909223?spm=1001.2014.3001.5502)
315 | - [面试考点---常用排序算法介绍及C++实现](https://blog.csdn.net/hjlogzw/article/details/122909103?spm=1001.2014.3001.5502)
316 | - [面试考点---epoll底层原理深究](https://blog.csdn.net/hjlogzw/article/details/122953715?spm=1001.2014.3001.5502)
317 | - [面试考点---条件变量存在的陷阱、生产者与消费者模型](https://blog.csdn.net/hjlogzw/article/details/122973486?spm=1001.2014.3001.5502)
318 | - [面试考点---线程池作用及C语言实现](https://blog.csdn.net/hjlogzw/article/details/123007970?spm=1001.2014.3001.5502)
319 | - [基于高性能网络I/O框架netmap的用户态协议栈之udp](https://blog.csdn.net/zhoujiajie0521/article/details/122876410?spm=1001.2014.3001.5501)
320 | - [面试问烂的mysql事务隔离级别](https://blog.csdn.net/zhoujiajie0521/article/details/122877540?spm=1001.2014.3001.5501)
321 | - [高性能网络I/O框架NtyTcp的tcp协议处理](https://blog.csdn.net/zhoujiajie0521/article/details/122914242?spm=1001.2014.3001.5501)
322 | - [简单说说协程的原理](https://blog.csdn.net/zhoujiajie0521/article/details/122659657?spm=1001.2014.3001.5501)
323 | - [【高并发】面试官:什么是缓存穿透,击穿,雪崩](https://blog.csdn.net/zhoujiajie0521/article/details/122877897?spm=1001.2014.3001.5501)
324 | - [redis常用命令和原理](https://blog.csdn.net/zhoujiajie0521/article/details/122941291?spm=1001.2014.3001.5501)
325 | - [数据库之mysql索引原理 详解](https://blog.csdn.net/asdaqqwc/article/details/122867604?spm=1001.2014.3001.5502)
326 | - [数据库之mysql事务原理分析与锁机制 详解](https://blog.csdn.net/asdaqqwc/article/details/122900293?spm=1001.2014.3001.5502)
327 | - [数据库之mysql并发读异常与死锁](https://blog.csdn.net/asdaqqwc/article/details/122933011?spm=1001.2014.3001.5502)
328 | - [Redis之基本命令介绍](https://blog.csdn.net/asdaqqwc/article/details/122984109?spm=1001.2014.3001.5502)
329 | - [linux内核源码实战_编译内核并添加打印调试信息](https://blog.csdn.net/tan1666/article/details/122910112?spm=1001.2014.3001.5502)
330 | - [linux内核源码—编程之路](https://blog.csdn.net/tan1666/article/details/122910262?spm=1001.2014.3001.5502)
331 | - [linux内核源码—内核观测](https://blog.csdn.net/tan1666/article/details/122910567?spm=1001.2014.3001.5502)
332 | - [linux内核源码—网络栈源代码](https://blog.csdn.net/tan1666/article/details/123034325?spm=1001.2014.3001.5502)
333 | - [ffmpeg编程入门学习笔记(一) -入门](https://huzb1995.blog.csdn.net/article/details/123022056?spm=1001.2014.3001.5502)
334 | - [SRS学习 - rtc转rtmp流程分析](https://huzb1995.blog.csdn.net/article/details/123038072?spm=1001.2014.3001.5502)
335 | - [pion实现录制WebRTC流](https://huzb1995.blog.csdn.net/article/details/123038270?spm=1001.2014.3001.5502)
336 | - [带你了解TCP(一)](https://blog.csdn.net/qq_41952309/article/details/123033207?spm=1001.2014.3001.5501)
337 | - [网络IO管理-简单一问一答、多线程方式](https://blog.csdn.net/weixin_53492721/article/details/122908906?spm=1001.2014.3001.5502)
338 | - [网络IO管理 - 多路复用IO](https://blog.csdn.net/weixin_53492721/article/details/123020449?spm=1001.2014.3001.5502)
339 | - [即时通讯项目(一)](https://blog.csdn.net/qq_46118239/article/details/123012774?spm=1001.2014.3001.5501)
340 | - [IM即时通讯项目框架分析](https://blog.csdn.net/qq_46118239/article/details/123013050?spm=1001.2014.3001.5501)
341 | - [IM登录服务器和消息服务器设计](https://blog.csdn.net/qq_46118239/article/details/123013489?spm=1001.2014.3001.5501)
342 | - [```Redis```基础数据结构--简单动态字符串sds](https://zhuanlan.zhihu.com/p/469926460)
343 | - [Redis链表](https://zhuanlan.zhihu.com/p/469934624)
344 | - [编译webrtc android源码](https://zhuanlan.zhihu.com/p/469961613)
345 |
346 | ## 关于写作计划
347 |
348 | 
349 |
350 |
351 | ## 联系专栏
352 |
353 | #### 零声教育,专注于c/c++Linux后台服务器开发架构技术学习提升。
354 | 每天晚上8点【免费技术直播】:[分享Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习。](https://ke.qq.com/course/417774?flowToken=1037711)
355 |
356 | #### 关注微信公众号【后台服务架构师】——【联系我们】,获取更多学习资料!
357 |
358 |
359 |
360 |
361 |
--------------------------------------------------------------------------------