DevChat助力成为软件开发的“钢铁侠”

2023-11-22 03:30

本文主要是介绍DevChat助力成为软件开发的“钢铁侠”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景介绍:

随着人工智能ChatGPT的发展,ChatGPT 的开放将推动人工智能在各个行业的应用,带来诸多的变革和提高,曾经一段时间也是担心对软件行业的影响,会不会以后就不需要这么多程序员了,实际上在当下,有了它的辅助,程序员的工作量大大减轻。

在这里插入图片描述

记忆中,在《钢铁侠》系列电影中,有一个不可或缺的角色,那就是“钢铁侠”的智能助手——贾维斯。贾维斯是一个人工智能管家系统,不仅能够帮助钢铁侠实时分析情况,还能帮助钢铁侠管理整个家庭,可以说是“钢铁侠”生活和战斗的好助手了。

在这里插入图片描述

当然,这些例子还有很多,比如《黑豹2》中的苏睿的管家(瓦坎达科技),看完电影后,除了满满的科技感震撼之外,时常会在脑海中构想,会不会随着时代的不断发展,在不久的将来,IT开发人员也是“动动嘴”,代码就能自己写出来呢?

在这里插入图片描述

看似不可思议的事情,在现在就可以先来体验v1版本的“贾维斯”,一款背靠 GPT-4 的聊天式编程辅助工具 - DevChat!只需要简单的集成,就能实现打打字,就能帮助您提高编程技能和工作效率。


二、什么是DevChat?

Devchat是由国内领先的研发效能分析平台思码逸精心打造,它为开发者提供了一种全新的编程体验。使用 Devchat 插件,无缝融入 IDE,一网打尽GPT-4、Claude、讯飞等知名大模型 ,帮助开发者提高开发效率,告别脏活累活!

DevChat是一个集成了多种主流大模型的AI编程工具,专注于提升程序员的编程效率。它整合了ChatGPT、Codex等热门AI大模型,支持自然语言编程、代码编写、代码生成、代码补全等功能。

在这里插入图片描述

Devchat最大的优势是一站式服务,集成热门大模型,并且可以根据需求随心切换,省去了选择和整合不同AI模型的麻烦,无需过多配置就可以快速上手,从而全面提升开发效率。


三、DevChat安装配置指南:

打开DevChat官方提供的注册链接,可以进行现阶段免费试用,提供了3种的注册方式,本人选择了“邮箱注册”,更为详细的步骤。

通过以下3个步骤就可以在VsCode的IDE中进行使用DevChat,基本上很简单,不用太过于复杂的配置。

在这里插入图片描述

接下来就开始体验一下,DevChat如何给IT开发人员提高工作效率呢?

在这里插入图片描述


四、使用DevChat如何快速学习Go语言?

本人工作中常用的技术栈是PHP、Python,对于Go语言一直想要学习与实践一番。今天就用DevChat看看如何新手如何写出高质量的代码。

先简单尝试一下DevChat的功能:

  • 可以选择不同的模型,当然,如GPT的模型会与token值有关,所以,使用完默认赠送的量后,就需要进行充值了。
  • 提问区,可以将需要搜索的问题输入进去。
  • 点击“发送按钮”后,就可以提交问题的搜索了,此时,DevChat即可根据相关的问题进行回答问题。

在这里插入图片描述
在这里插入图片描述

按照PHP类似的后端开发经验,刚刚入门实践的话,无非就是使用路由、数据库的CURD操作、环境部署,下面我们就按这个目标计划来使用DevChat一步一步完成Gin的代码。

1. 如何使用gin写一个web项目,路由包含get、post请求:

在这里插入图片描述

mkdir ginweb
cd ginweb
go get -u github.com/gin-gonic/gin

执行到第一步就报错了,提示“go.mod文件没有在当前目录中找到”,因为也是第一次接触go,没看明白,没关系,让DevChat来进行排错吧,通过DevChat给出的原因是“在Go 1.11之后,引入了Go模块化的概念,使用go get命令来获取依赖已经不再推荐使用。”。

在这里插入图片描述

go mod init ginweb.com
go install github.com/gin-gonic/gin  # 报错,并且给出了解决方案
go get github.com/gin-gonic/gin

在这里插入图片描述

可以看到根据DevChat搜索的方案,我们快速就启动了一个gin框架的,并且还开启了2个路由:

  • 一个是get请求,使用postman请求工具访问 http://localhost:8080/hello
  • 一个是post请求,使用postman请求工具访问发送POST请求到 http://localhost:8080/user,并设置参数name和age的值

