-
如图,启动一个springBoot任务后,如何停止啊?找不到停止选项.jpg
-
欢迎小伙伴们体验《WEB安全防护实践》实验,有任何问题都可以在这里讨论交流哦! 通过本实验:§ 您将学习 通过进行DNS解析配置,使用Web应用防火墙进行关于WAF的WEB安全防护实践。完成本实验,能够了解和掌握华为云WEB应用防火墙使用方法,掌握WEB安全防护操作及原理,建立WEB防护安全意识。§ 您将体验 1.准备环境 2.配置DNS解析 3.Web应用防护墙 WAF防护体验§ 您将掌握掌握WEB安全防护操作及原理如何配置DNS解析 实验开始前,推荐您先学习相关课程,掌握实验背景知识: 1. 《循序渐进了解华为云安全》 2.《云时代下的网络安全》 3.《华为云安全架构》 4.《华为云服务 - 云安全服务》 实验完成后,欢迎学习相关领域微认证,认证您的AI技能: 微认证:《云上主机安全》实验过程中,如有任何问题可在该帖进行交流,也可以添加华为云学院小助手(微信号:HWcloudedu),专业人员为您实时解疑答惑,互相交流,共同进步!如要提出问题,请详细描述您的问题及出现的步骤,附上实验操作截图,如有其他参考信息可一并附上。
-
public ServletFileUpload getServletFileUpload(DiskFileItemFactory factory) { ServletFileUpload upload = new ServletFileUpload(factory); //监听文件上传进度 upload.setProgressListener(new ProgressListener() { @Override public void update(long uploaded, long totalSize, int i) { System.out.println("已上传:"+(uploaded*100)/totalSize+"%"); } }); upload.setHeaderEncoding("UTF-8");//乱码处理 upload.setFileSizeMax(1024 * 1024 * 10);//设置单个文件的最大值10M upload.setSizeMax(1024 * 1024 * 100);//设置总共能上传文件的最大值100M return upload; } public String uploadParseRequest(ServletFileUpload upload, HttpServletRequest req, String uploadPath) throws FileUploadException, IOException { String msg = ""; //把前端请求解析,封装成一个List对象 List<FileItem> fileItems = upload.parseRequest(req); for (FileItem fileItem : fileItems) { if (fileItem.isFormField()) {//判断上传的文件是普通的表单还是带文件的表单 String name = fileItem.getName();//前端表单控件的name:username String value = fileItem.getString("UTF-8");//乱码处理 System.out.println(name + ":" + value); } else {//判断为上传的文件 //==================处理文件===================== String uploadFileName = fileItem.getName();//前端表单控件的name System.out.println("上传的文件名:" + uploadFileName); if (uploadFileName.trim().equals("") || uploadFileName == null) {//可能存在不合法的情况 continue; } String fileName = uploadFileName.substring(uploadFileName.lastIndexOf("/") + 1);//文件名 String fileExtName = uploadFileName.substring(uploadFileName.lastIndexOf(".") + 1);//文件后缀名 System.out.println("文件名:" + fileName + "--文件后缀:" + fileExtName); //==================存放地址================== String uuidPath = UUID.randomUUID().toString(); //文件存储的真实路径 String realPath = uploadPath + "/" + uuidPath; System.out.println("文件上传到的位置:"+realPath); //给每个文件创建一个文件夹 File realPathFile = new File(realPath); if (!realPathFile.exists()) {//如果文件夹不存在,则创建一个 realPathFile.mkdir(); } //==================文件传输================== //获得文件上传的流 InputStream inputStream = fileItem.getInputStream(); //创建一个文件输出流 FileOutputStream fileOutputStream = new FileOutputStream(realPath + "/" + fileName); //创建一个缓冲区 byte[] buffer = new byte[1024 * 1024]; //判断读取是否完毕 int len = 0; while ((len = inputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, len); } //关闭流 fileOutputStream.close(); inputStream.close(); msg = "上传成功"; fileItem.delete();//上传成功,清除临时文件 } } return msg;}文件上传的注意事项1、为保证服务器安全,上传的文件应该放在外界无法直接访问的目录下,例如放在WEB-INF目录下。2、为了防止文件覆盖的现象,要为上传的文件产生一个唯一的文件名(可以为每一个上传的文件增加一个uuid或时间戳为名的文件夹)3、限制上传文件的最大值4、限制上传文件的类型,在收到上传文件时,判断其后缀名是否合法,是否为自己限制的类型
-
3.3.3 Number具有范围和步长支持的数字输入字段。 附加属性包括“min”、“max”和“step”。“Number”类型输入参数的示例如下所示。{ "key":"number_sample", "display":"Numeric Input", "type":"number", "default":50, "min":"0", "max":"100", "step":"1", "required":true}前端渲染效果如下图所示。图3-6 “Number”类型输入参数示例3.3.4 Password带掩码的文本输入类型,用于密码文本等输入。“Password”类型输入参数的示例如下所示。{ "key":"password_sample", "display":"Password Input", "type":"password", "default":"default", "required":true}前端渲染效果如下图所示。图3-7 “Password”类型输入参数示例3.3.5 Selection“Selection”代表下拉选择列表,分为“静态选择”和“动态选择”。1. 静态选择预定义值的静态选择列表。附加属性为“choices”。“静态选择”类型输入参数的示例如下所示。{ "key":"selection_sample", "display":"Static Selection Sample", "type":"selection", "default":"default_value", "required":true, "choices":[ { "display":"item_1", "value":"1" }, { "display":"item_2", "value":"2" }, { "display":"item_default", "value":"default_value" } ]}前端渲染效果如下图所示。 图3-8 “静态选择”类型输入参数示例
-
根据上述元数据,前端渲染出的组件效果如下图所示。图3-2 “sample_component”组件效果点击“sample_component”组件后,组件配置如下图所示。图3-3 “sample_component”组件配置用户配置完成该组件并启动业务流后,业务侧将对接收的元数据进行解析。其中,业务侧将根据“type”字段来确定执行逻辑。{ "id": "UUID", "name": "name", "category": "sample", "description": "description" "metadata": { "type": "sample_component", "configuration": { "parameter01": "parameter01 value", "parameter02": "parameter02 value" } }}3.3 输入元数据“组件元数据”的“inputs”属性,代表了当前组件的输入信息,其通过“输入元数据”来定义。“输入元数据”是输入参数的集合,它使得开发者可以用最少的代码来提供业务处理所需的信息。“输入元数据”基本属性如下表所示。表3-2 “输入元数据”基本属性务流的元数据框架中,当前支持多种“输入源数据”的参数类型,而且大多数类型都具有附加属性。接下来将对部分“输入源数据”的参数类型做简要介绍。3.3.1 Text通用的的纯文本输入类型。附加属性包括“maxlength”和“pattern”。“Text”类型输入参数的示例如下所示。{ "key":"text_sample", "display":"Text Input", "type":"text", "placeholder":"A input hint message here.", "default":"default input", "required":true, "maxlength":20, "pattern":"/.+"}前端渲染效果如下图所示。图3-4 “Text”类型输入参数示例3.3.2 TextArea多行文本区域输入类型。 附加属性为“maxlength”。“TextArea”类型输入参数的示例如下所示。{ "key":"textarea_sample", "display":"Text Area Input", "type":"textarea", "placeholder":"A input hint message here.", "required":true, "maxlength":100}前端渲染效果如下图所示。图3-5 “TextArea”类型输入参数示例
-
摘要:元数据是业务流中前端和业务侧实现共同使用的一种规范,是沟通前后端的桥梁,其通过统一的数据格式进行约束,从而约定前后端传参。使用元数据,大幅提升了开发效率,又降低了维护及二次开发成本。1 ROMA 业务流简介ROMA 业务流(以下简称“业务流”)是一个基于ROMA Connect平台的应用集成与数据开放服务,适用于跨实例、跨应用的企业系统集成场景。业务流支持通过可视化UI界面来创建任务,从而降低了不同经验背景的用户的开发门槛。图1-1 业务流demo2 元数据概述Metadata(以下称作“元数据”)是业务流的一个重要概念,用于约束前端生成的数据模型,同时驱动业务的逻辑实现,是前端页面和后端业务共同使用的一种规范。在前端的实现中,元数据负责驱动前端框架,用于构建一个完全由元数据建模动态生成的界面。在业务流开发过程中,只需添加新的Json格式的元数据即可添加新的组件,而无需再进行前端开发,这实现了快速开发、减少维护的目标。在业务侧,处理程序是按照元数据模型实现的,这也就意味着用户将会在前端输入足够执行业务侧的数据从而正确运行业务逻辑。并非为前端服务需要注意的是,元数据并不是以前端开发为中心,它主要是为模型的生成器和模型消费者提供一致的通用建模。在业务流中,前端框架只是严格按照建模的概念生成业务数据模型。但是业务侧不应受到前端的限制,应当适用于任何可以符合元数据正确生成数据模型的前端框架。元数据的另一个核心用法是“验证”,在后端服务中,服务应该在部署业务侧之前利用元数据模型来验证服务请求是否合法。图2-1 元数据驱动模型3 元数据属性3.1 组件组件是业务流任务中的基本单元,每个组件都有特定的功能,如“Open API”组件用于定义和开放一个API、“数据源”类型组件用于选择数据源用于数据迁移或者数据开放、“脚本处理”组件用于使用脚本处理数据等,用户通过配置和连接各种类型的组件进行业务编排。下图是当前业务流提供的组件。图3-1 业务流组件3.2 组件元数据开发过程中,通过添加新的“组件元数据”即可生成新的组件。“组件元数据”模型包含前端辅助数据和业务侧依赖的属性。“组件元数据”的关键属性如下表所示。表3-1 “组件元数据”属性通过定义上述属性,我们可以快速在前端添加新的组件。以下为一个类型为“sample_component”的元数据组件的示例。{ "type":"sample_component", "categories":["sample"], "display":"sample component", "description":"Input types illustration sample component", "iconURL":"", "inputs":[ { "key":"parameter01", "display":"parameter 1", "type":"text", "placeholder":"A input hint message here.", "default":"default_value", "required":true }, { "key":"parameter02", "display":"parameter 2", "type":"text", "placeholder":"A input hint message here.", "default":"default_value", "required":true } ]}
-
摘要:今天我们来重点介绍下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进行深入介绍,有兴趣的读者也可以先参考插件开发指南进行了解。
-
摘要:这篇文章,向大家展示了在日常开发中,数组有哪些小技巧值得借鉴和学习。在web前端开发第二阶段Javascript中,数组是一个重要且常见的知识点,我们经常将数据存储在数组中,遍历数组或替换数组元素日常开发我们都会用到。学习web前端开发,数组也是会经常用到的。这篇文章,向大家展示了在日常开发中,数组有哪些小技巧值得借鉴和学习,那让我们开始说吧!1.添加数组元素1)push() 在我们数组的末尾添加一个或者多个数组元素,push在英文中也是推的意思var arr = [1, 2, 3];// arr. push(4,pink' );console.1og(arr .push(4, ' pink'));console.1og(arr);(1)push是可以给数组追加新的元素(2) push() 参数直接写数组元素就可以了(3) push完毕之后,返回的结果是新数组的长度(4) 原数组也会发生变化2). unshift 在我们数组的开头添加一个或者多个数组元素console.1og(arr .unshift('red', ' purple'));console.1og(arr);(1) unshift是可以给数组前面追加新的元素(2) unshift() 参数直接写数组元素就可以了(3) unshift完毕之后,返回的结果是新数组的长度(4) 原数组也会发生变化|2.删除数组元素pop()它可以删除数组的最后一个元素console .log(arr. pop());console.log(arr);1) pop是可以删除数组的最后一个元素记住一 次只能删除个元素2) pop() 没有参数3) pop完毕之后,返回的结果是删除的那个元素4) 原数组也会发生变化shift() 它可以删除数组的第一个元素console.1og(arr .shift());console.1og(arr);(1) shift是可以删除数组的第一个元素记住一 次只能删除个元素(2) shift() 没有参数(3) shift完毕之后,返回的结果是删除的那个元素(4) 原数组也会发生变化3.数组去重怎么对JS的数组去重,有个非常快速且简单的方法,使用new Set()以及Array.from()或者展开运算符(...)var fruits = [“banana”, “apple”, “orange”, “watermelon”, “apple”, “orange”, “grape”, “apple”];// 方法一var uniqueFruits = Array.from(new Set(fruits));console.log(uniqueFruits); // 结果返回 [“banana”, “apple”, “orange”, “watermelon”, “grape”]// 方法二var uniqueFruits2 = [...new Set(fruits)];console.log(uniqueFruits2); // 结果返回[“banana”, “apple”, “orange”, “watermelon”, “grape”]4.替换数组日常开发中经常需要替换或者删除一些指定的数据,遇到这种场景时一定要联想到Array.protoType.splice这个方法。传参时稍微复杂点,第一个参数是开始的索引,第二个参数是需要删除的数量,剩下的就是需要添加的值(可以是一个或者多个)。var fruits = [“banana”, “apple”, “orange”, “watermelon”, “apple”, “orange”, “grape”, “apple”];fruits.splice(0, 2, “potato”, “tomato”);console.log(fruits); // 结果返回[“potato”, “tomato”, “orange”, “watermelon”, “apple”, “orange”, “grape”, “apple”]5.遍历数组在遍历数组建议使用for()循环或者for of;//for of遍历数组var arr=[1,2,3,4];for(var value of arr){console.log(value); var arr=[1,2,3,4];for(arr = 0; arr < arr.length; j++) {}6.清空数组有时我们需要清空一个数组,比如用户点击了清空购物车。可以一条一条地删除,但是很少有像我这么可爱的程序员,hhhhh。其实一行代码就能搞定,那就是直接将length设置成0就ok啦!var fruits = [“banana”, “apple”, “orange”, “watermelon”, “apple”, “orange”, “grape”, “apple”];fruits.length = 0;console.log(fruits); // 返回空 []7.数组转换为对象有时候需要将数组转换成对象的形式,使用.map()一类的迭代方法能达到目的,这里还有个更快的方法,前提是你正好希望对象的key就是数组的索引。var fruits = [“banana”, “apple”, “orange”, “watermelon”];var fruitsObj = { …fruits };console.log(fruitsObj); // 结果返回{0: “banana”, 1: “apple”, 2: “orange”, 3: “watermelon”, 4: “apple”, 5: “orange”, 6: “grape”, 7: “apple”}8.填充数组创建数组的时候,你有没有遇到过需要填充上默认值的场景,你肯定首先想到的就是循环这个数组。可以用.fill这个方法var newArray = new Array(10).fill(“1”); console.log(newArray); // 结果返回的都是1 [“1”, “1”, “1”, “1”, “1”, “1”, “1”, “1”, “1”, “1”, “1”] 9.合并数组 你知道如何合并数组吗,答案就是.concat()。 var fruits = [“apple”, “banana”, “orange”]; var meat = [“poultry”, “beef”, “fish”]; var vegetables = [“potato”, “tomato”, “cucumber”]; var food = […fruits, …meat, …vegetables]; console.log(food); //结果返回 [“apple”, “banana”, “orange”, “poultry”, “beef”, “fish”, “potato”, “tomato”, “cucumber”] 10.两个数组的交、差、补、并集 找出两个数组的交集的答案有很多,下面展示的是常用写法,直接使用 filter、concat 来计算 var a = [1,2,3,4,5] var b = [2,4,6,8,10] //交集 var c = a.filter(function(v){ return b.indexOf(v) > -1 }) //差集 var d = a.filter(function(v){ return b.indexOf(v) == -1 }) //补集 var e = a.filter(function(v){ return !(b.indexOf(v) > -1) }) .concat(b.filter(function(v){ return !(a.indexOf(v) > -1)})) //并集 var f = a.concat(b.filter(function(v){ return !(a.indexOf(v) > -1)})); console.log("数组a:", a); console.log("数组b:", b); console.log("a与b的交集:", c); console.log("a与b的差集:", d); console.log("a与b的补集:", e); console.log("a与b的并集:", f); 小结 这篇文章,向小伙伴们展示了在JS中怎么去操作数组的十种小技巧,其实在日常开发中,很可能还会遇到更加复杂的业务,希望你们能一一解剖成小问题,换个角度去思考,最终找到入手的地方来解决问题。
-
一、Elasticsearch单独使用1、Elasticsearch安装(建议Linux系统):步骤一:安装较新版本的Java,确保环境变量配置正确,JDK版本不能低于1.7_55。步骤二:安装Elasticsearch:https://www.elastic.co/cn/downloads/elasticsearch Linux版本$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz $ tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz windows版本:官网下载windows版本安装包,解压。2、Elasticsearch启动$ cd elasticsearch-7.10.0/$ ./bin/elasticsearch (Linux版本) $ .\bin\elasticsearch.bat (windows版本)运行成功后,浏览器访问http://localhost:9200/?pretty页面出现如下信息意味着启动成功了!!!或者打开另一个终端 执行:curl 'http://localhost:9200/?pretty' ,与上一种方式启动成功信息显示一致。(windows可以安装cURL)。可以搭配图形用户界面一起使用,安装kibana(https://www.elastic.co/guide/en/kibana/4.6/index.html), 与 elasticsearch 版本对应即可。二、Node连接MySQL1、安装ES模块$ npm install elasticsearch --save2、安装MySQL驱动$ npm install mysql --save3、这里的框架使用的是koa,先写配置文件,代码如下:4、插入数据,测试数据使用 [Faker-zh-cn.js](https://github.com/layerssss/Faker-zh-cn.js) 生成。5、使用ES全文高亮搜索,代码如下:
-
【功能模块】操作系统是centos7.6按照指导书安装完成以后,提示安装成功,可以登陆 https://ip:8082 进入 但是有报错 且无法登陆【操作步骤&问题现象】通过 https://ip:8082 进入以后报错“服务器错误”,无法登陆,如下图1、这个系统之前是可以安装成功的,也可以登陆到分析工具里面去作分析,因为无法分析nginx软件,所以我以为是安装的有问题,用卸载命令:bash /opt/depadv/tools/uninstall.sh 卸载成功了2、再次安装以后就有报错了,提示“服务器错误。” 也无法登陆【截图信息】如图,web登陆界面,正确输入用户名密码也不行 【日志信息】(可选,上传日志内容或者附件)
-
2020年末,华为云为开发者送福利来了!认证成为华为云开发者,开启个人技能画像,点亮开发者勋章,多重好礼等你来拿。已开启Java、Python、前端开发、API、低代码开发、敏捷教练六个通道,哪个才是你的菜,是你未来的方向。赶快来测一测吧!获奖情况将于12月15日在论坛公布,请持续关注。【活动时间】活动已结束(11月11日-12月15日)【活动内容】活动整体分三个阶段进行,认证成为华为云开发者后,专属福利逐级开启。 学习礼——争当开发者,不做尾款人 开启时间:11月11日 认证通过点亮专属勋章,开启个人技能画像。勋章查看地址:https://devcloud.huaweicloud.com/expert/assessment/skill获得会员中心200码豆,限量240000码豆,先到先得,发完即止。每个ID限领一次。码豆查看地址:https://devcloud.huaweicloud.com/bonususer/home/converge邀请5人以上(含5人)参加测评,将获得知识大礼包一份。同时获得抽奖资格,有机会获得50元京东卡和锦鲤大奖。测评完成后参与主题帖活动,还有机会获得时尚卫衣、电动牙刷等精美礼品。详情请点击链接参加:学习周 ——争当开发者,不做尾款人 抢兑礼——感恩回馈,限时兑换 开启时间:11月17日认证通过后,即可开启会员中心开发者专区优惠购资格,参与1码豆抢兑、5折/8折码豆优惠购,数量有限,先到先得。活动详情请点击:https://bbs.huaweicloud.com/forum/thread-87785-1-1.html测评完成后参与主题帖活动,还有机会获得时尚卫衣、机械键盘等精美礼品。详情请点击链接参加:抢兑周—— 感恩回馈,限时兑换更多活动信息和礼品详情,扫码可知。狂欢礼——大奖来袭,谁是锦鲤 开启时间:11月29日邀请5人以上(含5人)参与评测获得抽奖资格,将抽取幸运奖和锦鲤大奖。邀请人数统计截止于12月10日,12月14日结果公示,12月15日获奖公布。测评完成后参与主题帖活动,还有机会获得时尚卫衣、移动快充等精美礼品。详情请点击链接参加:狂欢周——大奖来袭,谁是锦鲤 (即将开启,敬请期待)【参与方式】根据自己的特长,选择下方任一测评题目,参与评测并认证通过即可参与。API测评通道Java测评通道Python测评通道前端开发测评通道低代码开发测评通道敏捷教练测评通道【活动说明】1.本次活动为华为云开发者身份测评认证,参与者首先要注册成为华为云用户,才能参与本次活动。2.活动期间,每位开发者可以多次参与答题,分数以最高成绩为准。3.每个华为云账号只能被邀请一次。4.本次活动所有回帖内容需满足华为云论坛发帖规范:https://bbs.huaweicloud.com/forum/thread-23077-1-1.html5.不得使用各类非正常渠道或方式注册账号参与,违者取消活动参与及获奖资格;获奖人收件信息与实名信息不一致者或获奖人从未参与过测评,亦不予发奖。5.获奖情况的公示和获奖通知后续会在论坛发出,请关注本帖。6.所有获奖礼品将于12月30日前寄出。7.如您在测评活动中遇到相关问题,可点击下方链接反馈,请于12月15日24时前反馈,过期反馈视为无效,望周知。 反馈链接>>8.华为云开发者生态DevCloud专家服务团队对本活动规则有最终解释权。
-
▶考核打卡时间:2020.12.01-2020.12.04 23:59 ▶考核评分时间:12.05-12.07(根据提交考核内容而定,若考核内容众多,评分时长往后顺延3个工作日,望谅解~)▶考核途径:点击下方链接,选择【第一阶段考核作业】(此作业在11月30日发布)https://classroom.devcloud.huaweicloud.com/classdetail/0820f921e328447caee6aa43f2e327b5/job考核作业所在地址如图:▶考核要求:进入考核页面后,点击“查看习题描述”,详细阅读考核要求和评判标准后再进入考核,提交机会有2次,请大家认真作答。▶打卡要求:1.20000字符内:在本帖下方,回复考核答题页面截图1张+提交程序运行后的截图1张(如需上传多张截图,请一张张上传到同一楼层/回复帖中,多次回复占楼视为无效)2.20000字符外:在本帖下方,回复运行后截图2张,将本地编辑源代码和运行结果图片以压缩包的形式上传到回复帖中▶打卡方式:方式1:***正确的回复格式:华为云ID+微信号+姓名+考核答题截图(2张)华为云ID:grandmaster 微信号:hwcloud01姓名:云上花木兰截图均放在一个楼层中,多次占楼无效哈~方式2:***正确的回复格式:华为云ID+微信号+姓名+运行截图(2张)华为云ID:grandmaster 微信号:hwcloud01姓名:云上花木兰重要提示:请严格按照回复示例进行回复,本次为阶段末考核项目,如果没有按照要求的格式进行回复,版主将不予提示,同时不计入考核结果,会影响考核证书及奖品的发放哦~▶考核评分:提交考核内容后由专家老师根据评分标准评分,满分100分,分数于12月8日23:59前公布,可自行在考核页面查看,若因客观原因音响发布时间,顺延一个工作日。▶评分标准:提交页面与classroom首页接近;页面的完成度高;HTML和CSS代码书写规范;使用的代码简练;页面中的图片资源不作要求,可以使用任意图片代替。 ▶考核奖励:◎参与最后考核并回复本帖,就可得到电子版证书(证书上会根据大家的回复的真实姓名填写信息,请大家在留信息时注意)参与考核,人人有份,证书由社群小助手微信点对点发放,可前往公众号"软开云生态":hndevcloud,回复关键字“证书”,获取小助手微信,证书将在第一阶段结束后10个工作日内发放,请大家耐心等待哦~◎考核前3名:耳机一副,移动电源一个,知识卡片一盒。想了解更多关于全栈成长计划课程内容请移步主帖:https://bbs.huaweicloud.com/forum/thread-86105-1-1.html活动注意事项1.由于本帖回复内容为阶段考核测试内容,并涉及到个人隐私,已设置回帖仅版主可见,请大家放心回复2.请大家务必在考核规定时间12月4日 23:59内完成考核回帖打卡,否侧将影响证书和奖品的发放3.考核奖品我们会在考核阶段结束后10个工作日内整理完毕,发放奖品4.第二阶段课程将于12月中旬开课,详细报名情况和课程安排敬请期待。
-
【零基础WEB全栈学习训练营】第一阶段正式结束第一阶段考核名单如下相关证书会在2020年12月18日前通过微信号统一联系,请保持联系。名单如有遗漏,请在社群@管理员进行核对其他获奖名单如下前11天打卡的抽奖名单如下:2名/天,一盒知识卡片/人。请大家点击以下链接或扫码下面二维码填写领奖地址奖品领取地址:https://devcloud.huaweicloud.com/expert/open-assessment/qtn?id=b802788af409459a83c1aaa1cd0ae2c6&utm_source=haibao感谢大家参加【零基础WEB全栈学习训练营】第一阶段第二阶段的课程报名请点击:https://classroom.devcloud.huaweicloud.com/joinclass/23bea4f723244094a5d50e2a7a7b244e/1开课时间:12月下旬届时将在社群预告,请大家继续关注社群活动哦~目前正在火热举办的活动:参与赢华为云MatePad【长沙限时0元 DevCloud基础套餐包】参与活动还有机会赢取华为MatePad、手表、手环、音箱、京东卡等大礼~
-
【零基础WEB全栈学习训练营】第一阶段学习已结束所有获奖名单请前往:https://bbs.huaweicloud.com/forum/thread-86111-1-1.html第一阶段终极考核打卡贴:https://bbs.huaweicloud.com/forum/thread-86136-1-1.html 请同学们继续关注第二阶段课程开课时间预报名:阶段2:迈入脚本及框架开发 【&Ajax】,课程链接:《零基础WEB全栈学习训练营》第二阶段目前正在火热举办的活动:参与赢华为云MatePad【长沙限时0元 DevCloud基础套餐包】参与活动还有机会赢取华为MatePad、手表、手环、音箱、京东卡等大礼~欢迎同来到华为云DevCLoud(长沙)创新中心《零基础WEB全栈学习训练营》!3个月构建前端全栈技能体系,集成华为研发经验的高质量前端课程覆盖HTML//Node.js等核心知识点助力前端技能快速提升,向全栈工程师迈进!从2020年11月-2021年1月,我们将用三个月的时间陪伴您一步步从零开始,成长为全栈工程师!01.适合人群:阶段1:0基础想要进阶的开发者 【html&css】课程链接:《零基础WEB全栈学习训练营》第一阶段阶段2:迈入脚本及框架开发 【&Ajax】,课程链接:《零基础WEB全栈学习训练营》第二阶段阶段3:前端高阶框架开发【Node&Vue】,课程链接:零基础WEB全栈学习训练营·第三阶段 02.活动参与流程 一、报名课程:- 课程报名入口: 点此报名课程二、加入学习社群:有人一起学习,有人帮你解惑,有考试助你查缺补漏,还有华为大牛不定时空降答疑,更有超多惊喜奖励等着泥萌~~~扫描下方QQ二维码,务必加入学习群,相关活动进度会在学习群中更新~(若群满,请看群介绍,加入下一个群。)三、分享本次活动赢知识卡:(1)活动海报转发至朋友圈,截图回复微信公众号(软开云生态:hndevcloud)后台,可获得一副知识卡片(仅限前10名)(2)11月16日00:00-11月20日:23:59,在公众号活动招募贴《月薪3k到3万,3个月零基础学会WEB前端开发》评论互动点赞满30人:可获得一顶定制的华为云棒球帽(排名前5名)(3)成功结业的同学:可获得结业证书03.课程安排及打卡规则 一、第一阶段课程安排:(11月20日-11月30日)二、学习任务&学习奖励:每章随堂测验:(1)任务完成方式:在随堂测验打卡贴中,回复对应章的随堂测验提交截图;(2)回复格式:华为云ID+截图(露出右上角华为云ID,且有效提交次数>=1)学习奖励:(1)打卡奖励a.每天完成打卡者,可以参与知识卡片抽奖,每天2个名额,第二天上午12:00在论坛贴及QQ群同步公布中奖名单;b.连续有效打卡完成8次、9次、10次者,可获得HUAWEI移动电源10000mAh一个,仅限前10名;c.完成所有打卡的前3名同学,各可获得耳机一副,移动电源一个。(2)考核奖励a.完成所有有效打卡的同学,可以获得结业证书b.考核成绩排名前3名,各可获得耳机一副,移动电源一个,知识卡片一盒三、学习任务提交入口: 1.随堂测验打卡贴:【WEB前端全栈成长计划】第一阶段·每章随堂测验打卡帖 2.第一阶段最终考核打卡帖:【零基础WEB全栈学习训练营】第一阶段·最终考核打卡帖·长沙站 3.第一阶段最终成绩帖:【零基础WEB全栈学习训练营】最终考核成绩出炉! 04.活动常见问题 1.课程录播为主,为了照顾每个学生的学习进度,我们将在课程开始就公开所有课程,但每期作业必须按照打卡日期提交,否则不能参与每日随堂打卡抽奖。2.每天上午12点公布前一天打卡作业中的中奖名单,每天完成作业打卡总人数必须30人以上,否则不开奖品。2.每阶段课程的每章都会有对应的学习任务,按照指定要求完成学习任务并回复到指定社区帖中,才能算有效学习,必须有30人以上联系打卡8次以上,才能开打卡奖励。3.报名链接就是课程链接,大家可以在电脑和手机端将链接收藏一下,app目前不能学习本次课程4.课程视频没有倍速不会添加倍速,电脑端观看建议使用谷歌浏览器,手机端建议使用默认浏览器,手机观看解锁锁屏模式横屏后右拉即可观看视频6.关于活动的所有链接在公众号和本帖上方活动介绍中都有,请大家随时翻看7.复制链接到微信文件传输助手即可在电脑端观看内容8.报名时填写必填项即可,学号工号信息可随意填写,目前注册只支持中国大陆手机号,课程后奖品也只支持中国大陆内快递9.本次课程每阶段都有结业证书,电子版,不具备任何法律和华为内推效益,请大家知晓10.大家有任何问题都可以帖子下方留言或者到学习交流群内咨询 06.活动注意事项 ○所有活动奖品将在活动结束后20个工作日内完成发放,具体发放时间见群内/小助手通知;○活动奖品颜色随机,且部分奖品数量有限发完即止;○本次活动回帖内容需满足华为云论坛发帖规范:https://bbs.huaweicloud.com/forum/thread-23077-1-1.html本次全栈开发者成长计划,定会让你受益匪浅离华为云最近的机会就在这里请各位开发者和预备开发者和华为一起吧~
-
2020年末,华为云为开发者送福利来了!认证成为华为云开发者,开启个人技能画像,点亮开发者勋章,多重好礼等你来拿。已开启Java、Python、前端开发、API、低代码开发、敏捷教练等多个通道,哪个才是你的菜,是你未来的方向。赶快来测一测吧!【活动时间】2020年11月11日-2020年12月10日【活动内容】活动整体分三个阶段进行,认证成为华为云开发者后,专属福利逐级开启。 学习礼——争当开发者,不做尾款人 开启时间:11月11日 认证通过点亮专属勋章,开启个人技能画像。勋章查看地址:https://devcloud.huaweicloud.com/expert/assessment/skill获得会员中心200码豆,限量240000码豆,先到先得,发完即止。每个ID限领一次。码豆查看地址:https://devcloud.huaweicloud.com/bonususer/home/converge邀请5人以上(含5人)参加测评,将获得知识大礼包一份。同时获得抽奖资格,有机会获得50元京东卡和锦鲤大奖。测评完成后参与主题帖活动,还有机会获得时尚卫衣、电动牙刷等精美礼品。详情请点击链接参加:学习周 ——争当开发者,不做尾款人 抢兑礼——感恩回馈,限时兑换 开启时间:11月17日测评完成后参与主题帖活动,还有机会获得时尚卫衣、机械键盘等精美礼品。详情请点击链接参加:抢兑周—— 感恩回馈,限时兑换狂欢礼——大奖来袭,谁是锦鲤 开启时间:11月29日邀请5人以上(含5人)参与评测获得抽奖资格,将抽取幸运奖和锦鲤大奖。邀请点亮勋章人数排行榜的前3名获得排行奖,限量大狮运动套装、数码套装和京东卡200元奖励。测评完成后参与主题帖活动,还有机会获得时尚卫衣、移动快充等精美礼品。 活动详情请点击链接查看:狂欢周——大奖来袭,谁是锦鲤 当前论坛集赞和邀请排行榜请点击查看:排名帖链接。【参与方式】可以点击测评通道链接或者 扫描下方二维码参与测评【邀请好友方法】生成邀请链接和邀请好友参加方法如下:第一步:完成问卷填写,并提交。第二步:在问卷结束页,点击下面那个黄色按钮“邀请好友答卷 免费领取 知识大礼包”第三步:点击之后,会提示你需要在浏览器中打开分享页面,请点击右上角“...”按钮,选择“在浏览器打开”第四步:在浏览器中打开会显示如下页面,保存您的专属海报图片,分享出去即可,只要有朋友也答卷完成,即可获得相应的礼品和抽奖资格。后续也可以再打开此页面,查看你的邀请进度(页面最下方)。【活动说明】1.本次活动为华为云开发者身份测评认证,参与者首先要注册成为华为云用户,才能参与本次活动。2.活动期间,每位开发者可以多次参与答题,分数以最高成绩为准。3.每个华为云账号只能被邀请一次。4.本次活动所有回帖内容需满足华为云论坛发帖规范:https://bbs.huaweicloud.com/forum/thread-23077-1-1.html5.不得使用各类非正常渠道或方式注册账号参与,违者取消活动参与及获奖资格;获奖人收件信息与实名信息不一致者或获奖人从未参与过测评,亦不予发奖。5.获奖情况的公示和获奖通知后续会在论坛发出,请关注本帖。6.所有获奖礼品将于12月30日前寄出。7.如您在测评活动中遇到相关问题,可点击下方链接反馈,请于12月15日24时前反馈,过期反馈视为无效,望周知。 反馈链接>>
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签