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

Strudel终极指南:Web实时算法音乐编码从零到精通

Strudel终极指南:Web实时算法音乐编码从零到精通 【免费下载链接】strudelWeb-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript 项目地址: https://gitcode.com/gh_mirrors/st/strudel 还在为复杂的音乐制作软件而烦恼?想要通过代码创作音乐却不知从何入手?Strudel作为一款革命性的Web实时算法音乐编码工具,让你在浏览器中就能轻松实现"代码即音乐"的创作体验。本文将带你从零开始,全面掌握这款强大的工具,10分钟就能创作出你的第一个算法音乐作品。 什么是Strudel?重新定义音乐创作方式 Strudel(全称Strudel Pattern Engine)是一个基于浏览器的实时编码环境,专注于算法音乐模式创作。作为TidalCycles的JavaScript移植实现,它打破了传统音乐编程对专用软件和复杂配置的依赖,让你在任意设备上都能享受音乐编

Llama3-8B一键部署教程:vllm+Open-WebUI镜像免配置实操手册

Llama3-8B一键部署教程:vllm+Open-WebUI镜像免配置实操手册 1. 为什么选Llama3-8B?轻量、强指令、真可用 你是不是也遇到过这些情况:想本地跑个大模型,结果显存不够卡在加载阶段;好不容易配好环境,又发现对话不连贯、响应慢得像在等泡面;或者试了几个模型,英文还行,中文一问三不知,代码生成更是凑合着用? Meta-Llama-3-8B-Instruct 就是为解决这类问题而生的——它不是参数堆出来的“纸面王者”,而是真正能在消费级显卡上稳稳跑起来、说人话、听懂指令、还能写点Python的实用派选手。 一句话说清它的定位:80亿参数,单卡可跑,指令遵循强,8k上下文,Apache 2.0可商用。 别被“80亿”吓到。它不是动辄上百GB显存的庞然大物。fp16完整模型约16GB,而GPTQ-INT4量化后仅需4GB显存——这意味着一块RTX 3060(12GB显存)就能轻松扛起推理任务,连笔记本上的RTX 4060 Laptop也能流畅运行。没有复杂的CUDA版本对齐,不用折腾flash-attn编译,更不需要手动切分张量。

前端CI/CD流程:自动化部署的正确打开方式

前端CI/CD流程:自动化部署的正确打开方式 毒舌时刻 CI/CD?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为配置了CI/CD就能解决所有部署问题?别做梦了!到时候你会发现,CI/CD配置出错的概率比手动部署还高。 你以为随便找个CI/CD工具就能用?别天真了!不同的工具配置方式不同,坑也不同。比如Jenkins的配置文件就像是天书,GitLab CI的YAML语法也能让你崩溃。 为什么你需要这个 1. 自动化部署:CI/CD可以自动完成代码测试、构建和部署,减少手动操作,提高部署效率。 2. 减少人为错误:自动化部署可以避免手动部署时的人为错误,提高部署的可靠性。 3. 快速反馈:CI/CD可以在代码提交后立即进行测试和构建,及时发现问题,提供快速反馈。 4. 持续集成:CI/CD可以确保代码的持续集成,避免代码冲突和集成问题。 5. 环境一致性:CI/CD可以确保不同环境的配置一致,避免环境差异导致的问题。 反面教材

AI大模型-CPU优化:了解Ollama自动量化模型,使其更适合CPU运行

在Windows+CPU环境下运行AI模型,“量化”是保证模型运行流畅的核心技术。它就像一个“压缩”过程,能大幅降低模型对内存和算力的需求。下面将详细解析其原理和在Ollama中的实践方法。 量化模型:如何选择与使用? 量化通过降低数字精度(例如,将小数点后更多位的浮点数转换为整数)来缩小模型体积。对于CPU运行,关键是选择适合你硬件的量化级别,在速度、质量和内存消耗之间取得最佳平衡。 量化级别内存占用 (估算)性能特点适用场景常用标识Q4_0 / INT4约为原模型 25-30%速度与质量较平衡,精度损失较小。综合推荐,适用于大多数对话和生成任务。q4_0, q4_K_MQ3_K_M介于Q2与Q4之间平衡性更佳,在较低内存下保持较好质量。CPU资源较紧张时的首选。q3_K_MQ2_K非常低速度最快,但质量损失明显,可能逻辑性变差。仅用于对质量要求不高的简单任务。q2_KQ8_0 / INT8约为原模型 50%