首页 > 其他分享 >【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率

时间:2023-09-07 11:06:35浏览次数:40  
标签:代码 开发 Studio Cloud 使用 工程化 模板

一、前言:

从学校毕业到现在,工作也有5-6个年头了,您的开发中,是不是跟我一样,场景会遇到以下的困境呢?

序号

分类

问题点

困境

1

环境安装

①. 刚入职公司,需要安装各种复杂的开发环境

②. 有时候,解决不了,还不能声张,声怕同事说自己菜,死鸭子嘴硬

x 重复低效

2

环境安装

开发过程中,误删除软件、误改配置文件,导致开发环境不能使用,重新格式化

x 隔离性差

3

协作办公

下班或者周未不能好好玩,需要7*24小时待命,坐地铁、出去玩也要无脑带着电脑

x 机动性差

4

协作办公

请教同事技术问题,经常拿着电脑跑到大佬工位上,让他帮忙解决问题

x 机动性差

5

特殊环境

①. 开发电子称功能,因为要使用.dll文件连接电子称

②. 在尝试多种方案后,我的电脑成功运行,在其它电脑上不成功

x 环境复用性差

6

软件版本

古老的java项目依赖需要老版本java版本

x 隔离性差

7

软件版本

新旧项目用的MySQL不是同一个版本,后面新升级技术体系

x 隔离性差

8

设备硬件

多开几个项目就开始卡顿,尤其是全栈开发

x 硬件资源低

9

设备硬件

java代码编译时间长,一天工作量干不完,就要加班

x 硬件资源低

10

开发工具

①. 前端开发webStorm与vsCode,有时候,大家装的插件有冲突

②. 比如有一次代码格式化eslint不一致,导致整个代码仓库全部乱了

x 没有统一的标准

11

开发工具

①. 有一个c++的工具开发go时,起的类、函数名超长,还经常吐槽我们写的不规范

②. 后面才知道原因,是他用习惯了vi工具,长的名字为了方便查找快速

x 没有统一的标准

还有许多种种问题,迫切的想各种方案解决问题、各种制度用来约束,但是,换取的收益效果可能不大。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境


最近参加CSDN联合腾讯云推出的系列开发者技术实践活动《腾讯云 Cloud Studio 实战训练营》,让广大开发者沉浸式体验腾讯云开发者工具 Cloud Studio,借此机会,让我们一起来从入门到实战腾讯云 Cloud Studio 的产品。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_02

备注:该活动旨在通过技术分享直播、动手实验项目、优秀代码评选、有奖征文活动等,有兴趣的同学快来参加起来,方向盘都给你了,还不来?

活动链接: 介绍: 活动报名页面: Cloud Studio产品体验地址: 8月3号 19:00 腾讯云 Cloud Studio 打造云端全开发新体验


二、手册活动:

实践出真知,接下来,通过腾讯云 Cloud Studio 做一个实战案例来深入了解该产品的特性!

官方温馨的提供了4个动手实验手册,来帮助我们熟悉和体验一下整个产品的流程:

  • 使用 Cloud Studio 快速构建 React 生成点餐 H5 页面
  • 使用 Cloud Studio 快速构建 Vue 生成 事务所 H5 页面
  • 使用 Cloud Studio 快速搭建 JavaScript Snake Game
  • GPT+Cloud Studio “念咒编程”构建Excel工资表自动核算

选择第一个项目《使用 Cloud Studio 快速构建 React 生成点餐 H5 页面》,在不到10分钟的时间,就搭建运行成功了,期间不需要要本地安装任何软件,一个工作空间就想当于一个远程的虚拟“小计算机”,里面包含了独立的存储、计算资源以及对应的开发环境。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_03

在使用的过程中,根据手册快速搭建一个Vue的Demo,通过对 Cloud Studio 的产品从0到1小小的实践了一把,让我受益良多,颠覆了对本地IDE的认知,也让我真正理解在云计算时代,带动了很多云产品的发展,Cloud Studio 的产品也可以认为是一个里程碑的历程。

序号

提效点

提效细则

提效点

1

零成本

域名申请(No)、申请备案(No)、https证书申请(No)、带宽申请(No)、服务器购买(No)

运维成本、费用成本

2

零运维

nginx部署(No)、环境安装(No)

运维成本

3

零代码

不需要写一行代码,即可运行一个开箱即用的模板环境

运维成本

4

零距离

不管在哪里,都能随时随时开发

时间成本

5

零门槛

