「豆包Marscode体验官」我用豆包Marscode画数据大屏

认识豆包Marscode

豆包 MarsCode IDE 是一个 AI 原生的云端集成开发环境(IDE)。内置的 AI 编程助手和开箱即用的开发环境让我们可以更加专注于各种项目的开发。豆包 MarsCode 编程助手,具备以智能代码补全为代表的 AI 功能。支持了多种编程语言以及主流的 IDE,它能够在开发过程中对单行代码乃至整个函数提供编写提议。除此之外,它还对代码解释、单元测试生成以及问题修复等功能提供支持,进而提升了开发的效率与质量。

image.png

功能介绍

豆包 MarsCode 编程助手支持的功能如下表所示。

功能说明
代码补全阅读并理解当前代码,然后提供后续代码片段,也支持通过注释生成代码片段。
代码补全 Pro基于上一次的编辑内容及代码情况,预测下一个改动点并提供推荐代码。
代码生成理解自然语言并生成所需代码。
代码编辑编辑指定代码,包括重构、优化、修改部分逻辑等
代码解释精准解释项目代码,快速上手开发。
代码注释生成生成函数级注释或更详细的行间注释。
单元测试生成为指定代码片段生成单元测试。
智能修复发现代码中的问题并修复。
智能问答针对研发领域定向优化问答质量,提供更精准的问答结果。

支持的语言/框架

豆包 MarsCode 编程助手支持的主流语言和框架如下:

类型支持的语言/框架
后端Go、Python、C++、C、C#、Java、PHP、Rust
前端HTML、TypeScript、JavaScript、CSS
应用端Kotlin、Objective-C、Swift
其他Lua、SAS、CUDA、Perl、Ruby、Shell、SQL、R

体验豆包Marscode

进入IDE之后,注册登录进入主页

image.png
作为一名前端开发工程师,选择Vue+Echarts创建一个大屏项目:数智化线上车展数据分析平台。

image.png

你选择创建一个Vue项目之后,会初始化一个项目,点击RUN即可运行。浏览package.json文件,发现默认创建的项目是Vue3+vite构建的项目。虽然官方提供的模板是vue3的,如果你希望使用Vue2可以通过Github导入项目。

image.png
接下来就正式进入我们项目的开发,画大屏必不可少的就是Echarts了,通过npm安装速度较慢,所以使用淘宝的镜像及其命令 cnpm。因为豆包 MarsCode IDE 内置了 AI 助手,提供代码自动补全与生成、问题修复、代码优化等能力。再安装了cnpm 之后,IDE猜到了我是在查看版本,在控制台输入cnpm之后就会自动补全cnpm -v来查看版本。

image.png
通过命令 cnpm install echarts --save安装Echarts,cnpm的安装速度就很快了,差不多一分钟就搞定,在项目的package.json文件中也可以看到安装的版本5.5.1.
image.png
画大屏也需要静态图片来装饰整个大屏,可以通过upload批量上传.

image.png
将模板默认生成的代码,简单删一删就变为一个空的项目,我们就可以正式开始大屏的制作了。

image.png

可视化数据大屏首先要解决的问题就是适配性,这是一个比较专业性的问题。豆包Marscode集成了AI功能,我们看一下它是怎么回答的。

想要可视化大屏适配任何多种分辨率的屏幕,前端该如何实现

image.png

我选择的解决方案是:通过 css 的 scale 属性,根据屏幕大小,对图表进行整体的等比缩放,从而达到自适应效果。

CSS 的 scale 属性用于指定元素的缩放比例。它是 transform 属性的一个值,可以使用 CSS 中的 transform 属性来设置元素的缩放比例。

scale 属性可以接受一个或两个参数。如果只提供一个参数,它将同时应用于元素的宽度和高度,导致元素在两个维度上按比例缩放。如果提供两个参数,第一个参数表示宽度的缩放比例,第二个参数表示高度的缩放比例。

/* 元素整体缩放为原来的 50% */
transform: scale(0.5);/* 元素宽度缩放为原来的 75%,高度缩放为原来的 120% */
transform: scale(0.75, 1.2);