在这里插入图片描述

2. 小结:

以下是从0到1利用DevChat,通过聊天式输入想要的问题,就可以得到答复,从安装Gin,到创建main.go文件,再到运行,都是按照回答的方案进行实现的,期间也遇到问题,通过DevChat可以轻松的进行排错解决,非常的方便、便捷。

在这里插入图片描述


五、使用DevChat如何进行数据库的操作:

后端开发免不了跟数据库打交道,下面我们就使用DevChat搜索“如何使用Gin进行数据库,用户登录表的操作”,马上就可以得到Gin使用gorm操作数据库的实例代码。

在这里插入图片描述

  • 安装和导入所需的依赖包,这里我们选择MySQL的数据库
  • 建立数据库连接和模型结构,这里会在数据库启动时默认创建好表,比较像PHP Laravel框架的Migrate,果然大家还是有异曲同工之处。
  • 路由增加注册和登录的接口

在这里插入图片描述

上面代码是实现用户注册、用户登录的逻辑,DevChat也温馨提示了,为了安全,建议对密码进行哈希或其它安全措施,还能自动找出Bug,可以有效的避免新手遇到的问题。

在这里插入图片描述

那我们根据DevChat返回的结果,同步到刚刚的ginweb项目中,以下是在本地起的docker,启动了一个MySQL容器,用于Gin对数据库的操作。

在这里插入图片描述

代码启动后,可以看到自动实例化了一张表结构,都不用使用create建表语句。
在这里插入图片描述

通过postman进行操作,可以看到我们插入了MySQL数据库的users表一条数据。
在这里插入图片描述

这里可以看到,我还没有自己写一行代码,就让DevChat完全把代码写出来了,包括注释也添加了。

在这里插入图片描述


六、如何在k8s中部署:

公司目前所有的应用都是在k8s部署,我们可以尝试用DevChat给出方案,初始化项目并且部署到测试环境中。

开发新技能,直接可以将一个文件添加到DevChat中,下面的的标识就会显示1,表示这个代码片段加入到DevChat中了,直接在问题描述区中,输入想要问的问题即可,比如:“写一份k8s部署的dockerfile和yaml文件”。

在这里插入图片描述

通过添加代码文件进行问答,Dockerfile文件,可以DevChat代码中的使用“Insert Code”就可以直接把代码插入到文档中,非常的快捷方便。

在这里插入图片描述

注意:这里必须要有一个当前需要插入的文件,否则无法插入到文件中。

在DevChat代码中的使用“Insert Code”把代码插入到Deployment.yaml文档中,对文档进行稍微的改造,删除一些不太需要的东西。再可以使用DevChat代码中的“View Diff”,可以查看2个文件不一致的地方。

在这里插入图片描述

完成这2个文件的写入,我们准备将代码提交到Git仓库,并且在k8s上执行测试环境的部署工作。


七、提交Git信息并且发布到测试环境:

使用Git命令操作当前的目录的文件全部提交到,Git当前工作区的所有文件都加入暂存区。用于DevChat去识别暂存区的文件,来分析这次提交的内容。

# 第一次初始化
git init
# 将当前工作区的所有文件都加入暂存区
git add ./
# 查看仓库当前状态
git status

在这里插入图片描述

在功能区,选择“git diff --cached”,这样就会把git提交到暂存区的文件提交到DevChat中,在问题提问区,输入“/commit message 中文描述”,再点击“发送”就可以拿到相关的结果。

在这里插入图片描述

DevChat默认是用英文答复的,对于我这种英文不是太好的,只能再次输入让中文描述一下,可以看到DevChat解析了提交的文件,并进行了分析,得出一些结果。点击“Copy message”后,直接会复制一些文案,直接无脑使用git commit命令进行提交,当然,正式的项目还是可以稍微修改一下文案,避免“挨骂”。

在这里插入图片描述

因为公司使用的是“云效”代码仓库,我们将这个项目初始化并推送到“云效”的仓库中,如下可以看到代码已经上传到“云效”的仓库中。

在这里插入图片描述

因为是公司的集群配置,一些敏感的信息就不方便透露。

接下来是配置流水线,通过对以下的三步进行操作:

在这里插入图片描述

