C++后台开发学习路线

article/2025/10/14 18:12:38

1.路线

一. 基础阶段

  1. c/c++编程语言

  2. linux基础

  3. 数据结构与算法

  4. 设计模式

  5. 脚本语言(可选)

二. 入门阶段

  1. linux系统编程

  2. linux网络编程

三. 进阶阶段

  1. 数据库mysql

  2. 分布式缓存redis

  3. 网络库

四. 项目实践阶段

  1. 编写简单FTP服务器

C++入门到精通Linux学习链接:零基础入门 C++Linux

​五. 高级阶段(可选)

  1. nginx

  2. zookeeper

  3. 消息队列

  4. skynet

  5. boost

  6. 负载均衡

  7. 容器

  8. rpc

  9. 微服务

2.C++后台所需要具备的技能

1). 软件基础

  • 1.1 数据结构与算法(磁盘存储链式的 B 树与 B+树, 海最数据去重的 Hash 与 BloomFilter, bitmap)

  • 1.2 设计模式(创建型模式, 结构型模式, 行为型模式)

  • 1.3 C++新特性(stl 容器,智能指针,正则表达式, 新特性的线程, 协程, 原子操作, lamda 表达式)

  • 1.4 Linux 工程管理(Makefile/cmake/configure, 分布式版本控制 git, Linux 系统运行时参数命令)

2). 高性能网络设计专栏

  • 2.1 网络编程(网络 io 与 select,poll。epoll, reactor 的原理与实现, http/https 服务器的实现, websocket 协议与服务器实现)

  • 2.2 网络原理(服务器百万并发实现, redis,memcached,nginx 网络组件, Posix API 与网络协议栈, UDP 的可靠传输协议 QUIC)

  • 2.3 自研框架:协程框架 NtyCo 的实现(协程设计原理与汇编实现, 协程调度器实现与性能测试)

  • 2.4 自研框架:用户态协议栈 NtyTcp 的实现(用户态协议栈设计实现, tcp/ip 定时器与滑动窗口, 手把手设计实现 epoll)

3). 基础组件设计专栏

  • 3.1 池式组件(手写线程池与性能分析, 内存池的实现与场景分析, 异步请求池的实现, mysql 连接池的实现)

  • 3.2 高性能组件(原子操作 CAS 与锁实现, 无锁消息队列实现, 定时器方案红黑树,时间轮,最小堆, 手写死锁检测组件, 手写内存泄漏检测组件, 手把手实现分布式锁)

  • 3.3 开源组件(libevent/libev 框架实战的那些坑, 异步日志方案 1og4cpp, 应用层协议设计 ProtoBuf/Thrift)

4). 中间件开发专栏

  • 4.1 MySQL(SQL 语句,索引,视图,存储过程,触发器, MySQL 索引原理以及 SQL 优化, MySQL 事务原理分析, MySQL 缓存策略)

  • 4.2 TiDB(TiDB 存储引擎的原理, TiDB 集群方案与 Replication 原理)

  • 4.3 Redis(Redis 相关命令详解及其原理, Red is 协议与异步方式, 存储原理与数据模型, 主从同步与对象模型)

  • 4.4 RocksDB(不一样的 kv 存储 RocksDB 的使用场景, RocksDB 的特殊操作)

  • 4.5 Nginx(Nginx 反向代理与系统参数配置 conf 原理, Nginx 过滤器模块实现, Nginx Handler 模块实现)

  • 4.5 MongoDB(接口编程与文档操作, 集群方案与持久化备份)

5). 开源框架专栏

  • 5.1 skynet(Skynet 设计原理, skynet 网络层封装以及 lua/c 接口编程, skynet 重要组件以及手撕游戏项目)

  • 5.2 TARS(TARS RPC 服务模型原理, TARS 公共框架服务与数据库, 数据监控与服务性能压测)

  • 5.3 DPDK(DPDK 环境与 testpmd/l3fwd/skeletion, DPDK 的用户态协议栈, 千万级流量并发的 dns 处理, 高性能数据处理框架 vpp, DPDK 的虚拟交换机框架 0vS)

