최근 Nintendo of America 에 근무하는 Steve Rabin의  "The Science of Debugging Games"라는 글을 읽었습니다. GPG 1권에 실린 글입니다.

Rabin은 디버깅 과정의 5단계를 이야기합니다.

1단계 : 문제를 계속 일정하게 재발시켜라
2단계 : 해결의 실마리를 수집하라.
3단계 : 오류를 지적하라
   방법 1: 가설을 세워보라
   방법 2 : 영역을 나누고, 해당 영역을 정복하라
4단계 : 문제점을 고쳐보라.
5단계 : 해결책을 시험해 보라.

번역 : NeoZest



그리고 전문가의 디버깅 팁으로 몇가지를 적었습니다만, 그중 몇가지만 소개하자면 다음과 같습니다.

가정을 의심해 보라.
상호작용과 간섭을 최소화하라.
임의성을 최소화하라.
복잡한 연산과정을 단계로 나눠라.
경계 조건을 확인하라.
도구(디버깅의 경우 디버거)를 사용하라.
다른 사람에게 그 문제를 설명해 보라.
파트너와 함께 버그를 잡아 보라.
문제에서 떨어져서 휴식을 취해보라.
외부의 도움을 얻어라.

번역 : NeoZest


이 글을 읽다가 문득 이런 생각이 들었습니다.
디버깅의 방법이라는게 따로 있을까? 결국 디버깅도 하나의 주어진 문제/현상을 해결하기 위한 과정이니까 일반적인 문제해결방식과 다를 것이 없다.
그런데 왜 사람들은 디버깅과정과 일반적인 문제해결과정을 분리한 걸까? ^^

잘 모르겠습니다. 여하튼 위의 가이드라인은 어떤 문제에 대한 해결책을 찾는 일반적인 절차로써도 충분히 가치있는 방법아닐까 싶어서 소개해 봅니다.



짤방으로 버그의 어원이 된 사진 하나를 공유합니다.


Debug의 어원이 된 기록

디버그(debug)의 어원을 밝혀주는 기록


  1. Favicon of http://regulation.tistory.com 눈오는마을 2008.02.18 13:22 신고

    아래 두가지 방법도 좋은데...

    1. 벽보고 얘기를 해보라.
    2. 놀러나가라.

    • Favicon of http://www.neozest.com NeoZest 2008.02.20 09:42 신고

      본문에 보면 두가지 방법이 다 들어 있는데.

      다른사람에게 그 문제를 설명해 보라 --> 꼭 살아있는 사람을 의미하는 것은 아님. 인형에게 해도 되고, 벽보고 이야기해도 되고, 동수에게 이야기해도 되고..

      문제에서 떨어져 휴식을 취해보라 --> 놀러나가라라는 것과 유사한 방법이죠 :)

눈큰아이입니다.

최근 비트맵 이미지를 벡터이미지로 만드면서 재미있게 활용할 수 있는 사례들이 등장을 하고 있네요.
비트맵이미지는 모눔종이칸마다 색을 칠해서 그림을 나타냈다고 생각하시면 됩니다.
비트맵의 경우 확대/축소시 품질이 안좋아지는 단점은 있지만, CPU에 부담을 안주고 그림을 표시할 수 있다는 장점이 있지요.
반대로 벡터이미지는 수학적으로 모양을 기술하는 방식이기 때문에 확대축소시에도 품질이 나빠지지는 않는데, 표시할때 어쩔 수 없이 수학적으로 계산작업이 들어가서 느려지게 되죠.

대표적으로 사진은 비트맵이미지이죠. 그래서 원래크기보다 크게 확대를 하면 점이 크게 보이죠.

여하튼..최근 비트맵을 다시 벡터로 활용하기 위한 연구성과들이 다양하게 나오는 것 같습니다.

정진호님 블로그를 통해 알게된 서비스인데요.
befunky 서비스입니다.(http://befunky.com )
웹상에서 사진을 일러스터로 만들어 주는 서비스죠.
Funky Ways to Express Yourself


이런 이미지가 만들어집니다.(참고로 제 사진 아닙니다 ^^; 그냥 올라와있더군요.)
me2

위 서비스는 사진에서 일러스터를 생성하는 것인데 반해,
VectorMagic서비스는 비트맵을 벡터로 변환하는 웹 서비스입니다.
(주소 : http://vectormagic.stanford.edu/)

특히 로고에 강점이 있습니다.

bitmap to vector conversion


설연휴 심심하실때 한번씩 해보세요. :)

+ Recent posts