본문 바로가기
반응형

Embedded/Python-Django29

Docker 관련 명령어 docker-compose build : 도커 컴포즈가 Dockerfile을 기반으로 하나 이상의 서비스를 이미지로 빌드하는 명령어docker-compose up : docker-compose.yml에 정의된 모든 서비스 컨테이너들을 한꺼번에 실행docker-compose up -d : docker-compose.yml에 정의된 서비스들을 백그라운드(detached) 모드로 실행docker image ls : 로컬에 저장된 Docker 이미지 목록을 출력하는 명령어docker-compose down : docker-compose up 또는 up -d로 실행한 컨테이너들을 완전히 멈추고 정리[ docker-compose down 했는데도 안 먹힐 때 ]sudo killall docker-containerd.. 2025. 7. 4.
Docker 설정(.env.dev) ✅ .env.dev가 뭐야?.env.dev는 **“개발 환경에서만 사용할 설정값들을 담은 환경 변수 파일”**이야.보통 .env.production, .env.test, .env.local 같은 다른 환경용 파일과 구분해서 사용해.✅ .env.dev에 보통 들어가는 것들더보기DEBUG=True DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 DJANGO_SECRET_KEY=dev-secret-key DB_NAME=mydb DB_USER=postgres DB_PASSWORD=postgres DB_HOST=db DB_PORT=5432 모든 민감 정보와 설정값을 하드코딩하지 않고 여기에 보관함✅ 왜 좋은가? (장점)기능설명🔒 보안Git에 SECRET_KEY, DB 비밀번호 노출 방지.. 2025. 7. 4.
Docker 설정(settings.py) ✅ 왜 DEBUG = False를 꼭 해야 할까?👉 DEBUG = True 상태에서 발생하는 문제들:1. 🧨 예외 발생 시 내부 정보가 그대로 노출됨Django는 에러가 나면 아래처럼 친절한 에러 페이지를 보여줌:더보기TypeError at /users/ str() argument must be str, not NoneType Request Method: GET Request URL: http://example.com/users/Python Version: 3.10 Django Version: 4.2.14 Installed Apps: [...] 🔓 이게 무슨 문제냐면?코드 경로 (/home/ubuntu/myproject/venv/lib/...)사용 중인 Python, Django, 라이브러리 버전.. 2025. 7. 4.
Docker설정(docker-compose.yml) ❓ docker-compose.yml 에 대해서 어떻게 생각하냐고?👉 요약하면:Dockerfile이 “서비스 하나의 설명서”라면,docker-compose.yml은 “그 서비스들이 어떻게 함께 연결돼야 하는지에 대한 청사진”이다.✅ docker-compose.yml 의 진짜 가치1. 📦 여러 개의 컨테이너를 하나처럼 다룰 수 있다웹서버 (Django, FastAPI 등)데이터베이스 (PostgreSQL, MySQL 등)캐시 (Redis)메시지 브로커 (RabbitMQ)Nginx, Celery, MinIO, MailHog 등등services: web: build: . ports: - "8000:8000" volumes: - .:/app depends_on: .. 2025. 7. 4.
Docker 설정(Dockerfile) ❓ "Dockerfile에 대해서 어떻게 생각해?"👉 짧게 말하면:Dockerfile은 "코드로 작성된 개발 환경 & 배포 환경 스냅샷"= 내가 만든 프로젝트가 “어디서든, 누구에게든, 똑같이” 실행될 수 있게 해주는 계약서✅ Dockerfile의 진짜 가치는?1. 🧱 재현 가능한 환경OS 버전, Python 버전, 패키지 설치 순서까지 완전히 고정됨내 컴에선 되는데?란 말 사라짐2. 📦 개발 환경과 배포 환경의 일치로컬에서 쓰는 Dockerfile을 그대로 AWS, GCP, Vercel, DigitalOcean에 배포 가능→ 빌드 타임 에러 없음→ 테스트에서 통과했으면 운영에서도 통과함3. 🧪 의존성 & 보안 격리호스트 OS와 격리root 권한 침해 없이 서브 환경 구축패키지 충돌 없는 virt.. 2025. 7. 4.
Docker 설정(requirements.txt) 🎯 핵심 질문 요약:pip freeze > requirements.txt 하면 이미 잘 동작하는 가상환경의 버전들이 저장되는 건데,왜 이걸 기반으로 다시 설치하면 에러가 나?✅ 대답:"freeze된 환경" ≠ "다시 설치 가능한 환경"pip freeze는 현재 설치된 패키지들의 결과를 기록하는 것이지,그 상태를 다시 재현할 수 있다는 보장은 주지 않아.🔍 비유로 설명하자면:pip freeze는 마치 지금 네 집에 설치된 가전제품 리스트를 적은 메모야.문제는, 몇 년 뒤 다시 이사하려고 그 리스트를 들고 가서똑같은 거 주문하려고 했는데:어떤 제품은 단종어떤 제품은 부품 충돌어떤 제품은 공급처 없음심지어 어떤 건 이젠 OS랑도 안 맞음그래서 "내가 살던 환경은 멀쩡했는데, 왜 재설치하면 안 되지?" 라는.. 2025. 7. 4.
Docker 설치하기 window에서 하면 쉽게 설치되는데, ubuntu에서 개발하다보니 설치하기 빡센 docker 설치.원래는 다른 블로그에 있는거 보고 대충 따라하려고 했는데, 버전 업업되면서 설치 방법이 바뀜... 휴... 우선 docker 왜 설치하냐???=> '내 컴터에는 되던데...'를 해결시켜주기 위해, 즉, 모든 컴터에서 되게 하기 위해!!! 다른 os에서도 사용 가능! [ Ubuntu docker 설치 방법 ]더보기# 1. 필수 패키지 설치 sudo apt update sudo apt install ca-certificates curl gnupg # 2. Docker 공식 GPG 키 등록 sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://downlo.. 2025. 7. 3.
Ubuntu Pycharm 설치 https://www.jetbrains.com/pycharm/download/?source=google&medium=cpc&campaign=APAC_en_KR_PyCharm_Branded&term=pycharm&content=698987581413&gad_source=1&gad_campaignid=14124132441&gbraid=0AAAAADloJzirLForJ1vyDl7syyw_U9dYi&gclid=CjwKCAjw9anCBhAWEiwAqBJ-c0TFHTese_cZTleo3o8bQrxcSjochJyk0NdqeEoxgbO9J3AMikFutRoCx34QAvD_BwE&section=windows# Download PyCharm: The Python IDE for data science and web deve.. 2025. 6. 12.
Django 404에러 메시지 출력 from django.http import Http404from django.shortcuts import renderfrom .models import Question# ...def detail(request, question_id): try: question = Question.objects.get(pk=question_id) except Question.DoesNotExist: raise Http404("Question does not exist") return render(request, 'polls/detail.html', {'question': question})이게 일반적인 404 에러 메시지 출력 코드그리고 아래가 숏컷 코드이다.from django.. 2025. 6. 10.
알아두면 좋은 Ubuntu 명령어 cd 경로 : 원하는 경로로 ㄱㄱ( 어느 정도 입력 후, tab키 누르면 나머지 폴더명 자동 생성 )cd .. : 한 단계 이전 경로로 이동( * cd 띄어쓰기 ..)touch 새 파일 경로 : 새 파일 생성unzip 파일명.zip : zip파일 압축 풀기tar -zxvf [파일명.tar.gz] : tar.gz파일 압축 풀ls : 경로 안에 있는 폴더 및 파일들 봄ls -A : 경로 안에 있는 숨긴 폴더 및 파일들도 봄* 폴더 내에서 숨긴 파일 보기 : ctrl + H 2025. 6. 10.
반응형