티스토리 뷰

728x90

🤖 해커톤이란 ? 🤖

 해커톤 ( hackathon ) 이란 해킹마라톤의 합성어로, 정해진 시간 내에 집중적으로 작업해서 의미있는 결과물을 만들어내는 소프트웨어 행사이다.


🤖 해커톤에 지원한 이유 🤖

 예전부터 꼭 해커톤에 참가하고 싶었다. 밤을 새서 개발이라는 말 자체가 호기심을 자극했다. 그저 해커톤 후기들만 보는 것이 아니라 실제로 그 현장에 있고 싶었고 하루 24시간을 온전히 개발하는 경험도 쌓아보고 싶었다. 무엇보다 24시간 만에 프로젝트 개발이라니!!! 지금까지 해온 프로젝트들은 모두 몇달에 걸쳐서 진행했었다. 하지만 해커톤은 하루만에 모든 것을 해야한다. 극한의 집중력으로 개발하는 경험을 쌓고싶었다.

 

 마침!!! 그때 학교 복도에 중앙동아리 멋쟁이 사자처럼에서 주최하는 찰떡콩떡해커톤을 발견했다.

찰떡콩떡 해커톤 포스터

 해커톤에 너무너무 참여하고 싶었던 나는 일단 팀원을 모아 바로 신청했다. 팀원은 네명 모두 개발자로 같은 과 사람들과 함께 참여했다. 하지만 문제가 생겼다..

 다양한 해커톤들을 찾아보니 대부분이나 개발로 프로그램을 제작했다. 세상에나,, 나는 웹개발은 거의 몰랐다. 그냥 아예 몰랐다. 프론트엔드, 백엔드라는 개념만 알았을 뿐 언어를 배워보지 못했다. 그리고 그건 우리 팀원들도 마찬가지였다🥲

 

 그래서 종강하고 해커톤 당일 전까지 1~2주정도 팀원끼리 웹 개발 프론트엔드와 백엔드를 나눠 맡은 후 개인적으로 공부했다.


🤖 해커톤 당일 🤖

 서울 문래역 근처로 지하철을 1시간 반가량 타고 이동했다. 막상 도착하니 두근두근떨렸다. 사실 처음 도착했을때 자리가 정해져있는지 몰라서 제일 좋은 자리에 일단 앉았는데 알고보니 그 자리가 우리 팀 자리였다!!!ㅋㅋㅋ

 해커톤이 시작하고 바로 주제가 현장에서 랜덤으로 뽑혔다. 바로,,

! 헬스케어 !

 우리는 구현 능력이 부족하니 아이디어로 승부를 보자! 라는 마음가짐으로 아이디어 회의에 몰두했다. 다양한 의견들이 나왔는데 그 중에서 제일 웹 개발에 적합하고 아이디어가 신선하며 유용한 아이디어를 골랐다. 그것은 바로 Heathy Battle 이다.

 

 Heathy Battle 은 운동 동작을 분석해 제한 시간 내에 올바른 동작을 얼마나 잘하는지에 대한 점수를 매기고 해당 점수를 바탕으로 랭킹을 나타내는 프로그램이다.

 

 다음은 아이디어 구상회의할때 기록했던 노션 페이지이다.

 해커톤 운영진분들이 준비해주신 코너도 재밌어보였다. 닌텐도 스위치로 게임하거나 윷놀이가 있었는데 시간이 없어서 직접 해보진 못했다ㅜㅜ 그렇지만 해커톤에서 준 엽전으로 해커톤 내의 주식으로 돈을 버는 프로그램은 정말 재밌었다.!!!


🤖 프로젝트 개발 과정 🤖

 아이디어 회의를 마친 3시반부터 본격적인 개발을 진행했다.

 앞서 공부했던 분야 그대로 나와 다른 팀원 한명은 프론트엔드를 맡았고 다른 팀원 두명은 백엔드를 맡았다. 백엔드 파트의 경우 데이터베이스와 서버를 한명이 맡았고 나머지가 opencv와 딥러닝 모델을 활용해서 사람의 포즈를 인식하는 부분을 맡았다. 프론트엔드를 담당한 나와 다른 팀원은 먼저, 각자 담당할 페이지를 맡아서 개발했다. 

 

 정말 놀라웠던 부분은 난 분명 html,css,javascript를 어느정도 공부하고 왔는데 막상 내가 원하는 웹페이지를 만들려고하니 다 까먹었다는 사실이었다!!! 너무 당황스러워서 얼른 코드 정리한 내용과 구글링을 열심히 했고 일단 어떻게든 만들 수 있었다. 역시.. 개발은 구글링이 큰 부분을 차지했다. 

 팀원끼리 소통하며 각자 맡은 부분을 정말 쉼없이 개발했다. 저녁시간이 되니 어느정도 웹페이지 틀이 잡혀갔다. 밥먹고 카페가서 아샷추 하나를 사와서 그대로 쭉 개발했다. 

 

 다음 사진은 개발의 효율성을 높이기 위해 해야할 일들을 노션에 리스트업한 것이다. 밑으로 리스트가 더 존재한다..!


 🤖 결과물 🤖

 우리는 새벽까지 개발과 발표 ppt 작업을 쉬지 않고 계속했고 아침 7시가 돼서야 끝낼 수 있었다.

 딥러닝 기반 BlazePose Model을 사용해 자세를 트랙킹했는데 아쉽게도 웹에서 실시간 연동을 하는 방법을 찾지 못해 점수가 올라가는 기능과 skeleton 인식 기능은 python 내에서 개별적으로 구현했다. 

 

 다음은 웹 시연 영상이다. 발표 시간 제한때문에 배속했다.

