본문 바로가기
기록/돌아보기

2021 고려대학교 해커톤 주최 후기

by Riverandeye 2021. 1. 13.

해커톤을 뜬금없이 어떻게 열게 되었을까 하면, 

무려 1년 전에 참여했던 행사인데, 이때 행사 리딩하시던 선욱님이

동아리 단위에서 행사를 진행하게 되면 좋지 않을까? 라고 말하셨는데

이런 행사 한번 만들어보면 좋겠다 라고 생각했었고, 연락처를 잠깐 주고받았었다. 

 

열어야겠다는 막연한 생각은 있었는데, 6개월 지나고 또 연락이 와서 여는걸 확정했고

본격적으로 10월 10일부터 준비를 시작했다.

 

Initial Commit

 

기획

 

구성원은 총 9명이였는데, 어떤 기획이나 회의던 5명이 넘어가면

진행이 쉽지 않고, 개별 사안들에 대해 모든 인원의 목소리를 반영하기 힘들다

그래서 회의를 항상 전원이 참여하는 것 보단, 시간 되는 인원만 모여 그 날에 다뤄야 하는 이슈들을 정했다.

그리고 구성원 별로 역할을 분리하여 의사 결정을 빠르게 만들었다.  

 

초반에는 가볍게 1주일에 1회-2회 정도로 각자의 아이디어를 나누는 식으로 하나하나 결정해 나갔다. 

해커톤을 주최하는 목적과, 해커톤을 주최하면서 달성할 수 있는 구성원들의 목표를 설정하고,

그 목표와 부합하는 방향으로 세부 요소들에 대해 기획하였다. 

인원, 행사 규모, 후원사 홍보, 장소 선정 (코로나라 온라인), 운영 인력 확보, 시상 규칙 등등.. 

 

어떻게 결정되어도 이상하지 않은 것들과, 당연한 것들은 이전 컨벤션을 많이 가져와서 반영하였다.

행사 당일 일정, 행사 날짜, 홍보 방식 등등이 그런 것들이다. 

 

오프라인의 바이브를 좀 덜 느낄 것 같아 그 느낌을 살리게끔 하기 위해 굿즈를 많이 지원하였고

무엇보다 디자인에 재능이 있는 친구(현채)가 디자인을 해줘서 정말 이쁘다. 

 

굿즈 너무 이쁘잖아..

 

기획에서 가장 어려웠던 부분은, 내가 기획을 잘 못한다는 점이다.

사실 이 해커톤에서 내가 가장 적극적으로 참여하고 싶었던 부분은 대시보드 개발이라서

이거 만들어보고싶다 저거 만들어보고싶다 라는 생각밖에 안들더라 싶었다.

 

다른 것들은 다른 친구들이 어느정도 결정해주길 바랬던 것도 없지않아 있다. 

그렇지만 리드하는 입장이라서 어쩔 수 없이 조금 더 생각하고 의견을 제안했던 것 같다.

그런 제안들이 뭔가 새롭고 참신한 아이디어라기보단 절충안이라는 걸 나 스스로도 인지하면서

그걸 이야기하니까 썩 마음이 좋지는 않았던 것 같다. 

 

나름 행사를 리드하는 입장에서 기획에 대해 많이 기여하지 못해서 미안하다.

함께한 마로와 수민님은 총학생회, 동아리연합회도 해보고 해서 남달랐다고 느꼈다.

이번에 진짜 엄청 열정적으로 참여해주고 

또 다른 좋은 행사를 해야 한다면 그때는 꼭 마땅한 보상을 주고 같이 하고싶다.  


개발

해커톤 대시보드 서버랑 메시지 서버 개발에 참여했는데, 우여곡절이 정-말 많았다.

mqtt 서버를 웹에서 직접 쓰려면 웹 소켓으로 열어야되는 줄 모르고 그냥 올렸다가 맞왜틀 무한반복..

해커톤 시작 2일전에 완성해서 인증서 붙은 도메인으로 띄워봤더니 에러나길래

mqtts 를 이용해야 한 다는 것도 그떄 깨달아서 부랴부랴 서브도메인 붙여서 메시징하고

 

코틀린 진짜 생판 처음써보는데 프로젝트 세팅이며 참 알 수 없는 것들이 많았다. 

행사 진행하다가 서버가 터졌는데 자고 있다가 대응 못하고 KUCC의 희망 수홍이가 대응하는데 도와주었다.

내가 자고있어서 당황한 현채는 지민이한테 연락하고, 덩달아 당황한 지민이는 수홍이한테 연락했다고 ㅋㅋㅋ

현채가 이야기하길 지민이가 슬랙에 에러 로그 연동시켜놨는데, 갑자기 알림이 몇백개씩 왔다고 한다 ㅋㅋ

 

이런게 몇백개씩

 

처음에는 JDBC에서 커넥션을 가져올 수 없다는 에러가 떠서 이를 60개로 늘렸는데도 서버가 죽길래 봤더니

