Claude Codde 入门教程—— 从零到独立完成项目

作者:fa_lsyk日期:2026/6/15

Claude Code 入门教程


适合人群:技术小白、编程初学者、对 AI 编程感兴趣的所有人
学习目标:读完本文后,你能够独立使用 Claude Code 完成一个完整的 OCP 项目
阅读时间:约 45-60 分钟
难度等级:★☆☆☆☆(零基础友好)


目录

  1. 前言:你即将拥有的"超能力"
  2. 什么是 Claude Code?—— 你的 AI 编程伙伴
  3. 安装 Claude Code —— 3 步搞定
  4. 第一次对话 —— 跟 AI 说"你好"
  5. 核心概念:理解 Claude Code 的"大脑"
  6. 基础操作:读、写、改、搜
  7. 实战演练一:用 Claude Code 写一个网页
  8. 实战演练二:管理一个完整项目
  9. 高级功能:让 Claude Code 更强大
  10. OCP 项目实战指南
  11. 常见问题与排错指南
  12. 总结与下一步

1. 前言:你即将拥有的"超能力"

1.1 先讲一个故事

想象一下,你刚进入一家新公司,被分配了一个任务:在两周内完成一个 OCP 项目。

你打开项目文档,看到一堆陌生的技术名词:Java、Maven、Spring Boot、REST API、数据库、Docker……你感到头皮发麻,不知从何下手。

这时候,如果有人告诉你:

“你旁边坐着一个经验丰富的资深程序员,他精通所有编程语言,24 小时待命,永远不会不耐烦,而且你只需用中文跟他聊天,他就能帮你写代码、修 Bug、部署项目。”

你会不会觉得这是天方夜谭?

这,就是 Claude Code。

1.2 Claude Code 是什么(用一句话说清楚)

Claude Code 是一个运行在终端里的 AI 编程助手。 你用自然语言(中文、英文都行)告诉它你想做什么,它就能帮你完成。

打个比方:

传统编程使用 Claude Code
你像一个建筑工人,需要自己搬砖、砌墙、刷漆你像一个建筑设计师,画出蓝图,AI 帮你施工
你要记住每一行代码的语法你只需要清楚地描述你想要什么
遇到 Bug 要花几小时搜索和调试直接把错误信息告诉 Claude Code,它帮你修
学习新技术要先看几百页文档直接让 Claude Code 边做边教你

1.3 学完本教程你能做什么

学完本教程后,你将能够:

  • ✅ 独立安装和配置 Claude Code
  • ✅ 用自然语言让 AI 帮你写代码
  • ✅ 读懂、修改、管理一个完整的软件项目
  • ✅ 使用 Claude Code 的高级功能(MCP、Skills、Workflows)
  • ✅ 独立完成一个 OCP 项目(从零到部署上线)

1.4 本教程的阅读方式

1如果你是纯小白 ──→ 从头到尾按顺序阅读,每个练习都跟着做
2如果你有点基础 ──→ 可以跳过第 3 章,从第 5 章开始
3如果你想快速上手 ──→ 直接看第 7 章和第 10 章
4

2. 什么是 Claude Code?—— 你的 AI 编程伙伴

2.1 用最通俗的话解释

把 Claude Code 想象成一个住在你电脑终端里的智能助手:

1┌─────────────────────────────────────────────────────────┐
2│                    你(人类)                             │
3│   "帮我写一个计算器程序"                                  │
4│   "这段代码为什么报错?"                                  │
5│   "把我的项目打包部署"                                    │
6└─────────────────────┬───────────────────────────────────┘
7                      │
8                      │ 你只需要用中文说话
9                      ▼
10┌─────────────────────────────────────────────────────────┐
11│                 Claude Code(AI 助手)                    │
12│                                                         │
13│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
14│  │ 理解你的需求  │  │ 读取项目文件  │  │ 执行命令     │  │
15│  │              │  │              │  │              │  │
16│  │ "他想做计算器"│  │ "我来看看    │  │ "mvn compile"│  │
17│  │ "需要加减乘除"│  │  现有代码"   │  │  编译项目    │  │
18│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  │
19│         │                 │                 │           │
20│         └─────────────────┼─────────────────┘           │
21│                           │                             │
22│                           ▼                             │
23│              ┌──────────────────────┐                   │
24│              │  生成代码 / 修复 Bug  │                   │
25│              │  运行测试 / 部署项目  │                   │
26│              └──────────────────────┘                   │
27└─────────────────────────────────────────────────────────┘
28

2.2 Claude Code 与 ChatGPT 有什么不同?

很多人会问:“我已经有 ChatGPT 了,为什么还要用 Claude Code?”

这是两个完全不同的工具:

对比维度ChatGPT(网页版)Claude Code
工作方式在浏览器里一问一答直接在终端里操作你的项目
读取文件需要手动复制粘贴自动读取你项目里的所有文件
修改代码复制粘贴,容易出错直接在文件里修改,精确无误
执行命令不能能执行编译、测试、部署等命令
项目理解只看到你发给它的内容能理解整个项目的结构和逻辑
适合场景问问题、学知识实际做项目、写代码

简单来说:ChatGPT 是你的"老师",Claude Code 是你的"同事"。

2.3 Claude Code 的核心能力一览

1Claude Code 的能力全景图
2═══════════════════════════════════════════════════════════
3
4  🔍 读取与搜索               ✏️ 编写与修改
5  ┌─────────────────┐       ┌─────────────────┐
6  │ • 读取任何文件    │       │ • 创建新文件     │
7  │ • 搜索代码内容    │       │ • 精确修改代码   │
8  │ • 文件模式匹配    │       │ • 批量替换内容   │
9  │ • 理解项目结构    │       │ • 重构整个项目   │
10  └─────────────────┘       └─────────────────┘
11
12  ⚡ 执行与运行               🧠 思考与规划
13  ┌─────────────────┐       ┌─────────────────┐
14  │ • 运行终端命令    │       │ • 分析需求      │
15  │ • 编译项目       │       │ • 设计方案      │
16  │ • 运行测试       │       │ • 解释代码      │
17  │ • 安装依赖       │       │ • 教学指导      │
18  │ • Git 操作       │       │ • Debug 分析    │
19  └─────────────────┘       └─────────────────┘
20
21  🔗 扩展能力(高级)         🎯 自动化(高级)
22  ┌─────────────────┐       ┌─────────────────┐
23  │ • MCP 工具集成   │       │ • 定时任务      │
24  │ • 自定义技能     │       │ • 工作流编排    │
25  │ • 多模型切换     │       │ • 批量处理      │
26  │ • 第三方服务连接  │       │ • 自动部署      │
27  └─────────────────┘       └─────────────────┘
28

3. 安装 Claude Code —— 3 步搞定

3.1 安装前的准备

在安装之前,你需要确认两件事:

第一步:确认你的操作系统

Claude Code 支持以下系统:

  • Windows:Windows 10 或 11
  • macOS:macOS 12 或更新版本
  • Linux:主流发行版(Ubuntu、Debian、CentOS 等)

第二步:确认你有终端访问权限

  • Windows 用户:需要安装 Git Bash 或使用 PowerShell 终端
  • Mac 用户:自带 终端(Terminal) 应用
  • Linux 用户:自带终端

新手提示:如果你用的是 Windows,强烈建议安装 Git Bash。
下载地址:https://git-scm.com/downloads
Git Bash 让你能在 Windows 上使用类 Linux 的命令行环境,大部分编程教程都基于这个环境。

3.2 安装步骤(以 Windows 为例)

整个安装过程就像安装一个手机 App 一样简单:

1安装流程图
2═══════════════════════════════════════════════════════════
3
4  开始
5   │
6   ▼
7┌──────────────────┐
8│ 步骤1:安装 Node.js │  ← 这是 Claude Code 的运行环境
9│ (版本 ≥ 18.0)     │    就像手机需要操作系统一样
10└──────┬───────────┘
11       │
12       ▼
13┌──────────────────┐
14│ 步骤2:安装       │  ← 在终端里输入一行命令即可
15│ Claude Code      │
16└──────┬───────────┘
17       │
18       ▼
19┌──────────────────┐
20│ 步骤3:验证安装   │  ← 确认安装成功
21└──────┬───────────┘
22       │
23       ▼
24  完成!开始使用
25
步骤 1:安装 Node.js

Node.js 是 Claude Code 的"运行引擎"。你可以把它理解为:Node.js 是舞台,Claude Code 是在舞台上表演的演员。

1# 1. 打开浏览器,访问 https://nodejs.org
2# 2. 下载 LTS 版本(长期支持版,更稳定)
3# 3. 双击安装包,一路点击"下一步"即可
4# 4. 安装完成后,打开终端(Win+R,输入 cmd,回车)
5# 5. 输入以下命令验证安装是否成功:
6
7node --version
8# 如果安装成功,你会看到类似这样的输出:
9# v20.11.0  (版本号可能不同,只要 ≥ 18.0 就没问题)
10
11npm --version
12# 如果安装成功,你会看到类似这样的输出:
13# 10.2.4   (npm 是 Node.js 自带的包管理工具)
14
步骤 2:安装 Claude Code

打开终端,输入下面这一行命令:

1# 使用 npm 全局安装 Claude Code
2# -g 表示"全局安装",意味着你可以在电脑的任何位置使用它
3npm install -g @anthropic-ai/claude-code
4
5# 安装过程大约需要 1-2 分钟,你会看到很多行安装日志在滚动
6# 这是正常的,不用担心里面的技术细节
7

如果安装失败:99% 的情况是因为网络问题。可以尝试以下方法:

1# 方法1:使用国内镜像源(推荐,速度更快)
2npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
3
步骤 3:验证安装
1# 在终端输入以下命令:
2claude --version
3
4# 如果看到版本号输出,说明安装成功!
5# 类似:Claude Code v2.0.0
6

