代码自动生成工具实战-Cursor
创始人
2025-05-29 15:00:06

文章目录

    • Cursor code generate介绍
    • Cursor 代码生成实战
      • prompt1
      • prompt2
      • prompt3
      • prompt4
    • 我的感受

Cursor code generate介绍

之前看过github copilot 的代码生成能力。可以说解放了码农的双手,基础的代码完全可以来生成。可是后来它收费了。

今天在网上发现这个免费的code generate。
下面官网
在这里插入图片描述

Cursor 代码生成实战

prompt1

prompts : 比较两个数据库的差异,数据库的ip地址是10.50.10.170,…

在这里插入图片描述

prompt2

我的prompts: 是两个数据库比较差异,第二个数据库是的ip是10.50.10.171. 两个数据库的port都是5432

# 导入所需库
import psycopg2# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()# 从文件中获取表名
with open("tables.txt", "r") as file:table_names = [line.strip() for line in file.readlines()]differences = []for i in range(len(table_names) - 1):# 查询两个表的数据量cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")table1_count = cursor1.fetchone()[0]cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")table2_count = cursor2.fetchone()[0]# 计算数据量差异difference = abs(table1_count - table2_count)differences.append(difference)# 输出结果到文件
with open("output.txt", "w") as output_file:for i in range(len(differences)):output_file.write(f"表 {table_names[i]} 和表 {table_names[i+1]} 的数据量差异为: {differences[i]}\n")# 关闭数据库连接
cursor1.close()
connection1.close()cursor2.close()
connection2.close()

prompt3

promtps : 最终输出结果是有差异的表,结果需要有时间。需要包含哪个ip的哪个表。

在这里插入图片描述

# 导入所需库
import psycopg2
from datetime import datetime# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()# 从文件中获取表名
with open("tables.txt", "r") as file:table_names = [line.strip() for line in file.readlines()]differences = []for i in range(len(table_names) - 1):# 查询两个表的数据量cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")table1_count = cursor1.fetchone()[0]cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")table2_count = cursor2.fetchone()[0]# 计算数据量差异difference = abs(table1_count - table2_count)if difference > 0:differences.append((table_names[i], table_names[i+1], difference))# 输出结果
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for table1, table2, difference in differences:message = f"{current_time} - IP: 10.50.10.170 表 {table1} 和 IP: 10.50.10.171 表 {table2} 的数据量差异为: {difference}"print(message)connection1.close()
cursor2.close()
connection2.close()

prompt4

将输出结果推送到企业微信。

在这里插入图片描述

from datetime import datetime# 连接数据库
connection1 = psycopg2.connect(host='10.50.10.170', port=5432, user='username', password='xxx', dbname='qmstst')
cursor1 = connection1.cursor()connection2 = psycopg2.connect(host='10.50.10.171', port=5432, user='username', password='xxx', dbname='qmstst')
cursor2 = connection2.cursor()# 从文件中获取表名
with open("tables.txt", "r") as file:table_names = [line.strip() for line in file.readlines()]differences = []for i in range(len(table_names) - 1):# 查询两个表的数据量cursor1.execute(f"SELECT COUNT(*) FROM {table_names[i]}")table1_count = cursor1.fetchone()[0]cursor2.execute(f"SELECT COUNT(*) FROM {table_names[i+1]}")table2_count = cursor2.fetchone()[0]# 计算数据量差异difference = abs(table1_count - table2_count)if difference > 0:differences.append((table_names[i], table_names[i+1], difference))# 导入企业微信库
from wxwork_bot import WxWorkBot# 初始化企业微信机器人
bot = WxWorkBot("your_bot_key")# 输出结果并发送到企业微信报警
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for table1, table2, difference in differences:message = f"{current_time} - IP: 10.50.10.170 表 {table1} 和 IP: 10.50.10.171 表 {table2} 的数据量差异为: {difference}"bot.send_text(message)
connection1.close()cursor2.close()
connection2.close()

我的感受

  • 从prompt1可以看出代码生成之后还会提示合并还是丢弃,这个比较人性化。因为不确定cursor对prompts的理解,这样的好处是可以及时调整prompts来生成更加符合要求的结果
  • 从prompt3来看这个还是会一行一行扫描,而不是直接定位到需要修改的地方。这一点比较慢。
  • 其实可以只对部分代码进行框选进行优化,这个速度应该会提升。
  • 竟然可以回滚prompt。

