IDE装上ChatGPT,一天开发一个系统

昨天白天在写代码,晚上看了一场直播,是两个技术的直播:

一个是技术总监,一个是号称Java之父的余**。

结果Java之父被技术总监吊打。然后匆匆下播。

技术这玩意,真的就是真的!

白天我开发了一个系统,Idea装上了一个插件,简直直飞了。

系统开发的很快。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

每年小孟都开发大量的系统,有需求可以找我哦!

晚上小孟和甲方沟通了需要开发的需求,功能方面一般没问题,但是我们做的UI属实有点丑。

对了,他要做的是寺庙相关的小程序。

UI真的有点难住我,不知道有没有小伙伴擅长UI和前端的??

在这里插入图片描述

下面给大家介绍这款不错的Idea插件。

Cursor 是集成了 GPT-4 的 IDE 工具,目前免费并且无需 API Key,支持 Win、Mac、Linux 平台,可以按要求生成代码,或者让 AI 帮助优化代码,分析代码。Cursor目前已经集成了openai的GPT-4,它或将彻底改变我们写代码的方式。

以前程序员被调侃是“CV”工程师,以后我们恐怕要成为“KL"工程师,为什么叫”KL“工程师呢, 因为只要K和L两个指令就可以直接生成代码、修改代码,哪行代码不会点哪里,他都给你解释得明明白白。

目前GitHub开源(10k+ Star),支持多平台:macOS、Windows和Linux,完全免费。

使用Cursor编辑器提供了Windows、MacOS、Linux 三个平台的安装包,可以通过其官网下载

https://www.cursor.so/
图片

下载安装完成后,会引导你进行初始化设置,你即可以选择VIM或者Emacs的操作习惯,也可以保持默认设置,另外它还支持绑定Copilot。

其实他写代码的能力还是可以的。

目前体验感来说,还是有点差,速度方面比直接使用GPT-4逊色不少,但是用着还是不错的,能提高一定的代码效率。

当然还有其他的一些不错的ChaGPT插件,例如NetChatGPT,也是小孟的一个朋友开发的。

再看一个用低代码和ChatGPT生成的系统,然后我起飞了。

在这里插入图片描述

在这里插入图片描述

 /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZonghejingyingEntity zonghejingying, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("wuye")) {
			zonghejingying.setWuyezhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZonghejingyingEntity> ew = new EntityWrapper<ZonghejingyingEntity>();
    	PageUtils page = zonghejingyingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zonghejingying), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZonghejingyingEntity zonghejingying, 
		HttpServletRequest request){
        EntityWrapper<ZonghejingyingEntity> ew = new EntityWrapper<ZonghejingyingEntity>();
    	PageUtils page = zonghejingyingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zonghejingying), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ZonghejingyingEntity zonghejingying){
       	EntityWrapper<ZonghejingyingEntity> ew = new EntityWrapper<ZonghejingyingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( zonghejingying, "zonghejingying")); 
        return R.ok().put("data", zonghejingyingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZonghejingyingEntity zonghejingying){
        EntityWrapper< ZonghejingyingEntity> ew = new EntityWrapper< ZonghejingyingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zonghejingying, "zonghejingying")); 
		ZonghejingyingView zonghejingyingView =  zonghejingyingService.selectView(ew);
		return R.ok("查询综合经营成功").put("data", zonghejingyingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZonghejingyingEntity zonghejingying = zonghejingyingService.selectById(id);
        return R.ok().put("data", zonghejingying);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ZonghejingyingEntity zonghejingying = zonghejingyingService.selectById(id);
        return R.ok().put("data", zonghejingying);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ZonghejingyingEntity zonghejingying, HttpServletRequest request){
    	zonghejingying.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zonghejingying);

        zonghejingyingService.insert(zonghejingying);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ZonghejingyingEntity zonghejingying, HttpServletRequest request){
    	zonghejingying.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(zonghejingying);

        zonghejingyingService.insert(zonghejingying);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody ZonghejingyingEntity zonghejingying, HttpServletRequest request){
        //ValidatorUtils.validateEntity(zonghejingying);
        zonghejingyingService.updateById(zonghejingying);//全部更新
        return R.ok();
    }
@RestController
@RequestMapping(value = "/userInfo")
public class UserInfoController {

    @Resource
    private UserInfoService userInfoService;

