十倍速開發:AI時代的Cursor編程手記

王堯

  • 出版商: 人民郵電
  • 出版日期: 2026-04-01
  • 定價: $539
  • 售價: $538
  • 語言: 簡體中文
  • 頁數: 370
  • ISBN: 7115692106
  • ISBN-13: 9787115692108
  • 相關分類: AI Coding
  • 下單後立即進貨 (約4週~6週)

  • 十倍速開發:AI時代的Cursor編程手記-preview-1
十倍速開發:AI時代的Cursor編程手記-preview-1

商品描述

本書是基於 Web 的博客系統 BlogN 的開發過程,采用人與 AI 工具對話的形式,記錄 AI 輔助編程工具 Cursor 在實際項目開發中的應用過程。書中不僅展示 AI 工具在技術決策、代碼生成和問題解決及優化方面的強大能力,還深入探討 AI 工具的特性、最佳實踐及 AI 技術對傳統編程的沖擊。通過具體的案例,本書揭示 AI 工具在編程中的優勢,如快速生成高質量代碼、處理復雜邏輯等,同時也指出其局限性,如對復雜問題理解不足、可能出現錯誤和幻覺問題等,還示範如何通過自然語言指令驅動 AI 工具完成任務,如何對生成的代碼進行審查和優化,以及在 AI 工具失效時如何及時介入並解決問題。這些內容將為讀者傳達最新的 AI 輔助編程理念並提供寶貴的實戰經驗,幫助讀者理解如何在實際開發中合理利用 AI 工具,提升開發效率。

全書共 15 章,詳細描述從項目規劃、技術選型、開發環境搭建,到各個功能模塊的實現及最終的性能優化和測試的全過程,不僅涵蓋後端服務的搭建、數據庫設計與優化,還涉及前端界面的開發和用戶體驗的提升,全面展示與傳統編程過程不同的人與 AI 工具協同的開發方式。

本書面向有經驗的軟件開發者,尤其是那些希望在 AI 時代提升開發效率、掌握新開發方法的專業人士。無論是在個人項目中尋求高效開發,還是在大型團隊中探索新的協作模式,本書都能為讀者提供實用的指導和啟發。

作者簡介

王堯(左輕侯),畢業於中南大學,先後在Borland、微軟、IBM、VMware等公司擔任軟件開發工程師,有20余年軟件開發經驗,涉及桌面軟件、集成開發工具、軟件開發流程和質量控制、數據庫內核、分布式系統等多個領域。

目錄大綱

第 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