https://www.youtube.com/watch?v=psZN9PShp5A 

 다음은 python에서 구현한 부분의 사진이다. 좌측 상단에 운동한 횟수를 나타내고 있다.


🤖 배운 점 🤖

1. 깃 사용

 전공 수업에서 깃 사용법에 대해 공부했었다. 하지만 vscode로 팀프로젝트를 진행하는 것과 같이 실제로 활용한 것은 이번이 처음이었다. 역시 직접 해보지 않으면 제대로 알지 못하는 것 같다. 팀원끼리 협업하며 깃을 잘 다룰 수 있게 되었고 깃의 중요성을 뼈저리게 느꼈다.

2. 협업하는 법

 이번 해커톤에서 수상할 수 있었던 이유는 팀원과의 협력이 굉.장.히. 잘되었기 때문이다. 팀원 모두에게 너무 감사할 따름이다. 각자의 자리에서 맡은 바를 최선을 다해 구현했고 힘든 와중에서도 서로를 배려하며 소통했기 때문에 가능했다. 덕분에 팀 프로젝트에서 협업할때 어떻게 해야하는지 배울 수 있었다. 진심으로 팀원들한테 감사한다.

3. 프론트엔드 웹 제작 

 해커톤을 준비하며 강의로 프론트엔드를 공부했다. 어느정도 다 안줄 알았는데 실전은 완전히 달랐다. 실제로 프론트엔드를 구성해보며 프론트엔드 개발의 이해도가 상승했다.

4. 해커톤에 대한 전반적인 이해

 후기로만 접하던 해커톤을 직접해보니 해커톤이 어떤 것인지 몸소 체험할 수 있었다. 

 


🤖 느낀 점 🤖

 살면서 24시간을 깨어있어본 경험이 없다. 시험기간에 밤을 새도 6,7시쯤 항상 조금이라도 잤었다. 30분이라도 하루와 하루의 사이에 휴식이 꼭 필요했다. 그런데 이번 해커톤은 정말 말 그대로 24시간 눈을 뜨고 있었다. 해커톤 당일 오전 10시에 일어나 그 다음날 집에 와서 14시 경에 잠들었으니 하루를 꼬박 눈 뜬채 보낸 것이다.

 정말로 신기했던 것은 졸리지 않았다는 점이다. 그저 개발하기 바빴다. 나는 나 자신이 솔직히 새벽이 되면 하기 싫어서 집중 하나도 못하고 과자만 먹을 줄 알았다. 물론 팀원과 함께하는 작업이니 30분정도 그러고 다시 집중하겠지라고 생각했지만,, 전혀 그러지 않았다. 그냥 개발하고 팀원과 얘기하면서 디버깅하거나 개발하기 바빴다. 눈 깜빡하니 벌써 새벽 6시였다. 너무 신기했고 너무 신기했다. 어떻게 이렇게 시간이 빨리 가지? 해커톤 발표가 끝나고 핸드폰 배경화면을 보니 9시였다. 그때 팀원끼리 했던 이야기가 생각난다. 9시가 아침 9시가 아니라 저녁 9시 같다는 이야기였다. 

 

 이번 해커톤은 계속 생각날 것 같다. 최선을 다해 노력했고 열심히 개발했다. 그리고 수상자 명단에 우리 팀 이름 링인유(RingINU)가 있는걸 눈으로 본 순간이 잊혀지지가 않는다. 스무팀 가까이 됐던걸로 기억하는데 그 중에서 우리 팀이 동상을 받았다는 사실이 아직까지 믿겨지지 않는다. 함께해준 팀원에게 다시 한번 감사하고 앞으로도 열심히 개발해야겠다.

 


728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함