对于小白也可以随时使用

学习成本

目前Cloud Studio每月赠送 3000 分钟的工作空间免费时长,所以,让我们一起来免费体验一下吧!

白话的总结,就是一毛钱不花,什么也不懂,就可以实现各种环境的开发,真香,白漂党必备良药。


三、直播观看与分享:

从手册实践到直播观看,大致对Cloud Studio有一个基本的了解,接下来,就采用我学习的4H(What、Why、When、How)分析法来由入门到精通,由浅到深的继续研究和摸索Cloud Studio 产品,如何在项目中导入,是否能支持常规的业务开发。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_04


四、What – Cloud Studio 是什么?

Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供稳定的云端工作站,在使用 Cloud Studio 时无需安装,打开浏览器即可快速启动和开发项目,底层资源可以自动弹性扩缩,极大地节省成本,低代码开发省时又省力。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_05


基于 Web 端的代码编辑器,包含代码高亮、自动补全、Git 集成、终端等 IDE 的基础功能,同时支持实时调试、插件扩展等,提升开发、编译与部署工作效率。

序号

支持的功能

详细描述

传统IDE对比

1

多语言支持

①. Java、Python、Node.js、Kotlin、Scala、Ruby

②. React、Vue.js、Angular

x不支持

2

开箱即用模板环境

①. 常用模板:All in One、Ubuntu、Java、Go等10种

②. 框架模板:Flet Todo App、Flutter、Spring Boot、React等20种

③. 建站模板:victor-hugo、docusaurus-base、vuepress-deploy等19种

④. 云原生模板:Serverless Framework

x不支持

3

无需安装

①. 基于云端的IDE

②. 无需在本地安装任何软件或工具

③. 避免本地开发环境的配置和维护问题

x不支持

4

云端存储

①. 将代码和项目存储在云端

②. 可以随时在任意设备上访问和编辑代码

③. 无需担心数据丢失或备份

x不支持

5

智能编码

①. 提供代码补全、自动修复、重构等功能,帮助更加高效地编写代码

②. 智能编码提高代码的质量和可维护性

v本地IDE略强

6

版本控制

①. 集成了Git版本控制系统,轻松管理和维护自己的代码库

②. 使用Git来跟踪代码的变化、协作开发、管理分支和合并请求等

x缺少协作开发

7

丰富的插件生态

①. 支持第三方插件,帮助扩展和定制IDE的功能

②. 这些插件可以提供额外的语言支持、调试器、自动化工具等,可以根据自己的需求进行个性化的设置

差不多

8

高度安全

①. 采用了多层安全措施,保障代码和数据的安全性

②. 数据的存储和传输都采用了加密技术,确保数据不被黑客或恶意软件

x不支持

9

易于扩展

①. 可以根据需要添加新的工具、插件和库

②. 开发人员可以使用CloudStudio的API和SDK来创建自己的插件和工具,以满足个性化需求

x不支持

10

轻量级

①. 是一个轻量级的IDE,可以快速启动和运行

②. 开发人员可以更快地开始编写代码并运行项目,提高开发效率。

x不支持

11

协作

①. 云端存储还可以帮助开发团队更好地协作和共享代码

x不支持

12

集成开发环境

①. 提供了完整的集成开发环境,包括代码编辑器、调试器、终端等功能

②. 用户在一个界面中完成所有的开发工作,无需切换不同的工具生态

x不支持

可以看到云IDE Cloud Studio有很多功能是本地IDE不支持的,提供了丰富的预设环境,让开发者能快速上手。


五、Why – Cloud Studio 能解决什么问题?

5.1 重复性的下载和安装各种软件、配置各种环境。

回想一下,平时我们在工作中的开发程序,如果在新环境、使用新技术、新电脑的时候,是怎么样的一个流程?

序号

开发流程

使用Cloud Studio后

1

①. 下载本地开发IDE

②. 前端开发,一般下载VsCode、WebStorm等

③. 后端Java开发,一般下载IDEA、Eclipse等

④. 后端Go开发,一般下载GoLand等

x省略不用

2

①. 配置开发环境

②. 前端开发,一般下载Node、Npm、Yarn、Pnpm等

③. 后端Java开发,一般下载JDK等

④. 后端Go开发,一般下载Go源码等

⑤. 配置环境变量、代码打包环境、Git环境等

x省略不用

3

编写代码,调试代码,编译打包代码

v

4

提交代码到Git远程仓库

v

