SSAFY(싸피) 5기에 참여하면서 홈동(HOMEDONG)이라는 프로젝트를 개발했었다. 사실 프로젝트 개발이 끝난지 꽤 지났지만, 정리 차원에서 회고 겸 남겨보려고 한다.
일단 홈동이라는 서비스는 webRTC를 이용한 운동 게이미피케이션 플랫폼이다. 일반적으로 게임에서 확인할 수 있는 방 기능, 게임 기능 등이 있고, 모션 인식을 통해 운동 횟수 카운팅을 하여 유저간에 대결을 하고 랭킹까지 확인할 수 있는 플랫폼이다..
기획 및 개발 기간 다 합하면 약 6주 정도의 시간이 걸린 것 같다. 처음에 시작할 때, 다른 팀들보다 적게는 1명, 많게는 2명까지 적은 수의 팀이었다. 어쩌다보니 내가 팀장까지 맡게 되어서 솔직한 마음으로 조금은 걱정이 되었던 것은 사실이다. 하지만 기획을 하면서, 개발을 해나가면서 그런 걱정은 팀에 대한 믿음과 확신으로 많이 바뀌었던 것 같다.
하면서 어려움이 없었던 것은 아니지만, 개발을 하면서 정말 좋은 결과를 낼 수 있을 것이라는 생각이 강하게 들었었다. 나 스스로도 이렇게 팀에 확신을 가졌던 적은 처음이었다. 남들에게 보이는 성과가 좋지 않더라도, 홈동을 만들었다는 것 자체만으로도 만족이 될거라는 생각도 들었다. 이러한 과정 속에서 어떤 생각을 했었는지 조금 적어보려고 한다.
안되는 것은 함께 해결하면 된다.
역할 분담을 다 나눠서 진행했는데, WebRTC를 하는 과정에서 인증서가 잘 적용되지 않는 이슈가 있었다. 이 부분 때문에 일주일 내내 잠을 제대로 자지 못한 팀원도 있었다. 우리가 개발하는 프로그램 특성상, ssl 인증서가 제대로 적용되지 않으면 배포했을 때 카메라를 켤 수 없는 문제가 있었다. 따라서 이 문제를 꼭 해결해야 했다.
마지막 일주일을 남겨두고 다같이 모여 그 문제를 해결하는데, 몇 시간 동안 여러 시도를 해보며 나온 문제점은 다른 팀의 ec2에서는 아무 문제 없이 잘 되는 문제가 우리 팀에서만 안된다는 것이었다. 인증서를 옮겨보기도 하고 별별 짓을 다 해봤는데 깨달은 것은 인증서는 원래 있던 폴더에서 나오는 순간 쓸모가 없어진다는 것이었다. 정말 우리만 겪는 문제에 EC2 오류라는 생각밖에 안들어서 EC2를 초기화하는 방법밖에 없을까..라는 생각을 하고 있었다. 그때 마지막으로 OpenVidu를 이용했기에 도커 컨테이너로 배포를 했는데, docker 설정을 바꿔주어 EC2 내에 인증서가 있는 폴더와 docker 내의 인증서 폴더를 마운팅해주었더니 인증서 문제가 말끔하게 해결되었다. 이 순간의 쾌감은 정말 엄청났다...ㅎㅎ
이러한 문제 말고도 또 이슈가 있었다. webRTC에 붙은를 javascript로 개발하다가 react로 다 옮겨야 하는 일이 있었는데, react를 많이 안써본 팀원이 옮기게 되었다. 그래서 react를 해봤던 내가 같이 옮겼는데, 이 과정에서 정말 협업의 힘을 많이 느낀 것 같다. 내가 안되는 부분은 함께 하던 팀원은 금방 해결한 문제였고, 내가 되는 부분은 팀원이 해결하지 못한 문제였다. 이 부분을 합쳐가며 migration 했더니 정말 빠른 속도로 다 옮길 수 있었다.
코드 리뷰를 하자
프론트엔드쪽에서 갑자기 백엔드 방 관련 API가 제대로 안된다고, 백엔드 좀 고쳐달라고 요청이 왔었다. 그 부분을 담당한 팀원은 분명히 그 기능이 됐는데 안될리가 없다고, webRTC 서버 이슈가 아닐까? 하는 걱정을 해서 내가 확인을 하게 되었다. 근데 정말 정말 단순한 오류였다. 로직은 다 맞는데 url mapping을 제대로 하지 못해서 오류가 났던거였다. 시간이 얼마 남지 않아서 코드 리뷰를 제대로 못했는데 이러한 부분이 허점으로 드러난 것 같아서, 팀원끼리의 코드 리뷰가 얼마나 중요한지 깨닫게 되었다.
말할 때는 한번 더 생각하고 말하자. 긍정적인 말로 팀 분위기를 만들어가자.
이 부분은 누구나가 평생 더 노력하고 해나가야 할 문제가 아닐까 싶다. 말하는 데에 있어서 늘 부족하다고는 생각하지만, 이번 프로젝트를 하면서 더더 노력하고 싶다는 생각이 많이 들었다. 개발도 사람이 하는 것이기에 많은 실수가 나오지만, 팀원들은 어떠한 실수를 해도 "이유를 알면 됐다"고 하면서, 늘 괜찮다고 서로를 북돋아주었던 것 같다. 사실 나는 늘 프로젝트를 할 때 나 자신에 대해 굉장히 엄격한 편이었던 것 같은데, 이번 프로젝트로 정말 그렇게 서로에게 말해주는 것이 팀의 분위기와 프로젝트 진행 상황에 있어서 많은 도움이 된다는 것을 느꼈던 것 같다. 팀원들한테 정말정말 고마움을 많이 느낀다.
마지막으로 팀장이라는 이유로 내 나름대로 프로젝트 일정 관리를 하며 많이 재촉하기도 했지만, 단 한명도 싫은 소리 안하고 끝까지 즐거운 분위기로 프로젝트를 행복한 기억으로 만들어준 팀원들에게 감사하다ㅎㅎ 너무너무 좋은 경험이었다. 이 과정에서 겪었던 오류들은 기회가 된다면 자세하게 더 풀어보고 싶다.
'dev log' 카테고리의 다른 글
JPA Fetch 전략 (0) | 2021.08.03 |
---|---|
Spring Boot, Spring Security, jwt를 이용한 회원가입과 로그인 (0) | 2021.07.26 |
MariaDB의 장점(MySQL과의 비교) (0) | 2021.07.21 |
[AWS] AWS EC2 서버 환경 만들기 (0) | 2021.04.07 |
[Backend] Servlet 정리 (0) | 2021.04.05 |