본문 바로가기

대외활동

[🏝️ 구름톤] 구름톤 in Jeju 10기 3-4일차 참가 후기 (우수상🏅)

1-2일차 후기는 위 링크에서 볼 수 있다.

 

1. 3일차

1) 본격적인 개발 시작

전 날 새벽 4시에 자고 8시쯤에 다시 해커톤 장소로 돌아와 본격적인 개발을 시작했다.
 
우리가 진행하는 프로젝트는 플로깅 서비스로 필요한 서버에서 개발해야 하는 API는 총 5개였고 그중 주요 API는 다음과 같다.

  • 사용자의 플로깅 기록 등록 API
  • 플로깅 기록 조회 API
  • 쓰레기가 존재하는 가까운 바다 조회 API

특히 사용자의 플로깅 기록을 등록할 때, 위도와 경도 정보뿐만 아니라 쓰레기를 주운 위치도 따로 구분을 해줘야 했기에 어떻게 개발을 하는 게 서버가 안 터지고 잘 동작할 수 있을지를 고민했다.
 

 
결론적으로는 위와 같은 ERD가 나왔고 아쉽지만 시간 상의 문제로 프론트에서 사용자가 플로깅을 마친 시점에 전체 좌표 정보들을 리스트 형태로 한 번에 전달하는 식으로 진행이 됐다. 서버에서 따로 고도화된 작업은 안 했기 때문에 필요한 MVP API들은 4-5시간 만에 다 개발되었다.
 
하지만, 나중에 고도화를 한다면 많은 사용자들이 바로깅을 사용했을 때에도 원활히 서비스가 돌아가기 위해서는 Kafka 같은 메시지 큐를 이용해 서버 성능에 부담이 가지 않도록 배치 처리를 할 수 있을 거 같다.
 
 
개발을 하다가 이미지 인식 AI 기능을 넣을 것인가 말 것인가에 대해 얘기를 나누기도 했었다.
이미지 인식 AI를 넣는다면 사용자가 쓰레기를 발견하면 사물을 찍어 해당 사물이 쓰레기라고 판별이 나면 쓰레기로 인정해 주도록 구현하자는 쪽으로 얘기가 나왔다.
 
해커톤 일정을 생각하면 AI 도입은 약간 위험한 도전이기도 했지만 프론트 팀원이 AI 기능을 직접 넣고 싶다는데 굳이 반대할 이유도 없고 우리 서비스가 다른 플로깅 서비스에 비해 기능적으로 참신성이 부족하다 싶었는데 AI 기능을 넣으면 재밌을 거 같아 AI 기능도 같이 넣기로 했다. (이게 신의 한 수였다 😲)
 
 

 
개발하던 중간에 구름톤 플레이어분들이랑 근처에 있는 광치기 해변도 갔다오고 그 유명한 스타벅스 까망 크림 프라푸치노도 먹었다. ㅋㅋㅋ
 
 

2) 크램폴린IDE 배포

내가 기억하기로는 우리 조가 제일 빨리 배포를 시작했던 거 같다. 구름톤은 크램폴린 IDE를 활용해서 배포를 하면 가산점을 얻기에 거의 모든 팀이 크램폴린 IDE를 활용해 배포를 했다.
 
우리 팀은 S3나 Redis 같은 부가적인 클라우드 서비스는 사용하지 않고 첫 째날에 수행한 실습 예제의 기본값(MariaDB..)을 그대로 갔기 때문에 세팅에서 큰 문제는 겪지 않고 한 3시간 만에 빠르게(?) 배포가 됐다.
 
 
그러나 배포는 됐지만 DB 테이블 구축에서 문제가 생겼다...
flyway처럼 개발자가 DB에 구축할 테이블에 대해 sql 파일을 만들어야 하는데 원래는 작성한 sql 파일을 토대로 테이블 구축이 자동화가 되어야 한다. 하지만 나 같은 경우는 쿠버네티스 내부적으로 뭔가 꼬인 거 같아 이 부분을 수동으로 해주어야 했고 여기에서 거의 3시간 정도를 더 써서 밤 10시쯤에 최종 마무리를 할 수 있었다... 😨 (여기서 멘토 분들이 많이 도와주셨는데 감사합니다...)
 