scale 属性可以与其他 transform 属性值结合使用,比如 translaterotate 等,以实现更复杂的变形效果。同时,scale 属性也可以用在 CSS 动画中,通过改变缩放比例来实现元素的动态缩放效果。
具体代码如下:

let screen = ref()
// 挂载时首先去获取视口的宽高
onMounted(() => {// 使用ref获取到的dom对象调用时都需要带.valuescreen.value.style.transform = `scale(${getScale()}) translate(-50%,-50%)`console.log(`scale(${getScale()}) translate(-50%,-50%)`,'666')
})
// 创建函数
function getScale(w = 1920, h = 1080) {let ww = window.innerWidth / wlet wh = window.innerHeight / h// 按照变化较小者的比例去进行缩放return ww < wh ? ww : wh
}
// 视口发生变化时
window.onresize = () => {screen.value.style.transform = `scale(${getScale()}) translate(-50%,-50%)`
}

getScale() 函数通常用于根据浏览器视口大小计算一个缩放因子。这个因子通常被用作scale属性的值,以确保screen元素可以根据屏幕大小自动调整大小。translate(-50%,-50%) 部分是用于将缩放后的元素居中显示的样式,transform-origin: left top 表示transform属性的原点位于元素的左上角。
这段代码提供了一种响应式的方式来调整页面元素的大小和位置,使得页面在不同大小的屏幕上都能够友好地显示。
写这篇文章的时候,我的大屏已经是开发完成的状态。所以我们先看一下最终效果,来吧展示,哈哈~~~

image.png

整个可视化大屏分为六部分,分别是两个横向的柱状图,一个中国地图,一个折线图、一个饼状图以及一个热力图。

横向柱状图 && 折线图

x轴配置:

  • 类型为’value’,表示x轴为数值轴。
  • 轴标签的颜色为白色。
  • 边界间隙为[0, 0.01],表示x轴的起始和结束位置会留有一定的空白。

y轴配置:

  • 类型为’category’,表示y轴为类目轴。
  • 轴标签的颜色为白色。
  • y轴的类目数据包括了多个汽车品牌名称。

Echarts- category 类目轴,适用于离散的类目数据。为该类型时类目数据可自动从 series.data或 dataset.source 中取,或者可通过 yAxis.data 设置类目数据。

series:type: 'category'柱状图(或称条形图)是一种通过柱形的高度(横向的情况下则是宽度)来表现数据大小的一种常用图表类型。

type:'line'折线图是用折线将各个数据点标志连接起来的图表,用于展现数据的变化趋势。

    xAxis: {type: 'value',axisLabel: {color: 'white',},boundaryGap: [0, 0.01],},yAxis: {type: 'category',axisLabel: {color: 'white',},data: [],},series: [{name: '',type: 'bar',label: {show: true,},data: [],},],

热力图

ECharts热力图是一种数据可视化的图表类型,它通过颜色的深浅来表示数据的大小或密集程度。在热力图中,数据通常以矩形网格的形式呈现,每个小矩形格子的颜色深浅代表该位置上的数据大小,一般使用渐变色来表达数据的强弱。

  • min:表示热力图数据值中的最小值。在热力图中,所有小于或等于min的数据值都将被视为该范围的下限,通常用于确定颜色映射的起始点。
  • max:表示热力图数据值中的最大值。相应地,所有大于或等于max的数据值都将被视为该范围的上限,用于确定颜色映射的终点。

可以从实现的效果图中看出,热力图数据基本都是0.xx,所以我这的最大值设置为1.0,如果设置的数值过大,会出现所有颜色基本一致的情况,看不出具体差异。

 visualMap: {min: -0.75,max: 1.0,calculable: true,orient: 'horizontal',left: 'center',bottom: '15%',},series: [{name: 'Punch Card',type: 'heatmap',data: data,label: {show: true,},emphasis: {itemStyle: {shadowBlur: 10,shadowColor: 'rgba(0, 0, 0, 0.5)',},},},],

中国地图

注册地图

在ECharts中,需要先注册地图类型,才能使用它。对于中国地图,可以使用echarts.registerMap方法注册地图数据。注册时,需要指定地图的名称(如’china’)和地图数据(即之前准备的JSON数据文件)。

