jc.jang

멋쟁이 사자처럼 연합 해커톤 후기 본문

프로젝트/멋쟁이사자처럼해커톤

멋쟁이 사자처럼 연합 해커톤 후기

jangstory 2019. 11. 13. 01:28

멋쟁이 사자처럼 연합 해커톤 후기

해커톤 참여

이번 해커톤은 장고(Django) 기술 스택 기반으로 진행되는 웹 서비스 해커톤이다.

 

 

주제 선정

팀은 미리 제출해준 구글 폼을 기반으로 주제와 희망 포지션에 따라 랜덤으로 매칭 됐다. 처음에 인디밴드 공연 정보 알리미 서비스를 만드려고 했다. 하지만 나는 이 아이디어로 서비스를 구현하는데 힘들 것이라고 생각했다. 팀원들을 설득한 후 내가 제시한 멜론 좋아요 Up&Down 게임 아이디어로 선정했다.

 

내가 제시한 게임은 이렇다. 발라드, 랩, R&B, 댄스 등 장르별 인기가 많은 음악과 2018, 2017, 2016등 연도별 히트곡들 중에서 멜론 좋아요가 더 많은 노래를 고르는 Up&Down 게임이다.

 

개발

시간이 부족한 만큼 서로의 시너지를 극대화 해야한다고 생각했다. 프로젝트 완성을 위해 해야 할 일을 100이라고 하면 짧은 시간에 혼자 100을 할 수는 없다. 그래서 먼저 각자 잘할 수 있는 분야를 선정하고 UX/UI, 프론트 엔드, 백엔드, 크롤링으로 분야를 나눴다. 그리고 나는 팀장을 맡았다. 나는 프로젝트의 기획 및 백엔드 개발을 담당했다.

 

백엔드

게임을 고르는 화면은 game 필드의 데이터를 렌더링하여 구현했다. 카테고리를 고르면 게임 진행 화면으로 이동하고 사용할 음악 목록으로 게임이 진행된다. 협업하는 과정에서 약간의 문제가 생겼다. 음악 목록을 Django views에서 template rendering 할 때 context로 전달하려고 했는데 항상 바이트의 배열이 반환됐다. context를 javascript에서 사용할 순 있는데 바이트로 반환되면 b'{{데이터}}' 형식으로 나오기 때문에 프론트 엔드에서 string slicing으로 데이터를 굳이 변환해야 하는 문제가 생긴다. 그래서 django-rest-framework의 serializer로 api를 만들었다.

 

프론트엔드

백엔드에서 받은 데이터로 게임을 구현하는데 팀원이 개발한 코드가 제대로 동작하지 않아 함께 디버깅을 하며 문제를 해결했다.

 

시상식

밤새가며 열심히 코딩한 결과 우리는 원하는 기능도 구현했고 배포도 성공했다. 예상치 못하게 18개 팀 중 엔터테인먼트 분야에서 가장 높은 최우수상을 받았다. 부상으로 블루투스 키보드도 받았다.

 

좋았던 점

  • 최우수상을 받았다. 우리팀은 시상이 시작되는 시간까지 개발에 참여했다. 말 그대로 한 숨도 안자고 각자 맡은바에 충실해서 좋은 결과가 나온 것 같다.

  • 팀원들을 도울 수 있었다. API로 게임 데이터를 응답해주고 프론트에서 게임을 구현하는데 에러가 발생했다. 이때 디버깅을 통해 문제를 함께 해결하니 팀 플레이하는 즐거움을 느꼈다.

 

 

아쉬운 점

  • 핵심 기능을 구현하느라 디테일에 신경을 못 썼다. 1픽셀의 디자인이라든가... 자바스크립트 코드라든가... 내가 자바스크립트에 대해 잘 알고 있었다면 코드를 아름답게 작성할 수 있었을텐데... 라는 아쉬움이 들었다.

  • 역시나 시간이 부족했다. 프론트엔드 개발자 분께서 생각보다 많이 늦으셔서 css가 발표 직전에 마무리 되었다. 그래도 핵심 기능에는 문제가 없어서 다행이었다.

  • 랭킹 기능을 구현하려고 했는데 구현하지 못해서 아쉽다.

 

작성한 코드

 

jangjichang/LIKE_LION_HACKATHON_4

2019 멋쟁이 사자처럼 연합 해커톤 10조입니다. Contribute to jangjichang/LIKE_LION_HACKATHON_4 development by creating an account on GitHub.

github.com

 

Comments