未来10年,C++5个非常有前景的就业方向

news2025/1/16 11:17:09

一、后台服务器开发

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

如果要从事C++后台服务器开发,那么先要了解C++后台服务器需要具备的技能。 所需技能可以参考如下:

  • 软件基础(数据结构与算法,设计模式,C++新特性,Linux工程管理)

  • 高性能网络(网络编程,网络原理,协程,用户态协议栈)

  • 基础组件(池式组件,高性能组件,开源组件)

  • 中间件(MySQL,Redis,Nginx,MongoDB, Elasticsearch)

  • 开源框架(Skynet, DPDK, TARS)

  • Rust(Rust特性, 网卡速度监控, OAuth2第三方登陆, tokio, Warp, hyper)

  • 性能分析(测试框架gtest以及内存泄漏检测, 火焰图的生成原理与构建方式)

  • 分布式架构(分布式消息, 分布式服务, 分布式API网关, 分布式存储)

  • 微服务( IM消息服务器/文件传输服务器, 消息服务器/路由服务器, 数据库代理服务器设计, 文件服务器和docker部署)

1.2 C++后台薪资情况

薪资想必是很多人关心的,只要大家把C++后台的技术学到家,薪资收入非常可观,当然有个好学校会更好。下面列列举了C++后台服务器的薪资。

1.3 应用场景

很多没有做过C++后台的朋友,对于C++后台能做什么,主要用在哪些场景往往模糊不清楚。下面介绍C++后台使用场景。

  • 1.2.1 处理大规模用户

  • 1.2.2 分布式计算

  • 1.2.3 处理大容量搜索 大规模响应

1.4 企业

当然,我们也关心,正在使用C++在哪些地方有使用,国内的大企业都有C++后台开发,因为他们需要处理大规模用户,分布式计算,大规模响应等。

1.5 相关配套视频

c/c++程序员进个大厂很难吗?来看看这套腾讯T9认证的C++后端开发技术(数据结构、网络编程、网络原理、中间件、开源框架、云原生、分布式)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1cP4y1k7xt/二、云原生

云原生其实是一套指导进行软件架构设计的思想。

云原生的最大价值和愿景,就是认为未来的软件,会从诞生起就生长在云上,并且遵循一种新的软件开发、发布和运维模式,从而使得软件能够最大化地发挥云的能力。

2.1 云原生的四要素

微服务:几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用,微服务有理论基础,那就是康威定律,指导服务怎么切分,很玄乎,凡是能称为理论定律的都简单明白不了,不然就忒没b格,大概意思是组织架构决定产品形态,不知道跟马克思的生产关系影响生产力有无关系。

微服务架构的好处就是按function切了之后,服务解耦,内聚更强,变更更易;另一个划分服务的技巧据说是依据DDD来搞。

容器化:Docker是应用最为广泛的容器引擎,在思科谷歌等公司的基础设施中大量使用,是基于LXC技术搞的,容器化为微服务提供实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,谷歌搞的,Docker和K8S都采用Go编写,都是好东西。

DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上DevOps应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。 持续交付:持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。

2.2 云原生薪资情况

2.3 云原生关键技术点

  • 如何构建自包含、可定制的应用镜像;

  • 能不能实现应用快速部署与隔离能力;

  • 应用基础设施创建和销毁的自动化管理;

  • 可复制的管控系统和支撑组件。

2.4 云原生关键技术点

2.4.1 深度学习应用场景

  • 云原生深度学习方案的基础架构模型

  • 容器化封装深度学习框架

  • 服务目录的形式提供多种板卡驱动

  • GPU 多机多卡的高效调度

2.4.2 区块链应用场景

区块链场景下的云原生架构图

2.4.3 边缘计算场景

边缘计算按功能角色主要分为三个部分:

  • 云–传统云计算的中心节点

  • 边–又称基础设施边缘(Infrastructure Edge)

  • 端–又称设备边缘(Device Edge)

