豆包 MarsCode + 开源 = ?AI 助力开源社区新人成长

来源|豆包 MarsCode

“开源” 这个词,对开发者来说,可能是入门时的第一步,也可能是追求极致技术的终点。无数优秀的开源项目不仅推动了技术的进步,也成为开发者学习和成长的宝藏,但同时也因为其规模庞大、代码复杂,常让人感到望而生畏,尤其是对于刚接触开源的开发者。为了帮助新人快速融入社区, 提升新人的学习体验,一般开源社区都会提供正式、非正式的导师指导计划。但因为社区导师资源有限,当新人遇到问题的时候,我们也鼓励大家采用搜索引擎,以及阅读代码的方式定位和解决问答,也就是自助解决优先的方式

找到入门的关键,理清项目的架构,快速理解核心逻辑 —— 这些技能往往需要丰富的经验与大量的时间积累。然而,随着 AI 和智能开发工具的兴起,学习开源项目正在变得更简单、更高效。作为一款专为开发者设计的智能工具,豆包 MarsCode 通过代码解释、 # workspace 等能力,帮助开发者快速掌握开源项目的核心思想,直击学习痛点。你将不再需要花费数小时梳理文档、不再迷失在复杂的代码海洋中 —— 豆包 MarsCode 让你在学习开源项目时事半功倍,从入门到进阶,一步到位。

01 一起学习:豆包 MarsCode + 开源项目 VisActor,出发!

首先我们通过链接下载豆包 Marscode 并了解如何使用。

🔗 zjsms.com/iyNHsH82/

有了豆包 MarsCode 编程助手的帮助,我们可以快速高效的了解一个项目的核心逻辑与模块构成,轻松几步就能完成开源项目的代码贡献。如果你还没有想法或者不知道该从哪里下手也没有关系,可以跟随这篇文章的脚步来了解如果从零开始为开源项目添砖加瓦,成为一名真正的 “开源项目贡献者” 吧!Let's GO!

02 First Things First

在贡献代码之前,推荐阅读贡献者指南:

🔗 sourl.cn/r72dpt

首先让我们先挑选一个心仪的任务:VisActor 空间下的 VChart 项目:

🔗 github.com/VisActor/VC…

当中已经记录了许多的 issue,里面打着 good first issue 标签的 issue 就是适合开源新手踏上开源贡献之路第一步的任务啦!

目前 VChart issue 中挂了许多的特性开发任务以及环境兼容任务。给 VChart 添加 Vue 环境的支持需要对 Vue 生态有一定的掌握,优化鸿蒙环境下的 VChart 使用本身也需要先足够了解鸿蒙本身的语法与环境能力,这些任务对于初心者而言可能有些难度。我们可以从教程补充之类的简单任务着手,逐步了解 VChart 项目本身的逻辑,一步步向更有挑战的工作进发。在这篇文章里我们就从 “补充 Scales 相关教程” 的任务入手吧。

选定任务了,让我们开始敲代码!

03 Set Sail

如果你对于 VChart 项目本身还并不太熟悉的话,可以加入 VisActor 微信群组或者 VisActor 的飞书群组提出任何感兴趣的问题。群里的热心同学们会积极帮助所有外部开发者解惑答疑,不用觉得害羞,尽管去提问吧~

如果你想要依靠自己的力量来理解 VChart 的核心逻辑,但是又觉得一口气阅读 VChart 这么多的代码有些抓不到思路,不知道如何掌握 VChart 项目的脉络的话,那不妨来试试豆包 MarsCode 编程助手的大模型对话能力。无论是使用 VScode 还是 Jet Brains 系列的编辑器,豆包 MarsCode 都提供了相应的编辑器插件,能够帮助你快速接入大模型能力,提升编码与开发效率。比如让我们先问问 packages/vchart 这个核心包里头究竟包含了哪些重要模块呢:

又或者你可以向 MarsCode 询问 VChart 中某一个类的核心函数是用来做什么的:

有了豆包 MarsCode 的辅助,相信以你聪明的小脑瓜肯定能很快了解 VChart 的代码逻辑辣。如果还有什么不清楚的,群组里头的热心同学们也随时为你效劳~

04 Show Me The Code

观察 VChart 的项目结构,可以看到的所有的文档内容都存放在 根目录 /docs/assets 路径里头。

需要注意啦,VChart 中所有的教程文档都是按照原生的 MarkDown 的格式编写的,所有的配置项文档都是按照嵌套的 MarkDown 格式编写的。两者的差异在于前者可以在任何的 MarkDown 编辑器 / 阅读器中查看,后者则需要通过编译以及执行 VChart 本地命令才能查看。

万里长征第一步:找到落笔的地方,写下第一行内容。顺着 Scale 代码类型定义的脉络一路找到最终 ScaleType 的类型定义。可以看到 ScaleType 里除了现在教程里头包含的 linear 以及 ordinal 两种类型以外,还包含了 band、point 以及 threshold 类型。

