이전 회고에서 '해보는 것'의 중요성에 대해서 쓴 적이 있다. 실제로 코드스테이츠 수강에 대해 지인들과 이야기할 때 "공대생에 비유하자면 공학수학 problem set은 풀 수 있지만, 이걸로 어떻게 다리를 만들어야 하는지 상상이 안 가는 상태" 라고 표현한 적이 많다. 코플릿은 대체적으로 큰 무리 없이 풀어냈지만, 단순히 "인자로 주어진 숫자까지의 합을 구하시오" 등의 가상의 설정을 가진 문제를 푸는 것과, 현실에서 고객에게 쓸모가 있는 서비스를 구현하고 솔루션을 제공하는 것은 다르지 않은가. 하지만 첫 몇 주 간 걱정했던 것과는 달리 코플릿 외의 과제를 하나하나 풀어나가다 보니 이제 슬슬 웹서비스의 모양새를 한 것을 만들기 위해서는 어떻게 해야 한다는 실마리가 보이는 듯 하다.
개인적으로 가장 흥미로웠던 과제는 가장 구현할 functionality가 다양했던 Twittler 과제였던 것 같다. 트위터와 흡사하게 동작하는 미러 사이트를 만드는 과제였는데, 기본적으로 username과 트윗 내용을 입력하고 트윗 버튼을 누르면 트윗을 생성하는 기능뿐만 아니라 username으로 타임라인을 필터할 수 있는 기능, 로컬 서버에 새로 생성된 트윗을 저장하는 기능, 시간을 인간 친화적으로 표현하는 기능까지 구현하면서 많은 것을 배웠다. 아마 또 한 달의 진도 후에는 눈 감고도 만들어낼 수 있는 수준의 사이트일 수도 있지만, 당시에는 많이 뿌듯해 완성하고도 괜히 계속 들여다보게 된 프로젝트였다.
흥미와는 별개로 한 단계 한 단계가 제일 뿌듯했던 과제는 Calculator 과제였던 것 같다. 계산기가 작동하도록 만드는 프로젝트는 코딩을 배우면서 누구나 가장 처음 접하는 프로젝트 중 하나일 정도로 흔한 것 같지만, 처음으로 코플릿 환경에서 벗어나서 기능을 구현하고, HTML/CSS를 만져 보는 경험이었기에 모든 것이 새롭고 신기했다. 그에 더해 페어분과도 유독 합이 잘 맞았던 덕분에 즐겁게 advanced 기능까지 완성하게 되었다.
Pre Course를 시작하는 시점부터 가장 궁금했던 Hiring Assessment는 코플릿의 형태로 진행이 되었는데, 재귀, 알고리즘, 고차함수 등 앞서 배운 개념들을 압축시킨 문제들이라고 느껴졌다. 코드의 논리에 문제가 없는 것 같은데도 한두 테스트를 통과하지 못해 답답해하며 시간을 보내기도 했지만, 집중해서 디버깅 해 보니 결국 풀 수 없는 문제는 없었다.
큰 무리 없이 Pre Course를 이수했지만, 아직 갈 길이 멀다. 앞으로 진행될 Immersive Course에 들어가기에 앞서, 그동안의 퍼포먼스를 돌아보며 분발이 필요한 부분과 스스로 만족한 부분을 짚고 넘어가고자 한다.
드롭다운 메뉴를 이용해 지역을 선택하도록 만든 날씨 앱