• 코드리뷰
  • 블로그
  • 로그인

예제 주도 학습법을 실천한 이야기

예제를 직접 만들어 학습하는 방법을 고민하고 실천에 옮긴 과정을 소개합니다.
한윤석

예제 주도 학습법

학습을 하면서 항상 하는 고민 세 가지가 있습니다.

1. 내가 당장 뭘 공부해야 하지? 😅

불안한 마음에 무언가를 공부하려고 하지만 무엇을 할지 모르겠고 결정하기도 어렵습니다. 점점 책들은 쌓여가고 불안한 마음만 커져갑니다.

2. 내가 잘하고 있는 게 맞나? 🤔

공부를 시작했습니다. 근데 내가 지금 잘 공부하고 있는 건지 확신이 들지 않습니다. 다른 사람들은 어떻게 공부하고 있는지 궁금해지고, 잘하고 있는지 걱정이 되어 집중하지 못하고 꾸준히 공부가 안됩니다.

3. 아니 그래서 이걸 어디다 써먹지? 😇

공부를 하긴 하는데 어디에 써먹을지 모르니 머리에 잘 들어오지도 않고, 어려운 주제를 만나면 나는 아직 쓸 일이 없을 거야 하며 넘겨서 제대로 학습이 안됩니다.

피드백

세 가지 고민 모두 공부를 하면서 피드백을 얻을 수 없어서 생기는 문제입니다. 내가 필요한 지식은 무언가의 피드백을 통해서 어떤 지식이 필요하기 때문에 공부를 해야 합니다. 예를 들어 내가 만들고 싶은 프로그램을 만드는데 필요한 지식을 공부할 수 있습니다.

배운 지식을 직접 사용하지 않으면 나에게 어떤 변화가 일어났는지 피드백을 얻을 수 없습니다. 예를 들어 배운 지식을 가지고 사이드 프로젝트를 진행하면서 해당 지식을 사용할 수 있는 사람이 될 수 있습니다.

배운 것을 직접 적용해보며 내가 모르고 있는 것과 아는 것이 무엇인지 피드백을 얻어야 합니다. 예를 들어 사이드 프로젝트를 만들면서 막히는 부분을 발견하고 문서를 찾아보고 책도 보면서 학습을 합니다.

예제를 만들자 😎

사이드 프로젝트를 하는 일은 쉬운 일이 아니기 때문에 제가 제안하는 것은 예제를 만드는 것입니다. 배운 지식에 대해서 누군가가 쉽게 이해할 수 있게 예제를 만들어 보는 겁니다. 예를 들면 관계형 데이터 베이스를 공부하고 있다고 생각해 봅시다. 이 관계형 데이터 베이스를 배운다면 저는 관계형 모델로 문제를 설계할 수 있어야 합니다. 지금 책을 읽고 있으니 책 정보를 보관하는 저장하는 애플리케이션을 관계형 모델로 설계를 해봅니다.

image1

간단하게 책의 제목과 저자, 회사의 이름을 기록했습니다. 이런! 그런데 책을 기록하다 보니 저자가 여러 명인 책을 발견했습니다! 어떻게 해야 하지? 고민이 됩니다. writer 칼럼에 문자열 ,로 구분할까? 하지만 이는 좋은 방법이 아닌 것 같습니다. 검색이 굉장히 어려워지기 때문이죠. 지금 문제는 북마크라는 테이블이 두개의 술어논리를 만족하고 있기 때문입니다.

  • A 책은 B에 의해 쓰였다.
  • A 책은 C에 의해 발행되었다.

정규화를 실시해봅니다.

image2

정규화했습니다. 이제 여러 명의 저자도 쉽게 등록할 수 있습니다! 이렇게 간단한 예제를 만들면서 학습을 한다면 보다 빠르게 내가 잘 이해 안 된 것을 발견할 수 있습니다.

혹은 예제를 훌륭하게 만들어 냈다면 나는 올바르게 학습했다는 것을 확신할 수 있습니다. 그러면 학습에 대한 고민을 아주 많이 줄일 수 있다고 생각합니다. 아주 간단한 예제라도 상관없으니 예제를 만들면서 학습해보시길 바랍니다.

테스트, TDD, 코드리뷰, 올바른 협업 방법 등을 코칭하여 코드숨은 개인과 개발 조직의 성장을 돕고 있습니다. 🙏진짜 개발자로 거듭나는 방법
강의 알아보기