Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!|环球报道
2022-12-19 09:42:50 来源:
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 们为我们打工!|环球报道
-
环球今日报丨禹州市不动产登记实现“全豫通办”
-
世界快讯:华仁药业:久源久电解质补充液、久源久电解质固体饮料近期订单增多
-
全球简讯:广东东莞成立RCEP区域商协会联盟
-
浪潮软件: 浪潮软件2022年股票期权激励计划(草案)_热议
-
烧山罪判多少年?
-
协议离婚书怎样写内容_每日信息
-
当前动态:信托是什么?信托的四大类别
-
当前要闻:亩产值6000元以上,叶县千亩辣椒园喜获丰收
-
看点:虚拟现实正成为数字经济新引擎
-
金科环境: 金科环境:2022年第二次临时股东大会会议资料 快播报
-
东易日盛董事长陈辉:“传统家装的数字化变革就是振兴之路” 热议
-
网贷逾期五年还不起的最坏后果?|快资讯
-
回盛生物主力资金持续净流入,3日共净流入1218.75万元
-
泽宇智能:公司新能源子公司业务包含了光伏发电业务 环球资讯
-
玻璃从天而降砸坏奥迪车,租户、房主、中介谁该赔?
-
广发期货黑色观点10月24日_天天速讯
-
上交所:希望股权投资机构和证券公司将有限资源配置到国家科技创新最需要的地方 今日讯
-
天天报道:中科软(603927)12月8日主力资金净卖出1789.25万元
-
Chardan Capital:维持Achilles Therapeutics(ACHL.US)买入评级|今日要闻
推荐内容
- Copilot 与 ChatGPT,让程序员如虎添翼 ——
- 环球今日报丨禹州市不动产登记实现“全豫通办”
- 世界快讯:华仁药业:久源久电解质补充液、久源久
- 全球简讯:广东东莞成立RCEP区域商协会联盟
- 浪潮软件: 浪潮软件2022年股票期权激励计划(草
- 烧山罪判多少年?
- 协议离婚书怎样写内容_每日信息
- 当前动态:信托是什么?信托的四大类别
- 当前要闻:亩产值6000元以上,叶县千亩辣椒园喜获
- 看点:虚拟现实正成为数字经济新引擎
- 金科环境: 金科环境:2022年第二次临时股东大会
- 东易日盛董事长陈辉:“传统家装的数字化变革就是
- 网贷逾期五年还不起的最坏后果?|快资讯
- 回盛生物主力资金持续净流入,3日共净流入1218.75
- 泽宇智能:公司新能源子公司业务包含了光伏发电业
- 玻璃从天而降砸坏奥迪车,租户、房主、中介谁该赔
- 广发期货黑色观点10月24日_天天速讯
- 上交所:希望股权投资机构和证券公司将有限资源配
- 天天报道:中科软(603927)12月8日主力资金净卖出
- Chardan Capital:维持Achilles Therapeutics(A
- 股票行情快报:西藏天路(600326)12月6日主力资
- 阿里巴巴发布2023财年Q1财报 连续五个季度亏损同
- 深圳智能终端产业呈现强大韧性 到2025年产业增加
- 老人突发身体不适 梅园新村民警及时救助获赠锦旗
- 低头看手机惹的祸 南京一司机闯红灯被撞损失惨重
- 三岁小男孩意外走失 民警多方工作帮助找到家人
- 一家三口登山被困在灌云大伊山上 消防人员紧急救援
- 海陵民警化身“背包客” 为行动不便老人补办身份证
- 南京一男子酒后开车撞上花坛直接侧翻 迎面碰上了
- “求助人”变“嫌疑人” 南京鼓楼警方破获一起盗
- 老人看电视突然呼吸困难 民警接警火速救助
- 陕西两万五千吨市政桥梁完成“转身”
- 河北邯郸发生天然气泄漏事故致3人死亡
- 兰州40家A级旅游景区暂时关闭 开放时间暂定
- 湖北警方打掉两跨省“跑分”洗钱犯罪团伙
- 新冠肺炎疫情下如何保护孩子?张文宏建议设儿童专
- 海南儋州出现1例治愈后的境外输入病例复阳人员
- 男童脊柱侧弯压迫心肺 医生耗时7小时矫正
- 宁夏将开展18岁以上重点人群加强免疫接种工作
- 北京新增1例京外关联本地确诊病例 病例所在街道
油气
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
经济
-
中新网通辽10月18日电 (记者 张林虎)18日,记者从内蒙古自治区通辽市奈曼旗公安局获悉,国家一级保护动物--梅花鹿误入当地村民羊群,
-
中新网杭州10月18日电 (王题题 胡燕婕)云天收夏色,浅秋正渐浓。10月18日,浙江杭州市西湖游船有限公司推出的惠民多站点“西湖环湖游
-
中新网福州10月18日电 (记者 龙敏 王东明)福州市晋安区官方18日晚间通报,18日14时47分,晋安区岳峰镇化工路爱摩轮商业广场项目摩天
-
中新网兰州10月18日电 (闫姣 艾庆龙 吉翔)“红山白土头,黄河向西流。”不少人疑问,天下黄河向东流,为何甘肃永靖县这段黄河却向西
-
中新网北京10月18日电 《清华城市健康设施指数》18日在北京发布。报告成果显示,城市健康设施指数领先城市以中心城市和东部沿海城市