공부회고

fpg1·2023년 9월 13일

효율적인 공부를 위해 나의 공부를 회고해보았다.


중요한 점을 하나 발견했는데,

나는 내가 무엇을 모르는지를 규정하지 못한채,
"나는 모른다"가 동반하는 감정에 휩쌓여 새로운 책이나 강의를 들을려고 하였다.
이는 굉장히 비효율적인데 왜냐하면 다시 처음부터 새로운 책이나 강의를 들는 것
이전에 내가 공부했던 내용과 중복된 내용이 많아 집중하기도 어렵고 도움도 많이 안되기 때문이다.

그래서 번번히 강의나 책을 들을려고 시도하다가 그만두기를 반복하였다.

예로 들어,
sql과 git을 공부해야겠다고 계획하고 있는데,
구체적으로 내가 무엇을 공부해야하는지는 생각하지 않고 어느 강의가 좋은 선별하고 있었다.

sql은 날짜함수와 날짜형을 다루는 방식, join과 outer join의 차이, 집계함수 count() 에서 답답함을 느꼈고
git은 rebase, 충돌병합, remote repo에 대해 공부할 필요성을 느꼈다
근데 이런 부분에 대해 하나씩 공부할 생각은 하지 않고 막연히 처음부터 새로 공부할 생각을 하고 있었다


더불어 무엇을 모르는지와 함께

내가 무엇을 아는지도 파악해보는게 중요한거 같다.

내가 무엇을 아는지를 선명히하여야 모르는 부분을 학습할 때 아는 것과 상호관계가 맺을 수 있기 때문이다.

그래서"무엇을 아는가"는 좁게는 해당 개념에 대해서 내가 나의 말로 서술할 수 있는가와 넓게는 개념들의 구조화된 관계를 규정할 수 있는가를 포함한다.


공부가 되어가는 단계에 대해서도 생각해보았는데
다음의 과정을 거치는게 좋을꺼같다.

  1. 얇은 책으로 전체내용을 개관한다
  2. 개념과 활용을 익힌다.
  3. 심화활용(best practice)를 익힌다.
  4. 심화개념을 익힌다.

1

우선은 첫번째 단계에서 개념과 활용을 익히는데,
핵심은 개념의 정의와 활용(예제)를 통해 그 개념이 어디에 쓰이는가를 이해하여
다음에 필요한 경우에 이 개념을 떠올릴 수 있는 것이다.

다시말해 한번 공부를 하여 그 개념을 자유자재로 쓰는 것을 목표로 하는게 아니라,
기억해내고 활용하지 못하지만 어떤 상황에 부딪쳐서 이 상황에서 이 개념을 써야하지하고 떠올리는 것만으로도 충분하다는 것이다.

왜냐면 어쨌든 떠올리기만 한다면 그 개념을 반복학습하면 될 일이고,
실질적으로 그러한 문제에 부딪쳐서 개념을 써보는 것은 또 공부의 효과가 극대화 되기 때문에 개념이 체화되는 것은 시간문제이기 때문이다.

2

두번째로는 심화활용(best practice)을 익히는 것인데

첫번째의 활용이 단순예제라면 심화활용은 본격적인 애플리케이션에서 그 개념이 어떻게 쓰이는지 익히는 단계로 여기서 한번 더 첫번째 단계에서 익힌 개념들이 단단해질 것이다

더불어 다양한 책보다는 한 권을 반복

profile
backend

0개의 댓글