다행히 배포한 후, 내가 개발한 API에 대해 500에러가 뜨는 경우는 없어서 프론트에서 새벽 내로 서버 API 연결까지 완료했다. 우리 팀은 다른 팀들에 비해 기능들이 복잡하지도 않고 중간에 피벗하는 경우도 없어서 빠르게 일을 마무리할 수 있었다.
 
 

중간에 음주코딩

 
중간에 웹 배포 관련해서 문제가 생기기는 했지만 그래도 3일차 새벽에 거의 모든 작업들이 마무리되어 다른 팀들에 비해 여유를 갖고 즐겼던 거 같다.
원래 3일차 새벽까지도 밤을 새는 게 맞지만 우리 팀은 일을 다 마무리하고 새벽 2-3시쯤에 다 같이 숙소에 들어갔다. ㅋㅋㅋㅋ
 
 
 

2. 4일차

1) 발표 자료 준비

3일차 때 거의 모든 개발이 완료되어 4일차에는 발표 자료를 만드는 데 집중했다. 물론 디자이너 분이 거의 전담해서 만드시긴 했지만 개발자도 보조자료를 만드는 데 도움을 주려 했다.
 
 

시연 영상

 
이때, 시연 영상을 찍어야 했는데 플로깅 서비스는 직접 걸어서 시연 영상을 찍어야 해서 팀원이랑 같이 광치기 해변 쪽으로 산책 갔다 오면서 잘 작동되는지 확인하는 과정이 재밌었다.
프론트 팀원 분이 구글 텐서플로우에서 개발한 이미지 인식 AI 기능도 넣어서 개발하셨는데 다행히 사물을 잘 판별해 주었고 이 기능이 정말 우리 앱을 더 돋보이게 해주었다. (영상에 해당 기능 동작이 들어가 있다) 👍
 
 
 

2) 심사 그리고 우수상 수상 🏅

4일차 오후에는 그토록 기다리던 해커톤 심사가 시작되었다.정말 모든 팀이 그 짧은 시간 동안 어떻게 저 기능들을 다 만들었는지 싶을 정도로 완성도가 높아 발표를 듣는 재미도 있었다.
 

 
 
우리 팀은 프론트 팀원 두 분이 발표를 진행했는데 두 분 다 너무 잘해주셔서 우리 서비스가 더욱 돋보였다. 🥹
심사위원 분들이 발표를 듣고 평가뿐만 아니라 피드백도 많이 해주시는데 이게 바로 연륜인가 싶을 정도로 정성스러운 피드백이었다.
 
 
다행히 심사위원 분들 중 '플로깅' 활동을 잘 모르시거나 혹은 원래 관심 있었던 분들이 꽤 계셔서 우리 서비스를 좋게 봐주셨다.
우리가 수집한 쓰레기 좌표들을 제주 지자체에 넘긴다고 한 점도 사업 모델로 좋을 거 같다 하셨고 초반에 넣을까 말까 고민했던 이미지 인식 AI 기능도 잘 동작하는 모습을 보고 재미요소로 보였다며 칭찬을 해주셨다. ㅎㅎ
 
다만 우리 서비스가 사용자 입장에서는 인센티브가 없다 보니 이 부분을 고려하면 더 좋겠다는 의견도 있었다. (이 부분은 우리도 기획을 할 때 고려했던 문제점이긴 했는데 심사위원 분들이 정확히 캐치하셨다...)
 
 


기대 이상으로 심사위원 분들께서 우리 서비스를 긍정적으로 봐주셨고 우수상을 수상했다. 🫢
 
 
 

3. 마무리하며

바로깅의 서비스는 구름톤 전시관에서 자세히 볼 수 있다. ㅎㅎ
 
