2004년 11월 24일 수요일

도자기 - 샘플 검사 기술

도자기는 굽는 데, 많은 노력이 들고, 가마의 온도나 시간이 중요하다.
장인들은 어떻게 도자기를 잘 구울 수 있을 까?
물론 수많은 시도를 통해서 적절한 온도와 시간을 찾을 수도 있다.


좀 더 현명한 장인들은 시도를 줄이면서 품질을 올린다.
가마 내부는 불투명하고 도자기가 가열된 후 완전히 식어야
비로소 도자기에 새겨진 무늬나 질감, 강도를 알 수 있다.
그래서 현명한 장인들은 도자기와 함께 도자기와 비슷한 재료의 샘플을
넣는 다.
일정 시간마다 샘플을 하나씩 꺼내보고 상태를 확인한다.
샘플이 적절한 상태임이 입증되면 비로소 가마의 불때기를 멈추고
식힌 후 모든 도자기를 꺼낸다.


이렇게하면 적은 시도로 실패를 줄이면서 도자기를 많이 구울 수 있다.
이런 기술이 없었다면 항상 수십, 수백개의 도자기가 굽기에
실패하고 구운 도자기를 깨버려야 했을 것이다.


사실 검색 같이 대용량 데이터를 처리하는 곳에서도 비슷하다.
조금 시간을 내어 샘플 data로 test를 미리 해서
디버깅을 한다면 개발 cycle을 줄일 수 있다.
항상 full data(1~100기가)를 처음부터 쓰려고 하니
10기가쯤 처리하다가 프로그램이 죽어버리는 경우가 허다하다.
매번 그런 실패를 하느니, 미리 샘플로 test를 하면
디버깅 시간을 1일 ~ 1주일 가량 단축시킬 수 있다.


평균 10개의 디버깅 cycle을 거친다고 할 때
10개 중 8개의 버그는 샘플 data를 가지고도 잡아 낼 수 있다.
따라서 8개의 버그에 대해서 시간을 99% 단축 시킬 수 있다.
(나머지 2개는 시간 단축이 불가능하다.)


샘플 만드는 시간을 아까워하다가는 더 많은 작품과 시간을 낭비하게 된다.

댓글 없음:

댓글 쓰기