从好玩到好用:程序员用AI提效的那些事儿
本片内容是【AI思维空间】ChatGPT纵横编程世界,点亮智慧火花的续作,主要记录组内开发小伙伴儿们在开发过程中的实际应用案例,记录典型案例,尽量不要和其他人重复,以解决开发过程中的实际问题为主,设计、方案、编码、测试、集成、部署等等;
目的:贡献最佳实践,分享心得,共同成长!
Prompt提问万能公式
案例1 基于ChatGPT进行资源排期
1、首先进行拆分,分为周一到周五和周六周日
2、引导chatGPT进行排班
案例2 让chatGpt帮忙看下正则表达式的含义
在看代码的过程中,发现有个地方使用了正则表达式进行规则匹配,但是没有注释标明规则含义,所以使用chatGpt帮忙看下规则含义。
chatGpt不仅返回的了匹配的规则含义,还详细介绍了每个字符具体含义,very nice。
案例3 基于chatGpt写分段写入csv文件的程序
给chatgpt提要求,要求10000行数据放在一个csv文件中,并将文件名称进行编号处理。
变更条件,事先不知道总行数有多少条,让chatGpt重新写一段程序实现。
案例4:基于ChatGPT辅助开发
告诉ChatGPT,我想开发一个JavaBean转JSON的IDEA插件,让ChatGPT给出详细的步骤和代码。
案例5: 提问者需要具备鉴别能力
狼牙山五壮士的姓名
chatgpt可以一本正经的胡说八道,提问者不能全信。
案例6: spring ioc框架学习
太复杂了,尽然无法支持,就来一个简单的
再完善下,并帮忙写一个测试案例测试下看
亲自验证测试是否正确,能否跑起来
虽然能够跑起来,但是测试结果和其预期不一致,分析错误产生的原因是注解inject使用错误,正确使用时需要对注解添加元注解@Retention,其作用可以简单理解为设置注解的生命周期。
@Retention 注解传入的是 RetentionPolicy 枚举,该枚举有三个常量,分别是 SOURCE、CLASS 和 RUNTIME
三者区别如下:
SOURCE 代表着注解仅保留在源级别中,编译器将Java文件编译成class文件时将之遗弃。
CLASS 代表着注解被保留在class文件中,JVM加载class文件时将之遗弃。
RUNTIME 代表着标记的注解会由JVM保留,因此运行时环境可以使用它。
总结:chat-gpt对于技术细节可能无法把控,但是总体的程序框架及逻辑验证还是没有问题的。
案例7:字符处理、文本格式化
JOSN 串的格式化与压缩:
案例8:JSON串转JAVA Bean 集成lombok
提示词迭代过程如下:
以下Json串给生成 JAVA实体类,要求使用lombok 简化代码,并添加明确的代码注释,以Markdown语法出 {
“migrateTime”: 1689609010640, //迁移时间
“sourceProductId”: 1000000000, //迁移源productId
“targetProductIdAndSkuIdsMap”: {//迁移目标productId与skuId的关系
“2000000”: [//目标product1, skuIds
1,
2,
3
],
“3000000”: [//目标product2, skuIds
4,
5
]
}
“venderId”:100, //商家ID
“categoryId”:123 //三级类目ID
}
结果输出如下(对尾行注释并不满意,继续优化试试):
去除尾行注释输出结果:
案例9:JAVA8 流语法扁平化处理流
以下提示词目的是收集map的所有value里面对应的 long 类型的值集合。
提示词:在JAVA8 中如何通过流,将Map<Long, Set> targetProductIdAndSkuIdsMap 中的 value 收集到一个 set 集合里面,JAVA代码请以Markdown输出
结果输出如下: 在Java 8中,不能直接使用`flatmap`将集合的元素合并到一个集合中,因为`flatMap`操作是将多个流合并成一个流,而不是将元素合并到一个集合中。实际上,我们需要使用`flatMap`将每个集合的元素映射到单独的流,然后再使用`collect`操作将这些流合并到一个集合中。
以下是修正后的Java代码示例:
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Map<Long, Set<Long>> targetProductIdAndSkuIdsMap = ...; // 初始化 targetProductIdAndSkuIdsMap
Set<Long> skuIds = targetProductIdAndSkuIdsMap.values()
.stream()
.flatMap(Set::stream)
.collect(Collectors.toSet());
System.out.println(skuIds);
}
}
这个代码可还行?_
案例10: 行云流水线错误日志分析
已落地平台,针对流水线运行错误日志,选中错误内容右键进行智能分析,输出分析结果,辅助解决错误问题,节省平台运营成本。
作者:京东零售 王英杰
来源:京东云开发者社区 转载请注明来源
从好玩到好用:程序员用AI提效的那些事儿的更多相关文章
- 人才需求之Java程序员与AI程序员
据100offer报告显示:2018年Java人才市场「高开低走」的动荡局势.整体求职难度变大,且全年波动更剧烈,淡旺季区别明显.企业发出的Java面邀总数几个季度连续下跌,Q4 甚至比去年同期下降了 ...
- 程序员体验AI换脸就不要用ZAO了,详解Github周冠军项目Faceswap的变脸攻略
本文链接:https://blog.csdn.net/BEYONDMA/article/details/100594136 上个月笔者曾在<银行家杂志>发文传统银行如何引领开放 ...
- 能让你成为更优秀程序员的10个C语言资源
能让你成为更优秀程序员的10个C语言资源 本文由 伯乐在线 - archychu 翻译自 mycplus.欢迎加入 技术翻译小组.转载请参见文章末尾处的要求. 一些人觉得编程无聊,一些人觉得它很好玩. ...
- 10个足以让你成为更优秀的程序员的C语言资源
一些人觉得编程无聊,一些人觉得它很好玩.但每个程序员都必须紧跟编程语言的潮流.大多数程序员都是从C开始学习编程的,因为C是用来写操作系统.应用程序最常用的语言. · C编程笔记 这些是华盛顿实验学院C ...
- 社群公会GangSDK:程序员入行AI领域需要哪些技能?
作为一名Android开发工程师,身边总有些同行很焦虑,看着人工智能越来越火,总是担心Android要不行了,所以,我们需要转行么?Android还能走多久?其实,无论是对于Android还是iOS开 ...
- 阿里P8架构师讲述:3—5年程序员的发展和出路在哪里?
工作3—5年后,程序员们的成长将迈入一个全新阶段.这既是程序员们的黄金时期同时又是最迷茫的时期,因为大家必须要要思考一下今后的职业方向. 3—5年程序员的发展和出路在哪里? 是继续做技术人,还是向管理 ...
- 程序员们,AI来了,机会来了,危机也来了
程序员们,AI来了,机会来了,危机也来了 1.人工智能真的来了 纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS.windows3.2.foxpro.delphi.80 ...
- 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制
大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...
- 项目组J2ee程序员的标志,你中招没 转载+评论
原文在此 校园级别的程序员的标志: 代码中最多的是嵌套if(null == xxx),还要告诉你,null必须写在前面,我靠. 防止把==写成=,c语言时代常犯的错误.由于null不能做左值,在写=的 ...
- [.net程序员必看]微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]
自萨蒂亚·纳德拉(Satya Nadella)上任微软CEO以来,可谓是惊喜不断,仿佛让世界尤其是我们.net程序员心中又燃起了希望.先是免费提供 iOS 版和安卓版 Office:然后在 xbox ...
随机推荐
- Mysql开发实践:error while loading shared libraries: libaio解决方案
摘要:Mysql出现问题:error while loading shared libraries: libaio解决方案. 本文分享自华为云社区<Mysql出现问题:error while l ...
- Spring Cache设计之美,你品,你细品…
摘要:Spring Cache的功能很强大,设计也非常优雅,特别适合缓存控制没有那么细致的场景,比如门户首页,偏静态展示页面,榜单等等 本文分享自华为云社区<品味 spring cache设计之 ...
- 什么?语音合成开源代码不会跑,follow me!
摘要:本文描述的深度神经网络模型结构:: Natural TTS synthesis by conditioning Wavenet on MEL spectogram predictions. 本文 ...
- 华为云GaussDB(for Influx)揭秘第五期:最佳实践之子查询
摘要: GaussDB(for influx)提供灵活的子查询能力,满足海量数据场景下的高性能查询需求. 本文分享自华为云社区<华为云GaussDB(for Influx)揭秘第五期:最佳实践之 ...
- 火山引擎 DataTester 上线“流程画布”功能,支持组合型 A/B 实验分析
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在精细化运营的时代,运营活动同样需要有精细化的策略,例如在年末大促活动中,设计 APP 弹窗提醒.满减.会员领券时 ...
- STM32CubeMX教程15 ADC - 多重ADC转换
1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK ...
- 如何在Windows中使用Telnet客户端
Telnet协议的解释 Telnet( TE终端NET工作的缩写)是一种网络协议,用于提供与设备通信的命令行界面 . Telnet最常用于远程管理,但有时也用于某些设备的初始设置,尤其是交换机 ,接入 ...
- AcWing 每日一题 - 暑假
本篇解题记录题源来自 AcWing 的每日一题 · 暑假 补题链接:Here Week 1 星期四 AcWing 3761. 唯一最小数 利用 map 存出现过数的下标和次数即可 vector< ...
- Educational Codeforces Round 104 (Rated for Div. 2) A-E 个人题解
比赛链接 1487A. Arena n 个 Hero,分别有 \(a_i\) 的初始等级.每次两个 Hero 战斗时:等级相同无影响,否则等级高的英雄等级+1.直到某个英雄等级到了 \(100^{50 ...
- S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统
上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核,这节来根据继续修改内核. 启动内核 内核启动的打印信息如下图所示 可以看到内核有8个分区,而我们的u ...