학습방법론

Pyro·2022년 1월 20일
2

양명학의 지행합일(知行合一) 에 기반하여 학습하려 노력한다.

즉 제대로 이해했다면 실천할 수 있고,
실천할 수 없다면 제대로 이해하지 못한것이다.

학습 순서

1. 사전정의서 작성

  1. 핵심 키워드 추출 (공식문서 강추)
  2. 각 키워드의 Why 찾기 (공식문서가 어려우면, 이때부터 다른 글을 봐도 됨)
  • 키워드가 어떤 동작을(How) 묘사하는지 찾지 않고,
    • 이 키워드가 무엇을 하려했는지(Why) 그 의도를 읽으려 하자.
  • Why 를 묘사하는 데 새로운 키워드들이 튀어나온다.
    • 새로운 키워드들의 Why 를 다시 정리한다.
  • 재귀적으로 Why 를 정리하는 동작을 반복한다.
  • 어느순간 Why 가 충분히 작아지면, 본인이 실천 가능할 만큼 쉬워져 있다.(divde & conquer)

2. TDD

1) 비즈니스 로직을 요구사항으로 문서화

충분히 작아져서 이해가능한 키워드를 바탕으로,
본인이 어떻게 학습한 내용을 실천할지 비즈니스 로직을 작성한다.

비즈니스 로직의 작성과 함께 해당 비즈니스 로직을 제대로 실현했는지,
매일 확인해야할 체크리스트를 작성한다.(요구사항 문서화)

2) 문서화된 비즈니스 로직을 테스트로 작성

해당 체크리스트의 실천 여부를 매일 증명할 수 있는 방법을 고안한다.(테스트 작성)
예시) 잔디밭, 가계부, 식사일기

3. 테스트의 실행 및 유지보수

학습하고 싶은 내용을 이해했다면, 습관이 되기까지 주 4일 이상 실천한다.
의지력이 강하면 매일, 약하다면 주 3일 이하로 줄여도 된다.
핵심은 주기적으로 비즈니스 로직과 테스트를 실행하는 것이다.

비즈니스 로직 변경에 따라 테스트를 실천하기 어려운 부분이 생기면,
테스트를 같이 수정해야한다.

명심해야할 것은 "코드"라는 용어를 쓰지 않았다.
테스트가 꼭 자동화된 프로그램 코드일 필요는 없다.
본인에게 얼마나 효과적으로 피드백을 줄 수 있을지에 집중하자.

코드에 집중하느라, 피드백 받는 것을 두려워하지 말자.

결론

테스트로 피드백을 받을 수 없는 상태에서,
비즈니스 로직만 거대하게 쌓아 올리는 것을 경계하자.
트로핌 리센코처럼 농사짓다가 굶어죽을지 모른다.

논어 공야장 5-13 에서 자로가 한 말을 명심한다.

자로는 가르침을 듣고 미처 실천하지 못할 경우, 또 다른 가르침 듣기를 두려워했다.
子路有聞, 未之能行, 唯恐有聞.
자로유문, 미지능행, 유공유문.

profile
dreams of chronic and sustained passion

0개의 댓글