[sw정글 17주차]<나만무> 프로젝트, 마무리나만무>
카테고리: swjungle survive
🚀생각보다 빠듯했던
재미있는 기능들을 넣고 싶었는데 생각보다 시간이 없었다.
아카이빙 영상 제작 및 전달, 버그잡기, 포스터 마무리, 리허설 시나리오 제작등에 시간을 많이 빼앗기게 되었다. 새로운 기능을 추가할 수 있는 여유 시간이 4일정도는 될 것이라 계산했지만, 실질적으로는 2일정도의 시간만 추가기능개발에 쓸 수 있었다.
마지막까지 버그잡기, 영상도 찍고.. 포스터도…😫
🚀🚀🚀개발
프로젝트 외적으로도 노력을 하고, 시간을 썼지만, 가장중요한 것은 프로젝트를 성공적으로 마무리 하는 것이였다. 도커, 결제, 알림 등등의 기능을 추가하고자 했다.
💰페이팔
멘토님의 조언대로, 결제에 신경써보기로 하였다. 사업자가 없으므로 페이팔을 하나 달아두면 좋지 않을까라는 생각이 들었다. 사업자 없이도 페이팔을 달 수 있어 보였다. 하지만 한국계정으로 달자, 한국인끼리의 거래는 허용되지 않았다. 미국 교환학생 때 만들었던 페이팔 계정을 가져와서 연동시켰다. 하지만, 미국 SSN이(주민번호같은거) 없으면 실제 결제대금을 받을수는 없었다.
하지만, sandbox모드로 미국계정-한국계정 간의 결제는 이루어 질 수 있었다. 샌드박스 계정에서 미국 SSN 있으면, Live계정으로 바꿀 수 있고 실제 돈을 받을 수 있는 시스템인 것이다. 샌드박스로 결제시스템을 완성하고 그 기능을 테스트해볼 수 있었다. 다른 사람들이 물어봐도 자신있게 페이팔 결제 시스템을 우리의 서비스에 integration하는데에 성공했다고 말할 수 있을 것 같았다.
희산이형과 서버, 클라를 하나씩 잡고 낑낑대며 페이팔 결제시스템을 완성시켰다. 희산이형의 중선-희산 페이팔결제연동기블로그글 에서 좀 더 자세한 내용을 확인할 수 있다.
💻서버구성과 Cors지옥
기운형과 수연누나가 몇일 째 고생중인 모습을 보다, 나머지 팀원들도 서버구성에 달라붙기로 했다. 의도치 않게 서버구축에 대해 공부를 할 수 있는 기회가 생겨서 오히려 좋다는 생각이 들었다. 몇일 전, 옆조의 채욱이네가, Cors로 고통받는 모습을 보고있을 때는 그저 가볍게 넘겼다. ‘Cors 그거 Header에 옵션 추가해주면 일단 되는건데?’ 라고 생각하고 가볍게 넘겼다. 하지만 우리조의 일로 닥치자 눈앞이 캄캄했다. 생각보다 쉽게 잡히지 않았다.
일단 잘못 생각하던 몇가지 개념들을 다시 잡아나갔다.
- Vite로 서버를 configure할때와, react로 configure할때와 다르다.
- 클라이언트는 SSL발급 등과 무관하다.
- mkcert는 로컬테스트를 위한 라이브러리다.
- 돈을 내지 않고도 SSL발급을 받을 수 있다.
SSH연결을 할 때 처럼, 클라이언트도 서버접속에 대한 어떤 키를 가지고 있으면 접속을 할 수 있다고 생각했지만, SSL인증만 제대로 발급받게되면 연결이 될 수 있다는 것을 알게 되었다. 1안과 2안을 따로 나누어서 실험을 진행했는데, 1안을 맡은 팀은 이상하게 SSL을 받아낼 수 없어 https연결을 이루어낼 수 없었다. 2안을 맡은 우리팀은 socket.io의 CORS오류때문에 DM연결이 잘 되지 않았다.
하나의 서버지만, 다른 포트에서 나온 출처도 모두 CORS정책에 걸리는 것이다. Nginx를 리버스 프록시로 쓰고, 그 내부에서 configuration file을 만지면 쉽게 될 수도 있을 것 같았다. 하지만, 남은 시간을 고려해보았을 때, 너무 리스키 해 보였다. 따라서, 2안을 준비하는 우리팀은 안전하게 시비스를 구성할 수 있는 방법을 찾기로 하였고, ec2를 두개를 띄우기로 하였다. 1팀은 도커로 각 컨테이너를 분리하고, Nginx를 도입시키기로 하였다. 안전빵이 있다면, 우리의 마지막 몇일을 태워서라도 도전해봄직하다고 생각했다.
시작부터 배포용 서버에서 테스트를 해가며 개발을 했지만, 마지막에 아키텍쳐를 갈아엎게 되면서 이런 촉박함이 생긴 것 같다. 인프라 구축의 중요성을 너무 쉽게 넘겼던 것 같다. CORS, SOP등과 같은 용어도 막바지에 가서 알았다는 점에서 최종 배포 서비스에 대한 리서치가 부족했다는 생각이 들었다.
🧑🏼💻마무리
토요일이 발표였으며, 목요일 까지 끝까지 버그를 잡아나갔다. 금요일에는 여유로운 마음으로 마무리를 준비할 수 있었다.
🚀🚀🚀비개발
🚀영상
의상까지 맞춰입고 아카이빙 영상을 준비하였다. 운이 좋게도 딱 7분을 맞출 수 있었다. 참고로, 운영진이 요구하는 용량 50MB를 어떻게 맞출지 고민하시는 분들이 있다. 손쉬운 방법으로 두가지 방법이 있다.
- OBS화면녹화
최고의 화질로 영상을 재생한 뒤, OBS로 현재 나의 화면을 녹화해버리면 된다. 7분짜리 영상기준 30~35MB로 추출된다. 싱크에 전혀 문제가 없다. 하지만 컴퓨터가 뜨거운 상태이거나, 다른 프로그램들이 많이 돌아가고 있으면 음성싱크가 조금 밀릴 수 있으니 주의가 필요하다. 필터기능을 이용해서 색감도 쉽게 잡을 수 있다.
- 유튜브업로드
최고의 화질로 영상을 porting시킨 뒤, 유튜브에 업로드 한다. 그리고 해당 유튜브영상을 다시 다운로드하면 원본과 똑같은 영상을 30MB정도로 얻을 수 있다. 720P 기준 30MB, 1080HD 기준 60MB정도 되는 것 같다. 코치님에게 문의결과 720P도 충분히 괜찮다고 한다. 추후 자소서등에 첨부하기 위해, 아카이빙 영상을 유튜브에 업로드 해 두었다.
아래는 최종 영상이다.
🚀포스터
포스터를 어떻게 꾸밀지… 결국 시간을 갈아넣은 만큼 예쁜 포스터가 나오는 것 같다.
(혹시 포스터 세션을 어떻게 준비해야할지 궁금한 후배님들이 있으시다면, 여기(포스터모음집 링크)에 그간 있어왔던 기수별 총 12개의포스터의 모아두었으니 참조하면 좋을 것 같습니다)
🚀질의준비
다른조들에게 우리팀에 대해 어떤 궁금한 것들이 있는지 물어보았다. 그 중 같이 논의해볼만한 것들을 따로 추려서 답변을 준비하였다.
🚀무엇이 가장 중요할까
1주일이 남았다 무엇이 가장 중요할까….
‘1주일이 남았다… 무엇이 가장 중요할까……’
내 머릿속에서 꼬리에 꼬리를 물고 생겨나는 질문이였다. 1순위는 프로젝트의 성공이였지만, 그에 못지않게 중요한것이 있었다. 팀원들이 같이 프로젝트했던 순간을 떠올렸을 때, 좋은 기억으로 마무리될 수 있는지였던 것이다. 팀원들이 이 순간을 좋은 추억으로 남기위한 요건들을 생각해 보았다.
- 프로젝트가 성공적으로 끝나고, 프로젝트의 가치를 높게 평가받는다.
- 프로젝트를 떠올렸을 때, 즐거운 기억들이 먼저 떠오른다.
- 프로젝트에서 가파른 성장을 했고, 이 성장점들이 취직으로 이어진다.
- 프로젝트를 함께한 팀원들 모두 서로에 대해 고마움을 느낀다.
- 프로젝트를 통해 얻고싶었던 모든것들을 얻게된다.
결국 1순위는 프로젝트를 잘 끝내는 것이라는 생각이 들었다. 하지만 프로젝트 외적으로 노력할 수 있는 부분이 많다고 생각했다. 따라서 다음과 같은 일들을 하게 되었다.
-
팀 분위기 여느 팀들이 그러하듯, 크고작은 갈등이 있었다. 그래도 좋은 팀분위기를 만들기 위해, 맛집을 돌아다녔다. 돈을 조금 펑펑 쓴 느낌(?)이 없지않아 있지만, 최대한 맛있는 음식을 먹으며 좋은 시간을 보내고자 하였다.
-
회고 서로의 장점을 객관화 하는 시간을 가질 겸, 좋은 팀분위기를 만들 겸, 프로젝트의 전반적인 과정을 회고해볼 겸, 서로의 장점을 하나씩 말해주는 시간을 가져보았다. 장점회고시간을 가진 후, 뭔가 마음이 몽골몽골 해지는 기분이 들었던 것 같다. ‘내가 이 사람들에게 도움이 되는 존재였구나’를 타인의 입을 통해서 듣게됨으로써, 조금 더 동료애가 솟아오르는 느낌이였다.
-
첫 프로젝트때의 다짐이 지켜졌는지
프로젝트를 시작하며, 각자 이루고 싶은 것들에 대해 물어봤던 적이 있다. 프로젝트가 2일뒤면 끝나는데, 원하는 것을 얻었는지 물어보는 시간을 가졌다. 모두 그때의 초심을 떠올리고, 현재의 나와 비교하는 시간을 가질 수 있었다. 다행히 모두들 진심으로 긍정적인 답을 하였다. 이루고 싶은것들을 이룬 것 같았다.
그래도 개인적인 관점들에서 프로젝트에서 많은것을 얻었음을 느끼며, 그렇게, 마지막 발표장으로 가게 되었다.
🚀🚀🚀크래프톤에서의 최종최종최종최종 발표(D-day)
(실물은 처음 뵌… 어색어색)고마운 멘토님과도 한컷
크래프톤의 멋있는 건물에서 즐겁게 사진을 찍으며 발표를 기다렸다. 어제밤에 빡세게 테스트를 해 보았으며, 서울에 있는 친구들에게 테스트를 부탁했을 때에도 문제가 없었기에 마음이 여유로웠다. (사진 속 여유로움은… 거의 놀러온 느낌..) 이제 슬슬 준비를 하려고 하는데(지루하지 않도록 로그인 미리 해두기, 프로필 이미지 설정, 브라우저 카메라 접근권한 체크, 네트워크 크래프톤꺼 말고 핫스팟 쓰기 등) 갑작스러운 일이 생겼다. 우리 바로 앞팀의 데모에 문제가 생겨서 허겁지겁 무대에 올라가게 된 것이다. 이범규대표님의 “파라솔로팀이 나와주세요!!”라는 말을 듣자마자, 허겁지겁 의상을 갈아입고 미리 준비한 선글라스를 챙겨 올라갔다.
나의 10년지기 친구이자 형이자 과동이였던 옆반 원희형이 0.2초정도 원망스럽긴 했지만, 결과적으로 보면 이또한 기회였던 것 같다. “안녕하세요! 갑작스럽게 발표를 맡게된 윤중선 입니다. 발표 시작하도록 하겠습니다!!!”라고 인사를 하자 장내 분위기가 아주아주 밝아졌다. 많은 사람들이 웃어주었고 좋은 분위기 속에서 데모를 이어나갈 수 있었다. 로그인, 화면크기, 브라우저 카메라 권한 허용 등 준비되지 않은 부분에 있어서 조금의 지루할 수 있는 부분이 있었지만, 우야무야 잘 대처를 함으로써 화기애애한 분위기에서 데모를 마칠 수 있었다.
결과적으로, 최고의 호응을 받은 최고의 팀이 될 수 있었다. 데모중에도, 협력사 분들께 자신있게 서비스에 들어와달라 할 수 있었으며, 최고의 호응을 받을 수 있었으며, 결과물에 대해서도 스스로 떳떳함을 가질 수 있었다.
발표를 마치고 자리로 돌아올 때, 그간 함께했던 팀원들의 환한 미소를 볼 수 있었다. 그 순간 만큼은 정말 모든것을 다 가진 기분이였던 것 같다. 프로젝트를 성공적으로 마칠 수 있도록 도와준 팀원과 멘토님께 감사의 다시 한 번 말씀을 전하고 싶다.
최종 발표 영상
마치며
노션에 우리의 흔적중 중요한 몇 순간들을 남겨두었다. 4주 전 사진들을 보던 팀원들은, 몇일 전같다고 말한다. 하지만 나는… 마치 몇달 전 일들 같다. 팀장으로써의 어떤 책임감이 나를 눌러왔지만, 모른체 했던 것 같다. 이완되기 전까지는 얼마나 긴장되어 있었는지 알기 어렵다. 그간 많은 고뇌도 있었고, 즐거워 하는 순간들도 있었던 것 같다. 모두 이순간만을 위해 달려온듯한 기분이 든다. 끝나고 나면 개운할 줄 알았다. 42.195km의 마라톤을 마치고 결승선에 도달하면 느끼게 될, 어떤 희열
과 개운함
이 있을 것 같았다. 하지만, 희열만 있었다. 개운함 크게 없었다.
로켓을 쏘아올리고 나면 이런기분이 아닐까? 로켓발사에 성공하면 어떤 큰 희열이 느껴지겠지만, 한동안 계속 모니터링 해야할 것이다. 그런 기분이였다. 이제 시작이기에, 모든걸 끝낸듯한 개운함은 없었던 것 같다.
무튼 끝났다. 멘탈만 꽉 부여잡고 있으면, 프로젝트가 정상적인 흐름으로 흘러갈 것이라고 생각했다. 결과적으로 많은 칭찬을 받았다. 서비스 완성도 측면에서 여러 이야기를 들을 수 있었다. 뿌듯하다.
사실 오늘 발표를 잘했다고 해서 인생이 확 피거나, 오늘 발표를 망쳤다고 해서 앞으로의 일들에 먹구름이 끼지는 않는다. 그저 정글의 한 챕터를 좋은 기분으로 마무리하는 것이다. 이러한 성공 경험들이 쌓이고 쌓여, 무엇이든지 도전하고 성공할 수 있다는 믿음을 가지는 당당한(무모한?) 사람이 되는 것이다.
오늘의 일들이 드라마틱한 어떤 변화를 만들지는 않을 것이다. 하지만, 이 결과를 얻기위해 진심으로 임했고, 이러한 과정이 습관이 되어 더 나은 나를 만들게 되지 않을까 싶다.
적다보니, 마음속 깊이있던 철학적 이야기만 쓰게되는 것 같다. 사실 지금 기분은 그냥 그렇다. 뭔가 속이 탁 트이는 듯한 개운함이 느껴질 줄 알았건만 그렇지는 않았다. 너무 피곤해서일까. 그냥.. 조금 다이나믹한 하루가 그저 잘 지나간 기분이다. 그저 고맙고 감사하고, 기쁘게 끝났다는 기분인 것 같다.
오늘을 만들기 위해 달려온 고마운 팀원들과 이 기쁨을 즐기고, 다시 또 무언가를 시작하게 될 것 같다.
🏖그래도… 끝났다!!!!
😵배우면서 깨달은 내용을 정리해 보았습니다. 틀린 것 같은 개념을 아래 댓글에 달아주시면 감사합니다😵
🌜 Thank you for reading it. Please leave your comments below😄
댓글 남기기