다른 후기들 보면 구름톤 끝나고 바로 집으로 돌아가지 않고 며칠 정도 제주에 더 묵으면서 즐겼다고 하는데 아쉽게도 바로 다음 날이 SQLD 시험이라 해커톤 끝난 당일에 집으로 올라갔다. ㅠㅠ
그래도 해커톤 때는 다들 각자 작업에 집중하느라 수다를 많이 떨지는 못했는데 나중에 서울에서 팀원들끼리 모여 회고하는 시간도 가지면서 많이 친해진 거 같다.
 
이번 구름톤 10기에 서버 개발자로 참가하면서 느낀 점은
1. 수상 욕심은 적게 가지고 즐기는 마음으로 참여하자
2. 당장 상용화가 가능한 서비스를 만들자
3. 오픈소스를 잘 활용하자
4. 서버 개발자라면 배포는 미리 해놓자...
 
 
1. 수상 욕심은 적게 가지고 즐기는 마음으로 참여하자
구름톤에 참여하는 사람들은 굳이 제주까지 오면서 해커톤 하는 사람들이기 때문에 실력도 출중하고 열정적인 사람들이 많다. 그러다 보니 다들 짧은 기간 안에 프로젝트를 완성도 있게 마무리했고 그 안에서 수상자도 적은 점수차로 갈리는 거 같았다.
 
사실 구름톤에 참여할 때 꼭 수상하고 온다라는 마음가짐으로 왔지만, 구름톤에 참여하면서 점차 욕심은 버리고 그래 제주까지 왔는데 그냥 좋은 추억 쌓고 간다 이 마인드로 즐겁게 참여했던 거 같다. 오히려 이런 마인드로 참여를 하니 해커톤에 참여하면서 가지고 있었던 부담감도 많이 줄어들고 팀원들이랑 광치기 해변도 여러 번 갔다오면서 즐겁게 개발을 할 수 있었던 거 같다. 
 
반대로 정말 수상을 하고 싶어 내 몸 혹사해가면서 2박 3일 내내 개발만 했는데 좋은 결과를 얻지 못했다면 좀 슬펐을 거 같다... 그러니까 수상은 운에 맡기고 가벼운 마음으로 해커톤에 성실히 임하는 게 좋은 태도인 거 같다.
 
 
2. 당장 상용화가 가능한 서비스를 만들자
해커톤 심사평을 보며 느낀 점은 심사위원 분들은 당장 상용화가 가능한 서비스에 좋은 평을 주시는 거 같았다. (1등, 2등, 3등 모두가 당장 상용화가 가능한 서비스였다)
아무래도 사용자가 어느 정도 모여야 운영이 원활히 되는 서비스는 어떻게 이 서비스에 사용자들을 모아야 할지부터가 문제이기 때문에 이 점에 대해 지적을 많이 하셨다.
 

3. 오픈소스를 잘 활용하자
2번과 마찬가지로 단순 CRUD 기능만 제공하는 서비스보다 오픈소스까지 잘 녹여서 만든 서비스에 좋은 평을 주셨다.
첫 날 강의때 괜히 거인의 어깨에 올라타라라는 말을 강조하신게 아니다...
팁을 드리자면 심사위원분들은 특히 생성형 AI를 좋아하시는 거 같다.


 
4. 서버 개발자라면 배포는 미리 해놓자...
우리 팀은 아니었지만 크램폴린 IDE 배포에서 예상치 못한 변수 때문에 배포가 늦어진 팀도 있었다. 만약 내가 구름톤에 다시 참여한다면 배포 먼저 하고 개발을 시작할 거 같다.
 
 
 
제주에서 해커톤을 한다는 거 자체가 정말 낭만 있는 활동이라 기대를 많이 했는데 너무 재밌었고 좋은 결과와 사람들도 얻어 갈 수 있어 참여하길 잘 한 거 같다.
구름톤에 두 번이나 참여하신 분도 계시다는데 정말 나중에 기회가 오면 또 참여하고 싶다. 😎