步骤名称描述
第一步流水线源选择对应的项目,因为目前只有master分支,所以就选择master分支做为构建的分支。
第二步Go镜像构建这里需要设置一些参数:
(1). 标签为Docker镜像Tag。支持固定参数例如1.0,或者动态参数例如${DATETIME}。
(2). Buildkit 版本。
(3). 指定Dockerfile路径为Dockerfile文件相对于代码库根目录所在路径,如META/config/Dockerfile或Dockerfile。
(4). ContextPath为docker build命令执行上下文路径。填写相对于代码根目录的路径,如target,如果不填则为Dockerfile文件所在目录。
第三步Kubernetes发布这里需要设置一些参数:
(1). Kubectl 版本为当前步骤中使用的kubectl客户端版本。请选择与集群适配的Kubectl版本。
(2). 命名空间为 Kubernetes 集群下的命名空间。例如"default"。
(3). YAML 路径为需要部署的 YAML 文件或者目录在源码中的相对路径。例如:“manifests”

配置完后,通过打包,可以完美的进行构建成功。

在这里插入图片描述

通过使用DevChat给出k8s部署的方案,新建了2个文件:Dockerfile和Deployment.yam文件,可以通过DevChat快速的完成Git message的提交信息分析,解决了平时写git message的痛点,后面就是推送到代码到云效仓库,可以发现,从DevChat给出的方案是完全可以通过的。

在这里插入图片描述


八、对比团队中目前开发的AI小工具:

现在AI很火,好多人都在玩GPT,公司的小伙伴也是蹭了一波热度,开发了一些小工具,供大家来玩耍,可以看到基本的功能还是有的,但是DevChat可以嵌套在VsCode做为插件使用,可以完美的做为VsCode一部分,不用来回切换,而且更精准的可以理解上下文关系,给出更为精确的答复。

在这里插入图片描述


九、使用DevChat进行Gin的单元测试:

1. 关于为什么要写单元测试?

  • 提高代码可读性,降低理解成本:清晰的单元测试能够在不了解代码主要逻辑的情况下明确函数的功能以及关键输入输出。

  • 降低调试成本:单元测试足够小,且case充分的情况下,会极大的缩短调试的时间,不需要再深入到函数内部一步步排查。

  • 降低代码修改成本:在迭代开发过程中,难免会对以前的代码进行修改或者是重构,有个单元测试,做修改后能够及时验证是否对其他模块乃至整个系统有影响,及早发现问题,规避风险。同时只需要针对修改内容进行测试,研发效率相应提升。

  • 缩短开发周期:尽早的发现bug,尽早修复,可以大大的缩短开发周期并且降低运维成本。

2. 如何使用DevChat来加速单元测试的开发。

在实际开发过程中,写单元测试的是比较费时间的,但是有些单元测试不得不做。那么我们使用DevChat来写单元测试是一种什么样的体验呢?

首先选择一段代码或者一个文件,点击“添加到DevChat”,添加后,直接在搜索区输入想要的问题,如“帮我写一个单元测试”。

在这里插入图片描述

输入后,发送问题,就可以看到DevChat自动帮我们创建了这段代码的单元测试,大概有50行代码吧,完全可以在1-2秒钟完成,就问一下效率提高了多少?

在这里插入图片描述

将DevChat回答区的代码,使用Insert Code插入到测试文件中,再使用“go test”命令,发现完美不报错,从搜索到实现,只花费了不到5秒钟时间,想想如果用整个文件呢?效率会提升到多少,而且写的代码还比我要好很多。

在这里插入图片描述


总结:

以上是本人对DevChat从0到1的体验过程,通过体验学习新技术Go语言,从开发到测试,再到项目的部署,在短短的不到10几分种,从刚刚接触Go语言就能完全写出符合项目规范要求的代码,效率非常的高,缩短了项目交付的周期,简简单单就能完成高质量软件开发需求。

在这里插入图片描述

一、对软件开发行业来说DevChat的出现有可能会带来一些新的就业机会。因为DevChat的代码编写也是需要专业的人员来提供技术支持的。对DevChat编写出来的代码进行调试修改,根据客户需求变更进行针对性处理。通过对DevChat编写的代码的调试修改为程序员创造出新的就业工作机会。

二、DevChat的出现可以节省软件代码编写时间。众所周知,程序员并不是完全机械化的敲代码,实际写代码的时间占比仅有20%左右,80%的时间是在调试修改和沟通协调以及一些客户需求信息同步。所以DevChat的出现可以帮助程序员解决一些简单的代码编写工作,减少代码编写时间,提高软件开发工作效率。

