드디어 최종 코딩테스트를 마쳤다. 아쉬울 점이 많을 거라고 생각은 했지만 너무 아쉬워서 하루종일 코테 생각만 난다...😢
내용이 길어 일부만 가져왔다.
요약하자면, 우테코에서 실제로 진행하고 있는 페어 프로그래밍의 페어를 짜는 것이다. 코스별(백엔드, 프론트엔드), 레벨별, 미션별로 매칭 정보를 생성하고 각 매칭에 따라 페어 정보를 생성한다. 단, 페어를 매칭할 때 동일한 사람과 페어가 맺어진다면 다시 랜덤으로 섞고 다시 뽑는다.
우테코를 찾아보면서 페어 프로그래밍에 대해 알게되기도 했고 지금까지 진행한 프리코스와도 조금은 연관이 있어서 (자판기처럼😢) 이해하기에 어렵진 않았다.
설계냐 구현이냐 고민을 많이 했는데 구현을 우선순위로 두자니 스파게티 코드를 짜고 수정하는 것이 더 오래 걸릴것같아 설계를 중점적으로 했다. 그래도 3번의 프리코스 과제를 거쳐와서 설계하고 기능 목록을 작성하는 것까지 오래걸리지는 않았다. 프로젝트 구조는 지금까지 연습해왔던 MVC 패턴을 사용하였다.
이전 리팩토링한 소스코드와 같이, 크게는 MVC로 나뉘지만 세부적으로는 Model은 model과 repository, Controller는 controller와 service로 나뉜다. 여기에 페어 매칭 서비스에 전반적으로 사용되는 상수는 type으로 묶었다. 위 파일에서 Crew나 BackEndRepository 등 생성해두고 사용안한 파일이 많은데 제시간에 삭제를 못해서 넘 아쉽다.
5시간동안 한번도 쉬지 않고 코딩했다. 근데도 시간이 부족했다. 내 실력 부족일 수도 있지만 이미 익숙해져있는 패턴 그대로 빠르게 타이핑해도 시간이 많이 부족했다. 구현 자체는 다한 사람도 몇몇있던데 너무 대단하시다..
중복 페어 매칭이 있을 경우 랜덤으로 다시 섞고 뽑는 과정을 3번까지는 봐주는 조건이 있는데 그것을 제외하고는 다 구현했다. 그래도 많이 구현한것같아 만족해하고 있었는데 테스트 코드 자체를 아예 까먹고 있었다. 뭐 검증도 하나도 안했고 검증을 안해서 에러메시지도 안띄우지만 구현 자체는 만족해하고 있었는데 테스트라는 존재를 떠올렸을 때는 정말 하늘이 무너지는줄 알았다...😢😢 하.. 3주가 넘는 기간동안 열심히 해온 것들이 실수 하나로 0점을 맞아 너무너무너무 아쉽다. 우테코는 점수순으로 뽑는건 아닌것같아 괜히 기대하고 있는게 슬프다. 맘 접고 이후 계획이나 짜야하는데 쉽지 않다.....엉엉 😂😂😂
20220103 추가
헉..
발표 하루 전부터 너무 떨렸는데 메일 알림에 본문이 없다는 글을 보고 혹시나 했다. 후기에서 너무 많이 봐 익숙해진 이 그림이 띄워지는 순간 긴장했던 것들이 모두 풀어지는 느낌이었다. 마지막 코딩테스트가 아쉽기는 하지만 어쨌건 결과가 좋아 다행이다. 결과 발표가 나고 지금까지 푹 쉬었으니 이제 슬슬 우테코를 준비해야겠다..🥳