3.3 首次启动与 API Key 配置

Claude Code 需要连接到 Anthropic 的 AI 服务才能工作。这需要一个"钥匙"——API Key。

比喻:API Key 就像你的门禁卡。没有它,你就进不了大楼(用不了 AI 服务)。

1获取 API Key 的流程
2═══════════════════════════════════════════════════════════
3
4  访问 console.anthropic.com
5   │
6   ▼
7  注册 / 登录账号
8   │
9   ▼
10  进入 API Keys 页面
11   │
12   ▼
13  点击 "Create Key" 创建新 Key
14   │
15   ▼
16  ⚠️ 复制并保存好 Key!(只显示一次)
17   │
18   ▼
19  在终端配置 Key
20

配置方法一:环境变量(推荐)

1# 在 Git Bash 终端中输入(Windows用户推荐这种方式)
2# 把下面的 "sk-ant-xxxxx" 替换成你自己的真实的 API Key
3export ANTHROPIC_API_KEY="sk-ant-your-actual-api-key-here"
4
5# 注意:这种方式只在当前终端窗口有效,关闭窗口后需要重新设置
6# 如果你想让这个配置永久生效,继续往下看
7

配置方法二:永久配置(一劳永逸)

1# Windows PowerShell 用户
2# 以管理员身份打开 PowerShell,执行:
3[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-your-key-here", "User")
4
5# Git Bash / Mac / Linux 用户
6# 把下面这行加到你的 ~/.bashrc 或 ~/.zshrc 文件末尾
7echo 'export ANTHROPIC_API_KEY="sk-ant-your-key-here"' >> ~/.bashrc
8
9# 让配置立即生效
10source ~/.bashrc
11

配置方法三:使用 Claude Code 内置的登录命令

1# 如果你已经有 Anthropic 账号,可以直接用这个命令登录
2claude login
3
4# 这会打开浏览器,让你通过网页完成认证
5# 认证成功后,Claude Code 会自动保存你的凭证
6

3.4 验证一切就绪

1# 在终端输入:
2claude
3
4# 如果一切配置正确,你会进入 Claude Code 的交互界面
5# 你会看到一个类似这样的提示符,表示可以开始对话了:
6#
7# ╭────────────────────────────────────────────╮
8# │  ✨ Claude Code v2.0.0                      │
9# │  Ready to help you build amazing things!    │
10# ╰────────────────────────────────────────────╯
11# >
12

到此为止,安装就完成了!是不是比你想象中简单很多?


4. 第一次对话 —— 跟 AI 说"你好"

4.1 启动 Claude Code

有两种使用 Claude Code 的方式:

方式一:交互模式(最常用)

1# 进入你的项目目录(如果还没有项目,先创建一个空目录)
2mkdir my-first-project      # 创建一个名为 my-first-project 的文件夹
3cd my-first-project          # 进入这个文件夹
4
5# 启动 Claude Code
6claude
7

方式二:单次命令模式

1# 不进入交互界面,直接执行一条指令
2# -p 参数表示 "print",意思是直接打印结果
3claude -p "写一个 Hello World 的 Python 程序"
4

4.2 你的第一句对话

进入 Claude Code 后,你会看到一个提示符 >。输入你想说的话,然后按回车:

1> 你好!请用中文回复我。请解释一下你是什么,你能帮我做什么?
2

Claude Code 会回复你一段文字,介绍自己的能力和限制。

交互流程图:

1┌─────────────────────────────────────────────────────────┐
2│                    交互模式的工作流程                      │
3├─────────────────────────────────────────────────────────┤
4│                                                         │
5│   你输入问题                                             │
6│   ┌──────────────────────┐                              │
7│   │ > 帮我写一个计算器     │                              │
8│   └──────────┬───────────┘                              │
9│              │                                           │
10│              ▼                                           │
11│   ┌──────────────────────┐                              │
12│   │ Claude Code 分析你的  │  ← AI 理解你的意图             │
13│   │ 需求,读取项目文件    │                              │
14│   └──────────┬───────────┘                              │
15│              │                                           │
16│              ▼                                           │
17│   ┌──────────────────────┐                              │
18│   │ Claude Code 生成代码  │  ← AI 创建或修改文件           │
19│   │ 或执行相关操作        │                              │
20│   └──────────┬───────────┘                              │
21│              │                                           │
22│              ▼                                           │
23│   ┌──────────────────────┐                              │
24│   │ Claude Code 展示结果  │  ← AI 告诉你做了什么           │
25│   │ 等待你的下一步指令    │                              │
26│   └──────────────────────┘                              │
27│              │                                           │
28│              ▼                                           │
29│         继续对话……                                       │
30│                                                         │
31└─────────────────────────────────────────────────────────┘
32

4.3 基本的对话技巧

跟 Claude Code 交流不需要任何特殊技巧——就用你平时跟人聊天的方式。但有几个小窍门可以让沟通更高效:

✅ 好的提问方式:

1> 帮我用 Python 写一个计算器程序,要求支持加减乘除四种运算。
2   用户输入两个数字和运算符,程序输出计算结果。
3   代码要包含详细的中文注释。
4
5> 这段代码运行时报错了,错误信息是:
6   "NameError: name 'result' is not defined"
7   帮我分析一下原因并修复。
8
9> 我的项目里有 5 个 Java 文件,帮我找一下哪个文件里定义了 UserService 类。
10

❌ 不太好的提问方式:

1> 写代码
2   ← 太模糊了,AI 不知道你想要什么
3
4> 修复错误
5   ← 没说是什么错误,AI 无法定位问题
6
7> 帮我做个东西
8   ← 没有具体描述,AI 会困惑
9

核心原则:越具体,AI 的帮助越精准。

4.4 一些常用命令

在 Claude Code 的交互界面中,有一些特殊的"斜杠命令"(以 / 开头),它们是快捷操作:

1# ─── 基础命令 ───
2
3/help              # 显示帮助信息,列出所有可用命令
4# 用法:直接输入 /help 即可
5# 作用:查看 Claude Code 支持的所有功能和快捷命令
6
7/clear             # 清空当前对话历史,开始新的话题
8# 用法:当你想切换话题或之前的对话太长时使用
9# 注意:这不会删除任何文件,只是清空对话记录
10
11/compact           # 压缩对话历史,释放上下文空间
12# 用法:当对话很长,AI 响应变慢时使用
13# 作用:保留关键信息,删除冗余内容,让 AI 重新"聚焦"
14
15# ─── 会话管理 ───
16
17/status            # 查看当前会话状态
18# 显示:当前模型、对话长度、文件变更等信息
19
20/context           # 查看当前上下文包含的内容
21# 显示:AI 当前"看到"了哪些信息
22
23# ─── 文件与项目 ───
24
25/init              # 初始化项目,创建 CLAUDE.md 项目说明文件
26# 用法:在项目根目录执行 /init
27# 作用:让 Claude Code 更好地理解你的项目结构和规则
28
29/add-dir           # 添加一个目录到工作区
30# 用法:/add-dir src/   (将 src 目录加入关注范围)
31
32# ─── 配置与管理 ───
33
34/config            # 查看和修改 Claude Code 的设置
35# 用法:/config 进入设置页面
36
37/model             # 切换使用的 AI 模型
38# 用法:/model opus    (切换到 Opus 模型,能力最强)
39#       /model sonnet  (切换到 Sonnet 模型,速度更快)
40
41# ─── 费用与用量 ───
42
43/cost              # 查看当前会话的费用消耗
44# 用法:/cost    显示本次对话花了多少钱
45
46/usage             # 查看 Token 使用量
47# Token 是 AI 处理文本的计量单位,类似电话的"分钟"
48

5. 核心概念:理解 Claude Code 的"大脑"

在深入使用之前,让我们先了解几个核心概念。这些概念就像开车前要认识的仪表盘——不需要成为工程师,但要知道每个指示灯是什么意思。

5.1 上下文(Context)—— AI 的"短期记忆"

概念解释:

Claude Code 的"上下文"就像 AI 的短期记忆。每次对话中,AI 能"记住"的内容是有限的。这个限制用 Token 来衡量。

什么是 Token?

把 Token 理解为 AI 阅读文本时的"最小单位":

  • 一个中文字 ≈ 1-2 个 Token
  • 一个英文单词 ≈ 1-3 个 Token
  • 一张图片 ≈ 几百到几千个 Token

就像一个杯子能装的水是有限的,AI 一次能处理的内容也是有限的。

1上下文窗口示意图
2═══════════════════════════════════════════════════════════
3
4  ┌─────────────────────────────────────────────────────┐
5  │              上下文窗口(Context Window)             │
6  │              Claude Opus 最大支持 100 万 Token        │
7  │                                                     │
8  │  ┌──────────────────────┐                           │
9  │  │  系统提示词           │  ← 定义 AI 的角色和行为     │
10  │  │  (System Prompt)     │     如"你是一个编程助手"   │
11  │  ├──────────────────────┤                           │
12  │  │                      │                           │
13  │  │  对话历史             │  ← 你和 AI 你来我往的记录   │
14  │  │  (Conversation)      │     每一轮对话都在这里     │
15  │  │                      │                           │
16  │  │  • 你:帮我写代码     │                           │
17  │  │  • AI:好的,这是代码  │                           │
18  │  │  • 你:有个错误……    │                           │
19  │  │  • AI:我来修复……    │                           │
20  │  ├──────────────────────┤                           │
21  │  │  当前请求             │  ← 你最新输入的问题         │
22  │  │  (Current Request)   │                           │
23  │  └──────────────────────┘                           │
24  └─────────────────────────────────────────────────────┘
25
26  当上下文满了 → AI 可能会"忘记"早期的对话内容
27  解决方法 → /compact 命令压缩对话 或 /clear 清空重新开始
28

如何管理上下文:

1# 查看当前使用了多少上下文
2/context
3
4# 如果对话太长,压缩上下文(保留关键信息,删除冗余)
5/compact
6
7# 完全开始新话题
8/clear
9

5.2 Token —— AI 的"计费单位"

概念解释:

Token 就像电话的"分钟数"——你用得越多,费用越高。但完全在你的可控范围内。

1Token 的直观理解
2═══════════════════════════════════════════════════════════
3
4  中文:"你好世界"           ≈ 4 个 Token
5  英文:"Hello World"        ≈ 2 个 Token
6  一句普通的中文问句          ≈ 20-50 个 Token
7  一个 100 行的 Python 文件   ≈ 800-1500 个 Token
8  一个中等规模的项目(100个文件) ≈ 50万-200万 Token
9
10  费用参考(以 Claude Opus 为例):
11  ┌─────────────────────────────────────────────┐
12  │  输入(你发给 AI 的内容):$5 / 100万 Token    │
13  │  输出(AI 回复的内容):  $25 / 100万 Token   │
14  │                                             │
15  │  换句话说:                                  │
16  │  • 问一个问题 ≈ 几分钱                        │
17  │  • 写一个完整功能 ≈ 几毛钱                     │
18  │  • 完成一个项目 ≈ 几块钱到几十块钱              │
19  └─────────────────────────────────────────────┘
20

如何查看费用:

1# 在 Claude Code 中随时查看当前会话的费用
2/cost
3
4# 输出示例:
5# Total cost:     $0.42
6# Input tokens:   45,230
7# Output tokens:  2,156
8

5.3 工具(Tools)—— AI 的"手和脚"

概念解释:

如果 AI 的智能是它的大脑,那工具就是它的"手和脚"。没有工具,AI 只能"说"不能"做"。Claude Code 内置了一系列工具,让 AI 能够实际操作你的项目。

1Claude Code 的内置工具一览
2═══════════════════════════════════════════════════════════
3
4  ┌─────────────────────────────────────────────────────────┐
5  │                      工具清单                            │
6  ├───────────────┬─────────────────────────────────────────┤
7  │ 工具名称       │ 作用(用人话解释)                        │
8  ├───────────────┼─────────────────────────────────────────┤
9  │ Read          │ "读文件"——就像你打开文件查看内容           │
10  │               │ 可以读代码、读文档、读图片、读 PDF         │
11  ├───────────────┼─────────────────────────────────────────┤
12  │ Write         │ "写文件"——创建新文件或覆盖已有文件         │
13  │               │ 就像你在编辑器里新建文件并写入内容          │
14  ├───────────────┼─────────────────────────────────────────┤
15  │ Edit          │ "改文件"——精确修改文件中的某段内容         │
16  │               │ 不是整个重写,而是精准替换                 │
17  ├───────────────┼─────────────────────────────────────────┤
18  │ Bash          │ "执行命令"——在终端里运行指令               │
19  │               │ 可以编译代码、安装依赖、运行测试            │
20  ├───────────────┼─────────────────────────────────────────┤
21  │ Glob          │ "找文件"——按文件名模式搜索                 │
22  │               │ 比如找所有 .java 文件或所有 test*.js      │
23  ├───────────────┼─────────────────────────────────────────┤
24  │ Grep          │ "搜内容"——在文件内容中搜索关键词           │
25  │               │ 比如找所有包含"password"的代码行          │
26  ├───────────────┼─────────────────────────────────────────┤
27  │ WebFetch      │ "抓网页"——获取网页内容                    │
28  │               │ 可以读取在线文档、API 说明等               │
29  ├───────────────┼─────────────────────────────────────────┤
30  │ WebSearch     │ "搜网页"——搜索互联网                      │
31  │               │ 查找最新信息、技术方案等                   │
32  ├───────────────┼─────────────────────────────────────────┤
33  │ Task          │ "多任务"——同时处理多个独立工作             │
34  │               │ 比如同时搜索多个目录或处理多个文件          │
35  └───────────────┴─────────────────────────────────────────┘
36

工具是如何工作的?

你不需要手动调用这些工具——你只需要用自然语言说出你的需求,Claude Code 会自动选择合适的工具。

1    你说:"帮我把项目里所有的 TODO 注释找出来"
2                         │
3                         ▼
4    Claude Code 内部自动执行:
5    ┌──────────────────────────────────────┐
6    │ 1. 分析需求:"找 TODO 注释"          │
7    │ 2. 选择工具:用 Grep 工具搜索        │
8    │ 3. 执行:grep "TODO" 遍历所有文件     │
9    │ 4. 整理结果:把找到的 TODO 列给你看   │
10    │ 5. 回复:"找到了 12 个 TODO……"       │
11    └──────────────────────────────────────┘
12

5.4 权限控制 —— 安全的"门禁"

Claude Code 在执行某些操作前会征求你的同意,这是为了保护你的项目安全。

1权限级别说明
2═══════════════════════════════════════════════════════════
3
4  ┌─────────────────────────────────────────────────────────┐
5  │  操作类型            │  是否需要你确认  │  示例           │
6  ├──────────────────────┼─────────────────┼────────────────┤
7  │  读文件              │  不需要(自动)  │  "看看这个文件"  │
8  │  搜索内容            │  不需要(自动)  │  "搜一下 TODO"  │
9  │  写新文件            │  需要确认        │  "创建一个文件"  │
10  │  修改已有文件         │  需要确认        │  "修改这行代码"  │
11  │  执行命令            │  需要确认        │  "运行 npm test"│
12  │  访问外部网站         │  需要确认        │  "查看这个网页"  │
13  │  删除文件            │  需要确认        │  "删除这个文件"  │
14  └──────────────────────┴─────────────────┴────────────────┘
15
16  你可以选择:
17  • 允许(Allow)          —— 仅这次
18  • 总是允许(Always Allow)—— 同类型操作不再询问
19  • 拒绝(Deny)            —— 不允许执行
20

6. 基础操作:读、写、改、搜

现在你已经了解了基本概念,让我们动手实操吧!

6.1 读取文件 —— “帮我看看这个”

这是最基础的操作。你可以让 Claude Code 读取各种类型的文件。

实用场景一:查看代码文件

1场景:你刚接手一个项目,想了解某个文件做了什么
2
3你:帮我看看 src/main/java/com/example/UserController.java 这个文件,
4   解释一下每个方法是做什么的,用中文说明。
5
6Claude Code 会:
71. 自动使用 Read 工具读取文件
82. 分析代码结构
93. 用通俗的中文解释每个方法的作用
104. 可能还会指出潜在的问题或改进建议
11

实用场景二:分析图片内容

1场景:产品经理给了你一张 UI 设计图,让你实现
2
3你:看看这张设计图 design.png,告诉我这是一个什么样的页面布局。
4
5Claude Code 会:
61. 读取图片文件
72. 分析图片中的 UI 元素
83. 描述布局结构
94. 甚至可以帮你生成对应的 HTML/CSS 代码
10

6.2 搜索代码 —— “帮我找到那个”

当项目代码量很大时,手动翻找文件就像大海捞针。Claude Code 能帮你在几秒钟内找到你需要的内容。

实用场景一:搜索文件内容

1场景:你想找到所有调用了 getUserById 方法的地方
2
3你:帮我在整个项目中搜索所有调用 getUserById 的地方,
4   列出文件名和行号。
5
6Claude Code 会:
71. 自动使用 Grep 工具搜索
82. 返回所有匹配的行及其位置
93. 你可以点击行号直接跳转
10

实用场景二:按文件名查找

1场景:你记得有个文件名叫 UserService 但忘了在哪个目录
2
3你:帮我找到所有文件名包含 UserService 的 Java 文件。
4
5Claude Code 会:
61. 使用 Glob 工具按文件名模式匹配
72. 列出所有匹配的文件路径
8

6.3 修改代码 —— “帮我改一下”

这是 Claude Code 的杀手级功能——精确修改代码,不多不少。

代码修改示例:

1场景:你想给 UserService 类添加一个新方法
2
3你:在 src/main/java/com/example/UserService.java 中
4   添加一个 findByEmail 方法,参数是 String email,
5   返回 Optional<User>。
6
7Claude Code 会:
81. 读取 UserService.java 的内容
92. 分析类的结构
103. 在合适的位置插入新方法
114. 确保代码格式和项目风格一致
125. 展示修改后的结果让你确认
13

修改前后对比示意:

1// ========== 修改前 ==========
2public class UserService {
3
4    public Optional<User> findById(Long id) {
5        // 根据 ID 查找用户
6        return userRepository.findById(id);
7    }
8}
9
10// ========== 修改后 ==========
11public class UserService {
12
13    public Optional<User> findById(Long id) {
14        // 根据 ID 查找用户
15        return userRepository.findById(id);
16    }
17
18    // 【新增方法】根据邮箱地址查找用户
19    // @param email 用户的邮箱地址
20    // @return 包含用户的 Optional 对象,如果找不到则为空
21    public Optional<User> findByEmail(String email) {
22        // 调用 Repository 层的 findByEmail 方法查询数据库
23        return userRepository.findByEmail(email);
24    }
25}
26

6.4 执行命令 —— “帮我运行一下”

你不需要记住复杂的命令行指令,直接告诉 Claude Code 你想做什么就行。

1# 场景:你想编译一个 Java 项目
2
3# 传统方式(你需要记住命令):
4mvn clean compile -DskipTests
5
6# Claude Code 方式(说人话就行):
7> 帮我编译这个 Java 项目,跳过测试。
8
9# Claude Code 会自动执行:
10# mvn clean compile -DskipTests
11# 然后把编译结果翻译成你能看懂的中文告诉你
12

执行命令的完整流程:

1你说:"帮我看看这个 Spring Boot 项目能不能正常启动"
2                         │
3                         ▼
4┌─────────────────────────────────────────────────────────┐
5│  Claude Code 内部处理流程                                │
6│                                                         │
7│  1. 分析项目类型                                         │
8│     → 发现 pom.xml → 判定为 Maven 管理的 Spring Boot 项目 │
9│                                                         │
10│  2. 确定启动命令                                         │
11│     → mvn spring-boot:run                               │
12│                                                         │
13│  3. 请求你的确认                                         │
14│     → "我将执行 mvn spring-boot:run,是否允许?"          │
15│                                                         │
16│  4. 执行命令并捕获输出                                    │
17│     → 启动日志会显示在终端                               │
18│                                                         │
19│  5. 分析结果                                             │
20│     → 如果启动成功:告诉你端口号和访问地址                 │
21│     → 如果启动失败:帮你分析错误原因并修复                 │
22└─────────────────────────────────────────────────────────┘
23

7. 实战演练一:用 Claude Code 写一个网页

理论学完了,让我们动手做一个实际的东西!我们将从零开始,用 Claude Code 创建一个漂亮的个人主页。

7.1 项目准备

1# 1. 创建项目文件夹
2mkdir my-homepage
3cd my-homepage
4
5# 2. 启动 Claude Code
6claude
7

7.2 跟 Claude Code 对话开发

现在,把下面这些"对话"逐条输入给 Claude Code,看看会发生什么:

第一步:提出需求

1> 帮我创建一个个人主页,要求:
2  1. 只用一个 index.html 文件(把 CSS 和 JS 都写在里面)
3  2. 设计要简洁大方,使用现代的设计风格
4  3. 包含以下内容:
5     - 顶部导航栏:首页、关于我、技能、联系方式
6     - 主页横幅区:我的名字(张三)、一句话介绍
7     - 关于我区域:一段个人简介
8     - 技能展示区:用卡片展示我会的技能
9     - 联系方式区:邮箱、GitHub、微信
10     - 底部版权信息
11  4. 颜色方案用蓝色系
12  5. 代码中加上详细的中文注释,我是初学者
13

第二步:预览效果

1# Claude Code 写完后,帮我在浏览器里打开看看
2> 帮我在浏览器里打开这个 index.html 文件
3

第三步:修改优化

1> 我觉得背景色太深了,帮我改成浅蓝色
2> 导航栏的字体再大一些
3> 把技能卡片改成 3 列布局,现在太宽了
4

7.3 完整的代码示例(含详细注释)

下面就是 Claude Code 帮你生成的代码。注意看里面的注释——每一行关键代码都有解释:

1<!DOCTYPE html>
2<!-- 这行告诉浏览器:这是一个 HTML5 文档 -->
3<html lang="zh-CN">
4<!-- lang="zh-CN" 表示页面主要语言是简体中文 -->
5
6<head>
7    <!-- head 标签包含页面的"元信息"——用户看不到,但浏览器需要 -->
8    <meta charset="UTF-8">
9    <!-- 设置字符编码为 UTF-8,这样中文才能正常显示 -->
10
11    <meta name="viewport" content="width=device-width, initial-scale=1.0">
12    <!-- 让页面在手机上也能正常显示(响应式设计的基础) -->
13
14    <title>张三 - 个人主页</title>
15    <!-- 浏览器标签页上显示的标题 -->
16
17    <style>
18        /* ========== 全局样式 ========== */
19        /* * 是通配符,选中所有元素 */
20        * {
21            margin: 0;
22            /* 清除默认的外边距 */
23            padding: 0;
24            /* 清除默认的内边距 */
25            box-sizing: border-box;
26            /* 让宽高计算方式更直观 */
27        }
28
29        /* body 是页面主体,所有可见内容都在里面 */
30        body {
31            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
32            /* 设置字体,从前往后依次尝试 */
33            line-height: 1.6;
34            /* 行高 1.6 倍,让文字不拥挤 */
35            color: #333;
36            /* 文字颜色:深灰色(比纯黑柔和) */
37            background-color: #f0f4f8;
38            /* 背景色:浅蓝灰色 */
39        }
40
41        /* ========== 导航栏样式 ========== */
42        /* nav 是 HTML5 的语义化标签,表示导航区域 */
43        nav {
44            background-color: #1a56db;
45            /* 导航栏背景:深蓝色 */
46            padding: 16px 0;
47            /* 上下内边距 16px,左右 0 */
48            position: sticky;
49            /* 粘性定位:滚动时导航栏固定在顶部 */
50            top: 0;
51            /* 距离顶部 0px */
52            z-index: 100;
53            /* 层级最高,确保不被其他元素遮挡 */
54        }
55
56        /* 导航栏内部的容器,用于控制内容宽度 */
57        nav .container {
58            max-width: 1000px;
59            /* 最大宽度 1000px */
60            margin: 0 auto;
61            /* 上下 0,左右自动(居中) */
62            display: flex;
63            /* 使用弹性布局 */
64            justify-content: space-between;
65            /* 子元素两端对齐 */
66            align-items: center;
67            /* 子元素垂直居中 */
68        }
69
70        /* 网站 Logo/标题 */
71        nav .logo {
72            color: white;
73            /* 文字白色 */
74            font-size: 22px;
75            /* 字体大小 */
76            font-weight: bold;
77            /* 加粗 */
78        }
79
80        /* 导航链接列表 */
81        nav ul {
82            list-style: none;
83            /* 去掉列表的小圆点 */
84            display: flex;
85            /* 让列表项横向排列 */
86            gap: 24px;
87            /* 每项之间的间距 */
88        }
89
90        /* 导航链接样式 */
91        nav ul li a {
92            color: rgba(255, 255, 255, 0.85);
93            /* 半透明白色 */
94            text-decoration: none;
95            /* 去掉下划线 */
96            font-size: 15px;
97            transition: color 0.3s;
98            /* 颜色变化有 0.3 秒过渡动画 */
99        }
100
101        /* 鼠标悬停在导航链接上时的效果 */
102        nav ul li a:hover {
103            color: white;
104            /* 变为纯白色 */
105        }
106
107        /* ========== 横幅区样式 ========== */
108        .hero {
109            background: linear-gradient(135deg, #1a56db 0%, #4f8cf7 100%);
110            /* 渐变背景:从深蓝到浅蓝,135度角 */
111            color: white;
112            padding: 80px 0;
113            /* 上下 80px 的内边距,让横幅更高 */
114            text-align: center;
115            /* 文字居中 */
116        }
117
118        .hero h1 {
119            font-size: 40px;
120            /* 主标题大号字体 */
121            margin-bottom: 12px;
122        }
123
124        .hero p {
125            font-size: 18px;
126            opacity: 0.9;
127            /* 略微透明 */
128        }
129
130        /* ========== 通用容器和区块样式 ========== */
131        .container {
132            max-width: 1000px;
133            margin: 0 auto;
134            padding: 0 20px;
135            /* 左右保留 20px 安全距离 */
136        }
137
138        section {
139            padding: 60px 0;
140            /* 每个区块上下 60px 间距 */
141        }
142
143        section h2 {
144            text-align: center;
145            font-size: 28px;
146            margin-bottom: 36px;
147            color: #1a56db;
148        }
149
150        /* ========== 关于我区域 ========== */
151        .about p {
152            font-size: 16px;
153            text-align: center;
154            max-width: 680px;
155            margin: 0 auto;
156            /* 段落居中,最大宽度 680px,阅读更舒适 */
157        }
158
159        /* ========== 技能卡片区域 ========== */
160        .skills-grid {
161            display: grid;
162            /* 使用网格布局 */
163            grid-template-columns: repeat(3, 1fr);
164            /* 3 列,每列等宽 */
165            gap: 20px;
166            /* 卡片之间的间距 */
167        }
168
169        /* 单个技能卡片 */
170        .skill-card {
171            background: white;
172            /* 白色背景 */
173            padding: 28px;
174            border-radius: 10px;
175            /* 圆角 */
176            text-align: center;
177            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
178            /* 投影阴影:水平0 垂直2px 模糊10px 黑色8%透明度 */
179            transition: transform 0.3s;
180            /* 悬停动画 */
181        }
182
183        .skill-card:hover {
184            transform: translateY(-4px);
185            /* 鼠标悬停时向上移动 4px,有"浮起来"的感觉 */
186        }
187
188        .skill-card .icon {
189            font-size: 36px;
190            /* 图标(emoji)的尺寸 */
191            margin-bottom: 12px;
192        }
193
194        .skill-card h3 {
195            margin-bottom: 8px;
196            color: #1a56db;
197        }
198
199        /* ========== 联系方式区域 ========== */
200        .contact-info {
201            text-align: center;
202            font-size: 16px;
203        }
204
205        .contact-info p {
206            margin-bottom: 8px;
207        }
208
209        /* ========== 页脚样式 ========== */
210        footer {
211            background-color: #1a2938;
212            /* 深色背景 */
213            color: #9ca3af;
214            /* 灰色文字 */
215            text-align: center;
216            padding: 20px 0;
217            font-size: 14px;
218        }
219    </style>
220</head>
221
222<body>
223
224    <!-- ========== 导航栏 ========== -->
225    <nav>
226        <div class="container">
227            <!-- 左侧 Logo -->
228            <span class="logo">张三</span>
229            <!-- 右侧导航链接 -->
230            <ul>
231                <!-- href="#" 表示点击后跳转到当前页面的指定位置 -->
232                <li><a href="#home">首页</a></li>
233                <li><a href="#about">关于我</a></li>
234                <li><a href="#skills">技能</a></li>
235                <li><a href="#contact">联系方式</a></li>
236            </ul>
237        </div>
238    </nav>
239
240    <!-- ========== 主页横幅 ========== -->
241    <section class="hero" id="home">
242        <h1>张三</h1>
243        <p>热爱技术的全栈开发者 | 终身学习者 | 开源爱好者</p>
244    </section>
245
246    <!-- ========== 关于我 ========== -->
247    <section class="about" id="about">
248        <div class="container">
249            <h2>关于我</h2>
250            <p>
251                你好!我是张三,一名拥有 3 年经验的全栈开发者。
252                我热爱用代码创造有价值的软件产品,喜欢学习新技术。
253                工作之余,我活跃在 GitHub 开源社区,参与过多个知名项目的贡献。
254                我相信技术的力量可以让世界变得更好。
255            </p>
256        </div>
257    </section>
258
259    <!-- ========== 技能展示 ========== -->
260    <section id="skills">
261        <div class="container">
262            <h2>我的技能</h2>
263            <div class="skills-grid">
264                <!-- 技能卡片 1 -->
265                <div class="skill-card">
266                    <div class="icon">☕</div>
267                    <h3>Java</h3>
268                    <p>精通 Java 后端开发,Spring Boot 框架</p>
269                </div>
270                <!-- 技能卡片 2 -->
271                <div class="skill-card">
272                    <div class="icon">🐍</div>
273                    <h3>Python</h3>
274                    <p>熟练使用 Python 进行数据处理和 Web 开发</p>
275                </div>
276                <!-- 技能卡片 3 -->
277                <div class="skill-card">
278                    <div class="icon">🌐</div>
279                    <h3>前端开发</h3>
280                    <p>掌握 HTML、CSS、JavaScript 和 Vue.js</p>
281                </div>
282            </div>
283        </div>
284    </section>
285
286    <!-- ========== 联系方式 ========== -->
287    <section id="contact">
288        <div class="container">
289            <h2>联系我</h2>
290            <div class="contact-info">
291                <p>📧 邮箱:zhangsan@example.com</p>
292                <p>🐙 GitHub:github.com/zhangsan</p>
293                <p>💬 微信:zhangsan_dev</p>
294            </div>
295        </div>
296    </section>
297
298    <!-- ========== 页脚 ========== -->
299    <footer>
300        <div class="container">
301            <p>&copy; 2026 张三 | 保留所有权利</p>
302            <!-- &copy; 是版权符号 © -->
303        </div>
304    </footer>
305
306</body>
307</html>
308

7.4 从这个练习中学到了什么

通过这个小项目,你应该已经体验到了:

  1. 你只需描述"要什么",不需要写具体代码 —— Claude Code 帮你实现
  2. 你可以随时修改 —— 跟 AI 说"这里改一下"就行
  3. 所有的代码都有注释 —— AI 默认会帮你写好注释
  4. 修改是迭代的 —— 先做一个版本,然后逐步优化

8. 实战演练二:管理一个完整项目

上一章我们写了一个简单的网页。这一章,让我们来管理一个真正的多文件项目。

8.1 项目初始化 —— CLAUDE.md 文件

CLAUDE.md 是一个非常重要的文件。它就像是给 Claude Code 的"项目说明书"。

比喻:如果 Claude Code 是一个新加入团队的员工,CLAUDE.md 就是你给他的《新员工手册》——告诉他项目是做什么的、用什么技术栈、有什么规范。

如何创建 CLAUDE.md:

1# 在项目根目录下执行
2claude
3> /init
4

Claude Code 会自动扫描你的项目,生成一份 CLAUDE.md 文件。你也可以手动编写它。

一个 OCP 项目的 CLAUDE.md 示例:

1# OCP 电商平台项目
2
3## 项目简介
4这是一个基于 Spring Boot 的在线商城系统,提供商品浏览、购物车、下单等功能。
5
6## 技术栈
7- 后端框架:Spring Boot 2.7.x
8- 构建工具:Maven
9- 数据库:MySQL 8.0 + MyBatis-Plus
10- 缓存:Redis
11- Java 版本:JDK 11
12
13## 项目结构
14

src/
├── main/
│ ├── java/com/example/ocp/
│ │ ├── controller/ # 控制器层 - 处理 HTTP 请求
│ │ ├── service/ # 服务层 - 业务逻辑
│ │ ├── mapper/ # 数据访问层 - 操作数据库
│ │ ├── entity/ # 实体类 - 数据库表对应
│ │ └── config/ # 配置类
│ └── resources/
│ ├── application.yml # 主配置文件
│ └── mapper/ # MyBatis XML 映射文件
└── test/ # 测试代码

1## 编码规范
2- 类名使用大驼峰命名法,如 UserController
3- 方法名和变量名使用小驼峰命名法,如 findUserById
4- 所有 public 方法必须有 Javadoc 注释
5- Controller 层只做参数校验和转发,不写业务逻辑
6- 使用 Lombok 简化 getter/setter
7
8## 运行方式
9​```bash
10# 编译
11mvn clean compile
12
13# 运行测试
14mvn test
15
16# 启动项目
17mvn spring-boot:run
18# 启动后访问 http://localhost:8080
19
1### 8.2 项目中 Claude Code 的日常工作流
2
3有了 CLAUDE.md 后,Claude Code 就"认识"你的项目了。下面是日常工作中最常用的几种交互模式:
4
5

Claude Code 项目工作流程图
═══════════════════════════════════════════════════════════

收到新需求
│
▼
┌──────────────────┐
│ Claude Code 读取 │ ← 先理解需求,再看看现有代码
│ CLAUDE.md + │
│ 相关代码文件 │
└──────┬───────────┘
│
▼
┌──────────────────┐
│ Claude Code 制定 │ ← 告诉你它打算怎么做
│ 实现方案 │
└──────┬───────────┘
│
▼
┌──────────────────┐
│ 你确认方案? │ ← 你可以要求修改方案
└──┬───────────┬───┘
│ │
同意 不同意 → 返回修改方案
│
▼
┌──────────────────┐
│ Claude Code 编写 │ ← 创建/修改代码文件
│ 代码 │
└──────┬───────────┘
│
▼
┌──────────────────┐
│ Claude Code 运行 │ ← 编译、测试、验证
│ 测试 │
└──────┬───────────┘
│
▼
测试通过?
│ │
是 否 → Claude Code 分析错误 → 自动修复 → 重新测试
│
▼
┌──────────────────┐
│ 完成! │
│ Claude Code 总结 │
│ 做了什么修改 │
└──────────────────┘

1### 8.3 实际工作场景演示
2
3让我们模拟几个真实的开发场景:
4
5**场景一:添加新功能**
6
7

你:根据 CLAUDE.md 中的项目规范,请帮我实现一个"用户注册"功能。
要求:

1  1. 在 UserController 中添加 POST /api/users/register 接口
2  2. 在 UserService 中添加 register 方法
3  3. 注册时校验邮箱格式和密码长度(至少6位)
4  4. 密码需要用 BCrypt 加密后存储
5  5. 返回格式统一使用 Result 类包装
6

Claude Code 会:

  1. 读取 CLAUDE.md 了解项目结构和规范
  2. 读取现有的 UserController 和 UserService 代码
  3. 读取 Result 类的定义
  4. 在正确的位置添加代码
  5. 确保代码风格和现有代码一致
  6. 帮你添加必要的依赖(如 spring-security-crypto 用于 BCrypt)
1**场景二:修复 Bug**
2
3

你:启动项目时出现以下错误,帮我分析和修复:
“Error creating bean with name ‘userMapper’:
Failed to introspect bean class
[com.example.ocp.mapper.UserMapper]”

Claude Code 会:

  1. 读取 UserMapper 接口的代码
  2. 读取相关的 XML 映射文件
  3. 检查 application.yml 中的 MyBatis 配置
  4. 分析错误原因
  5. 提出修复方案并执行
1**场景三:代码重构**
2
3

你:UserService 里的代码太长了,有 500 多行。
帮我把里面的业务逻辑拆分成多个小的 Service 类,
但要确保不改变现有的功能。

Claude Code 会:

  1. 分析 UserService 中的所有方法
  2. 按功能分组(如用户管理、权限管理、资料管理)
  3. 创建新的 Service 类
  4. 把方法迁移到对应的新类中
  5. 更新所有引用了旧方法的地方
  6. 运行测试确保重构没有破坏功能
1### 8.4 Git 版本管理
2
3Claude Code 可以帮助你管理代码版本(使用 Git),即使你完全不懂 Git 命令:
4
5

你:帮我把今天的修改提交到 Git,提交信息写"新增用户注册功能"

Claude Code 会:

  1. git add . (添加所有修改的文件到暂存区)
  2. git commit -m “…” (创建一次提交,并附上说明信息)

你:帮我把代码推送到远程仓库

Claude Code 会:

  1. git push (上传到 GitHub / GitLab 等远程仓库)
1---
2
3## 9. 高级功能:让 Claude Code 更强大
4
5当你掌握了基础功能后,这些高级功能可以帮助你进一步提升效率。
6
7### 9.1 MCP(模型上下文协议)—— 连接外部世界
8
9**概念解释:**
10
11MCP 的全称是 Model Context Protocol(模型上下文协议)。用人话来说——**它是让 Claude Code 能连接各种外部工具和服务的"万能插头"**。
12
13> **比喻**:你的手机只有一个充电口,但是通过不同的转接头,你可以连 U 盘、显示器、键盘…… MCP 就是 AI 世界的那个"万能转接头"。
14
15

没有 MCP 的 Claude Code:
┌──────────┐ ┌──────────┐
│ Claude │ ───→ │ 你的本地 │ ← 只能操作本地的文件
│ Code │ │ 项目文件 │
└──────────┘ └──────────┘

有了 MCP 的 Claude Code:
┌──────────┐ ┌──────────┐
│ Claude │ ───→ │ 本地文件 │
│ Code │ └──────────┘
│ │ ┌──────────┐
│ │ ───→ │ GitHub │ ← 可以操作 GitHub 仓库
│ │ └──────────┘
│ │ ┌──────────┐
│ │ ───→ │ 数据库 │ ← 可以查询数据库
│ │ └──────────┘
│ │ ┌──────────┐
│ │ ───→ │ Slack │ ← 可以发送消息
└──────────┘ └──────────┘

1**MCP 的常见应用:**
2
3| MCP 服务 | 能让 Claude Code 做什么 |
4|---------|------------------------|
5| GitHub MCP | 创建 Issue、提交 PR、查看代码变更 |
6| 数据库 MCP | 直接查询数据库、执行 SQL |
7| Jira MCP | 查看/创建/更新任务 |
8| Slack MCP | 发送消息到频道 |
9| 文件系统 MCP | 访问远程服务器上的文件 |
10
11### 9.2 Skills(技能)—— 给 AI 安装"专业插件"
12
13**概念解释:**
14
15Skills 就像给 Claude Code 安装的各种"专业 App"。比如说,默认的 Claude Code 什么都能做,但如果你要处理 Excel 文件,装了 "xlsx" 这个 Skill 后,它会变得更专业。
16
17

Skills 的作用
═══════════════════════════════════════════════════════════

默认 Claude Code 安装了专用 Skills 的 Claude Code
┌─────────────────┐ ┌─────────────────────────────┐
│ 编程 ★★★★☆ │ │ 编程 ★★★★☆ │
│ 写文档 ★★★☆☆ │ │ 写文档 ★★★★★ │
│ Excel ★★☆☆☆ │ │ Excel 处理 +xlsx ★★★★★ │
│ PPT ★★☆☆☆ │ │ PPT 制作 +pptx ★★★★★ │
│ PDF ★★☆☆☆ │ │ PDF 处理 +pdf ★★★★★ │
│ 前端设计 ★★★☆☆ │ │ 前端设计 +skill ★★★★★ │
└─────────────────┘ └─────────────────────────────┘

1**如何在 Claude Code 中使用 Skills:**
2
3Skills 的配置存储在 `.claude/settings.json` 文件中。你可以在这个文件中声明要启用的 Skills:
4
5​```json
6{
7  "skills": [
8    "xlsx",     // Excel 处理技能
9    "docx",     // Word 处理技能
10    "pptx",     // PowerPoint 处理技能
11    "pdf"       // PDF 处理技能
12  ]
13}
14

这些内置 Skills 开箱即用,不需要额外安装。当你的任务涉及相关文件类型时,Claude Code 会自动激活对应的技能。

9.3 Hooks(钩子)—— 自动化工作流

概念解释:

Hooks(钩子)让你可以在 Claude Code 执行某些操作之前或之后自动触发自定义行为。比如:

  • “每次 AI 修改代码后,自动运行测试”
  • “每次对话开始时,自动加载项目信息”
  • “每次 AI 准备删除文件时,弹出一个更醒目的警告”

比喻:Hooks 就像你给 AI 助理设置的"自动提醒"——“出门前别忘了关窗”、“睡觉前记得锁门”。

一个实用的 Hook 示例:

1// 在 .claude/settings.json 中配置
2{
3  "hooks": {
4    // PostToolUse:在 AI 使用某个工具后触发
5    "PostToolUse": [
6      {
7        // 匹配器:当 AI 修改了 Java 文件时触发
8        "matcher": "Edit",
9        // 钩子:自动格式化代码
10        "hooks": [
11          {
12            "type": "command",
13            // 执行这个命令来格式化刚修改的 Java 代码
14            "command": "mvn spotless:apply"
15          }
16        ]
17      }
18    ]
19  }
20}
21

常用 Hook 场景:

1场景对照表
2═══════════════════════════════════════════════════════════
3
4  触发时机          │  可以做什么
5  ──────────────────┼─────────────────────────────────────
6  对话开始时         │  加载项目信息、检查环境
7  工具使用前         │  额外安全检查、记录日志
8  工具使用后         │  自动格式化、运行测试、记录变更
9  AI 回复后          │  发送通知、触发 CI/CD
10  对话结束时         │  清理临时文件、生成工作报告
11  文件被修改前       │  自动备份原文件
12

9.4 多模型切换 —— 选择适合的"大脑"

Claude Code 支持多种 AI 模型,它们在能力、速度、价格上有不同的侧重:

1模型选择指南
2═══════════════════════════════════════════════════════════
3
4  ┌─────────────────────────────────────────────────────────┐
5  │  模型          │  适合场景           │  特点             │
6  ├────────────────┼────────────────────┼──────────────────┤
7  │  Opus 4.8      │  最复杂的任务        │  最聪明、最贵     │
8  │  (旗舰模型)    │  大型项目重构        │  适合"深度思考"   │
9  │                │  复杂架构设计        │                  │
10  ├────────────────┼────────────────────┼──────────────────┤
11  │  Sonnet 4.6    │  日常开发            │  智能与速度的平衡  │
12  │  (推荐日常用)  │  写代码、修 Bug      │  性价比最高       │
13  │                │  中小型项目          │                  │
14  ├────────────────┼────────────────────┼──────────────────┤
15  │  Haiku 4.5     │  简单任务            │  最快、最便宜     │
16  │  (轻量模型)    │  代码分类、格式化     │  适合高频简单操作  │
17  │                │  简单问答            │                  │
18  └────────────────┴────────────────────┴──────────────────┘
19
20  切换命令:
21  /model opus      → 切换到 Opus(处理复杂任务时)
22  /model sonnet    → 切换到 Sonnet(日常开发,默认推荐)
23  /model haiku     → 切换到 Haiku(执行简单重复任务时)
24

9.5 Workflows(工作流)—— 多 AI 并行工作

概念解释:

当你有一个大任务时,可以把它拆分成多个小任务,让多个 AI 同时工作——就像把一个大项目分配给多个员工同时做。

1单个 AI 处理大项目:
2┌────────────────────────────────────────────────────┐
3│  AI 一个人干活                                       │
4│  任务1 → 任务2 → 任务3 → 任务4 → 任务5              │
5│  耗时:所有任务的时间之和                              │
6└────────────────────────────────────────────────────┘
7
8Workflow 多 AI 并行:
9┌────────────────────────────────────────────────────┐
10│  AI-1 → 任务1                                      │
11│  AI-2 → 任务2     ← 所有 AI 同时工作                 │
12│  AI-3 → 任务3                                      │
13│  AI-4 → 任务4                                      │
14│  AI-5 → 任务5                                      │
15│  耗时:最慢的一个任务的时间                            │
16└────────────────────────────────────────────────────┘
17

什么时候用 Workflow:

  • 需要审查大量代码时(每个 AI 审查一部分)
  • 需要搜索多个不同方向时
  • 需要同时处理多个独立文件时
  • 需要对同一个问题进行多角度分析时

注意:Workflow 是一个高级功能,涉及复杂的编排逻辑。作为入门用户,你不需要手动创建 Workflow。当你的任务确实需要并行处理时,Claude Code 会自动建议或执行并行策略。


10. OCP 项目实战指南

这一章是本教程的"终极挑战"——用 Claude Code 从零开始完成一个 OCP(Online Commerce Platform,在线商务平台)项目。

10.1 OCP 项目是什么?

OCP 是一个典型的企业级 Java Web 项目。它包含了现代 Web 应用的大部分要素:

1OCP 项目架构概览
2═══════════════════════════════════════════════════════════
3
4  ┌─────────────────────────────────────────────────────────┐
5  │                    浏览器(前端)                         │
6  │              HTML + CSS + JavaScript                    │
7  └────────────────────────┬────────────────────────────────┘
8                           │ HTTP 请求
9                           ▼
10  ┌─────────────────────────────────────────────────────────┐
11  │                 Spring Boot 后端                         │
12  │  ┌──────────┐  ┌──────────┐  ┌──────────┐             │
13  │  │Controller│→│ Service  │→│  Mapper  │              │
14  │  │ 接收请求  │  │ 处理业务  │  │ 访问数据库│              │
15  │  └──────────┘  └──────────┘  └────┬─────┘             │
16  └────────────────────────────────────┼────────────────────┘
17                                       │
18                           ┌───────────┴───────────┐
19                           ▼                       ▼
20                    ┌─────────────┐         ┌─────────────┐
21                    │   MySQL     │         │   Redis     │
22                    │  数据库      │         │  缓存       │
23                    │  存数据      │         │  加速访问    │
24                    └─────────────┘         └─────────────┘
25

10.2 项目准备:让 Claude Code 理解 OCP

第一步:创建项目骨架

1# 在 Claude Code 中输入以下内容:
2
3> 帮我创建一个标准的 Spring Boot 项目骨架,使用 Maven 管理。
4  项目名为 ocp-platform,包名为 com.example.ocp。
5  要求:
6  1. Java 版本使用 JDK 11
7  2. Spring Boot 版本使用 2.7.x
8  3. 包含以下依赖:
9     - Spring Web(用于开发 REST API)
10     - MyBatis-Plus(简化数据库操作)
11     - MySQL Connector(连接 MySQL 数据库)
12     - Lombok(简化 Java 代码)
13     - Spring Boot Validation(参数校验)
14  4. 创建标准的项目目录结构
15  5. 创建基础的配置文件 application.yml
16  6. 创建基础的工具类(如统一的响应格式 Result 类)
17

Claude Code 会帮你创建如下目录结构:

1ocp-platform/
2├── pom.xml                          # Maven 项目配置文件
3├── CLAUDE.md                        # Claude Code 项目说明书
4├── src/
5│   ├── main/
6│   │   ├── java/com/example/ocp/
7│   │   │   ├── OcpApplication.java  # Spring Boot 启动类
8│   │   │   ├── controller/          # 控制器包
9│   │   │   ├── service/             # 服务层包
10│   │   │   │   └── impl/            # 服务实现类
11│   │   │   ├── mapper/              # 数据访问层
12│   │   │   ├── entity/              # 数据库实体类
13│   │   │   ├── dto/                 # 数据传输对象
14│   │   │   ├── common/              # 公共类
15│   │   │   │   └── Result.java      # 统一响应格式
16│   │   │   └── config/              # 配置类
17│   │   └── resources/
18│   │       ├── application.yml      # 主配置文件
19│   │       └── mapper/              # MyBatis XML 映射
20│   └── test/
21│       └── java/com/example/ocp/    # 测试代码
22

第二步:创建 CLAUDE.md

1> /init
2

Claude Code 自动扫描项目后生成的 CLAUDE.md 会包含所有项目信息。你可以在此基础上补充一些额外的规范:

1## OCP 项目开发规范补充
2
3### API 设计规范
4- 所有 API 路径以 /api 开头
5- 使用 RESTful 风格:
6  - GET /api/users —— 查询用户列表
7  - GET /api/users/{id} —— 查询单个用户
8  - POST /api/users —— 创建用户
9  - PUT /api/users/{id} —— 更新用户
10  - DELETE /api/users/{id} —— 删除用户
11
12### 数据库规范
13- 表名使用小写字母和下划线,如 user_order
14- 字段名使用小写字母和下划线,如 create_time
15- 每张表必须有 id(主键)、create_time、update_time 字段
16
17### 测试规范
18- Service 层必须写单元测试
19- Controller 层写集成测试
20- 测试覆盖率目标:Service 层 ≥ 80%
21

10.3 分模块实现 OCP 项目

OCP 项目可以拆分为以下几个模块,逐一实现。每个模块你只需要用自然语言描述需求:

模块一:用户管理

1> 帮我实现用户管理模块,包括以下功能:
2  1. 用户注册(账号 + 密码 + 邮箱)
3  2. 用户登录(返回 JWT Token)
4  3. 根据 ID 查询用户信息
5  4. 更新用户信息(昵称、头像等)
6  5. 密码加密存储(使用 BCrypt)
7  6. 注册时校验邮箱格式和密码强度
8
9  请在 Controller、Service、Mapper 层分别实现。
10  所有方法都必须有详细的中文注释。
11  为 Service 层编写单元测试。
12

模块二:商品管理

1> 帮我实现商品管理模块:
2  1. 商品实体包含:商品名、描述、价格、库存、分类、图片URL
3  2. 支持商品列表的分页查询(可按分类筛选、按价格排序)
4  3. 支持商品详情查询
5  4. 支持商品搜索(根据名称模糊搜索)
6  5. 管理员可以新增、修改、下架商品
7
8  同样实现 Controller、Service、Mapper 三层。
9  包含详细注释和单元测试。
10

模块三:购物车

1> 帮我实现购物车模块:
2  1. 用户可以把商品加入购物车(指定数量)
3  2. 用户可以修改购物车中商品的数量
4  3. 用户可以从购物车中删除商品
5  4. 用户可以查看自己的购物车列表
6  5. 购物车数据存储在 Redis 中
7  6. 同一个商品重复添加时,数量累加
8
9  需要配置 Redis 连接,实现 Redis 操作的工具类。
10

模块四:订单管理

1> 帮我实现订单模块:
2  1. 用户可以从购物车生成订单
3  2. 订单包含:订单号、用户ID、商品列表、总金额、状态
4  3. 订单状态流转:待支付 → 已支付 → 已发货 → 已完成 → 已取消
5  4. 用户可以查看自己的订单列表
6  5. 用户可以取消待支付的订单
7  6. 生成订单时自动扣减库存(使用数据库事务确保数据一致性)
8  7. 使用 @Transactional 注解管理事务
9

模块五:统一异常处理

1> 帮我实现全局异常处理:
2  1. 创建自定义业务异常类 BusinessException
3  2. 使用 @ControllerAdvice 实现全局异常拦截
4  3. 不同的异常类型返回对应的 HTTP 状态码和错误信息
5  4. 常见异常的处理:
6     - 参数校验失败 → 400
7     - 资源不存在 → 404
8     - 业务逻辑错误 → 422
9     - 服务器内部错误 → 500
10

10.4 调试与测试

开发过程中不可避免会遇到 Bug。下面是处理 Bug 的标准流程:

1Bug 处理流程图
2═══════════════════════════════════════════════════════════
3
4  发现 Bug(启动报错 / 功能不正常 / 测试失败)
5       │
6       ▼
7┌──────────────────┐
8│ 把错误信息完整地  │  ← 复制粘贴,不要遗漏任何信息
9│ 复制给 Claude Code │
10└──────┬───────────┘
11       │
12       ▼
13┌──────────────────┐
14│ Claude Code 分析  │
15│ 错误原因          │
16└──────┬───────────┘
17       │
18       ▼
19┌──────────────────┐
20│ Claude Code 提出  │
21│ 修复方案          │
22└──────┬───────────┘
23       │
24       ▼
25┌──────────────────┐
26│ 你确认 → 修复     │
27└──────┬───────────┘
28       │
29       ▼
30┌──────────────────┐
31│ Claude Code 运行  │
32│ 测试验证修复       │
33└──────┬───────────┘
34       │
35       ▼
36  测试通过?
37   │    │
38  是   否 → 返回分析步骤,重新调试
39   │
40   ▼
41  Bug 已修复!
42

10.5 部署项目

当你完成了所有模块的开发和测试后,最后一步是部署:

1> 帮我部署这个 OCP 项目。我的服务器环境是:
2  - 操作系统:Linux (Ubuntu 20.04)
3  - 已安装 Docker 和 Docker Compose
4  - 数据库:MySQL 8.0
5  - 需要配置 Nginx 反向代理
6
7  请帮我:
8  1. 创建 Dockerfile(把项目打包成 Docker 镜像)
9  2. 创建 docker-compose.yml(编排 MySQL + Redis + 应用)
10  3. 创建 Nginx 配置文件
11  4. 生成部署脚本 deploy.sh
12  5. 写出详细的部署步骤文档 DEPLOY.md
13

Claude Code 会生成所有需要的文件,包括:

1# Dockerfile —— 把 Java 应用打包成容器镜像
2# 使用官方的 OpenJDK 11 镜像作为基础
3FROM openjdk:11-jre-slim
4
5# 设置容器内的工作目录
6WORKDIR /app
7
8# 把编译好的 jar 包复制到容器中
9COPY target/ocp-platform-1.0.0.jar app.jar
10
11# 暴露 8080 端口(Spring Boot 默认端口)
12EXPOSE 8080
13
14# 容器启动时执行的命令
15ENTRYPOINT ["java", "-jar", "app.jar"]
16

10.6 OCP 项目完整对话流程总结

1OCP 项目从零到部署的完整对话流程
2═══════════════════════════════════════════════════════════
3
4  第 1 步:创建项目骨架
5  "帮我创建一个标准的 Spring Boot 项目骨架……"
6                    │
7                    ▼
8  第 2 步:初始化 CLAUDE.md
9  /init(让 Claude Code 理解你的项目)
10                    │
11                    ▼
12  第 3 步:逐个实现功能模块
13  ┌─────────────────────────────────────┐
14  │ 用户模块 → 商品模块 → 购物车模块       │
15  │ → 订单模块 → 异常处理 → 日志配置       │
16  └─────────────────────────────────────┘
17  每完成一个模块,运行测试验证
18                    │
19                    ▼
20  第 4 步:集成测试
21  "帮我写一个端到端的集成测试……"
22                    │
23                    ▼
24  第 5 步:部署上线
25  "帮我创建 Dockerfile 和部署脚本……"
26                    │
27                    ▼
28  ✅ 项目完成!
29

11. 常见问题与排错指南

11.1 安装问题

问题原因解决方法
npm: command not found没有安装 Node.js去 nodejs.org 下载安装
claude: command not foundClaude Code 没有安装成功重新执行 npm install -g @anthropic-ai/claude-code
安装过程报网络错误网络问题使用国内镜像:npm install --registry=https://registry.npmmirror.com
permission denied权限不足Mac/Linux 加 sudo:sudo npm install -g ...

11.2 使用问题

问题原因解决方法
AI 回复说没有权限读文件文件在工作区之外用 /add-dir 添加目录
AI 好像"忘记"之前说过的内容上下文太长了使用 /compact 压缩上下文
代码修改后跟预期不一样需求描述不够具体重新描述要求,给出更具体的示例
执行命令时报错环境配置问题把完整错误信息发给 Claude Code

11.3 Token 和费用问题

问题解决方法
费用太高切换到 Sonnet 模型:/model sonnet
Token 消耗太快使用 /compact 定期压缩上下文
想控制预算每次大任务前用 /cost 查看当前花费

11.4 新手最容易犯的 5 个错误

  1. ❌ 需求描述太模糊
    • 错误:“帮我做一个网站”
    • 正确:“帮我做一个电商网站的商品列表页,要展示商品图片、名称、价格,支持按分类筛选”
  2. ❌ 不提供错误信息
    • 错误:“程序跑不起来了”
    • 正确:“运行时报这个错误:[粘贴完整错误信息],我的项目是 Spring Boot 2.7,Java 11”
  3. ❌ 一次提太多需求
    • 错误:一口气说出 10 个功能需求
    • 正确:一次说 1-2 个功能,完成后再提下一个
  4. ❌ 不给上下文
    • 错误:在一个新项目中直接说"修改 UserService"
    • 正确:先说"帮我看看这个项目",等 AI 理解了再提具体修改
  5. ❌ 不让 AI 运行测试
    • 错误:改完代码就认为完成了
    • 正确:每次修改后说"改完后帮我运行一下相关测试"

12. 总结与下一步

12.1 你学到了什么

恭喜你完成了 Claude Code 入门教程!让我们回顾一下你学到了什么:

1学习成果检查清单
2═══════════════════════════════════════════════════════════
3
4  □ 理解 Claude Code 是什么,能做什么
5  □ 独立完成 Claude Code 的安装和配置
6  □ 掌握基础的对话和指令技巧
7  □ 理解上下文(Context)、Token、工具(Tools)等核心概念
8  □ 能够用自然语言让 AI 读取、搜索、修改代码文件
9  □ 理解 CLAUDE.md 文件的作用
10  □ 能够管理一个完整的多文件项目
11  □ 了解 MCP、Skills、Hooks 等高级功能
12  □ 能够从零开始完成一个 OCP 项目的开发
13  □ 知道遇到问题该如何排查
14

12.2 Claude Code 的工作哲学

在使用 Claude Code 的过程中,请记住这 5 条"黄金法则":

1Claude Code 五条黄金法则
2════════════════════════════════════════════════════════════
3
4  1️⃣  你是导演,AI 是演员
5      你负责告诉 AI "要演什么",AI 负责具体的"表演"
6      你不需要知道怎么写代码,但需要清楚地描述你想要的结果
7
8  2️⃣  越具体,结果越好
9      "帮我写个用户登录功能" 不如
10      "帮我写一个用户登录接口,接收用户名和密码,
11       验证成功后返回 JWT Token,失败返回错误信息"
12
13  3️⃣  迭代比一次完美更重要
14      先让 AI 做出一个能用的版本,然后再逐步优化
15      不要试图第一次就把所有细节都说清楚
16
17  4️⃣  善用 AI 的眼睛
18      让 AI 帮你读代码、搜代码、分析代码
19      你只需要做决策
20
21  5️⃣  保持"人在回路中"
22      AI 是强大的工具,但最终的决定权在你手里
23      审查 AI 的修改,理解 AI 的逻辑,做出自己的判断
24

12.3 推荐的学习路径

1进阶学习路径
2═══════════════════════════════════════════════════════════
3
4  初学者 ──→ 本教程 ──→ 用 Claude Code 做一个小项目
5                            │
6                            ▼
7                    阅读 Claude Code 官方文档
8                    了解更高级的配置选项
9                            │
10                            ▼
11                    学习 MCP 协议
12                    连接 GitHub、数据库等外部服务
13                            │
14                            ▼
15                    编写自定义 Skills
16                    让 Claude Code 更适配你的工作流
17                            │
18                            ▼
19                    配置 Hooks
20                    实现自动化工作流
21                            │
22                            ▼
23                    掌握 Workflow
24                    实现多 AI 并行处理复杂任务
25

12.4 最后的寄语

技术世界变化很快,但有一条不变:工具是为人类服务的。

Claude Code 不是为了取代你,而是为了放大你的能力。它就像一个不知疲倦的伙伴,帮你在编程的海洋中航行。

记住:

  • 不要害怕犯错 —— 有 Claude Code 在身边,错误都是学习机会
  • 保持好奇心 —— 多问"为什么",让 AI 给你解释
  • 享受创造的乐趣 —— 编程的本质是用代码创造价值

“你不是在学编程,你是在学习如何指挥一个超级智能的编程团队。”

—— 一位 Claude Code 用户的感悟


本教程版本:v1.0 | 最后更新:2026 年 6 月
适用 Claude Code 版本:v2.0+


《Claude Codde 入门教程—— 从零到独立完成项目》 是转载文章,点击查看原文。


相关推荐


HDFS 频繁进入安全模式的原因及解决方案
数据小羊2026/6/8

你是否遇到过 HDFS 集群时不时进入安全模式(Safe Mode)的问题?这不仅会影响数据的读写,还可能导致整个 Hadoop 生态系统的应用出现异常。本文将深入分析 HDFS 安全模式的触发机制,以及如何有效解决这个棘手问题。 什么是 HDFS 安全模式? HDFS 安全模式是一种保护机制,在这种状态下,文件系统只允许读操作,不允许任何修改文件系统的操作。通常在 NameNode 启动时会进入安全模式,以确保文件系统的元数据和数据块信息的一致性。 为什么 HDFS 会频繁进入安全模


【Redis】网络高并发模型
步十人2026/6/1

目录 一、 核心场景:百万并发下的秒杀大考1. 传统多线程服务器会怎么样?2. Redis 凭什么能抗住?第一步:建立连接(非阻塞 + epoll)第二步:读取请求(非阻塞 I/O)第三步:执行命令(单线程串行,纯内存操作)第四步:返回结果(非阻塞写) 二、 深度对比:多线程阻塞 vs 单线程非阻塞三、 演进:Redis 6.0+ 的多线程 I/O 革命四、 微观视角:一个秒杀请求的时间线拆解五、 致命死穴:如果某个命令很慢怎么办?本篇总结 一、 核心场景:百万并发


你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
kyriewen2026/5/11

你改了一行代码,手动点了一遍页面,觉得没问题就上线了。结果用户反馈“登录按钮点不动了”。你心里咯噔:我根本没改登录相关代码啊。今天我们来给你的代码装一把“智能门锁”——单元测试。用 Jest + Testing Library,把常见 Bug 锁在门外,让你改代码时不再心惊胆战。 前言 很多前端对测试的态度是:项目那么赶,哪有时间写测试?结果修 Bug 的时间比写代码还多。你花 20 分钟写的测试,可能帮你省掉 2 小时的通宵排查。 测试不是“额外工作”,而是安全网。当你需要重构、升级依赖、添


Git Worktree: AI 编程 Agent 并行开发的秘密武器
陈佬昔编程人生2026/5/1

你在 AI 编程工具里开发一个新功能,突然产品过来让修复一个紧急 bug。于是你开了两个 AI Agent: Agent A:在 feature/new-dashboard 上写新功能 Agent B:在 fix/login-bug 上修一个登录 Bug 你心想:"两个 Agent 同时干活,效率翻倍。" 但三分钟后你回到编辑器,看到的是一幅这样的画面: app/ ├── dashboard.tsx ← Agent A 刚改了这里,但没写完 ├── login.tsx ←


我把 Hermes 里的模型几乎测了一遍,得出一个很扎心的结论:越贵的,往往越强
孟健AI编程2026/4/23

大家好,我是孟健。 这几周我在 Hermes 里来回切了很多模型。真跑下来,我越来越确认一件事:模型的水平,很多时候早就写在价格里了。把性价比榜倒过来看,八九不离十就是质量排行。 这不是 benchmark 结论。 是我把 Hermes 当生产底座,拿它去跑多 Agent、长流程、代码任务、资料整理之后,交出来的体感排序。 01 先给排序:贵,很多时候不是乱贵 先看这张图。 图里是按价格排的:便宜的在前,贵的在后。 但我这轮实际测下来,如果你把它倒过来看,它反而更像质量榜。 我的主观体感


c++从入门到跑路——string类
小肝一下2026/4/14

c++从入门到跑路——string类 1.为什么学习string类? 1.1 C语言中的字符串 C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列 的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户 自己管理,稍不留神可能还会越界访问。 1.2 两个面试题(暂不做讲解) 把字符串转换成整数_牛客题霸_牛客网 415. 字符串相加 - 力扣(LeetCode) 在OJ中,有关字符串的题目基本以stri


火爆全网的Seedance2.0 十万人排队,我2分钟就用上了
AI袋鼠帝2026/4/6

大家好,我是袋鼠帝。 之前我在B站看到一位AI视频创作者分享他的工作流。不可否认,那套流程做出来的视频确实很专业,画面精美,运镜流畅。但是,看完我只觉得头皮发麻。 原文档找不到了,我记得他先是用Gemini写剧本,接着用NanoBanana跑画面,然后再去另外的配音平台搞音频,中间穿插着使用ComfyUI来控制视频、图片生成。 ComfyUI这玩意儿我以前也折腾过几次,连线复杂就算了,每个节点的各种配置参数直接给我整懵逼了,我感觉比当初学敲代码还难,后面就再也没碰过了。 然后整个流程的最后一步,


Vue项目打包为WAR文件部署Tomcat完整指南
蒙眼过河2026/3/28

Vue项目打包为WAR文件部署Tomcat完整指南 前言 在Vue项目开发完成后,通常我们会将打包后的静态文件部署到Nginx等静态服务器上。但在某些企业环境中,我们需要将Vue项目部署到Tomcat这样的Java应用服务器中。本文将详细介绍如何将Vue项目的打包文件转换为标准的WAR包,以便部署到Tomcat服务器。 为什么需要将Vue打包为WAR包? 企业规范要求:很多企业使用统一的Tomcat应用服务器集群统一管理:便于与后端Java应用统一部署和管理历史遗留系统:部分老系统架构需


Django 基础入门教程(第四篇):Form组件、Auth认证、Cookie/Session与中间件
冉成未来2026/3/20

在前三篇中,我们完成了 Django 的环境搭建、模型设计、视图模板、Admin 后台以及 ORM 高级查询。本篇将带你深入 Django 的用户交互与安全机制:Form 组件、Auth 认证系统、Cookie/Session 和中间件。学完本篇,你将能够处理复杂的表单验证、实现用户注册登录、管理用户会话,并理解 Django 的请求/响应处理流程。 第一部分:Django Form 组件 1.1 为什么需要 Form 组件? 在 Web 开发中,处理表单是常见且复杂的任务。你需要:


AI时代的数据对比:DBA还需要盯着屏幕看差异吗?
NineData2026/3/12

当 AI 已经能写 SQL、辅助诊断、生成代码时,很多企业的数据对比却还停留在相对原始的阶段:任务跑完,DBA 需要面对动辄上百张表的差异报告,逐行核对的工作量极大。 这种场景在迁移、同步、数据备份演练里并不少见,到了国产化迁移场景下更是被进一步放大。数据库从 Oracle 迁到达梦、从 MySQL 迁到人大金仓,变化的不只是运行环境,更是数据库内核、数据类型、字符集规则和兼容语义。DBA 担心的往往不是任务失败,而是任务看起来已经完成,业务流量切换之后才发现数据并不一致。 AI 时代的数据对

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读