2.4.4 传统业互联化应用场景

  1. 项目周期短,需求快速变化。

  2. 互联网高并发,不可预测的承载需求。

  3. 兼顾数据安全和用户体验。

三、音视频流媒体

3.1 音视频流媒体所需要具备的技能

  • 音视频基础(FFMPEG环境搭建,音视频基础)

  • FFMPEG编程(FFMPEG命令,音视频渲染,FFmpeg API,音视频编码,音视频封装格式,音视频过滤器,播放器开发,ffplay播放器,ffmpeg录制转码)

  • 流媒体(rtmp流媒体,hls流媒体,http-flv流媒体,RTMP/HLS/HTTP-FLV流媒体服务器,RTSP流媒体)

  • WEBRTC(WebRTC中级开发,WebRTC高级开发,Janus服务器源码)

3.2 音视频流媒体薪资情况

3.3 音视频流媒体应用场景

  • 视频点播

  • 视频会议

  • 远程教育

  • 远程医疗

  • 短视频

  • 在线直播系统

3.4 主流的流媒体协议

主流的流媒体协议主要有: RTMP, HLS, RTSP等。

3.5 音视频流媒体学习资料

音视频开发-c/c++程序员的黄金方向(ffmpeg、webrtc、rtmp、rtsp、srs流媒体服务器...)icon-default.png?t=N7T8https://www.bilibili.com/video/BV12h41157hE/

四、虚拟化

4.1 虚拟化所需要具备的技能

4.1.1 两种架构、三个知识点

两种架构

  • 共享存储的传统架构

  • SAN的"超融合"架构

三个知识点

在这两种架构中,主要用到三个设备:服务器、存储、网络交换机与光纤存储交换机,这对应计算、存储、网络三方面的知识。

  • 计算,是指服务器,要了解常用服务器的基础配置、最高配置(CPU、内存、硬盘接口与数量、单个硬盘支持的最大容量、网卡接口、速度,底层管理等),对项目中所需要用的服务器进行选择。

  • 存储,要了解常用存储的接口(iSCSI、SAS或FC)、配置(硬盘类型、数量)、支持的RAID、可扩充性、报价。

  • 网络,要了解常用网络交换机、光纤存储交换机的品牌、型号,了解网络交换机的速度、接口数量、可扩充性等。

4.1.2 虚拟化系统集成

  • (1)去企业机房,看总体,有多少机柜,每个机柜中有那些设备。机柜中是否有足够的空闲机位、网络剩余接头。

  • (2)企业现有服务器与存储数量、配置,接口等。

  • (3)网络拓扑,出口带宽,网络防火墙、路由器、交换机等。

4.1.3 硬件知识

交换机、存储、服务器

4.1.4 网络与软件知识

  • 了解TCP/IP协议、了解IP地址的分类、子网划分等内容。要了解华为交换机的基本配置(划分VLAN、配置LACP等)。

  • 掌握Windows的Active Directory的知识,掌握Windows Server中DHCP、DNS、Active Directory、证书、KMS的知识。

4.1.5 熟悉vSphere产品安装、配置、故障排除

  • vSphere 5.5系列:vCenter Server安装、ESXi安装、配置,创建虚拟机等。虚拟机备份、恢复。

  • vSphere 6.0系列:vCenter Server安装、ESXi安装、VSAN、配置等。

  • vSphere 6.5系列:vCenter Server、ESXi、vCenter HA、VSAN。

  • Horizon View 桌面系列:Horizon View 7.0、6.0。

  • VMware P2V工具、VMware VDP、vCops等。

4.1.6 熟悉或精通VMware Workstation

4.2 虚拟化薪资情况

4.3 虚拟化方案应用场景及优劣

