항해99 WIL 6주차

Denia·2022년 4월 17일
0

항해99 - 6기

목록 보기
8/15

5주차 간략 후기

미니 프로젝트 (FE, BE 첫 협업)

-프론트엔드, 백엔드로서 첫 협업을 진행하며 느낀 아쉬운 점, 뿌듯한 점

저번주에 후기를 적을 때, 프로젝트의 규모를 조금 작게 잡고 진행을 했다고 했는데 매우 아쉽게도 작게 잡고 시작한 프로젝트도 다 끝내지 못했다.😂

다시 한번 저번 주를 생각해보면 처음의 계획에 비해서 진도가 잘 나가지 못 했다. 그리고 연결을 하고나서 생기는 문제들에 대해서 대처를 잘 하지 못 한것 같아서 아쉽다.

이번 기회로 FE 와 BE 가 진행 속도가 많이 다르다는 것을 배울 수 있었다. 그리고 내가 프론트에 대해서 잘 모르니 대화가 잘 되지 않는 것도 많이 아쉬웠다. 문제가 발생하는 부분을 대충 알꺼 같은데 정확히 찝지 못하는 부분이 많이 답답했다.

그래도 이번 미니 프로젝트를 통해서 배운 점들이 있다면 혼자서 작성하는 API가 아니라 협업으로 API를 짠다면 어떻게 짜는게 좋은지 , 어떻게 협업을 진행하는게 더 좋은 방법인지 고민을 해볼 수 있는 기회였어서 이번에 진행하고 있는 클론코딩에는 더 좋은 결과가 있을 것 같다.

클론 코딩 (FE, BE 두번째 협업)

이번 주는 클론코딩을 진행하는 주 이다.

전 기수가 한 것을 보니 인스타 , 당근 마켓, 마켓컬리 , 트위터 등등 다양한 사이트를 했는데 그 중에서도 인스타가 많이 보였다.

나도 클론 코딩을 한다면 인스타를 하고 싶었어서 이번에 인스타를 하자고 먼저 말을 꺼냈고 우리 조는 인스타를 베껴서 클론 코딩을 진행하기로 했다.
(최소한의 스코프로 잡은 진행 예정 내용은 메인 페이지의 게시글 조회 & 상세 게시글 조회 & 댓글 작성 이 정도이며 시간이 되면 좋아요 기능 & 리프레시 토큰 & DM까지 해보고 싶다.)

그렇게 노션에 필요한 SA에 관해서 작성하고 있는데 생각보다 소소한 의견충돌들이 있었다. 역시나 그리고 언제나 새로운 분들과 협업을 시작하는 것은 언제나 쉽지 않은 일 이다.

간단하게 일화를 하나 소개하자면
API를 작성하던 중에 Request 와 Response에 대해서도 작성하고 있었다. 지금까지는 언제나 프론트에서 주는 내용을 Request에 적고 서버에서 돌려주는 내용을 Response에 적어왔어서 이번에도 그렇게 적고 있는데 프론트 분 중에 어떤 분이 프론트에서 요청하는 내용을 Response에 적고 서버에서 요청하는 내용을 Request에 적어야 한다고 주장하셨다.

처음에 이 주장을 들었을 때는 내가 생각하던 것과 반대로 흘러가서 약간 당황스러웠다. 그래서 이 부분에 대해서 서로 의견이 조금 달라서 의견충돌이 있었다

따지고 보면 내가 처음에 말했던 내용과 비슷한 골자였다. 어떻게 주던 크게 상관은 없지만 지금까지 해오던게 있다보니 갑자기 달라진 부분에 대해서 약간씩 의견충돌이 생겼다. 그래서 그냥 프론트 분의 이야기를 수용해서 그렇게 가기로 했다.
(해당 내용은 코딩의 방식 문제라고 보기 때문에 정말 사소한 내용이라고 생각했지만 사소한 내용으로도 사람은 충분히 기분이 나쁠 수 있고 사이가 틀어질 수도 있다고 늘 생각하려고 한다.)

그래도 저번주에 미니 프로젝트를 진행하면서 느낀점들이 조금 많았기 때문에 조금 더유연하게 잘 대처할 수 있었다.

그리고 미니 프로젝트를 진행하면서 에러코드를 서버에서만 정의하고 에러에 대해서 구체적인 메세지를 프론트로 돌려주지 않다보니 프론트에서 테스트를 진행하다가 문제가 발생하면 어떤 문제인지 모르기 때문에 계속해서 서버 관련해서 물으러 오시는 일이 많았다. 서버 담당자가 없으면 해당 내용은 해결도 안된 채로 자꾸 시간만 흘러가고 서버 담당자도 에러를 구체적으로 명시해두지 않았으면 문제를 찾는데 오래 걸렸다.

그래서 이번 클론 코딩 프로젝트에는 프로젝트를 시작하자마자 에러코드를 정의하고 어떤 메세지를 돌려줄지 정하고 시작해야겠다고 굳게 마음을 먹고 시작했기 때문에 시작하자 마자 해당 내용을 강하게 어필했다.

처음에는 에러 코드 관련해서 사용해신 분이 아무도 없어서 에러코드에 관해서 이야기를 하니까 "굳이 그렇게 해야 하나요?" 라고 하기 싫어하시는 모습들을 보이셔서 설득하기가 힘들었다. 자꾸만 나 혼자 굳이 더 어렵고 복잡한 것을 도입해서 협업을 힘들게 만드는 그런 사람이 되는 것 같았다.😂

한참의 설득의 시간을 통해서 에러코드를 사용하면 좋은 점이 이것 저것이 있다고 설명하고 어떤 좋은 점이 있는지 구체적으로 예시를 보여주고 하다보니 프론트 분들이 에러코드를 쓰는게 확실히 작업을 하는데 있어서 큰 도움이 될 것 같다고 동의해주셔서 결국 설득에 성공하여 에러코드를 도입하기로 했다.😆

그래서 어떤 문제가 발생하면 어떤 에러코드를 내려줄 것이며 해당 메세지는 다음과 같다고 노션에 세세하게 정리를 했다.

이렇게 정리했다.

그렇게 남은 API 명세를 마치고 언제 볼지 정하고 어떻게 소통을 할지 정한 후에 각자 작업을 진행하기 했다.

아직까지는 큰 탈 없이 잘 진행되고 있다.

나는 저번 미니 프로젝트때 댓글 관련 CRUD를 했는데 너무 간단한 내용이라 조금 재미가 없었다. 그래서 이번에는 BE 조원분에게 양해를 구하고 로그인을 맡아서 하기로 했다. 로그인으로는 JWT를 사용하기로 했으며 JWT는 저번에 좀 봐둔게 있어서 일단 잘 마무리를 짓고 현재는 소셜 로그인을 진행하고 있다.

저번주도 하고 싶은 기능은 많았는데 프론트 분들과 맞춰가며 진행을 해야해서 안했었는데 일단 이번에는 혼자서라도 기능구현을 다 해보려고 한다.

코딩은 피드백이 빨라서 참 재밌다.
하지만 문제가 생기면 참 더럽게 재미없다.

2. WIL 정리

1. 이번주 배우거나 공부한거

1. JWT 로그인 방식

JWT 로그인 방식을 얕게만 알고 있었는데 이번에 스프링에 JWT를 적용하면서 공부를 좀 더 깊게 한 것 같다. 다음에 또 적용할 일이 있으면 이번 보다 더 빠르게 적용할 수 있을 것 같다.

profile
HW -> FW -> Web

0개의 댓글