    @PostMapping
    public Result<UserInfo> add(@RequestBody UserInfoVo userInfo) {
        userInfoService.add(userInfo);
        return Result.success(userInfo);
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        userInfoService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody UserInfoVo userInfo) {
        userInfoService.update(userInfo);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<UserInfo> detail(@PathVariable Long id) {
        UserInfo userInfo = userInfoService.findById(id);
        return Result.success(userInfo);
    }

    @GetMapping("/page/allYimao")
    public Result<PageInfo<UserYimiaoVo>> pageAllYimiao(
                                          @RequestParam(defaultValue = "1") Integer pageNum,
                                          @RequestParam(defaultValue = "5") Integer pageSize) {
        return Result.success(userInfoService.findPageYimiao(pageNum, pageSize));
    }
    @GetMapping
    public Result<List<UserInfoVo>> all() {
        return Result.success(userInfoService.findAll());
    }
    @GetMapping("/noHome")
    public Result<List<UserInfo>> noHome() {
        return Result.success(userInfoService.findAllNoHome());
    }
    @GetMapping("/thisHome/{id}")
    public Result<List<UserInfo>> noHome2(@PathVariable Long id) {
        return Result.success(userInfoService.findAllThisHome(id));
    }
    @GetMapping("/thisHomeUserInfo/{id}")
    public Result<List<UserInfo>> thisHomeUserInfo(@PathVariable Long id) {
        return Result.success(userInfoService.findAllThisHomeUserInfo(id));
    }
    @GetMapping("/thisHomeByUserId/{id}")
    public Result<List<UserInfo>> thisHome(@PathVariable Long id) {
        return Result.success(userInfoService.findAllThisHomeByUserId(id));
    }
    @GetMapping("/page/{name}")
    public Result<PageInfo<UserInfoVo>> page(@PathVariable String name,
                                                @RequestParam(defaultValue = "1") Integer pageNum,
                                                @RequestParam(defaultValue = "5") Integer pageSize,
                                                HttpServletRequest request) {
        return Result.success(userInfoService.findPage(name, pageNum, pageSize, request));
    }

    @PostMapping("/register")
    public Result<UserInfo> register(@RequestBody UserInfo userInfo) {
        if (StrUtil.isBlank(userInfo.getName()) || StrUtil.isBlank(userInfo.getPassword())) {
            throw new CustomException(ResultCode.PARAM_ERROR);
        }
        return Result.success(userInfoService.add(userInfo));
    }

    /**
    * 批量通过excel添加信息
    * @param file excel文件
    * @throws IOException
    */
    @PostMapping("/upload")
    public Result upload(MultipartFile file) throws IOException {

        List<UserInfo> infoList = ExcelUtil.getReader(file.getInputStream()).readAll(UserInfo.class);
        if (!CollectionUtil.isEmpty(infoList)) {
            // 处理一下空数据
            List<UserInfo> resultList = infoList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getName())).collect(Collectors.toList());
            for (UserInfo info : resultList) {
                userInfoService.add(info);
            }
        }
        return Result.success();
    }

工欲善其器,必先利其器。

最后,祝你早日成为大神。

来个赞,做个点赞好友。

加油奥利给。
​​
​​​​在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6566.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode.每日一题 2427. 公因子的数目

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

ModuleNotFoundError: No module named ‘gdal‘

目录 一、问题描述 二、解决方法 一、问题描述 在win系统下使用gdal包的时候&#xff0c;使用下面代码pip安装&#xff1a; conda install glob -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 安装过程中没有报错&#xff0c;但是 import 的时候还是报错了…

Vicuna:与ChatGPT 性能最相匹配的开源模型

Vicuna (由stable diffusion 2.1生成)前言最近由UC Berkeley、CMU、Stanford, 和 UC San Diego的研究人员创建的 Vicuna-13B&#xff0c;通过在 ShareGPT 收集的用户共享对话数据中微调 LLaMA获得。其中使用 GPT-4 进行评估&#xff0c;发现Vicuna-13B 的性能达到了ChatGPT 和 …

脑外伤最怕后遗症?做好这6大家庭护理措施,防止后遗症

脑外伤是生活中常见的一种情况&#xff0c;主要也就是由于意外或者是其他原因造成的脑部外伤。脑外伤也属于神经系统疾病的一种&#xff0c;最主要是因为对脑部的组织细胞以及神经造成了巨大伤害&#xff0c;从而引起的一系列不良症状的疾病&#xff0c;这种时候也就需要做护理…

憨批的语义分割重制版11——Keras 搭建自己的HRNetV2语义分割平台

憨批的语义分割重制版11——Keras 搭建自己的HRNetV2语义分割平台学习前言什么是HRNetV2模型代码下载HRNetV2实现思路一、预测部分1、主干网络介绍a、Section-1b、Section-2c、Section-3d、Section-42、特征整合部分3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS…

python123

文章目录温度转换异常处理百分制成绩转换五分制F正整数AB奇偶求和判断数据类型温度转换异常处理 描述‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪…

数组切分 蓝桥杯 DFS DP

⭐ 数组切分 输入 4 1 3 2 4输出 5⭐ 区间最大值 - 区间最小值 区间长度&#xff1a;说明该区间为连续的自然数 &#x1f920; 暴馊dfs &#xff08;过 50 % 的案例&#xff09; import java.util.*;public class Main {static int mod 1000000007, n;static int res 0…

OBCP第七章 OB迁移-备份恢复技术架构及操作方法