4.3.1 Xen

  • 应用场景:x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM以及x86/64 CPU商家和Intel嵌入式的支持的全虚拟化和半虚拟化解决方案。

  • 优势:Xen支持准虚拟化,需要修改客户机操作系统,而修改过的客户机操作系统能有更好的性能;此外Xen也支持全虚拟化,未经修改的操作系统也可以直接在Xen上运行(如Windows),能让虚拟机有效运行而不需要仿真,因此虚拟机能感知到hypervisor,而不需要模拟虚拟硬件,从而能实现高性能。

  • 劣势:如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。

4.3.2 KVM

  • 应用场景:X86架构且硬件支持虚拟化技术(Intel V或AMD-V)的Linux的全虚拟化解决方案。

  • 优势:不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块,结构更加精简、代码量更小。所以,出错的可能性更小,并且在某些方面,性能比Xen更胜一筹。

  • 劣势:KVM可以运行在不支持虚拟化的CPU硬件上,但是在这样的话,效率会很低;KVM也可能会和虚拟机virtualbox冲突; KVM只是提供命令行接口,用户可以写脚本来管理KVM,并没有一个友好的GUI。

4.3.3 Hyper-v

  • 应用场景:适用于Monolithic Hypervisor 架构服务器虚拟化解决方案。

  • 优势:设备驱动不需要为每个设备都纳入Hypervisor层或者VMM Kernel;由于微软没有提供应用程序编程接口(API)来访问“Hypervisor层”,受到攻击的可能减小,没人可以插入外部代码到“Hypervisor层”;设备驱动不需要Hypervisor的感知,所以这种架构可以使用更多的设备;不需要关闭“Hypervisor层”,包括设备驱动程序。

  • 劣势:在操作“Hypervisor层”之前,需要在“控制层”安装操作系统,这是最大的一个缺点;如果在“控制层”正在运行的操作系统任何原因的崩溃,那么所有的虚拟机也都会崩溃;需要花费更多的经费在“控制层”的操作系统与“Hypervisor层”的虚拟机上。

4.4 VMware vSphere

  • 应用场景:适用于Microkernelized Hypervisor架构服务器虚拟化解决方案。

  • 优势:没有操作系统的要求,来控制所有的组件,这是它最大的优势超过微软的Hyper-V Microkernelized Hypervisor的架构;在“控制层”运行的组件没有安全补丁。

  • 劣势:Vmware的vSphere硬件支持不好;VMware vSphere不安全,因为VMware在“Hypervisor层”提供API的入口,恶意的代码有可能会进入到这层,甚至黑客可以控制“Hypervisor层”之后就可以控制运行在vSphere服务器上所有的虚拟机。

五、网络安全

5.1 网络安全所需要具备的技能

  • 如果想做逆向,那么要掌握汇编

  • 如果想做数据库注入,那么要学SQL

  • 如果想做XSS,那么要学JavaScript

  • 如果想找驱动和内核的漏洞,那么要熟悉内核

5.2 网络安全薪资情况

5.3 网络安全应用场景

  • 园区门禁(网络隔离):工业防火墙、工业网闸

  • 楼宇门禁(区域隔离):工业防火墙

  • 办公室门禁(具体职能单元/主机安全):工业主机安全卫士

  • 摄像头安防系统(网络监测与告警):工业安全审计监测、网络入侵检测

  • 中控室控制大厅(安全管理、安全运维、安全审计):安管平台、日志审计、堡垒机

  • 车联网安全

  • 城市安全

  • 社区安全

  • 家庭安全

  • 移动应用安全

5.4 网络安全前景价值

网络安全为数字未来创造的价值。

智能制造时代,工业大数据作为制造企业的核心资产之一,其重要性不言而喻。“工业4.0”浪潮下,制造企业加快了迈向“数字化”和“智能化”的步伐,以云计算、大数据、5G、人工智能为代表的新兴技术正在深度渗透至工业生产领域,在推动工业生产体系与运营模式升级的同时,也带来了新的网络安全挑战。网络安全公司最新发布的报告称,制造业企业已成为网络犯罪分子、勒索软件和国家黑客的首要目标。其中,61%的企业工厂发生过网络安全事件,其中3/4的网络攻击导致线下生产停摆。

