미니프로젝트 평가지 {기술면접 대용}
requirements.txt와 requirements.dev.txt 파일의 역할에 대해 설명해주세요 (5점)
req.txt는 배포에 필요한, req.dev.txt는 개발중에 필요한 패키지를 포함한다.
ex) flake, linter
.gitignore 파일의 목적은 무엇인가요? (2점)
깃허브에 안올라가도 되는 파일을 정리하기 위해 만들어놓은 것. - pycache - log - .env → 올라가면 ❌
docker에 대해 설명해주세요 (3점)
가상환경 설정하는 플랫폼. 컨테이너 기반이고, app 종속성이나 패키징, 일관된 환경을 도와주는 가상환경 플랫폼.
VM 써도 되는데, 경량화도 있고, 성능도 좋고 VM은 Hypervisor 기반이라서 느리다. 효율성에도 차이가 있다. VM은 설정이 복잡하다. docker image는 어디서나 동작하기도 하고.
docker-compose.yml 파일의 역할에 대해 설명해주세요 (2점)
환경설정 관리를 할 수 있다. 컨테이너의 환경변수나 네트워크 설정, 포트번호 등등.
dockerfile, docker-compose.yml 차이점은 dockerfile은 이미지 빌드. docker-compose.yml은 멀티 컨테이너(이미지) 관리
제출한 파일에서 docker image를 build하고 docker server를 실행하는 방법에 대해 설명해주세요 (3점)
docker build . → image 생성
docker-compose build → 여러개의 이미지들을 빌드한다.
docker-compose up → 실행