본문 바로가기

개발26

[파이썬 심화] OAuth2 소셜 로그인 연동, Google OAuth2 로그인 구현, FastAPI에서 OAuth2 + 소셜 로그인 연동하기 (Google OAuth2 예제)OAuth2 소셜 로그인 개념 정리OAuth2는 외부 서비스를 통해 로그인과 인증을 위임하는 프로토콜입니다.Google, Kakao, Naver 같은 플랫폼을 통해 로그인 기능을 제공받는 것이 대표적인 예입니다.OAuth2 인증 흐름 요약클라이언트가 소셜 로그인 버튼 클릭소셜 플랫폼의 인증 서버로 리디렉션사용자가 로그인 및 권한 승인서버가 인증 코드를 받아 access_token 획득access_token으로 사용자 정보 조회FastAPI에서 OAuth2를 쓰는 이유별도 회원가입 없이 로그인 구현 가능보안성 높고, 사용자 인증/프로필 관리 용이다양한 플랫폼과 손쉬운 연동 (Google, GitHub, Kakao 등)F.. 2025. 4. 19.
[파이썬 심화] FastAPI 구조, Docker 배포방법, OpenAPI 문화활용 FastAPI 기본 구조와 실행 방법FastAPI는 빠르고 간결한 문법으로 유명한 Python 웹 프레임워크입니다.Pydantic을 활용한 데이터 검증, 자동 Swagger UI, 비동기 지원이 특징이며, API 서버 제작에 최적화되어 있습니다.1. FastAPI 설치pip install fastapi uvicornuvicorn은 FastAPI 앱을 실행하기 위한 ASGI 서버입니다.2. 기본 앱 예제 (main.py)from fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root(): return {"message": "Hello FastAPI"}3. 앱 실행uvicorn main:app --reloadmain: 파일명 (main.py)a.. 2025. 4. 17.
[파이썬 심화] Docker 사용법 , Github Action, 실전 활용 팁 Docker로 파이썬 앱을 컨테이너화하는 방법Docker는 파이썬 애플리케이션을 OS에 독립적인 컨테이너로 감싸 배포하는 기술입니다.Python 코드, 라이브러리, 설정까지 하나의 이미지로 패키징하면 어디서든 동일한 환경으로 실행할 수 있습니다.1. 기본 프로젝트 구조myapp/├── app.py├── requirements.txt└── Dockerfile2. app.py 예제from flask import Flaskapp = Flask(__name__)@app.route("/")def home(): return "Hello, Docker!"3. requirements.txtflask==2.3.24. Dockerfile 작성# Python 이미지 기반FROM python:3.10-slim# 작업 디.. 2025. 4. 17.
[파이썬 심화] 가상환경의 필요성, pip 활용, 의존성 관리 왜 가상환경이 필요한가?가상환경(Virtual Environment)은 파이썬 프로젝트마다 독립된 패키지 공간을 만들어줍니다.이는 다음과 같은 이유로 필수적입니다: 프로젝트마다 사용하는 라이브러리 버전이 다를 수 있음 시스템 파이썬과 분리하여 안전하게 개발 가능 협업 시 일관된 개발 환경 유지기본 가상환경 생성 방법python -m venv venvvenv 폴더가 생성되며, 이 폴더 안에 독립적인 파이썬 환경이 구축됩니다.venv는 파이썬 3.3 이상에서 기본으로 제공됩니다.가상환경 활성화 Windows: venv\Scripts\activate macOS/Linux: source venv/bin/activate비활성화 (종료)deactivate가상환경을 빠져나올 때는 언제든지 deactivate.. 2025. 4. 15.
[파이썬 심화] pytest 기본, parametrize 고급처리, 실무 활용 pytest 기본 사용법과 구조 이해pytest는 파이썬에서 가장 널리 사용되는 테스트 프레임워크 중 하나입니다.unittest보다 문법이 간결하고 직관적이며, 강력한 플러그인 생태계를 자랑합니다.1. 설치하기pip install pytest2. 가장 기본적인 테스트 파일📁 test_math.pydef add(a, b): return a + bdef test_add(): assert add(2, 3) == 53. 실행 방법pytest해석: 함수 이름은 반드시 test_로 시작해야 합니다. assert 키워드만으로 검증 가능 → self.assertEqual()보다 간결 실행 시 자동으로 test_*.py 파일을 찾아 테스트 수행parametrize 고급처리, 예외 처리, fixture1.. 2025. 4. 15.
[파이썬 심화] 유닛 테스트의 뜻, 기본 문법, 실전활용법 유닛 테스트란 무엇이며 왜 필요한가?유닛 테스트(Unit Test)는 프로그램의 가장 작은 단위(함수, 메서드 등)를 테스트하는 방식입니다.파이썬에서는 unittest 모듈을 활용해 테스트 코드를 쉽게 작성하고 자동화할 수 있습니다.테스트의 필요성코드 수정 시 기존 기능이 잘 작동하는지 확인 가능프로그램 신뢰성 향상배포 전에 오류 예방자동화된 테스트로 QA 비용 절감unittest 모듈 불러오기import unittestunittest는 파이썬 표준 라이브러리에 포함되어 있으므로 별도 설치 없이 사용 가능합니다. unittest 기본 문법과 테스트 함수 작성1. 테스트할 함수 정의📁 calculator.pydef add(a, b): return a + bdef divide(a, b): if .. 2025. 4. 14.