• CloudIDE 启动一个web任务后如何停止啊?小白求助
    如图,启动一个springBoot任务后,如何停止啊?找不到停止选项.jpg
  • CloudIDE Python excel文件转入mysql数据库
    #导入MySQL包 import pymysql #导入读excle的包 import xlrd #打开数据库连接 conn = pymysql.connect(host="*****", port=3306, user="***", passwd="*******", db="grdb") #创建游标 cursor=conn.cursor() #打开EXCEL文件 book=xlrd.open_workbook("collection.xls") #阐明excel表的sheet名 sheet=book.sheet_by_name("Sheet1") #数据库插入语句 sql="insert into student values(%s,%s,%s)" #for循环迭代读取excel表中的每一行数据,第一行是列名,所以从第二行开始读取 for i in range(1,sheet.nrows):   #sheet.nrows表示总行数,sheet.ncols表示总列数     a=sheet.cell(i,0).value      #表中每个单元格是一个cell对象,这里返回cell对象的值 就是单元格中元素的值     b=sheet.cell(i,1).value     c=sheet.cell(i,2).value     param=(a,b,c)     cursor.execute(sql,param) conn.commit() cursor.close() conn.close()excel文件可以放在ECS上,也可以上传到Cloud IDE的工作空间上(如果满足文件大小限制)。点击资源管理器空间,右键,上传文件。执行结果:
  • CloudShell登录超时后退回到CloudIDE界面
    超时后,直接退回到CloudIDE的页面重新进入,还需要继续从控制台-》ECS-》远程登录,不太方便。
  • CloudIDE 连接MySQL数据库
    #coding=utf-8 import pymysql try:     conn = pymysql.connect(     host = "*****",     port = 3306,     user = "wxx",     passwd = "87654321"     )     cur = conn.cursor()     cur.execute("CREATE DATABASE IF NOT EXISTS grdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;")     cur.close()     conn.close()     print("创建数据库pythonDB成功! ") except pymysql.Error as e:     print("Mysql Error %d: %s" %(e.args[0],e.args[1]))pymysql的库直接在命令行pip install就行,其实一开始是想试试插件怎么用,可惜没找到相关的资料。正好前面开发者闯关活动的ECS资源还能用,直接用它换个Ubuntu镜像,安装mysql,设置了用户和授权。重要的事情说三遍:修改配置生效要重启mysql服务!重启mysql服务!重启mysql服务!这个小问题,绕了一大圈,查了两边ECS、couldIDE的防火墙和配置,回头发现service mysql restart重启服务居然好了!
  • cloudIDE怎么放开icmp端口?
    应该是端口没有放开的原因,查了下手册,没有找到添加的方法,右手侧这里协议固定,不能改成别的了。请教大家,有什么方法能放通icmp包么?
  • [技术干货] CloudIDE插件开发实战:教你如何调试代码
     摘要:今天我们来重点介绍下CloudIDE插件的调试技巧,在插件开发过程中调试作为重要的问题分析和定位手段能够有效帮助开发者提升插件质量。今天文章中的样例工程我们继续以上一篇《实战CloudIDE插件开发-快速上手》中的项目为基础,深入介绍插件的调试方法。可能有的开发者对于插件的前后端相关概念会有所疑惑,大家可以参考这篇插件开发指南详细了解插件开发过程中会用到的基础概念和开发技巧。后端调试在插件的src/node/目录下存放的是插件的后端代码,后端代码运行在IDE实例的nodejs环境中,插件项目在创建的时候已经默认生成了一个后端文件backend.ts,对于轻量级的插件,只需要在该文件中添加自己想要实现的业务功能即可,该文件包含了三个默认的方法init()、run()、stop()。另外还默认添加了一个doSomething方法,这个方法仅仅是作为示例使用,开发者可以根据需要进行修改或删除。这里我们简单介绍下init, run和stop方法,详细的解析可以参考插件开发指南。init()函数作为该后端实例的初始化方法,可以在插件启动的时候进行一些初始化操作,写在该函数中的代码一定会先于run和其他函数被调用,这里需要注意的是对于前端暴露给后端的函数不能再init函数中进行调用,也就是不能在init方法中执行this.plugin.call调用。run()函数作为后端实例的主逻辑函数,承担着业务功能入口的作用,在该函数中可以方便地调用CloudIDE的API,比如cloudide.window.showInformationMessage(`hello world!`); 也可以调用前端暴露出来的函数,也就是可以在该方法中执行this.plugin.call调用。stop()函数将会在插件被停止前被调用,如有需要可以进行一些资源清理的操作。接下来将分七步来介绍调试的过程,大家可以对照动图来看下面的文字说明:1. 打断点,我们尝试在backend.ts的run()函数中打上一个断点。2. 按F1或者点击查看->命令面板调出命令面板。3. 输入Hosted Plugin进行搜索,选择Hosted Plugin: 调试实例。弹出的路径选择对话框我们保持默认,因为我们的项目根目录默认就是我们需要调试的插件。4. 等待调试实例启动,右下角弹出端口监听提示,我们点击确定。5. 在弹出的端口外部访问权中给实例的监听端口添加外部访问权,注意:这里的协议需要选择https,添加完成之后如右图所示。6. 点击访问就可以访问我们刚刚启动的调试实例,在弹出的调试实例中我们等待插件被加载,然后切换回我们的CloudIDE开发实例。7. 断点被命中并暂停在断点处,此时可以方便地查看调用堆栈、变量或者添加监视表达式。同样,我们也可以在其他的方法中打上断点,大家有兴趣也可以通过断点的方式来验证下init()、run()以及stop()被执行的顺序。前端调试与插件的后端不同,前端的代码最终将被编译并运行于浏览器环境中,前端的代码存放于src/browser目录中,插件项目在创建的时候会默认生成了两个前端源码文件frontend.ts和dynamic-webview.ts。这两个文件的内容与后端backend.ts的结构非常相似,只不过运行的环境不同而已,这里就不再重复对这两个文件中init()、run()、stop()方法进行介绍。由于前端运行再浏览器环境中,我们的代码调试将借助于浏览器自带的调试功能来完成,我们直奔主题,看看怎么样来调试前端代码。前端代码调试将分为以下几个步骤,大家同样可以对照动图来看下面的文字说明:1. 明确需要调试的代码所在的函数,比如这次调试的前端函数叫myApi()。2. 切换到调试实例,按F12调出开发者工具。3. 在页面列表中我们找到自己插件的首页,这里是index.html (小技巧:很多开发者都会使用默认的首页名称,为了方便查找自己的插件首页,可以将首页文件名进行修改)。接下来逐级向下展开到active-frame/{调试实例地址}/webview/dist/index.js。打开index.js文件。简单总结下,CloudIDE插件的调试其实分为前后端,后端的调试可以借助CloudIDE本身完成,而前端代码的调试则需要借助于浏览器的调试能力,在掌握调试技能之后在后续的插件开发过程中对疑难问题的定位和解决将非常有帮助。在后续的文章中将对插件的运行机制和API进行深入介绍,有兴趣的读者也可以先参考插件开发指南进行了解。
  • [技术干货] CloudIDE解答福大大每日一题之均分数组问题
    n个物品每个物品都有一定价值,分给2个人,怎么分两个人的价值差最小?答:先随意分成两组,然后求和比较,找跟差值/2相近的物品,重分配。再次计算,直至差值收敛。回答的时候随口胡诌,上代码可费了牛劲了~百度下是用背包问题来解,当时思考是仿照现实的解法,大不了多循环几次呗。但是收敛的条件不大好控制。背包会不会更简单点呢?因为附加了全局的资源视角。引申开来,如果想更容易的得到公平,跳到小圈子外面的视角更容易实现吧。numbers = [1,3,5,6,7,9,2,4,22,8,20,18,73,70,33,32,13,71]#给定数组min1=min(numbers)#数组最小值max1=max(numbers)#数组最大值p=len(numbers)//2#数组长度n1=numbers[0:p]#均分数组1n2=numbers[p:]#均分数组2#total=sum(numbers)dev0=0#两个数组的差值初始值dev=max1minus2=max1#差最小值初始设置成数组最大值t_m=max1#最接近差的数初始设置成数组最大值i=0#迭代次数dev0=0flag=1while dev!=0 and dev!=min1 and flag==1:#差等于0或者差等于数组最小值时停止循环       sumofn1=sum(n1)    sumofn2=sum(n2)    dev=sumofn1-sumofn2     i+=1        if dev<0:        n3=n2        n2=n1        n1=n3#交换两组数据,让n1的和恒大         dev=-dev    print("---------------------------------------------------------------")        print("第%d次迭代中差值为:%d n1的和:%d n2的和:%d"%(i,dev,max(sumofn1,sumofn2),min(sumofn1,sumofn2)))        if abs(dev)==abs(dev0):#出现死循环        print("wrong!")        break    else:        if abs(dev)>abs(dev0) and i!=1:#退回最近的一次倒换            if minus!=0:#每次只替换一次                if t_m in n2 :                    n2.remove(t_m)                    n1.append(t_m)                      print("第三分支交换回退%d"%t_m)                            print(n1,n2)                else:                    n2.remove(t_m)                    n1.append(t_m)                    tempb=min(n1, key=lambda x: abs(x -2*t_m)) #从n1中找最接近m的数,与n2中的m交换                        n1.remove(tempb)                    n2.append(tempb)                     print("第四分支交换回退")            print("回退分支未执行%d"%minus)            break      dev0=dev #dev0上一次循环的差    print(n1,n2)       for m in numbers:        minus=abs(m-abs(dev//2))#每个值都与数组和之差比较绝对值        #print(minus)        if minus==0:             #print(m,"最终结果")                 if m in n1:#多补少,直接交换过去                n1.remove(m)                n2.append(m)                 t_m=m                print("持平!第一分支交换 %d"%m)                print(n1,n2)                flag=0                break #持平,中止            else:                tempa=min(n1, key=lambda x: abs(x -2*m))                tempb=min(n2, key=lambda x: abs(x -m))  #从n1中找最接近m的数,与n2中的m交换                     if (tempa-2*m)<=0:                    n1.remove(tempa)                    n2.append(tempa)                    #从n1中找最接近m的数,与n2中的m交换                    n2.remove(tempb)                    n1.append(tempb)                    t_m=tempb                else:                    tempb=min(n2, key=lambda x: abs(x -tempa))                    n2.remove(tempb)                    n1.append(tempb)                    n1.remove(tempa)                    n2.append(tempa)                 t_m=m                print("第二分支交换%d %d"%(tempa,tempb))                break        else:            if minus2>=minus:#发泡出最小差值                minus2=minus #最接近差的数的差                t_m=m        #最接近差的数      if minus!=0:#每次只替换一次        if t_m in n1 :            n1.remove(t_m)            n2.append(t_m)              print("第三分支交换%d"%t_m)                else:            n2.remove(t_m)            n1.append(t_m)            tempb=min(n1, key=lambda x: abs(x -2*t_m)) #从n1中找最接近m的数,与n2中的m交换                n1.remove(tempb)            n2.append(tempb)             print("第四分支交换%d %d"%(t_m,tempb))    print("最小差为:%d m=%d minus=%d"%(minus2,t_m,minus))                print("*********************************************************************************") sumofn1=sum(n1)sumofn2=sum(n2)dev0=sumofn2-sumofn1print("n1的和:%d n2的和:%d"%(max(sumofn1,sumofn2),min(sumofn1,sumofn2)))   print("最后结果差值为:%d"%dev0) print(n1,n2) 用CloudIDE运行下:
  • 今天CloudIDE打开代码 任务无法完成
    今天CloudIDE打开代码 任务无法完成先是提示未开通CloudIDE点了开通后提示实例不存在有人解答一下吗
  • 日常任务之启动CloudIDE实例
    第一步:点击免费创建第二步:创建IDE实例,将相应位置信息填好第三步:完成,回到会员中心,刷新页面
  • 如何完成日常任务
    昨天有人问怎么提交代码,做完了就忘了,反正是照着手册做的。今天再翻,天,手册也找不到了那就先做个简单的,用CloudIDE打开代码,直接点击任务,就会弹出提示:这是昨天按照手册新建的仓库,额,直接新建就好了,就是一个hello world。建好了,就是这个样子的,注意下右手侧操作栏理的黄色小帽子,是CloudIDE的标志,点击就直接在CloudIDE环境打开你的项目。这样用CloudIDE打开代码的任务就完成了。下面继续,在代码托管的项目右手侧的三个点那点击右键,新建文件,这里增加的是一个md文件。增加完后,执行代码检查,然后分支合并。昨天做的的是从slave新增一个文件,然后合并到master中。这些都做完了,发现,代码提交的任务已经完成了。暂时先解锁这么多吧。部署和发布需要主机组,先放下。
  • cloudide里面的代码是不是不能跳转呀?
    比如在这里,按住CTL,点get_file,没有反应的。我想看看get_file的定义
  • 【求助】鲲鹏架构CloudIDE,使用C语言char类型遇到的问题。
    问题:把x86运行正常的代码放到鲲鹏架构CloudIDE中,遇到了char类型无法正确输入输出的问题。x86运行正常的代码在二楼!!!代码要实现的功能:编写一程序,从键盘上输入任意两个数和一运算符(+:加,-:减,*:乘,/:除),采用switch语句,注意当运算符为除(“/”)时,需要判断除数不能为0,程序会报错,条件全部满足后,计算其运算的结果并输出。在鲲鹏架构的CloudIDE中已经进行的相关操作:源代码直接放到CloudIDE上,无char类型输入过程,直接结束程序。根据官方手册:https://support.huaweicloud.com/pinsrcase-kunpengprocs/kunpengprocessor_18_0004.html中“x86架构下为signed char,在Arm64平台为unsigned char”,把正常代码中的char类型全部替换为unsigned char,并把输入输出用的格式控制字符改从%c改为了%u,运算符能输入,但是输出错误。怎么修改才能让程序的结果和x86平台的结果一致。求指点。在鲲鹏架构的CloudIDE中运行代码如下。#include <stdio.h> int main()  {     float a, b;  //存放两个数的变量     int tag = 0; //运算合法的标志,0--合法,1--非法     unsigned char ch;     //运算符变量,已经替换为鲲鹏架构下unsigned char     float result;//运算结果变量     //这里写输入部分     printf("input two number:");     scanf("%f %f", &a, &b);     fflush(stdin);     printf("input arithmetic lable(+ - */):");     scanf("%u",&ch);         switch(ch)     {         case('+'):result=a+b;break;         case('-'):result=a-b;break;         case('*'):result=a*b;break;         case('/'):             if(!b)             {                 printf("divisor is zero!\n");                 tag=1;//运算非法标志提示             }             else                 result=a/b;             break;         default: printf ("illegal arithmetic lable\n");//非法运算符提示             tag=1;     }     if(!tag)     //这里写输出部分     printf("%.2f %u %.2f=%.2f", a, ch, b, result);     return 0; }结果如下所示,无法得到正常结果。源代码在x86平台运行结果如下,运行正常。
  • CloudIDE——培训公司的神秘来客
    既敏捷,又便捷,想要体验云端编程,快快点击华为云CloudIDE吧~
  • [交流吐槽] CloudIDE——培训公司的神秘来客
    视频贴既敏捷,又便捷,想要体验云端编程,快快点击华为云CloudIDE吧~
  • CloudIDE中使用OBS云资源
    准备工作:申请一个OBS资源,创建一个桶。开启一个CloudIDE实例,打开一个terminal,先下载并安装obs的工具obsutil。配置obsutil:需要用到开发者的我的凭证->访问密钥->新建访问密钥的AK,SK。使用obsutil命令在桶中新建一个文件夹test
总条数:215 到第
上滑加载中