「豆包Marscode体验官」AI最佳实践全栈式从0到1开发个人博客系统我正在参加「豆包MarsCode初体验」征文活动

近年来随着人工智能(AI)大模型的迅猛发展,大模型在自然语言处理、计算机视觉、语音识别等领域的表现逐渐达到甚至超越人类的水平。在大模型的应用场景之下,如智能客服、阅读写作、图像生成等也随之进入生活提高工作效率。在编程领域中,也不断涌现出各类基于大模型的编程工具和开发平台,为开发者提升工作效率——豆包Marscode就是其一。

在本文中,我将带领各位小伙伴了解豆包Marscode编程助手的基本使用以及豆包MarscodeIDE的操作体验。之后在博客系统开发中,将分为博客系统的后端API服务、前端CMS、前端Web三大部分叙述,并且全程使用豆包MarscodeIDE完成项目开发。拭目以待一下,如何利用豆包Marscode助力全栈式地从0到1开发个人博客系统吧!

豆包MarsCode具备编程助手和云端集成开发环境CloudIDE两种形态。当然无论是编程助手还是CloudIDE,它们都提供以下能力:

可见豆包MarsCode提供的能力是十分多样的,足够应对我们开发中的大部分场景了。在后面的个人博客开发中也会逐一对这些功能进行应用、演示和讲解,感受豆包MarsCode强大的AI能力。

在正式开始豆包Marscode的使用之前,还需要先拥有一个账号。如果没有则跟随以下步骤注册吧。

豆包MarsCode编程助手需要在本地IDE中安装后才能使用,支持多种编程语言,目前可以在VisualStudioCode和JetBrainsIDE的插件市场中搜索到并安装使用。豆包MarsCodeIDE则无需安装,它是在云端的集成开发环境。下面分别介绍在这两大集成开发环境应用中如何安装豆包MarsCode编程助手。

Note:支持VisualStudioCode1.67.0及以上版本。

Note:支持JetBrains产品如IntelliJIDEA221.5080.210及以上版本。

这里我们演示在VisualStudioCode中配置豆包Marscode编程助手(IntelliJIDEA的则大同小异)。

在我的项目起步之初,我就直接决定选择豆包MarscodeIDE进行云端开发,而不是用本地IDE配合编程助手。在这里可以谈谈为什么使用豆包MarscodeIDE,它优势是什么,相比于本地IDE在开发体验上的有什么更为出彩的。

豆包MarscodeIDE原生内置了AI编程助手,在这一点上我们不需要单独安装编程助手就可以使用。其具备的功能同样包括代码自动补全与生成、问题修复、代码优化等能力,可以帮助你更高效地完成开发任务。

既然实现了云端开发环境,那么我们就不再需要担心本地开发设备的配置是否足够,对项目开发的算力是否足以支撑——豆包MarsCode弹性的云端资源可以满足任何项目的需要。

了解完豆包MarsCodeIDE的核心优势后,我相信小伙伴们都已经跃跃欲试了,下面来讲解如何开始使用豆包MarsCodeIDE。

创建好项目后就进入到豆包MarsCodeIDE工作空间,在这里我们就可以开始正式编码了。不过我们也可以先概览一下界面布局,先有个大致印象。

在使用豆包MarscodeIDE开发过程中,难免因为刚接触新工具而操作生涩,又或者面对莫名其妙的报错感到困惑始终排查不到原因,因此我在深度体验之后总结出了一些进阶的使用技巧及注意事项。在使用豆包MarscodeIDE开发的过程中如果有任何不解的地方都可以随时回顾本节。

即使豆包MarscodeIDE不受本地资源的限制就可以进行开发,但是在云端平台的资源也会有所限制。

BlogService作为个人博客系统的API服务,将为博客内容和网页提供数据访问和操作支持。根据整体工程规划,首先从这部分的API服务的搭建开始。

BlogService的技术选型如下:

好了,从这里开始我们正式的豆包MarscodeAI助手体验。在Mac上通过快捷键+U或者点击右侧的“AI”按钮调出AI助手对话框。在对话框中我们可以用自然语言向AI提问,并且可以进行多轮问答,不断补充细节,从而使AI助手的回答更加准确。

我们先让AI尝试“生成一个MD5Util”,它就会给出一个代码片段并且解释其主要用法。此时还可以留意到在生成的代码区块的右上角分别有三个图标选项,能够便捷地对生成内容执行操作:

Prompt:请根据我的数据表base_article.sql生成一个javaentity类

Prompt:使用lombok注解

Prompt:添加mybatis-plus的注解

Prompt:请继续补全,并注意数据库字段是蛇形命名法,例如@TableField("create_time")

Prompt:请根据我的BaseArticle实体类生成MyBatis的mapper文件

Prompt:请根据BaseAritcle类和BaseArticleMapper生成service代码

Prompt:请根据我BaseArticleService继续补充BaseArticleController代码

Prompt:请根据我的BaseUserService生成controller代码

在进行业务开发的过程中,也会随时对框架的核心代码进行补充。这里我会摘取部分内容的生成过程以供参考。

Prompt:生成一个UserContextHolder,用户处理UserContext,UserContextd的字段有id,username,session

Prompt:请帮在SessionInterceptor中完成拦截器代码,每次请求进来后校验cookie中的session

前面我已经让AI助手帮忙完成了基本的增删改查的业务代码,所以重新跟进业务进度,梳理一下目前主要欠缺、需要修改的功能。

Action:在编写代码时,光标处会自动提示预测代码,此时按下Tab键即可应用。

当完成一个接口业发或方法的代码逻辑后,别忘了加上注释方便API文档查阅和后续维护,这时就可以利用豆包MarscodeAI的代码注释生成这一功能。

Action:选中代码片段,然后在弹出的选项中点击“Doc”按钮,或在“Chat”中输入指令/doc

最后,在完成了接口开发后,通常都要先自行测试一遍,这是每个优秀程序员的自我修养!所以接下来借助豆包MarscodeAI的单元测试生成能力完成这部分的编写。

Action:选中代码片段,然后在弹出的选项中点击“UnitTest”按钮,或在“Chat”中输入指令/test

BlogCMS作为个人博客系统的内容管理系统,将为博客内容进行发布和管理。根据整体工程规划,在完成了BlogService的搭建后,进入这部分的开发,为后续的博客页面提供内容支撑。

BlogCMS的技术选型如下:

pnpmivue-routerpnpmipinia之后调整项目结构,主要有:

看一下页面效果,感觉挺不错的,HTML结构和CSS样式完全不需要修改直接就可以用。

Prompt:在我的AppLogin.vue中我需要用axios发起请求,成功后跳转到AppHome.vue

这里AI助手生成了一个大概的逻辑流程,只需要稍微修改一下就可以了。

接着先写好首页的路由配置,然后让AI生成首页。

Prompt:在修改和删除按钮中间再加上一个‘上线’或‘下线’按钮

Prompt:我要在进入AppHomeArticle时发起请求

Prompt:请帮我生成axois请求

Prompt:在ArticleList.vue跳转到ArticleDetail.vue时,分为创建、编辑、详情三种类型

豆包Marscode的代码生成不仅可以生成代码片段,也可以生成shell指令。我在提问如何引入bytemd时,AI的生成结果中有一段shellscript,此时可以点击在这个区块右上角的“Run”快速执行指令。当然这里的生成结果不够准确,正确的安装命令是:pnpmi@bytemd/vue-nextbytemd。

Prompt:请在我的ArticleCreate.vue中引入bytemd并使用

Prompt:请使用vue3的bytemd

BlogWeb作为个人博客系统的博客网页页面,用于呈现对外发布的博客内容。根据整体工程规划,在完成了BlogService和BlogCMS的开发,进入最后的这一部分开发。