【Cloud Studio效率提升】使用Cloud Studio后,第1步、第2步就可以省略不用,直接上手写代码,节省了大量的前置时间,提高了效率。

5.2 在开发多个项目中,为了解决SSH Key的问题,是不是也会跟我一样,做项目区分?

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_06

【Cloud Studio环境隔离】使用Cloud Studio后,每个空间就是一个独立的,不需要担心会互相影响,具有隔离性。

5.3 会不会跟我们团队一样,“攀比”电脑硬件成本,主要是后端Java、UI同学,对于电脑性能要求比较高。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_07

【Cloud Studio降低成本】由图中活动检测器可以看出,Cloud Studio所消耗的资源很少,相当于GoLand等本地IDE,动不动就是2-3G起,十分耗费资源。

  • ①. 不用担心像安装在本地也会占据相当一部分的存储空间,使得配置较低的机器也能用于快速开发。
  • ②. 在使用Cloud Studio的过程中,再也会为我的mac电脑平时开发8G不足而困恼了,至少我在前端应用中,有一个浏览器就够用了。
  • ③. 唯一要比拼的就是网络带宽,因为Cloud Studio是基于云端的IDE,使用的是Cloud Studio云端的资源,跟本地电脑本身关系不大。

5.4 在线协作十分费力和低效。

有个亲戚是搞前端的,新入职一个公司后,好多都不懂,让我给他远程处理:

  • ①.动不动就直接给我发源码,没有一点安全意识。
  • ②.发的源码后,我还要各种初始化、装环境,有时还要配置他们项目的一些特殊的设置。
  • ③.有时候,就发一个文件,调用其它文件函数也不知道在哪里。
  • 后面,改为腾讯会议远程控制,也是各种不方便,往往一个小问题,要排查半天。

【Cloud Studio在线协作】如果一起使用Cloud Studio这个在线协作功能的话,肯定能很快就帮他解决问题,或者帮他写代码也不是不可以。

5.5 产研进行原型需求评审会议,记录、修改等待。

平时,多个团队在讨论需求时,总会出现一些意见,或者没有想到的逻辑,这时候,产品助理一个人记录东西,可能记录不过来,而且有时产品在线修改一些原型,全部人也是一直会议中等待。

【Cloud Studio跨部门高效协作】在会议中,我们会进行头脑风暴,每个人都写出自己的相关的case点,此时,最终的产品助理、会议记录人只需要做一下归类和盘复即可,也可以用git及时保存每次的会议记录,便于信息回溯。

5.6 平时常见“远程”开发存在的困境。

伴随着容器化、深度学习等技术的生产应用,越来越多的场景面临“远程”开发的问题,这些远程环境很难甚至不可能在本地重建一份。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_08

在未了解云IDE Cloud Studio以前,我们对于远程开发的场景,常用的是以下四种解决方案。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_09

【Cloud Studio共享相同远程环境提效】使用新建工作空间,选择云主机,可以让所有开发人员共享一套开发环境,只需要配置一套环境,就可以复用团队所有成员,如果团队有10人,就减少90%的安装环境等重复的工作。

5.8 机动性不够:

有一次在亲戚家吃饭,刚好自带的苹果电脑坏掉了,使用亲戚家的电脑,在安装了近2小时的时间,才勉强跑起环境,对设备的依赖性太强了。

【Cloud Studio机动性提效】只需要有网和一个浏览器就可以实现在线远程开发,再也不需要额外的配置,而且是随时随地可以进行开发工作,对于经常出差、移动性的用户非常实用。

5.7 总结:

序号

优化项

优化细则

实操效果

1

硬件资源成本

①. 从浏览器打开网址,调用云端资源来进行开发

②. 实际代码都是跑在云服务器中的,对本地资源占用较小

③. Cloud Studio 还支持远程访问自己的云服务器,可以在编辑器中查看云服务器上的文件,进行在线开发部署工作

体验足够好,使用中基本上没有遇到比较卡顿的情况

2

开箱即用,支持多种开发语言模板

①. 能够开箱即用,避免了配置开发环境的枯燥繁琐

②. Cloud Studio 的定位是“Coding Anytime Anywhere”,可以让编程更加简单和更加方便

①. 不会的,降低了门槛,开箱即用

②. 会的,减少了重复劳动工作

3

创业公司低成本投入

①. 创企公司业务前期,云办公不需购买大量的软硬件IT资源

②. 降低了初创企业的前期投资和运营成本

