@코드스테이츠 파이널 프로젝트 중간 회고글

oh_ji_0·2020년 12월 15일
1

FinalProject

목록 보기
1/5

파이널 프로젝트 마무리 단계에 들어섰다. 역시 3주라는 시간이 이전과 마찬가지로 너무도 정신없이 흘러갔다.

다음주 초에 프로젝트를 발표하는 데모데이가 발표가 남아있는데 아직 완전한 마무리는 아니지만 마무리 단계에 들어 섰으므로, 이쯤에서 중간 회고를 작성하고자 한다.
무엇이 좋았고, 무엇이 부족했는지에 따라 정리해보고자 한다.

API 문서의 중요성

첫번째 프로젝트가 끝나고 파이널 프로젝트에서 첫번째 프로젝트에서 후회했던 것들을 바로 잡기 위해 이번 프로젝트에선 SR에 더 많은 투자를 했다.

각자의 생각을 이야기하고, 이 시간이 굉장히 힘들게 느껴졌다. 서로 구상하는 생각이 너무도 다르고 각자의 언어로 설명하고 이해하고, 개인적으로 굉장한 에너지 소모가 들어가는 작업이라는 생각이 들었다.

그래도 덕분에 첫번째 프로젝트보다 더 견고한 SR을 완성할 수 있었다. 다만 그럼에도 완벽할 수는 없는 것 같다. 같이 얘기하고 정리를 해도 구현 방식이나 요청, 응답에 대한 생각이 완벽히 정리가 되진 않더라.

또한 SR가 다 중요하지만 그중에서 API 문서 작성이 정말 정말 너무너무 중요하다는 생각을 갖게 되었다. 사실 프로젝트 중반부가 넘어가고 초반 SR 에서 제대로 정하지 않은 기능 및 페이지들을 추가하는데 다른 논의 보다도 API 에 대한 것만을 정확히 픽스해놓고 갔는데 훨씬 수월하게 작업이 이뤄졌다. 초반 SR은 공을 들인데에 비해 API에 대한 고민은 상대적으로 적었고, 이에 대한 혼선과 변경에 대한 API 문서 반영이 제때 제때 이뤄지지 않으면서 중간,중간 작업할 때 애를 먹었다.

백과 프론트의 소통 API 문서만 제대로 돼있으면 불필요한 논의와 토론이 필요 없다는 것을 정말 많이 느꼈다.
결론은 API 문서가 너무너무 중요하다.

쿠키, 세션에 대한 이해

그래도 프로젝트 진행하면서 가장 좋았던 점은 쿠키, 세션에 대한 방식에 대해 폭넓게 경험해볼 수 있었다는 점이다. 그전에 사실 배포하다가 https same-site 문제 때문에 로그인이 정상적으로 돌아가지 못하고 쿠키, 세션을 브라우저에서 제대로 통신하지 못한 채 마무리 지을 수 밖에 없었는데 이번 프로젝트에선 둘 째주에 배포에 공을 들여, same-site 문제를 우선 해결하고 주문을 넣는 각 페이지에서 temp 라는 쿠키를 사용하면서 사용자의 UX를 고민하는 시간을 가질 수 있었다. jwt 토큰은 이용한 쿠키를 이용하여 사용자는 주문 첫번째 단계부터 마지막 단계까지 주문 데이터를 안전하게 간직하고 활용할 수 있다.
이런 일련의 과정을 처음부터 끝까지 경험해 볼 수 있었다는 게 내게 큰 성장이 되었던 시간 같다.

타입스크립트에 입문

이번 프로젝트는 타입스크립트에 처음 발을 들여놓는 좋은 시작점이 되었던 것 같다. 물론 결론적으로 타입스크립트에 대해서 수준 높은 이해를 하고 있는가? 라고 생각해보면 자신있게 네 라고는 못하겠다.

지금 현 수준은 최대한 any를 자제하고 API 요청, 및 응답, 리덕스 저장, 모듈 활용에서 타입을 지정하여 추후에 발생할 수 있는 타입 오류를 사전 방지하고, 제어할 수 있는 정도다. 이번 프로젝트에선 주로 type alias를 이용하여 타입을 지정해주고 useState 등에서 제너릭을 활용해보는 정도, 그리고 리액트 모던 캘린더 데이트피커(react-modern-calendar-datepicker) 라는 모듈을 사용할 때 타입스크립트에 맞게 연결해주는 작업정도를 해보았다.

사실, 4명이라는 소수가 참여하는 프로젝트에 2명이라는 프론트 포지션, 그리고 거기에서도 파트를 나눠서 작업에 들어갔기 때문에 작업하면서 타입스크립트가 얼마나 편리한지 왜 꼭 써야하는지 명확하게 느끼진 못했다. 내가 작성한 코드는 출력값과 입력값을 내가 이미 알고 있고, 구태여 어떤 값으로 받을지 지정하는 작업이 내겐 더 불편했기 때문이다. 그러나 만약 더 큰 프로젝트, 협업 인원이 더 늘어난다면, 그리고 다른 사람이 작성하 코드에 내가 들어간다면. 그땐 정말 타입스크립트로 작성된 코드가 굉장히 편하고 어디서 터질지 모르는 오류를 사전적으로 어느정도는 방지해주기때문에 필요하겠구나 간접적으로 느껴보는 시간을 가질 수 있었다.

프로젝트를 돌아보며...

모든 프로젝트가 그러듯, 중반부를 넘어선 현재 돌아보면 아쉬운 점도 많았다. 서로의 부족한 점을 아마 일일이 나열하기 힘들 정도로.. 각자 서로가 준비가 정말 더 많이 필요하구나, 느낀 시간들이었을 것이다.

촉박한 시간 속에서, 코드에 대한 논의가 이루어지면서 사실은 서로의 코드 중 누가 정답이고, 누가 오답인지. 그리고 둘 중에 정답이 존재하긴 한지에 대한 확신이 스스로 없다는 생각이 들기도 했고, 같은 언어 혹은 모듈, 라이브러리를 다뤄도, 어디에 중점을 두는지에 대한 생각 자체도 굉장히 많이 다르구나 느껴볼 수 있는 시간이었다.
많은 사람들의 코드를 봐보고, 그 중에 좋은 방법을 택할 수 있는 힘을 길러야겠다는 생각이 들었다.

이제 일주일이란 시간도 채 남지 않았다. 로그인과 핸드폰 인증 등 나름 중요한 기능들이 남아있는 상태인데, 잘 마무리하여 성공적으로 프로젝트를 띄우고, 또 더 많은 것을 배우는 시간이 되었으면 한다.

profile
기본에 충실하고 싶습니다. #Front-end-developer

0개의 댓글