본문 바로가기

Programming138

[개발자 기술 면접 대비] 프로그래밍 공통 기술 면접 정리 프로그래밍 공통1. OOP(Object-Oriented Programming)에 대해 설명하시오객체지향 프로그래밍(OOP, Object-Oriented Programming)은 데이터를 객체(object)로 추상화하여,객체 간의 상호작용을 통해 문제를 해결하는 프로그래밍 패러다임🔹 OOP의 4대 핵심 특성특징설명캡슐화 (Encapsulation)데이터(속성)와 기능(메서드)을 하나로 묶고, 외부로부터 내부 구현을 숨김상속 (Inheritance)기존 클래스(부모)의 속성과 기능을 새로운 클래스(자식)가 물려받음다형성 (Polymorphism)하나의 인터페이스로 여러 기능을 구현할 수 있음추상화 (Abstraction)복잡한 구현은 숨기고, 필요한 기능만 인터페이스로 노출✅ OOP -> 코드의 재사용성,.. 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.
✅ 웹 서버 vs 웹 프레임워크 차이 항목웹 서버 (Web Server)웹 프레임워크 (Web Framework)역할클라이언트의 요청(HTTP)을 받고, 정적 파일 제공 또는 애플리케이션에 전달웹 애플리케이션의 동작 로직(라우팅, DB처리 등)을 처리기능정적 파일(CSS, 이미지, JS) 제공, 요청 분배, 리버스 프록시 등URL 라우팅, 템플릿 렌더링, ORM, 폼 처리, 보안 등주요 예시Nginx, Apache, Caddy, IISDjango (Python), Express (Node.js), Spring (Java), Laravel (PHP)운영 위치클라이언트와 웹 앱 사이에 위치 (앞단)웹 서버 뒤에서 실행 (애플리케이션 내부)정적 파일 제공빠르고 최적화된 방식으로 제공제공하지 않거나, 개발 환경에서만 임시 제공언어 독립성언어에 관계.. 2025. 7. 30.