왜곡
-
초반에는 문제의 원인을 충분히 넓게 잡아라.Programmer/Programming 2014. 7. 15. 18:09
파일 읽기 플러그인에 다수의 기능을 추가했다. 추가된 기능은 원격 파일 읽기, 버퍼 읽기, 캐시 등이 있다. 원격 파일을 읽는 기능이 이전 버젼에 비해서 과도하게 CPU를 점유하고 있었다. 분석의 과정이 없이 추론에 근거하여 새로 추가된 원격 기능과 캐싱 알고리즘만을 의심했다. 그리고 내 시스템과 연동하는 HTTP 프록시 서버의 문제일 수 있다는 생각도 했다. 이전에 이런 접근 방법을 경고하는 글을 적었음에도 나란 인간은 같은 실수를 되풀이했다. 경험과 직감에만 의존한 추측과 코드 수정, 그리고 결과 보기를 반복했다. 이후 동료의 조언으로 프로파일링의 접근을 시도하였다. 이번 문제의 원인을 찾기 위한 제대로된 분석의 첫번째 시도였다. 아뿔싸! 나란 인간은 또다른 문제를 가지고 있었다. 여러번의 프로파일링..