본문으로 바로가기

2019-04-04-THU

category TIL 2019. 4. 4. 13:04

■ 목표

  • 카피 사이트(프로젝트) 완성(배포 후 추가 기능 구현 중)
  • udemy 강의 영상(쇼핑 카트 만들기) 완성 (90%)_ AWS 배포로 전환 예정_
  • 1일 1커밋(그동안 공부한 repository 에 주석 + 티스토리 블로그 포스팅)
  • 프로그래머스 알고리즘 풀기
  • 그동안 프로젝트한 저장소에 README.md 추가
  • udemy 강의 추가!!!(TDD & API 관련 강의)
  • (도서) 생각의 탄생 완독(~/.200p)

■ TIL(Today I Learned)

독서) 생각의 탄생

 

2019-04-04(목)

관찰, 추상화, 형상화, 패턴인식, 패턴형성, 유추

모든 것에는 패턴이 있고, 그 패턴이 모여서 새로운 패턴을 형성한다. 즉, 공부를 할 때도 무작정 외운다기 보다는 각 카테고리를 분류하고 패턴을 인식하는 것이 훨씬 더 깊은 학습 효과를 가진다.

 

유추라는 것은 하나의 사물을 보았을 때 받아들이기만 하는 것이 아니라 창의적으로 생각해내는 것이다. 창의력은 타고나는 것이 아니라 우리 생활에서도 충분히 훈련할 수 있는데 예를들면 머그컵을 보고 물을 담는 용도 말고 다른 용도가 있다면 무엇이 있을까? 처럼 다양한 시선으로 이해를 한다면 발전할 수 있다고 생각한다.

 

p. 209

"어떤 사물을 볼 때, '그것이 무엇인가'가 아니라 '그것이 무엇이 될까'에 착안해야 한다. 그래야 사물을 전혀 새로운 방식으로 활용할 수 있다."

 

udemy 강의(TDD)

 

2019-04-03(수)

STATIC 과 MEDIA 파일

- STATIC 파일은 프로젝트에 종속되어 장고 프로젝트에서 지원한다.

- MEDIA 파일은 static() 메서드를 사용하여 STATIC 과 같이 프로젝트에 종속시킨다.

 

chmod(changemode)

r: 읽기(4)

w: 쓰기(2)

x: 실행(1)

 

소유주/그룹/나머지/

 

chmod755: 소유주 그룹은 모든 권한/그룹과 나머지는 읽고 실행할 수 있는 권한만 부여

 

2019-04-02(화)

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 container 의 구조)

 

- 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 끼리 매칭시켜야 연결 가능)

 

 

컴퓨터 기초

2019-04-03(수)

- 패킷

패킷에는 (payload 와 같은)데이터가 담기며, Header 를 포함한다.

그리고 패킷은 데이터를 쪼개기 때문에 각 패킷마다 번호를 가지고 있고, response 받는 쪽에서 패킷을 합친다.

 

실제로 송장이 Header 에 포함되며 이름은 port 주소는 ipv4 와 같은 IP 주소로 비유할 수 있다.

그리고 Gateway 를 지나면 ISP(Internet Service Provider) 가 제공하는 라우터로 reponse 쪽으로 정보를 제공한다.

 

- OS 가 하는 일은 스케줄링과 동기화를 진행

 

RAM 에서는 현재 실행하고 있는 프로그램을 처리하며, 백그라운드에서 존재하는 프로그램들은 여유가 되면 RAM 에 그렇지 않다면 HDD 에 존재하여 대기하고 있다.

프로그램을 실행시키게 되면 프로세스가 진행된다. 그리고 이 프로세스 안에는 수많은 쓰레드가 존재한다.

프로그램 > 프로세스 > 쓰레드

 

 

'TIL' 카테고리의 다른 글

2019-04-10-WED  (0) 2019.04.10
2019-04-08-MON  (0) 2019.04.08
2019-04-03-WED  (0) 2019.04.03
2019-04-02-TUE  (0) 2019.04.02
2019-03-26-TUE  (0) 2019.03.26