대구 올빼미의 해커톤 일지.

오늘은 2번째 해커톤이 있었다. 딱 정확히 패스트캠퍼스 수업을 들은지 4달이 다 되어가고,  이제 앞으로 2달여의 시간이 남아있는 위치에서 해커톤을 진행하게 되었다.

이번 해커톤이 유달리 의미가 있었던 것은...!! 바로 드디어 다른 반과 함께 팀을 조성해서 프로젝트를 진행하게 되었다는 것이다. 한 번도 개인프로젝트가 아닌 팀프로젝트를 제대로 해본적이 없어서 한편으로는 많이 긴장되었다.(저번에 진행하였던 해커톤은 우리 반에서  팀을 나누어서 진행한 것이라 함께 장고를 사용하였다.)

그 동안 장고에서 서버부터 템플릿까지 모두 만들었지만 이번에는 정말로 서버를 장고로 만들고, 프론트는 프론트반에서 배운 엥귤러js로 만든다고 하였다. 이게 어떻게 보면 당연한 것인데... 그 동안 한번도 해본적이 없어서 더 긴장되었다.

우리 서버의 역할은 서버를 설계하고 프론트에서 오는 요청을 API로 변환하여 주는 것이었다. 처음에는 와 간단하다고 생각했는데... 이후에 더 이야기하겠지만 생각보다 쉽지는 않았다 ㅎㅎ...

아무튼 처음 팀빌딩 형식은 참신했다. 어떻게 팀빌딩을 할지 굉장히 궁금했는데, 각 반에서 생각나는 아이디어가 있으면 그 아이디어를 구글 드라이브시트에 적고, 그 시트를 보고 본인이 관심 있어하는 팀에 참여하는 형식이었다. 생각해보면 저번 엔젤핵해커톤은 서로 그냥 일어나서 팀을 구하는 형식이었는데, 이런 형태로 진행을 하면 앞으로 다른 곳에 가서도 팀빌딩이 훨씬 싶겠다는 생각이 들었다.

뭐 아무튼 나는 Trello 클론 코딩 팀에 들어가게 되었다. 나와 함께 수업을 듣고 있는 친구 한명이 trello 클론 코딩 서버 팀원으로 참여하였다. 처음 아이디어 회의를 하면서 느낀 점은 "어? 이거 생각보다 별로 해줄게 없는데...??"였다. ㅎㅎㅎㅎ 물론 이후에 나의 엄청난 착각이었따는 것을 깨달았지만... 그 상황때 느끼게 된 것은 생각보다 서버에서 해줄것이 없다는 것을 느꼈다. 

하지만 2차 3차 회의를 진행하면서 생각보다 서버에서 해줘야하는 것들이 많은 것을 알았고, 각각의 프론트 요청사항에 맞추어서 새롭게 API를 설계하고 View를 설계해야하는 경우가 많았다. 그냥 혼자하면서는 절대 경험해보지 못할 상황이었다. 정말 신기하게도 프론트에서는 우리가 만들어준 API를 가지고 데이터를 끼워넣고 있었고, 그 데이터를 어떻게 가공하는지 궁금해지기도 하였다. 

팀 해커톤 함께 서버 작업을 진행하는 모습

 아무튼 우리가 맡은 부분은 서버 부분이니, 프론트에서 요청한 것에 대해 부족함이 없도록 하기 위해 노력하였다. 함께 서버를 맡은 친구와 git을 통해 협업하며, 하나 하나 서버를 구성해나갔다. Trello  코딩을 진행하며 가장 크게 문제된 부분은 DB에 특정 title 및 card의 순서를 저장하는 것이었다. 트렐로의 특성상 정말로 편하게 휙휙 카드를 옴길수도 있었고 심지어 그 카드를 다른 타이틀에도 옮길 수 있었다. 여기서 문제가 발생했는데 바로 DB에 해당 데이터를 순서가 바뀔 때 마다 해당 인덱스에 맞게 ordering 해줘야 한다는 것이었다.

