【腾讯云 Cloud Studio 实战训练营】 - 云IDE编程之旅化繁为简

2023-10-17 14:59

本文主要是介绍【腾讯云 Cloud Studio 实战训练营】 - 云IDE编程之旅化繁为简,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言:

随着云计算产业的发展,各种基于云端的 IDE 相继出现。相比于传统的 IDE,云端 IDE 可以更大程度的提升用户工作的效率。

腾讯云与国内领先的一站式软件研发平台 CODING联合推出一款完全基于云端的 IDE:Cloud Studio。作为一款在线云端开发工具,它可以帮助用户减少安装 IDE 的成本,提供在线代码开发、编译、运行、存储的一站式服务,让用户体验“云端办公”的快、稳、准。

在这里插入图片描述

以“云端开发”为主题,聚焦使用 Cloud Studio 进行编程学习、技术开发等多维度研发体验与探索,实现为公司和团队进行降本增效。


二、IDE的发展趋势阶段:

预知未来最可靠的方法是了解历史,以下为简单回顾下IDE的发展史。

在这里插入图片描述

伴随着计算机编程语言一直发展到高级语言,编程所控制和调动的底层资源也发生了翻天覆地的变化,从早期的个人电脑PC机、服务器单机、服务器集群资源,到今天的云计算IaaS,PaaS,甚至SaaS资源和能力,从而驱动我们的开发习惯也在慢慢的改变,为了应对项目敏捷开发和项目的复杂度,选择一个快、全、稳的开发工具至关重要,俗话说:“工欲善其事,必先利其器”。

如下是我在从业多年的IT领域开发工作中,开发工具逐渐从最原始的文本编辑器时代,到后面的集成了代码调试器、编译器、丰富的图形用户界面(GUI)等高级功能的IDE工具集。

在这里插入图片描述

其中,背后驱动IDE的发展和进化的并不是IDE技术本身,而是围绕技术体系成套的上下游技术、编程的方式、可调动的底层资源、快捷方式等多维度的因素共同作用的结果。


三、Cloud Studio产品介绍:

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

3.1 产品介绍:

在这里插入图片描述

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

● 支持远程访问云服务器,为腾讯云 SCF 行业用户提供开发-测试-部署完整闭环的云原生开发体验 ;

● 自研多款插件以满足开发需求,例如协作插件、自定义模板插件、预览插件、部署插件等,助力施展编程潜能。

3.2 产品特性:

在这里插入图片描述

3.3 产品优势:

在这里插入图片描述

3.4 相关链接:

