상세 컨텐츠

본문 제목

이노베이션 해커톤 후기

개발일지

by go_ra_ni 2021. 8. 28. 20:37

본문

728x90

대상 탔따..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

코멘트:

 

이노베이션 해커톤 진행 방식과 느낀점 등을 공유해보려고 한다.

 

먼저 진행 방식:

 

1. 신청 - 구글 폼으로 여러가지 개인정보를 쏙쏙 적어내고 자신이 원하는 역할 1지망 2지망을 써냈다.

나는 1 개발자 2 기획자로 써서 냈다. 미리 생각한 아이디어가 있었기 때문에 기획자도 괜찮을 것 같았기 떄문이다.

(실제로 괜찮은 아이디어였다.!)

 

 

2. 사전 모임 - 대회 시작 2주 전쯤 2일간 사전 모임을 진행했다. 

모임 공지 사항은 미리 초대 링크를 준 슬랙을 통해 모두 받았고 화상회의를 위해 google meet 을 사용하여 진행했다. 

간단한 대회 설명팀빌딩 방법, 대회 키워드

(키워드와 관련한 주제여야 했다.- 미리 공개한 주제는 mz세대를 위한 hip한 서비스)

를 알려주었다. 

키워드는 아주 많고 다양해서 사실 뭘 주제로 삼았든 포함됐을 것이다.

웰컴킷 소개(해커톤 참여하면 주는 선물같은 것이다. 무조건 다 주는듯),

git 행사(git 사용방법을 위한 행사인데 그냥 파일 1개 올리는 것 아주 쉬웠음)

여기까지가 1일차 git행사가 조금 오래 걸려서 그랬지 그 전까지 내용은 30분?정도만에 다 끝난 것 같다.

 

2일차:

팀빌딩 세션 안내(메타 버스 플랫폼인 gather town을 이용해서 팀빌딩을 한다고 안내받았다.)

기획자 피칭세션(기획자 역할군이 키워드와 관련해서 자기가 하고싶은 주제를 발표하는 시간이었다.

한 1분정도로 짧게 진행하였다. 받아적으면서 들었는데 귀에 잘 안들어왔고 이미 팀이 정해진 사람들도 많이 있었다.

나도 사실 개발자 역할이지만 같은 멤버 개발자님과 가져온 주제로 하고 싶었기 때문에 비슷한 내용을 말한 기획자를 찾으려고 노력했다. - 잘안됨...)

팀빌딩 - gather에 차례로 입장해서 마이크와 화면이 잘 되는지 확인 받고 시작했다. 이 출석체크 부분이 상당히 오래걸렸고 실제 팀빌딩 시간은 1시간? 정도안에 마무리된 것같다.

메타버스를 처음 접해봐서 신기했고 재미는 있었는데 여러 명과 대화하기엔 시간도 부족했고 내성적인 성격상 둘이서 가만히 고민하다가 겨우겨우 팀을 구성하긴했다..

이부분이 좀 어려웠다고 느꼈고 우리쪽에서 제의를 했는데 흔쾌히 받아주셔서 기뻤다.

이때 이미 주제의 가장 큰 틀을 얘기하고 시작했는데 모두 동의해서 제법? 순조로운 출발이었다고 생각한다.

 

 

이렇게 사전 모임이 끝나고 대회 시작 전 기간동안 기획의 자세한 내용을 토의했다.

우리팀은 약 4번정도의 회의를 거쳤는데 아이디어나 서비스 진행 방향, 구체적인 개발 방법까지 논의했다. 

나는 방학때 맛보기 시작한 자바스크립트로 개발하고 싶었는데 그 이유는 일단 모바일 앱만드는 법을 몰랐따....

그리고 가장 최근에 한거여서 그나마 도움이 될 수 있다고 생각했기 때문이다.

다행히 개발자님 디자이너님 모두 자바스크립트를 경험해 본적이 있었고 서버구축 내용까지 모두 비슷한 경험을 가지고 있어서 팀 구성 운이 좋았다고 생각한다.

2주동안 약간의 연습을 해보고 실제 대회날이 되었다.

 

대회 1일차

해커톤 대회는 개회식 이후 그냥 알아서 개발을 시작하면 된다.

대회가 시작하면 git repo를 배정해주고 거기서 프로젝트 코드를 쌓아가며 진행하면 된다. 

첫날은 할게 많고 막막해서 진짜 열심히 한 것 같다. 처음 참여하는 대회다보니 긴장도 계속하면서 코드를 열심히 짰다.

피드백을 좀 하자면 협업하는 데 문제가 좀 있었던 것 같다. 

기획자 개발자 디자이너가 한 몸처럼 진행하는데 있어서 상당한 어려움이 느껴졌고 우리팀은 1일차에 각자 개발하고

나중에 결과물을 합치기로 했다. 이런 방법은 초반 개발 진행에는 문제가 없고 진행 속도도 빠른 편이긴 하지만 이후 결과물을 합치는 과정에서 상당한 문제를 초래한다.

