1차 테스트를 통과하고 너무 기뻣지만 자바로 과제를 해야 한다는게 조금은 부담으로 다가왔다. 그동안 js나 ts로 개발을 해왔고 자바는 학교 수업에서 사용해 왔던 경험이 전부였기 때문이다. 그래도 무족한 점을 조금이나마 매꾸기 위해 백기선님의 '더 자바, java8'을 수강하고 프리코스를 시작했다.
1주차때는 요구 사항을 보고 많이 당황했다. 아직 실무경험이 없어서 요구사항을 받아본게 처음이고 처음 받아본 요구사항이 3개의 카테코리로 나뉘어져 있다는 것 부터가 당황스러웠다. 게다가 커밋 메시지를 저리 디테일 하게 까지 작성해야 하다니... 지금까지 커밋 메시지는 길어야 두줄 정도 써왔던 나에게는 너무 큰 요구사항이였다. 또 한 유닛테스트를 작성하라는 요구사항은 없었지만 유닛테스트가 있는 것을 보고 뭔가 나도 유닛 테스트를 작성해야 될것만 같은 느낌이 들었다. Junit5를 급하게 공부하면서 살면서 처음보는 요구사항 맞추고 하다 보니 1주차 과제를 마무리 하게 되었다.
2주차 과제는 1주차때 해맨 덕분에 요구사항을 좀 더 쉽게 파앆할 수 있었다. 하지만 더 나은 코드를 작성하고 싶어서 백기선님의 '더 자바, 애플리케이션을 테스트하는 다양한 방법'을 수강하면서 Junit5를 더 공부해 유닛 테스트를 작성했다. 코드를 다 작성하고 보니 뭔가 알 수 없는 찜찜함(코드가 맘에 들지 않으면 늘 이러더라...)이 들어서 계속 보면서 수정할 부분을 수정했다. 그럼에도 찜찜한 기분은 가시질 않았다.
3주차때 2주차 과제에 대한 피드백을 받고 나서야 1,2주차때 받았던 찜찜함의 원인을 알 수 있었다. SOILD를 혼자 공부했던 탓에 한가지 일 이라는 것에 대한 정의를 제대로 내리지 못한 채로 클래스를 설계하다 보니 생기는 찜찜함이 원인이였다. 2주차 피드백을 토대로 그동안 내가 객체를 설계해 왔던 방식을 완전히 바꾸어서 과제를 했다. 안해보던 사고 방식으로 과제를 했더니 머리가 아프더라... 그래도 개선점을 찾을 수 있어서 너무 행복했다. 마지막으로 mockito도 적용해 유닛테스트를 작성해 보았다.
3주 과제 3개 만으로 이리 많은 것을 배울 수 있었는데 우테코에 합격해서 10개월동안 공부하면 얼마나 더 많은 것을 배울 수 있을까. 제발 합격했으면.... 합격하면 절하면서 다닐 수 있는데...