相关内容

热门资讯

Redis学习笔记 ---- ... 常见的有五种:String(字符串),Has...
Java实现十类排序算法对比展... Java实现排序算法 本代码展示了Java中常见的十种排序算法,并对每种算法的时间复杂...
SC8P1762E_汇编指令一... 控制类 NOP, 空操作 STOP, 进入休眠模式 CLR...
微信小程序实现图片上传(清晰版... 在wxml文件中添加一个按钮和一个image标签用于显示上传的图片 选择图片 在js文件中添加选择...
Maven打包子模块 项目结构1. project_01: 一个多模块的maven工程2. module_01: 工程pr...
Scala安装及设置查看源代码 文章目录一、安装Scala环境1.1、下载Scala1.2、配置scala环境变量1.3、测试是否安...
使用大规模数据注释和深度学习对... 使用大规模数据注释和深度学习对具有人类水平性能的组织图像进行全细胞分割摘要绪论Mesmer2.1Me...
【数据结构】TreeMap和T... 目录 1、TreeMap 1.1 TreeMap 的简介  1.2 TreeMap 的基本使用 2、...
Django之视图的使用 Django之视图的使用视图基本使用函数视图类视图视图与模板请求对象HttpRequest常见属性和...
零基础能学大数据吗? 大数据入门不像学一门编程语言,自学一段时间就OK了。大数据是需要站在编程的基础上学习的...
OperatorChain设计 在JobGraph构建过程中,会将满足链化条件的StreamOperator连接在一起...
Phoenix整合phoeni... 首先我们添加上maven依赖,可以看到5.1.2 对应的hbase是2.4对吧 然后添加了依赖,...
【华为机试真题详解 Pytho... 文章目录 前言题目描述输入描述输出描述题目解析参考代码 前言 《华为机试真题详解》专栏含牛客网...
Scala---Array方法 Scala之Array的方法 文章目录Scala之Array的方法数组声明一个数组1.元素操作替换...
内存避障的前世今生 相关 《内存避障:一个内存乱序实例》 《内存避障的前世今生》 0 总结 单核下的指令...
九龙证券|重要信号!下周,没有... 依据新股发行安排,下周有9只新股申购,包含科创板新股4只、创业板新股3只...
【spring高级49讲】 Spring高级49讲 Spring是整个Java体系最核心的框架,没有之一面试必备技术、思想提升...
Linux - 进程控制(进程... 进程等待必要性之前讲过,子进程退出,父进程如果不管不顾,就...
GeoServer发布ArcM... 项目过程中遇到一个需求:leaflet要使用自定义的底图。现在配图一般都会用ArcMa...
【Vue3 基础加餐篇】07.... Vue 中增加 key ,是为了更精准的定位到元素,从而减少渲染。那具体这个更精准的定位是什么?以及...
吲哚花菁素IR染料IR780 ... 一、中英文别名:CAS号:N/A | 英文名:IR780 ...
【MySQL】解决MySQL登... 大家在打开MySQL时,可能会遇到在登陆界面输入密码之后就闪退的这个问题. 平时我们写代码,虽然会报...
Java:新手学习java需要...   Java是全球使用最广泛的编程语言之一。你可能在想为什么要学习Java?作为一个新的编码初学者&...
【Vue全家桶】模板语法 【Vue全家桶】模板语法 文章目录【Vue全家桶】模板语法写在前面一、Mustache语法二、事件处...
改变网页皮肤-课后程序(Jav... 【案例1-8】改变网页皮肤 一、案例描述 考核知识点onclick()事件 练习目标掌握onclic...
【服务器数据恢复】使用碎片拼接... 服务器数据恢复环境: 某公司一台DELL服务器,作为WEB服务器使用&#...
Ripser.py学习 (1)... 文章目录1 概述2 安装3 示意 1 概述 Ripser.py是一个用于持续同伦 (Persiste...
数据分析-数据探索 文章目录前言主要内容总结更多宝藏 前言 😎🥳😎&#...
stm32 mbed L432... 目录 一.前言 二.简介 三.SPI细节讲解 1.串行通信(serial peripheral ...
基于飞桨实现的特定领域知识图谱... 文本匹配任务在自然语言处理领域中是非常重要的基础任务,一般用于研究两段文本之间的关系。...