💁🏻‍♀️ WTM 해커톤 (20201016 ~ 20201031)

올해도 어김없이 Devfest 2020이 열렸다! 작년엔 친구랑 세종대?였나 직접 참여해서 이것저것 이벤트도 많이하고 강의도 듣고 해서 좋았는데 .. 올해는 코로나 땜에 온라인으로 열렸다.

 

많은 세션이랑 액티비티 중에 WTM 해커톤에 눈길이 갔다 .. (TMI지만 학교 다닐 때 친구들은 앱잼이라는 고닥교 대상으로 하는 해커톤 많이 나갔는데 나는 무서워서 못 나갔던 기억이 있다 ^^) 성격상 쉽게 사람들이랑 못 친해지는 것도 있고.. 실력 뽀록날까봐 쉽게 참가 못했었음 ㅋ

회사 다니고 동아리도 하고...이것저것 올해 다양한 개발을 하면서 이제 혼자서 온전한 웹사이트 하나쯤은 금방 만들 수 있겠다 라는 자신감이 생겨서 해커톤에 참가해보기로 함 ㅎㅎ

 

보통 오프라인 해커톤은 거의 무박2일로 진행해서 온전히 2일만 쏟아부으면 돼서 단기간에 빡집중하면 끝나는 것이 장점이다. 온라인으로 열려서 무려 2주나 진행됐다. 첨엔 길다고 느꼈지만 기획하고 개발하고 이러다보니 시간 후딱..이었다 ^^ 

 

팀매칭

사실 가장 기대되고 걱정했던 팀매칭 ㅎㅎ 킥오프 행사 전에 슬랙에 요런식으로 각자 본인소개를 하구 이런저런 스택을 남긴다 😶프론트 보단 백엔드를 하고 싶었다. 리액트는 아직 어렵기 때문.................^^ 약간 정말 가볍고 재밌는 프로젝트를 하고 싶었다! 부담없이 할 수 있는 ..

 

킥오프가 끝나고 팀매칭 시간을 가졌다! 사실 이때 어떻게 해야될지 몰라서 그냥 아무것도 안하고 가만히 있었다....ㅎㅎ 팀매칭 채널에 사람들이 본인 소개를 올리면서 같이 팀 하고 싶은 분은 많았는데 바보같이 팀매칭 시간에 연락도 안하고 있었다....ㄹㅇ 바보인정 하나 배웠음 .. 

 

다행히 두분께 연락와서 같이 팀 이루고 다른 한 분이 백엔드 개발자분 데려오셔서 총 4명으로 팀을 구성했다 !!

 

기획하기

사실 팀플할 때마다 항상 느끼는거지만 개발보다 더 어려운 건 기획이다 ㅎㅎ 그래도 이번엔 주제도 있어서 생각보다 수월하게 기획을 이어갔다

팀매칭 하고 간단하게 기획 정하고 담날 시간 정해서 온라인으로 회의를 진행했댜. 요즘 코로나땜에 불편하고 답답했던 경험들을 서로 주고받으면서 주제는 자연스럽게 언택트가 된 것 같다!

 

어떻게 하면 언택트 시대에 사람을 쉽게 사귈까! 를 해결하고자 간단한 웹사이트를 만들기로 했다.

 

기술스택 정하기

사실 나는 당연히 백엔드를 자바스크립트로 하게 될 줄 알았다...... 어쩌다보니 백엔드를 같이 맡게 된 팀원분은 자바, 스프링 쪽 쓰시는 분이라 기술스택을 어떻게 해야될지 고민했다. 이번기회에 노드가 아닌 새로운 스택을 써보는 것도 좋을 것 같기도 했다. 다른 팀원분도 공감해주셔서 결론은 둘다 안해본 최신기술스택을 사용하기루......ㅎㅎ 이런게 해커톤에 묘미지 !

 

그래서 선택한 것은 코틀린!!!!!

보통 웹 만들 때 프레임워크를 올려서 같이 사용하는데 spring 조합을 사용하나보다..... 최근에는 주로 kotlin에 ktor 라는 조합을 사용한다고 하길래 이걸 사용해보기로 했다. 디비는 mysql 쓰기로 했구 배포는 아마존을 쓰자고 했지만 생각해보니 .... 아마존은 어마무시한 비용이 든다...............(개빡침) 사이드 프로젝트 할 때 헤로쿠 많이 사용한다길래 가볍게 쓰기 괜찮은 것 같아서 헤로쿠로 결정!

 

그렇게 프론트는 Svelte(스벨트) 기술과 백엔드는 kotlin + ktor 기술을 사용하였댜

 

본격적인 개발하기

사실 본격적인 개발......은 진짜 해커톤 데모데이 바로 전날 새벽에 한 것 같다 .. 퇴근하고 조금씩 하긴 했는데 쉽지 않았다... 뽝 집중하는게 넘 어려웠다 ㅠㅠ

백엔드 개발자분과 줌으로 간단하게 디비 설계하고 .. 역할분담하구 각자 할 거 하기루 했는데 평일 저녁에 회식 + 약속 있어서 ....... 계속 미루고 미루며 조금씩밖에 못하다가 결국 전날 밤을 꼴딱 새버렸다 ㅎㅎ

 

내가 맡은 부분은 그룹 생성, 그룹 조인, 배포 이었는데 솔직히 개념상으로는 쉬운 api 였지만 평소 안 쓰던 자바 기반의 코드와...... 어색한 인텔리J 를 쓰느라 혼자 헤매고 헤맸다........

 

