미니 해커톤은 각 팀들이 짧은 기간안에 주어진 개발 과제를 해내고 이를 공유하는 행사이다.
올 3월부터 시작된 멋쟁이 사자처럼의 활동들은 대부분 세션과 그에 대한 과제 위주였으나,
이번의 미니 해커톤을 통해 배운 것을 팀 단위로 실습해보는 기회를 가질 수 있었다.

미니 해커톤의 주제는 '영화평가 사이트 제작'이었다.
api를 통해 데이터를 받아와 홈 화면에 보여주고, 상세 페이지에서 자세한 정보와 댓글을 볼 수 있는,
로그인과 회원가입이 가능한 사이트가 목표였다.
대부분의 요소는 기존에 배운 blog 과제들과 큰 차이가 없었지만
1) API 통신
2) Model 직접 설계
3) git을 통한 협업
은 경험해 본 적이 없었기에, 이번 미니 해커톤의 핵심 요소였다.
1) API 통신
이번 미니 해커톤에서는 API를 통해 영화들의 정보를 받아와야 했다. API 엔드포인트에서 json 형태의 데이터를 확인할
수 있었는데, 코린이인 나는 json을 들어만 보았지 무엇인지도 알지 못했다.
json이란 데이터 포멧으로 java script object notation 을 뜻한다.
딕셔너리와 배열의 구조로만 이루어져 있으며 데이터를 경량화해서 전달할 수 있다는 이점이 있으나,
데이터를 내가 원하는 형태로 가공해주는 작업이 필요하다. 이를 파싱(parsing)이라 부른다.
{
"이름" : "홍길동",
"나이" : "25",
"취미" : ["영화감상", "헬스"]
}
다음과 같은 형태가 json의 형태 예시이다.
API 엔드포인트는 URL의 형태이기에 Django에서 이를 받아오기 위해 requests라는 모듈이 필요하다.
변수 = requests.get(url) 처럼 json 데이터를 가져와서 딕셔너리 = res.json()['데이터명] 와 같이 변형해
딕셔너리를 사용하면 되는 것이다.
프로그램이 외부 데이터를 사용할 때 json이 많이 사용되는 것으로 아는데 이번 기회에 그에 대해 알 수 있게 되어
다행인 것 같다.
2) Model 직접 설계
장고세션을 거치며 model의 개념에 대해 알 수 있었지만 model을 직접 설계하고 사용해본 것은 한 번 밖에 없었다.
영화정보는 12개 정도의 필드를 지닌 테이블이기도 했고 그 중 staff는 따로 클래스로 만들어 테이블을 연결해
주어야 했다. 또 메인 페이지와 디테일 페이지에서 사용하는 필드가 상이해 이에 대한 고려도 필요했다.
이 작업을 팀 내에서 내가 담당했는데, 사실 모델 설계와 데이터를 받아오는 view 함수 작성은 크게 어렵지 않았는데,
이 함수를 어떤 식으로 호출해야 하는 지를 알 지 못했다. 임시적으로 메인 페이지를 위한 home 함수에서 이를 호출했더니 같은 데이터가 계속 해서 저장되는 문제가 발생했는데 마감 직전까지 이를 해결하지 못했었다.
운영진에 물어본 결과 보통 url에서 따로 path를 만들어 데이터를 받아오고 싶을 때만 그 url을 치고 들어가는 방법을
배울 수 있었다.
3)git을 통한 협업
가장 힘든 부분이었다. 정말 정말 힘들었다...
나는 이제껏 git을 통해 협업해 본 적이 없었고 공부한 코드를 블로그마냥 올리는 데만 사용했었다.
문제는 우리 팀원들이 모두 그랬다는 점이다. 운영진 측에서 git의 기초 내용을 이전에도 알려준 적이 있고,
이번 해커톤을 위해 git 협업 방법에 대한 설명도 해주었지만 커밋, 푸쉬, 컴페어&풀리퀘스트, 풀 등을 잘 이해하지 못했기에 git에 대해 생긴 문제에만 이틀간 몇 시간을 쏟은 것 같다.
그래도 백문이불여일타, 맞으면서 배운다고 엄청나게 헤매고 할 수 있는 실수 다 하면서 git 협업에 대한 개념을 잡을 수 있었다. 사실 아직도 실전에서 쓸 정도의 자신은 없다만, git에 대해 배운 것이 이번 미니 해커톤의 최대 성과인 것 같다.
git에 대한 개념은 추후에 한번 더 공부를 마치고, 별개의 포스트로 올리기로 하겠다.
이번 미니 해커톤을 통해
새로운 동아리원들과 같이 고생하며 친해질 수도 있었고
앞서 말한 많은 것들을 배울 수도 있었지만
가장 크게 느낀 감정은
나의 부족함에 대한 짜증이었다
늦게 시작한만큼 부족함을 충분히 인정하고
꾸준히 열심히 해야겠다는 생각을 또 다시 했다
아래는 결과물이다
로그인 관련, 검색 등의 기능은 제외하고
메인 페이지와 상세 페이지만 첨부하였다


'활동 후기' 카테고리의 다른 글
소프트웨어공학 우정퀴즈 팀프로젝트 (2021.09~2021.12) (0) | 2022.01.01 |
---|---|
멋쟁이 사자처럼 연합해커톤 (2021.10.30 ~ 2021.11.06) (0) | 2021.11.11 |
교내 코딩테스트 대비캠프 (2021.08.01 ~ 2021.08.14) (0) | 2021.09.03 |
Billboard Hot 100 토이 프로젝트 (2021.08.07~2021.08.08) (1) | 2021.08.07 |