当前位置: 首页>行业 >

世界观速讯丨Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!

来源: | 时间: 2022-12-19 06:55:17 |

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 们为我们打工!

关键词:

 

热文推荐

世界观速讯丨Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!

Copilot来了,程序员会失业吗?ChatGPT又来了,程序员会失业吗?程序员本来就焦虑,最近似乎越来越焦虑了。在Copilot问世时,我感觉自己退化

2022-12-19

雍正王朝:雍正知道自己的亲儿子弘时背叛自己,图里琛、十三爷起到关键作用|全球热头条

弘时愚蠢上了八爷胤禩的“船”,到死前才明白过来:八叔,阿其那,明明我斗不过弘历,你还让我去争,我恨你,我恨你……”此时的弘时是多么痛的

2022-12-18

天天微资讯!北京市地方金融监管局:将推动成立北京绿色金融国际顾问委员会

(原标题:北京市地方金融监管局:将推动成立北京绿色金融国际顾问委员会)证券时报网讯,12月17日,北京市地方金融监督管理局党组书记、局长

2022-12-17

中触媒(688267)12月16日主力资金净卖出279.15万元

截至2022年12月16日收盘,中触媒(688267)报收于36 83元,下跌4 71%,换手率0 7%,成交量0 27万手,成交额998 79万元。12月16

2022-12-17

新风光: 新风光关于召开2023年第一次临时股东大会的通知|今日热议

新风光:新风光关于召开2023年第一次临时股东大会的通知

2022-12-16

被动维护不如提早预防,风电塔筒防腐你做对了吗?:世界即时

近年来,我国越来越注重新型的绿色清洁能源的开发利用,风力发电作为一种新型的绿色清洁能源得到了较大发展,其丰富的能源储量,具有巨大的市场发

2022-12-16

滴滴出行概念股板块12月15日跌0.12%,浙江龙盛领跌,主力资金净流入1.22亿元

12月15日滴滴出行概念股板块较上一交易日下跌0 12%,浙江龙盛领跌。当日上证指数报收于3168 65,下跌0 25%。从资金流向上来看,当日滴滴出行概

2022-12-16

黄河内蒙古段封河加速 刘家峡水库减出库流量_世界观焦点

受冷空气影响,黄河内蒙古段封河速度加快,刘家峡水电厂按照黄河水利委员会调度要求,将刘家峡水库日均出库流量减少至460立方米每秒,确保黄河

2022-12-15

世界聚焦:i茅台APP注册用户突破3000万 累计预约人次近19亿

编程客栈()12月15日消息:i茅台官方宣布,今日上午i茅台APP注册用户突破javascript3000万,累编程客栈计预约人次近19亿i茅台官方表示,注册

2022-12-15

前沿资讯!渔业板块12月14日跌0.26%,中水渔业领跌,主力资金净流出1046.46万元

12月14日渔业板块较上一交易日下跌0 26%,中水渔业领跌。当日上证指数报收于3176 53,上涨0 01%。深证成指报收于11321 81,下跌0 02%。渔业板

2022-12-15

凤竹纺织12月14日主力资金大幅流出_天天信息

凤竹纺织12月14日主力资金净流出3423 94万元,涨跌幅为-3 69%,主力净量(dde大单净额 流通股)为-1 85%,两市排名4856 4887。投顾分析:该股今

2022-12-14

消息称苹果要对iOS开放 iPhone等自由了:功能、应用商店向第三方放开:天天消息

不得不说,欧盟的新规还是让苹果不得不去被动的调整,iPhone启用USB-C是第一步,接下来还有iOS封闭系统的打开。据悉,苹果公司准备允许在iPhon

2022-12-14

振邦智能: 关于使用部分闲置募集资金和自有资金进行现金管理的进展公告:世界今日讯

证券代码:003028               证券简称:振邦智能                               公告编

2022-12-13

春兴精工收关注函:要求说明长期挂账是否变相构成非经营性资金占用

证券时报e公司讯,春兴精工收到深交所关注函,要求公司说明相关长期挂账的款项是否变相构成公司实控人及其关联方对公司的非经营性资金占用。据

2022-12-13

猫价格多少钱一只(宠物店最便宜的猫多少钱)|世界最资讯

也有几百块钱的,5-15元一个。而不是购买,领养,或者去网站看领养信息。如果有感情,如果只是喜欢小猫,也可以养健康的猫。一些宠物店会收留

2022-12-13

浚县交警举行“珍爱生命 文明出行​”道路交通安全讲座_天天热议

“指挥交通一定要把哨子吹起来,文明交通和良好的交通秩序就是用哨子吹起来的!”应浚县财政局的邀请,交警韩士祥用通俗易懂的语言,深入浅出

2022-12-12

今亮点!良信股份(002706.SZ):持股4.56%股东任思荣拟减持不超0.801%股份

格隆汇12月12日丨良信股份公布,持股4 56%的特定股东任思荣拟自该减持计划公告之日起3个交易日后的6个月内,以集中竞价或大宗交易方式合计减持

2022-12-12

思进智能: 关于拟参与国有建设用地使用权竞拍的公告:环球即时看

证券代码:003025      证券简称:思进智能           公告编号:2022- 067          思进智能成形装备股份有限

2022-12-09

先进数通董秘回复:广州先进数通申请涉密信息系统集成资质,是为拓展涉密系统集成业务

先进数通(300541)12月08日在投资者关系平台上答复了投资者关心的问题。投资者:广州先进数通获得国家保密局颁发的涉密信息系统集成资质后公司

2022-12-08

异动快报:青岛食品(001219)12月7日13点42分触及涨停板-当前通讯

12月7日盘中消息,13点42分青岛食品(001219)触及涨停板。目前价格25 26,上涨10 02%。其所属行业休闲食品目前上涨。领涨股为青岛食品。该股为食

2022-12-07

资讯

因地制宜放“大招” 多地市密集出台稳经济措施

当前,受新冠肺炎疫情等因素影响,我国经济发展仍面临严峻挑战。5月25日,国务院召开全国稳住经济大盘会议,要求把稳增长放在更突出位置。5

2022-06-20     
北京推出14条秋游文化线路

金秋时节,北京市文化和旅游局以赏银杏品文化为主题,推出14条“叶落的季节——漫步北京赏银杏品文化主题线路”,邀市民和游客以步行、骑行

2021-10-27     
基因编辑发力 培育高质量人源化供体猪

此次人体试验,仅仅验证了基因编辑猪克服异种器官移植的超急性排斥反应,还需解决延迟性排斥反应、消耗性血栓等问题。但通过这次试验,能更

2021-10-27     
中国经济高质量发展步伐稳健 长期向好基本面未变

在全球疫情走势和经济走势趋于复杂的背景下,中国经济巨轮将驶向何方,举世关注。2020年10月26日至29日,党的十九届五中全会在京举行,明确

2021-10-27     
南美解放者杯决赛允许近4.5万观众入场

南美洲足联主席多明格斯25日与今年解放者杯决赛对阵的两支俱乐部负责人会晤,宣布决赛现场观众人数增加到球场容量的75%,即近4 5万人。今年

2021-10-27     
22年从警生涯 面对荣誉他说不要给我报功

9月24日,时任安徽省安庆市公安局迎江分局刑警大队大要案中队中队长周磊因在工作中激烈搏斗引发心源性猝死,倒在了工作岗位上,经医院抢救

2021-10-27