从ECS到C++软件工程师

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 从ECS到C++软件工程师

为什么要学习使用ECS?大部分用途都是工作使用或是为了找工作,那从找工作开始

找一个招聘的网站,搜索“c++软件工程师”职位,找到关联招聘信息
1.应届生职位
image.png
待遇为月薪5000-10000,对应届生应该是比较好的,招2人不多,那再看职位描述和岗位职责有什么
image.png
关键字有Linux, Oracle, SQL Server SQL, 软件工程师
那ECS怎么关联关键字?ECS可以用Linux吗?当然可以,选购ECS时可以选择操作系统镜像,可选的镜像大部分都是Linux系统
image.png
image.png
Alibaba Cloud Linux是基于龙蜥社区(OpenAnolis) 龙蜥操作系统(Anolis OS)的阿里云发行版
Anolis OS 是 CentOS 8 100% 兼容替代版本,由龙蜥(OpenAnolis)社区推出
CentOS是大多数Linux服务器使用的系统
Windows Server是Windows的服务器系统,Windows的系统列表只有这一项
Red Hat是Linux商业化系统
SUSE Linux也是Linux商业化系统
Ubuntu是基于Debian的Linux系统,社区活跃
Debian是多年历史的Linux系统
Fedora是Red Hat系统社区版本,版本更新快
Fedora CoreOS是以容器为中心的系统
除FreeBSD 是UNIX系列操作系统,其他OpenSUSE, Rocky Linux,CentOS Stream, AlmaLinux这些都是Linux操作系统,由不同社区维护

一般创建ECS时选择的Linux操作系统是CentOS或Alibaba Cloud Linux

然后是关键字Oracle和SQL Server,这是主流两大数据库,与mysql比较,大的区别是mysql是开源,可以自己使用源代码修改,不过mysql已被Oracle收购,社区创建的开源版本为mariadb
ECS可以使用Oracle, SQL Server,但是对服务器配置要求可能要高一些,如果是个人测试,用mariadb也可以。数据库主要操作是用sql语句对数据的增删改查。

关键字SQL,使用关系型数据库操作的都是SQL语句
关键字软件工程师,用编程语言开发,修改软件,就是这样的职位

岗位职责1,2,3对应的要求是设计图,文档,按规范书写代码,然后是其他日常比如考勤,日报,周报,汇报等工作。文档编写用office系列软件写word,或者样式更好一些的ppt。
写代码这部分就可以在ECS上编写,常用的编辑软件有vim,vscode,vim是文本界面,vscode在本地电脑安装,用ssh扩展登录ECS服务器,然后可以编辑服务器上的代码文件。

任职条件1专业要求,大部分公司也主要是看能力,学历只是一个介绍
任职条件2开发语言要求,c/c++,那就是在ECS服务器上安装c/c++的开发环境,CentOS系统下用“yum groupinstall "Development Tools" -y”命令可以安装开发环境,包括gcc, g++编译器,gdb调试器等。还有make,cmake可以自动维护编译。开发环境安装后,就可以用vscode编写代码,上传服务器编译执行测试。用man命令还可以查看c库函数的说明,比如man strlen可以查看strlen的用法。
任职条件3数据库要求,yum install mariadb-server或yum install mysql-server可以在ECS上安装数据库服务器,然后用mysql命令终端连接服务器执行sql语句,可以执行sql语句,create database建数据库,create table建表,insert into插入数据,update 更新数据等。
任职条件4 代数,几何,平时学的过程中都用到,或者找几本纸质书或电子书都可以查找
任职条件5 其他方面一些要求

可以看到,职位要求中的开发部分ECS都可以用到

2.接下来看中高级职位
image.png
待遇为2.5万-5万,招4人,那就是用每月最低2.5*4=10万去找C++软件工程师
image.png
关键字C++,这是开发语言
OpenGL,开发式图形库,提供几十个的函数,然后按函数传递的参数调用,获取返回值处理。ECS上用yum install mesa,yum install freeglut安装关联的库
Kafka,吞吐量大的消息队列,主要生产消费模型,生产者创建消息写入kafka,消费者从kafka读取消息消费。从kafka官网下载Linux环境的安装包,在ECS上按官网的安装步骤安装。
补丁,软件修改有很多都是增加软件补丁
JavaScript,网页开发语言,用来对网页元素操作,接收用户操作,产生事件,触发不同处理,展现效果。ECS上可以下载nodejs软件包安装,然后用node命令执行javascript编写的js文件,也可以用node运行服务器,用户用浏览器访问,浏览器解析处理node服务器返回的javascript代码
OpenCV,计算机视觉库,主要是图像处理,计算机视觉的函数方法,ECS上使用yum search opencv命令搜索关联库
服务器开发,ECS上开发就是服务器开发
WebSocket++,是一个实现WebSocket功能的c++库,官网介绍在github上有源代码,在ECS服务器上用git从github上clone后,然后编译安装库文件使用,在开发的程序中引入头文件,按文档说明调用接口。

