We will find a way, we always have.

-interstellar

우아한테크코스

[우테코 레벨3] 20주차 회고 (해커톤, 머지 소트 트리, 좋은 동료)

Redddy 2024. 7. 22. 03:33
우리는 구조를 설계하는 백엔드 개발자
- 지누 창 -

 

해커톤

지난 주 금요일에 1박 2일 해커톤이 열린다는 공지가 올라왔다. 이전 기수에서는 한번도 없었다는 점과 캠퍼스에서 1박을 할 수 있다는 생각에 기대가 되었다. 

 

에너지 드링크와 많은 간식들이 준비되었고, 저녁으로는 치킨과 피자를 제공해주었다. 🍗

 

 

해커톤이 끝나고 짧게 시연 가능한 기능을 개발하라는 요구사항이 주어졌다. 그래서 우리는 해커톤 기간동안 구현할 목록들을 쫙 정리하고 각자 기능 구현에 나섰다.

 

API는 크게 3가지였는데, 페어 프로그래밍 튜토리얼 제공 API, 페어룸 생성 및 조회 API, 레퍼런스 링크 CRUD API였다. 백엔드의 인원은 5명이라 두 팀은 페어 프로그래밍으로 진행을 하고 한 명만 혼자 진행하기로 하였다. 

 

나는 레모네와 함께 페어룸 생성 및 조회 API 기능 구현을 맡았다. 사용자가 페어1과 페어2의 이름을 입력하면 페어룸을 생성해주고, 그 페어룸에서 이제 타이머를 설정하며 페어 프로그래밍을 진행할 수 있도록 하는 것이 목표였다.

이날 ERD 설계를 했는데 누가 드라이버고 내비게이터인지에 대한 정보는 제공해도 의미없을 것 같다는 의견(나의 의견)으로 인해 페어룸 테이블에 저장하는 것은 페어 이름, 생성 및 수정 날짜 그리고 접근 코드로 심플하게 가져갔다. 

 

 

 

 

핫식스를 두캔이나 마셔서 그런지 아니면 오랜만에 코드를 쳐서 그런지 몰라도, 페어 프로그래밍하면서 스스로가 미쳐간다는 걸 느낄 수 있었다. 

 

밤샘 전사들, 빈백에서 마주하는 아침

 

 

 

각 팀별로 해커톤 기간동안 만든 기능들을 시현하고 마무리로 포비가 이번 해커톤을 주최한 목적에 대해 설명해주었다. 24시간 해커톤을 통해 자신이 숨기고 있던 본모습을 드러내는 것이 목적이라고 하셨다. 해커톤이 끝나고 회고하는 시간도 가졌는데, 위에서도 말했다시피 이전과는 다른 텐션으로 있었고, 팀원들도 레디는 자신을 내려놨다라고 평가해주었다. 

 

머지 소트 트리

제제 LCS 알려주다가 집에 와서 갑자기 삘받아서 저번에 엘리스에 출제되었던 문제중에 머지 소트 트리를 활용하는 문제가 생각나 머지 소트 트리를 찍먹했다. 이 녀석이 어떤 녀석인가 하면 세그먼트 트리에서 파생된 아이다.  $l$, $r$, $k$가 주어졌을 때 정렬된 $S[l, r]$ 에서 $k$이상인 수의 갯수를 빠르게 찾아주는 녀석이다. 트리의 노드가 머지 소트 할 때의 원소의 형태와 비슷하여 붙여진 이름 같았다. 정렬된 형태로 각 노드의 저장되기에 이분탐색을 활용하여 특정 구간에 대해 원하는 작업을 수행할 수 있다. 

 

쇽쇽

 

 

요즘 스터디 하고 있는 Real My SQL에서 인덱스 자료형을 소개할 때, 아주 잠깐이지만 이 머지 소트 트리가 나왔는데 반가웠다. CS와 알고리즘의 중요성을 느끼고 있는 요즘이다. 캠퍼스에도 알고리즘 푸는 크루가 많이 늘어난 거 같은데, 물어보는 거 알려주면서 스스로 메타인지 스터디를 하고있다.😊

 

 

구구의 코드리뷰

해커톤이 끝나고 MVP를 위한 API 구현을 끝낸 백엔드들은 마침 지나가던 구구에게 우리 백엔드 할 일이 없다고 찡얼대었다. 그랬더니 구구가 코드좀 볼 수 있을까요 하시더니 눈 휘둥그레지시면서 어디가서 우테코 인이라고 하지말라고 하셨다.🤣😅😥

 

미흡한 테스트, 아리까리한 네이밍, 불필요한 record 사용 등등 리팩터링할 곳이 산더미였다. 그래서 다시 팀원들과 각잡고 리팩터링에 들어갔고, 레벨 2에서 지키지 못했던 객체지향적인 코드와 테스트 짱짱한 코드로 변화하였다.

 

이를 통해 얻은 결론: 코치에게 코드리뷰 받고 싶다면 우리 할 일 없다고 나대보자!

 

코딩해듀오 회식

목요일에는 코딩해듀오 회식이 있었다. 개발 외적 이야기를 하며 시끄럽게 떠들었다. 조금은 더 가까워졌을지도

 

뽕족은 못참지

 

 

좋은 동료

금요일 포수타에서 팀원 중 한명이 혼자서만 무엇을 해결하려고 하여 고민이라는 크루의 사연이 있었고, 그 사연에 포비는 "같이 문제 해결을 해나가는 것이 좋은 동료"라고 답했다고 했다. (사실 이날 포수타를 못들었었는데, 종이가 이 이야기를 해주었다. 뭔가 많이 각색됐을 수도 있는데 이상한점 있으면 남겨줘 종이...ㅎ)

 

이 말을 듣고 되게 감명받았었는데, 같이 문제 해결을 해나가는 것이 좋은 동료라고 생각하는 사람에게 나는 과연 좋은 동료일까 스스로 돌아보는 시간이 됐다. 그리고 내가 생각하는 좋은 동료의 기준은 또 무엇인지 고민해보게 되는 시간이었다. 우테코 OT 때에도 나왔던 이야기 인것 같다. 뭐 같이 밥한끼 하고 싶은 동료 이런 이야기가 나왔던 걸로 기억을 하는데, 지금 내가 생각하는 좋은 동료란 나의 부족한점을 메꿔줄 수 있는 사람이 좋은 동료라고 생각한다. 

 

 

TMI

레벨 3의 목표인 고민 털어 놓기를 조금씩 실천중이다.