카테고리 없음

스파르타 AI-8기 TIL(12/4)-Django

kimjunki-8 2024. 12. 4. 23:27
Django에서 app이란?
Django 프로젝트를 구성하는 기본 단위로, 웹 애플리케이션의 특정한 기능 또는 모듈을 구현한 독립적인 패키지입니다. 개발하는 사람이 여러가지 기능을 구현한것입니다.
app 만드는 법
python manage.py startapp <name_of_app> #참고로 name_of_app은 복수형으로 만드는 것을 추천


그 다음, settings로 가서

여기다 자신이 만든 앱 이름 적기
dmin.py - 관리자용 페이지 관련 설정
apps.py - 앱 관련 정보 설정
models.py - DB관련 데이터 정의 파일(중요)
tests.py - 테스트 관련 파일 
views.py - 요청을 처리하고 처리한 결과를 반환하는 파일(


클라이언트-서버 구조
클라이언트란 서비스를 요청하는 쪽을 말합니다. 쉽게 말해, 어떤 시스템이나 프로그램에서 정보를 요청하거나 명령을 보내는 역할을 하는 "사용자" 또는 "도구"입니다.(서비스를 요청하는 주체(사용자))

서버
클라이언트가 보낸 정보를 받아, 가지고 있는 자원등을 사용해 응답하는 주체

요약하면,

 클라이언트가 서버에 요청을 하고, 요청을 받은 서버가 어딘가에 저장되어 있는 서치 파일을 받아 그대로 돌려줌


Docker
Docker CI/CD는 Docker를 활용해 CI/CD(Continuous Integration/Continuous Deployment 또는 Delivery) 파이프라인을 구현하는 것을 의미합니다. 이 는 애플리케이션의 개발, 테스트, 배포 과정을 자동화하여 더 빠르고 안정적인 소프트웨어 개발을 가능하게 합니다.
CI/CD란?
CI (Continuous Integration, 지속적 통합)
개발자가 코드를 자주 통합(merge)하여 빌드 및 테스트 자동화를 수행.
목표: 코드 변경 시, 문제가 즉시 발견되도록 하고 개발 속도를 높임.
CD (Continuous Deployment/Delivery, 지속적 배포/전달)
Continuous Delivery: 테스트를 통과한 코드를 배포 전까지 자동화(수동 승인이 필요).
Continuous Deployment: 테스트를 통과한 코드를 프로덕션 환경에 자동 배포.

Docker와 CI/CD
Docker는 애플리케이션을 컨테이너화하여 환경을 일관되게 유지할 수 있게 하므로, CI/CD 파이프라인에 적합합니다.
Docker의 장점
개발, 테스트, 배포 환경이 동일 → 환경 의존성 문제 해결.
빠른 빌드 및 배포.
컨테이너 이미지를 생성하여 어디서든 실행 가능.
Docker로 CI/CD 파이프라인을 구현하는 방식
Docker 이미지를 빌드하고 이를 CI/CD 프로세스의 기본 단위로 활용.
테스트, 빌드, 배포를 모두 Docker 컨테이너에서 수행.

요약:
코드 작성: 소스 코드 작성 및 리포지토리에 저장
빌드: 저장소에서 최신 소스 코드를 가져와 빌드를 수행. 빌드는 소스 코드를 컴파일하고, 라이브러리를 추가하고, 필요한 파일을 생성하는 과정.
테스트: 만들어진 프로젝트가 잘 작동하는지 확인하는 테스트를 수행, 정상적으로 작동하는지 확인 및 버그 발견시 수정 단계.
배포: 테스트가 끝난 결과물을 서버에 배포

오늘도 여기까지(솔직히 도커 설명이 너무 알기 어려워 다운만 2시간 넘게 했다는 전설이..)