첫 협업을 진행하며(미니프로젝트)<WIL.220619>

박건영(Parkgunyoung)·2022년 6월 19일
0

WIL

목록 보기
6/8
post-thumbnail

항해99를 시작한지 42일차가 되었다.

지난주 목요일부터 이번주 목요일까지 주특기 주차가 끝나고 첫 프론트와 백앤드 협업을 통한 미니프로젝트를 진행하였고 수많은 시행착오를 겪었던 것 같다.

느낀점

협업을 처음 하다보니 프론트 팀원분들과 서로 다른 방식으로 게시판 만들기를 연습 해왔고 서로가 사용하는 언어에 대한 이해도가 많이 부족하기에 커뮤니케이션이 잘 통하지 않았던 것 같다.

<협업을 하며 느낀점 #1>

주제를 선정하고 와이어프레임을 그리고 API 명세를 작성하는데 있어 많은 어려움을 겪었다. 특히나 API 명세 부분에서는 API는 협업에 있어 서로 데이터를 주고 받을 약속인데 약속을 누군가가 고의로는 아니지만 중요성을 인지하지 못하고 깼을 경우 테스트를 하였을 때 데이터를 주고 받지 못하는 불상사가 생기고 에러를 잡는데 많은 시간을 소요하게 만들었다.

API명세를 수정을 해야 할 경우 사실 처음 API 설계를 할 때 시간이 많이 걸리더라고 프론트와 협의를 통해 최대한 상세하고 신중하게 작성하는게 좋지만 그러지 못했을 경우 수정이 필요할 때는 한 쪽에서 말없이 수정을 하게 되면 다른 한 쪽은 이 상황을 알지 못하기에 서로 협의를 통해 수정을 해야한다는 것을 깨달았다.

<협업을 하며 느낀점 #2>

프론트 분들은 리액트와 리덕스 등을 사용하면서 3000포트를 사용하여 서버를 실행하였고 백에서(우리)는 8080포트를 사용하여서버를 실행하였다.

그러다보니 서로 다른 포트에서 API를 통해 데이터를 주고받으려면 CORS 정책에 대한 개념 이해가 필요했다.

<출처(origin)>

  • 출처는 protocol, host, 그리고 아래 그림에는 없지만 :3030, :8080, :80, :443 등 과 같은 포트 번호까지 모두 합친 것을 의미한다.

HTTP 프로토콜을 통한 통신을 하는경우 서로 다른 출처(origin)에 대한 요청을 허용하려면 프론트쪽 또는 백쪽에서 CORS에 대한 허용을 하는 작업이 필요했다.

서로 주고 받는 API에서도 프론트쪽에선 로컬에서 테스트를 할경우 어느 포트로 요청을 할 것인지 또는 백에서 배포 서버에 올릴경우 어느 ip 주소에 요청을 보낼것인지 명시를 해주어야 하면 백쪽에서는 어느 포트 또는 어느 ip 혹은 도메인을 허용할 것인지에 대한 명시가 필요했다.

<프론트>

<서버>

이번 미니프로젝트에서는 세션방식을 이용한 로그인을 구현하는 것을 담당했었는데 서로다른 출처에서는 request header에 쿠키가 자동으로 들어가지 않았고 이를 가능하게 하기 위해선 양쪽에서 Credentials:true 라는 CORS에 포함되어진 정책을 준수하여야 했다.

로그인을 한 유저만 이용가능한 기능들을 만들기 위해선 로그인한 유저라는 것을 증명하는 것이 필요한데 쿠키를 발급하여 이 사용자는 로그인한 유저라는 것을 증명하는 것이다.

미니프로젝트를 진행하였을 때는 이러한 것들을 잘 알지 못했기에 Credential true를 양쪽(프로트,백)에서 허용을 하지 않았었고 그러다보니 쿠키 전달을 하는데 있어 꽤나 애를 먹었던 것 같다.(이제는 잘 알게 되었으니 이러한 실수는 하지 않을 것 같다 ㅎㅎ)


끝마치며

이번 미니프로젝트 협업을 통해 커뮤니케이션의 중요성에 대해 깨달았고 서로가 서로를 잘 알지 못했기에 발생했던 실수들과 에러들을 해결하느라 처음에 계획했던 기능들을 다 포함시키지 못하고 끝내게 된 것이 아쉬움으로 남는 것 같다.

그래도 이번 첫 협업을 통해 협업을 할 때 필요한 것들과 서로가 배려를 하는 방법, 지속적인 커뮤니케이션의 중요성들을 깨닫게 되어 뜻 깊은 첫 협업이 아니었나 생각이 든다.

profile
쓰러지면어때일어나면그만인걸

0개의 댓글