이번 미션을 읽고 가장 먼저 해야할 일은 환경 설정이었는데, 평소에 깃&깃허브 설정을 많이 해보아서 어려움 없이 성공할 수 있었다. 주변 지인 중 이번 프리 코스에 도전하는 사람이 꽤 있었는데, 환경 설정에 어려움을 겪는 사람들을 도와주기도 했다. 지인들이 프리코스를 통해 무엇을 얻어갈 수 있을까에 대해 많이 생각하는 듯했다. 첫 관문부터 어려움을 겪었어도 누군가가 대신 해주거나 알려주는 것만으로 해결하기 보다는 본인 스스로 성장하고 싶어해서, 약간의 도움을 주는 정도이긴 했다. 미션을 시작하기도 전에 주변 사람들을 보며 '나도 성장할 수 있도록 노력해야지'라는 다짐과 함께 동기부여를 얻을 수 있었다.
비교적 간단한 프로그램이긴 하지만 바로 구현하기 보다는 기능 설계 단계에서 구현할 함수를 다 생각해놓은 후 구현했다. 미션에도 특히 기능 설계를 먼저 하라는 문구가 적혀 있었는데, 어느정도까지 자세히 해야할지 몰라 함수를 먼저 설계했다. 또, 최근에 소프트웨어 공학에 대해 공부하며 디자인 패턴을 접했고, 이번 미션에 디자인 패턴을 적용해서 도전해보겠다는 생각으로 시작했다. Spring Boot를 이용하여 RESTful API를 구현할 때 디자인 패턴을 이용하는 것은 익숙했지만, API가 아닌 프로그램을 디자인 패턴을 적용하여 구현해본 것은 처음이었다. JAVA를 쓰는 Spring Boot는 할 수 있는데 JAVA 단독으로는 잘 못한다니... 평소 Spring Boot를 공부하며 JAVA로 개발을 해왔으니 프리코스는 쉬울 것이라고 생각한 내 자신이 부끄럽게 느껴졌고 회의감이 들었다. 하지만 모르다면, 배우면 되는 것 아닌가?!! 그래서 먼저 MVC 패턴에 대해 공부했고 미션에 최대한 잘 적용하기 위해 노력했지만 솔직히 잘 적용이 됐는지는 모르겠다. 공통 피드백을 보고 코드를 리팩토링해 본 후 블로그에 회고록을 적어야겠다.
미션을 구현하는 과정에서 Character와 char의 차이점, Integer과 int의 차이점, Character형 Array를 String으로 변환하는 방법 등 쉬운 것들을 기억하지 못해 검색을 하기도 했다. 또, 미션 중 사용자 입력을 받을 때 잘못된 입력이라면 IllegalAccessException 예외를 던지는 것이 있었다. 처음에는 그냥 main 함수에서 catch 해주었는데, 테스크 케이스 중 예외 테스트에서 계속 빌드에 실패했었다. 그래서 예외처리가 제 기능을하고, 이를 효과적으로 할 수 있도록 ExceptionHandler 클래스를 추가했는데 이걸 추가하는 과정에서 공부가 많이 된 것 같다!!
1주차 과제를 해보고 느낀 점은 역시 기본이 정말 중요하다는 것이다!! 항상 기본 공부에 충실하도록 노력하고, 머리 속에 지식을 간직할 수 있는 사람이 되어야겠다...!