백엔드개발 5

Docker 멀티 컨테이너와 Compose, CI/CD 배포

1. 멀티 컨테이너 구성의 필요성컨테이너는 “하나의 컨테이너 = 하나의 프로세스”라는 원칙을 따르는 것이 이상적입니다. 즉, 하나의 컨테이너에 웹 서버, DB, 캐시를 모두 넣기보다 역할에 따라 분리하는 것이 바람직합니다.예시:web: Django 또는 Flask와 같은 애플리케이션 서버db: PostgreSQL, MySQL 등 데이터베이스 서버cache: Redis, Memcachedproxy: Nginx, Caddy와 같은 리버스 프록시/로드밸런서이렇게 분리하면 얻는 장점은 다음과 같습니다.유지보수성: 특정 서비스에 문제가 생겨도 해당 컨테이너만 재시작 가능확장성: 트래픽이 몰리면 웹 컨테이너만 수평 확장 가능표준화: 각 컨테이너가 독립적이므로 다른 프로젝트에도 쉽게 재활용 가능2. Docker Co..

백엔드 2025.09.02

Django REST Framework 기초와 JWT 인증 이해하기

최근 웹 개발 환경에서 RESTful API는 더 이상 선택이 아닌 필수가 되었습니다. 웹 프론트엔드와 백엔드가 분리되고, 모바일 앱, IoT 기기, 외부 서비스와의 연동이 늘어나면서 API 중심의 설계가 표준으로 자리 잡고 있습니다. Django는 강력한 웹 프레임워크지만, API 개발을 위해서는 추가적인 도구가 필요합니다. 바로 Django REST Framework(DRF) 입니다. 여기에 사용자 인증까지 안전하게 구현하려면 **JWT(Json Web Token)**를 함께 활용하는 것이 일반적입니다. 이번 글에서는 DRF의 기초 개념과 함께 JWT 인증 방식을 이해해 보겠습니다. 1. Django REST Framework(DRF)란?Django REST Framework는 Django 위에서 동..

백엔드 2025.08.20

Django와 DRF에서 Custom Middleware 사용법

Django 프로젝트에서 Middleware의 기본 구조와 동작 순서Django의 **Middleware(미들웨어)**는 요청(request)과 응답(response)의 처리 과정에 끼어들어, 전역적으로 동작하는 플러그인 계층이라고 볼 수 있습니다. 미들웨어들은 Django 설정의 MIDDLEWARE 리스트에 정의된 순서대로 동작하며, 각각이 양파 껍질처럼 뷰(view)를 감싸는 계층으로 생각할 수 있습니다. 요청이 들어오면 MIDDLEWARE에 나열된 순서(위에서 아래)대로 각 미들웨어가 **요청 처리(request phase)**에 참여하고, 뷰가 처리된 후에는 반대로 **응답 처리(response phase)**를 거치면서 미들웨어들이 역순(아래에서 위)으로 호출됩니다. 이러한 동작 방식 때문에, ..

백엔드 2025.05.16

Python과 Django 웹 개발 시작하기: 초보자를 위한 튜토리얼

Python과 Django는 웹 개발을 시작하려는 초보자에게 인기 있는 조합입니다. 이 튜토리얼에서는 Python 설치부터 가상환경 설정, Django 설치 및 “Hello, Django!” 페이지를 띄우기까지의 과정을 단계별로 알아보겠습니다. 각 단계마다 따라하기 쉬운 설명과 명령어, 그리고 예상 결과나 주의사항을 함께 제공합니다. 이 글에서는 Python 3.x 버전을 전제로 하며 (최신 Django는 Python 3.10 이상이 필요), Windows와 Mac 환경을 중심으로 설명합니다. 이제 시작해봅시다!1. Python 설치 (Windows/Mac)먼저 Python이 설치되어 있어야 합니다. Python이 이미 설치되어 있는지 확인하려면 터미널(또는 명령 프롬프트)을 열고 버전을 확인해보세요:$..

백엔드 2025.05.14

Django(장고) 웹 프레임워크 알아보기: 기본 개념, 프로젝트 구조와 장단점

웹 개발을 하다 보면 **Django(장고)**라는 이름을 한 번쯤 들어보셨을 것입니다. Django는 파이썬(Python) 기반의 강력한 웹 프레임워크로서, 보안성이 우수하고 유지보수가 편리한 웹사이트를 빠르게 개발하도록 도와줍니다. 이 글에서는 Django의 기본 개념과 특징, 프로젝트의 기본 구조, 그리고 주요 장점과 단점까지 살펴보겠습니다. 웹 개발에 입문한 초보자부터 어느 정도 경험이 있는 개발자까지 모두 이해할 수 있도록 친절하고 명확하게 설명해 드리겠습니다.Django란 무엇인가? (기본 개념과 특징)Django는 파이썬으로 작성된 오픈 소스 웹 프레임워크입니다. 2005년에 처음 공개된 이후 지속적으로 발전하여 현재도 널리 사용되고 있으며, Django 소프트웨어 재단(DSF)에 의해 관리..

백엔드 2025.05.12