백엔드를 시작한다는 것은 누군가와의 협업을 통해서 웹페이지를 만들기로 결심했다는 의미이다. 먼저 백엔드를 작업하기 위한 프레임보다 중요한 것이 있다 바로 Git(깃)이다.

Git이란?

협업을 하다 보면 수많은 수정과 삭제가 이루어진다. 이런 과정에서 다양한 버전이 생기는데 Git은 버전 관리를 도와주는 시스템이다. 

Git을 사용할 때는 gitHub 등의 원격 깃저장소를 사용하는데 이 점이 협업에 유리하게 작용한다. gitHub는 git을 원격에 올려두고 각자의 컴퓨터 즉, 로컬에 그 파일을 다운받아 작업한 뒤 변경 내용을 다시 원격에 올리는 방식으로 관리된다.

깃크라켄이란?

깃크라켄은 기존 CLI(Command-Line Interface 또는 Character User Interface, 글자를 입력하여 컴퓨터에 명령을 내리는 방식)바탕에서 이루어지는 git의 작업들을 사람들에게 익숙한 그래픽과 버튼으로 보여주는 깃 GUI 툴이다. CLI 방식은 직관적이지 않아 사용법이 익숙하지 않기 때문에 깃크라켄을 추천한다.

깃크라켄 사용법

GIT1.png

워킹디렉토리 > 추적 여부

  1. 추적하는파일
  2. 추적하지않는파일

gitignore 처리 된 파일들은 변화가 생겨도 추적하지 않고 add, commit 과정에도 관여하지 않는다. 나머지 추적하는 파일의 경우 변경 사항을 볼 수 있다.

GIT2.png

추적되는 파일

  1. unmodified
  2. modified
  3. staged

modified 상태인 파일을 gitadd 하면 staged 상태가된다.

GIT3.png

파일에 변동이 생겼을 때 체크 표시를 남기는 것을 commit이라 한다.

staged는 commit을 위한 준비단계로 modified 된 파일 중 선택적으로 파일을 stage해서 commit 할 수 있다.

DELETE.png

코드를 작성하다 commit을 했을 때의 버전으로 돌아가고 싶다면 휴지통 아이콘을 눌러 마지막 commit 포인트로 돌아갈 수 있다.

PUSH.png

commit을 하면 그 내역은 로컬에만 저장 된 상태이다. 협업을 위해서는 리모트에 업로드해야한다. 이때 리모트로 업로드 하는 작업을 push라고 한다.

반대로 리모트에 있는 내용을 로컬로 받는 것은 pull이라고 한다. pull은 fetch와 merge를 합친 개념이다.

리모트 작업 내용을 가져와서 보기만을 원한다면 fetch를 하면 되고, 병합하기를 원한다면 merge를 하면된다.

깃크라켄에선 push, pull 버튼을 사용하면된다.

Flask 개발 환경 만들기

GoormIDE, VScode 등 다양한 환경에서 Flask를 사용할 수 있다. 본인이 사용하는 환경의 터미널에 아래와 같은 명령어를 입력하면 데이터베이스인 pyrebase가 설치되는 것을 볼 수 있다.
pip3 install pyrebase --use-feature=2020-resolver
이제 Firebase에 접속하여 새로운 프로젝트 생성하기 버튼을 누른 다음 realtime database를 사용할 차례이다.  

fire4.png

fire1.png

realtime database 생성하기 버튼을 눌러 데이터베이스의 위치를 미국으로 설정한 뒤, 보안규칙을 필요에 맞게 변경해야한다.

fire3.png

fire2.png

앱에 firebase 추가하기 버튼을 눌러 본인이 만들고자 하는 앱의 제목을 적어 앱 등록 버튼을 누른다.