쿼리 자체에 문제가 있어 정말 가져오는데도 시간이 많이 걸렸던 것이다.

Lazy loading 안하고 다 Eager 로 박아놓고 정렬까지 하니까 row를 무슨 몇십만개를 가져온 것이다. 

쿼리가 느려지니 자연스럽게 자바 쓰레드가 JDBC 커넥션을 물고 있는 시간이 늘어나고

그럼 자연스럽게 쓰레드가 결과를 기다리고 멈춰버리니 (서블릿 기반) 요청이 계속 들어오는데 대응할 쓰레드가 없어서

Cloudflare 측에서 헬스체크가 안되서? 서버 없다고 오류나니까 아예 웹 페이지가 뻑이나더라.

 

기가막히고 코가막힌 쿼리

 

똑똑한 수홍이는 에러 보고 커넥션 풀 올리고 Slow Query 분석해서 이슈를 찾았다. (짬에서 나오는 바이브)

배민 짬이 그냥 나오는게 아닌것 같다. 딱 보고 침착하게 아 이런 에러가 났으니 이런 이슈겠구나 하고 조치할 거 알려주고

그래도 안되니까 고민해서 mariadb에서 slow query 분석하게끔 세팅하고 

나는 생각 못했을것같다. 소인은 갈길이 먼듯 하다 

 

그러고 나서 또 프론트에서 성능 이슈가 있길래 

한 5명이서 붙어서 대체 왜이러지? 왜이러지? 이러고 있는데

수홍이가 이미지 테스트해보다가 어떤 이미지가 화면에 없을땐 잘되는데 화면에 있으면 잘 안되서

그걸 자세히 봤더니 어떤 분이 이미지를 20000 * 10000 사이즈의 원본 이미지를 올렸던 것이다. 

ㅋㅋㅋㅋㅋ 아니 이러니까안되죠 ㅋㅋㅋㅋㅋ 불쌍한 브라우저.. 

그거 보고 다같이 한번 웃고 이미지 리사이징해서 url을 변경해주니 바로 해결되었다. 

 

놀라운 원본 이미지 크기

참 진짜 ㅋㅋ 예상할 수 없는 일들이 많이 있었는데, 

역시 실제로 서비스 해보고 이슈 핸들링 해보는 경험이 많이 필요할 것 같다는 생각을 했다. 

확실한건, 재밌다 ㅋㅋ

 

재밌는 에피소드

이번에 카카오워크에서 후원을 받아서 카카오워크 플랫폼을 이용하여 진행을 하였는데

카카오워크 되게 이쁘고 사용하기 편하다는 생각을 많이 했다

UI가 카카오랑 친숙해서 어떻게 사용해야 할지 감도 빨리 오고

귀여운 이모티콘 기능도 들어가있고, 안 쓸 이유가 없다. 

아직 기능적으로 미숙한 면들이 많은데, 그런 것들은 어짜피 시간에 따라 개선이 될 부분들이고 

채택을 하게 된다면 얻게 될 이점들이 명확하게 보여서, 시장을 어느정도 점유할 수 있을 것이라는 느낌이 든다. 

 

캐스퍼랑도 처음 이야기 해봤는데, 맞장구를 많이 쳐줘서 좋았던 것 같다.

 

좋아요, 한대 말아주세요.

이런저런 생각들 

일을 통해 사람을 알게 되는 것도 좋은 방법이라고 생각한다. 

다른 사람 뿐만 아니라 나 자신에 대해서도 그렇다.

 

어떤 일을 나 혼자 할 수 없다는 것을 확실하게 느꼈다. 

이건 해커톤 운영 뿐만 아니라 다른 것들도 마찬가지이다. 

뭔가 나는 스스로 아이디어가 떠올라서 이것 저것 재밌는걸 하고 싶어하지만

그런 걸 스스로 하지 않는다. 하더라도 오래 못가고. 이거 완전 ENFP아님?

 

나는 뭔가를 제대로 하려면 함께 하는 사람들이 필요한 것 같다. 

지금은 이제 회사를 들어가서, 사수님과 다른 개발 동료분들이 이미 있지만

사이드로 뭔가 내가 하고싶은걸 할 때 꼭 사람들을 모아야겠다 라는 결론을 내렸다. 

뭔가 오히려 사람이 원동력이 되어 일을 마무리하게 된 것 같다.

이번 해커톤도 그렇다. 약간 선욱님에 대한 의리?로 시작해서 의리로 마무리 지었다. 

해커톤 기획하는 기간에 퇴사도 해보고 입사도 해보고 참 우여곡절이 많았는데

이건 해야된다, 왜냐면 선욱님에 대한 의리이기 때문이다 라는 마인드로 버텼던 것 같다. 

