■ 목표
- 카피 사이트(프로젝트) 완성(배포 후 추가 기능 구현 중)
- udemy 강의 영상(쇼핑 카트 만들기) 완성 (90%)_ AWS 배포로 전환 예정_
- 1일 1커밋(그동안 공부한 repository 에 주석 + 티스토리 블로그 포스팅)
- 프로그래머스 알고리즘 풀기
- 그동안 프로젝트한 저장소에 README.md 추가
- udemy 강의 추가!!!(TDD & API 관련 강의)
- (도서) 생각의 탄생 완독(~/.200p)
■ TIL(Today I Learned)
udemy 강의(TDD)
PUT, PATCH 의 차이
- PUT
: 해당 모델의 모든 자원이 필요함
- PATCH
: 해당 모델에서 수정하고자 하는 부분만 필요로 함
하나의 테스트 코드 안에서 db 를 업데이트 하지 않으면 put/patch 모두 확인할 수 없다.
그렇기 때문에 object_name.refresh_from_db()
메서드를 사용하여 새로 갱신이 필수
Many-To-Many 필드는 2개의 모델 사이에 중계 테이블이 존재하고,
해당 테이블에 객체를 추가하기 위해서는 add, remove 를 사용한다.
배포 과정
- deploy
를 하게 되면 크게 2가지의 과정으로 나뉜다.
첫번째는 S3 에 media, static 파일을 업로드
두번째는 eb 안에서 ec2 에 코드를 배포(docker 를 사용했기 때문에 eb > ec2 > docker 의 구조)
- STATIC_ROOT
: collectstatic 을 하게 되면 Django 의 static 파일 + 각 어플리케이션(app)의 static 이라는 디렉터리명의 파일이 모이게 되는 곳
- STATICFILES_DIRS
: 이 외에도 추가적인 정적 파일(static)을 포함하고 싶다면 STATICFILES_DIRS 를 settings.py 에 추가
(정확한 스펠링 입력, 튜플 또는 리스트 형식으로 설정)
- eb init --profile -> eb create --profile -> eb deploy --profile 의 순서대로 진행
- eb deploy (배포) 과정 중에 발생한 문제들은 /var/log/eb-activity.log 에서 확인 가능
- eb ssh 는 EC2 에 접속
- Revser proxy 에서 Nginx(EB):80 -> Docker:7000 -> Nginx(Docker):80
즉, EB 안에 Nginx 가 80번 포트를 주면 Docker 안의 Nginx 도 80번 포트를 받으면 접속이 됨(Nginx 끼리 매칭시켜야 연결 가능)
컴퓨터 기초
- OS 가 하는 일은 스케줄링과 동기화
를 진행
RAM 에서는 현재 실행하고 있는 프로그램을 처리하며, 백그라운드에서 존재하는 프로그램들은 여유가 되면 RAM 에 그렇지 않다면 HDD 에 존재하여 대기하고 있다.
프로그램을 실행시키게 되면 프로세스가 진행된다. 그리고 이 프로세스 안에는 수많은 쓰레드가 존재한다.
프로그램 > 프로세스 > 쓰레드
'TIL' 카테고리의 다른 글
2019-04-04-THU (0) | 2019.04.04 |
---|---|
2019-04-03-WED (0) | 2019.04.03 |
2019-03-26-TUE (0) | 2019.03.26 |
2019-03-25-MON (0) | 2019.03.25 |
2019-03-21-THU (0) | 2019.03.21 |