프랑스 카페 기법

오늘 KLDP에 darehani 라는 분이 번역해놓은 “삼바를 만든 방법(How Samba was written)” 이라는 글을 봤다. 저작자는 리버스 엔지니어링을 위해 프랑스 카페 기법을 이용했다고 했는데, 이를 포함하는 넓은 의미의 우리말이 있으니 바로 “삽질”이다.

첫번째 : 상당히 부족하지만 우선 공개되어있는 문서를 본다.
두번째 : 실제로 원래의 서버와 클라이언트가 통신하는 데이터를 살펴본다. 이 때 오류상황도 일부러 발생시켜서 오류 패킷도 살펴본다.
세번째 : 이제 예상할만한 (클라이언트) 데이터를 (원래의) 서버에 다 날려본다. 그리고 반응을 본다.
네번째 : 서버도 새로 만들어보고 원래의 서버와 어떤 차이가 있는지 반응을 본다.

방법은 네가지지만, 그 프로토콜을 이해하려면 엄청난 삽질이 있었을 것으로 예상한다(삼바는 무려 12년간이나 이를 반복해왔다!). 사이다를 만들면서 프로토콜이 정해져있고 통신데이터와 시퀀스만 알아내는 데에도 상당한 삽질을 했던 기억이 있는데, 정말… 대단한 것 같다.

원본글 : http://kldp.org/node/75861

댓글을 남겨주세요