본문 바로가기
공부 및 활동/heroku, django

Heroku를 하다 알게된 내용

by KChang 2021. 10. 11.

1. Django Static

개발한 프로젝트를 운영 서버로 배포하다 보면 static 파일을 모으게 되는데 이때,

python manage.py collectstatic 명령어를 사용하게 된다.

collectstatic : Django 프로젝트의 여러 app에서 사용하는 스테틱 파일을 한 곳으로 모아주는 역할을 한다. (물리적으로 파일을 copy 한다는 뜻이다.)

 

사용자의 요청이 들어오면 웹서버가 받아서 적절한 처리 후에 웹 애플리케이션에 넘겨주고 웹 애플리케이션은 우리가 작성한 로직에 따라 적절한 처리 후에 웹서버에 돌려주어 사용자에게 응답(Response)하는 것이다.

serverapp

이것을 간단하게 도식화하면 위 그림과 같이 된다.

웹서버와 웹 애플리케이션 사이에는 WSGI(Web Server Gateway Interface)라는 규약을 통신하게 된다.

이에 대해 구체적인 것은 https://crynut84.github.io/2016/11/14/django-static-file/ 이것을 참고하면 될 것 같다.

 

heroku에서 모아주는 역할을 하기 위해서는 COLLECTSTATIC을 사용한다.

이를 자동 배포하기 위해서는 이와 같이 입력하고

$ herkou config:set DISABLE_COLLECTSTATIC = 1

Heroku안에 Config Vars에서 DISABLE_COLLECTSTATIC에 1을 주겠다라는 의미이다.

헤로쿠 환경변수

 

2. Conflict 오류 발생

병합과정에서 Conflict이 발생할 수 있다.

pull Request를 이용해서 두 개의 branch를 병합하여 확인할 수 있다. (양이 많을 때는 local에서 하고, 적을 경우는 웹에서 한다.)

첫 화면시, branch 컨플릭 난 부붕은 수정해야한다.

resolve conflict에 접근한다.

pull request2

접근 시, 이와 같이 된다. 등장한 파일들은 컨플릭이 난 부분이다.

이제, 이를 수정하는데 공백문자나 걸리는 게 있는지 체크하면서 수정한다. (대부분 아래 내용을 지우면 된다. 새로 만든 브랜치를 기존 master에 적용하기 때문에)

<<< develop/social-login
~~~
===
~~~
>>> master
pull request3

수정완료 후, Commit merge를 눌려준다.

pull request4 다되었을 때Pull request5 성공Pull request6

현재 배포되고 있는 모습이다.

배포되고 있을 때

 

3. Co-Programming, 개발자들간에 화면 공유하기

vscode Live Share : https://prod.liveshare.vsengsaas.visualstudio.com/join?4A5B22DF2BCC6546B807BE168A30A1723CEA

vscode extension -> live share 설치 후 접속하면 된다.

이게 무엇인가?

  • 원격으로 떨어져 있는 사람들끼리 모여서 자신의 vscode를 다른사람이 사용할 수 있다.
  • 같은 작업공간에서 사용할 수 있다.
  • intelij도 지원하지만 유료이다.
  • 더 좋은 퍼포먼스의 코드를 만들 수 있다.

코웍을 하면, 커밋로그에 자동으로 찍어준다.

사진3

 

4. Git, SourceTree

Revert와 소스트리 정리하기

 

 


참고자료

댓글