配置地图选项

通过配置ECharts实例的option属性,可以定义地图的显示样式、数据系列、提示框、视觉映射组件(visualMap)等。对于中国地图,通常需要设置地图的标题、数据系列类型为’map’、地图类型为’china’等。同时,还可以通过series属性中的data数组来设置各个省份或城市的数据,这些数据将用于控制地图上的颜色深浅或图标大小等。

渲染地图

配置完option属性后,调用ECharts实例的setOption方法,将配置对象传入,即可渲染出中国地图。此时,地图将按照配置显示数据,并支持交互操作,如缩放、拖动等。

myEcharts.setOption({// geo地理坐标系组件 支持在地理坐标系上绘制散点图,线集geo: {map: 'china', // 中国地图roam: true, // 是否开启放大缩小/拖拽功能//地图的位置调试left: 150,top: 120,right: 150,bottom: 0,// 缩放比列zoom: 1.12,// 地图中心点位置layoutCenter: ['50%', '50%'],//地图上的文字的设置label: {show: true,color: 'white',fontSize: 14,},// itemStyle地图区域的多边形 图形样式itemStyle: {areaColor: '#12235c', // 地图区域的颜色// borderColor: '#2ab8ff', // 图形的描边颜色borderColor: 'rgba(147, 235, 248, 1)',borderWidth: 0.8,shadowColor: 'rgba(128, 217, 248, .8)',shadowOffsetX: -2,shadowOffsetY: 2,shadowBlur: 10,opacity: 0.9,},//地图高亮的效果emphasis: {label: {color: 'white',fontSize: 32,// fontWeight: 'bold',},itemStyle: {// areaColor: '#5470c6',borderWidth: 2,borderType: 'dashed', // 高亮时虚线边框},// focus: 'self', // 鼠标移入地区,其余地区淡出},},//布局位置grid: {left: 0,top: 0,right: 0,bottom: 0,},// 航线的设置 series-linesseries: [{type: 'lines', //航线的系列data: [{// 北京->河南coords: [[116.405285, 39.904989], // 起点[113.665412, 34.757975], // 终点],},{// 河南->北京coords: [[113.665412, 34.757975],[116.405285, 39.904989],],},{// 北京->黑龙江coords: [[116.405285, 39.904989],[126.642464, 45.756967],],},{// 黑龙江->北京coords: [[126.642464, 45.756967],[116.405285, 39.904989],],},{// 河南->浙江coords: [[113.665412, 34.757975],[120.153576, 30.287459],],},{// 浙江->河南coords: [[120.153576, 30.287459],[113.665412, 34.757975],],},{// 浙江->台湾coords: [[120.153576, 30.287459],[121.509062, 25.044332],],},],// 开启动画特效effect: {show: true,period: 5, // 箭头指向速度,值越小速度越快trailLength: 0, // 特效尾迹长度[0,1]值越大,尾迹越长重// symbol: 'arrow', // 箭头图标symbol: planePath, // 箭头图标使用引入的箭头symbolSize: 18,},// 线路统一的样式设置lineStyle: {color: '#00eaff',width: 1.5, //尾迹线条宽度opacity: 0.7, //尾迹线条透明度curveness: 0.3, //尾迹线条曲直度},},],})

到此为止,整个大屏基本上就开发完成了。撒花完结!

AI能力

在整个项目的开发过程中,真切体会到内置AI的强大,忍不住单独抽个模块再来介绍一下。

AI对话视图

侧边聊天
侧边对话框(Side AI Chat)位于工作区右侧。你可以通过快捷键(macOS:⌘+U;Windows:Ctrl+U)唤起对话框,或直接点击侧边栏中的 AI 按钮唤起。

image.png
内嵌聊天
当我们选中一段代码之后会自动弹出AI功能导航,可以进行代码解释、注释、生成单元测试。
image.png
尤其是代码注释,自己不想写可以通过AI搞定,切莫偷懒!!!
可以通过选择Y、N决定是否使用生成的注释。

image.png

使用AI能力

普通问答唤起对话框后,你可以在输入框中输入你的问题,然后点击 发送 按钮或敲击回车键,AI 助手将回答你的问题。你可以进行多轮问答,不断补充细节,从而使 AI 助手的回答更加准确。

补全代码AI 助手支持自动补全当前代码。

image.png

结语

豆包 MarsCode 编程助手是一款功能强大的开发工具,它通过集成先进的AI技术,为开发者提供了从代码编写到测试、维护的全流程支持。对于希望提高开发效率、降低维护成本并提升软件质量的团队来说,豆包 MarsCode 是一个值得考虑的选择。感兴趣的建议进一步查阅其官方文档和社区资源,以更深入地了解其功能和最佳实践。

在整个开发流程中,真切感受到了在线开发工具的便捷、高效、流畅。AI功能的集成,更是极高的提升了程序员的开发效率,力荐!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/377240.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十二)-无人机群在物流中的应用

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

解读网传《深圳IT圈⭕新解读八小时工作制》

网传深圳IT圈的新解读八小时工作制 工作时间安排&#xff1a; 10:00-12:0014:00-18:0019:00-21:00 初看&#xff1a;有惊喜 上午开始时间晚&#xff1a;相对于传统的9点开始&#xff0c;这种安排允许员工有更多的早晨时间&#xff0c;可以用来休息或处理个人事务。下午和晚上分…

Amazon EC2 部署Ollama + webUI

最近和同事闲聊&#xff0c;我们能不能内网自己部署一个LLM&#xff0c;于是便有了Ollama webUI的尝试 对于Linux&#xff0c;使用一行命令即可 curl -fsSL https://ollama.com/install.sh | shollama --help Large language model runnerUsage:ollam…

架构设计-NX的二次开发API架构设计介绍

1.与整体的关系 2.API设计目标 能够允许用户访问NX的所有UI工具组件&#xff0c;二次开发用户能够编写外观和运行行为类似NX的应用程序。能够允许用户直接访问NX数据模型即使底层数据结构和功能实现发生很大变化&#xff0c;API接口保持稳定&#xff0c;不会影响上层用户。 3…

智能家居开发新进展:乐鑫 ESP-ZeroCode 与亚马逊 ACK for Matter 实现集成

日前&#xff0c;乐鑫 ESP-ZeroCode 与亚马逊 Alexa Connect Kit (ACK) for Matter 实现了集成。这对智能家居设备制造商来说是一项重大进展。开发人员无需编写固件或开发移动应用程序&#xff0c;即可轻松设计符合 Matter 标准的产品。不仅如此&#xff0c;开发者还可以在短短…

网络协议 — Keepalived 高可用方案

目录 文章目录 目录Keepalived 是实现了 VRRP 协议的软件Keepalived 的软件架构VRRP StackCheckersKeepalived 的配置Global configurationvrrp_scriptVRRP Configurationvrrp synchroization groupvrrp instancevirtual ip addressesvirtual routesLVS Configurationvirtual_s…

知识图谱与LLMs:实时图分析(通过其关系的上下文理解数据点)

大型语言模型 (LLM) 极大地改变了普通人获取数据的方式。不到一年前&#xff0c;访问公司数据需要具备技术技能&#xff0c;包括熟练掌握各种仪表板工具&#xff0c;甚至深入研究数据库查询语言的复杂性。然而&#xff0c;随着 ChatGPT 等 LLM 的兴起&#xff0c;随着所谓的检索…

不常用的第三方服务集成

1.ldap 1.1.ldap服务搭建 docker方式搭建:包含了ldap服务和ldap admin图形化界面服务 参考ldap服务:http://127.0.0.1:81 用户名:CN=admin,DC=ldap,DC=com 密码:123456 docker-compose.yml文件内容如下 version: 3services:ldap:image: osixia/openldap:latestcontainer…

0基础学会在亚马逊云科技AWS上利用SageMaker、PEFT和LoRA高效微调AI大语言模型(含具体教程和代码)

项目简介&#xff1a; 小李哥今天将继续介绍亚马逊云科技AWS云计算平台上的前沿前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS上的AI软甲开发最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon SageMaker上…

【qt】TCP客户端如何断开连接?

disconnectFromHost() 来关闭套接字,断开连接. 当我们关闭窗口时,也需要断开连接. 需要重写关闭事件 如果当前的套接字状态是连接上的,我们就可以来断开连接. 运行结果:

SSM框架学习笔记(仅供参考)

&#xff08;当前笔记简陋&#xff0c;仅供参考&#xff09; 第一节课&#xff1a; &#xff08;1&#xff09;讲述了Spring框架&#xff0c;常用jar包&#xff0c;以及框架中各个文件的作用 &#xff08;2&#xff09;演示了一个入门程序 &#xff08;3&#xff09;解释了…

前端项目本地的node_modules直接上传到服务器上无法直接使用(node-sasa模块报错)

跑 jekins任务的服务器不能连接外网下载依赖包&#xff0c;就将本地下载的 node_modules直接上传到服务器上&#xff0c;但是运行时node-sass模块报错了ERROR in Missing binding /root/component/node_modules/node-sass/vendor/linux-x64-48/binding.node >> 报错信息类…

不会编程怎么办?量化交易不会编程可以使用吗?

量化交易使用计算机模型程序代替人工进行交易&#xff0c;一般需要投资者自己编写程序建模&#xff0c;然后回测无误之后再进行实盘交易&#xff0c;那么不会编程的投资者能使用量化软件进行量化交易吗&#xff1f; 不会编程使用量化软件有两种方法 一种是请人代写代码&#x…

浅谈后置处理器之JSON提取器

浅谈后置处理器之JSON提取器 JMeter 的 JSON 提取器&#xff08;JSON Extractor&#xff09;是一个强大的后置处理器&#xff0c;它允许用户从HTTP响应、数据库查询或其他类型的响应中提取JSON数据&#xff0c;并将这些数据存储为变量&#xff0c;以便在后续的请求中重用。这对…

LabVIEW人工模拟肺控制系统开发

开发了一种创新的主被动一体式人工模拟肺模型&#xff0c;通过LabVIEW开发的上位机软件&#xff0c;实现了步进电机驱动系统的精确控制和多种呼吸模式的模拟。该系统不仅能够在主动呼吸模式下精确模拟快速呼吸、平静呼吸和深度呼吸&#xff0c;还能在被动模式下通过PID控制实现…

LeetCode加油站(贪心算法/暴力,分析其时间和空间复杂度)

题目描述 一.原本暴力算法 最初的想法是&#xff1a;先比较gas数组和cost数组的大小&#xff0c;找到可以作为起始点的站点(因为如果你起始点的油还不能到达下一个站点&#xff0c;就不能作为起始点)。当找到过后&#xff0c;再去依次顺序跑一圈&#xff0c;如果剩余的油为负数…

【代码随想录】【算法训练营】【第64天】 [卡码117]软件构建 [卡码47]参加科学大会

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 卡码网。 day 64&#xff0c;周三&#xff0c;继续ding~ 题目详情 [卡码117] 软件构建 题目描述 卡码117 软件构建 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 C语言 [卡码…

GO channel 学习

引言 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换&#xff0c;但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性&#xff0c;必须使用互斥量对内存进行加锁&#…

喰星云·数字化餐饮服务系统 多处 SQL注入漏洞复现

0x01 产品简介 喰星云数字化餐饮服务系统是一款专为餐饮企业设计的综合性管理软件,旨在通过信息化手段提升餐饮企业的运营效率、降低运营成本,并实现数据驱动的决策管理。该系统包括供应链管理、财务管理、巡店管理、人力资源管理等多个模块,可全面覆盖餐饮企业的日常运营需…

[RoarCTF2019]polyre

参考博客 buu-[RoarCTF2019]polyre&#xff08;控制流平坦化&#xff0c;虚假控制流程&#xff09;-CSDN博客 [RoarCTF2019]Polyre | bypass ollvm - 暖暖草果 - 博客园 (cnblogs.com) buu-[RoarCTF2019]polyre&#xff08;控制流平坦化&#xff0c;虚假控制流程&#xff09…