十倍速开发:AI时代的Cursor编程手记

978-7-115-69210-8
作者: 王尧
译者:
编辑: 杨海玲
分类: 其他

图书目录:

第 1 章 AI 辅助编程概述.............................. 1

1.1 核心技术原理...............................................1

1.2 AI 辅助编程的开发流程 .............................2

典型开发流程...............................................2

1.3 常用 AI 辅助编程工具 ................................4

1.4 AI 辅助编程与传统编程的对比 .................4

1.5 氛围编程.......................................................5

第 2 章 BlogN 系统开发项目简介 ................ 7

2.1 背景...............................................................7

2.2 BlogN 系统概述...........................................7

2.3 功能需求.......................................................8

2.3.1 用户管理...........................................8

2.3.2 积分管理...........................................8

2.3.3 博客文章管理...................................8

2.3.4 图片管理...........................................9

2.3.5 博客文章分类...................................9

2.3.6 评论管理...........................................9

2.3.7 留言本管理.......................................9

2.3.8 订阅...................................................9

2.3.9 RSS 发布.........................................10

2.3.10 搜索...............................................10

2.4 技术选型.....................................................10

2.4.1 后端技术栈.....................................10

2.4.2 前端技术栈.....................................11

2.5 架构模式.....................................................12

2.5.1 MVC 模式.......................................12

2.5.2 Ajax+JSON 实现前后端分离 ........12

2.6 系统架构设计.............................................12

2.6.1 总体架构.........................................12

2.6.2 后端项目文件及目录结构.............13

2.6.3 数据库设计.....................................14

2.6.4 前端架构设计.................................15

2.7 用户界面设计 ............................................16

2.7.1 用户界面设计原则.........................16

2.7.2 关键页面.........................................17

第 3 章 开发环境和工具.............................20

3.1 开发环境 ....................................................20

3.2 Cursor .........................................................20

3.2.1 简介.................................................21

3.2.2 历史.................................................21

3.2.3 基本使用.........................................21

3.2.4 核心功能.........................................22

3.2.5 高级功能.........................................26

3.2.6 规则.................................................28

3.2.7 价格与成本.....................................29

3.2.8 小结.................................................30

3.3 开发实践 ....................................................30

第 4 章 数据库迁移 ....................................31

4.1 准备工作 ....................................................31

4.2 执行迁移 ....................................................32

4.3 小结 ............................................................35

第 5 章 测试页面创建.................................36

5.1 开发环境配置 ............................................36

5.1.1 配置 Remote Explorer ....................36

5.1.2 开发环境初始化.............................37

5.1.3 Python 虚拟环境 venv....................38

5.1.4 安装依赖.........................................39

5.1.5 生成测试页面.................................40

5.1.6 配置 Apache ...................................42

5.1.7 配置数据库连接.............................44

5.1.8 配置 Git 环境..................................47

5.2 评审生成的代码.........................................48

5.2.1 blogn2.conf......................................49

5.2.2 blogn2-service .................................50

5.2.3 run.py...............................................50

5.2.4 src/main.py ......................................51

5.2.5 src/database.py.................................52

5.2.6 src/routes/test.py..............................54

5.2.7 src/routes/user.py.............................55

5.2.8 目录结构.........................................56

5.3 一个安全漏洞.............................................57

5.4 相关知识点介绍.........................................59

5.4.1 CORS 简介......................................59

5.4.2 FastAPI 的路由机制.......................60

5.4.3 FastAPI 的异步引擎和同步引擎 .................................................61

5.4.4 SQLModel 简介..............................62

5.4.5 Python 的高级语法.........................63

第 6 章 生成首页 ....................................... 64

6.1 def_page 分支.............................................64

6.2 静态页面.....................................................65

6.2.1 生成首页结构.................................65

6.2.2 用户界面调整.................................69

6.2.3 相关问题.........................................71

6.3 网站元数据.................................................72

6.3.1 生成页面.........................................72

6.3.2 代码分析.........................................74

6.4 MVC 模式...................................................81

6.4.1 基于 MVC 模式重构......................82

6.4.2 修正问题.........................................85

6.4.3 代码分析.........................................86

6.5 清理代码.....................................................93

6.6 最新加入博客、最热门博客和最近评论.............................................................95