밤새는게 해커톤의 묘미 ^_^

금욜에 칼퇴를 때리고 친구들을 만나서 거하게 마라샹궈랑 마라탕 4만원어치를 먹고 카페에서 수다를 떨고 집에 들어오니깐 11시쯤이었나 .. 씻고 셋팅하고 하다보니 12시쯤 개발을 시작했다.. 일단 다른 백엔드 개발자분이 넘겨주신 코드를 받아서 작업을 이어나갔는데...... 내꺼 하다가 배포가 미뤄질 것 같아서 배포를 먼저 하고 업뎃하는 방식으로 하려고 했댜.

 

분명 헤로쿠 예제 보고 따라했는데 엄청 간단하고 쉬웠단말이야............... 그리고 분명 자바스크립트로 했을 땐 굉장히 잘됐어............ 근데 우리 코드로 하려고 하니깐 자꾸 안되는거 ... 거의 삽질이 90퍼센트였음 사실 에러가 나는데 왜 나는 에러인지도 모르겠고 kotlin maven.....gradle.....이런것도 잘 모르겠고....... 한참 삽질의 늪이었다 ㅎㅎ

github.com/orangy/ktor-heroku-start

 

orangy/ktor-heroku-start

Sample Heroku application with Kotlin and Ktor. Contribute to orangy/ktor-heroku-start development by creating an account on GitHub.

github.com

그래서 찾다 찾다 내린 결론은 heroku에서 제공하는 ktor예제로 배포를 우선 하구 우리꺼 코드를 여기에다 다시 셋팅을 하며 옮기는 작업을 했다 ... 여기서 또 발생한 문제는 로컬에서 실행이 안되는거..... 배포하면 잘 되는데.......... ㅋㅋ 이것도 분명 간단한 문제였긴 한데 코알못이라 1시간 삽질하다 포기하고 테스트를 배포 환경에서 했음 ... ㅋㅋ

그 결과............ 하루에 101번 커밋하는 경우가 발생했음 (ㅋㅋㅋㅋㅋㅋㅋㅋ)

그래 ... 역시 코딩은 새벽코딩이지 ......

 

원래는 orm 식으로 디비를 불러왔는데 배포 환경에 맞추다 보니 그런거 일절 없음 .... 무조건 raw 쿼리로 다 때려넣어서 불러옴 ................. 파일 구조도 그렇고 언어 자체를 거의 처음 써보니깐 적응하는게 어려웠다 ㅎㅎ 라이브러리를 쓰고 싶어서 maven에 추가했는데 자꾸 안된다 그러고 ..... ㅋㅋ .... 그래서 포기하고........ 

 

결국엔 6시쯤이었나 맡은 부분 api 까지 싹다 구현은 했음....다행히도........ 코드를 보면 놀랍겠지만 그래도 어떻게든 해냈다는 생각에 뿌듯하긴 했음......

 

간단하지만 이렇게 api 문서 정리를 해서 넘겨드리고,, ㅎㅎ 9시쯤에 개발을 마쳤다 12시부터 거의 9시간동안 진짜 개발만함 ㄹㅇ 개발만함 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그래도 오랜만에 무언거에 진짜로 집중해본 것 같다. 하고 나니 성취감은 개쩔탱임 !! 

 

후기후기 

2주만에 무언가를 완성시키는 건 참 어려운 일........ 하지만 좋은 팀원을 만나서 이런저런 즐거운 얘기도 하고 재밌는 시간을 보냈던 것 같아서 너무 보람차다! 평소 사용하던 것이 아닌 새로운 기술을 써봐서 넘 재밌고 힘들었지만 그 와중에 얻은 것이 더 많은 것 같다 .. ㅎㅎ 아 헤로쿠로 배포도 성공했는데 그게 진짜 👍🏻 ec2 배포만 하다가 신세계를 맛봤다 역시 무료가 최고다...... 헤로쿠는 진짜 앞으로도 유용하게 사용할 듯 ^^

 

아무리 사이드 프로젝트를 여러가지를 한다고 해도 흐지부지 되어가기 쉽상인데 2주동안 목표를 잡고 빡시게 달리니깐 그래도 성과물이 있는 것 같다. 주기적으로 뽝 집중 뽝 개발 이거 괜찮은 것 같다 ㅎㅎ 2주동안 내 머릿속에서 해야할 일....해야된다.....해야할 일..... 이렇게 분류되던 일이 끝나니깐 무거운 짐을 내려놓은 기분이다 ㅎㅎ 뿌듯하고 개운하다 ^_^ 

 

그리고 해커톤 너무 재밌다 ........ 너무너무 재밌다 ........ 취지도 좋고 새로운 사람과 새로운 기술 ..... 이런게 너무 재밌었다. 해커톤이 진행되는 2주동안 간간히 재밌는 이벤트도 있었다.... 모각코도 진행했구 그런 사소한 것들도 넘 좋았다 ㅎㅎ 

 

고닥교 때는 개발을 잘 못하는 내가 피해만 될까봐 참가를 고민했었지만 앞으로는 그런거 신경 안쓰고 무조건 참가해야겠다는 생각이 들 정도다 ㅎㅎ 어디에서든 못 할 경험이라 생각한다. 2주동안 많은 걸 배우고 경험했다! 앞으로도 더 성장하길 !!!!!!!!!!!!!!! 

 

끝 🙃