[WIL] 항해 3주차
99일간의 항해 3주차
알고리즘
3주차는 수요일까지는 알고리즘을 마무리하였다. 알고리즘은 40문제를 넘어 60문제까지 쭉쭉 돌파하였다. 41번 문제부터는 대부분이 난이도가 있는 주제의 문제들로 이루어져있다. BFS, DFS, 다이나믹 프로그래밍, 백트래킹 등의 주제들은 개념 자체도 쉽지 않았지만 개념 자체만으로 풀 수 있는 문제들이 아니라 특정한 방법을 찾아내는 머리도 필요하였다. 예를 들면 체스판에 퀸을 겹치지 않게 놓는 문제에서는 대각선까지도 신경써야했기에 왼쪽 대각선과 오른쪽 대각선을 배열로 다시 만들어서 방문을 확인하는 것이 매우 기발했던 것 같다. 그래도 지난주보다는 문제푸는 속도나 문제를 처음 접했을 때 어떤식으로 풀어가야될지에 대한 감이 빨리 왔던 것 같고, 앞으로도 매일 오전에 1시간 정도는 알고리즘 문제를 지속적으로 풀어볼 생각이다.
주특기 주차의 시작
목요일 자바 기본 문법 수업수강을 시작으로 주특기 주차가 시작되었다. 자바 문법은 항해 시작 전 한 번 수강을 했었기 때문에 다시 한 번 들으면서 놓쳤던 부분이나 기억에서 지워졌던 부분을 위주로 들었다. 그리고 금요일부터는 스프링 기초 강의를 수강하였다. 항해를 시작하기 전에 인프런에 김영한님의 강의를 수강했었는데 그 수업은 현업자분께서 설명해주시는것이라 수강생들이 어느정도의 기본적인 지식은 있는 상태라는 가정을 하고 진행되는 강의었다. 물론 매우 쉽게 설명해주시기는 했지만 1회차 수강을 할 때는 전체를 이해하기에 조금 어려운 느낌이었다. 그래서 2회차 수강을 다시 하였고 이제서야 어떤 의미인지를 알 수 있었다. 반면 스파르타 코딩클럽의 스프링 수업은 수강생을 코딩 초보로 가정을 하고 진행되는 수업이라 조금 이해하기 쉬웠다. 코드스니펫을 통해 복사하는 부분이 많았고, 조금 복잡한 부분들은 자세하게 설명해주진 않으셨지만 다 모른다는 가정하게 매우 쉽게 설명해주셨다. 그래서 인프런 강의를 들으면서 깊게 들어갔던 부분들을 스파르타 강의에서 기초부터 차근차근 배우며 부족한 부분을 채울 수가 있었고, 반대로 스파르타 강의에서 생략된 부분들은 인프런 강의를 통해 조금 더 자세하게 알 수 있었다. 2가지 강의의 타겟층이 달라서 아직 스프링에 대해 많을 것을 알지 못하는 나에게는 2가지를 같이 듣는 것이 정말 큰 도움이 되었다. 두 강의 모두 기초강의라 스프링으로 프로젝트를 만들 때 어떠한 계층 구조로 만들어지는 지와 스프링이 서버 개발에서 어떤 부분들을 쉽게 만들어주는지 정도의 개념만 익힐 수 있었다. 다음주 새로운 프로젝트를 시작하기 전에 기초를 더 다져서 틀은 확실히 이해할 수 있도록 해야겠다.
고민거리
어느덧 항해 3주차가 되면서 고민거리가 하나 생겼다. 토요일날 오시영 튜터님과 주특기 공부를 할 때 사람들과 고민을 나누는 시간이 있었는데 다른 사람들도 모두 나와 비슷한 고민을 하고 있었던 것 같다. 바로 배움에 있어서 깊이와 넓이다. 모든 기술과 학문에는 깊이가 존재하기 때문에 이 부분에서는 어느정도 깊이를 파고 들어야될지가 항상 고민이다. 깊이 없이 대충 알아서는 쓸모가 없지만 한 부분을 깊게 파고 들기에는 알아야 할 것이 너무 많다. 그래서 무턱대고 하기 보다는 시간을 잘 나눠야 하는데 이 부분이 쉽지가 않다. 일주일에 100시간씩 코딩을 하면서 몰입, 집중을 하고 있는데 방법을 모른체로 엉뚱한 곳에 시간을 보내고 있다면 사실 100시간이 시간을 잘보내는 사람의 50시간 만도 못할 수도 있다. 우선 한 주동안 생각을 해본 결과는 2step까지만 더 들어가보자이다. 그 이후에도 더 알아야 할 것이 있다면 우선은 거기서 멈춘 다음 다른 부분들을 더 공부해보기로 했다. 어차피 많은 것들은 서로서로 연결되어 있기 때문에 나중에 또 다시 보게 오는 날이 있을 것이고, 전체를 한 번씩이라도 경험을 해야 막힐 때 내가 검색을 하거나 다른 사람에게 물어보기 더 편할 수 있을 것 같다.
그리고 모르는 부분은 항상 메모 후 나중에 알아보는 습관을 가져야겠다. 노션으로 정리!