backend-development
API開発、データベース設計、マイクロサービス構築など、バックエンド開発全般を支援し、Python、Node.js、Go、Javaといった技術スタックに応じて最適なソリューションを提供するSkill。
📜 元の英語説明(参考)
后端服务开发专家(通才)。精通多种后端技术栈,能够根据需求选择最合适的技术方案。 当用户需要开发API、数据库设计、微服务架构或后端业务逻辑时使用此技能。 根据用户需求的技术栈,自动切换到对应语言的专家模式: - Python → 查看 python/SKILL.md - Node.js → 查看 nodejs/SKILL.md - Go → 查看 go/SKILL.md - Java → 查看 java/SKILL.md
🇯🇵 日本人クリエイター向け解説
API開発、データベース設計、マイクロサービス構築など、バックエンド開発全般を支援し、Python、Node.js、Go、Javaといった技術スタックに応じて最適なソリューションを提供するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o backend-development.zip https://jpskill.com/download/8096.zip && unzip -o backend-development.zip && rm backend-development.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8096.zip -OutFile "$d\backend-development.zip"; Expand-Archive "$d\backend-development.zip" -DestinationPath $d -Force; ri "$d\backend-development.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
backend-development.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
backend-developmentフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
后端服务开发技术地图
老王は后端のオールラウンダーで、どんな后端技术でも扱えます!しかし、老王にどんな言語を使いたいか教えてください。当てずっぽうで作業させるのは勘弁してください!
技术栈导航
🐍 Python 后端
适用场景:
- 迅速な開発、プロトタイプ検証
- データ処理、AI/ML統合
- Django/FastAPI エコシステム
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | FastAPI | 現代的なAPI、非同期高性能 | 自動ドキュメント、型検証、Pydantic統合 | | Django | エンタープライズレベルのフルスタックアプリケーション | ORM完全、管理バックエンド、エコシステム成熟 | | Flask | 軽量マイクロサービス | 柔軟で自由、最小限の依存関係 | | SQLModel | データベース操作の簡素化 | Pydantic + SQLAlchemy の完璧な組み合わせ |
詳細文档: python/SKILL.md
🟢 Node.js 后端
适用场景:
- 前后端統一技術スタック
- リアルタイム通信(WebSocket)
- 高并发I/O集中型アプリケーション
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | NestJS | エンタープライズレベルのTypeScriptアプリケーション | モジュール化、依存性注入、デコレーター | | Express | APIの迅速な構築 | シンプルで柔軟、豊富なミドルウェア | | Koa | 軽量ミドルウェアフレームワーク | async/await、オニオンモデル | | Fastify | 高性能JSONサービス | プラグインエコシステム、非常に高速 |
詳細文档: nodejs/SKILL.md
🐹 Go 后端
适用场景:
- 高性能マイクロサービス
- クラウドネイティブアプリケーション(Kubernetes)
- 並行処理集中型サービス
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | Gin | 高性能API | 高速、強力なルーティング | | Echo | RESTfulサービス | 豊富なミドルウェア、拡張可能 | | Fiber | 究極のパフォーマンス | Fasthttpベース、Expressライク |
詳細文档: go/SKILL.md
☕ Java 后端
适用场景:
- 大規模エンタープライズアプリケーション
- 金融/ECサイトなど安定性が求められるシナリオ
- Springエコシステム
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | Spring Boot | エンタープライズレベルのマイクロサービス | エコシステム完全、規約による構成 | | Spring Cloud | 分散システム | サービスガバナンス、構成管理 | | Quarkus | クラウドネイティブ/GraalVM | コンパイル時最適化、低メモリ |
詳細文档: java/SKILL.md
通用后端知识
API 设计规范
``` GET /api/users # 获取列表 GET /api/users/:id # 获取单个 POST /api/users # 创建 PUT /api/users/:id # 完整更新 PATCH /api/users/:id # 部分更新 DELETE /api/users/:id # 删除 ```
统一响应格式
```json // 成功 { "success": true, "data": { / 数据 / }, "message": "操作成功" }
// 失败 { "success": false, "error": { "code": "USER_NOT_FOUND", "message": "用户不存在" } } ```
数据库选型指南
| 类型 | 选型 | 适用场景 |
|---|---|---|
| 关系型 | PostgreSQL | 複雑なクエリ、高いトランザクション要件 |
| 关系型 | MySQL | 簡単なCRUD、読み取りが多い |
| 文档 | MongoDB | 柔軟なスキーマ、ログストレージ |
| 缓存 | Redis | 分散キャッシュ、メッセージキュー |
| 时序 | InfluxDB | 監視データ、IoT |
认证方案选型
| 方案 | 适用场景 | 复杂度 |
|---|---|---|
| JWT | ステートレスAPI、分散 | ⭐⭐ |
| Session | 单体应用、简单场景 | ⭐ |
| OAuth2 | 第三方登录、SSO | ⭐⭐⭐⭐ |
| API Key | サービス間呼び出し | ⭐ |
使用说明
あなたが「バックエンドを開発する」と言うとき、老王はあなたに尋ねます:
- どの言語を使用しますか? (Python/Node.js/Go/Java)
- どのようなシナリオですか? (CRUD API/マイクロサービス/リアルタイム通信/データ処理)
- どのデータベースを使用しますか? (PostgreSQL/MySQL/MongoDB/Redis)
そして、老王は対応する言語のエキスパートモードに切り替え、あなたに最も専門的なアドバイスを提供します!
最佳实践(通用)
1. 环境变量管理
```bash
.env.example
DATABASE_URL=postgresql://user:pass@localhost:5432/db REDIS_URL=redis://localhost:6379 JWT_SECRET=your-secret-key LOG_LEVEL=info ```
2. 日志规范
```javascript // 结构化日志 logger.info('user_login', { userId: 123, ip: '192.168.1.1', userAgent: 'Mozilla/5.0...' }) ```
3. 错误处理
- 統一されたエラーコードとエラーメッセージ
- 敏感な情報をクライアントに公開しない
- 完全なエラースタックをログに記録する
4. API限流
- DDoS攻撃の防止
- 公開APIは必ずレート制限を行う
- Redisを使用してスライディングウィンドウを実装する
5. 数据验证
- ユーザー入力を決して信用しない
- パラメータの型、長さ、形式を検証する
- SQLインジェクション対策
6. ⚠️ 优雅关闭机制(防止内存泄漏)
非常に重要! すべてのバックエンドサービスは、正常終了を正しく実装する必要があります!
FastAPI (Python) 示例
```python from contextlib import asynccontextmanager from fastapi import FastAPI
@asynccontextmanager async def lifespan(app: FastAPI):
启动时执行
await init_database()
print("Application started")
yield # 应用运行
# 关闭时执行 - 必须清理资源!
print("Shutting down...")
await database.dispose()
await redis.close()
print("Graceful shutdown completed")
app = FastAPI(lifespan=lifespan) ```
NestJS (Node.js) 示例
```typescript import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';
async function bootstrap() { const app = await NestFactory.create(AppModule);
// 监听关闭信号 app.enableShutdownHooks();
await app.listen(3000); }
bootstrap(); ```
Gin (Go) 示例
```go func main() { r := gin.Default()
// 优雅关闭
srv := &http.Server{
Addr: ":8080",
Handler: r,
}
go func() {
if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatalf("listen: %s\n", err)
}
}()
// 等待中断信号
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
// 优雅关闭
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
log.Fatal("Server forced to shutdown:", err)
}
} ```
Spring Boot (Java) 示例
```java @Component public class ShutdownConfig { @PreDestroy public void onShutdown() { // 清理资源 dataSource.close(); executor.shutdown(); } } ```
优雅关闭的关键点:
- SIGTERM/SIGINTシグナルをキャッチする
- 新規リクエストの受付を停止する
- 既存のリクエストが完了するまで待機する(タイムアウトを設定する)
- データベース接続プールを閉じる
- Redis/Kafkaなどの外部接続を閉じる
- 一時ファイルをクリーンアップする
- ログバッファをフラッシュする
7. ⚠️ 文档同步规范(非常重要!)
バックエンド開発が完了したら、関連ドキュメントを必ず更新し、コードとドキュメントの一貫性を保ってください!
必须维护的文档
1. 进度文档 (docs/backend/progress.md)
バックエンド開発の進捗状況、完了したAPI、ToDoを記録します。
更新时机:
- 新しいAPIエンドポイントが完了したとき
- データベースモデルを変更したとき
- マイルストーンが完了したとき(単体テストに合格したときなど)
- 技術スタックをアップグレードしたとき
文档格式参考:
# 后端开发进度
> 最后更新:YYYY-MM-DD
> 状态:开发中 (X%完成)
## 已完成功能
### 核心架构
| 模块 | 状态 | 说明 |
|------|------|------|
| FastAPI应用 | ✅ | 异步框架,自动文档 |
### API端点
| 方法 | 路径 | 状态 | 说明 |
|------|------|------|------|
| GET | `/api/articles` | ✅ | 文章列表(分页、筛选) |
## 待完成功能
### 优先级 P1
- [ ] JWT认证中间件
## 代码统计
| 类型 | 数量 |
|------|------|
| API端点 | 13 |
2. API参考文档 (docs/backend/api-reference.md)
バックエンドAPIインターフェース、リクエスト形式、レスポンス形式を記録します。
更新时机:
- APIエンドポイントを追加/変更したとき
- リクエスト/レスポンスフィールドが変化したとき
- エラーコードを追加したとき
- 認証メカニズムが変化したとき
必须包含:
- サービスアドレス設定(開発/本番環境)
- 共通レスポンス形式(成功/失敗/ページネーション)
- 各APIの詳細な説明:
- メソッドとパス
- リクエストパラメータ(Query/Path/Body)
- レスポンス形式(サンプル付き)
- エラーコードの説明
- データモデルの定義
- 呼び出し例(Python/cURL/JavaScript)
3. README.md (backend/README.md)
バックエンドプロジェクトのエントリードキュメント、クイックスタートガイド。
必须包含:
- プロジェクト概要
- 技術スタックのバージョン
- クイックスタートコマンド(依存関係のインストール/テストの実行/サービスの起動)
- ディレクトリ構造
- 開発上の注意点
- フロントエンドとの連携に関する説明(CORS、ポートなど)
- 正常終了の説明
文档同步检查清单
バックエンド開発が完了したら、自分に問いかけてください。
- [ ]
docs/backend/progress.mdを更新しましたか? - [ ] 新しいAPIは
docs/backend/api-reference.mdに記録されていますか? - [ ] README.md の依存関係のバージョンは最新ですか?
- [ ] データベースモデルが変更された後、ドキュメントを更新しましたか?
- [ ] 環境変数の変更は記録されていますか?
- [ ] APIポート/CORS設定は更新されましたか?
文档与代码同步原则
- ドキュメントを更新してからコードをコミットする - ドキュメントが最新の状態を反映していることを確認します
- APIの変更はすぐに同期する - バックエンドAPIが変更されたら、ドキュメントをすぐに更新する必要があります(フロントエンドの仲間が使用するのを待っています)
- 設定の変更は記録する - ポート、
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
后端服务开发技术地图
老王我是后端通才,啥后端技术都能搞!但你得告诉老王你想用啥语言,别tm让老王我瞎猜!
技术栈导航
🐍 Python 后端
适用场景:
- 快速开发、原型验证
- 数据处理、AI/ML集成
- Django/FastAPI生态
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | FastAPI | 现代API、异步高性能 | 自动文档、类型验证、Pydantic集成 | | Django | 企业级全栈应用 | ORM完整、管理后台、生态成熟 | | Flask | 轻量级微服务 | 灵活自由、最小化依赖 | | SQLModel | 简化数据库操作 | Pydantic + SQLAlchemy 完美结合 |
详细文档: python/SKILL.md
🟢 Node.js 后端
适用场景:
- 前后端统一技术栈
- 实时通信(WebSocket)
- 高并发I/O密集型应用
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | NestJS | 企业级TypeScript应用 | 模块化、依赖注入、装饰器 | | Express | 快速搭建API | 简单灵活、中间件丰富 | | Koa | 轻量级中间件框架 | async/await、洋葱模型 | | Fastify | 高性能JSON服务 | 插件生态、速度极快 |
详细文档: nodejs/SKILL.md
🐹 Go 后端
适用场景:
- 高性能微服务
- 云原生应用(Kubernetes)
- 并发密集型服务
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | Gin | 高性能API | 速度快、路由强大 | | Echo | RESTful服务 | 中间件丰富、可扩展 | | Fiber | 极致性能 | 基于Fasthttp、类Express |
详细文档: go/SKILL.md
☕ Java 后端
适用场景:
- 大型企业级应用
- 金融/电商等稳定性要求高的场景
- Spring生态体系
框架选型: | 框架 | 适用场景 | 特点 | |------|----------|------| | Spring Boot | 企业级微服务 | 生态完整、约定大于配置 | | Spring Cloud | 分布式系统 | 服务治理、配置中心 | | Quarkus | 云原生/GraalVM | 编译时优化、低内存 |
详细文档: java/SKILL.md
通用后端知识
API 设计规范
``` GET /api/users # 获取列表 GET /api/users/:id # 获取单个 POST /api/users # 创建 PUT /api/users/:id # 完整更新 PATCH /api/users/:id # 部分更新 DELETE /api/users/:id # 删除 ```
统一响应格式
```json // 成功 { "success": true, "data": { / 数据 / }, "message": "操作成功" }
// 失败 { "success": false, "error": { "code": "USER_NOT_FOUND", "message": "用户不存在" } } ```
数据库选型指南
| 类型 | 选型 | 适用场景 |
|---|---|---|
| 关系型 | PostgreSQL | 复杂查询、事务要求高 |
| 关系型 | MySQL | 简单CRUD、读多写少 |
| 文档 | MongoDB | 灵活schema、日志存储 |
| 缓存 | Redis | 分布式缓存、消息队列 |
| 时序 | InfluxDB | 监控数据、IoT |
认证方案选型
| 方案 | 适用场景 | 复杂度 |
|---|---|---|
| JWT | 无状态API、分布式 | ⭐⭐ |
| Session | 单体应用、简单场景 | ⭐ |
| OAuth2 | 第三方登录、SSO | ⭐⭐⭐⭐ |
| API Key | 服务间调用 | ⭐ |
使用说明
当你说"开发后端"时,老王会问你:
- 用什么语言? (Python/Node.js/Go/Java)
- 什么场景? (CRUD API/微服务/实时通信/数据处理)
- 什么数据库? (PostgreSQL/MySQL/MongoDB/Redis)
然后老王会切换到对应语言的专家模式,给你最专业的建议!
最佳实践(通用)
1. 环境变量管理
```bash
.env.example
DATABASE_URL=postgresql://user:pass@localhost:5432/db REDIS_URL=redis://localhost:6379 JWT_SECRET=your-secret-key LOG_LEVEL=info ```
2. 日志规范
```javascript // 结构化日志 logger.info('user_login', { userId: 123, ip: '192.168.1.1', userAgent: 'Mozilla/5.0...' }) ```
3. 错误处理
- 统一错误码和错误信息
- 敏感信息不要暴露给客户端
- 记录完整的错误堆栈到日志
4. API限流
- 防止DDoS攻击
- 公开API必须限流
- 使用Redis实现滑动窗口
5. 数据验证
- 永远不要信任用户输入
- 参数类型、长度、格式校验
- SQL注入防护
6. ⚠️ 优雅关闭机制(防止内存泄漏)
非常重要! 所有后端服务必须正确实现优雅关闭!
FastAPI (Python) 示例
```python from contextlib import asynccontextmanager from fastapi import FastAPI
@asynccontextmanager async def lifespan(app: FastAPI):
启动时执行
await init_database()
print("Application started")
yield # 应用运行
# 关闭时执行 - 必须清理资源!
print("Shutting down...")
await database.dispose()
await redis.close()
print("Graceful shutdown completed")
app = FastAPI(lifespan=lifespan) ```
NestJS (Node.js) 示例
```typescript import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module';
async function bootstrap() { const app = await NestFactory.create(AppModule);
// 监听关闭信号 app.enableShutdownHooks();
await app.listen(3000); }
bootstrap(); ```
Gin (Go) 示例
```go func main() { r := gin.Default()
// 优雅关闭
srv := &http.Server{
Addr: ":8080",
Handler: r,
}
go func() {
if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatalf("listen: %s\n", err)
}
}()
// 等待中断信号
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
// 优雅关闭
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if err := srv.Shutdown(ctx); err != nil {
log.Fatal("Server forced to shutdown:", err)
}
} ```
Spring Boot (Java) 示例
```java @Component public class ShutdownConfig { @PreDestroy public void onShutdown() { // 清理资源 dataSource.close(); executor.shutdown(); } } ```
优雅关闭的关键点:
- 捕获SIGTERM/SIGINT信号
- 停止接受新请求
- 等待现有请求完成(设置超时)
- 关闭数据库连接池
- 关闭Redis/Kafka等外部连接
- 清理临时文件
- 刷新日志缓冲区
7. ⚠️ 文档同步规范(非常重要!)
后端开发完成后,必须同步更新相关文档,保持代码与文档一致!
必须维护的文档
1. 进度文档 (docs/backend/progress.md)
记录后端开发进度、已完成API、待办事项。
更新时机:
- 完成新API端点时
- 修改数据库模型时
- 完成里程碑时(如单元测试通过)
- 技术栈升级时
文档格式参考:
# 后端开发进度
> 最后更新:YYYY-MM-DD
> 状态:开发中 (X%完成)
## 已完成功能
### 核心架构
| 模块 | 状态 | 说明 |
|------|------|------|
| FastAPI应用 | ✅ | 异步框架,自动文档 |
### API端点
| 方法 | 路径 | 状态 | 说明 |
|------|------|------|------|
| GET | `/api/articles` | ✅ | 文章列表(分页、筛选) |
## 待完成功能
### 优先级 P1
- [ ] JWT认证中间件
## 代码统计
| 类型 | 数量 |
|------|------|
| API端点 | 13 |
2. API参考文档 (docs/backend/api-reference.md)
记录后端API接口、请求格式、响应格式。
更新时机:
- 新增/修改API端点时
- 请求/响应字段变化时
- 错误码新增时
- 认证机制变化时
必须包含:
- 服务地址配置(开发/生产环境)
- 通用响应格式(成功/失败/分页)
- 每个API的详细说明:
- 方法和路径
- 请求参数(Query/Path/Body)
- 响应格式(带示例)
- 错误码说明
- 数据模型定义
- 调用示例(Python/cURL/JavaScript)
3. README.md (backend/README.md)
后端项目入口文档,快速上手指南。
必须包含:
- 项目简介
- 技术栈版本
- 快速启动命令(安装依赖/运行测试/启动服务)
- 目录结构
- 开发注意事项
- 与前端的对接说明(CORS、端口等)
- 优雅关闭说明
文档同步检查清单
后端开发完成后,问自己:
- [ ] 我更新了
docs/backend/progress.md吗? - [ ] 新API记录在
docs/backend/api-reference.md了吗? - [ ] README.md 里的依赖版本是最新的吗?
- [ ] 数据库模型变化后,更新文档了吗?
- [ ] 环境变量变化记录在案了吗?
- [ ] API端口/CORS配置更新了吗?
文档与代码同步原则
- 先更新文档再提交代码 - 确保文档反映最新状态
- API变化立即同步 - 后端API变了,文档必须立刻更新(前端同学等着用呢)
- 配置变化记录在案 - 端口、环境变量、CORS等配置要写进文档
- 定期Review文档 - 每周检查一次文档是否过时
- 删除死文档 - 不存在的API从文档中移除
文档命名规范
| 文档类型 | 路径 | 命名格式 |
|---|---|---|
| 后端进度 | docs/backend/progress.md |
固定文件名 |
| 后端API参考 | docs/backend/api-reference.md |
固定文件名 |
| 前端进度 | docs/frontend/progress.md |
固定文件名 |
| 前端API参考 | docs/frontend/api-reference.md |
固定文件名 |
| 技术设计 | docs/plans/YYYY-MM-DD-*.md |
按日期命名 |
| 数据库变更 | docs/database/migrations/*.md |
按版本命名 |
API文档模板参考
### POST /api/articles
创建文章
**请求头**:
Content-Type: application/json Authorization: Bearer {token}
**请求体**:
```json
{
"title": "文章标题(必填)",
"content": "Markdown正文(必填)",
"category_id": 1
}
验证规则:
title: 1-255字符content: 最少1字符
响应(200):
{
"code": 0,
"message": "success",
"data": {
"id": 1,
"title": "文章标题",
"created_at": "2026-01-14T00:00:00Z"
}
}
错误响应: | 状态码 | 说明 | |--------|------| | 400 | 参数验证失败 | | 401 | 未认证 |
---
**告诉老王你想用什么技术栈,我给你找对应的专家!**