Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工! - 科技金融 -

当前位置:首页  >  科技金融  > 正文

Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!

Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!
2022-12-20 11:04:04

Copilot 来了,程序员会失业吗?ChatGPT 又来了,程序员会失业吗?程序员本来就焦虑,最近似乎越来越焦虑了。在 Copilot 问世时,我感觉自己退化成了工具人:《我退化成一个只会敲 Tab 键的工具人了!》。如今 ChatGPT 又来了,这次我是什么感觉呢?感觉真的 Google 和 StackOverflow 已经不好用了。

不过,经过一段时间对 Copilot 的使用,我的心态已经平和了许多,不再担心失业了。回头来看,其实,它们都是效率工具,它们不是要干掉程序员,而是更好地帮助程序员。众所周知,程序员可以改变世界,那么,借助 Copilot 和 ChatGPT,程序员的自我感觉更棒了!可以更加肆无忌惮地在未知领域里自由探索了!


(相关资料图)

探索 Vue

前几天,我开始对一个 Vue 项目做一些迭代优化,这是我第一次接触 Vue 项目。我需要对该 Vue 项目进行保护,添加登录功能,详细过程见《使用 IdentityServer 保护 Vue 前端》。我在这一篇日志里提了一下,说自己参考 Vue 的官方文档,给 Vue 应用添加的方法,在 vue-router 的导航守卫里,按照 vue-router 的官方文档去拿这个方法,居然是 undefined!通过 Google 搜索了很久,都是这种官方文档类似的说明(然而并不管用!),于是我去 StackOverflow 上提了这个问题:https://stackoverflow.com/questions/74769607/how-to-access-vues-methods-from-navigation-guard,这个问题到现在,也没有其他人(除了我自己)回复。

于是我抱着试一试的心理,在 ChatGPT 上问了一下,没有想到立即得到了详细的解答:

它的思路是,将方法添加在 Vue 的 prototype 中,这样,在导航守卫里就能使用 this关键字去访问全局方法了!这真的是比 Google 好用呀!

探索 Mybatis plus

我对 Java 也不熟,它的生态中很多组件,我听上去感觉就是拼写错误。昨天在 Mybatis plus 上就栽了跟头。事情是这样的,我和同事们业余做了一个项目(有兴趣一起来玩的同学们欢迎联系哈),目前刚开始,正在做一个 3D 世界里的角色可以选择自己的皮肤颜色的功能。

https://brickverse.vercel.app/

或者这个链接:https://brick.cat

前端部署在 Vercel 上,后端部署在 Okteto 上。后端服务是一个 Java 项目,我在这个项目里添加了 UserPreference 这个数据表,用来保存用户的偏好设置,详细 api 文档见:https://brickverse-user-service-gracewen1.cloud.okteto.net/doc.html#/brick/%E5%BD%93%E5%89%8D%E7%94%A8%E6%88%B7%E5%81%8F%E5%A5%BD%E7%AE%A1%E7%90%86/createOrUpdateUserPreferenceUsingPOST。

用户可以有很多设置,我的设想是每个用户可以有多个 key-value 键值对,但同一个用户,同一个 key,只能有一条记录。为了简单,就提供一个接口给到用户添加或者更新偏好。我的设想是,对于同一个 userId, key,如果没有记录就添加,有的话,就更新 value。我对 Mybatis plus 不熟,但是在写的过程中,点出了一个 saveOrUpdate 方法,就认为这正是我要的,保存或者更新嘛。我在 Flyway 脚本里将 userId 和 key 设置成唯一索引,心想,当我试着保存一个记录时,首先尝试插入,碰到已有记录的错误时,该方法就转而调用 update。