6.6.1 第 一次生成代码.............................95

6.6.2 修正“最近评论”列表卡片.........97

6.6.3 “你在骗人”...................................98

6.6.4 大语言模型的幻觉.......................103

6.7 头像...........................................................104

6.8 网站介绍 ..................................................107

6.9 最近留言 ..................................................108

6.10 最新博文摘要 ........................................ 111

6.11 代码合并 ................................................ 114

6.11.1 重构代码..................................... 114

6.11.2 拉取请求..................................... 116

6.11.3 评审代码.....................................120

6.11.4 Cursor 的 Bugbot ........................122

6.11.5 完成代码合并.............................126

第 7 章 单元测试......................................127

7.1 pytest 简介................................................127

7.2 创建单元测试代码 ..................................129

7.3 代码覆盖率 ..............................................132

7.4 单元测试和集成测试 ..............................136

7.5 数据库污染 ..............................................139

7.6 代码分析 ..................................................141

7.6.1 单元测试示例...............................142

7.6.2 集成测试示例...............................146

7.6.3 缺点...............................................150

7.7 合并代码前总结 ......................................151

7.7.1 测试统计.......................................151

7.7.2 测试覆盖范围...............................151

7.7.3 测试方法列表...............................151

7.7.4 运行测试.......................................152

7.7.5 值得注意的地方...........................153

7.8 代码合并 ..................................................154

第 8 章 性能与缓存层...............................156

8.1 对系统性能的考虑 ..................................156

8.2 一个数据库性能问题 ..............................157

8.3 缓存机制的选择 ......................................160

8.4 FastAPI 工作进程的生命周期................165

8.5 实现缓存代码 ..........................................168

8.5.1 实现基本代码...............................168

8.5.2 使代码运行...................................171

8.5.3 单元测试.......................................174

8.5.4 性能测试脚本...............................177

8.6 代码合并 ..................................................184

第 9 章 生成博客页面 .............................. 187

9.1 生成基本页面...........................................187

9.2 调整界面风格...........................................190

9.3 “分类列表”卡片的动态化.....................191

9.4 单元测试...................................................193

9.5 “最近评论”列表卡片的动态化和 Web 组件复用...................................................197

9.6 博客文章摘要列表卡片的动态化 ..........200

9.6.1 基本代码.......................................200

9.6.2 分页功能.......................................203

9.6.3 分类...............................................204

9.7 数据库升级...............................................207

9.8 代码合并与分析.......................................208

9.8.1 前端组件层...................................209

9.8.2 后端 API 层...................................212

9.8.3 数据库模型层...............................214

9.8.4 数据访问层...................................214

9.8.5 业务逻辑层...................................215

9.8.6 数据流程.......................................216

第 10 章 生成博客文章页面..................... 217

10.1 基本页面.................................................217

10.2 界面调整.................................................220

10.3 使用真正的链接.....................................222

10.4 多个图片附件.........................................223

10.5 RSS 订阅.................................................226

10.6 代码重构与合并.....................................229

第 11 章 用户管理.................................... 234

11.1 身份认证与授权.....................................234

11.1.1 基于 JWT 的解决方案 ...............234

11.1.2 数据库更新 .................................236

11.1.3 用户登录功能 .............................241

11.1.4 实现个人资料页面 .....................245

11.1.5 通用权限管理器 .........................251

11.1.6 后端的令牌管理 .........................254

11.1.7 前端的令牌管理 .........................255

11.2 用户信息管理.........................................258

11.2.1 重置用户密码.............................258

11.2.2 数据库表的自增字段.................262

11.2.3 实现注册码管理页面.................264

11.2.4 新用户注册.................................265

11.2.5 用户列表.....................................268

11.2.6 缓存和测试.................................274

11.3 代码重构与合并 ....................................278

第 12 章 博客文章管理.............................280

12.1 发表博客文章 ........................................280

12.1.1 基本的发表功能.........................280

12.1.2 上传图片.....................................282

12.1.3 调试与重构.................................288

12.2 修改博客文章 ........................................291

12.3 删除博客文章 ........................................293

12.4 支持多张图片 ........................................298

12.5 支持 Markdown 格式.............................301

12.6 代码重构与合并 ....................................305

