Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >运维如何开发-看我腾讯云AI代码助手

运维如何开发-看我腾讯云AI代码助手

原创
作者头像
静候轮回
发布于 2024-08-20 12:02:13
发布于 2024-08-20 12:02:13
66600
代码可运行
举报
文章被收录于专栏:静候轮回静候轮回
运行总次数:0
代码可运行
一、引言

作为一个运维人员,每次看到开发嗷嗷一顿敲代码就可以实现自己想要的功能属实十分羡慕,但奈何能力有限只能想想罢了,但是现在不一样了,有了腾讯云AI代码助手,我感觉作为运维的我行了,我站起来了~。这次使用腾讯云AI代码助手成功的写出了一个基于docker的应用安装小工具,类似于一个小的应用商店,可以快速安装各种应用。特意写一篇文章与大家分享我的喜悦。

二、开发环境介绍

开发使用的是go语言,工具的名称就叫做install-tool好了。开发工具使用goland。和开发的同事聊过这个话题,同时建议我使用go语言进行开发,因为主要使用场景是在linux服务器上执行,基于docker进行应用的安装,go打包二进制可以在linux上直接执行,就非常符合我的需求。其次开发完的工具大小也非常小,真的很适合作为小工具的开发开发语言。腾讯云AI代码助手安装方式可以参考官方文档

三、腾讯云AI代码助手使用实践

3.1、我想要实现的功能

其实我想要实现的功能很简单。因为经常要安装各种软件比如nginx,redis,mysql等等,所以就想能不能做一个应用商店,把需要安装的软件打包成tar包,因为都是基于docker安装的,所以只需要将这个tar包下载下来,解压,加载镜像,启动应用就可以完成安装,我对需要的功能总结如下

1、可以获取商店中可以安装的应用和版本

2、可以指定安装商店中的应用和版本

3、商店就是用nginx来存放tar包

3.2、主要的流程

1、应用tar包存储到nginx的web服务器上,/repo/app /version,app为对应应用的名称,version代表应用的版本,存放应用tar包和install.yaml,install.yaml中存储安装信息

2、所有可以安装的应用信息放到这个位置/repo/meta.yaml

3、install-tool通过访问/repo/meta.yaml,获取所有可以安装的应用以及版本

4、install-tool访问nginx,下载/repo/app /version上的安装包,并读取该目录下的install.yaml进行应用安装

3.3、编码实现

定义meta.yaml格式。

采用这种格式可以将所能安装的应用以及版本进行记录,客户端进行查询时返回相关信息,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
applications:
  - name: redis
    versions:
      - "6.2.10"
  - name: nginx
    versions:
      - "0.9"
      - "1.0"
      - "1.1"

我需要我的程序可以解析这个yaml文件的格式,请求AI大佬支援!!!

我们直接复制腾讯云AI代码助手给出的示例,放到mian.go中,需要先安装gopkg.in/yaml.v2这个包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func parseYAMLFile(filename string) ([]interface{}, error) {
    // 读取文件内容
    data, err := ioutil.ReadFile(filename)
    if err != nil {
        return nil, err
    }// 解析YAML数据
    var result []interface{}
    err = yaml.Unmarshal(data, &result)
    if err != nil {
        return nil, err
    }return result, nil
}

可是这个代码和我想要的不太一样,我需要从nginx上取回这个文件,并解析,所以我们继续提出问题

腾讯云代码助手有给出了一个通过http请求获取yaml文件的方法,并修改了原来的解析yaml文件方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func fetchYAMLFile(url string) ([]byte, error) {
    // 发送GET请求
    resp, err := http.Get(url)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()// 读取响应体
    data, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return nil, err
    }return data, nil
}
​
func parseYAMLFile(url string) ([]interface{}, error) {
    // 获取YAML文件内容
    data, err := fetchYAMLFile(url)
    if err != nil {
        return nil, err
    }// 解析YAML数据
    var result []interface{}
    err = yaml.Unmarshal(data, &result)
    if err != nil {
        return nil, err
    }return result, nil
}
​
func main() {
    // YAML文件的URL
    url := "http://127.0.0.1/repo/meta.yaml"// 解析YAML文件
    data, err := parseYAMLFile(url)
    if err != nil {
        log.Fatalf("error: %v", err)
    }// 打印解析结果
    fmt.Printf("%+v\n", data)
}