또한 비대면으로 각자 개발하고 있다보니 기획자님이 실시간으로 진행상황을 확인하기 어려운 문제가 있었고 결과물도 개인 서버에서 작동시키다보니 피드백 받기도 힘들었다. 그래도 gather에 모두 접속상태를 유지해서 중간 중간 소통이 되긴 했다. 

해커톤 진행팀에서 준비한 행사도 중간중간 섞여있었는데 크게 3가지로

오후 2시쯤 하는 공식 일정 - 2일차에 1번 팀별 스크럼 진행 

밤 8시 반에 하는 공식 저녁행사 - 간단한 게임 같은 걸 했었다. 상품도 있었다.

아침에 하는 운동? 비공식 - 아침 일찍 일어난 사람들과 체조영상 보고 체조하고 상품도 주고 했었다.

공식 행사는 참여도가 채점기준에 포함되어있어 빼먹지 말고 참여해야했다.

나는 모든 행사에 참여했고(잠을 안자서 그냥 참여가능했다...)

상품도 1개? 정도 받은 것 같다. - 룰렛 돌려서 운으로 당첨..

 

대회 2일차

사실 1일차와 새벽까지 한 결과물이 디자인을 제외하고 모든 부분이 거의 95% 완성된 상태였다. 디자인도 합치는 과정만 제외하고는 거의 완성형에 가까웠다. 이때부터는 뭘 했는지 잘 기억이 나질 않아서 지금 git commit 내역을 살펴보겠다.

대충 이런 내역이 있는데 새벽에 진행한 내용 같다.

db때문에 한참을 해멨는데 2일차 새벽부터 3일차까지 db에 투자한 시간이 절반 이상인 것 같다.

db문제는 여러가지가 있었는데 일단 내가 db를 써본 방법과 프로젝트에 db를 사용하는 방법이 구조적으로 달라서 학습해야하는 문제가 있었다. 이 부분은 디자이너님의 도움으로 새벽에 한 2시간? 동안 코치받아가며 배웠다..

일단 연결에 성공했고 (기존에 쓰던 db를 가져와서 테이블만 붙였다..) 그 다음 문제는 원래 있었던 db가 자꾸 연결이 끊어지는 문제가 있어서 자주 자동 접속 하게하는 함수가 있었는데 이 구조가 db를 여러 번 선언해야하는 구조여서 

최대 접속 제한을 넘겨버려 서버가 터지는 것이었다. 또한 접속시간을 체크해서 통계로 넘기기위해 1초마다 쿼리문을 실행했는데 쿼리문도 제한이 있었다.....  무료버전의 ? 또한 다른 서버 호스팅 서비스에서 받아온 db의 한계랄까? 

개강하고 가장 먼저 할 일이 db사용법을 익히는 것이 될 것이다.... 진짜 겁나 고통스러웠다...

결국 코드를 썼다 지웠다 복구했다 말았다 난리를 치다가 시간이 다 지나갔고 모델 형태나 디테일한 완성도 조금을 빼면 거의 그대로 3일차로 넘어갔다.

 

대회 3일차

이때부터는 사실 수면 부족과 스트레스로 매우 힘들었다. 밥도 하루 1끼만 먹고 진행해서 몸상태가 말이 아니었따..

그래도 마무리할 때 할 일이 갑자기 쏟아져서 버그 수정하고 결과물 제출도 신경쓰고 시연 영상도 찍고 하느라 아주 바빴다. 12시까지 제출이었는데 12시까지 진짜 바쁘게 했다.. 

결과물 양식도 공유하자면 

1. 발표에 사용할 ppt 

2. 심사할 최종 보고서 (한 줄 소개, 기획의도, 프로젝트 설명, 기술스택, 기대효과 )

3. 프로젝트 대표 리플렛(양식은 자유로웠고 프로젝트와 어울리는 이미지, 한줄 소개, 등등 최종 보고서에 있는 내용을 요약해서 넣는 것이나 다름없었다.)

4. 시연영상, 배포 주소, 배포 파일 중 1택 -

발표 후 온라인 부스에서 체험하거나 감상할 만한 결과물을 제출하는 것이다.

우리팀은 시연 영상을 준비했고 마지막에 배포도 db를 빼버리니 작동되서 배포주소도 포함했다.

 

 

심사

이노베이션 해커톤은 3일차 12시에 대회가 끝난 후 2시간 정도 휴식하고 바로 심사를 진행하는 일정이었는데

이때까지 잠을 못자서 모두 좀비모드였다.

발표는 최대 8분 -( 넘으면 정확히 컷함 ) 진행하고 6분동안 질문을 받았는데 이때까지 우리팀 자료를 안봤었다. ㅋㅋㅋ

어떤 내용으로 발표를 하고 그런걸 몰라서 초조한 마음으로 감상하는데 기획자님이 알찬 내용으로 재미있게 발표를    진행해서 이때부터 느낌이 좋았었다. 