①. 前期最小规模需要采购域名、服务器

4

移动化办公、强机动性

①. Cloud Studio 的定位是“Coding Anytime Anywhere”,可以让编程更加简单和更加方便

②. 不再局限固定的IT专用设备

①. 设备比较固定,需要随身携带电脑办公

5

在线多人协作

①. 开会、内部代码复盘周会

②. 需求评审(不局限于软件开发)

①. 在线会议不便捷、沟通不快捷


六、When - Cloud Studio什么场景中使用?

Cloud Studio 提供了快速上手的开发环境,免去了所有复杂环境的配置安装工作,即使是小白新手开发者也能快速完成各种开发工作。同时,提供了协同编辑功能,支持多人在线共同编辑代码、实时查看分享者的编辑内容及聊天等功能,极大方便的解决了交流的问题。

以下为立竿见影的效果:

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_10


七、How – 怎么使用Cloud Studio?

创建空间有3种方式,可以在业务选择灵活搭配方式,接下来就由我们来一个一个实践,并且体验各自的优缺点。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_11

7.1 快速体验一下Angular模板:

由于本人没学过Angular开发,今天正好用这个机会来尝试一下,0基础学习Angular。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_12

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_13

在不到2分钟就初始化了一个Angular项目,打开项目里面的html文件,输入“从0到1学习一下Cloud Studio的云IDE”,控制台会及时进行刷新。对于学习新技术,简直就是利器。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_14

7.2 新建主作空间:

大家在前端开发的过程中,经常会搭建自己的npm私有仓库,比如UI组件库、工具库等,本章就来在自己的服务器上实践一下,我们前端工程化的本系是否满足需求。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_15

公司是使用verdaccio搭建一个轻型的npm私有源服务,为内部、合作方提供需要共享的私有包,以前是每个设备上使用之前都需要安装一下,现在使用公共的服务器,只需要装一次即可,大家在不同的目录中开发,提一步提高了效率。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_16

这里使用云主机是自己的服务器,可以免去每个月3000分钟的限制,下面认证方案为了简单点,使用了密码验证,实际业务上推荐SSH认证方案。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_17

温馨提示:使用自己的云服务器搭建 Cloud Studio 不会扣除标准型机器的免费时长。

因为公司的脚手架在内网,不太方便共享出来,我们在这台云服务器上直接自己搭一个npm的私有库verdaccio(内部使用是docker的方式,为了演示就使用简单一点npm安装)。

npm i -g verdaccio

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_18

安装完成后,使用pm2启动一个verdaccio服务器,用于大件npm私有库。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_19

通过浏览器访问 verdaccio 启动页,如果服务器 ip + 4873不能访问,需要把4873端口的安全策略开通一下外网可以访问。

启动成功后,使用网址可以访问verdaccio服务,IP + 端口号,即可看到verdaccio的web服务。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_20

登录到npm verdaccio私服仓库,再将脚手架包发布publish到npm verdaccio私服仓库。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_21

发布成功后,可以在npm verdaccio私服仓库网址上查看刚刚发布的包。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_22

在云服务器上全局安装这个发布的私有包,如下可以看到安装成功了。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_23

在业务代码中,尝试启动项目成功,这个云服务器因为在全局都安装了公共的脚手架,所以,其它人在使用的过程中,已经集成了脚手架,只需要指定不同的目录,就可以直接进行业务开发,如果云服务器升级了脚手架,那么其它所有的项目都会升级,非常的方便。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_24

** Cloud Studio功能亮点:文件传输功能**

如上,将Vue H5的项目直接拖动即可实现文件上传,上传方式可以直接拖拽,非常方便,不用像以前使用FTP、SCP这种第三方工具进行文件上传。同时空间会持久化所有的数据,也就是说关闭浏览器窗口后,下次打开空间,数据依旧存在。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_25

可以看到我们在构建持续时间是比较短的,从Git拉代码 -> 拉到业务依赖 -> 构建打包 -> 上传到服务器并tar解压大大的节省了构建的时间,加快了业务更快的进行部署

7.3 自定义新建模板:

可以在 Cloud Studio 云端 IDE 的工作空间内存放自己的项目代码,安装所需要的软件环境,运行、调试、编译项目,下面将介绍如何使用自定义的工作空间。

7.3.1 痛点问题:

①. 有些开发环境,环境可能依赖非常多的工具包、插件、组件等,如果都需要用户自己去安装和准备,过程肯定是十分的繁琐和不利的。

