Cursor实战:Web版背单词应用开发演示

Cursor实战:Web版背单词应用开发演示

Cursor实战:Web版背单词应用开发演示

在上一篇《Cursor AI编程助手不完全指南》中,我们详细介绍了Cursor这款强大的AI编程工具。为了让大家能更直观地了解 Cursor 的实战应用价值,本文将通过一个实际项目来展示其开发流程。我们将使用 Cursor 开发一个 Web 版单词学习程序,通过这个案例,您将看到 AI 辅助开发的完整过程,体验从需求分析到代码实现的全过程。让我们开始这次实战之旅。

需求分析

在开始开发之前,明确的需求文档是项目成功的关键。一个好的需求文档不仅能指导开发方向,还能作为与 Cursor 进行高效对话的重要基础。我们有两种方式来准备需求文档:自行编写需求文档和借助 Cursor 生成需求文档。

自行编写需求文档

  • 明确列出功能模块和具体需求
  • 按优先级排序各项功能
  • 将文档保存为独立文件,方便随时参考
  • 确保描述清晰,避免歧义

借助Cursor生成需求文档

  • 提供项目的核心目标和主要功能点
  • 让AI协助完善功能描述和技术细节
  • 根据实际需求进行调整和补充
Cursor帮我们需求分析

摘抄部分功能内容,填充到自己的开发需求文档如下:

# 开发一个学单词的web程序 ## 核心功能需求 ### 学习模式 - 从未学单词中挑选10个单词进行学习 - 单词卡片展示(拼写、音标、释义、例句) - 发音功能 - 可以将当前词加入到错题本,进行复习 ### 复习模式 - 从错词本中随机抽取单词进行复习 ### 用户管理 - 用户免登录,可以设置用户名 ## 技术需求 ### 前端 - 响应式设计,支持多端适配 - 流畅的交互体验,界面简洁美观 ### 后端 - 如果需要用到后端程序,请使用python语言 - 如果需要用到数据库,请使用MySQL ## 数据结构 ### 单词库 - 单词基本信息(拼写、音标、发音音频、释义、例句) ### 用户学习记录 - 记录用户学习记录和错题信息 

前端UI设计

使用 Cursor 的 COMPOSER 模式+ AGENT,以需求文档作为上下文,和 Cursor 对话,让其帮忙生成 UI 界面。

请根据我的需求文档,设计一个学单词的web界面,要求简洁美观 
Cursor进行UI设计

觉得设计的还不错,就直接选择 Accept,如需修改可继续提问进行修改。

Accept

下面进行 web 界面的预览, 选中 html 文件,右键 Open In Default Browser

Open In Default Browser
界面预览

后端开发

前端部分先这样,可以继续进行后端设计,包括API接口、功能实现和数据库设计。

Cursor进行后端设计
Cursor进行后端设计

项目结构

Cursor 给出的后端项目结构:

 app/ ├── models/ │ └── models.py ├── routes/ │ └── word_routes.py ├── utils/ └── app.py requirements.txt .env 

环境参数

Cursor 创建一个保存环境变量文件,我们需要修改其中的内容,如连接数据库的URI。

DATABASE_URL=mysql+pymysql://root:root@localhost/word_memorize FLASK_ENV=development FLASK_APP=app/app.py 

数据库设计

  • Word 表:存储单词基本信息
  • UserProgress 表:存储用户学习进度和错题本

创建数据库:

CREATE DATABASE word_memorize CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 

表可以先不创建,后面让Cursor生成程序进行表的创建和测试数据生成。

安装Python依赖

Cursor 已为我们创建一个 requirements.txt 文件来管理项目依赖(如果没有,可让其帮忙生成)。

Flask==2.0.1 Flask-SQLAlchemy==2.5.1 Flask-CORS==3.0.10 PyMySQL==1.0.2 python-dotenv==0.19.0 requests==2.26.0 

有了依赖我们可以直接执行以下安装命令,可以让 Cursor 帮忙执行,(注意:如果使用的是python虚拟环境,可能需要手动执行命令,cursor 默认使用默认的 python 环境):

pip install -r requirements.txt 
安装Python依赖

运行应用

flask run 

首次运行,出错了,没关系,交给 Cursor 去解决(这是一个持续过程,需要有点耐心):

运行出错

根据提示,升级Flask版本:

Cursor提示修复

继续运行,又报错了,继续丢给 Cursor 帮忙解决:

Cursor提示修复

修改了依赖的版本和代码中依赖的导入方式:

Cursor提示修复

又回到了第一个问题,版本不兼容,Cursor 建议让我们用第二种方式解决:

Cursor提示修复

这次启动成功:

启动成功

前端代码修改

接下来,我们需要修改前端JavaScript代码,对接后端 API。

Cursor前端代码修改

测试前端界面

修改之后,打开页面,报错了页面中的CSS和JS文件找不到,可能是路径问题,需要修复下:

前端页面问题
前端页面修复

接收所有建议,需要运行一个服务用于加载前端文件:

前端正常

测试数据生成

我们让Cursor帮忙生成测试单词数据:

测试数据生成

添加单词报错:

添加单词报错

一通修复之后,终于添加了单词

添加测试单词

功能测试

单词展示和下一个功能正常:

单词展示

加入错题本正常:

加入错题本正常

单词学完:

单词学完

Bug修复

页面虽然展示添加到错题本成功,其实并没有真正添加到数据库:

错题本bug
错题本bug

需要Cursor帮忙修复这个问题:

Cursor修复后端代码