무엇보다 내가 같이 하자고 해놓고서 끝까지 안하면 얼굴 붉힐 8명의 친구들이 있었기 때문이다 ㅋㅋㅋ

 

이런 일 벌려논 걸 수습하는 현채는 ISTP라서 그런지 

여러 일들에 잘 쫓아와주고 같이 해주는것 같아 정말 고맙다 ㅎㅎ

사실 현채 없었으면 이번 해커톤은 좀 덜 좋았을 것 같다

웹 디자인도 혼자 하고, 웹도 혼자 만들고, 굿즈 디자인도 다하고

1년 반 전의 리액트의 리짜도 모르는 급식채와는 다르게 뭔가 덩치가 커져버린 것이다. 

155cm의 쬐끄만 고등학생(?)같은 친구가 이렇게 성장했다니 감회가 남다르기도 하고

아 내가 나중엔 이런 녀석들이랑 경쟁해서 밀려나겠구나.. 하는 생각도 들고

이런 녀석한테 밀려나면 적어도 불만은 없겠다.. 라는 생각도 했다. 

판만 잘 깔아주면 꾸준히 성장할 것 같아서 뭔가 잘 판을 깔아줘야겠다는 생각을 했다.

이번 1년은 웹을 했는데, 딥러닝도 해보고 서버 개발도 해보고 싶다고 하니

뭐든 하고싶은거 재밌게 하면서 남기고 얻어갔으면 좋겠다는 생각을 했다. 

 

함께 이끌어준 친구들도 감사하다.

수민님의 나레이션 실력은 진짜 어디서 구하기 힘든 능력이였고 (진짜 성우같음), 행사를 진행하는데 정말 엄청난 역량이 있는 것 같다.

동영상 편집도 잘하셔서 마지막 날에 OT 영상 만드는데 혼자 캐리해주셨다. 

마로는 일이 많아도 하나씩 가볍게 쳐내고, 스스로 뭔가를 구상하고 만들어가는 능력이 뛰어나다.

종우님은 많이 참여하지 못한다고 말만 하고 진짜 열심히 참여해주셨고 (츤데레?) 아마 종우님 없었으면 행사 자체가 성사가 안됐을 것이다. 

지혜는 많은 부분에서 도와줬는데 뭘 하든 주도적이고 야무지게 일을 해낸다. 진짜 야무지다는 말이 딱 맞다.

지현이는 고유명수, 필수요소, 약방의 감초, 붕어빵의 팥, 고기와 함께하는 냉면, 감자탕에 당면, 맥도날드의 코카콜라, 대한민국의 독도이다. 

지민이는 격리기간에 서버 혼자 다 구성하고 만들어줘서 정말 고맙고, 최근에 취직해서 월급받으면 같이 맛있는거 먹고 안경을 바꿀것이다. 

지원이가 디자인한 이 대시보드가 정말 기가막히게 이쁘고 야무졌다. 모든 참여자들이 극찬을 했다. 모니터에서 빛이 나게 해주었다. 

 

Avengers

 

멘토분들도 진짜 너무 감사했다. 같이 대시보드도 고치고, 멘토링도 밤새가면서 해주시고.. 

안드로이드 하나도 모르는데 현채랑 내가 가서 같이 한 2시간정도 삽질한 걸 1분만에 해결해준 시프트님.. 그저 빛.. 

같이 즐겨주시고 시간 보내주셔서 너무너무 감사했다.

 

심사위원 해줄수 있냐는 말에 선뜻 OK 해주신 사장님 정말 감사합니다 열심히 개발할게요 진짜 

 

그리고 진짜 밤새 참가해준 참가자 여러분 정말정말 감사하구요, 

이 글 읽고 생각나시면 메일로 연락주시면 밥 한끼 해요 ㅎㅎ 맛있는거 사드릴게요

 

----- 

 

이렇게 해커톤이 끝나서, 이제 이전에 계획했던 알고리즘 대회 준비를 할 수 있을 것 같다. 

올해 직장생활을 뺀 1순위 목표는 재온이랑 현채랑 같이 UCPC 수상하는 게 목표다. 

젊고 똑똑한 친구 사이에서 노땅 하나 붙어서 어째 잘 해보긴 해야할텐데 .. ㅋㅋㅋ 

일단 애내들보다 내가 문제 많이 풀어서 그래도 뭐 내세울거 하나는 있다. 

만날때마다 맛있는 걸 사줘야 겠다는 생각은 하고 있다. 

진지하게 같이 열심히 해서 좋은 결과 만들고 싶다. 힘내보자 친구들!

 

 

 

'기록 > 돌아보기' 카테고리의 다른 글

2021 2분기를 돌아보며  (5) 2021.07.10
2021 1분기를 돌아보며  (3) 2021.03.29
2020 4분기를 돌아보며  (5) 2020.12.31
2020 3분기를 돌아보며  (4) 2020.10.02
2020 상반기를 돌아보며  (4) 2020.06.29

댓글