②. 不利于用户分享工作空间给其它协作同事创建副本。

③. 解决多人使用相同配置、相同模板的问题。

7.3.2 解决方案:

①. 手动新建“模板”

②. 导入workspcace.yml YAML配置文件

7.3.3 提效结果:

①. 直接使用定制化的模板,可以直接初始化指定的工作环境,免去大量的安装、排错、检查工作,最高提效可以达到60%。

7.3.4 提效场景举例:

①. Vue模板,可以更近一步升级提效

②. Go公共服务模板,可以直接使用模板来提高初始化效率

7.4 新建模板:

在“空间模板”中,右上角“新建模板”,这里有两种方案来创建,先来体验一下“手动新建”的方式。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_26

打开新建自定义模板,填写以下信息,可以看到自带提供MySQL、Redis、Postgresql第三方中间件,也支持自定义shell命令、环境变量,有利于项目的扩展性。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_27

以下为尝试用公司的go基础服务做为一个模板文件,可以做为参考一下。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_28

因为有些人对于命令操作可能不是太熟练,这里也推荐使用一些vscode的插件进行可视化管理操作:

  • ①.比如管理Redis、MySQL等第三方中间件工具。
  • ②.本人平时也是比较喜欢使用Navicat来进行数据库的管理。
  • ③.这里推荐一下使用vscode的插件,这样集成性更方便。
  • ④.备注:个人尝试用本地SSH进行连接,好像没成功,可能是没找对方案。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_29

序号

vscode插件名称

功能说明

1

go

在Go语言开发的时候为我们提供诸如代码提示、代码自动补全等功能

2

vscode-redis-client

使用vscode的调试功能可以让开发人员更加轻松快捷地调试Redis,并且并不需要过多的额外设置

3

vscode-mysql-client2

使用vscode的调试功能可以让开发人员更加轻松快捷地调试MySQL数据库

4

vscode-postgresql-client

使用vscode的调试功能可以让开发人员更加轻松快捷地调试PostgreSQL

上面可以点击“导出workspcace.yml”,将这个yaml分享给需要协作的同事,点击“新建”后,就可以创建出属于自己定制化的“自定义模板”。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_30

点击进入经过服务的部署,可以进行测试一下我们的其中的短信公共服务、OCR公共服务。

  • 如下为OCR识别身份证图片的接口,可以看到能够成功返回信息。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_31

  • 如下为发送短信服务的接口,可以看到能够成功返回信息。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_32

7.5 导入workspcace.yml配置文件:

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_33

YAML是一种人类可读的数据序列化格式,旨在成为一种简单、易于使用的数据表示语言,适用于配置文件、数据交换、文档标记等场景。

  • ①. YAML 文件不依赖于特定的编程语言,可以被多种编程语言解析和生成。
  • ②. 由于其简洁性、可读性和易用性,YAML 文件广泛应用于各种场景。
  • ③. 例如配置文件、持久化数据、API 接口定义、自动化工具等。
  • ④. 它在许多编程语言和框架中都有成熟的解析库和工具,使得读写和处理 YAML 数据变得非常方便。

如下为上面导出的workspcace.yml文件:

version: "v1"
# 初始镜像,猜测应该是用docker启动的一个容器
image: "cloudstudio-devops-docker.pkg.coding.net/artifacts/workspace/go-1.19:2023-04-25.0943"
# 模板创建的工作空间时,自动安装的插件
extensions: 
- "[email protected]"
- "[email protected]"
- "[email protected]"
# 工作空间的生命周期:共分为init、start、destory
lifecycle:
  init:
  - name: "更新源"
    command: "apt-get update"
  - name: "安装nginx"
    command: "apt-get install -y nginx"
  start:
  - name: "启动nginx"
command: "service nginx start"
# 模板创建的工作空间时,需要启动的第三方中间件
sidecar:
  mysql:
    enabled: true
    password: "dpbg123."
    database: "common-test"
    port: 3306
  redis:
    enabled: true
    password: "3306"
port: 6379
# 模板名称
name: "公共基础服务go通用模板"
# 描述
description: "公司业务公共基础服务go通用模板,主要提供短信、上传OSS等服务"
# 标签
tags:
- "Go"
# 模板创建的工作空间时,自动拉取的代码仓库
repository: "https://gitee.com/xxx/go-base-common.git"
# 默认拉取的分支
ref: "master"
storage:
  copy_to_working_dir: true
category: "userDefined"
sort: 0
show: true