岗位职责1,2,主要是理解需求,编写为文档
岗位职责3,团队会议讨论
岗位职责4,编写代码,在ECS服务器上用编辑器编写代码测试
岗位职责5,6,主要是沟通介绍需求,整理开发进度,市场分析,然后编写文档
岗位职责7,开发过程优化,查找或开发开发工具,在系统中使用
image.png
任职要求1 如果学开发三年时间,也做过一些测试项目,那三年经验就没问题
任职要求2,3 看文档书籍
任职要求4 OpenGLES适合用Ubuntu系统,可以切换ECS服务器操作系统为Ubuntu,停止ECS后更换操作系统
image.png
OpenGLES使用命令安装,安装后程序中引用
sudo apt-get install libgles2-mesa
sudo apt-get install libgles2-mesa-dev
ZeroMQ主要功能是消息中间件,官网上下载,在ECS上编译安装
WebSocket常用网页浏览器通信,javascript开发中使用
NodeJS nodejs官网上下载Linux安装包,安装后使用node命令
WASM c++项目转wasm后可以网页运行,使用转换工具转换
Zookeeper 配置中心服务器,如kafka的配置存放在zookeeper中,现在新版kafka自带zookeeper
Kafka 消息中间件
MongoDB 文档数据库,可以动态增加文档字段,官网上增加deb仓库后命令安装
sudo apt-get install -y mongodb-org
任职要求5,6
Emscripten 编译c++代码为wasm,ECS上安装emcc等命令工具
VUE 前端开发框架,ECS上安装nodejs后可使用
TypeScript 前端开发语言, Javascript扩展,语法比较严格,ECS上安装nodejs后可使用
JavaScript 网页开发语言,动态处理网页展示,用户操作事件,ECS上安装nodejs后可使用
Golang 后端网页服务端开发语言,官网下载安装包,ECS上解压,配置go命令路径可使用
PHP 后端网页服务端开发语言,ECS上安装remi仓库,然后可从仓库安装php命令和关联扩展
Java 后端网页服务端开发语言,ECS上安装openjdk软件包,常用版本有1.8和11等版本,安装后配置JAVA_HOME环境变量
Dart 跨平台APP开发语言,可以同一套代码android, ios多端上使用,本地安装Flutter开发包,包含Dart开发包

在这个职位上,使用ECS可以完成开发部分较多内容,成为中高级C++开发工程师

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
存储 安全 Ubuntu
群控软件代理,群控服务器配置要求
群控软件代理,群控服务器配置要求
118 8
|
5月前
|
存储 缓存 数据库
C/C++工程师面试题(数据库篇)
C/C++工程师面试题(数据库篇)
107 9
|
5月前
|
存储 算法 C++
C/C++工程师面试题(STL篇)
C/C++工程师面试题(STL篇)
116 6
|
5月前
|
编译器 C语言 C++
C语言,C++编程软件比较(推荐的编程软件)
C语言,C++编程软件比较(推荐的编程软件)
|
2月前
|
存储 安全 数据可视化
如何规避DDoS攻击带来的风险?服务器DDoS防御软件科普
如何规避DDoS攻击带来的风险?服务器DDoS防御软件科普
84 0
|
5天前
|
存储 安全 数据可视化
提升网络安全防御有效性,服务器DDoS防御软件解读
提升网络安全防御有效性,服务器DDoS防御软件解读
16 1
提升网络安全防御有效性,服务器DDoS防御软件解读
|
11天前
|
Ubuntu TensorFlow 算法框架/工具
NVIDIA Triton系列05-安装服务器软件
本文介绍了NVIDIA Triton推理服务器的安装方法,涵盖源代码编译、可执行文件安装及Docker容器部署三种方式。重点讲解了在NVIDIA Jetson AGX Orin设备上的安装步骤,适合Ubuntu 18及以上系统。通过检查HTTP端口状态确认服务器运行正常,为后续客户端软件安装做准备。
24 0
NVIDIA Triton系列05-安装服务器软件
|
1月前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
64 2
基于bind软件部署DNS服务器
|
12天前
|
存储 Linux 网络安全
让我们来尝试利用第三方软件远程连接服务器
即将进入Linux操作系统第二模块的学习,需先通过MobaXterm配置与虚拟操作系统连接。课程将基于MobaXterm讲解命令及知识。准备阶段包括:安装红帽7系统与MobaXterm远程SSH软件,检查网络连接,并按步骤完成MobaXterm的连接配置。
40 0
|
2月前
|
关系型数据库 MySQL Java
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
这篇文章介绍了在腾讯云服务器上使用Docker安装常见软件的过程,包括安装MySQL、Redis和Tomcat,并提供了解决连接问题的方法。同时,还涉及了服务器中安装JDK 1.8的步骤和如何将项目打包部署到服务器上的指导,包括注意事项和操作提示。
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器