现在可以正常获取到meta文件,我们的程序需要接收到一个-l的参数,返回所有可以安装的软件和版本信息

修改后的mian方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func main() {
    // 解析命令行参数
    var flagL bool
    flag.BoolVar(&flagL, "l", false, "显示可安装的软件和版本号")
    flag.Parse()if flagL {
        // YAML文件的URL
        url := "http://127.0.0.1/repo/meta.yaml"// 解析YAML文件
        data, err := parseYAMLFile(url)
        if err != nil {
            log.Fatalf("error: %v", err)
        }// 打印软件列表
        printSoftwareList(data)
        return
    }
}

测试了一下好像不太对。。。于是开启了和腾讯云AI代码助手N轮的相爱相杀,同时也去找开发同事帮忙看了一下。最后结论就是即便是一个小功能,也不能把所有代码都放到一个文件里面。解析后的yaml也不应该直接处理需要绑定到一个具体的类上,可以很好的复用。最后在同事以及腾讯云AI代码助手的帮助下,修改为一下结构,并编写了对应的struct接收yaml数据

中间大量重复的和腾讯AI代码助手互动就直接跳过(折磨了我四天,哦不对是我折磨了AI四天。。。),最后开发完代码结构如下

但是腾讯云AI代码助手真的是太优秀了,尤其是这个代码补全功能,我写个开头就能帮我把代码补充完整

然后就是有部分给出的示例代码读不懂,可以让腾讯AI代码助手直接解释这段代码

3.4、验证

四、获得帮助与提升

整个工具写了大概四天吧,其中不断积累,不断学习,好在腾讯云AI代码助手是个AI不是真人,要不然估计要被我气死,突然发现他最大的优点不是那是那些能看得见摸得着的功能,也是他不会生气。。。。通过腾讯云AI助手的帮助完成了这个小工具的开发也算是我这个运维入门了开发吗,姑且勉强我就这么认为吧。最起码降低了程序员的入门门槛,这个帮助对于我来说无疑是巨大的。

五、建议

因为刚刚使用,说实话没有什么特别有建树的意见,以下内容纯属个人想法,如果说的不对勿喷

1、问答形式给出的示例,好像不会告诉如何划分程序路径,只是给出一段代码,并不会说这个属于工具类型的,应该放到utils目录这样的提示

2、解释代码还是不够清晰,可能是由于我太菜的原因,这个不好说。。。

3、代码补全为啥有时候补全出来的代码不能用,goland直接就显示红色

六、结语

