요 몇 주 사이에 나는 TIL을 많이 놓쳤다. 스스로에게 변명해보자면 시간이 정말 부족했다. Spring Boot 숙련 주차부터는 할 일이 너무 많아졌고, 기초 프로젝트를 시작하면서는 정말 페어코딩으로 하루 10시간을 넘게 보냈기 때문이다. 아무튼 그러한 핑계가 있었다
그리고 내일, 우리는 드디어 최종 발표를 앞두고 있다.
2인 1조로 구성하여 총 4명이서 프로젝트를 진행하였다. 나를 포함한 조를 A팀이라고 했을 때 아래와 같이 파트 분배를 진행하였다.
A팀
B팀
필수 구현 부분은 위와 같이 정해두고 진행하기로 하였고 도전기능 부분은 우리가 프로젝트를 완성하는 시간과 개개인의 진행 속도에 따라 융통성 있게 진행할 수 있도록 파트분배를 진행하였다.
A팀
필수 기능 부분
도전 기능 부분
B팀
필수 기능 부분
도전 기능 부분
대충 정리해보자면 이러한 파트분배로 실제 구현을 진행하였다. B팀에 너무 잘 하시는 분이 계셔서 속도가 달랐기도 하고, 대신 귀찮은 걸(현재 진행 중인 트러블 슈팅 기록 등) 내가 하고 있다. 그리고 개인적으로 했던 역할은 팀장역할(알람시계) 정도 인 것 같다.
아무튼 나도 열심히 했다는 얘기
처음 프로젝트를 시작했을 때는 솔직히 필수 구현도 제대로 빨리 할 수 있을까? 하는 고민이 약간 있었다. 왜냐하면 우리에게 주어진 시간이 약 일주일 정도 밖에 없었기 때문이다.
그런데 팀원 분들을 잘 만난 덕분에 현재는 도전 기능도 거의 다 완성해가고 있다. 필수 구현 과제는 예외처리 부분 말고는 생각보다 정말 빨리 끝났고, 도전부분은 A팀의 열심러 분과 B팀의 코딩 존잘러 분께서 많이 도움을 주셨다. 사실 도전 기능에 대해 나는 말을 얹은 거 밖에 안 한 것 같기도 하고.... 그리고 오늘 트러블슈팅을 작성하면서 다른 분들의 의견을 들어보니 의외로 나와는 다른 문제들을 힘들어 하셨다는 걸 알게 되었다.
서로 다른 코드를 가지고, 서로 다른 실력의 4명이 모여서 같은 깃허브에 업로드를 하다 보니 그것을 머지하는 동안 컨플릭트가 정말 많이 났기 때문이다. 그래서 컨플릭트 머지에 도움을 많이 주신 팀원 분은 코드를 합치는 과정 자체가 힘들었다고 하셨다.
또 다른 분은 같은 조원 분이 너무 잘하셔서 같이 코드를 작성하면서 진도를 따라가기 조금 힘들었다는 분도 계셨고, 다른 사람과 함께하니 자습보다 집중이 깨져서 힘들어하시는 분도 계셨다. 그리고 나는 며칠 전에 적었듯이 의견 충돌 자체가 제일 힘들었던 것 같다.
배경 : 필수적으로 구현해야 할 과제 중에 친구 추가 기능 필요
발단 : 프로젝트 시작 전 회의 중 해당 기능을 어떻게 추가할 지에 대한 문제 발견
전개 : 테이블을 추가할 지 안 할지에 대한 이야기가 진행됨
위기 : 어떻게 구현을 해야할 지 여러가지 의견은 나왔지만 결론이 나지 않음
절정 : 우리의 최종 목표 선정에 문제가 있다는 것을 발견하여 논의 끝에 해결
결말 : 피벗 테이블로 친구 추가 기능을 구현
배경 : 도전 기능 중 좋아요 순 정렬 기능 구현 시도
발단 : 좋아요의 구현을 간단하게 할 방법 모색
전개 : 피벗 테이블과 연결된 newsfeed와 기존 페이지네이션을 사용해 정렬을 시도
위기 : entity에 접근해서 정렬하는 것이기 때문에 단순 피벗테이블로는 정렬이 불가하다는 문제를 발견
절정 : entity와 피벗테이블을 함께 사용하여 문제 해결을 시도
결말 : 100% 정답이라고 할 수는 없지만 시간적 제약과 타협할 수 있는 범위 내로 문제 해결
프로젝트 발표는 내일 여러 조 중에 후반부에 진행 될 예정이다. 발표는 B팀의 잘하시는 분이 마침 사다리타기에 걸려서 그 분을 중심으로 진행 될 것이고, 오늘 발표 자료를 만들 것이라고 한다.
발표 준비보다 더 중요한 것이 프로젝트에 대한 피드백이기 때문에 마지막으로 튜터님에게 가서 최종 피드백을 받아오고 그 이후로 발표 준비를 할 것으로 예상 된다.
결론적으로 이 프로젝트는 각자에게 다른 체험을 주면서도 부족했던 부분이나 몰랐던 부분을 성장시켜 주는 좋은 경험이 아니었을까 하는 생각이 든다. 물론 다른 분들도 그렇게 생각하실 지 나는 알 수 없다. 나는 쩌리라서 어쩔 수 없다.
솔직히 이 프로젝트에서 내가 한 게 많지는 않기 때문에 다음 개인 프로젝트 시간에는 조금 더 스스로 정진하는 태도로 공부량을 늘려야겠다는 생각이 들었다.
이번에 깃허브 조작이나 컨플릭트 문제가 많이 발생했고, 그것을 해결하는 모습을 많이 봤기 때문에 그 부분을 조금 더 잘 할 수 있을 것 같다.
팀원들과의 소통이 중요하다는 걸 깨닫는 순간이 많았기 때문에 다음 프로젝트에서는 더 원활하게 소통하면서 진행할 수 있을 것 같다.
이번에 생각보다 많은 걸 배웠기 때문에 다음에는 이번에 몰라서 헤맸던 부분을 조금 더 원활하게 작성할 수 있지 않을까 생각한다. 특히 B팀 분들은 쿼리dsl을 활용한 부분이 인상깊었기 때문에 다음에는 데이터 베이스 적용을 할 때 그 부분을 조금 더 공부 해서 적용해보려고 한다.