
노트북이 너무 느려져 윈도우11 초기화를 진행했다 필요 없는 파일들도 싹 지우고 싶어서 원드라이브에 백업 후 C까지 몽땅 지웠다 (모든 항목 제거 > 로컬 다시 설치) 포맷 후 설치/설정한 항목들은 다음과 같다 slack postman vsc 및 extension 설치: python, copilot gitkraken putty intellij: Lombok 플러그인 설치 mysql, workbench h2 database vim jdk 설치 및 환경변수 등록 npm docker 그 외 onedrive 동기화 카카오톡 디스코드 chrome notion
Annotate DB 쿼리 결과에 집계 함수나 특정 필드를 추가할 때 사용한다. Example 1. Book 모델에서 작가별 책의 수, 작가별 평균 가격도 함께 출력하기 from django.db.models import Count, Sum, Avg, F # 예시 모델: Book 모델 (title, author, published_date, price 필드) from .models import Book # 각 작가별로 출판된 책의 수와 평균 가격을 얻는 예제 queryset = Book.objects.annotate( num_books=Count('id'), # 작가별 책의 수 avg_price=Avg('price'), # 작가별 평균 가격 ).order_by('author') 위의 예제에서 num_bo..
Select 객체 하나만 찾기: get() User.objects.get(id=34100) 조건이 일치하는 객체 하나를 리턴한다. (따라서 PK로 조회하는 것을 추천한다) 리턴값이 2개 이상일 때는 에러가 발생한다. Return type이 쿼리셋이 아닌 객체이기 때문에 속성에 접근 가능하다 조건에 맞는 객체를 모두 가져오기: filter() User.objects.filter(age=20) 리턴값은 쿼리셋이다. 이때 username에 'so'가 들어간 유저들을 가져오고 싶다면: __contains User.objects.filter(username__contains="so") __icontains: __contain과 비슷하지만 대소문자를 구분하지 않고 가져온다 __startwith, __endwith:..
이제 CD 환경을 구축해보자 django-cd.yml 파일을 만들어준다 name: Django CD on: workflow_run: workflows: [ "Django CI" ] types: - completed jobs: deploy: name: deploy runs-on: ubuntu-latest steps: - name: connect ec2 uses: appleboy/ssh-action@master # ssh 접속 라이브러리 env: SECRET_KEY: ${{ secrets.SECRET_KEY }} with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} port: 22 envs: SECRE..

CI 환경 구축 레포지토리의 Actions 탭에서 Github action을 등록할 수 있다 name: Django CI on: # action을 언제 실행할지 설정 push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest strategy: max-parallel: 4 # 병렬 처리 matrix: python-version: [3.7, 3.8, 3.9] steps: - uses: actions/checkout@v3 # @: github actions 라이브러리(v3) 사용 - name: Set up Python ${{ matrix.python-version }} uses: acti..

Github Actions이란? 빌드, 테스트, 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼이다. 단순한 DevOps를 넘어서, 레포에서 어떤 이벤트가 발생할 때 workflow를 실행할 수 있다. Ex. 새로운 issue가 생성될 때마다 자동으로 적절한 label을 붙이는 workflow Ex. 주기적으로 데이터를 수집해서 처리하는 workflow Github Actions의 구성 레포지토리에서 event가 발생되면 workflow가 시작된다. workflow에는 하나 이상의 job을 포함한다. 이러한 job은 순차적으로 실행될 수도 있고, 병렬적으로 (동시에) 실행할 수도 있다. 각각의 job은 자체적인 virtual machine 또는 컨테이너 내부에서 실행된다. Workflows : 하나..