std::cout << "숏커톤이다아아앙" << std::endl;
안녕하세요 이번 숏커톤에 빵상하팀의 웹개발로 참여한 웹파트 김현중입니다.
저번주 금-토에 진행된 무박2일 해커톤인 숏커톤에 대한 회고를 늦게나마 하려합니다!
👨👩👦 숏커톤 시작전
저희 팀은 숏커톤 시작전에 바다, 카페, 포항 스페이스워크, 등등 많은 곳을 다니며 릴스도 찍고 사진도 찍으며 행복한 시간들을 가졌습니다. 그냥 서로가 없이?는 죽고 못사는 가족이 되어버렸습니다. 그래서 그런지 당일에는 아이스 브레이킹 과정 없이 편안한 분위기와 심리적 안전감이 함께 어울려서 행복하게 결과물을 만들어 나갈 수 있었습니다. 나중에도 느끼게 되겠지만 팀 내에서의 심리적 안전감이 얼마나 중요한 요소인지 다시금 깨닫게 되었습니다. (팀원들이 T가 대부분이라서 F인 저를 최대한 상처 받지 않게 배려해줌,,, 🤍)
💨 시작
저희 팀은 "피그잼"을 이용하여 서로의 아이디어를 공유하였는데 저희팀 웹파트의 박주영형이 팀 회고 시간에 말한 것과 같이 피그잼을 통해서 소통한게 너무 유익했습니다. 피그마만 알고 피그잼이란 동생이 있는지는 몰랐는데 카운트다운과 함께 그 시간동안 포스트잇에 아이디어들을 찍어내고 스탬프로 투표까지 진행하는 깔끔한 프로그램에 감탄만 나왔고 그것을 깔끔하게 진행시켜준 저희 팀 기획자 예람이 형께 감사인사 올립니다. 또 좋았던 점은 저희 팀 한 명 한 명의 아이디어에 대한 의견과 개인적으로 생각하는 것에 대하여 들어볼 수 있는 시간들이 많았던 점이다. 아무래도 목소리가 큰 사람들이 어딜가나 존재하기에 경험을 통해 목소리를 내는 것을 배워야 할 수는 있지만 아직까지 성장하지 못한 우리 새싹이들은 목소리에 우리 의견이 묻힐 가능성이 컸습니다. 그러나 한 명 한 명의 의견을 들어보는 시간과 thumbs up이라는 빠른 결정 시스템을 도입하여 척척척 아이디어를 만들어 나갔습니다.
🤯 피드백
아이디어가 피드백 이후에 크게 변동되었는데 그 과정이 너무 즐거웠습니다. 서로 의지하며 서로가 원하고 추구하는 방향의 아이디어들을 소파에 앉아서 나눠봤는데 마땅히 저희가 원하는 주제가 나오지 않는 상황이었습니다. 그 때 같이 춤추면서 이런 저런 말을 하다가 저희 주제가 되어 버린 버릇 장례식이 나오게 되었습니다.
예람 : 우리 이름은 뭐하지?
현중 : 메모리얼 닷컴으로 해요
현지 : 닷컴 구려요
주영, 광일, 하영, 하민 : ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
우리 : 버릇,, 버릇,,, String name = "버르장머리" + "장례식" => 버르장례식?!!! 렛츠꼬우
속전속결로 이름까지 정해버렸다. 우린 멘탈갑
🤲 진행
제가 숏커톤 프로젝트를 진행하면서 크게 회고하고 싶은 부분이 있는데 바로 "욕심"이라는 것입니다. 완벽주의에 가까울 정도로 무언가를 할 때 완벽하게 하고싶은 마음이 항상 큰 저는 시간이 많이 주어지지 않는 숏커톤에 있어서 기본적인 CRUD기능에 충실하다기 보다는 더 나아가 어려운 기능까지 추가하고 싶은 마음이 컸습니다. 하지만 팀원들은 기본 기능 부터 시작을 하자고 하였고 제가 생각했던 부분은 CRUD기능은 두 명의 개발자가 맡고 한 명은 어려운 기능을 맡음으로서 더 완벽한 웹서비스를 만들어 나가는 부분을 생각했기 때문에 뭔가 속에서 답답하고 쉽지 않은 기분이 들었습니다. 그래도 이것은 협업이기에 혼자 밖에나가서 짧게라도 제 욕심을 비우면서 생각정리를 한 후에 돌아왔습니다. 이 때 또 저희 팀원들에게 감사한게 개발팀장을 맡은 광일이와 기획 예람이형이 저에게 다가와 대화를 하게 되었는데 두 분이 저에게 속에 있는 걱정거리를 꺼내주는 역할을 하게 되었습니다. 그렇게 "협업 안의 다른 협업"으로 저의 욕심을 버리고 기본적인 CRUD 기능에 충실하게 되었습니다.
저는 게시물을 등록하는 페이지를 담당했는데 욕심을 버린것이 정말 다행인게 짧은 시간에 겨우 겨우 기본 기능들만 만들어냈습니다. 만약 제가 굽히지 않고 추가 기능까지 넣어버렸다면 저희 웹서비스는 완성도 못한채로 제출이 되어질뻔했습니다... 배운점도 많지만 전 바보입니다.
🙀 시간 먹는 악마 서버와의 소통
Axios과제를 하며 완벽히 이해했다고 생각했고 빨리 등록페이지를 구현하고 다른 페이지로 넘어가 다른 개발자를 도와주려는 계획을 가지고 있었고 레이아웃과 Styled-components를 다 작성하고 Axios만 구현하면 됐던 저는 제출한 String 값들은 제대로 넘어가지만 Image File이 제대로 넘어가지 않고 있었습니다. 이 때 저는 서버파트였던 하민이와 지속적으로 소통하며 문제를 해결하려 하였지만 생각보다 쉽지 않았습니다.
저는 세 가지의 문제해결을 필요로 하고 있었습니다.
하민이가 구현한 서버는 String 값들의 데이터들을 먼저 넘겨주고 그 다음에 이미지 파일을 넣어야함.
여기서 제가 당황했던게 이런 순서들은 처음 접해보는 일이었습니다. String 값들을 먼저 넘겨주는 것에 있어서 한 async문 안에 String 값 먼저, 그 다음 이미지 파일을 multipart로 올렸지만 계속 제출 버튼을 눌렀을 때. 이미지 파일이 먼저 올라가서 String 값들이 null값이 들어가는 문제가 생겼습니다.... 계속 코딩 리뷰를 하면서 문제를 찾아내려 애썼고 문제를 발견했는데 한 async문 안에 두 개 다 들어가서 비동기식으로 한 번에 올라가는 것이었습니다. 저는 async문을 두개로 나눠서 String 값의 업로드를 완료하면 이미지 파일을 업로드 하는 식으로 해결했습니다.
이미지 파일은 파일 자체를 객체로 담아서 업로드.
이미지 파일을 업로드 할 때 string URL값으로 바꿔서 항상 올려왔던 저는 파일 자체를 업로드 하는 것에 대하여 어떻게 해야되는지 감이 안잡혀서 원래 하던식으로 코딩을 짜고 그 후에 파일 자체를 업로드 하는 부분을 구글링을 통하여 바꿔냈습니다.
가장 큰 문제는 이미지 파일이 계속 Null 값이 들어감.
이 문제가 제일 시간을 많이 끌었는데, 어떠한 방식으로 바꿔봐도 계속 null 값이 서버에 업로드 된다는 점이 계속 시간을 잡아먹었습니다. 계속 하민이와 소통하며 바꾸고 바꾸고 또 바꿨지만 결국엔 해결방법은 너무 허무했고 저와 하민이의 경험 부족이 컸습니다,,, 알고보니 해시 키 값이 맞지 않게 전송이 되어서 Null 값이 들어가는 문제였습니다,,, 그냥 단어 하나 바꿔서 키 값을 맞췄는데 이미지 객체가 바로 업로드 된 부분이,,, 크흠,,, (두시간 소모,,,) 개발적인 역량도 역량이지만 경험과 지식이 더 중요하다는 점을 크게 깨닫는 부분이었습니다!!!
🫶 종료
그래도 시간안에 저희가 원했던 모든 기본 기능들을 구현하여 웹서비스를 완성시키고 발표까지 하였는데 (예람이형 감사합니다!) 두 표 차이로 아쉽기는 하지만 저희 팀이 2등이라는 성과를 만들어냈습니다!! 막상 끝난다니 정든 팀원들과 롱커톤 때는 함께하지 못할 수도 있다는 생각이 들었는데 너무 아쉬웠고 시간을 되돌리고 싶은 마음 뿐이었습니다. 그래도 이번 숏커톤을 경험하며 저는 1인분 역할은 충분히 해낼 수 있는 웹 개발자라고 느끼게 되었고 이 경험과 지식을 그대로 롱커톤을 가지고 가서 다음 저희 롱커톤 팀에 활기를 불어넣는 좋은 개발자로서 다른 소중한 사람들과 함께 서비스를 만들어나가자는 다짐을 하게 되었습니다 :)
우리 빵상하(대충 빵상은 드립, 상하 => 저희 팀 사람들이 텐션이 높아서 기분이 업되는데 서로 기빨려서 하가 된다는 뜻)팀 너무 고생했고 사랑해용 🫶
ps. 너무 개발얘기만 많이 햇지만 저희를 이끌어주고 책상 대형까지 바꿔가며 서비스에 열정을 불어 넣어준 예람이형 감사합니다. 디자인적인 부분에서 일러스트를 그려주고 바쁜 와중에도 개발자들의 질문을 하나하나 놓치지 않고 답해주며 피드백 해준 현지, 폰트체 크기 분석까지 담당해주고 바쁜 현지대신 옆에서 계속 피드백주고 도와준 내 동새 하영이, 말 없이 계속 도와주고 항상 강아지 키우듯이 절 컨트롤 해주시는 주영이형, 개발 팀장으로서 활동하고 기본 개발 환경 세팅 및 피드백의 킹 광일이, 개발자들이 제일 많이 문의사항 남기고 하나하나 답해주느라 고생많았던 하민이 모두 다 고생 많았고 사랑합니당 :):):) 감사합니다!! 우리 그래도 2등!!🎊🎉
서버 김채린 특별출연
댓글
로그인 후 댓글을 남길 수 있습니다.
짧은 시간동안 완성도 있는 결과물을 만들어내어 깜짝 놀랐어요!! 너무 수고 많았어요 ! 1인분 하는 개발자!! 롱커톤도 기대되네요 😆
감사합니당 롱커톤도 기대해요 ;)
마지막 사진 치와와 뭔가여
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
다른 팀과도 친밀함을 유지하는 모습이 좋네요!
아니 글 못쓴다면서 이렇게 잘 써버리면 어떡해ㅋㅋㅋㅋ 욕심 내려놓는게 쉽지 않았을 텐데 그걸 해낸 너는 최고의 협업왕! 함께 협업하면서 너무 재밌었고 완성도 있는 서비스 만들 수 있어서 너무 뿌듯했어 :) 우리 서비스 꼭 배포하자!!
앗,,, 저희 꼭 배포해요! 항상 감사합니다!!!
하나 피드백을 더 드리자면.. async 2개로 나눌 필요 없이, async 하나에서 await으로 String 값들을 먼저 넘겨준 후 완료되면, 다음으로 이미지 업로드가 수행할 수 있게끔 하는 게 더 코드가 깔끔하고, 가독성이 좋아질 거에요 :) 숏커톤 고생 많으셨어요~!
앗 await!!!!! await를 깜빡했네요,,, 감사합니다! :)
개발에 글까지 잘쓰시네요....대박티비!!
아닙니다 동원씨,,, 항상 화이팅!!
ㅋㅋ ㅋㅋ ㅋ역시 천재.. 수고하셨어요 :)
,,, 자바 천재님 감사해용 ;)
항상 노력하는 모습이 멋있습니다! 롱커톤 같은 팀 되었는데, 같이 힘내봐요!!
넹~ 🎉