CREATE TABLE `user_preference` (`id` bigint NOT NULL AUTO_INCREMENT,`user_id` varchar(100) NOT NULL,`key` varchar(100) NOT NULL,`value` varchar(10000) NOT NULL,`create_time` datetime DEFAULT NULL,`update_time` datetime DEFAULT NULL,PRIMARY KEY (`id`),UNIQUE KEY `user_id_key` (`user_id`,`key`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

public boolean saveOrUpdatePreference(String userId, UserPreferenceDto dto) {var key = dto.getKey();var value = dto.getValue();UserPreference userPreference = new UserPreference();userPreference.setUserId(userId);userPreference.setKey(key);userPreference.setValue(value);return this.saveOrUpdate(userPreference);}

没想到,实际上,当想要更新这个 value 时,仍然报了唯一索引冲突错误,而没有进行更新。这时,我才知道,这个 saveOrUpdate,在不传入主键时,总是尝试插入。这时我用 Google 搜索如何让 saveOrUpdate 根据自定义查询条件去判断是否已存在呢?发现似乎只有国人在用 Mybatis Plus,找到的链接全是 csdn 对 saveOrUpdate 的泛泛简介,没有一篇文章讲解高级用法。

这时我抱着试一试的想法,去问了一下 ChatGPT,没想到它立刻马上给予了详细的说明,不仅有代码示例,还有温馨提示,主要指出我的代码问题在于调用 saveOrUpdate 时,没有去数据库里查询已有记录。

你看,它给的代码示例,在调用 saveOrUpdate 之前,先使用 QueryWrapper 去查询了数据库里的现有记录,然后再设置值。看到这里我秒懂了,我需要在调用 saveOrUpdate 之前,根据 userId 和 key 来查询一下数据库中的记录。这时,我想,能不能把这个查询做为参数直接扔给 saveOrUpdate 呢?我试着在 saveOrUpdate 的第一个参数后加了一个逗号,这时, Copilot 就自动帮我补全了代码,我一看,还正是我需要的条件呢!

我按了一下 Tab 键,提交了这个改动:

在 cicd 流水线跑完后,我再试了一次,重新选择皮肤颜色,更新成功了!

总结

我感觉自己从此可以摆脱面向 Google 和 StackOverflow 编程的习惯了,转而面向 ChatGPT 和 Copilot 编程。ChatGPT 和 Copilot,可以让程序员在尝试新的领域时,变得更加有效率。就像朋友圈有朋友留言说的,ChatGPT 和 Copilot 可以互相结对编程,让 AI 们为我们打工!

标签:

(责任编辑:news01)
河北平山一通勤班车发生涉水倾覆事故 公安部工作组赴现场指导工作

河北平山一通勤班车发生涉水倾覆事故 公安部工作组赴现场指导工作

  法治日报全媒体记者 董凡超  10月11日7时许,河北省石家庄市平山县钢城路滹沱河大桥施工辅路发生...
10-12 14:06:15
今天北京延续秋高气爽 明天夜间或有小雨上线

今天北京延续秋高气爽 明天夜间或有小雨上线

  中国天气网讯 今天(10月12日),北京将延续秋高气爽的天气,但白天最高气温仍在19℃,夜间最低气温8...
10-12 14:06:15
台风“圆规”将影响东南沿海 北方局地有一次弱降水过程

台风“圆规”将影响东南沿海 北方局地有一次弱降水过程

  中新网10月12日电 据中央气象台网站消息,昨日08时至今日06时,浙江东北部、广东雷州半岛、海南岛...
10-12 14:06:15
受台风“圆规”影响 琼州海峡再次停航

受台风“圆规”影响 琼州海峡再次停航

  南方日报讯 (记者 黄叙浩 实习生 徐贝贝 通讯员 粤应宣)记者从省应急管理厅获悉,受台风“圆...
10-12 14:06:15
徐州一楼盘降价促销被叫停?官方:房开虚假宣传,已责令整改

徐州一楼盘降价促销被叫停?官方:房开虚假宣传,已责令整改

  澎湃新闻记者 邱海鸿  “工抵房”、降价近千元销售……近日,江苏徐州贾汪区一家楼盘因降价促销...
10-12 14:06:15
“云健身”成年轻人生活常态 互相“攀比”更起劲儿

“云健身”成年轻人生活常态 互相“攀比”更起劲儿

  “云健身”成年轻人生活常态 互相“攀比”更起劲儿  “开通会员参加运动在线培训,连续包月每月1...
10-12 14:06:14
“烫手山芋”?二手大件家具如何才能“有家可归”

“烫手山芋”?二手大件家具如何才能“有家可归”

  青年经济说“烫手山芋”?二手大件家具如何才能“有家可归”  大件家具回收成为社会经济进步中“...
10-12 14:06:14
云南到底有多美?谁没去过谁后悔……

云南到底有多美?谁没去过谁后悔……

  作者:王旌亚  地处中国西南部的云南省  素有  “动物王国”“植物王国”  和“物种基因库...
10-12 14:06:14
工人日报:让医保蛀虫无处遁形,确保医保基金安全

工人日报:让医保蛀虫无处遁形,确保医保基金安全

  本报评论员 韩韫超  骗保会伤及很多患者的权利。骗保横行,必然导致医保基金这个池子中的水量非...
10-12 14:06:14
用户感觉被“窃听” 个人信息安全如何保护

用户感觉被“窃听” 个人信息安全如何保护

  用户感觉被“窃听” 个人信息安全如何保护  很多人都有类似这样的经历:刚和朋友聊天提起某款商...
10-12 14:06:13
赢得年轻人喜爱的旅游商品更有市场

赢得年轻人喜爱的旅游商品更有市场

  赢得年轻人喜爱的旅游商品更有市场  一双会发热的运动鞋,同时具有定位和紧急求助功能;一套采用...
10-12 14:06:13
第十七届中国戏剧节开幕

第十七届中国戏剧节开幕

  第十七届中国戏剧节开幕  本报武汉10月11日电 (记者吴君)第十七届中国戏剧节日前在武汉开幕。本...
10-12 14:06:12
虎丘曲会 意味悠长

虎丘曲会 意味悠长

  虎丘曲会 意味悠长(文化市场新观察)  核心阅读  唱腔婉转,彩袖翻飞,日前在江苏苏州虎丘山风...
10-12 14:06:12
老街区成为新网红

老街区成为新网红

  老街区成为新网红(图说)  “这里有记忆中的乡愁。”临崖而建的步道、沿街点亮的路灯、巴渝特色的...
10-12 14:06:12
“中国时刻”开启 翻开全球生物多样性保护新篇章

“中国时刻”开启 翻开全球生物多样性保护新篇章

  “中国时刻”开启 翻开全球生物多样性保护新篇章  据了解,此次大会主题为“生态文明:共建地球...
10-12 14:06:12
除了登高插茱萸,重阳节还能干点啥

除了登高插茱萸,重阳节还能干点啥

  除了登高插茱萸,重阳节还能干点啥  “重阳”的名称,来自《易经》中的“以阳爻为九”。九月初九...
10-12 14:06:12
电池事故频发 近3亿辆电动自行车如何安全上路

电池事故频发 近3亿辆电动自行车如何安全上路

  电池事故频发 近3亿辆电动自行车如何安全上路  “小区物业应该为电动自行车提供相关条件。我们可...
10-12 14:06:12
出口同比增长1倍多 中国汽车何以畅销海外?

出口同比增长1倍多 中国汽车何以畅销海外?

  咱们的汽车何以畅销海外?  新能源汽车不断拓展欧洲市场,乘用车、商用车等各类车型畅销海外,中...
10-12 14:06:11
中国汽车国际竞争力持续提升

中国汽车国际竞争力持续提升

  中国汽车国际竞争力持续提升(开放谈)  进入新世纪以来,在国家鼓励发展自主品牌、鼓励自主创新、...
10-12 14:06:11
讲述长城文化带故事

讲述长城文化带故事

  讲述长城文化带故事  精美夺目的动物纹金带饰,神秘古朴的突厥石人像,华丽考究的契丹贵族马具…...
10-12 14:06:11
修缮“水下长城”

修缮“水下长城”

  修缮“水下长城”(记录中国)  在河北喜峰口、潘家口,有一段独特的“水下长城”。1975年修建潘家...
10-12 14:06:11

猫界“黄金比例”颜值榜出炉

  猫界“黄金比例”颜值榜出炉  提到美学,不少人会想到黄金分割定律或“黄金比例”。基于此的一项...
10-12 14:06:10
曾负伤未愈重回战场 不知经历已被拍成电影

曾负伤未愈重回战场 不知经历已被拍成电影

  曾负伤未愈重回战场 不知经历已被拍成电影  “长津湖是个地名,那一战,我们团的一营二连100多个...
10-12 14:06:10
从河南到山西,未来极端天气会越来越常见吗?专家解读来了

从河南到山西,未来极端天气会越来越常见吗?专家解读来了

  新闻1+1丨从河南到山西,未来极端天气会越来越常见吗?专家解读来了  进入10月,异常的强降雨造成...
10-12 14:06:10
全国约一半省份上调最低工资标准 哪些人群将受益?

全国约一半省份上调最低工资标准 哪些人群将受益?

  多地最低工资标准上调啦!  “新最低工资标准已正式执行”“上调标准来了,看看你能涨多少?”今...
10-12 14:06:10
创新居住体验 打造“智慧的家”

创新居住体验 打造“智慧的家”

  创新居住体验 打造“智慧的家”  “小优小优,我要做北京烤鸭。”随着主人一声令下,智能冰箱就...
10-12 14:06:10
大熊猫为什么是国宝?

大熊猫为什么是国宝?

  大熊猫为什么是国宝?  大熊猫受威胁程度等级由濒危降为易危,很多人关心:大熊猫保护力度也会降...
10-12 14:06:10

来成都交子音乐广场边玩游戏边学网络反诈

  来成都交子音乐广场边玩游戏边学网络反诈  10月11日至13日,成都市国家网络安全宣传周公众体验活...
10-12 14:06:09

文明养犬,“铲屎官”不能掉链子

  文明养犬,“铲屎官”不能掉链子  让人羡慕的宠物生长环境,是美丽宜居生活城市赋予的优势,但“...
10-12 14:06:09

成都这位公交司机用行动诠释诚信

  成都这位公交司机用行动诠释诚信  20多平米的空间、形形色色的路人、7年的坚持,吴永刚用言行向市...
10-12 14:06:09

为您推荐

精彩推送