Cloud Studio为了解决缺乏系统的理论指导和相应的标准规范,在技术布道和开发者社区的建设中投入大量的资源,一起打造通用型的接口标准以及标准化的文档规范,并将致力于基础技能的知识普及。

  • Cloud Studio用户手册文档:基于浏览器的集成式开发环境IDE (手册链接)[https://cloudstudio.net/docs]
  • Cloud Studio官网:Coding Anytime Anywhere (中文官网链接)[https://cloudstudio.net/]
  • Coding官网:提供一站式研发管理平台
  • Coding登录平台:助力企业提升研发管理效能

3.5 总结:

随着云计算技术的不断发展,云计算使软件生产力有了质的提升,促使云开发的发展,让软件的生命周期中的各个环节得以无缝衔接,充分发挥云的优势,推动云端资源工具化,为开发者提供整套的解决方案和降本增效的生态。

在这里插入图片描述


四、工作中使用本地IDE的痛点:

4.1 公司团队管理痛点:

如下为公司团队管理工作过程中,传统方式使用本地IDE的一些困境,特别在新老员工离职交接过程中,处于一个周期低产出的阶段。

在这里插入图片描述

4.2 技术开发痛点:

以下是本人在技术开发中,遇到的一些主要问题点,特别是微信相关的业务开发过程中,由于微信的回调需要公网的域名,导致在本地开发、调试、排错时比较麻烦,往往事倍功半。

在这里插入图片描述

4.3 协作开发痛点:

以下是本人在工作中,伴随着协作相关的问题点,在很多方面沟通成本比较高,导致效率十分低效,对于一约束制度也力不从心。

在这里插入图片描述

4.4 总结:

在这里插入图片描述


五、Cloud Studio 实践:

5.1 常用框架模板快速搭建网站:

使用 Cloud Studio 提供的预置框架模板,可以为一些主流的开发语言或框架一键搭建网站。

在这里插入图片描述

直接选择一个对应的框架模板,就可以自动创建工作空间,并且自动打开该工作空间,完成相关依赖的安装,最后再实现一键应用的部署。进入云IDE后开始自动拉取代码,同时会自动安装一些相关的VS code插件和自动安装依赖,自动打开预览等。
在这里插入图片描述

以下为在实际操作中,基本上可以快速初始化一个环境,然后开始Coding:

基本在7s内可以完成创建、启动、连接工作空间,在不到2分钟完成拉取依赖并准备就绪。

在这里插入图片描述
以初始化Go项目为例:

在这里插入图片描述

右侧的预览器:
在这里插入图片描述

查看源码发现,预览器是一个iframe加载的一个网页,是实时在线预览的,修改代码右侧内容会同步自动热更新(无感知),实际上是webpack-dev-server插件做了热更新,导致页面无感知的刷新。

5.2 自定义工作空间:

在不使用 Cloud Studio 提供的预置框架模板,仍然可以使用一些脚手架提供的原生工具创建的标准项目,同样也可以做到一键部署、零配置,体现了 Cloud Studio 云部署的智能框架适配能力。

5.3 Cloud Studio 的云部署原理:

Cloud Studio 的云部署套件抽象了一套适配规则,用来支持绝大多数开发框架的构建与部署。

在这里插入图片描述


六、“新建空作空间”导入Gitee项目:

6.1 查看SSH公钥:

6.2 在Gitee中设置SSH公钥:

6.3填写工作空间相关信息,选择对应的分支(test),选择需要构建的环境(vue.js):

在8s内拉取test分支代码(时间与仓库代码大小也有关系),个人体验的是比较快速的。

6.4 执行yarn install时,发现问题,在安装node-sass包时,需要python环境,而默认vue.js的开发环境是没有的。

在这里插入图片描述

6.5 更换开发环境为“Ubuntu”,安装node环境即可。尝试将开发环境设置为”node”也不行。

# 使用wget 命令进行下载
wget https://npm.taobao.org/mirrors/node/v10.16.0/node-v10.16.0-linux-x64.tar.xz
# 使用tar对下载好的压缩包进行解压
tar xvf node-v10.16.0-linux-x64.tar.xz
mv node-v10.16.0-linux-x64 nodejs
# 全局使用node与npm
ln -s /usr/local/src/nodejs/bin/node /usr/local/bin/node
ln -s /usr/local/src/nodejs/bin/npm /usr/local/bin/npm

6.6 总结:

在这里插入图片描述


七、Coding与Cloud Studio结合:

7.1 Coding与Cloud Studio授权:

7.2 Cloud Studio打开新建工作空间:

7.3安装依赖环境报错:

在这里插入图片描述

7.4忽略版本:

7.5安装依赖:

在这里插入图片描述

7.6最后可以启动:

在这里插入图片描述

在云IDE中打开界面也是比较方便的,像我是iMac大屏,刚好多个几个窗口方便进行调试代码。


八、最佳实践 – 企业迁移实践案例:

由于大多数后端语言如Java、Go、Python、Rust、Net等都有相对应的模板,而公司有不少的业务是用PHP的Laravel框架开发的,所以,打算将公司的宠物预约系统迁移到Cloud Studio上,做一个最佳实践的企业级项目迁移案例Demo,同时,也期待官网也能推出“世界上最好的语言PHP”的框架模板。

在这里插入图片描述
具体相关代码,参考GitHub地址:Cloud Studio 活动演示代码案列狗狗预约系统

8.1 使用常用模板的“Ubuntu模板”来搭建PHP 7.4的开发环境。

使用Ubuntu服务器手动搭一个PHP环境,因为过程比较复杂,所以,专门也写到了一个shell脚本进行安装。
在这里插入图片描述

cd dog
# 修改shell执行权限
chmod -R 777 install.sh
在有Press[ENTER]时,注意回车一下

在这里插入图片描述

Shell脚本执行完成后,看看是否重启有OK,Nginx、PHP、Node、Npm、Redis等软件显示版本号。

在这里插入图片描述

cd DogApi
# 修改缓存文件可执行权限
chmod -R 777 storage
# 安装组件包,注意有几个包比较老,需要输入”Y”升级一下
compose update

在这里插入图片描述
在这里插入图片描述

Cloud Studio系统默认就支持Docker和docker-compose,本人习惯使用docker-compose安装MySQL。

cd dog
chmod -R 777 docker
docker-compose up -d
docker exec -it 容器id env LANG=C.UTF-8 /bin/bash
mysql -u root -p
输入密码
执行dog文件夹下的dbsql.sql文件

在这里插入图片描述

使用yarn install进行拉取Vue项目依赖包。

在这里插入图片描述

先执行yarn dev,启动内置浏览器,找到公网的临时域名,复制到DogVue下面的.env.development文件中,修改VUE_APP_BASE_API为公网的临时域名。

在这里插入图片描述

再将yarn dev关闭,因为修改了配置文件,所以,需要重新启动一下。

在这里插入图片描述

再开一个窗口,显示PHP blade模板的预约页面,注意端口为80端口。

在这里插入图片描述

如下为后管Vue的页面显示。
在这里插入图片描述

8.1.1 计划任务:

Linux环境下定时或者周期性的执行一些任务通常由cron这个守护进程来完成,这是一个系统自带的相对也比较方便的系统工具。

sudo apt-get install cron

目录结构:

目录说明
/var/spool/cron/crontabs用户调度任务目录,是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
/etc/crontab系统调度任务,主要负责调度各种管理和维护任务,比如写缓存数据到硬盘、日志清理等。
/etc/cron.d/用来存放任何要执行的crontab文件或脚本。

可以看到当配置完crontab后,就可以看到触发了发送短信的定时任务Schedule,可如下为打印出来的日志,当然,改造的代码只是做了日志的输出,并没有真实去发送短信。

在这里插入图片描述

这里云IDE Cloud Studio上,自带也是有任务调度的功能,但是研究了几天没有成功,就放弃了选择安装一个cron来临时使用。

8.1.2 企业项目迁移说明:

由于本项目是微信版本的,所以,在测试环境中不方便暴露出公司的APPID、APPSECRET、微信支付的密钥与cert证书等信息,同时,由于临时公网域名是在一定周期有变化,需要不停的在微信公众平台去设置“网页授权域名”、“支付回调URL”,所以,修改为兼容H5环境也可以打开的代码。

  • 使用H5打开地址提示“请在微信客户端打开链接”,应该需要微信浏览器才能打开。
  • 测试模板消息可以发送成功。

在这里插入图片描述

以上是,在尝试使用Ubuntu 20版本的搭建LNMP环境中,能够完全正常启动公司目前的宠物预约项目,可以轻松平滑的由本地IDE迁移到云IDE Cloud Studio上。

思考:迁移可行性是验证过了,但是每次新来一个同事,又要使用命令或shell脚本,重复机械式的安装一次“Ubuntu模板”吗?能不能像docker-compose容器编排工具写一个类似的yaml文件呢?

带着这个问题,可以使用下面的“自定义模板”来解决这个问题。

8.2 使用新建“自定义模板”,来解决开发环境的复用性,用来提高效率:

在这里插入图片描述

提交完成后,有一个自定义模板“Cloud Studio 活动演示代码案例狗狗预约系统”,直接点击就可以初始化一个我们需要的环境,非常的方便。

在这里插入图片描述

如果需要导出给其它同事使用,就使用以下导出的workspace.yml,直接使用yml文件进行导入。

version: "v1"
image: "cloudstudio-devops-docker.pkg.coding.net/artifacts/workspace/ubuntu-20.04:2023-04-25.0943"
extensions:
- "dbaeumer.vscode-eslint@2.4.2"
- "Vue.volar@1.8.8"
- "esbenp.prettier-vscode@10.1.0"
lifecycle:init:- name: "安装环境"command: "chmod -R 777 ./install.sh && ./install.sh"
sidecar:mysql:enabled: truepassword: "123456"database: "dog"port: 3306
name: "Cloud Studio 活动演示代码案例狗狗预约系统"
description: "Cloud Studio 活动演示代码案例狗狗预约系统,php + vue"
tags:
- "Ubuntu"
repository: "https://github.com/lilyasgbfdsr/dog.git"
ref: "main"
storage:copy_to_working_dir: true
category: "userDefined"
sort: 0
show: true

九、中间件的搭建使用方式:

在项目中开发中,常常会用到Mysql、Redis、Elasticsearch、RabbitMQ等中间件。

一般在项目开发过程中,有3种方式来使用中间件:apt-get安装、使用docker启动一个容器、第三方服务的云中间件。

在这里插入图片描述

9.1 根据不同的使用方式,也存在不同的体验效果:

(1). apt-get安装:

  • 优点:apt-get安装非常简单,只需要一行简单的命令即可完成,内部自动解决依赖关系,无需手动去安装其他关联的软件包。
  • 缺点:apt-get安装的可能不是最新的包,缺乏一些个性化设置。

(2). 源码安装:

  • 优点:手动下载安装可以获得灵活安装任一版本的MySQL,并且可以根据需要进行个性化需求的设置。
  • 缺点:手动下载安装,需要自己手动解决软件之间的依赖关系。

(3). Docker安装:

  • 优点:Docker安装可以隔离应用与其他软件的环境,并且可以方便地进行多个版本应用的管理。
  • 缺点:需要具备一定的Docker知识,并且对硬件资源的占用较高。

9.2 三种方式使用中间件:

(1). apt-get安装Redis:

apt-get install redis-server -y

在这里插入图片描述

注意这里有一个问题是,安装完Redis后,打开Redis客户端时不能连接6379端口,需要修改一下配置文件,否则服务无法正常停止:

  • 使用vi打开/etc/init.d/redis-server 文件
  • 找到 start-stop-daemon -v --start --umask 007 --pidfile $PIDFILE --chuid redis:redis --exec $DAEMON – $DAEMON_ARGS 行
  • 去掉 --chuid redis:redis

或者,觉得麻烦,可以直接使用我shell提供的命令:

sed -i "s/$PIDFILE --chuid redis:redis --exec/$PIDFILE --exec/" /etc/init.d/redis-server

在这里插入图片描述

可以看到,修改完配置文件重启一下,就可以使用Redis。

(2). docker-compose安装MySQL:

version: '3'networks:common:driver: bridgeservices:
### MySQL ################################################mysql:restart: alwaysbuild:context: ./mysqlcontainer_name: mysql-dockercommand: --innodb-use-native-aio=0environment:MYSQL_DATABASE: testMYSQL_ROOT_PASSWORD: rootports:- "3306:3306"
ARG MYSQL_VERSION
FROM mysql:5.7
# Set Timezone
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
RUN chown -R mysql:root /var/lib/mysql
COPY conf/my.cnf /etc/mysql/conf.d/my.cnf
RUN chmod 0444 /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]
EXPOSE 3306

在这里插入图片描述

(3). 腾讯云TDSQL-C MySQL中间件:

在这里插入图片描述
在这里插入图片描述

从上图可以看到TDSQL-C MySQL比开源的MySQL性能要好很多,在腾讯云购买TDSQL-C MYSQL实例后,需要开通一下外网的地址,再使用DMC数据库管理工具导入数据库表。
在这里插入图片描述

在Laravel框架中的env中配置DB实例的参数,再运行程序,发现可以无障碍访问,查看SQL的打印日志如下。

在这里插入图片描述

9.3 总结:

对于中间件的测试,通过不同的方式(从源码安装、apt安装、Docker安装、云上中间件)进行测试,腾讯云 Cloud Studio都可以支持,出了一些小问题,本人也找到了解决方案,完全可以应对于项目的正常开发。

在这里插入图片描述


十、iterm2配置alias提高开发效率:

在使用Mac进行项目开发时,由于习惯使用Linux命令,所以,一般会在iterm2中自定义很多快捷键(别名alias)来帮助命令行操作,使用别名可以减少命令行下的输入,优雅地提高效率。

10.1 什么是alias?

alias简单的可以理解为常用命令的别名、简称,可以将冗长的命令写入此文件中,设置自己喜欢的别名简称即可,比如,需要通过ssh来远程连接服务器端,就可以设置一个别名来快速连接。

格式: alias 【别名简称】='[个人所需要执行的指令命令] ’

10.2 解决了什么业务痛点?

平常在shell终端上执行的命令繁琐冗长,十分的费时间,可以使用一个简称别名来替代,这样不仅可以避免出错而且还可以提高工作效率。

vim ~/.zshrc
# 重新加载一下配置文件,否则不能生效
source ~/.zshrc

在这里插入图片描述

alias ll="ls -l"
alias gss="git status"
alias gf="git diff"
alias gp="git pull origin master"
alias gc="git checkout ."
# 重启所有服务
alias reloadAll="service php7.4-fpm restart && service nginx reload && service redis-server start"
# 访问指定的后端目录
alias api="cd /workspace/clang-quickstart/DogApi"
# 访问指定的前端目录
alias vue="cd /workspace/clang-quickstart/DogVue"

可以看到使用了alias别名后,工作的效率也是提高了不少,本人Mac中也是集成了大量的alias别名,比如输入code打开vscode等等,可以为开发工作中节省不少时间。

在这里插入图片描述


十、搭建过程中遇到的问题及解决方案:

10.1 使用URL::asset()获取URL错误,只能获取到端口后面一串。

Laravel 5使用 HtmlBuilder 及 URL::asset() 引入站内或站外的 css 和 js 文件。

在这里插入图片描述

在这里插入图片描述

经测试发现,将URL::asset()改为相对路径即可。

在这里插入图片描述

10.2 启动php-fpm失败,经查看日志发现是有一个PID没有创建,创建对应的文件即可。

在这里插入图片描述

10.3 使用curl 127.0.0.1访问接口是正常的,但是在页面中显示不出来验证码,改为临时公网域名访问即可。

在这里插入图片描述

10.4 使用docker exec打开MySQL控制台,执行insert语句会有乱码出现。

在这里插入图片描述

在页面中也发现插入的数据显示乱码,应该是环境语言的编码出问题了,经过查询资料找到,在进入MySQL docker时,需要增加参数 env LANG=C.UTF-8,再查询中文就显示正常。

docker exec -it 容器ID env LANG=C.UTF-8  bash

10.5 超过10分钟没有操作时,点击“重新连接”,Nginx、PHP、Redis服务直接挂了,如下是“重新连接”进入控制台,使用ps aux发现,并没有Nginx、PHP、Redis等服务,需要手动再次启动一下。

在这里插入图片描述

10.6 Docker挂载本地目录时,提示“permission denied”,但是使用chmod赋予了777权限也是不行,可能是操作文件之类不允许。

在这里插入图片描述

10.7 “手动新建模板”时,发现自定义命令写的shell不能一条一条串行执行,因为它是直接打开好几个shell窗口去执行,并没有按顺序来,执行完一条再执行下一条。只能采取使用&&来兼容处理一下。

在这里插入图片描述

10.8 “手动新建模板”时,发现报错501,经排查,发现是lifecycle中的command参数太长导致的,如何让命令保证串行执行,也不能一条命令写太长,这里要注意一下,希望官方能改进一下,目前只能在install.sh脚本中写大量的操作逻辑。

在这里插入图片描述


十一、最佳实践 – 企业项目迁移SWOT分析:

通过对企业的微信项目进行迁移到Cloud Studio云IDE上,可以完全满足业务的开发,而且门槛也比较低,基本也没有太多的风险点,下面是个人总结的SWOT,可仅大家参考一下。

在这里插入图片描述

经过迁移的过程实践,本人总结了以下可以提效的场景,最直接的就是微信的授权、支付回调调试,比以前能省去70%的工作量。

在这里插入图片描述


十一、协作共享:

多人开发写作套件MetaWork,支持可以将当前运行的工作空间共享给参与者,实现追踪他人光标、共享终端、代码讨论、音视频等功能。

Cloud Studio 云端 IDE 推出最新套件 MetaWork ,通过开启项目工作空间的协作模式,开发人员之间的工作能够通过音视频和留言互助联动,使开发工作更具沟通便捷性与高效性。

11.1 发起协作:

  • 发起者点击“开始协作”按钮,即生成协作邀请信息。

在这里插入图片描述

11.2 邀请成员:

  • 发起者可通过点击“邀请成员”按钮,即生成协作邀请信息。
  • 发起者点击“再次复制链接”按钮,将邀请信息粘贴发给需要参与项目的人员。
  • 同时,项目进入协作计时,计时显示在右上角控制面板中。

邀请信息内容具体如下:

lilyasgbfdsr 邀请您加入工作空间协作。 点击链接:https://cloudstudio.net/share/zsruwl Cloud Studio MetaWork多人协作,让开发更高效 🚀

在这里插入图片描述

11.3 加入邀请:

  • 被邀请者,输入邀请信息的链接后,可以点击“立即加入”,此时,会变成置灰的“等待发起者的同意”。
  • 邀请者同意后,就可以初始化一个与邀请者一样的工作空间。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

11.4 开始协作:

  • 支持在线留言、视频、语音通话等写作方式来进行沟通
  • 在协作过程中,还可以看到每个用户的光标在哪,正在修改的代码区域,就像自己在操作一样
  • 多人协作的时,可以实时看到每个人分别在写什么代码,而且交互的速度非常快、很流畅

在这里插入图片描述


十二、Cloud Studio如何在工作中的降本增效?

12.1 使用云IDE Cloud Studio的作用:

云IDE Cloud Studio促使云开发的发展,让软件的生命周期中的各个环节得以无缝衔接,充分发挥云的优势,推动云端资源工具化,为开发者提供整套的解决方案和降本增效的生态。
在这里插入图片描述

12.2 Cloud Studio是如何在工作中进行降本的?

在这里插入图片描述

12.3 Cloud Studio是如何在工作中进行增效的?

在这里插入图片描述

12.4 Cloud Studio在其它方面的场景带来的增效:

在这里插入图片描述


十三、场景推广:

在线云IDE存在有很多优势,比如在企业进行企培时,是不能使用盗版软件的,之前也是付费购买版权,像JetBrains一套的费用还是挺高的,Cloud Studio 每个月为 2C4G 的机型提供了约 3000分钟的使用时长,对于短期开发用户或者团队来说是一个非常不错的选择。

有利有弊,云IDE也不是所有的场景都适合,以下为Cloud Studio比较适合的场景,基本上涵盖比较多的领域和场景:

在这里插入图片描述
以下是对企业级项目迁移的评估,腾讯云Cloud Studio可以有效的将我们本地IDE开发,迁移到云上开发,通过云上的弹性资源可以动态的扩展,通过很多提效的措施,如自定义模板、资源弹性扩展等,降低了开发的成本,可以让开发者专注业务的开发,可以与合作伙栏更好的进行协作。

在这里插入图片描述


十四、优化与建议:

14.1 问题点:

以下是在使用中,遇到的一些问题,基本上都能找用其它的解决方案。
在这里插入图片描述

14.2 体验优化建议:

在这里插入图片描述
在这里插入图片描述


十五、总结:

云计算让CICD、软件交付变得轻量,而云开发 Cloud Studio 则是把开发到交付部署之间的距离拉的更近。

现阶段来说,在我工作中的应用场景(Demo练习、学习测试),使用一些默认的配置足够使用了,在工作中从事前端开发工作(工作中Vue、React的前端开发),经过在Cloud studio最佳实践的迁移公司PHP业务的项目也是可以满足需求的,最好提供了一个可使用测试服务器的配置,唯一一点可能是时长的限制,可以使用自己的服务器替代。
和传统的云主机部署相对比,基于容器化底层技术的Cloud Studio会更加轻量、更加快捷。
在这里插入图片描述

通过对 Cloud Studio 协作开发体验下来可以感受到云协作的便捷与强大,特别是在有些领域和场景下,推动云端资源工具化,为开发者提供整套的解决方案和降本增效的生态,赋能业务开发,实现降本增效的应用。

这篇关于【腾讯云 Cloud Studio 实战训练营】 - 云IDE编程之旅化繁为简的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/226167

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念