Linux教程

c/c++linux服务器开发技术

本文主要是介绍c/c++linux服务器开发技术,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一   开发技能(硬技能)     学得深不深取决于基础

1.  语言--->   

(对象生命周期,垃圾回收,标准库的使用,错误与异常处理,日志分析,断点调试,对面向对象的理解.设计模式.GDB的使用,高内聚低耦合)

2.  数据结构与算法----> 

链表、队列、栈    -----   二叉树、红黑树、B树、B+树、dijkstra算法、最小生成树、广度优先、深度优先、递归、二分查找、11种排序(希尔、归并、快排、堆排序) -----

贪心算法、动态规划、跳表、散列表、hash、bitmap、布隆过滤器。

3.  数据库----> 持久化mysql------缓存redis

mysql安装与配置、sql语句建表-建库-索引-存储过程、存储引擎原理-myisam--innodb、事务隔离、连接池的原理-做法-管理、异步数据库请求、sql注入、webshell攻击、数据库集群的做法--分库分表--读写分离

redis编译安装--配置、redis命令使用、redis连接池、异步redis、redis集群(缓存雪崩,缓存击穿)、redis数据备份

4.  网络原理 ---->

ping , telent , ifconfig

网络体系模型

tcp原理 --三次握手、四次挥手、滑动窗口、慢启动、11个状态迁移

udp原理-- 实时性--不带流量控制

http、https、http2.0/http3.0

Session Cookie application

网络安全、加密、数字签名

wireshark(windows),tcpdump(linux)

iperf

5.  操作系统---->进程、线程、内存、cpu、进程管理、进程间通信、内存管理、内存泄漏主要方法

Linux使用、文件操作、系统操作、程序编译-运行、shell/vi的使用、linux系统性能监控参数 ps/netstat/df 、 进程管理、用户态/内核态、内存管理、内存池、内存泄漏、磁盘文件系统、虚拟文件系统、磁盘IO、

6.  网络编程--->socket  reactor livevent    (实战)

socket编程、TCP/UDP、网络IO模型、阻塞非阻塞、同步异步、IO多路复用 select/poll/epoll 

epoll reactor , proactor  ----- 

time_wait/close_wait大量 C10K/C1000K/C10M  、 网络框架   libevent/libev、协程ntyco,libco

7.  分布式---> rpc

rpc , grpc , tars , brpc , srpc 、 简单rpc协议设计/框架搭建 、 协议传输的时候--序列化反序列化、

服务注册、服务发现、容灾、降机熔断、流量控制、高并发、高可用、分布式锁(多台机器公用一把锁)

8. 云原生 --->  直接在阿里云买一台机

腾讯云、阿里云、docker的使用 、docker的编排、docker的网络、k8s管理 、

9. 软技能    (决定了走的宽度和高度)

沟通能力、组织能力、协调能力、需求分析

这篇关于c/c++linux服务器开发技术的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!