본문 바로가기
반응형

Embedded169

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.
CSS&JS 부트스트랩 https://getbootstrap.com/ BootstrapPowerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.getbootstrap.com 부트스트랩을 다운로드하면 미리 만들어 놓은 각종 반응형 기본 소스코드들을 가져다 쓸 수 있다.우선 나는 부트스트랩 4.6x버전으로 다운로드 한다. https://getbootstrap.com/docs/4.6/getting-started/introduction/ Intro.. 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.
반응형