2021-01-27(Wed)
항목 | 내용 |
학습 날짜 | 2021-01-27(수) |
학습 시간 | 10:00~24:00 |
학습 범위 및 주제 | DB 설계 |
학습 목표 | 프로젝트 진행에 필요한 DB를 설계한다. |
동료 학습 방법 | eunhkim, yohlee님과 adobe xd로 페이지를 디자인하였다. |
상세 학습 내용
lucidchart를 활용하여 DB를 설계하였다.
1:1, 1:다, 다:다 관계만 표현했다. 어차피 레일즈 모델 연관상에서는 이 것들만 취급하기 때문이다.
이후 task를 아래와 같이 나눴다.
프로젝트 전체 html 구조 잡기
DB migrate 파일/ seed or fixture 데이터 셋팅
API 문서 따라 router와 controller 셋팅
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