수파리(守破離)에서 수를 시작했습니다...
수파리란?(자세히보기)
수파리란?
불교 용어에서 건너와 무도 수행의 단계를 표현하는 말로 정착되었다. ‘수(守)’란 ‘가르침을 지킨다’라는 의미. 스승의 가르침을 받들어 정해진 원칙과 기본을 충실하게 몸에 익히는 단계를 말한다. ‘파(破)’는 원칙과 기본을 바탕으로 하면서도 그 틀을 깨고 자신의 개성과 능력에 의존하여 독창적인 세계를 창조해 가는 단계이다. 그렇지만 이 시기의 수련은 다분히 의식적이고 계획적이고 작위적인 수준에 행해지는 것이 특징이다. 다음 단계인 ‘리(離)’는 파의 연속선상에 있지만, 그 수행이 무의식적이면서도 자연스러운 단계로 질적 비약을 이룬 상태이다. 자신도 모르게 ‘파(破)’를 행하되, 모든 면에서 법을 잃지 않고, 규칙을 벗어나지 않는 경지에 이름을 뜻한다. 수련의 최후단계이다.
守(지킬 수)
스승의 가르침을 그대로 답습하는 단계. 스승이 가르치다 넘어진 동작, 실수, 잘못까지도 모두 학습하며 모든 동작에 대한 완전한 모방이 핵심이다. 자신의 의견을 내세우지 않고 오로지 옛날 선인들이 정해준 기본을 원칙대로 몸에 익히는 초보의 단계이다.
破(깨트릴 파)
스승이 넘어진 이유를 생각하는 단계이다. 모방을 지나 동작의 원리를 이해하고 그 가르침을 기초로 자신에게 맞는 무술을 만들어 나가는 단계이다. 기본의 껍질을 부수고 자신의 형(型)을 형성해 나가는 시기이다.
離(떠날 리)
의식적으로 원칙을 지키려하는 데에서 벗어나 자신도 모르게 파(破)를 행하며 모든 점에서 규칙을 벗어나지도 않으며 스스로가 하나의 경지를 개척하는 무술의 최종 단계이다. 즉, 파의 단계가 의식적인데 비해 리는 자연스럽게 이치에 벗어나지 않고 형이나 전통적 방법에 얽매이지 않으며 생각하는데로 자신의 무술을 표현할 수 있는 무의식적인 단계이다.
최근에 큰 깨달음을 얻고 자신감을 얻어 옛 선인들(위대한 엔지니어들)의 가르침을 하나씩 실행해보고 있습니다.
어떤 위대하고 쓸모있는 프로그램이 아니라 아주 간단하고 실제로 전혀 쓰이지 않을 예제 프로그램을 만드는 데에서 시작합니다.
그 예제 프로그램의 시작은 아주 간단한 테스트를 작성하는데서 시작합니다.(즉, TDD)
소프트웨어는 UML 로 생각을 표현하며 연결합니다.
처음에는 새로운 테스트의
요구사항을 재빨리 테스트를 통과하기 위해 크나큰 죄악(예: Copy&Paste)을 저지른다 하여도 리팩토링을 통해 이내 구조를 개선하여 회개합니다.
자신의 생각을 남에게 표현하기 위해 시각화하지 않고 자신을 위해 시각화합니다.
곧 이러한 예제를 CVS 혹은 Subversion 을 설치하여 형상관리를 시작할 계획입니다. (혼자 짜는 프로그램입니다)
처음부터 완벽한 설계를 하려 노력하지 않습니다. 테스트 후 조금씩 개선합니다.
그렇게 오늘부터 자기수련을 시작합니다.