1주차 미션이 무사히(?) 끝나고 두근두근 2주차 미션이 화요일에 도착하였다.
2주차 미션 메일에는 1주차 미션에 대한 피드백 영상과 2주차 '레이싱카' 구현 과제에 대한 내용이 있었다.
숫자야구를 하면서 이제 이런 스타일의 구현은 어렵지 않지! 라며 자신감이 생겨 있었는데
막상 과제를 해보니 생각보다 이전과 다른 부분들이 많이 있어 고민의 시간이 길어졌다.
이 타이밍에 유스방도 구현 과제가 같이 주어져서 조금 부담이 있었는데 다행히 유스방 일정이 여유가 생기고
페어이신 David의 배려로 주어진 1주일을 아낌없이 사용하여 레이싱카 구현을 고민할 수 있었다. (다시 한번 감사합니당!)
숫자야구 피드백 영상에서 테스트를 먼저 만들고 -> 실제 구현을 해보라고 했는데 wordle도 그렇고 레이싱카도 막상 해보면 자꾸 실제 구현을 먼저 하고 테스트를 해보게 된다.
하지만 실패하는 테스트를 만들고 -> 실제 구현을 통해 -> 성공하는 테스트를 만드는 과정으로 구현하는 것이 구현 후 테스트를 만드는 것보다 기능의 분리가 더 잘되기는 했다.
사실 그래서 구현하고 테스트 케이스 만들다가 실패하는 테스트를 접하고 다시 구현하는 식으로 진행했다.. ㅋㅋ
그리고 레이싱카의 경우 랜덤 값이라는 테스트 하기 굉장히 어려운 부분이 있었다.
고민과 참고의 결과 인터페이스를 구현하는 방법으로 구현했다.
인터페이스를 통해 구현을 하게 되면 테스트를 위해 메인 로직에 영향을 줄 일이 없고, 추후에도 어떤 랜덤 값이 아닌 다른 기준의 값을 구현해야 하는 경우에도 손쉽게 리팩터링이 가능하다는 장점이 있다.
그동안은 회사 소스코드에서 controller -> service -> serviceImpl로 이어지는 service 인터페이스 외에는 접한 적이 없었다.
구현하면서도 이걸 왜 쓰는 거지?라는 생각이었는데 이번 인터페이스를 사용하면서 진정한 인터페이스의 위력을 느낄 수 있었다.
1주차 미션은 사실 조금 여유롭게 제출을 했었는데, 2주차 미션은 하다 보니 시간이 부족해서 폼을 제출하니 밤 11시 55분이었다..!!
당시 마음은 급하고 시간은 없고 해서 제출할 때 약간 아무 말 대잔치로.. 폼에 구현 잘한 분들이 많아서 자신이 없고 어쩌고 저쩌고 그렇지만 나는 최선을 다했다~! 로 엄청난 포부를 남겼다
그래서 였을까..?
교육생으로 선발되었다! 👏👏👏
사실 프리코스 2주차 회고를 쓰고 있는 오늘이 바로 첫 수업 날이다.
벌써 1주차의 step 2까지 진행한 상태에서 쓰는 회고인데, 아직은 잘할 수 있을까 걱정이 더 큰 것 같다.
유스방에도 두 분과 함께 4기를 진행하게 되어 내적 친목이 상당하다(ㅋㅋ)
매주 미션을 진행하며 회고를 써보려고는 하는데, 이번엔 정말 시간 관리를 잘해서 최대한 자주 쓸 수 있도록 노력을 해봐야겠다.