728x90
반응형
SMALL

전체 글 36

📚[FastAPI] 9장. Google 로그인 연동: OAuth2 Social Login 전략과 실습 적용

안녕하세요! 이번 9장에서는 Google 로그인을 FastAPI 백엔드에 연동하는 전략을 살펴보고, 간단한 React 프런트엔드 예시코드를 통해 실제 구현 방법을 안내해 드리겠습니다. 일반적인 소셜 로그인의 핵심은 OAuth2 프로토콜을 활용하여 Google 계정 정보를 인증하고, 사용자에게 편리한 로그인을 제공하는 것입니다.아래 내용을 학습하면 Google OAuth2 기반의 소셜 로그인 과정을 이해하고, 이를 기존 FastAPI 인증 흐름(JWT, 세션 등)에 자연스럽게 연결할 수 있게 됩니다. 또한, React 프런트엔드에서 Google 로그인 버튼을 배치하고 인증 결과를 백엔드로 전송하는 간단한 예시 코드도 함께 살펴보겠습니다.9.1. 왜 Google 로그인이 필요한가?사용자 경험 향상별도의 회원..

📚[FastAPI] 8장. 종합 프로젝트 실습: 간단한 블로그 API 구현하기

안녕하세요! 이번 글에서는 지난 장들에서 배운 내용을 종합하여 Poetry 기반 FastAPI 백엔드를 실제로 간단한 블로그 API 형태로 구현해보겠습니다. 데이터베이스 연동부터 인증(로그인/권한), 비동기 작업, 테스트, 그리고 Docker를 통한 배포까지 한 번에 살펴보며, 실제 운영 환경에 가까운 시나리오를 체험해 볼 수 있습니다.목표User 모델과 게시글(Post), 댓글(Comment) 기능을 구현JWT 인증을 통한 로그인/회원가입CRUD API 작성과 테스트Docker Compose로 한꺼번에 배포 & 실행8.1. 프로젝트 요구사항 정의8.1.1. 기능 목록회원가입 & 로그인email + password로 회원가입비밀번호는 해시(bcrypt) 적용로그인 시 JWT 토큰 발급게시글(Post) C..

📚[FastAPI] 7장. 비동기 작업 및 배포: Celery, Docker로 확장성 높이기

안녕하세요! 이번 포스팅에서는 비동기 작업 처리와 배포 전략을 중점적으로 살펴보겠습니다. 현대적인 웹 애플리케이션은 단순 동기 REST API만으로는 부족할 때가 많습니다. 예를 들어 이미지 처리, 이메일 발송, 데이터 분석 등 시간이 오래 걸리는 작업은 비동기로 처리해야 서버의 응답성을 유지할 수 있습니다. 또한, 애플리케이션을 확장하기 위해선 Docker 컨테이너 기반으로 배포하는 전략이 필수에 가까워졌습니다.이번 장에서는 Celery + Redis 조합을 통해 비동기 작업을 구현하고, Docker 및 Docker Compose를 이용해 FastAPI 애플리케이션을 손쉽게 배포·관리하는 방법을 자세히 알아보겠습니다.7.1. 비동기 작업의 필요성7.1.1. 언제 비동기 처리가 필요한가?장시간 연산: 대..

📚[FastAPI] 6장. 테스트 및 디버깅: Pytest 활용과 품질 보증

안녕하세요! 이번 글에서는 FastAPI 애플리케이션의 테스트(Test) 및 디버깅(Debugging) 전략을 살펴보겠습니다. 이전 장들에서 RESTful API, 인증, DB 연동 등 백엔드의 주요 기능들을 구현했는데요, 제대로 작동하는지 신뢰성을 확보하기 위해서는 자동화된 테스트가 필수입니다.특히 Python 에서 많이 사용되는 Pytest와 FastAPI 자체 기능인 TestClient를 통해, API 통합 테스트부터 단위(Unit) 테스트까지 체계적으로 커버하는 방법을 소개합니다. 또한 디버깅 기법, 로깅(Logging) 설정 등 품질을 높이는 다양한 팁도 함께 알아보겠습니다.6.1. 테스트의 중요성6.1.1. 왜 테스트가 필요한가?신뢰성(Confidence) 확보: 코드 수정이나 리팩토링 후에도..

📚[FastAPI] 5장. 인증 및 권한 관리: JWT를 활용한 보안 강화

안녕하세요! 이번 포스팅에서는 FastAPI 애플리케이션에 **인증(Authentication)**과 권한 관리(Authorization) 기능을 추가하여 API 보안을 한층 강화하는 방법을 다루어보겠습니다. 현대 웹 서비스에서는 단순한 CRUD만으로는 충분하지 않으며, 사용자 식별과 권한 부여가 반드시 필요합니다.특히 JWT(JSON Web Token)를 이용해 토큰 기반 인증을 구현하고, OAuth2 흐름을 적용함으로써 더욱 안전하고 유연한 인증 시스템을 구성할 수 있습니다. 이번 장을 통해 로그인/로그아웃, 사용자 역할(Role) 설정 등 핵심 인증 로직을 차근차근 익혀봅시다.5.1. JWT 개념과 작동 원리5.1.1. JWT(JSON Web Token)란?JWT는 인증 정보를 JSON 형태로 담아..