那么这些 Scale 类型又是什么含义呢?让我们来问问万能的豆包 MarsCode 编程助手吧。

好,我们已经彻底理解了 Band Scale 的含义,是时候让我们开始编写具体的教程内容了!

Scale 的配置文档内容存放在 visual-scale-spec.md 文件中,先找到这个文件,然就可以开始写下第一行代码内容辣。

当然了,在你添加相应文档内容的时候,豆包 MarsCode 编程助手仍然在勤勤恳恳的工作中!它会在在你专心致志敲击键盘的时候自动补全后续的文字,帮助你省去一大堆的重复劳动时间。话不多说,快端上来吧:

敲黑板敲黑板

需要注意每个文档都是包含中英文的内容,写完中文文档之后不要忘记补充对应的英文文档哦~

所有文档编写就绪之后,也别忘了在 VChart 项目中运行 rush update 以及 rush docs 命令来执行文档的渲染,检查一下自己的文档内容是否正确呀。

05 PR! PR!

代码就绪之后,最后一步就该是推送代码内容,提交 Pull Request,等待自己的代码正式合入啦。

向 VChart 仓库的 Push 分支提交 Commit 内容需要等待单元测试的执行完成。不过对于我们的教程编写而言并没有什么影响,只要稍作等待,就可以在 VChart 项目中提起 Pull Request 了:

提交 PR 之后 VChart 的相关同学会查看你所提交的 PR 内容,并且与你就 PR 内容做一些讨论。如果大家拜读了你所编写的精妙绝伦的代码之后觉得毫无问题,那就是万事俱备,可以合入代码啦。

如果 PR 交流的过程发现了一些问题也不要灰心,可以就讨论的结果做一些相应的修改。负责 Review PR 的同学也会持续跟进 PR 的调整,确保内容最终能够顺利合入仓库。

06 还不过瘾?

VisActor 数据可视化创意编程大赛暨文档达人挑战赛 等你挑战!

VisActor 联合豆包 MarsCode、稀土掘金、中国气象网、上海交通大学发起本挑战赛

🔗 报名链接 :https://juejin.cn/post/7451775061902622747

比赛分为三个赛道,并由字节跳动专家作为导师,还有丰富的礼品欢迎大家参与~

可视化创意编程

▪️ 基于 VChart 的象形图表:要求参赛者使用 VChart 象形图组件进行扩展,内容和形式自由发挥。

▪️ 基于 VStory 开发动态信息图:使用 VStory 进行信息图 demo 开发,形式自由发挥,自行编排动画和叙事逻辑。

▪️ 散点关系图:详情为时序散点关系图。

▪️ 表格叙事:使用 VStory 中的 VTable 接口,完成一个基于表格叙事的作品。

▪️ Joytoy 产品介绍作品:使用 VStory,通过数据可视化形式对 Joytoy 的机甲产品进行介绍。

文档达人挑战赛

▪️ VTable 源码解读:征集 VTable 源码的解读文档。

▪️ VChart 源码解读:征集 VChart 源码的解读文档。

豆包 MarsCode 专项奖

▪️ 豆包 MarsCode 最佳使用奖:评选标准为参赛者记录参与 VisActor 开发过程中使用豆包 MarsCode 的过程和精彩瞬间,形成文档,对外发布。

▪️ 豆包 MarsCode 幸运奖:比赛期间,活动群每周进行一次幸运抽奖,要求上传豆包 MarsCode 使用截图。

相关链接

▪️ Marscode 官网:sourl.cn/JixwNw

▪️ VisActor 官网:www.visactor.io/

▪️ VisActor GitHub:

  • VChart:https://github.com/VisActor/VChart

  • VTable:https://github.com/VisActor/VTable

  • VMind:https://github.com/VisActor/VMind

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32-CAN总线

1.CAN总线简介 CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线 2.CAN总线特征 两根通信线(CAN_H、CAN_L),线路少,无需共地差分信号通信(相对的是单端信号)&#…

机器学习-线性回归(简单回归、多元回归)

这一篇文章,我们主要来理解一下,什么是线性回归中的简单回归和多元回归,顺便掌握一下特征向量的概念。 一、简单回归 简单回归是线性回归的一种最基本形式,它用于研究**一个自变量(输入)与一个因变量&…

Linux 高级路由与流量控制-用 tc qdisc 管理 Linux 网络带宽

大家读完记得觉得有帮助记得关注和点赞!!! 此分享内容比较专业,很多与硬件和通讯规则及队列,比较底层需要有技术功底人员深入解读。 Linux 的带宽管理能力 足以媲美许多高端、专用的带宽管理系统。 1 队列&#xff0…

安装k8s前置操作(Ubuntu / CentOS)

本文将介绍在 Ubuntu 和 CentOS 系统上进行 Kubernetes 部署前的基本配置步骤。不同的操作系统有不同的配置方法,但大部分操作是相似的。本文章将分为两个部分:第一部分是 Ubuntu 前置操作,第二部分是 CentOS 前置操作。 第一节:U…