分析模板的时候,发现2个比较有意思的参数:lifecycle、sidecar,经过网上查询得到。

7.6 LifeCycle:

LifeCycle是表示工作空间的生命周期,定义了整个项目的生命周期各个阶段需要执行的内容(我们这里是执行一段shell代码),有点类似于Vue、React、小程序的生命周期,不同的阶段执行不同的逻辑。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_34


八、如何操作第三方中间件:

平时在操作第三方中间件时,因为大家的习惯和知识体系不太一样,可能有不同的代码维护习惯,这里提供Cloud Studio 2种操作的方式,可以满足不同需求的同学。

8.1 使用sidecar可视化管理工具:

因为在模板中选择了“vscode-mysql-client2”的vscode插件,所以,在初始化完空间后,在最左侧有一个数据库的操作图标,点击,最右边进行相关参数的配置,成功连接后,会显示中间的“数据库连接”窗口,就可以进行数据库的CURD操作了。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_35

因为在模板中选择了“vscode-redis-client”的vscode插件,所以,在初始化完空间后,在最左侧有一个Redis的操作图标,点击,最右边“Add Redis Config”中,进行相关参数的配置,成功连接后,会显示中间的“REDIS EXPLORER:REDIS”窗口,就可以进行Redis的CURD操作了。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_Cloud_36

8.2 使用Linux命令行管理:

使用命令行操作,提交需要了解一些基本的docker知识,如下可以看到Cloud Studio实际上使用了docker启动了两个容器,同时,将Redis的6379、MySQL的3306端口暴露出来,就如同上面使用可视化工具,可以不知道这里面的细节,直接进行连接。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_37

8.3 总结:

不同工具对应不同的人群,也没有绝对的优点与缺点,适合自己才是最好的。以下是我个人的关点比对了一下,两种类型操作第三方中间件的优缺点。

序号

类型

对比

1

sidecar可视化管理工具

①. 对于前端及不熟练命令行操作的同学

②. 不需掌握docker也可以操作

③. 在一定场景下,效率低于命令行操作

④. 复用性较差

⑤. 对于资源的消耗高

2

Linux命令行

①. 适合熟悉命令行的同学,对技术有一定的门槛

②. 熟悉一定的docker操作和linux命令操作

③. 在一定场景下,效率可能高一点,因为不需要鼠标键盘来回切换

④. 复用性强,可以编写一些shell脚本进行复用

⑤. 对于资源的消耗低,毕竟不需要画图


九、Cloud Studio MetaWork协作:

搭载Cloud Studio MetaWork 套件让协作 0 距离,让云开发云协作触手可得。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_38

Cloud Studio 提供了一套非常完善的 Cloud Studio MetaWork 协作套件,在侧边栏中打开 Cloud Studio MetaWork 即可轻松开启协作模式。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_开发环境_39

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_40

点击“开始协作”,即可在右下角生成一个邀请链接:

  • ①. 邀请成员后只需将邀请链接发送给他人即可
  • ②. Cloud Studio MetaWork 同样支持在线留言、视频、语音通话等写作方式
  • ③. 进一步提高了团队协作开发的效率。
  • ④. 在协作过程中,还能知道每个用户的光标在哪,即将或者正在修改哪一行代码,非常实用的功能。
  • ⑤. 多人协作的时候既可以实时看到,还可以看到每个人分别写了啥代码。
  • ⑥. 最关键的是在体验操作,非常快速和方便。

十、其它云产品对比:

华为的cloudIDE和coding的cloud studio界面都大同小异,都是类似vs code,下面来实际说一下体验感受。

序号

华为的CloudIDE

腾讯云的Cloud studio

1

cloudIDE没有root,系统是自家的EulerOS

cloud studio是ubuntu,有root权限

2

有的语言版本不是很新

比较紧跟潮流,vite脚手架也有

总体来说,体验腾讯云的Cloud studio还是非常不错的,而且也是针对公司业务的迁移也是可以完全满足需求的。


十一、总结:

参加CSDN与腾讯云联合举办的Cloud Studio活动,从开始最开始的加群进行了解,后面跟着官方提供的实验手册《使用 Cloud Studio 快速构建 React 生成点餐 H5 页面》做了一遍,简单的了解Cloud Studio的具体功能和用途。后面自己实操创建一个模板。