📚[FastAPI] 4장. API 설계 및 구현: RESTful 엔드포인트와 Pydantic 스키마

안녕하세요! 이번 포스팅에서는 FastAPI 애플리케이션에서 RESTful API를 설계하고 구현하는 방법을 자세히 다뤄보겠습니다. 이를 위해 Pydantic을 사용해 데이터 검증 및 스키마 정의를 하고, 실제로 CRUD 엔드포인트를 만드는 과정을 예시와 함께 살펴봅니다.이전 3장에서 데이터베이스를 연동하고 ORM 모델을 설정했는데요, 이제 그 모델을 기반으로 실제 RESTful API를 작성하며, OpenAPI 스펙을 통해 자동 문서화까지 경험할 수 있습니다.4.1. RESTful API 개념 이해4.1.1. RESTful의 주요 개념리소스(Resource): 서버가 제공하는 정보를 추상화한 개념입니다. 예: users, posts, ordersHTTP 메서드:GET: 리소스 조회POST: 리소스 생성..

📚[FastAPI] 3장. 데이터베이스 연동: SQLAlchemy와 Alembic으로 CRUD 구축하기

안녕하세요! 이번 포스팅에서는 FastAPI 애플리케이션에 데이터베이스를 연동하는 방법을 자세히 다루어보겠습니다. 구체적으로는 SQLAlchemy를 사용해 ORM(Object Relational Mapping)을 구성하고, Alembic을 활용하여 데이터베이스 스키마 변경(마이그레이션)을 체계적으로 관리하는 과정을 살펴보겠습니다.데이터베이스 연동은 백엔드 애플리케이션의 핵심 기능 중 하나입니다. 단순히 데이터를 저장하고 읽어오는 것을 넘어, 스키마 관리와 마이그레이션 전략이 제대로 갖추어져 있어야 프로젝트가 확장될 때도 유지보수가 편리합니다. 이번 글을 통해 FastAPI에서 DB 연동을 어떻게 구성하는지 실제 활용 사례를 예시로 들어 설명해드리겠습니다.3.1. SQLAlchemy와 Alembic 개요3..

📚[FastAPI] 2장. FastAPI 기본 구조 설계: 디렉토리 구성과 라우팅 전략

안녕하세요! 이번 2장에서는 FastAPI 프로젝트를 구성할 때 어떤 식으로 폴더(디렉토리)를 구성하고, 엔드포인트를 모듈화하여 라우팅을 체계적으로 진행할지 자세히 알아보겠습니다. 프로젝트 구조는 유지보수성과 확장성에 직접적인 영향을 주므로, 미리 견고한 틀을 잡아두는 것이 매우 중요합니다.아래에서는 실제 운영 환경에서 자주 사용하는 방식들을 토대로 예시 구조를 제시하고, 라우팅과 모듈화 전략을 구체적인 코드 예시와 함께 살펴보겠습니다.2.1. FastAPI 프로젝트 핵심 개념2.1.1. FastAPI의 주요 컴포넌트FastAPI() 객체프레임워크의 핵심으로, 앱 전역 설정이나 이벤트 훅 등을 처리@app.get(), @app.post() 데코레이터를 통해 라우트를 직접 정의할 수도 있지만, 규모가 커지..

📚[FastAPI] 1장. 강의개요 및 환경 설정: 의존성 관리부터 프로젝트 구조 잡기

이 시리즈의 궁극적 목적은 ‘Python 웹 개발의 필수 요소를 실무적으로 습득’하는 것입니다.Poetry 및 FastAPI를 활용해 의존성 관리와 웹 프레임워크의 기초를 닦고,데이터베이스 연동, 인증, 배포와 같은 주요 기능을 단계별로 학습하며,실제 운영 환경에서 신뢰할 수 있는 백엔드 애플리케이션을 완성하는 것을 목표로 합니다.안녕하세요! 이번 포스팅은 FastAPI 시리즈의 첫 번째 글로, Poetry와 FastAPI를 함께 사용하기 위한 기본 환경 설정을 다룹니다. 본 시리즈를 통해 Python 웹 개발의 핵심 요소(데이터베이스, 인증, 배포 등)를 단계별로 익혀, 실제 서비스를 구축할 수 있는 능력을 기르는 것을 지향합니다.커리큘럼 개요1장: Poetry와 FastAPI 환경 설정Poetry 소..

📌 [Git & GitHub] 3강: Git과 GitHub 고급 활용법

📖 목차Git 고급 명령어 소개cherry-pickrebaseresetrevertstashGitHub Actions를 활용한 자동화 워크플로우GitHub Actions 개요기본 워크플로우 설정CI/CD 파이프라인 구축서드파티 Git 클라이언트 도구 활용SourceTreeGitKrakenVisual Studio Code Git 통합Git 서브모듈과 서브트리 관리서브모듈 개념과 사용법서브트리 개념과 사용법오픈소스 프로젝트에 기여하기Fork와 CloneIssues와 프로젝트 관리Pull Request 제출 및 리뷰Git과 GitHub 보안 관리SSH 키 설정액세스 권한 관리비밀 정보 보호생산성 향상을 위한 Git 팁Git Aliases 설정효율적인 커밋 메시지 작성Git Hooks 활용마무리1. Git 고급..

728x90
반응형
LIST