三、DevChat可以让软件开发的逻辑性更强。DevChat的优势就在于自身强大的逻辑推理能力,是算力和虚拟训练的结合,通过对训练数据的统计发现所蕴含的规律。进而让编写出来的代码更具逻辑性。但是需要注意的是,虽然DevChat编写出来的代码逻辑性较强,但是还是需要专业的程序员进行校对的,避免出现错误。

四、对简单的代码帮助更大。DevChat的出现会提高聊天应用的自动化水平,使其能够快速有效地回复用户的消息。这可能会对一些简单的聊天应用程序开发工作造成冲击,但并不会导致底层程序员失业。

五、有助于整个行业的发展。DevChat的出现会提高聊天应用的自动化水平,但不会导致底层程序员失业。它的出现可能会带来新的工作机会,并对一些程序员造成冲击,但最终会有利于整个行业的发展。

这篇关于DevChat助力成为软件开发的“钢铁侠”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/407195

相关文章

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

如何成为一个优秀的测试工程师

链接地址:http://blog.csdn.net/KerryZhu/article/details/5250504 我一直在想,如何将自己的测试团队打造成世界一流的团队?流程、测试自动化、创新、扁平式管理、国际标准制定、测试社区贡献、…… 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成。所以,先讨论“如何成为一个优秀的测试工程师”,

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

机器人助力上下料搬运,加速仓库转运自动化

近年来,国内制造业领域掀起了一股智能化改造的浪潮,众多工厂纷纷采纳富唯智能提供的先进物流解决方案,这一举措显著优化了生产流程,实现了生产效率的飞跃式增长。得益于这些成功案例,某信息技术服务企业在工厂智能物流建设的进程中,也选择了与富唯智能合作。 为了应对日益增长的物料搬运需求,匹配成品输出节拍,该公司引入了富唯智能复合机器人AMR与搬运机器人AGV,实现了仓库成品搬运自动化,大幅减少人工

Xinstall助力App全渠道统计,参数传递下载提升用户体验!

在移动互联网时代,App已成为我们日常生活中不可或缺的一部分。然而,对于App开发者来说,如何有效地推广和运营自己的应用,却是一个不小的挑战。尤其是在面对众多渠道、复杂的数据统计和用户需求多样化的情况下,如何精准地触达目标用户,提升用户的下载、安装和活跃度,更是考验着每一个运营者的智慧。 今天,我们就来揭秘一个能够帮助App开发者解决这些痛点的神器——Xinstall。作为一家一站式App全渠道

HTML5如何成为改变移动互联网幕后的推手

在未来的某一天,我们打开手机,不再需要访问手机应用商店,不论是 Apple的还是Google的,我们只需要点击手机主菜单页面上的一个链接,手机就会立即在它的浏览器上启动一个 “应用程序”;再也不需要flash插件,就能欣赏华丽丽视频画面。   AD:2013云计算架构师峰会课程资料下载   2012年,说HTML5集千宠万爱于一身也毫不夸张,IE、Chrome、Firefox和Opera等

随着人们网络安全意识提高,软件架构设计与评估也成为重中之重

目录 案例 【题目】 【问题 1】(13 分) 【问题 2】(12分) 【答案】 【问题 1】答案 【问题 2】答案 相关推荐 案例         阅读以下关于软件架构设计与评估的叙述,回答问题 1 和问题 2。 【题目】         某电子商务公司为正更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信

集成电路学习:什么是SDK软件开发工具包

SDK:软件开发工具包         SDK,即Software Development Kit(软件开发工具包),是一套由软件提供商或其他组织提供的开发工具集合。这些工具旨在帮助开发者更快速、更便捷地创建、测试和部署软件应用程序。以下是对SDK的详细解释: 一、SDK的定义与组成         定义:SDK是一套包含编程工具、代码示例、技术说明文档、调试和测试工具等内容的软件包,有

从知识视角理解软件开发

软件构造中的核心知识:业务知识与架构知识 在软件构造过程中,最关键的两类知识是业务知识和架构知识。业务知识回答“什么是正确的软件”,而架构知识解决“如何正确地构造软件”。从这两个方面深入理解软件构造,可以帮助我们在设计和开发过程中做出更明智的决策。 1. 业务知识:定义正确的软件 业务知识是关于如何解决现实问题的知识,包括业务的目标、规则、限制、和已有的解决方案。它定义了“正确的软件”是什么