要进行博客的页面开发,光靠想象还是很难有个具体的规划,虽然能够一点一点呈现,但结果也难免与自己设想的有出入,此刻如果有设计稿那将是一件锦上添花的事,也对过程结果更有把控。恰巧我正好有几张博客页面的设计稿(我自己设计的),如果没有参考别人或者我的也行(^^)。

豆包Marscode的代码解释能够理解整个项目工程,或者解释代码片段。如果要让AI理解整个工程可以在侧边栏AI对话框中进行提问,而要解释代码片段可以复制代码片段后在侧边栏AI对话框询问。当然还有一个更便捷的操作就是选中代码片段然后通过快捷键+I唤起内嵌AI助手,然后通过自然语言描述解释代码或发送指令/explain。在代码解释这项能力上AI还可以进一步地体现代码定位功能。比如我的页面header写好之后想重新调整菜单项的间距,由于样式太多我就直接尝试唤起内嵌AI助手提问。

Prompt:菜单项之间的间距样式在哪里

在编写代码的过程中总会遇到报错,无论是代码编辑区的还是终端的,豆包MarscodeAI都能完成错误修复。在有明显的报红错误处,指针移动到此会自动显示“AIFix”,点击就可以让AI进行修复错误;又或者选择代码片段让AI检查并修复潜在的警告。

Action:指针移动到报红报错处,在显示的选项中点击“AIFix”

Action:选择代码片段,在“Chat”中发送指令/fix

footer是我整个BlogWeb项目的最后一块开发内容,也是整个博客系统的收尾。因为比较简单所以直接用AI生成了代码,之后再稍加修改。

Prompt:请根据我的项目生成页脚

激动人心的时刻就是终于可以将我的个人博客上线了。这里主要讲解BlogWeb的部署,因为BlogService的部署方式是通过Serverless运行的,BlogCMS则可以随时在豆包MarscodeIDE需要时运行所以就不部署了(当然也可以参照BlogWeb的部署方式)。以下是各个项目可供参考的部署形式:

使用以下命令配置Git的用户信息,包括用户姓名和电子邮件地址。

gitconfig--globaluser.name"yourusername"gitconfig--globaluser.email"youremail"7.1.2生成SSH密钥在终端中运行以下命令生成SSH密钥,生成的公钥默认位于/home/cloudide/.ssh/id_rsa.pub。

cat/home/cloudide/.ssh/id_rsa.pub在Github中进入Settings-SSHandGPGkeys,点击“NewSSHKey”并添加公钥。

运行ssh-Tgit@github.com命令,如果出现以下信息只需确认ECDSAkeyfingerprint是否与Github提供的一致,一致则输入“yes”,即可成功通过SSH连接到GitHub。

首先需要在Github创建新的代码仓库,然后执行以下命令。

配置项目,基本上不用更改,直接点击“Deploy”(部署)即可。

拥有一个个人博客对个人来说无疑是会带来诸多效益的:

博客除了能为个人发展带来效益外,还能在一些场景中商业化:

豆包Marscode的优点是显而易见的:

当然了豆包Marscode的缺点也是有的,毕竟AI也不是尽善尽美的,当中存在一些不足。比如:

优点缺点都说了,那么这里给开发者一些使用豆包Marscode的建议:

