Kraken PCAP을 만들면서. Nchovy

Kraken PCAP의 용도

순수 개발기간을 계산해보니 어느새 7개월이 좀 넘었다.
그만큼 나에게는 여지껏 만들었던 프로그램 중에서
더욱 더 애착이 가는 프로그램이고 정성이 들어간 프로그램이다.
나에게도 특별한 의미가 있기에 만든 사람으로서 한 자 적어본다.


TCP/IP 스택 설계의 어려움
IP는 그렇다치고, TCP의 여러가지 예외적 상황들 때문에
TCP/IP 스택을 구현하는데 적잖은 어려움을 겪었다.
스펙에 모든 상황이 다 포함되어 있다면 좋았겠으나 그렇지는 않았고-_-

실제 샘플 테스트를 하면서 예외 상황을 찾아볼 수 밖에 없는데
정말 생각하지도 않았던 유형의 예외 상황들이 발생을 하면 스트레스를 많이 받았다.
심지어는 하나의 크리티컬한 예외 상황이 전체적인 코드 설계를
다시금 고려하게 할 정도로 영향을 준적도 있었던 것 같다. 내 기억에는.

물론, 조금씩 고치고 또 고치고 한 결과
지금은 그래도 어느정도 잘 돌아간다고는 할 수 있지만
테스트는 지속적으로 해봐야 할 것이고 개선해야 할 여지는 아직도 남아있다.
그나마 홈형과 랍형의 도움이 없었으면 엄청 더 삽질했을 것이다.  


Kraken PCAP을 만들며
이왕 만들거면 Wireshark처럼 완벽한 캡처링 프로그램을 만들고자 하는 생각으로
혈혈단신(?)으로 시작했던 프로젝트가 어느새 7개월에 접어들었다.
HTTP, FTP, MSN등 L7 디코더도 많이 만들었고
이제는 Kraken PCAP이 제 역할을 좀 한다고 생각한다.

오픈소스라는 특성때문에 소스를 작성하고 커밋할 때마다 부끄러운 마음이 조금씩 든다.
다른 개발자들이 보면 숙련되지 못한 코드작성 혹은 개선해야 할 로직이
눈에 바로 보일지 모른다는 생각에 상당히 스트레스를 많이 받았었다.
Kraken PCAP이라는 프로젝트는 내 이름을 걸고하는 것이니까 더욱 더 그랬던것 같다.

프로그램을 만들 때는 정말 직관적이고 알기 쉽게 만들어야겠다고
교훈을 준 프로그램이기도 하다. 프로그램 작성자인 나를 제외하고는
처음 본 사람들은 분명 이해하기가 쉽지만은 않은 코드이기 때문에.
그렇기 때문에 어느정도 작업이 마무리가 되면 바로 상세하게 문서화를 할 예정이다.


개발자로서 개선되어야 할 점
Kraken PCAP을 만들면서 개선되어야 할 점을 스스로 참 많이 깨달았다.

우선, 코드 로직을 작성하는데 있어서 철저한 검증이 필요하다는 사실이다. 
작은 균열을 무시하면 나중엔 그것이 프로그램의 큰 붕괴를 야기시킨다.
Kraken PCAP 프로젝트를 마치고 새로운 프로젝트를 시작했을 때에는
프로젝트에 필요한 지식들을 충분히 머릿속에 정립한 후에 문서화를 하고
코드 작성을 시작 해야겠다는 생각이 든다.

두번째로, 프로그램 언어를 사용함에 있어서 좀 더 숙련되게 사용을 해야겠다는 점이다.
쉬운코드로 작성해야지 해야지 하면서 해도 이것 붙이고 저것 붙이다보면
처음의 의도와는 달리 난해해지는 경향이 있다. 반드시 극복해야 할 숙제이다.


글을 마치며
생각보다 더 오랜 시간이 걸렸고 아직도 개선이 되어야할 부분이 있다는 것에 대해
랍형과 엔초비 사람들에게 미안한 감정을 많이 느낀다.
그래도 이제 서서히 끝이 보이고 있고
다른 프로젝트를 시작할 수 있다는 기대감은 숨길 수 없다.

사람들이 크라켄에 대해 좀 더 많이 알게되고 사용을 했을 때
손가락질 받지 않는 프로그램이 되길 바란다. 그래도 열심히 만든거니까.

Kraken PCAP을 만들면서 힘든 점도 많았지만 그래도 참 고맙다.
부족한 점을 진짜 많이 깨닫게 해주어서 더 그런것 같다.

행여나 개선할 부분이나 버그가 발견되면
언제든지 mindori@nchovy.com으로 말씀해주시면 감사하겠습니다.

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://mindori.egloos.com/tb/2609509 [도움말]

덧글

  • xeraph 2010/06/20 17:18 #

    ㅋㅋㅋ 미래가 더 기대됨
  • 민돌이 2010/06/21 15:48 #

    랍설리 한번 달아보자. 낚이나.
  • 홈쥬인 2010/06/20 23:54 #

    이 마치 책 마지막장에 나오는 맺음말 같은 상투적인 포스는 무엇인가...
  • 민돌이 2010/06/21 15:45 #

    내가 봐도 좀 그런 감이 없지않아 있음 ㅋㅋㅋㅋ
  • 민돌이 2010/06/21 15:45 #

    아. 근데 홈횽이 바톤 던져준거 언제 작성하지?
※ 로그인 사용자만 덧글을 남길 수 있습니다.