20191123 TIL - 프로젝트 회고

kykevin·2019년 11월 24일
1

위코드에서의 2차 프로젝트가 끝이 났다. 1차때는 길을 헤메이느라 정신이 없었다면 2차는 나의 머릿속 기대치와 내 역량의 차이에서 오는 괴리때문에 힘이 들었던 것 같다. 아무튼간 2차 프로젝트에서 느꼈던 점들을 글로 짧게 나마 정리해서 남기고자 한다.

1. 커뮤니케이션

  • 분명 사람은 각자의 말하는 법을 가지고 있다. 나의 경우에도 회사생활에서 나의 화법으로 인해 업무가 지연되거나 잘못된 방향으로 흘러가는 경우를 본적이 있어서 고치려고 꽤나 노력해왔고 지금도 노력하는 중이다. 하지만 대화는 결국 사람 사이에 일어나는 것이기 때문에 아무리 고치려 서로의 화법은 완벽할 수 없고, 영원히 노력하는 수 밖엔 없다. 원활한 커뮤니케이션의 첫 번째 키가 명료한 화법이라는 것은 이번에도 여실히 느꼈다.

  • 여기에 지식의 차이에 의한 커뮤니케이션 미스가 발생한다. 어떠한 기능을 구현함에 있어, 이 부분이 프론트엔드의 로직인지. 백엔드의 로직인지 모호해지는 경우가 생긴다. 결국 나도 협업자도 본인이 생각하기에 여기까지만 해주면 되겠지라는 생각으로 서로 생각한 부분까지만 구현하고 실제로 데이터를 연결할때에서야 무엇이 더 필요한지 알게된다. 시간의 압박으로 기획을 정확히 명세하지 않고 간 것이 1차적인 문제이겠으나, 밀접하게 협업할 수 있었던 환경이 있었다는걸 감안하면 충분히 일어나지 않을 수 있었던 문제였던것 같다. 뭔가 문서나 스프레드시트, 파워포인트를 활용해서 좀더 원활한 커뮤니케이션을 다음부터는 적극적으로 해봐야겠다는 생각이 들었다.

2. 상용화에 대한 욕구

  • 1차와 2차프로젝트를 거쳐가면서 나는 많은 양의 데이터가 주는 가치에 대한 목마름이 조금 더 깊어졌다. 내가 짠 로직이 만명정도의 유저를 가지게 되었을 때를 생각하면, DB나 서버가 버텨내지 못할것 같다는 생각이 드는 로직이 한 두개 씩은 꼭 있었다. 예를 들면 이번 에어비엔비 클론의 위치기반 검색 서비스가 그렇다.
    1. 입력된 검색어의 위경도를 Google Maps API에서 받아온다.
    2. 우리 서비스가 가진 숙소 db와의 거리를 전부 계산하여 기억한다.
    3. 그 중에서도 가까운 N개의 숙소들의 상세정보를 다시 DB에 접근해서 받아온다.
    4. 원하는 형식으로 검색된 숙소의 정보를 엔드포인트로 내어준다.
  • 이 로직은 고작 100여개의 숙소만을 저장해놨었던 우리 서비스에서는 무리없이 동작했지만, 숙소의 갯수가 10000개만 되어도 성능이 의심되는 기능이 될게 뻔해보인다. 하지만 이 부분을 어떻게 개선하는지 아직 알지도 못하고, 안다고 하여도 현실적인 벽에 부딪힐 것 같아서 더 파진 않았다. 좀 더 공부가 필요하다고 느껴지는 부분이었고, 우물안 개구리에서 벗어나려면 어떻게든 상용화서비스를 만들어 봐야겠다는 욕구가 강하게 드는 부분이기도 했다.

3. DB 구조를 고치는 일의 무게

  • 마지막날 DB를 날려먹었다. 원인은 이랬다. 나는 두명의 프론트엔드 개발자와 협업해야했고 두명 모두를 위해 다른 브랜치에 있는 엔드포인트를 열어주어야 했다. 해서 한명의 개발자에게 내 깃의 소스코드를 카피한 디렉토리를 만들어 다른 포트로 서버를 열어주었는데, 이부분에서 필요에 의해 DB구조를 손대게 되었고 기능을 확인하기 위해 마이그레이션을 진행해버렸다. 프로젝트 마지막에서 이 두 브랜치를 병합하는 과정에서 의존성 에러때문에 서버가 돌아가지 않았고 결국 궁여지책으로 DB를 백업한 후 다시 입력하려했으나 DB백업조차 정상적으로 되지 않아서 그동안 쌓아놓은 크롤링 데이터와 정규화 데이터가 모두 날아가 버렸다. (당연히 내 멘탈도 같이 날아갔다.)
    1. 디비는 신성한 것이다. 처음부터 완벽할 수 없지만 완벽에 가깝게 짜주어야 나중에 후회를 덜한다.
  1. 브랜치가 다른 두개의 서버를 열어주는 것은 협업을 하다보면 어쩔 수 없는 일이겠지만, 코드는 철저히 백업해서 깃 위에서만 작업해야한다. 특히 DB구조를 변경하거나 마이그레이션을 해야하는 경우, 본인이 작업한 내용이 마스터에서 어떤 영향을 줄지 좀더 잘 알고 진행해야한다.
profile
Back-end Developer, pursuing to be a steadily improving person.

4개의 댓글

comment-user-thumbnail
2019년 11월 26일

ㅠㅠㅠㅠㅠ마음이 아프네요

1개의 답글