第 13 章 评论和留言本管理 .....................307

13.1 评论 ........................................................308

13.1.1 发表评论.....................................308

13.1.2 删除评论..................................... 311

13.1.3 评论分页.....................................312

13.2 留言本 ....................................................317

13.2.1 留言本页面.................................318

13.2.2 主题页面.....................................321

13.2.3 发表留言.....................................322

13.3 缓存覆盖 ................................................323

13.4 代码重构与合并 ....................................324

第 14 章 订阅功能及其他.........................325

14.1 订阅功能 ................................................325

14.1.1 订阅博客.....................................325

14.1.2 广播博客文章.............................328

14.1.3 显示订阅的博客文章.................331

14.1.4 管理订阅博客.............................333

14.2 杂项 ........................................................335

14.2.1 维护个人资料.............................335

14.2.2 设置个人介绍.............................336

14.2.3 维护分类.....................................338

14.2.4 管理友情链接.............................339

14.2.5 更新全局统计信息.....................339

14.2.6 冻结用户.....................................340

14.3 代码重构与合并.....................................340

14.4 数据库更新.............................................343

14.4.1 重新计算统计信息.....................343

14.4.2 增加索引.....................................344

14.4.3 统计信息的实时计算.................345

第 15 章 基于 BERT 的全文检索 ............. 348

15.1 语义检索与 BERT 技术.........................348

15.2 技术栈.....................................................349

15.2.1 向量化数据的存储.....................349

15.2.2 封装了BERT 功能的Python 库...349

15.2.3 针对中文优化的预训练模型.....349

15.3 初始化设置 ............................................350

15.4 表结构和分段存储 ................................351

15.5 搜索页面的实现 ....................................355

15.6 向量化数据的更新和删除....................359

15.7 已有数据的向量化 ................................362

15.8 相似度和搜索调优 ................................364

15.8.1 相似度和阈值.............................365

15.8.2 计算片段相似度.........................365

15.8.3 计算整体相似度.........................366

15.8.4 搜索调优.....................................368

后记:未完成的工作 ..................................370

详情

本书是基于 Web 的博客系统 BlogN 的开发过程,采用人与 AI 工具对话的形式,记录 AI 辅助编程工具 Cursor 在实际项目开发中的应用过程。书中不仅展示 AI 工具在技术决策、代码生成和问题解决及优化方面的强大能力,还深入探讨 AI 工具的特性、最佳实践及 AI 技术对传统编程的冲击。通过具体的案例,本书揭示 AI 工具在编程中的优势,如快速生成高质量代码、处理复杂逻辑等,同时也指出其局限性,如对复杂问题理解不足、可能出现错误和幻觉问题等,还示范如何通过自然语言指令驱动 AI 工具完成任务,如何对生成的代码进行审查和优化,以及在 AI 工具失效时如何及时介入并解决问题。这些内容将为读者传达最新的 AI 辅助编程理念并提供宝贵的实战经验,帮助读者理解如何在实际开发中合理利用 AI 工具,提升开发效率。 全书共 15 章,详细描述从项目规划、技术选型、开发环境搭建,到各个功能模块的实现及最终的性能优化和测试的全过程,不仅涵盖后端服务的搭建、数据库设计与优化,还涉及前端界面的开发和用户体验的提升,全面展示与传统编程过程不同的人与 AI 工具协同的开发方式。 本书面向有经验的软件开发者,尤其是那些希望在 AI 时代提升开发效率、掌握新开发方法的专业人士。无论是在个人项目中寻求高效开发,还是在大型团队中探索新的协作模式,本书都能为读者提供实用的指导和启发。

图书摘要

相关图书

Agent设计模式 图解可复用智能体架构
Agent设计模式 图解可复用智能体架构
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发
Coze入门:7天玩转扣子智能体
Coze入门:7天玩转扣子智能体
计算流体力学大串讲轻松解锁CFD     从公式到代码的奇妙之旅
计算流体力学大串讲轻松解锁CFD 从公式到代码的奇妙之旅
内网攻防实战图谱:从红队视角构建安全对抗体系
内网攻防实战图谱:从红队视角构建安全对抗体系
计算机组成原理(基于x86-64架构)
计算机组成原理(基于x86-64架构)

相关文章

相关课程