ワンクリックで
fastapi-backend
FastAPI 백엔드 패턴 안내. 라우터·의존성·JWT 인증·에러 처리·SQLAlchemy 2·Pydantic v2·asyncpg 작성 시 사용.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
FastAPI 백엔드 패턴 안내. 라우터·의존성·JWT 인증·에러 처리·SQLAlchemy 2·Pydantic v2·asyncpg 작성 시 사용.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | fastapi-backend |
| description | FastAPI 백엔드 패턴 안내. 라우터·의존성·JWT 인증·에러 처리·SQLAlchemy 2·Pydantic v2·asyncpg 작성 시 사용. |
app/api/v1/), include_router(router, prefix="/v1/app")app/api/deps.py) — get_current_user, get_db 등app/models/, app/schemas/, app/services/)router = APIRouter(prefix="/items", tags=["items"])
@router.get("/", response_model=ItemListOut, responses={401: {...}})
async def list_items(
user: User = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
...
return ItemListOut(**data)
response_model=... — Pydantic 스키마로 자동 직렬화responses={401: {...}, 404: {...}} — Swagger 문서화user: User = Depends(get_current_user), user_id: UUID = Depends(get_current_user_id)db: AsyncSession = Depends(get_db)HTTPBearer(auto_error=True) → HTTPAuthorizationCredentialsdecode_access_token(token) → payload 검증type=="access", sub=user_id (UUID)HTTPException(status_code=401, detail="invalid_or_expired_access_token")HTTPException → 전역 핸들러로 일관된 JSON 포맷 변환detail에 클라이언트 분기용 문자열 사용 (예: user_not_found, invalid_token){ "error_code": "...", "message": "..." } 형태로 통일pydantic_settings.BaseSettings + .env, @lru_cache def get_settings()Field(alias="...", default=...) 으로 환경변수 매핑CORSMiddleware, allow_origins, allow_credentials=True@limiter.limit("10/minute")@asynccontextmanager for DB init, scheduler 등BaseModel, Field(description="..."), Field(default_factory=list)field_validator, model_validator, @classmethodSomeOut(**obj)AsyncSession, asyncpg / postgresql+asyncpgselect(Model).where(...), insert(Model).values(...)r.scalar_one_or_none(), r.scalars().all().on_conflict_do_nothing(index_elements=[...])delete(Model).where(...)async def / awaitdef f(x: str) -> int, list[str], str | None (3.10+)type UserId = UUID# noqa: F401 허용copy.deepcopy(obj)로 내부 수정 시 원본 보호NAVER API HUB 검색 스킬. 네이버 클라우드 NAVER API HUB로 블로그·뉴스·지역·웹·이미지 등 검색 및 검색어 트렌드 조회. "네이버 API HUB", "네이버 검색 API", "블로그 검색", "검색어 트렌드" 요청에 활성화.
Git Flow 브랜치·커밋 규칙(변경 요약은 한국어 필수). 커밋, 브랜치 생성, Git Flow, 커밋 메시지 작성 요청 시 사용.
UIKit MVVM에서 Combine 바인딩, @Published, PassthroughSubject, ObservableObject 역할, sink/cancellables 패턴. UI 상태는 @Published, 화면 이동/토스트/Alert 같은 일회성 이벤트는 PassthroughSubject. SwiftUI vs UIKit ObservableObject 차이, Combine 바인딩 설계 시 사용.
Swift Concurrency 경계 설정, @MainActor, Task 배치, UIKit MVVM async API 설계. ViewModel, @MainActor, Task, async await, Combine 바인딩, isLoading 처리 시 사용.
Swift/iOS MVVM 패턴 안내. Model·View·ViewModel 구조, 바인딩(Combine/@Published), 서비스/저장소 연동 시 사용.
SwiftUI MVVM에서 @Observable/ObservableObject 선택, @StateObject/@ObservedObject/@EnvironmentObject 사용 기준, .task/.refreshable와 취소 처리, @MainActor 상태 갱신 규칙 설계 시 사용.