随着云计算的技术发展,Cloud Studio 就是云计算与传统IDE结合的产物,能够提供更加便捷的开发体验,更加高效的环境搭建,对于终端设备要求较低,能够满足一定的移动开发的需求。

  • ①.开发过程中,项目启动项目非常快,即使本机的硬件设备不高
  • ②.提供的预设置模板,可以直接创建无需进行繁琐的环境配置的工作空间
  • ③.支持实时调试网页,Cloud Studio 内置预览插件,当监测代码发生改变的同时,预览窗口也会自动刷新

尤其是,对于IT开发人员,Cloud Studio提供了很多常见的框架模板,免去开发者搭建框架的繁琐,不用时刻做一些重复劳动力的事情,节省我们不少的搭建、容错、调试、安装时间。通过云IDE我们也让编程的设备不再局限于单机的电脑,可以类似Git分布式,只要有网,就可以在任意时间、地点进行开发工作,甚至不局于在iPad平板上进行编程。

【腾讯云 Cloud Studio 实战训练营】- Cloud Studio 提高前后端工程化效率_工作空间_41

相比于传统的 IDE,云端 IDE Cloud Studio 提供了一个灵活、可扩展、安全和协作的开发环境,可以更大程度的提高了工作效率(软件开发和协作办公),同时又需要同时减少成本。

在使用过Cloud Studio实战公司项目练习之后,对Cloud Studio也有更深刻的了解,下面来简单谈一下Cloud Studio的使用感悟、优势以及个人觉得的优化建议。

序号

优点主项

优点细则

成本收益

1

突破技术壁垒

①. 有些同学可能开发几年了,都没有摸过Linux服务器

②. 想要熟练的使用Cloud Studio,还是有一定的Linux基础

技术成本

2

免去环境搭建成本

①. 多种方式创建空间,可以免去类似传统开发模式,环境搭建耗时的成本

②. 不需要进行环境下载、安装、配置、调试的一系列成本

时间成本

3

机动性、灵活性、便捷性

①. 基于云IDE空间开发,不需要局限于本地特定设备

②. 可以随时随地访问开发环境进行线上开发,无需担心设备和软件的限制

时间成本

4

资源可伸缩性

①. 可以根据不同的业务需要动态的调整升级计算和存储资源

②. 与本地硬件设备强关联性不强

时间成本

5

协作办公

①. 实时共享不同开发人员在同一个开发环境中同时操作

②. 提高团队的协作效率,减少代码冲突和合并的问题

时间成本

6

生态链集成

①. 可以与腾讯云的其它的产品,如Coding、服务紧密集成,如云服务器、云数据库等。

②. 这使得开发人员可以方便地使用这些服务来构建和部署应用程序。

时间成本

7

管控成本

①. 创业前期不需要投入太多的硬件资源

②. 云办公可以根据企业的需求进行灵活扩展和升级,无需额外购买硬件资源

开销成本

8

项目孵化器

①. 为了提升办公效率,越来越多的团队进行远程办公,推进“云办公”理念

②. 能让我们在“云”上开展项目开发的工作,不需要现场办公

③. 项目万一失败,也减少办公、场地、出差等成本

开销成本

9

文件上传

①. 不同于以前FTP、SCP上传服务器文件

②. 上传方式可以直接拖拽,非常方便,就像操作本地文件一样

时间成本

如下是实际操作中,遇到的一些问题与建议,希望官方能更好的支持:

序号

问题项

问题细则

1

更多丰富文档资料

①. 提供更加详细和全面的帮助和文档

②. 降低花费更多的时间和精力去理解和使用平台的各种功能

③. 多出一些底层的实现技术资料,有时候魔改一些配置要摸索很久

2

支持更多的编程语言和框架

①. 如PHP框架模板

②. 早期很多PHP CMS,如织梦

3

稳定的版本

①. 有时操作官方的模板就会有报错,比如有一次Nuxt模板报错

4

封闭式开发的项目

①. 需要安全,不能连接公网

5

开放更多的个性化设置

①. 暂时没找到在哪里更换Cloud Studio的字体

如下是实际操作中,遇到的一些问题与建议,但是目前有备用方案可以解决:

序号

问题项

问题细则

备用方案

1

①. 多少需要具备Linux基本的操作的知识储备

①. 对于习惯Windows安装软件下一步有少量学习成本

②. 需要会用少量几个linux命令

①. 在B站花1-2小时学习linux基本操作

2

①. 不能同时开多个工作空间

②. 只能同时在线一个工作空间

①. 需要开发微服务、前后端分离多个工作空间并行工作

