프로그래밍 숲

위코드(wecode) 부트캠프 2차 프로젝트 후기 · 회고(23.2.25.~23.3.10.) 본문

개발, 인생, 생각/후기

위코드(wecode) 부트캠프 2차 프로젝트 후기 · 회고(23.2.25.~23.3.10.)

jjscript 2023. 6. 22. 23:25
728x90
반응형

(블로그를 옮기면서 예전에 작성한 글을 다시 포스팅합니다.)


1. 프로젝트 개요

백엔드 github (링크)

프로젝트와 관련된 기본적인 개요는 위 백엔드 github 링크 readme에 첨부하였습니다.

2. 프로젝트 후기

기능 구현에 집중

1차 프로젝트에서는 PM으로서의 역할도 겸업했다면, 이번에는 1차 프로젝트 때 2 PM(Peoject Manager, Product Manager)을 경험하지 못했던 분들에게 양보하고 나는 기능 구현에 집중하기로 했다.

외부 API 사용

2차 프로젝트에서는 외부 API를 사용하여 조금 더 난이도 있는 프로젝트를 진행했다. 처음에는 로그인, 결제, 지도 API를 활용하기로 했다. 그런데 지도 API의 경우 백엔드에서 해야 하는 부분이 없어서 프론트에서 진행했다.

 

새로운 기술을 받아들이고 적용시키는 것이 늘 그렇듯이 카카오 로그인 API도 낯설기만 했다. 카카오는 공식문서가 친절하게 설명되어 있는 편이라고 하는데, 도무지 뭐가 친절하다는 건지 알 수 없었다. 깊은 고민의 시간을 가지고, 구글링도 하고, 위코드 선배님들의 코드도 보면서 어찌어찌 카카오 로그인 API를 구현했다. 카카오 로그인 API를 적용하려고 하면서, 공식문서만 보고도 코드를 이해해야 한다는 점을 느꼈다. 아직 전체적인 웹개발에 대한 개념이 정립되지 않은 상태에서 공식문서만 보고 코드를 짜는 것이 어려운 것이 당연하다. 그렇기에 웹개발에 대한 개념에 대한 이해, axios 등 외부 라이브러리에 대한 추가적인 공부가 필요하다고 느꼈다.

 

카카오 로그인 API를 적용한 후 카카오페이 API도 적용했다. 그 전에 카카오 로그인 API를 적용해 봤다고 카카오페이 API는 익숙하게 적용시킬 수 있었다. 다만, 백엔드에서 처리해야 하는 코드도 프론트단에서 처리해 버려서 이번 프로젝트에서는 백엔드가 결제 관련 정보를 받아서 처리하기만 했다. 백엔드와 프론트 사이에서 업무를 어떻게 분담해야 하는지 지속적으로 소통하는 것도 중요하다는 것을 느꼈다.

EC2 및 RDS 적용

1차 프로젝트가 끝나고 AWS EC2와 RDS에 프로젝트를 배포했고, 2차 때도 프론트와 백 사이의 원활한 통신을 위하여 EC2와 RDS를 미리 적용하기로 했다. 1주 차 때 최소 기능 구현을 마무리하고 서버를 배포하려고 했다. 그러나 생각보다 merge가 늦어졌다. demo day 전날이 되어서야 겨우 전체적인 기능에 대한 완성된 코드를 배포할 수 있었다.

Unit Test

2차 프로젝트가 생각보다 늦어졌던 또 다른 이유 중 하나가 Unit Test였다. 현업에서도 기능 구현보다 unit test 코드 작성에 더 많은 시간이 든다고 한다. 여러 변수 상황을 미리 캐치하고 서비스의 안정성을 향상하는 것은 무엇보다 중요하기 때문에 unit test의 필요성은 아주 잘 공감하고 있었다. 하지만 중요한 만큼 unit test 코드 작성도 쉽지 않았다. jest와 supertest를 활용하여 테스트 코드를 작성했는데, 얼른 다음 기능을 구현해야 한다는 마음에 급급해 jest와 supertest의 공식문서를 천천히 뜯어보지 못한 데에 대한 아쉬움이 남는다.

Docker 배포

실습 과정에서 Docker 배포도 권장했기에, Docker 배포도 진행해보았다. 지금보다 더 개발에 대해서 아무것도 모를 때 윈도우로 virtual box를 설치하고 우분투를 실행했었다. 그때도 설치하는 데 꽤나 고생했었는데, 이번에도 쉽지는 않았다. ubuntu 컨테이너 의 환경 세팅과 애플 실리콘 M1칩의 세팅이 많이 달라서 docker를 적용하는 데도 고생했다. 다행히 동기분 중에 뛰어나신 분이 한 분 계셔서 많은 도움을 받고 무사히 설치할 수 있었다. 동기분의 도움으로 docker를 성공적으로 배포하긴 했지만, 아직 docker에 대한 개념이 부족하기에 개인적인 공부도 많이 필요하다고 느낀다.

전체적으로..

전체적으로 수월할거라고 생각했던 2차 프로젝트에서도 새로 적용시켜야 하는 것들이 많다 보니 생각했던 것보다 프로젝트가 많이 지연됐던 것 같다. 하지만 2차 프로젝트에서의 수확은 그 새로운 것들에 있다. 새로운 것을 받아들일 때는 언제나 본능적으로 거부감이 든다. 하지만 그 본능적인 거부감을 잘 누르고 새로운 것을 비로소 받아들이고 나면, 나는 어느새 높은 곳에 올라와 있고 더 많은 것들을 볼 수 있다. 아직 완벽히 이해하지 못한 부분들이 많기에 아쉽기도 하지만, 한 편으로는 앞으로 공부해야 할 것들에 대한 방향성도 찾을 수 있어서 만족스럽기도 하다.

 

이제 위코드에서의 2달이 금새 지나버렸고, 기업 협업만 앞두고 있다. 가게 될 기업은 보안 회사인데 지역적으로는 거리가 멀지만 하는 사업 자체는 흥미로워 보인다. 가서 어떤 일을 하게 될지는 잘 모르겠지만

(실무를 할 수 있을지 모르겠다)

나에게 주어진 것은 항상 새로운 기회고, 기회를 받아들일 준비가 되어있으니 힘차게 달려 나가 보자.

728x90
반응형
Comments