처음으로 프론트,백 나눠서 개발하는 프로젝트를 처음으로 해보게 되었다 물론 새로운 서비스를 만드는 것은 아니고 클론코딩으로 기존에 있던 웹사이트를 따라서 만드는 것이지만 모든 코드는 스스로 작성하고 로직도 스스로 구성해야 하며 해당 사이트와 완전 똑같이 만드는 것이 아니라 해당 사이트의 틀을 가지고 비슷하게 만드는 것이기 때문에 백엔드인 나는 팀원들과 관계형 데이터 모델링 부터 작성하는 과정이 필요했다. 해당 사이트를 보면서 프론트의 팀원들과 어떤 페이지를 구현할것인지 정하고 구현할 페이지에 맞춰 어떤 데이터가 필요할지 고민하며 만들었다.
정말 간단한 테이블 3~4개의 ERD를 가지고 연습해본적은 있지만 직접 커머스 사이트의 데이터를 ERD로 구성하려고 하니 처음에는 막막하기도 하고 많은 어려움이 따랐다. 먼저는 필요해 보이는 모든 데이터를 쓰고 제1,2,3정규화 과정을 거치면서 점점 줄여나가는 방식으로 접근했다. 또 화면에 보이는 페이지는 서로 다르지만 사실 같은 데이터를 사용하는 페이지들을 고려하거나 many to many 테이블의 중간테이블을 어떻게 구성할것인지 대해서 고민해야 하기도 했다. 때로는 중간테이블이면서 동시에 기능을 수행할수 있어야 하기떄문이다. 계속되는 토의와 수정 과정을 거치면서 완성해 나갔다.
이 후에는 이미 짜둔 ERD를 기반으로 models를 작성해서 데이터 베이스에 테이블을 생성하고 view를 작성하기 시작했다.
나의 경우는 회원가입,로그인,JWT,bcrypt적용등을 우선으로 구현해야 했기때문에 기존에 했던 개인 클론 프로젝트에서 공부했던 내용을 복습하는 마음으로 할수있었다.
코딩과 기능구현 이외에도 프론트개발자들이 사용하는 용어들을 모르는게 많아 회의하면서도 단순한 용어들도 이해하지못하는 경우도있었고 역으로 동료인 프론트 개발자에게 이해하기 쉽도록 어떤 작업을 하고있는지 풀어서 설명할 필요성도 있었다. 서로간에 전체적인 프로세스에서 어디서 어떤 데이터가 어떤 형식으로 아가야 되는지에 대해 감이 오지않았지만 model을 작성하면서 서로간에 KEY값을 통일하는 과정을 거치거나 데이터를 어떤 형식으로 전해 받을 것인지 데이터를 정렬하거나 분류하는 작업을 프론트엔드에서 할것인지 백엔드에서 할것인지 등등에 대한 논의가 필요했었다. 우선은 백엔드였던 내가 shell에서 데이터를 원하는데로 자유자재로 가공할 능력이 없어서 처음에는 어려운 부분이 좀 있었던것 같다.
'Repository of idea > retrospect(회고)' 카테고리의 다른 글
CS파트 면접 회고 (0) | 2022.11.19 |
---|---|
[인턴] 첫 인턴 회고 (1) | 2022.01.23 |
[2차 프로젝트 회고]Readybooks를 만들며 (0) | 2021.12.26 |
[1차프로젝트 회고] Dr tart 를 만들며 (0) | 2021.12.11 |
개발공부를 시작한지 그 얼마 되지도 않아서.. (0) | 2021.11.27 |