①. 开2个或多个账号

②. 一个工作空间开多个项目

标签:代码,开发,Studio,Cloud,使用,工程化,模板
From: https://blog.51cto.com/u_16251183/7395092

相关文章

  • Visual Studio中集成的vcpkg
    vcpkg:VisualStudio2022中的C++库管理器Vcpkg是一个C++库管理器,它可以帮助你在Windows、Linux和MacOS上安装和使用第三方库。它支持超过2000个开源库,包括Boost、OpenCV、Qt等。Vcpkg还可以自动处理库之间的依赖关系,让你的开发过程更加方便。在本文中,我将介绍如何在......
  • 001-FactoryTalk View studio 恢复mer文件
    mer文件是AllenBradleyPanelViewPlus系列触摸屏上的运行文件,一般情况,用户在RSVIewStudioME或FactoryTakViewStudioME系统下开发完成人机界面程序后,编译成可在触摸屏上运行的mer格式文件,上传到伸触摸屏内存供其运行。由于是编译后的运行格式,它并不含有开发项目的全部信息,但......
  • CloudQuery ✖️ PolarDB:让数据库管理更简单
    近日,CloudQuery数据操作管控平台与阿里云PolarDB数据库管理软件,完成产品集成认证测试。也在以下功能上完善了用户使用PolarDB的体验,使数据库的管理更加安全高效。1.支持在CloudQuery中创建连接,便于进行数据库管控。2.支持编辑连接、资源纳管、连接池管理以及连接设置,可设置......
  • CMake生成Visual Studio工程
    CMake–生成VisualStudio工程C/C++项目经常使用CMake构建工具。CMake项目文件(例如CMakeLists.txt)可以直接由VisualStudio使用。本文要说明的是如何将CMake项目转换到VisualStudio解决方案(.sln)或项目(.vcxproj)开发环境为了生成VisualStudio解决方案,必须安装以下内......
  • 使用 SQLStudio 进行数据库管理并通过 Docker Compose 进行部署
    在现代软件开发中,数据库管理是一个至关重要的环节。SQLStudio是一个强大的工具,可以帮助开发人员轻松管理数据库,现在改名成SQLynx,我们用的是旧的镜像,本文还是用SQLStudio这个名称。同时,使用DockerCompose可以简化应用程序的部署过程,使整个开发流程更加高效和可靠。最近了看到有......
  • springCloud学习笔记整理
    springCloud学习笔记整理1.分布式分布式的概念:根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。分布式架构的优缺点:优点:降低服务耦合有利于服务升级和拓展缺点:服务调用关系错综复杂2.微服务微服务的上述特性其实是在给分布式架构制......
  • 解决代码使用CompletableFuture做异步时spring-cloud-starter-sleuth的日志追踪号为空
    产生问题原因就是异步调用,导致spanId和traceId丢失了@Async注解的异步调用是没问题的前提使用spring-cloud-starter-sleuthjar包版本2.2.8.RELEASE关于追踪号的xml配置为<pattern>%yellow(%date{yyyy-MM-ddHH:mm:ss.SSS})[%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-B......
  • Visual Studio 2019快捷键
    Ctrl+J/Ctrl+K,L:列出成员Ctrl+Shift+空格键/Ctrl+K,P:参数信息Ctrl+K,I:快速信息Ctrl+E,C/Ctrl+K,C:注释选定内容Ctrl+E,U/Ctrl+K,U:取消选定注释内容Ctrl+K,M:生成方法存根Ctrl+K,X:插入代码段Ctrl+K,S:插入外侧代码F12:转到所调用过程或变量的定义C......
  • 用 Visual Studio Code 开发 Angular 应用自动生成的 .angular 文件夹
    在Angular开发中,项目根目录下的.angular文件夹是AngularCLI工具的一部分,它包含了一些配置和缓存文件,用于提高开发效率和构建性能。.angular文件夹的作用主要包括:缓存构建信息:.angular文件夹中包含了一些缓存文件,用于存储先前构建的信息,以加速后续的构建过程。这有助于......
  • Microsoft Visual Studio 2022(编程工具)下载 中文版介绍
    微软强调VisualStudio2022将完全支持.NET6及其统一框架,用于Windows和Mac开发者的Web、客户端和移动应用程序。软件地址:看置顶贴软件功能一、开发:编写没什么错误的代码遇到困难时使用IntelliSense代码建议快速准确地键入变量。无论导航到所需的任何文件、类型、成员......