6). Rust 项目专栏

  • 6.1 Rust 特性精讲(Rust Slice 类型与泛型, Rust 文件操作与错误处理, Rust 并发编程与智能指针)

  • 6.2 组件实现(网卡速度监控, OAuth2 第三方登陆)

  • 6.3 第三方库(Rust 异步框架 tokio, Rust web 框架 Warp, Rust http 库 hyper)

7).性能分析专栏

  • 7.1 测试框架 gtest 以及内存泄漏检测(函数检测以及类测试,test fixture 测试夹具,类型参数化,事件测试,内存泄漏)

  • 7.2 火焰图的生成原理与构建方式(火焰图使用场景与原理,nginx 动态火焰图,MySQL 火焰图,Redis 火焰图)

8). 分布式架构专栏

  • 8.1 分布式消息队列(Kafka 使用场景与设计原理, Kafka 存储机制)

  • 8.2 分布式服务(远程调用 brpc, 注册服务中心 Etcd)

  • 8.3 分布式 API 网关(Kong 动态负载均衡与服务发现, Kong 实时监控与 REST API)

  • 8.4 分布式存储与容器(内核级支持的分布式存储 Ceph, 服务容器化 Docker)

9). 上线项目实战

  • 9.1 图床共享云存储(fastdfs 架构分析和配置, fastdfs 存储原理,分布式 fastdfs 存储集群部署, 高负载 nginx/fastcgi, 文件传输和接口设计, 产品上云公网发布/测试用例)

  • 9.2 微服务即时通讯(IM 即时通讯项目框架分析和部署, IM 消息服务器/文件传输服务器, 消息服务器/路由服务器, 数据库代理服务器设计, 文件服务器和 docker 部署, 产品上云公网发布/公网测试上线)

10).清晰版学习路线导图点击 学习导图 获取

C++后台开发学习地址:C/C++Linux服务器开发高级架构师/Linux后台架构师-学习视频

编辑切换为居中

添加图片注释,不超过 140 字(可选)


http://chatgpt.dhexx.cn/article/MGuxb2i2.shtml

相关文章

后台开发技术(1)--概述

说到后台开发,首选就有一个问题:什么是后台开发。就我理解,就是做服务器端开发。在服务器端运行着不同功能的服务,有直接与客户端连接的,有实现某一特定业务的比如用户注册登录,有数据存储的如基于mysql,memcached,redis等做的存储系统,除此之外还有一些满足运维监控系统…

腾讯T9职级后台开发要具备哪些专业的能力及知识点?

前言 首先说明这里的后台开发指的就是Linux上的C 编程。因为很多人对后台开发有误解,通常人们说前端后台,后台就马上联想到web后台, java、php和各种web框架横飞的既视感。 web后台属于后台,但后台却不只有web后台。两者是包含关系。 从网络协议的角度分析, web后台聚焦的是HT…

带你了解网络的魅力——tcping和ping区别

一、指代不同 1、ping:是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。通过ICMP协议发送报文到对方主机上任意一个60000以上的端口,然后获取对方主机的回复 2、tcping:是一种面向连百接…

ping TCP端口的实用小工具tcping

ping 大家都很熟悉的ping 命令,属于网络层的ICMP协议,只能检查 IP 的连通性或网络连接速度, 无法检测IP的端口状态。 telnet telnet命令,属于应用层的协议,用于远程登录,也可用于检测IP的端口状态。但是…

tcping检测端口

1.下载 tcping.exe - ping over a tcp connection (elifulkerson.com) 2.放置路径 C:\Windows\System32 3.使用 -4,优先使用IPv4 -6,优先使用IPv6 -h,使用http模式 -t,让命令持续运行,直到使用ctrl c指令退出 -n 数…

使用TCPing或PSPing工具检测TCP延迟

测试网络的延迟可以使用ping,mtr,tracert等命令,但是测试TCP端口的访问延迟无法使用以上软件完成,此时可以使用TCPPing或者PSPing来测试TCP端口的延迟情况。 TCPPing 到网上搜索tcping,下载该工具后。放到C:\Wi…

(迁移)windows cmd的tcping和telnet命令