질문시간에는 약간의 기술질문과 칭찬이 이어졌는데 아주 좋은 분위기여서 입상을 기대해 볼만 하다고 생각했다.

이후 모든 발표가 끝나고 온라인 부스시간에는 너무 졸려서 조금 졸았다. ㅋㅋㅋ 

그리고 우리팀은 1등을 했고 모두 뻗었다....

지금 생각해보면 우리팀보다 잘한 팀이 많았는데 일단 개발 수준은 우리팀이 평균정도면 평균이지 높은 기술적 스택과 어려운 알고리즘을 도입하진 않았다. 아주 기본적인 개발 능력으로 진행했고 나는 자바스크립트를 배운지 1달이 안되는 실력이었으니 이 부분에서는 득점요인이 그렇게 크지 않았다고 생각한다.

주제는 사실 MZ세대가 사용하는 서비스라 함은 모든 서비스라고 봐도 상관없는 범위이고

굉장히 자유로웠다고 생각한다.

심사 기준은  주제연관성, 완성도, 혁신, 협업, 발표력이었는데

내가 생각하기에 중요한 부분은 일단 실제로 필요한 서비스인가? 였다.

대부분의 질문이 이 서비스가 실 적용된다는 가정하에 들어왔고 개인정보 문제나 저작권 문제등을 질문하시기도 했다.

기획 주제를 정하는데 팁이 있다면 내가 대회가 아니더라도 한 번쯤은 사용해볼 만한 주제이길 권한다.

또 주로 거론되는 말이 기존에 있던 서비스와 비교였는데 나는 이 주제를 정하기 전에 이미 조사를 해보고 정했었다.

이 부분이 혁신과 관련된 부분인데 대부분 최신기술을 사용하면 과거 서비스와 다른 차별점이 존재하게 될 것이다.

우리 서비스는 이 부분에서 모션인식이라는 기술을 사용했고 좋은 결과를 얻을 수 있었다.

이 정도를 고려하고 정한다면 내 생각에는 좋은 주제가 나올 것 같다고 생각한다.

그리고 무언가 사이트에서 공유하거나 하는 주제는 자칫하면 겹칠 수 있고 굉장히 많은 주제가 일상 공유, 취미 공유와 연관되어 있었기에 피하는게 좋다고 생각한다.

 

개발과정에서 피드백할 점을 생각해 본다면 우선 아주 어려운 기술을 사용하면 물론 좋겠지만 시간이 오래걸리지 않아야한다는 것이다. 우리팀은 구글 teachable machine이라는 것을 사용해서 모델을 만들었는데 사실상 모션인식에 대한 지식이 없어도 구현이 가능하고 시간단축도 말도안되게 가능해져서 사실 1일차에 만든 결과물이 최종결과물이라고 생각한다.

그리고 모든 코드를 짤 때 무조건 필요한 것이지만 주석,, 하다보니 주석을 까먹고 거의 안쓰게 되었다.

또한 코드 구조가 별거 없는데도 복잡해져서 중간에 결국 디자인을 통합하면서 새로 만들게 되었다.

웹사이트 서비스를 계획중이라면 시멘틱 태그를 꼭 배우고 나서 진행하도록 하자. 그랬다면 후반부 작업이 훨씬 수월 했을 것 같다.

그리고 로그인 기능과 같은 기본적인 기능은 구현하지 않아도 된다. 

껍데기만 만들던지 아예 스킵해도 상관없다. 나는 해커톤 대회 시작 전에 여러 해커톤 관련 유튜브 영상을 시청했는데

모두 하는 말이 기능은 핵심 기능만 구현이었다. 하다보면 여러 기능을 붙이고 싶게 되지만 그건 실력이 더 있다면 ㅎㅎ

나는 기본 기능만 구현해도 상당히 만족스러웠었다.

그리고 있는 api나 라이브러리 등을 적극 활용하자.. 

사실상 우리팀 상은 구글신의  teachable machine이 만들어 준 것이나 다름없다. 나는 인공지능을 배우는 입장으로서 

내가 모델을 구현할 수 있어야하지만 다 까먹어서 잘 모르니 있는 것을 활용하는 방향으로 아주아주 강력하게 밀고 나갔고 심사과정에서 그 부분은 전혀 문제되지않았다. 왜냐면 학술발표가 아니니까 ㅎㅎ

 

첫 대회 후기는 이정도로 마치겠다. 

상을 받는 바람에 자신있게 쓸 말이 많아져서 기분이 좋다.

모두 trigger your inner hip~

 

 

728x90

'개발일지' 카테고리의 다른 글

메타버스 경진대회 참가  (0) 2022.08.16
오아시스 해커톤 후기  (0) 2022.08.16
이노베이션 해커톤 - 팀 설정 완료!  (0) 2021.08.13
heroku 오류 수정  (0) 2021.07.30
heroku 시작  (0) 2021.07.30

관련글 더보기