어떻게 공부를 해야할까?
공부를 하다보면 무슨 말인지도 모르겠는 것들이 많다. 그것을 알기 위해서 검색을 해본다. 검색을 하면서 찾다보면 그곳에서 또 모르는 것이 생긴다. 그렇다. 이번 달에 꼬꼬무를 많이 겪었다. 생각나는 일화를 예로 들자면, 자바스크립트에서 원격 API를 호출하기 위해서 fetch 함수를 사용한단다. 그런데 fetch 함수는 console로 찍게 되면 에러가 발생한다. Node.js의 비동기성 때문에 promise라는 객체를 반환해준다고 한다. 이 promise 또 뭔가해서 찾아보는데 resolve와 reject를 인자로 받는데, resolve에서는 then을 통해서 반환 값을 받지만, reject의 경우 에러가 난단다. 그래서 reject일 때는 catch를 사용해야 한다고 한다. 그래서 또 catch에 대해서 찾아보고, 왜 에러가 나는지도 찾아보고..의 반복이었다.
개념을 완벽히 이해하려는 욕심이었는지, 단순한 오기인 것인지 계속해서 파고 들었던 경험이었다. 뭐, 파고 드는 집요함에 대해서는 좋았다고 생각한다. 나쁜 것도 절대 아닐 것이다. 하지만, 여기서의 문제점은 그럼 나는 찾아본 정보들을 제대로 이해했는가, 내가 학습하고자 하는 범위를 벗어났는가의 문제였다. 계속해서 파다보니, 점점 내가 학습하고자 하는 부분에서 벗어나게 되었고 공부를 하면서 모르는 게 점점 많아지니 가뜩이나 걱정이 많은 나로서는 정신적으로 힘들어지고 위축이 되었다.
계속해서 공부는 해야하기는 하지만, 그렇다고 매번 이럴 수는 없으니 어떻게든 타파해야할 방법을 모색했어야 했다. 일단 모르는게 잘못이 아니라고 생각을 했다. 그리고 내가 하고자하는 학습 범위 안에서 찾아보기로 했다. 예를 들면, 모르는 용어가 있으면 용어의 정의까지만, 모르는 메소드가 있으면 메소드의 역할까지만 학습하자는 식으로 결정했다. 그러니, 한층 더 마음 편하게 공부를 진행하면서 성취감을 얻을 수 있었던 것 같다.
2월에는 유튜브 우리밋 채널 영상강의를 통해서 로그인&회원가입 구현 기능을 진행했다. 확실히 클론 코딩을 하면 따라하면서 전반적인 흐름에 대해서 알 수 있어서 좋은 것 같다. 그리고 나도 무엇인가를 만들어보았다는 성취감도 가질 수 있었다. 그러나 무작정 따라만 하는 것은 나의 생각을 펼치지 못한다는 부분, 그럼과 동시에 나의 성장에 대한 의문이 들었다. 그래서 따라는 하되, 조금 더 능동적으로 왜 이런 코드를 작성했는지, 다른 방법은 없는지에 대해서 고민해볼 필요를 느꼈다. 솔직히 얘기해서 나도 무작정 따라하기만 한 것 같다. N회독 진행하면서 다시 리뷰해보아야겠다.
어떻게 또 유튜브에서 기가 막히게 알고리즘을 통해 클론코딩 멈춰!라는 영상을 피드에 보여주었다. 진짜 이쯤되면 cctv달고 있는거 아니냐고 그 영상에서는 클론 코딩도 장점이 존재하지만, 실패 경험도 무척 중요하다는 이야기를 해주었다. 아무래도 클론 코딩을 하게 되면 잘 짜여진 코드를 따라하는 것이라 내가 잘못 타이핑하는 것이 아니라면 실패 경험이 드물다. 댓글에도 좋은 얘기가 많아서 그 중 가장 마음에 드는 댓글을 스크랩해놓았다. 야생성이 극대화된 개발자!
학교에서 컴퓨터소프트웨어학과를 다중전공하고 있다. 개발에 관심이 생기면서 cs지식도 필요하다는 판단하였고, 군대를 다녀온 후, 다시 수업을 듣기 시작했다. 자료구조와 객체지향과 디지털 논리 세 과목을 수강하게 되는데, 수업을 잘 따라갈 수 있도록 열심히 해볼 생각이다.
새학기를 시작함과 동시에 새로운 동아리 및 대외활동을 신청해보는 것은 나에게 이미 정해진 수순이었다. 이미 학교 컴퓨터 중앙동아리를 하고 있기는 하지만, 아쉬움이 있었다. 멋쟁이 사자처럼과 SOPT를 알아보았는데, 멋쟁이 사자처럼은 Django를 사용하고, SOPT는 Node.js를 사용한다는 것을 커리큘럼을 통해서 알 수 있었다. 모두 좋은 활동임에는 분명하지만, Node.js를 마침 공부하고 있었기도 하고, 연합 동아리의 이점을 통해 더 폭넓은 네트워크가 형성할 수 있을 것 같아서 SOPT에서 활동해보고 싶은 마음이 생겼다. 꼭 합격해서 함께 성장해보고 싶다!