使用“tcping”命令提示不是内部或外部命令该怎么办? 我们在使用香港服务器或者香港vps的过程中,当我们遇到远程连接不上或者是相应业务无法打开时,最基本的操作就是联系服务器商处理,但其实当我们遇到这些时都是可以自己先简单排查下的。最…

用Ping、Tcping测试网络的连通性

1、概述 通常情况下,测试一个地址能不能访问,通常使用Ping来判断,如果测试端口的连通性,可以使用Tcping来判断。 2、使用 a.用ping命令查看地址能否访问,若可以访问,如下图: b.用tcping命令查…

windows如何确认服务器上程序端口是否正常(ping、tcping)

方式1:ping命令 ping命令说明 ping命令是个使用频率极高的网络诊断工具,在Windows、Unix和Linux系统下均适用。它是TCP/IP协议的一部分,用于确定本地主机是否能与另一台主机交换数据报。根据返回的信息,我们可以推断TCP/IP参数设…

cmd tcping IP 端口

下载tcping文件,将文件放到 C:\Windows\System32 目录下面 官网 http://www.elifulkerson.com/projects/tcping.php下载tcping.exe,文件不足300KB。 运行命令tcping,如果出现帮助文档说明运行正常。 cmd窗口运行tcping ip port 例如&#…

python tcping(ping命令)

python tcping(ping命令) 使用tcping库中的ping方法使用如下: from tcping import Ping ping Ping(www.baidu.com, 80, 200) # 地址、端口、超时时间 ping.ping(3) # ping命令执行次数 ret ping.result.table # 以表格形式展现(ping.r…

tcping常用方法

tcping常用方法 ping原理简介tcping原理简介安装tcping for Windows基本使用默认tcping端口为80tcping指定端口 Centos7安装hping3Centos7安装tcping for Linux常用参数默认tcping是80端口tcping指定端口示例 mac安装tcping ping原理简介 ping原理简介和常用方法 https://blog…

Tcping工具使用介绍

Tcping工具使用介绍 摘要:工作中我们经常会用Ping命令去测试网络连通性,但如果源地址配置了禁ping策略,该如何确定网络是否畅通呢,当然有经验的老鸟也可以用系统自带的telnet进行测试,这就看个人习惯了。 ping命令基…

windows命令之tcping安装和使用

一、tcping简介 tcping是一个控制台应用程序,其操作与“ping”类似,但它通过tcp端口工作。tcping命令基于tcp协议监控,可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从容硬线连接到分…

Windows ping TCP端口工具之tcping

ping这个小工具大家都非常熟悉,但是他不能ping端口,当我们需要知道目的地址的某端口是否开放时,这时需要用到这个tcping小工具了,Windows没有自带这个小工具,需要自己下载下来,放到指定目录里面。 下载地址…

猿创征文|【实用工具tcping】ping tcping的区别,使用命令,超全超详细使用手册(建议收藏)

目录 ping简介使用 tcping简介下载使用 总结 ping 简介 ping (Packet Internet Groper)是一种英特网包探索器,用于测试网络连接量的程序 。Ping是工作在TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送I…

tcping 用法

目录 一、概述二、软件安装三、使用二、参考资料 一、概述 ping程序发送icmp包,用于检测网络连通性,如果主机禁ping,就没办法判断连通性了。 tcping程序基于tcp协议,查看网络延迟及开放的端口信息。 二、软件安装 1、下载tcping…

tcping下载安装步骤,如何ping端口,tcping详解

一 下载 tcping64是64位操作系统的 tcping是32位操作系统的(也可以在64位操纵系统中安装使用) 64位下载地https://download.elifulkerson.com/files/tcping/0.39/x64/ 32位下载地https://download.elifulkerson.com/files/tcping/0.39/ 将exe放到C:…

tcping实用小工具

Tcping----实用小工具tcping命令详解 一、tcping介绍 tcping:tcping命令基于tcp协议监控,可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从容硬线连接到分组交换或电路交换网络的各种通信系统之…

Tcping命令详解

Tcping----实用小工具tcping命令详解 一、目录: 1、tcping介绍 2、tcping与ping的区别 3.下载与安装 4、tcping命令详解 二、tcping介绍 tcping:tcping命令基于tcp协议监控,可以从较低级别的协议获得简单的,可能不可靠的数…