随着工业信息安全事件频发和政策标准的落地,单纯的工业信息安全防护产品已无法满足工业企业用户需求。同时,由于工业企业普遍缺乏对工业信息安全防护策略的落地能力,安全体系设计和规划服务需求应运而生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1340646.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle统计信息的魔力

文章目录 一、Oracle统计信息的概述二、统计信息主要包括以下内容三、收集统计信息的方法使用dbms_stats 程序包手动收集收集的是系统统计信息 四、 案例 一、Oracle统计信息的概述 Oracle统计信息是数据库性能调优的关键组成部分,它为数据库优化器提供了关于表、索…

图像ISP处理——自动对焦AF算法

自动对焦算法是在数码相机、摄像机和其他图像采集设备中常见的技术之一,它通过调整镜头位置或其他光学参数来确保拍摄的图像在焦点上清晰。 以下是一些常见的自动对焦算法: 对比度检测对焦(Contrast Detection Autofocus,CDAF&am…

掌握激活函数(一):深度学习的成功之源

文章目录 引言基本概念常用激活函数举例Sigmoid激活函数公式Sigmoid函数的数学特性示例基于NumPy和PyTorch实现Sigmoid函数将Sigmoid函数应用于二分类任务 Sigmoid激活函数的局限性举例 ReLU激活函数公式ReLU函数的数学特性ReLU函数的特点示例基于NumPy和PyTorch实现ReLU函数搭…

Python+OpenGL绘制3D模型(四)绘制线段

系列文章 一、逆向工程 Sketchup 逆向工程(一)破解.skp文件数据结构 Sketchup 逆向工程(二)分析三维模型数据结构 Sketchup 逆向工程(三)软件逆向工程从何处入手 Sketchup 逆向工程(四&#xf…

[RoarCTF2019] TankGame

不多说,用dnspy反编译data文件夹中的Assembly-CSharp文件 使用分析器分析一下可疑的FlagText 发现其在WinGame中被调用,跟进WinGame函数 public static void WinGame(){if (!MapManager.winGame && (MapManager.nDestroyNum 4 || MapManager.n…

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤,持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成,使⽤的开源⼯具是Jenkins,CD指的是持续交付和持续部署,⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…

JS 嵌套循环之退出顶层循环

我们常常写循环的时候&#xff0c;可能会遇到嵌套循环&#xff0c;如果出现退出循环&#xff0c;一层还好&#xff0c;多层循环就费劲了&#xff0c;传统做法是加 flag&#xff0c;如下&#xff1a; for (let i 0; i < 10; i) {let flag falsefor (let j 0; j < 5; j…

C++ BuilderXE10 关于Intraweb关于IWTemplateProcessorHTML1操作

1、端口设置,port参数修改端口号。 2、初始化设置成ciMultiThreaded。这样可以避免ADO组件的加载错误。 3、IWTemplateProcessorHTML1设置&#xff0c; IWForm1->LayoutMgr IWTemplateProcessorHTML1;//关联模板(IWForm1. html) IWTemplateProcessorHTML1->RenderStyles…

【Recruitment Mercedes Benz】

Network I) JDII) IPv4与IPv6之间的区别是什么III) was advices3.1&#xff09; 防火墙&#xff0c;配置&#xff0c;数据的in/out (data flow in or flow out)3.2&#xff09; 域名&#xff0c;网址&#xff0c;端口3.3) 三次握手&#xff0c;四次挥手3.4) TCP/IP, 几层协议&a…

原生微信小程序如何动态配置主题颜色及如何调用子组件的方法

一、最终效果 二、步骤 1、在初始化进入项目时&#xff0c;获取当前主题色 2、把主题色定义成全局变量&#xff08;即在app.js中设置&#xff09; 3、tabBar也需要定义全局变量&#xff0c;在首页时需要重新赋值 三、具体实现 1、app.js onLaunch () {//获取主题数据this.set…

Go 泛型之明确使用时机与泛型实现原理

Go 泛型之明确使用时机与泛型实现原理 文章目录 Go 泛型之明确使用时机与泛型实现原理一、引入二、何时适合使用泛型&#xff1f;场景一&#xff1a;编写通用数据结构时场景二&#xff1a;函数操作的是 Go 原生的容器类型时场景三&#xff1a;不同类型实现一些方法的逻辑相同时…

Xshell 从github克隆项目:使用ssh方式。

接上文&#xff1a; https://blog.csdn.net/liu834189447/article/details/135247868 是能克隆项目了&#xff0c;但是速度太磕碜了&#xff0c;磕碜到难以直视。 找到另外一种办法&#xff0c;使用SSH克隆项目 速度嘎嘎猛。 首先得能进得去github网站&#xff0c;不能点上边…

电缆故障测试仪的其他用途是什么?

电缆故障测试仪是电力行业非常重要的设备。它可以帮助电缆维护人员快速准确地判断电缆故障点和类型&#xff0c;帮助电缆维护人员快速维护和维护电缆&#xff0c;从而减少电缆故障引起的安全事故。此外&#xff0c;电缆故障测试仪的其他用途是什么&#xff1f;现在让我们一起分…

Download Monitor Email Lock下载监控器邮件锁插件

打开Download Monitor Email Lock下载监控器邮件锁插件 Download Monitor Email Lock下载监控器邮件锁插件下载监视器的电子邮件锁定扩展允许您要求用户在获得下载访问权限之前填写他们的电子邮件地址。 Download Monitor Email Lock下载监控器邮件锁插件用法 安装扩展程序后…

德鲁伊(Druid)链接PGsql前端请求或者后端自动任务频繁出现IOException

尝试在druid配置文件中增加&#xff1a; socket-timeout: 60000 druid一些版本默认会给链接数据库socket默认10s&#xff0c;超出10s之后socket断开&#xff0c;对于GP数据库报的个IO异常。 &#xff08;对于同样的场景mysql超出10s后提示的是socketTimeOut&#xff0c;所以相…

Buck电源设计常见的一些问题(五)MOS管振荡抑制方法(三)

MOS管振荡抑制方法(三)Rboot的选取 1.Rboot的选取2.总结1.Rboot的选取 同步 Buck 变换器一般采用自举电路供电,如图所示。开关节点上升沿的振荡与上管开通关系密切,上管开通时的驱动电流路径如图所示。因此,可以通过增大 Rboot来减缓上管开通的速度,从而抑制开关节点的振…

洛谷:线性表

今天开始刷洛谷&#xff0c;之前刷leetcode都是核心代码模式&#xff0c;现在突然让我用ACM模式&#xff0c;刚开始还是很不习惯的&#xff0c;但做了几道题好点了&#xff0c;只能说洛谷题的难度是比leetcode大的。 还有就是&#xff0c;STL牛逼&#xff01; 1.询问学号(vect…

C语言—每日选择题—Day64

前言 两天没更新了&#xff0c;作者在复习期末考试&#xff0c;更新一波&#xff0c;祝大家都能顺利通过期末考试&#xff01;&#xff01;&#xff01; 指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博…

Python可视化之Matplotlib

文章目录 Matplotlib与可视化分析简单图形的绘制pylot的高级功能添加图例与注释 Matplotlib与可视化分析 我们之前对数据的处理与分析&#xff0c;其实最终还是要利用可视化工具进行更加直观的输出 我们开业通过 pip install matplotlib命令来安装对应的模块 简单图形的绘制…

《深入理解JAVA虚拟机笔记》Java 运行时内存区域

程序计数器&#xff08;线程私有&#xff09; 程序计数器&#xff08;Program Counter Register&#xff09;是一块较小的内存空间&#xff0c;它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里&#xff0c; 字节码解释器工作时就是通过改变这个计…