非常有意思的一次开发之旅,说实话我也不知道我写的代码是什么逻辑,但是就按照腾讯云AI代码助手的提示编写修改,最后就完成了只不过对于我这个小白来说用时太长了,一边写一边改一边测试写了三四天才完成,但结果终归是好的,在腾讯云AI代码助手和同事的帮助下,算是顺利的完成我想要的功能。过程是痛苦的结果是喜悦的,下次还是尝试一下用腾讯AI代码助手写shell脚本吧,这个我666

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用腾讯云AI代码助手辅助开发部署工具
随着AI技术的发展,AI技术在各种领域已经开始形成新的生产力,包括问答知识库,语音生成,图片生成等,现在一个新的AI赛道也已经初具规模,那就是AI代码助手,AI代码助手通过丰富的知识库以及优秀的训练模型,可以在程序开发过程中提供有效的帮助,甚至可以在完全不熟悉的语言中,通过AI代码助手的帮助实现需要的功能,今天这篇文章将通过一个实际的使用案例,介绍腾讯云AI代码助手。
堕落飞鸟
2024/08/11
6891
基于腾讯云 DeepSeek 的 AI 智能阅读助手开发实践
在当今信息爆炸的时代,快速而高效地阅读文档和整理信息变得极其重要。专业人士、学生和学术研究者通常需要阅读大量的资料,而这些文档往往篇幅冗长、内容专业,需要耗费大量时间才能完全理解。特别是面对技术文档、学术论文或行业报告时,即使是领域专家也常常需要反复阅读才能掌握核心内容。
陈明勇
2025/03/19
53712
基于腾讯云 DeepSeek 的 AI 智能阅读助手开发实践
腾讯云 AI 代码助手:你的智能编程助手,让代码编写更高效
在这个飞速发展的数字时代,随着AI和人工智能、大模型技术的快速发展,人工智能(AI)已经渗透到我们生活的方方面面,越来越多的行业开始尝试将AI技术应用于实际业务中,而它在软件开发领域的应用,也是得到了很大的效果。目前逐渐有大量的IT开发工程师开始使用各类的AI工具来帮助改善编程体验、提高效率和增加代码质量,将极大地推动了编程行业的进步和创新。
用户10668727
2024/08/09
7650
#腾讯云AI代码助手# tencent-deepseekR1 模型体验心得
#腾讯云AI代码助手# 无须自己动手,使用腾讯云AI代码助手帮我实现实现自动扒取数据的需求,简单又快捷,自己手动小改下就能用了,给#腾讯云AI代码助手# 点赞!
用户3836902
2025/02/26
1634
使用 AI 辅助开发一个开源 IP 信息查询工具:一
在写代码时,总是会遇到一些有趣的机缘巧合。前几天,我在翻看自己之前的开源项目时,又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程:《使用 Nginx 提供 DDNS 服务(前篇)[1]》和《使用 Nginx 提供 DDNS 服务(中篇)[2]》,但总觉得还可以做得更好。
soulteary
2024/12/23
1610
使用 AI 辅助开发一个开源 IP 信息查询工具:一
使用 Go 开发一个简单的 YAML 文件翻译小工具
有时我们需要翻译 YAML 文件的内容,但目前缺乏一个专门针对 YAML 的便捷翻译工具。为此,我们可以自己开发一个定制化的工具。本文将介绍如何使用 Go 语言开发一个简单的 YAML 文件翻译工具。
陈明勇
2024/10/18
2850
使用 AI 辅助开发一个开源 IP 信息查询工具:一
在写代码时,总是会遇到一些有趣的机缘巧合。前几天,我在翻看自己之前的开源项目时,又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程:《使用 Nginx 提供 DDNS 服务(前篇)》和《使用 Nginx 提供 DDNS 服务(中篇)》,但总觉得还可以做得更好。
soulteary
2024/12/22
1130
使用 AI 辅助开发一个开源 IP 信息查询工具:一
腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发 🚀
腾讯云AI代码助手是一款辅助编码工具,基于混元代码大模型,提供技术对话、代码补全、代码诊断和优化等能力。它可以为开发者生成优质代码,解决技术难题,提升编码效率。
猫头虎
2024/08/07
6750
腾讯云AI代码助手评测:如何智能高效完成Go语言Web项目开发 🚀
用腾讯云AI代码助手开发一款数据库敏感信息检查工具
作为一个优秀的 IT 技术民工,需要始终学习先进的技术并将技术转换为生产力,目前 AI 领域编码辅助工具层出不穷,开发者有必要或者说必须要掌握相关工具的使用,以提高编码效率,降低编码错误。这次我通过一个简单的项目和大家分享一下腾讯云 AI 代码助手的使用。
腾讯云代码助手 CodeBuddy
2024/12/15
1710
Kubernetes Operator 开发教程
Kubernetes Operator 是一种封装、部署和管理复杂有状态应用的高级方法。它通过扩展 Kubernetes API 和控制器模式,将运维领域的知识(如备份、扩缩容、故障恢复)编码到自定义逻辑中,使应用可以像管理原生 Kubernetes 资源(如 Deployment、Service)一样自动化运行。
rxg456
2025/03/02
3650
Kubernetes Operator 开发教程
AI绘画最佳实践|用腾讯云智能图片融合优化AI绘画的效果
上一篇文章《最佳实践 | 用腾讯云AI图像能力实现AI作画》提到用腾讯云智能AI能力如何实现简易版的AI绘画,发布后受到大量网友关注,也在思考还能不能做出更好的效果。
腾讯云AI
2023/04/18
5.7K1
AI绘画最佳实践|用腾讯云智能图片融合优化AI绘画的效果
最佳实践|用腾讯云AI图像能力实现AI作画
最近看到一篇有趣的文章,一副名为《太空歌剧院》(如下图)的艺术品在某美术比赛上,获得了第一名的成绩, 有意思的是这件作品是通过AI来实现的画作, 顿时觉得非常神奇。 结合近期科技媒体频频报道的AI作画爆火现象,深入了解了下,发现市面上有一些AI作画的小程序, 是通过输入一段文字给AI, 然后输出一副和文字意思相近的图片。 这个感觉非常有意思,某种程度上会给绘画行业带来新的发展契机。
腾讯云AI
2022/11/11
4.4K0
最佳实践|用腾讯云AI图像能力实现AI作画
腾讯云AI代码助手编程挑战赛-AI易经出行
AI易经出行是依赖于在线版本的Agent接口与28万条黄道日历的大数据进行数据分析的一种推演工具,可以提供当前日期、当前时刻的具体个方位运势以及对某些个性化问题进行解决的功能性应用,可以解决因为自身运势状态导致的选择困难问题,趋吉避凶,是一个非常受欢迎的工具。
红目香薰
2025/01/10
900
腾讯云AI代码助手编程挑战赛-AI易经出行
腾讯云AI助力开发-数据库敏感信息检查工具
一个优秀的IT技术民工,需要始终学习先进的技术并将技术转换为生产力,目前AI领域编码辅助工具层出不穷,开发者有必要或者说必须要掌握相关工具的使用,以提高编码效率,降低编码错误。这次我通过一个简单的项目和大家分享一下腾讯云代码助手的使用。
玖叁叁
2024/08/19
5651
腾讯云AI代码助手: IT人提升工作效率的得力助手!
江湖有缘
2024/08/18
2820
腾讯云AI代码助手: IT人提升工作效率的得力助手!
【玩转腾讯云】打造你的私人 AI 助手
今天给大家带来的是:在腾讯云上打造你的私人 AI 助手,没想到腾讯云还可以这样玩。
YingJoy_
2020/04/19
11.6K2
【玩转腾讯云】打造你的私人 AI 助手
玩转腾讯云语音识别
随着互联网时代的进步,智能产品逐渐配备了更加多元化的功能应用、更加丰富的内容资源,用户在使用语音相关的功能时,越来越多的需求需要向智能产品用户提供更便捷的操作体验,语音转换成文本,语音识别是人工智能领域极为重要的前沿技术,实现快速、高效、准确的语音识别及控制,实现智能行业内全新的便捷操作模式。
用户10585271
2024/05/22
2K2
玩转腾讯云语音识别
听说你还不会jwt和swagger-饭我都不吃了带着实践项目我就来了
哈喽,大家好,我是asong,这是我的第八篇原创文章。听说你们还不会jwt、swagger,所以我带来一个入门级别的小项目。实现用户登陆、修改密码的操作。使用GIN(后台回复Golang梦工厂:gin,可获取2020GIN中文文档)作为web框架,使用jwt进行身份校验,使用swagger生成接口文档。代码已上传个人github:https://github.com/asong2020/Golang_Dream/tree/master/Gin/gin_jwt_swagger。有需要的自行下载,配有详细使用文档。
Golang梦工厂
2022/07/07
8240
听说你还不会jwt和swagger-饭我都不吃了带着实践项目我就来了
腾讯云AI代码助手实践:基于腾讯混元实现智能问答与交互AI对话功能
在人工智能如汹涌浪潮席卷而来的当今时代,智能问答与交互AI对话功能已不再是新鲜概念,而是像丝线般渗透到各个领域。从嵌入智能手机随时随地响应需求的语音助手,到驻守在企业服务前沿解答各类疑问的智能客服系统,它们的身影无处不在。
Front_Yue
2025/01/09
7790
腾讯云AI代码助手实践:基于腾讯混元实现智能问答与交互AI对话功能
使用腾讯云AI代码助手实现高效开发
在现代软件开发中,借助AI技术提升效率和质量已成为趋势。本文将分享我使用腾讯云AI代码助手实现功能优化和代码质量提升的经历。
鲸落c
2024/08/12
4820
推荐阅读
相关推荐
使用腾讯云AI代码助手辅助开发部署工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验