팀프로젝트 4주차 회고 - 배포는 쉽지 않고 오쪼라고 파이팅

은채·2022년 7월 31일
2

회고

목록 보기
5/8
post-thumbnail

Keep (유지할 항목)

  • 4주차, 원래 일정이었다면 7월 27일에 발표가 진행되어 프로젝트가 마무리되어야 했던 시간이지만 갑작스럽게 학원을 덮친 코로나로 인해 26일까지 재택 근무, 27일부터 학원에 복귀할 수 있었다.

본격적으로 재택을 거부하는 오쪼라고 일원들

  • 학원 등원을 할 수 있게 되자마자, 모두 다시 학원에 나와 (....) 마무리 작업을 할 수 있었다. 프론트는 여전히 디테일 잡기 + 백엔드 오류때문에 못했던 부분 작업 + 배포!!

  • 팀원들 모두 배포에 관심이 있었지만, 도메인이나 깃 비밀번호 등 때문에 거의 내가 전담으로 맡아서 하게 되었다. 재택을 하게 되면서는 아예 내가 도맡아서 했는데, 배포라고는 수업시간에 해본 것이 전부인 나는... 8주차의 3일 정도 분량의 강의를 3번이나 들어가면서 배포를 할 수 밖에 없었다.. 왜냐하면,,, (ㅠㅠ)

  • 프론트는 배포 이슈가 있음에도 불구하고 , 나머지 팀원들과 나는 마지막 퍼블리싱 디테일 잡기를 열중했다! 묘하게 안맞는 정렬, 기능 수정하다가 놓쳐버린 반응형 페이지 등등! 매일 매일 모든 페이지를 돌아다니면서 QA 마냥 눌러보고 줄여보고,,

  • 우리 팀원 모두가 피드백에 진심인 편이기 때문에 내가 만족할만한 결과물을 만들어 낼 수 있었다. 사실 내가 정말정말정말 ! 백이든 프론트든 요구사항이 정말 많은 편인데, 팀원 중 누구하나 싫은 내색 없이 내 피드백을 들어주었다. 사실 4주차까지도 팀원들에게 수정할 사항을 한아름씩 전달하면서 조금, 내가 너무 과하다 싶기도 하고 적당히 할 수 있는 걸 못보고 넘어가는건가 싶기도 해서 머뭇한 날도 있었다. 그런 날은 다른 팀원들이 먼저 서로서로 수정할 디테일을 잡아주고, 논의하고 토론하고.. 소통을 정말 많이 했기 때문에, 모두가 더 으쌰으쌰 할 수 있었던 것 같다.

  • 4주차가 끝나가는데도 우리 팀은 디스코드 불이 꺼지지 않는다, 몇 차례 배포를 진행하면서도 수정할 사항을 찾고 다듬고, 테스트하고 , 다시 또 수정하고 .. 깃 이슈, pr 등의 숫자가 600이 넘어갔는데 (심지어 나는 잘 안쓰고 같은 기능은 feature를 재활용하는 편인데도) 서로 정말 열심히 했구나.. 하는 생각 중.. 발표날까지 이 흐름 잃지 않고 잘 마무리해서 우리의 멋찐! 포트폴리오가 되었으면 하는 마음

  • 우리팀에게 4주차 금요일은 코로나 격리가 풀린 영주님과 취업으로 먼저 코캠을 떠나는 세웅님의 송별회가 있던 날이다. 단체 사진, 개인 사진 등의 촬영을 하니님께서 맡아서 진행을 해주셨고 우리 팀은 모여서 감성 터지는 롤링페이퍼 ★ 도 쓰고 지하에 있는 코딱지만한 인생네컷,,, 기계에서 6명이 옹기종기 (ㅋㅋ) 모여 인생네컷 사진도 찍었다.

Problem (문제라고 생각하는 항목)

  • 정적 배포를 위한 타입스크립트 , ESLINT 등의 오류는 금방 잡아 정적 배포가 빨리 되었었는데, 가상 머신인 ec2를 이용한 동적 배포에서 문제가 터졌다.

  • build 과정에서 타입 체크를 하는데 시간이 이렇게 오래 걸린다고? 하며 불안해 하던 우리에게 대뜸 자바스크립트 힙메모리가 부족하다는 에러메세지가 떴다. (3주차)
    팀원들이 총출동해서 (심지어 다른 팀 분들까지) 문제를 1주일동안 해결해보았는데, 컴포넌트를 잘못 불러서 메모리가 터지거나, 어디선가 종료되지 않은 setinterval 함수 등등 메모리 누수의 문제로 의심되는 것들을 찾아 보게 되었다. 실제로 내가 쓴 공지사항 롤링 부분 return을 하지 않아 에서 메모리가 많이 사용된다는 에러가 있었는데 못보고 지나쳤던 것이 있어 수정도 하고, 컴포넌트 import가 잘못될 수도 있겠다 싶은 위험한 함수들의 이름도 바꿔보고.
    크롬 개발자도구로 직접 촬영도 해봤지만.. 쉽게 찾을 수가 없었다.
    우리가 사용하는 라이브러리가 너무 많은데, 그 안에서 메모리가 새는 것일 수도 있고 우리가 쓴 코드가 깨끗하지 않아 문제가 발생한 것일 수도있고...
    돔 조작이 익숙하지 않은 우리가 어디선가 잘못 건드렸을 수도 있겠다는 생각을 한다.

