본문 바로가기

공부/TIL

23.12.11

 팀프로젝트 발표까지 마쳤다. 이번 발표도 내가 했다. 이렇게 캐주얼한 분위기의 발표는 기회가 될 때마다 해야 된다고 생각했다. 나는 발표가 정말 너무 어렵고 너무 떨리지만, 이렇게 캐주얼하고, 준비가 덜된 상태에서도 발표를 할 수 있다면 피해선 안된다. 이런 경험들이 중요한 순간에 긴장을 덜어주고, 익숙해지겠지?

 

아무튼! 오늘 팀프로젝트를 마친 기념으로 프로젝트 회고를 진행해보자.

 

[프로젝트 초반 나의 소극적 의사소통]

기본적인 사항은 지난 한달동안 진행했던 것들과 다르지 않다. 나는 이번에 인증/인가 파트를 맡았고, 유저 도메인을 맡아서 구현했다. 지난 프로젝트에서 했던 것들을 가져와서 쓰려니 이슈가 한개 발생했다. 내 코드 스타일과 팀원들과의 코드 스타일이 다르기 때문에 커스텀을 해줘야 한다는 것.

물론 내가 직접 작성한 코드기 때문에 이부분에는 문제가 어렵진 않았다. 하지만 Response를 어떻게 해야할까?에 대해 충분한 의견을 나누지 않았다. 내 의견을 더 알아들을 수 있게 정리해서 나눠야겠다. 이번 프로젝트에선 너무 소극적으로 진행했던 것 같다.(지난 프로젝트 때 조금 부드럽게 말하기로 마음 먹었는데 정도가 어렵다..)

내가 하고 싶었던 응답 방식은 ResponseDTO에 상태코드와 메세지를 담고, data안에 응답하고자 하는 data들을 넣는 것.(응답할 데이터가 없다면 상태코드와 메세지만 응답하겠지?) 그런데 팀원들의 의견은 달랐다. 지난 프로젝트에서 Common Error 코드를 갖는 클래스를 사용하면 된다고 말했다. 그런데 이는 에러코드만 응답하는게 더 맞다고 생각이 들었다. 나는 성공시에도 성공 상태코드와 성공 상태 메세지를 보내고 싶었기 때문에 성공시에도 응답할 수 있도록 CommonResponseDTO를 사용하자고 의견을 더 강하게 어필했으면 어땠을까? 싶었다. 다음엔 더 자신감을 갖고 의견을 내보자! 아 근데 이거 진짜 어렵다.. 누가 정답인지 알 수 없으니 의견을 조율하는게 참...

 

[새로운 기능을 구현할 때 계획을 세우고 하자]

이번에 정말 스텝이 많이 꼬였다. 처음 인증기능을 완료하고, 기본적인 유저 도메인 CRUD를 완성한게 수요일쯤이었다. 기존에 많이 했던 거였기 때문에 시간이 오래걸리진 않았다. 이어 내가 하고 싶었던 기능 구현은 (AOP를 이용한)글로벌 예외 처리였다. 그런데 이 기능을 우리 팀원이 지난 팀프로젝트에서 구현을 했었다. 그래서 바로 가져와서 사용을 했는데 아주 잘 작동을 했다. 이 글로벌 예외처리의 흐름을 파악하고, 내가 사용할 수 있도록 커스텀을 했다. 이제는 이게 어떤 흐름으로 작동하는지를 이해하는 것.... 이었는데!!!

갑자기 목요일 밤에 이슈가 터졌다. 바로 로그아웃 기능 구현이 어렵다는 소식을 접했다. 이때 갑자기 눈이 돌아가서 공부하던 전역 예외처리를 두고 refresh token을 다루기 시작했다. 그렇게 금요일 밤까지 레디스 환경을 구축하고, refresh token 토큰을 이용한 인증 보안을 강화하는 설계를 시작했다.

그러다가 튜터님과의 면담중에 로그아웃기능을 백앤드에서 구현하는 것은 jwt 방식의 무상태성을 해치고, 로직도 복잡해지기 때문에 좋지 않다고 했다. 프론트 앤드에서 로그아웃을 처리한다면 더 쉽고, 성능적으로도 더 좋다고 들었다. 이때 안심이 들면서 다시 그럼 이제 나 뭐해야 되지? 생각이 들었고, 내가 햇던것은 전체 프로젝트 테스트였다. 팀장으로서 전체 프로젝트를 모두 테스트 하지 않았기 때문에, 이 프로젝트가 버그 없이 잘 작동하는지를 확인해야 했다. 그렇게 프로젝트 전체 테스트를 하면서 비어있던 몇개의 api 요청(게시글 좋아요, 게시글 삭제)들을 새로 구현했다. 구현이 어려운 것은 팀원들에게 말해서 구현을 부탁했다. 그리고나서 발표를 하기위해 api명세서, ERD, 와이어프래임등 문서화를 진행했다. 이렇게 하다보니 내가 추가 기능구현하고자 했던 refresh Token 이라던지, 전역 예외처리 흐름을 공부라던지, 놓쳤다. 다음 프로젝트 부터는 새로운 기능을 구현해야 할 때 좀 더 계획을 구체적으로 세우고 시작하도록 하자.

 

[그 외 여러가지 피드백]

 튜터님의 피드백은

1. 테스트 코드 작성을 더 적극적으로!

2. Java, 프레임워크, 각종 라이브러리들 버전을 명시해라!(이건 진짜 중요하다) 그리고 왜 그 버전을 택했는지 설명할 수 있도록 공부하라!

3. 화면 종속적인 API의 문제점은 무엇이고 좋은 방법은 어떤것이 있는지 다들 찾아봐주세요!(이건... 무슨 말인지... 잘 모르겠다ㅠ)

'공부 > TIL' 카테고리의 다른 글

23.12.13  (0) 2023.12.13
23.12.12  (0) 2023.12.12
23.12.08  (0) 2023.12.08
23.12.07  (0) 2023.12.07
23.12.06  (2) 2023.12.06