현장실습 종료

IT/Postscript 2008. 8. 3. 00:14 Posted by 타돌이
728x90

 지방기업 주문형 인재 양성 사업의 일환으로 7월 한달(실제로는 6월 30일부터 7월 31일까지)동안 GIS관련 업체에서 현장실습을 했습니다.

 가서 처음에 한 일은 POI(Point Of Interest)를 얻기 위한 현장조사에 참여했습니다. 그리고 둘째 날부터는 신주소를 입력하는 작업을 했습니다.

 그렇게 첫주가 지났고, 둘째주부터는 부설 연구소로 갔습니다. 남은 3주 동안 Shapefile Viewer를 만들어보라는 지시를 받고,(단순히 View기능뿐 아니고, 약간의 조건이 더 있긴 했습니다.) 평상시 관심이 있었지만 별로 해보진 않았던 Eclipse SWT를 사용해서 UI를 구성했습니다. 이전에 Shapefile를 처리하는 Java Class들을 짜둔 게 있어서, 실제로 조금 일찍 완성하게 되었습니다.

 셋째주부터 마지막날까지는 WAS와 USN Gateway Middleware사이의 통신을 위한 인터페이스를 개발해 보았습니다. 하지만 XML-RPC 명세서에 나와 있는 것과는 달리 HTTP를 이용할 수가 없었습니다. Body부분만 XML-RPC와 같고, Header가 달랐기 때문입니다. XML-RPC 명세서 Overview에는 분명히

An XML-RPC message is an HTTP-POST request.
라는 문장이 있습니다. 즉, XML-RPC가 HTTP에 따라 통신한다는 뜻이죠. 하지만 제가 본 그 USN Gateway Middleware에는 문서 상에 XML-RPC를 사용한다면서, TCP/IP기반이라고 합니다. 다시 말하면, XML-RPC 명세서에 따라 만든 수많은 XML-RPC Library를 이용할 수 없게 됩니다. 처음에는 그냥 Library를 사용했지만 여러 번 시도해봐도 안 되더군요. 결국엔 Socket 프로그래밍을 통해 Byte단위로 분석하니 그냥 되더군요.

 최근에 자주 느끼곤 하지만, 이로 인해 표준을 지키는 일에 대한 중요성을 또 한번 느꼈습니다. 소프트웨어 개발을 해 본 분들은 모두 아시겠지만 재사용이라는 것은 굉장히 중요합니다. 이러한 재사용성이 성립되기 위해서는 표준을 지키는 것이 필수적이라 생각합니다. XML-RPC 명세서의 내용을 지켰더라면, 그냥 기존 라이브러리를 이용할 수 있었을 것입니다. 그러면 그만큼 개발시간이 단축됐을테지요. 흔히 프로그래머들은 야근을 많이 한다고 인식됩니다. 이런 것부터 조금씩 고쳐진다면 불필요한 야근은 없어지고, 소프트웨어는 더 견고해질 것이라 생각합니다.

 이번 실습에서 느낀 건 이보다 훨씬 많습니다. 하지만 그 중 가장 크게 느꼈던 것은 위에서 언급한 것처럼 "표준의 중요성"이었습니다.