2021-01-27(Wed)

항목

내용

학습 날짜

2021-01-27(수)

학습 시간

10:00~24:00

학습 범위 및 주제

DB 설계

학습 목표

프로젝트 진행에 필요한 DB를 설계한다.

동료 학습 방법

eunhkim, yohlee님과 adobe xd로 페이지를 디자인하였다.

상세 학습 내용

lucidchart를 활용하여 DB를 설계하였다.

1:1, 1:다, 다:다 관계만 표현했다. 어차피 레일즈 모델 연관상에서는 이 것들만 취급하기 때문이다.

이후 task를 아래와 같이 나눴다.

  1. 프로젝트 전체 html 구조 잡기

  2. DB migrate 파일/ seed or fixture 데이터 셋팅

  3. API 문서 따라 router와 controller 셋팅

  4. docker로 개발환경에 필요한 gem 추가 설치 및 타 task 통합

이 중 은휼님과 4번째 task를 함께 진행하였다. 사실 이 부분은 예전에 은휼님이 docker-compose 사용법과 volume 연동을 학습해두셔서 빠르게 끝날거라 생각했는데, gem 추가하며 생기는 충돌과 docker rails 이미지와 postgsql 이미지 연동에 이슈가 좀 있어서 시간이 오래걸렸다.

가령 문제 중 하나였던 바인딩. 도커 컨테이너 내부에서 돌아가는 rails를 내 로컬의 localhost:3000 으로 접근하려면 단순히 포트만 연다고 되는 것이 아니라 아래처럼 바인딩까지 해줘야한다. 그럼 컨테이너 바깥에서 3000 port로 접근하는 것들을 any binding한다.

rails server -b 0.0.0.0 -p 3000

https://blog.cometkim.kr/posts/start-ruby-on-rails-with-docker/

학습 내용에 대한 개인적인 총평

오늘은 아내의 생일로 프로젝트에 늦게 참여하였다. DB와 관련하여 예전 ft_mate 프로젝트를 진행할 때 고생했던 기억이 있는 참이라 이번 기회에 뽀개보고 싶었는데, 팀원들이 대부분 뽀개주신 상태여서 조금 아쉬웠다. 그리고 docker로 환경셋팅하며 느꼈는데, 가상화 기술은 정말.. 협업할 때 필수인 것 같다. 이렇게나 gem 파일이 충돌해대는데 컨테이너가 없었다면 얼마나 끔찍했을까..

다음 학습 계획

  • 타 task를 테스트하면서 environment 깃 브랜치에 통합해나간다.

Last updated