final project 회고!

Jungmin Lee·2021년 7월 19일
0

memoirs

목록 보기
3/3


part time으로 5월 부터 약 2달 동안 final project를 진행하였다.
저번 퍼스트 프로젝트를 제대로 끝내지 못해서 아쉬웠기에 이번 프로젝트는 잘 마무리하고 싶은 마음에 컸는데 운좋게도 영향력이 조금 있는(?) 팀장을 맡게 되었다.
우리팀의 프로젝트 내용은 어린 시절에 일기 쓰던 것을 생각해 뉴트로 일기장을 만들기로 했다.
여러가지 기능들이 있었지만, 대표적인 기능은 글쓰기뿐만 아니라 그림 그리기도 가능하고, 프로젝트 내내 우리를 괴롭히던 교환 일기를 쓰는 기능이 있었다.
교환 일기 같은 경우는 초대 받은 총 3명의 유저들이 한개의 일기장을 공유해서 같이 쓰는 일기장이다.
처음 계획은 리눅스의 권한처럼 쓰기,읽기,실행 권한을 주기했는데 아쉽게도 잘 진행되지 못했다.
인원이 총 4명이였는데 우리 팀은 front-end 1명, back-end 3명이 나와서 팀을 위해 내가 front-end로 가기로 결정했다...
처음엔 엄청 걱정되고 part-time 특성상 react수업을 들은지 약 5~6개월전이라 기억도 가물가물해서 내가 잘 진행할 수 있을까 걱정는데 다행히 같이 front-end를 맡으신 분이 초반에 많은 도움을 주셔서 잘 적응할 수 있었다.
우리팀은 react hooks와 css는 styled components로 프로젝트를 진행하기 정하였고 전역 상태 관리 툴은 쓰지 않기로했다.
솔직히 처음엔 우리 프로젝트에 굳이 필요할까라고 생각했지만 나중에 엄청난 후회가 밀려왔다...
먼저 가장 크게 걱정되었던 부분이 css부분이였다. 스프린트를 진행하면서 제대로 된 html/css를 다뤄본적이 없었기에 내가 잘 구현할 수 있을까라는 의문이 들었다.
그래도 죽으란 법은 없다고 계속 하다보니 어느정도 적응이 되었고 나중에는 쉽게쉽게 css로 페이지를 만들 수 있게 되었다. 물론 아직 반응형 부분이 많이 부족해서 프로젝트가 끝나면 css부분도 강의를 찾아보고 공부를 해보고싶다.
프로젝트를 진행하면서 css에 대한 느낀 점은 참 신기하게도 쉬우면서도 어려운 녀석이다. 그냥 이건 계속 사이트를 클론 해보거나 프로젝트를 진행하며 만들어 보는 게 답인 것 같다.
다시 react로 넘어와서 back-end포지션을 할 땐 원하는 통신이 오면 db에서 데이터를 잘 꺼내서 잘 전달만 해주면 됐다. (물론 좋은 코드는 아닐지도 모른다..하지만 작동하니깐ㅠ)
내가 코드를 어떻게 짯든 postman으로 전달되는 것을 확인되면 통과라는 느낌이 강했는데 front-end에서는 작동은 잘 되는데 예상치 못한 에러, 쓸데없이 많은 랜더링, 필요할땐 되지 않은 랜더링.. 등등이 나를 너무 괴롭혔다.
원인은 찾아보니 다양한 이유가 있었지만 대표적으론 usestate는 비동기적으로 작동되지 않았었고..불변성을 지켜야하는데 그것을 잘 인지하지 못했었다. 그리고 useeffect를 클래스형 생명주기 메소드와 약간씩 달라던게 원인이였다.

프로젝트를 진행하면서 좋았던 부분

