为什么要学习使用ECS?大部分用途都是工作使用或是为了找工作,那从找工作开始
找一个招聘的网站,搜索“c++软件工程师”职位,找到关联招聘信息
1.应届生职位
待遇为月薪5000-10000,对应届生应该是比较好的,招2人不多,那再看职位描述和岗位职责有什么
关键字有Linux, Oracle, SQL Server SQL, 软件工程师
那ECS怎么关联关键字?ECS可以用Linux吗?当然可以,选购ECS时可以选择操作系统镜像,可选的镜像大部分都是Linux系统
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.接下来看中高级职位
待遇为2.5万-5万,招4人,那就是用每月最低2.5*4=10万去找C++软件工程师
关键字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,开发过程优化,查找或开发开发工具,在系统中使用
任职要求1 如果学开发三年时间,也做过一些测试项目,那三年经验就没问题
任职要求2,3 看文档书籍
任职要求4 OpenGLES适合用Ubuntu系统,可以切换ECS服务器操作系统为Ubuntu,停止ECS后更换操作系统
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++开发工程师