자바스크립트 메모리 누수 문제의 원인

  • 아니면 정말 그냥 프리티어의 용량보다 우리 프로젝트의 용량이 컸다거나. 우선 급한대로 우리는 1기가를 늘려서 EC2 서버에 배포를 했고, NETX JS 의 /로 인해서 계속 URL 문제가 발생해서 이번에는 / 없이 배포를 해놓기로 했다.

  • 배포는 단순히 배포 자체의 프로세스 뿐만 아니라 클라우드 서비스, 내가 사용한 언어나 프레임워크, 라이브러리에 대한 이해까지 모두 있어야 능숙하게 할 수 있다는 것을 크게 느끼게 되었다. 수 없이 마주하고 있는 404, 502 에러들이 리액트의, next js의, aws의 어떤 특성 때문인지 알아야 해결할 수 있겠구나.. 공부해야할 것이 여전히 많은데 하나 더 늘은 것 같은 무거운 마음이었다.
    이번기수는 거의 모든 팀이 발표 전 배포를 하고 있다. 기간이 늘은 것도 있고, 지난 기수가 발표 당일에 배포가 되지 않아 발표를 듣는데 어려움이 있다는 것을 알기 때문이다.
    우리도 배포를 일찍 시작한 편인데, 서버 올리는 것에서 조금 지체가 되어서 속상한 마음도 있었지만.. 결국 다 잘되려고 그런거다 생각하고 있다.
    서버를 하나 업그레이드 한 후에는 바로 build가 되어 정상적으로 구동이 되고 있는데,
    알고보니 ec2가 터미널을 열었던 컴퓨터가 꺼지면 같이 꺼지더라..
    어쩐지 배포하고 침대에 누우면 새로고침이고 엔터 접속이고 뭐고 다 안되는거다..
    그래서 도커를 배웠구나... 항상 켜두려구..
    도커 위에 올려야하는데 한 번 오류가 나서, 우선 발표 자료 준비까지 끝내고 도커에 올릴 예정이다.

  • 이번주 금요일로 백엔드 팀원이신 세웅님이 입사로 인해 수료를 하셨다. 세웅님께서는 마지막까지 엘라스틱 서치로 하는 검색 API 구현을 하려고 하셨는데, 결국 완전히 끝내지는 못했다.
    그래서 이부분을 프론트에서 알고리즘으로 구현을 해버리신 하니님 .. 원했던 백엔드 api가 나오지는 않아서 아쉽지만, 그 부분을 프론트에서 어떻게든 간이 구현을 해보고 있다. (찜, 좋아요 순 정렬하기.. 검색하기..)

  • 어쨌든 원래 계획은 백엔드에서 api를 만들어서 우리가 사용하는 것이었는데, 기능 구현은 했지만 기획 일정에 비해 실제 작업 일정과 진도가 좀 밀렸다는 것이니까 개인적으로 아쉬운 부분이다. 그럼에도 불구하고 프론트단에서 어떻게든 퍼포먼스 보여주는 우리 팀원들 대단해요.

고생한 하니님 블로그

Try (Action Items)

  • 아무튼 현재 ec2는 프리티어를 버리고 백엔드 서버와 마찬가지로 조금씩 비용을 부담하여 (..) 메모리 2기가의 ec2로 사용하고 있다. 사실 어떻게든 줄여볼까 했었는데, 당장 발표가 코앞이고 우선 배포를 하고 그에 따른 에러 잡는 것이나 발표 자료 제작도 해야하기 때문에 모두 의견을 모아 ok를 했다.

  • 아직 ec2 서버에 도커를 깔지 않아서 ec2 서버를 빌렸을 뿐인 24시간 인간 서버가 된 나
    502 BAD GATEWAY만 뜨면 달려가요
    서버 내리고 풀 다시 땡겨 build 올리고 서버 올려 스타트 해 멈추지 마 꺼지지 마 젭알 ....

  • 월요일에는 백엔드 서버도 옮기게 될 예정이라, 발표 전에 더미 데이터를 다시 만들고 프론트 서버도 도커 위로도 올려야 한다.

  • 영상시연까지 마무리되고 있고, 발표자와 발표자료 제작/ 노션 기획안 정리/ 깃 리드미 정리 등이 남았다. 근데 영상 시연을 하는데 뭔가 기능적으로 조~~금 걸리는게 있어서 그것 수정하면서 진행할 예정이다.

이번주 우리
성시경 노래 들으면서 감성 충만 롤링페이퍼 쓰기

마스크 안쓰고 있는 우리 팀원들 지켜 ~~
간만ㅇㅔ 싸이 감성으로,,,
싸이월드하니까 프리캠프 생각나

profile
반반무마니

0개의 댓글