Programming/Django43 🧪 테스트 주도 개발(TDD) 완벽 가이드 📌 1. TDD란 무엇인가?TDD(Test-Driven Development, 테스트 주도 개발)는기능을 구현하기 전에 테스트를 먼저 작성하고,그 테스트를 통과하는 코드를 만든 뒤 리팩터링하는 개발 방식입니다.한마디로, 테스트가 개발을 이끄는 방식이라고 볼 수 있습니다. 🚀🔄 2. TDD 핵심 사이클 (Red → Green → Refactor)🔴 Red – 실패하는 테스트 작성기능을 구현하기 전에 실패할 수밖에 없는 테스트 작성→ 실행하여 테스트가 실패하는지 확인🟢 Green – 테스트를 통과하는 최소한의 코드 작성가장 단순하게 테스트를 통과시키는 코드 구현→ 우선은 “통과”가 목표♻ Refactor – 코드 개선중복 제거, 가독성 향상, 구조 개선→ 리팩터링 후에도 테스트는 모두 통과해야 함?.. 2025. 8. 4. 🐍 [Django 5.2 + S3 연동 에러 기록] STATICFILES_STORAGE가 무시되고 계속 로컬 staticfiles 디렉토리에만 저장될 때 (해결 완료!) ✨ 문제 요약Django 5.2.4에서 AWS S3를 정적 파일 저장소(STATICFILES_STORAGE)로 사용하려고 설정했는데, python manage.py collectstatic을 실행할 때마다 계속 이렇게 나왔다.0 static files copied to '/Users/mj/Documents/my_site/staticfiles', 134 unmodified.심지어 python manage.py shell에서 확인해도...from django.contrib.staticfiles.storage import staticfiles_storageprint(staticfiles_storage.__class__)# 출력: 👉 이건 Django가 여전히 기본 로컬 FileSystemStorage를 쓰고.. 2025. 8. 1. Django 프로젝트에 AWS S3 연동하기 (정적/미디어 파일 서빙 완전 정복) Django에서 static과 media 파일을 AWS S3로 올리고, EC2가 아닌 S3에서 직접 서빙하도록 설정하는 방법을 정리했습니다.Elastic Beanstalk으로 배포한 경우에도 적용 가능하며, 정적 웹사이트 호스팅 + CORS 설정 + Django 설정 순으로 정리해보았습니다.✅ 1. S3 버킷 만들기AWS S3 콘솔 접속"버킷 만들기" 클릭버킷 이름: 전 세계 고유 (예: my-django-blog-files)공개 접근 차단 해제"모든 공개 액세스 차단" → 체크 해제경고 메시지 → 확인 후 계속 진행✅ 2. 정적 웹사이트 호스팅 활성화버킷 > 속성(Properties) 탭 클릭아래로 스크롤 → Static website hosting"정적 웹사이트 호스팅 사용" 선택인덱스/에러 문서는 .. 2025. 7. 31. 🔍 Django의 wsgi.py와 django.conf – 배포 입문자를 위한 핵심 정리! Django 프로젝트를 만들다 보면, wsgi.py라는 파일과 django.conf라는 모듈을 자주 보게 됩니다.이 둘은 우리가 만든 웹 애플리케이션이 인터넷 세상과 연결되는 "입구"와 "설정본부" 같은 역할을 해요!오늘은 이 두 요소가 어떻게 연결되고, 어떤 역할을 하는지, 그리고 실제 코드가 어떻게 작동하는지 쉽게 설명해드릴게요.1️⃣ wsgi.py는 무엇인가요?Django 프로젝트에서 wsgi.py는 배포 시 가장 중요한 파일이에요.# my_site/wsgi.pyimport osfrom django.core.wsgi import get_wsgi_applicationos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_site.settings')applicati.. 2025. 7. 30. 💡 getenv란? 환경 변수와 Django 설정의 연결고리 🧩 1. getenv란 무엇인가요?from os import getenvgetenv()는 운영체제의 환경 변수(environment variable) 값을 가져오는 함수입니다.즉, 서버나 운영체제에 저장된 설정 값을 Python 코드에서 불러오는 기능을 합니다.예:export DEBUG=Truefrom os import getenvprint(getenv("DEBUG")) # "True"환경 변수는 .env 파일이나 클라우드 서버 설정, CI/CD 파이프라인 등에서도 설정할 수 있어요!🛠️ 2. 왜 환경 변수를 써야 할까요?하드코딩된 민감 정보(예: SECRET_KEY, DB 비밀번호)는 깃허브에 푸시되면 보안 문제가 발생합니다.환경 변수는 코드와 분리된 외부 설정이기 때문에 다음과 같은 장점이 있습.. 2025. 7. 30. Django 프로젝트에서 데이터베이스는 어떻게 선택해야 할까? 🧠 Django를 이용한 웹 개발을 하다 보면 “어떤 데이터베이스를 사용해야 하지?” 하는 고민에 부딪히게 됩니다. 지금까지는 대부분 기본 설정대로 SQLite를 사용했을 텐데요, 과연 이것으로 충분할까요?이 글에서는 Django와 데이터베이스 선택에 대해 꼭 알아야 할 내용을 정리합니다.💾 지금까지 우리는 SQLite를 사용했다!Django는 기본적으로 SQLite를 사용합니다.특별한 설정이나 설치 없이 바로 사용 가능하고, 하나의 .sqlite3 파일 안에 모든 데이터가 저장됩니다.Python에 내장된 DB 엔진이라 개발 초기에는 매우 편리합니다.✅ "별다른 설치 없이 바로 시작할 수 있는 것" = 개발자에게는 큰 장점!❗ 그런데 SQLite는 문제없을까?SQLite는 단일 파일 기반이라:대용량 트래픽.. 2025. 7. 30. 이전 1 2 3 4 5 ··· 8 다음