항해99 62일차

coffeed-cat·2021년 7월 20일
0

항해99 기록

목록 보기
67/90

2021/07/20 화요일 Chapter 6 : 2-2일차

오늘은 기존의 MongoDB를 MySQL로 바꾸기 위해 씨름했다.

강의를 보면 수월하게 바꿀 수 있을 줄 알았다.
관계형 DB를 제대로 만져본 적이 없었기 때문에 나온 자신감이었다.

기존의 스키마를 MySQL로 전환하려니 막막해져왔다.

MongoDB에서는 Array를 데이터로서 넣을 수 있었지만 MySQL은 그게 되지 않는단다.

구글링을 하니 그런 경우에는 테이블을 하나 새로 만들어서 하는 방법이 있다는데, 글만 읽어서는 감이 오지 않았다.
그렇다면 아이템 하나하나의 옵션이 다 다른데 그 갯수만큼 테이블을 만들어야 하는건가 하는 생각이 들었다.

MySQL로 프로젝트 진행하신 분들께 여쭤보니, 그제서야 이해가 되었다.

아이템마다 옵션의 갯수가 전부 다른데 그런걸 어떻게 처리해주는지 의아했는데, 그냥 최댓값만큼 만들어놓고 나머지를 비워놓으면 된다.
MySQL도 그런 유연한 대처가 가능할줄은 몰랐다.

여러 분들의 말씀을 듣다 보니 쿼리문 같은 것도 어떻게 쓰는 건지 정도는 이해하고 있어야 공부가 될 것 같았다. 생활코딩님의 강의로 MySQL이 어떻게 돌아가는지 파악하기로 했다.

내일 오전까지 다 듣고 오후에는 본격적으로 작업을 시작하고 싶다.



오늘 배운 것

  • 튜터님께 추상화에 대해 질문할 기회가 생겨 질문했다.

추상화를 할 때 참고할만한 기준 :
함수가 너무 길어서 한번에 이해하기 어려울 때
코드의 중복이 있을 때

지금 단계에서는 코드를 깔끔하게 하는 것에 지나치게 매몰될 필요는 없다.

  • try catch를 해당 행위만 감싸주는게 좋다
    근데 너무 남발하면 가독성 떨어진다
    적당히 트레이드오프 해가면서 선호하는대로 짜세요

  • 몽구스의 populate()로 관계를 맺어줄 수가 있다고 한다. 한번 써보고 싶다.

  • Git의 branch를 만들어서 협업하는 방법을 배웠다. 너무 재미있었다. 실전에서도 써보고 싶다.

profile
공부중

0개의 댓글