THE END
1.属于软件生存期成长期阶段的是什么最后,需要注意的是,在成长期阶段,软件开发团队需要保持持续的创新和活力。创新是推动软件产品不断成长和发展的关键因素,只有持续地进行创新和改进,才能在市场竞争中保持领先地位。综上所述,软件生存期成长期阶段是软件产品逐渐得到市场认可和需求的阶段,需要软件开发团队持续地进行优化和升级,与其他相关行业合作交流,关注https://localsite.baidu.com/article-detail.html?articleId=9742560&ucid=n1D4rHDvrjT&categoryLv1=%E6%95%99%E8%82%B2%E5%9F%B9%E8%AE%AD&ch=54&srcid=10004
2.什么算是嵌入式全栈?腾讯云开发者社区走到这一步,基本就是嵌入式全栈了,上位机可以是自己开发,也可以由计算机的人去开发。 有了这些基础,你才可以像华为天才少年“稚晖君”一样,自己DIY硬件,自己DIY软件,自己从零做出一个东西来。当自己软硬件都懂的时候,你写代码就会非常踏实,而不会有空中楼阁的感觉。 https://cloud.tencent.com/developer/article/1829377
3.全栈开发工程师和嵌入式开发工程师有什么区别【任职资格】1.男女不限,大专及以上毕业;2.精通C/C++程序设计;3.有嵌入式系统8位、32位单片机软件开发经验或者是有一种或多种嵌入式操作系统应用程序开发经验者;4.有4G无线数据通信开发经验者优先;5.具有独立工作的能力,善于和他人合作,具有1年(包含1年)以上相关工作以上;6.具有严密的逻辑思维,踏实的工作态度https://www.jobui.com/gangwei/pk/quanzhankaifagongchengshi-qianrushikaifagongchengshi/
4.11种类型的开发工程师(你会是哪一种?)尽管如此,掌握所有级别的网络开发似乎也有其回报。StackOverflow在2022年对开发者进行的一项调查发现,当受访者被要求描述他们的角色时,”全栈开发者 “是最高的回答(近47%)。 2022年不同类型开发者占比 (via:StackOverflow) WordPress开发者是全栈式开发者吗? https://www.wbolt.com/types-of-developers.html
5.「什么是全栈工程师(嵌入式Linux+Web开发)」红贝电子2024年全栈2、一年及以上嵌入式开发经验,有实际应用项目经验。 3、熟悉C语言及嵌入式linux应用开发,有linux内核编程经验优先。 4、熟悉HTML、HTML5、CSS、JQ、JS、基础PHP,熟悉HTTP、TCP等协议交互,有安卓APP开发经验的优先,有web服务器联调经验优先。 赖先生2月内活跃 https://www.zhipin.com/job_detail/18406a8383903d0d0HJ43d28F1I~.html
6.全栈式微信小程序云开发实战.pdf孙芳梁大业林彬移动开发人才培养系列丛书全栈式微信小程序云开发实战CIoudBasePracticeofFullStackMiniPrograms孙芳梁大业林彬主编○从基础到应用,,从理论到实战全面介绍全栈式微信小程序及云开发技术》全书案例丰富,且综合案例由业界资深架构师编写利于读者快速入门和实战○提供丰富的教学资源,包括教学课件、案例源代码:习题解答回·中国工信https://max.book118.com/html/2021/1129/5004233343004123.shtm
7.我的前端之路:工具化与工程化Web前端组织架构上的分离,由早期的服务端开发人员顺手去写个界面转变为完整的前端团队构建工程化的前端架构。 前后端分离本质上是前端与后端适用不同的技术选型与项目架构,不过二者很多思想上也是可以融会贯通,譬如无论是响应式编程还是函数式编程等等思想在前后端皆有体现。而全栈则无论从技术还是组织架构的划分上似乎又回到https://www.iteye.com/news/32054
8.Java开发全栈知识体系架构学习(服务器微服务数据库思维导2021年从入门到精通java开发全栈知识体系架构学习总结知识脑图(学习使用于项目实战)前端、后台、服务器、Linux、性能优化、集群搭建、微服务、大数据、项目实战等内容https://www.processon.com/view/60504b5ff346fb348a93b4fa
9.“全栈这个概念坑害了多少开发者全栈的定义是什么?度娘给出的答案是: 全栈工程师,也叫全端工程师,英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。 相信很多人不认同此观念,但是不得不说,绝大多数的开发者都以此为目标。近段时间在工作中,频繁的与同事聊到这个话题,也让我深思了一下。 https://blog.csdn.net/yzzst/article/details/51645214
10.Web全栈工程师是什么1、全栈开发工程师的概念 全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。形象的打个比方来说:全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。 https://www.elecfans.com/d/860000.html
11.Vue:渐进式框架,自底向上构建用户界面的绝佳选择全栈模式相对于JSP模式来说,看上去是一种倒退,也确实是对原有开发模式的回归,但是是一种螺旋式的回归。 全栈模式依然面临诸多挑战: ●前端需要对服务器端编程有较深入的了解,例如TCP/IP等网络知识。 ● Java层与服务器端的高效通信,这种模式下HTTP通信可能效率不高,通过SOAP等方式通信效率更高,一切都需要验证。 https://m.bjhwtx.com/h-nd-258807.html
12.什么是全栈开发工程师什么是全栈开发工程师?简单来说,全栈开发工程师就是一种掌握各种技能并使用这些技能,能够独立完成产品的人。他可以处理数据库,服务器,系统工程和客户端的所有工作。可以根据项目,客户需要的,完成移动堆栈,Web堆栈或本机应用程序堆栈。 一个全栈开发工程师是需要掌握.PC、H5、Nodejs、小程序、移动端技术栈、Vue/Reacthttps://www.hxsd.com/content/27273/
13.浅谈全栈式测试开发1)测试岗位的最高需求 岗位:全栈测试开发工程师 级别:专家 2)测试岗位的发展转变 传统手工测试 -> 现代测试开发,本质是市场对测试人员的能力不断提高的必然诉求,其强调要https://www.jianshu.com/p/3d2a3d18c640
14.MMORPG全栈式网络游戏开发之旅本课程的主要学习内容是如何使用ET框架(在GitHub上有着极高人气的基于.Net的跨平台、开源、高性能、全栈式开发与多进程分布式部署的网络游戏开发框架)进行MMORPG网络游戏项目的开发实战的学习。 购 课 福 利 活动期间,凡购买UWA学堂《【E世界】MMORPG全栈式网络游戏开https://mp.weixin.qq.com/s?__biz=MzI3MzA2MzE5Nw==&mid=2668929490&idx=2&sn=1f6c5f962645827172ac2bff51b618b0&chksm=f1c90da0c6be84b67ff16c10425560c65e1516355539aa46f5259fe87db4d3310c343006cc7f&scene=27
15.《全栈式微信小程序云开发实战》简介书评在线阅读当当人民邮电出版社官方旗舰店在线销售正版《全栈式微信小程序云开发实战》。最新《全栈式微信小程序云开发实战》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《全栈式微信小程序云开发实战》,就上当当人民邮电出版社官方旗舰店。http://product.dangdang.com/630308182.html
16.国家重点研发计划“全栈式工况催化模拟计算与智能设计软件包该项目由中国科学院上海高等研究院牵头,联合山东大学、南京大学、浙江大学和上海超级计算中心等优势单位承担。项目将针对传统静态的构效关系无法实现催化剂动态调控和设计的重大科学问题,通过将原位谱/显微学表征方法与理论模拟及人工智能耦合,开发全栈式工况催化模拟计算与智能设计软件包,实现工况反应条件与理论模拟耦合。http://www.sari.cas.cn/xwdt/kydt/202403/t20240318_7037865.html
17.全栈式整车热管理试验台助力新能源汽车热管理系统开发为了满足主机厂新能源整车热管理开发与测试的需求,专业从事测试、测量、测控的系统集成企业北京中盛新能科技有限公司(以下简称中盛新能)开发出整车热管理全栈式试验台架解决方案,助力主机厂高效高质低成本的开展热管理系统开发。 整车热管理研发试验的挑战 1、 鉴于新能源车热管理日趋复杂,包括功能耦合复杂、整车交互复杂https://www.eefocus.com/article/1644993.html