굉장히 이야기로만 들으면... 간단해보이는데 그 동안 DB의 순서를 지속적으로 바꾸면서 저장하는 것은 따로 해본적이 없었다.  장고 모델을 생성할 때 자동적으로 생성되는 ID값을 가지고는 순서를 설정할 수 없을 것 같다. 그렇게 우리는 순서를 저장할 수 있는 필드를 따로 만들고, 그 필드에 있는 숫자들을 ordering하는데 사용하기로 하였다.

다행히 같이 서버를 하는 친구가 좋은 라이브러리를 찾아와서 해당 라이브러리를 설치하고 좀 더 쉽게 ordering할 수 있었다. 선생님께서 수업중에 항상 하셨던 말이, 너가 구현하려고 하는 대부분이 이미 존재한다. 그러니깐 꼭 구글에 서치를 잘해보라는 말이었다.

역시 찾으면 다 있었다... 구글신 ㅎㅎ

그렇게 한창 하다보니, 점심식사 시간이 와서 김치볶음밥과 치킨마요를 먹었다. 물론 그 전에 간식도 너무 맛있게 먹었다 ㅎㅎ.(먹으러 온건지 해커톤하러 온건지 구분이 안될 떄도 있다)

밥을 먹고 또 열정적인 코딩이 이어졌다. 무엇보다 우리가 준 자료에서 부족한 부분이 있는 것들을 프론트 친구들이 다시 요청을 주었고 그런 부분들에 대해서 하나씩 수정하다보니 시간이 엄청 빨리 흘러갔다,

그래도 정말 다행이었던 것은 요청한 자료들을 시간내에 모두 완성해서 주었다는 것이다!!.

이번 프로젝트는 정말 서버보다 프론트단에서 고생을 많이하였다. 트렐로의 여러 기능들을 직접 구현하면서...

참 대단한 것 같다. 얼마를 배웠는 것 보다 실력이 더 중요하다고 하였는데 오늘 다시 한번 깨달을 수 있었다.

사진에서 다들 해커톤의 열기가 느껴진다 ㅎㅎ 이렇게 각 팀마다 모여서 해커톤을 진행하였다.

이번 해커톤은 정말 결과를 떠나서 프론트와 협업해볼 수 있어서 너무 의미 있었던 시간이었다. 물론 결과물로 너무 잘나와서 놀랄 정도 였다... 이번 프로젝트는 프론트 친구들이 정말 다 한 느낌이다... ㅎㅎㅎ 아 참 우리팀의 이름은 29이었다!! 우리팀은 무려!!! 1등을 하였다 ㅎㅎㅎ

인생을 바꾸는 작은 기술상을 수상했다 ㅎㅎ!!!! 짱짱짱

앞으로 다음 2달간의 프론트 IOS 백엔드 3과정이 모여서 진행하는 프로젝트가 더 기대되었다. 

팀끼리 찍은 사진이 없어 너무 아쉽지만 그래도 우리 팀이 다 나온 사진이 있어서 첨부한다!!

우리 팀은 왼쪽에 위치한 팀이다!!

*  추가

그래서 저는 개발자가 되었을까요? 못 되었을까요? 결과가 궁금하시죠?

그 결과는...!!

[패스트캠퍼스 웹프로그래밍 스쿨를 마무리하며 :: 쌀 팔다 개발자](https://daeguowl.tistory.com/17?category=796233)

 

패스트캠퍼스 웹프로그래밍 스쿨를 마무리하며

이 이야기는 올해 1월 개발을 처음 시작한, 그리고 3월부터 패스트캠퍼스 웹 프로그래밍 스쿨에 대한 이야기의 마지막 이다. (+취업 이야기의 연장) 저마다 개발을 하는 이유는 있을 것이다. 그리

daeguowl.tistory.com

 

+ Recent posts