为什么需要备份恢复 为满足监管要求 防止管理员误操作后&#xff0c;错误数据同步到所有副本&#xff0c;导致数据无法恢复 防止数据库因各种故障而造成数据丢失&#xff0c;降低灾难性数据丢失的风险&#xff0c;从而达到灾难恢复的目的 硬盘驱动器损坏 黑客攻击、病毒 …

九龙证券|券商积极布局A股 新进171家公司前十大流通股东

随着上市公司2022年年报连续出炉&#xff0c;券商自营盘的操作途径同步浮现。Choice数据显示&#xff0c;到4月4日&#xff0c;券商新进171家上市公司前十大流通股东之列&#xff0c;有48家上市公司获加仓。从装备方向来看&#xff0c;制造业、非银金融、电子、电力设备等板块依…

【电源专题】充电过程中指示灯怎么就红绿闪烁或是同时亮

本案例是在工作中发现的,同事测试的时候发现产品充电时指示灯红绿闪烁。正常的表现应该是充电为红灯,充满为绿灯。怎么会出现红绿闪烁的情况呢? 首先前提条件是产品已经量产,并且出货数量巨大,因此是否为个例性问题?通过排查后发现,最终现象是跟着充电器走,使用正常产品…

chatGPT的未来应用有哪些-ChatGPT对未来工作的影响

ChatGPT对未来的影响 ChatGPT 是一种先进的自然语言处理技术&#xff0c;能够处理和理解大量的自然语言数据和信息&#xff0c;具有广泛的应用价值。以下是 ChatGPT 可能对未来的影响&#xff1a; 改变人与计算机的交互方式。ChatGPT 的普及应用&#xff0c;将使得人们可以通过…

聊聊移动端动态化的由来和各流派的优缺点

移动端动态化的由来 “动态化”并不是最近几年才产生的名词&#xff0c;而是从从互联网诞生的初期&#xff0c;这个词就已经出现了。大家所认知的早期互联网&#xff0c;其实就是各种各类的“动态网站”&#xff0c;内容数据和页面外观都不是固定的&#xff0c;都是随着服务器…

命名空间和程序集

目录 一、什么是命名空间 1. 命名空间的作用 2. 命名空间跨文件伸展 3.嵌套命名空间 二、using指令 1. using命名空间指令 2. using别名指令 三、程序集的结构 1. 程序集标识符 2.强命名程序集 一、什么是命名空间 1. 命名空间的作用 命名空间是共享命名空间名的一组…

kotlin协程原理分析

使用kotlin的协程一段时间后&#xff0c;我们或多或少会产生一些疑问&#xff1a;协程和线程有什么关系&#xff1f;协程之间到底怎么来回传递的&#xff1f;协程真的比线程&#xff08;池&#xff09;好吗&#xff1f; 初窥 首先我们从最简单协程开始&#xff1a; fun main…

XXX客户挖矿应急响应

此次为真实客户案例! 0x01 前言: 同事反馈,有客户设备告警连接挖矿域名。 0x02 事件分析: 登录设备TOP: CPU巨高!!查。 定位进程: 通过netstat -anop 查看可疑进程: 通过netstat -anop | grep 28564 查看对应进程:

初始Vue【Vue】

Vue 简介 1. Vue是什么&#xff1f; 一套用于构建用户界面的渐进式JavaScript框架 渐进式&#xff1a;Vue可以自底向上逐层的应用 简单应用&#xff1a;只需一个轻量小巧的核心库 复杂应用&#xff1a;可以引入各式各样的Vue插件 2. Vue 的特点 采用组件化的模式&#xff0c…

JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1

GC逻辑分类 垃圾收集器没有在规范中进行过多的规定&#xff0c;可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中&#xff0c;因此Java发展至今已经衍生了众多的GC版本。 从不同角度分析垃圾收集器&#xff0c;可以将GC分为不同的类型。 按线程数…

Linux学习记录——십칠 基础IO(2)

文章目录理解文件系统1、了解磁盘物理结构2、逻辑抽象3、文件系统如何理解文件的增删查改4、软硬连接1、软链接2、硬链接3、继续深入理解文件系统 之前已经知道&#xff0c;文件在没被打开的时候&#xff0c;会存放在磁盘等外设中&#xff0c;这篇的重点就是这些没被打开的文件…

JSON 数据解析的方法

JSON 数据解析 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式&#xff0c;但是也使用了类似于C语言家族的习惯&#xff08;包括C、C、C#、Java、JavaScript、Perl、Python等&#xff09;。这…

百度文心一言与Notion的比较(机器人通信的例子)

文心一言出来有一段时间了&#xff0c;也经常会去问问&#xff0c;感觉对于简单的语义理解还是可以&#xff0c;其答案对于一些常见的常识等还是可以给出不错的答案&#xff0c;但是在数学与代码等方面基本上很差&#xff0c;基本的贷款利率、微积分、没有理解语义的代码等都是…