Flask简介与安装以及实现一个糕点店的简单流程

目录 1. Flask简介 1.1 Flask的核心特点 1.2 Flask的基本结构 1.3 Flask的常见用法 1.3.1 创建Flask应用 1.3.2 路由和视图函数 1.3.3 动态URL参数 1.3.4 使用模板 1.4 Flask的优点 1.5 总结 2. Flask 环境创建 2.1 创建虚拟环境 2.2 激活虚拟环境 1.3 安装Flask…

C语言教程——动态内存管理(2)

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据 总结 前言 我们之前学了动态内存管理分配函数,也是熟悉了动态内存分配函数,基于动态内存分配我把之前的通讯录做了修改,上传到了gitee上,这篇文章接着…

python学习笔记3-字符串常用的方法

一、判断(9个): 二、查找和替换(8个) 三、⼤⼩写转换(5个) 四、⽂本对⻬(3个) 五、去除空⽩字符(3个) 六、拆分和连接 (6个&#xff0…

MySQL主从配置

一、 主从原理 MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。 二、主…

【java数据结构】二叉搜索树

【java数据结构】二叉搜索树 一、二叉搜索树的概念二、二叉搜索树的操作2.1 插入2.2 查找2.3 删除(重点以及难点)2.3.1 删除节点的左边为null2.3.2 删除节点的右边为null2.3.3 删除的左右节点都不为空 三、二叉搜索树的性能分析3.1 最优情况3.2 最差情况…

【Maui】注销用户,采用“手势”点击label弹窗选择

文章目录 前言一、问题描述二、解决方案三、软件开发(源码)3.1 方法一:前端绑定3.2 方法二:后端绑定3.3 注销用户的方法 四、项目展示 前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创…

【JVM】垃圾收集器详解

你将学到 1. Serial 收集器 2. ParNew 收集器 3. Parallel Scavenge 收集器 4. Serial Old 收集器 5. Parallel Old 收集器 6. CMS 收集器 7. G1 收集器 在 Java 中,垃圾回收(GC)是自动管理内存的一个重要机制。HotSpot JVM 提供了多种…

代码随想录算法训练营day35

代码随想录算法训练营 —day35 文章目录 代码随想录算法训练营前言一、01背包问题 二维二、 01背包问题 一维 (滚动数组)三、416. 分割等和子集总结 前言 今天是算法营的第35天,希望自己能够坚持下来! 今天开始是背包问题了&…

低代码系统-产品架构案例介绍、简道云(七)

今天分析另外一个零代码、低代码产品-简道云,跟所有低代码产品的架构图一样,高、大、炫、美。 依然是从下至上,从左到右的顺序。 开发层 搭建中心 表单、流程、报表、用户中心,还是这些内容,自定义打印很多平台都有&am…

J1打卡——鸟类识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.检查GPU import tensorflow as tf gpustf.config.list_physical_devices("GPU") if gpus:tf.config.experimental.set_memory_growth(gpus[0],True…

不建模,无代码,如何构建一个3D虚拟展厅?

在数字化浪潮的推动下,众多企业正积极探索线上3D虚拟展厅这一新型展示平台,旨在以更加生动、直观的方式呈现其产品、环境与综合实力。然而,构建一个既专业又吸引人的3D虚拟展厅并非易事,它不仅需要深厚的技术支持,还需…

翻译:How do I reset my FPGA?

文章目录 背景翻译:How do I reset my FPGA?1、Understanding the flip-flop reset behavior2、Reset methodology3、Use appropriate resets to maximize utilization4、Many options5、About the author 背景 在写博客《复位信号的同步与释放(同步复…

开源物业管理系统助力高效管理与服务提升

内容概要 开源物业管理系统为物业行业带来了诸多革新,能有效提升管理质量和服务水平。这个系统不仅灵活,适应性强,还能通过智能化功能满足各种复杂的物业管理需求。我们知道,对于物业公司来说,合理的资源配置至关重要…

UE5 开启“Python Remote Execution“

demo 代码 remote_execution.py 远程调用UE5 python代码-CSDN博客 在启用 Unreal Engine 5(UE5)的“Python 远程执行”功能后,UE5 会启动一个 UDP 组播套接字服务,以监听来自外部应用程序的 Python 命令。 具体行为如下&#xf…

web应用引入cookie机制的用途和cookie技术主要包括的内容

web应用引入cookie机制,用于用户跟踪。 (1)HTTP响应报文中的Cookie头行:set-Cookie (2)用户浏览器在本地存储、维护和管理的Cookie文件 (3)HTTP请求报文中的Cookie头行:…

win32汇编环境,按字节、双字等复制字符的操作

;运行效果 ;win32汇编环境,按字节、双字等复制字符的操作 ;这是汇编的优点之一。我们可以按字节、双字、四字、八字节等复制或挨个检查字符。 ;有时候,在接收到的一串信息中,比如访问网站时,返回的字串里,有很多0值存在&#xff0…