우리는 part time이고 다들 본업이 있기에 시간 맞추기가 쉽지않았다. 특히 우리 팀의 경우는 해외에 계신 분도 있어서 시차도 맞춰야 하는 상황이였는데, 다들 팀을 위해, 프로젝트를 위해 있는 시간 없는 시간 쪼개서 팀 회의를 진행하였고 누군가가 코드가 막히거나 도움을 요청하면 바로바로 달려와 같이 고민해주었다.
특히 배포를 할땐 다들 http 배포만 해보고 https 배포는 해본 적이 없어서 많이 헤맸었는데 프론트,백엔드 할 것 없이 같이 모여서 이것저것 시도해보고 자료도 같이 찾아 공유하면서 잘 해결 할 수 있었다.

프로젝트를 진행하면서 아쉬운 부분

프론트엔드를 진행하면서 가장 아쉬움이 컸던 것은 전역 상태 관리 툴을 사용하지 않은 것이다.
처음엔 우리 프로젝트는 전역 상태가 필요없다고 안일하게 생각했던 부분이 우리를 너무 힘들게 하였고, 결국은 contextAPI를 이용해서 필요한 몇가지 부분은 전역 상태관리를 해주었다.
만약 처음부터 전역 상태관리를 쓰기로 했었다면 코드를 좀 더 간결하게 짤 수 있지 않았을까라는 생각이 들고 혹시 프로젝트가 끝나고 취업 전에 개인 프로젝트를 하게 된다면 redux상태관리를 사용해보고 싶다.

그리고 팀적으로도 다들 잘 진행하기 위해 노력했지만 분명 아쉬운 부분도 있었다.
처음에 스타트가 좋았고 진도가 빨리 나간다고 착각하여 중반부분에 다들 조금 여유를 가졌었는데 예상하지 못한 변수들이 발생하였고 그 부분을 해결하기 위해 마지막까지 마무리 기능들이 몇가지가 있다.
대표적인 변수가 배포 과금 문제였다. 우리는 프로젝트 초반에 https배포를 성공하여 프론트에서 백엔드 서버를 배포용 서버로 테스트를 하였다. 그렇게 한 이유는 이렇게해야 혹시 모를 이슈에 대처할 수 있다고 판단했기 때문이다.
그래서 더미 데이트를 RDS에 만들어두었는데 어느날 AWS를 들어가보니 800$ 과금이 발생한 것을 확인하였다.
이것을 해결하기 위해 고객센터에 문의를 하여 잘 해결되었지만 해결되는 기간이 1주일 조금 넘게 걸렸고, 그 기간동안 프로젝트를 진행해야 했는데 더미 데이터와 로컬에서의 세팅 그리고 aws에서 해결해주는 대신 모든 자료를 삭제해주기를 요청하여 다시 https배포를 해야하는 상황이여서 여기서 시간을 너무 많이 뺏았겼던 기억이 있다.

프로젝트를 진행 후 느낀 점

스프린트만 진행하다가 first, final 2번의 프로젝트를 진행하였는데 스프린트를 진행 할때는 코드스테이츠 측에서 만들어 놓은 틀에 수동적으로 움직인 느낌이 강하게 들었다.
하지만 프로젝트를 진행할때는 우리들이 생각한 아이디어로 우리들이 원하는 결과물을 만들 수 있다보니 조금 더 능동적으로 작업을 하게 되었고 프로젝트에 애착을 가지게 되었고 좀 더 열심히 코드를 작성했던 것 같다.
(역시 실전이 재밌다...)
그리고 팀 프로젝트 였기에 사람들과의 커뮤니케이션으로 의견을 조율해야 했고 방향성을 잡아야했는데 운 좋게도 좋은 사람들을 만나서 프로젝트 진행하는 내내 큰 트러블 없이 잘 진행 되었던 것 같다.
작지만 소소하게나마 개인 프로젝트 또는 마음 맡는 사람들끼리 사이드 프로젝트를 진행 해보고 싶다.

profile
Front-end developer who never gives up.

0개의 댓글