世界热头条丨Copilot 与 ChatGPT,让程序员如虎添翼 —— 让 AI 们为我们打工!
Copilot 来了,程序员会失业吗?ChatGPT 又来了,程序员会失业吗?程序员本来就焦虑,最近似乎越来越焦虑了。在 Copilot 问世时,我感觉自己退化成了工具人:《我退化成一个只会敲 Tab 键的工具人了!》。如今 ChatGPT 又来了,这次我是什么感觉呢?感觉真的 Google 和 StackOverflow 已经不好用了。
不过,经过一段时间对 Copilot 的使用,我的心态已经平和了许多,不再担心失业了。回头来看,其实,它们都是效率工具,它们不是要干掉程序员,而是更好地帮助程序员。众所周知,程序员可以改变世界,那么,借助 Copilot 和 ChatGPT,程序员的自我感觉更棒了!可以更加肆无忌惮地在未知领域里自由探索了!
(资料图片仅供参考)
前几天,我开始对一个 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 们为我们打工!
- 华润双鹤(600062)12月19日主力资金净卖出1.01亿元-世界热门
- [快讯]云里物里:申万宏源证券承销保荐有限责任公司深圳云里物里科技股份有限公司调整募集资金投资项目拟投入募集资金金额的核查意见
- 太和水董秘回复:引入合适战略投资者是公司发展壮大的路径之一,公司有进行相关的探索和论证
- 【机构调研记录】申万菱信基金调研海南机场、普蕊斯 热资讯
- 烟台黄渤海新区全球招商 签约20个项目总投资300亿_全球新消息
- 全球今头条!微粒贷逾期二十八天会上征信系统吗
- 洪涝救援辐射六省 国家华中区域应急救援中心常驻大型直升机,最快1小时可抵灾区_天天热点评
- 佐力药业(300181):监事辞职暨补选监事
- NBA-热火111-108险胜火箭,希罗41分10记三分,连续刷新生涯新高-当前资讯
- 天天观点:蓝箭航天液体火箭首次发射失利
- 金新农(002548.SZ):副董事长陈俊海拟减持不超240万股_环球时快讯
- 泓博医药:小分子新冠口服药物中间体项目目前处于临床III期 世界新要闻
- Uranium Royalty(UROY.US):2023年Q2财报实现营收0美元
- 长城欧拉朋克猫价格(欧拉朋克猫2021款什么时候上市)
- 领跑“四小花旦” 广汽丰田撞线百万辆势在必得:环球关注
- 中装建设(002822.SZ):董事会提议向下修正“中装转2”的转股价-世界快看点
- 世界头条:海南矿业股东因未及时披露公司重大事件等违规行为被上海证券交易所采取监管措施
- 41岁谢娜脸型崎岖!侧脸怪异认不出,退出《快本》后靠演话剧维生|焦点速讯
- 联合集团(00373.HK)发布盈利警告
- 新资讯:iPhone 15 Flip折叠屏手机渲染图曝光:最早明年发布
- 【环球报资讯】证监会同意中国金融期货交易所开展上证50股指期权交易
- 鄂尔多斯: 内蒙古鄂尔多斯资源股份有限公司关于召开2022年第四次临时股东大会的通知 当前观点
- 全球焦点!淮南新华医疗集团新华医院核酸检测多收费 被罚没近60万
- 泓博医药:公司有参与国内小分子新冠口服药研发,但公司新药研发项目数量较多,新冠相关业务整体占比较小|天天报资讯
- 科创板首批25家公司将迎来解禁 多家公司延长锁定期
- 如果MLF持续不调降 LPR是否还有调降空间?
- 中宣部:斩断伸向未成年人的盗版侵权“魔爪”
- 国务院开展根治欠薪冬季专项行动 为农民工追讨欠薪68.62亿元
- 坚决打击网络暴力 帮助网民切实维护自身权益
- 七台河市鹿山煤矿二井发生矿震 4人被困井下
- 暂停27天后 福建仙游火车站重启
- “大工匠”传经送宝
- 黑龙江七台河一煤矿发生矿震 目前井下4人被困
- 湖南临澧凌晨拉响防空警报 回应:短路引起故障
- 广东国庆假期高速公路车流总量超5000万车次 大湾区车流量同比增长10%
- 南海热带低压加强为台风 海南发布台风三级预警
- 广东升级广交会期间疫情防控举措 所有持证人员核酸检测“应检尽检”
- 国庆假期北京市接待旅游总人数861.1万人次
- 高福、童贻刚团队:新冠病毒溯源将是一场“持久战”
- 四川水利国庆假期全力应战最强秋汛
- 南海热带低压将于8日夜间至9日上午在海南岛东部登陆
- 聊天群背后的黑色产业链 金钱诱惑下被害人变成害人者
- 黑龙江省绥化市全域均为低风险地区
- 走近网瘾少年们:他们沉迷网络的病根何在?
- 节后第一天北京白天晴或多云利于出行 夜间起秋雨或再上线
- 走访抗美援朝纪念馆:长津湖的寒冷,与战斗一样残酷
- 绥化全域低风险!黑龙江绥化北林区一地调整为低风险
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- 中国故事丨“沉浸式”盘点今年的教育好声音!
- 升旗、巡岛、护航标、写日志,他们一生守护一座岛
- 他从一窍不通的“门外汉”,到重装空投“兵专家”
- 获2021年诺奖的蛋白,结构由中国学者率先解析
- “双减”后首个长假:亲子游、研学游需求集中释放
- 天山脚下,触摸丝路发展新脉动
- 且看新疆展新颜
- 《山海情》里“凌教授”的巨菌草丰收啦
- “双减”出台两个月,组合拳如何直击减负难点?
- IP类城市缘何吸引力强?玩法创新带动游客年轻化
- 面对婚姻,“互联网世代”的年轻人在忧虑什么?
- 沙害是自然界的恶魔,而他是荒沙碱滩的征服者
- “辱华车贴”商家及客服被行拘,处罚要不放过每一环
- 网游新政下,未成年人防沉迷的“主战场”在哪?
- 160万骑手疑似“被个体户”?平台不能当甩手掌柜
- 报告显示:这个国庆假期,粤川浙桂赣旅游热度最高
- 陈毅元帅长子忆父亲叮嘱:你们自己学习要好,就可以做很多事儿
- 北京国庆7天接待游客超861万人次 冬奥线路受青睐
- 从1.3万元降到700元,起诉书揭秘心脏支架“玄机”
- 都市小资还是潮流乐享?花草茶市场呈爆发性增长
- 国庆主题花坛持续展摆至重阳节
- 云南保山:170公里边境线,4000余人日夜值守
- 线上教学模式被盯上,网络付费刷课形成灰色产业链
- 全国模范法官周淑琴:为乡村群众点燃法治明灯
- 嘉陵江出现有记录以来最强秋汛
- 中国科技人才大数据:广东总量第一,“北上”这类人才多
- 神经科学“罗塞塔石碑”来了:迄今为止最完整的大脑细胞图谱
- 多地网友投诉遭遇旅游消费骗局,呼吁有关部门严查乱象
- 受南海热带低压影响 海南海口三港预计停运将持续到10日白天
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- 广州10月8日至20日对所有从省外来(返)穗人员实施核酸检测
- 辽宁省工信厅发布10月8日电力缺口橙色预警
- 受琼州海峡封航影响 10月7日、8日进出海南岛旅客列车停运
- 这场红色故事“云比拼”,穿越时空为我们指引方向
- 陕西支援14省份采暖季保供用煤3900万吨
- 汾河新绛段发生决口
- 看,生机勃勃的中国
- 百闻不如一见——北京大学留学生参访新疆
- 新疆霍尔果斯市2例无症状感染者新冠病毒均为德尔塔变异株
- 哈尔滨市南岗区爱达88小区将调整为低风险地区
- 国庆假期全国道路交通总体安全平稳有序
- 假期怎么过得这么快?国庆5.15亿人次出游,你咋过的?
- 国庆假期北京接待游客861.1万人次
- 山西平遥消防4天29次救援:拖着腿走路也要完成任务
- 新疆兵团可克达拉市:195名密接者已全部隔离医学观察
- 国庆假期中国预计发送旅客4.03亿人次
- 公安部交管局:国庆假期日均出动警力18万余人次,5位交警辅警牺牲
- 国庆假期中国国内旅游出游5.15亿人次
- 新疆哈密市巴里坤县发生4.3级地震 震源深度9千米
- 冷空气自西向东影响中国大部地区 气温将下降4℃至6℃
- 2021年MAGIC3上海市青少年三对三超级篮球赛落幕
X 关闭
行业规章
X 关闭