修复之后,重启程序,仍然有问题,不过我观察到错题记录是被答题记录更新掉了,需要让 Cursor 注意到这个问题:

Cursor修复后端代码
Cursor修复后端代码

错题本终于也正常了:

Cursor修复成功

总结

虽然这是一个相对简单的示例项目,但它展示了 AI 辅助开发的基本流程和方法。通过这次实践,我们可以总结以下几点经验:

1、交互策略

  • 与Cursor进行清晰、具体的对话
  • 将复杂需求拆分成小步骤
  • 及时反馈和纠正AI的输出

2、效率提升

  • 善用上下文管理,保持对话连贯性
  • 复用已验证的代码片段
  • 建立个人的提示词模板

Read more

【花雕学编程】Arduino BLDC 之 Madgwick+编码器融合自平衡机器人

【花雕学编程】Arduino BLDC 之 Madgwick+编码器融合自平衡机器人

“Arduino BLDC之Madgwick+编码器融合自平衡机器人”代表了移动机器人控制领域中一种高阶的状态估计与控制策略。该系统不再单纯依赖IMU(惯性测量单元)或电机编码器中的单一数据源,而是通过Madgwick滤波算法解算高动态姿态角,并与编码器提供的里程计/速度信息进行深度融合。这种架构旨在解决传统自平衡机器人存在的“积分漂移”与“运动扰动敏感”问题,实现更稳健的全姿态控制。 一、主要特点 多源异构传感器融合架构 该系统的核心在于构建了一个互补的感知网络,利用不同传感器在频域上的特性差异进行优势互补。 高频姿态通道(Madgwick):利用IMU中的陀螺仪(高频响应)和加速度计(低频参考),通过Madgwick算法实时解算出机器人的俯仰角(Pitch)和角速度。Madgwick算法基于四元数和梯度下降法,能有效抑制陀螺仪的积分漂移,提供短期动态精度高且无万向节死锁的连续姿态输出。 低频位置/速度通道(编码器):BLDC电机配备的编码器(磁编或光编)提供高精度的转子位置信息。通过对位置微分可获得极其纯净的线速度和位移信息。编码器数据不受重力场干扰,但无法直接提供绝对姿态角。

FPGA小白学习日志二:利用LED实现2选1多路选择器

在上一篇文章中,主播利用炒菜的比喻帮大家介绍了LED工程的建立,所以在读这一篇文章前,大家可以简要回顾以下LED工程的建立流程。本篇内容,主播主要向大家介绍数据选择器工程的实现方法。   在开始之前,我们先来了解一下数据选择器是什么:所谓数据选择器,就是从多个输入的逻辑信号中选择一个逻辑信号输出,实现数据选择功能的逻辑电路就是数据选择器。我们用来打个比方,现在我们手中有两张电影票A和B,但这时我们是不知道到底哪张电影票是允许我们进入电影院的,这时候我们就要去问检票员,检票员说A,那就可以进;否则,B就可以进。通过这个比喻,我们就能理解数据选择器的大体思路了:这里的电影票A与B就相当于输入信号in1与in2,检票员就相当于数据选择信号sel(英文select),电影院就相当于输出信号out,注意这里的输出信号out只有一个。因此,我们就可以在Visio中设计出2-1数据选择器:                               同样,我们给出2-1数据选择器的真值表:                我们来分析以下这个真值表:当选择信号sel为0时,对应输入信号in

FPGA开发必看!Xilinx Vivado付费IP核License状态解读与获取/vivado最新license获取

FPGA开发必看!Xilinx Vivado付费IP核License状态解读与获取/vivado最新license获取

Xilinx(AMD) vivado软件全部付费IP核及license许可介绍和获取 制作不易,记得三连哦,给我动力,持续更新!!! License或IP src源码 文件下载:Xilinx IP 完整license获取 (点击蓝色字体获取)(可提供IP源码) 一、介绍 Vivado是Xilinx(现属AMD)FPGA开发的核心工具,其内置的IP核资源库极为丰富。这些IP核根据来源可分为两大类: 一类是Xilinx官方提供的IP核,另一类则来自第三方供应商。从授权方式来看,又可划分为免费授权和商业授权两种类型。对于需要商业授权的IP核,用户必须获取对应的License文件方可正常使用。 二、Xilinx IP核 2.1 Xilinx 免费IP Xilinx(AMD)自主开发的IP核主要提供基础功能模块和必要接口组件,涵盖数字信号处理、通信协议、存储控制等通用功能。这类IP核已集成在Vivado开发环境中,用户完成软件安装后即可直接调用,无需额外授权文件。其完整支持设计全流程,包括功能仿真、逻辑综合、布局布线以及比特流生成。在Vivado的License管理界面中,

喂饭级教程:OpenClaw 对接 QQ 机器人,本地/腾讯云都能用

喂饭级教程:OpenClaw 对接 QQ 机器人,本地/腾讯云都能用

文章目录 * 前言 * 一、选对路子:官方 Bot 还是个人号? * 方案 A:QQ 开放平台官方机器人 * 方案 B:个人 QQ 号变身机器人 * 二、环境准备:5 分钟搞定基础设施 * 1. 服务器/电脑要求 * 2. 安装 OpenClaw * 3. 配置大模型 API * 三、方案 A:对接 QQ 开放平台官方机器人 * Step 1:注册开发者并创建机器人 * Step 2:获取三件套凭证 * Step 3:配置 IP 白名单和沙箱 * Step 4:OpenClaw 端配置