정보기술2007. 7. 23. 11:09

 최근 필자의 주위와, 그리고 필자에게도 비스타에서의 네이티브 프로그램 작성에 대한
많은 포팅 문제점을 보고 있다. 그 중 대부분이 "준비되지 않은" 포팅이라는 점이며,
그점이 가장 큰 문제같기도 하다. 그래서 필자가 느껴온 비스타 호환성 유지를 위한
필수 준수 사항 등을 적어 본다...

 1) 소스 포팅 업데이트가 너무 느리다. (개발자, 팀장, 회사 등등 모두)
    : 바쁜 회사 업무가 필수적인 변명거리가 될 수는 있다.
      하지만 MS 는 귀사의 사정 따위는 일체 상관없이 정신없이(?) 업데이트를 진행해 왔고, 진행할 것이다.
       한국의 코더 여러분들은 윈도에서 개발을 하지 않거나, 또는 무조건 MS 정책을 따라야 하는 두가지
      숙명 중 하나를 선택해야 한다.
      또한 베타 버전의 차기 개발툴이 나올 시점에는 이미 소스 포팅 작업이 일정에 포함되어 있어야 한다.
      그리고 절대 정식 릴리즈 일정에 소스 포팅 업데이트를 진행하지는 말기를 바란다.
      아마도 현실적으로 귀사의 상사가 귀하에게 주는 포팅을 위한 업데이트 기간은 기껏해야 서너달일 것이다.
      (그 기간은 알파 테스팅에도 부족한 기간이 될 것이다... 과감히 새로짜던가, 접어라...)

2) 유니코드 문자열 처리는 이제 필수이다.
   : 윈도우즈 98 의 공식 지원이 종료된 시점에 윈 2000 은 MS 공식 지원 최후의 버전이다.
     따라서 이제 유니코드 지원은 기본이다. (선택이 아니다!!)
     물론 극소수의 윈98 사용자가 있지만, 그들은 과감히 무시하라!!
     (전체의 1%도 안되는 이들을 위해 개발비의 몇십퍼센트를 할당하려는가?!?!
     그리고 이제 곧 윈2000 의 공식 지원조차 종료될 것이다.)
     물론 제너릭 스트링 처리를 모든 소스에 해 왔다면 이야기는 달라진다.
     하지만 그렇게 잘 된 상업용 소스는 거의 찾기 드물 것이다.
    (누구도 회사에서 삼년앞을 보고 코딩하지는 않는다... 삼년 뒤 짤릴지 누가 알겠는가....)

 3) 비스타 리소스 접근 제한에 대해 생각하기  
    :  메니페스트의 asInvoke, highestAvaiable, rerquiredAdministrator 의 처리는 기본이며,
      귀하의 어플리케이션 보안 프로그램이 아닐 경우에는 기본 방침에 따르도록 하라.
       레지스트리는 Current User 의 것만 사용할 것이며, 파일 접근도 %HOMEPATH% 의 것과 그 아하의 것만
      사용하기를 권장한다. ('권장'의 의미는 엄청 중요하다.)
       물론 Program Files 경로 접근은 이제 그만이다.

4) 새로운 secure 템플릿 처리
   : 이제부터는 메모리를 직접 접근하는 언어 계열(c,c++,pascal, etc...)에서
     버퍼 공격에 관한 접근을 하지 않도록 새로운 컴파일러에서는 권장하고 있다.
     아직은 warning 수준이지만, 경고를 에러로 보고 처리할 정도의 소스 포팅이 향후 곧 필요하다.
     (strcpy 등등 의 친숙한 c 계열 함수들은 이제 모두 바뀌어여 한다...
     그리고, 위의 1항의 이야기와 동일하게 하루 아침에 할 수는 없음을 명심하자...)

5) 네트워크 보안
   : 이 문제는 xp sp2 부터 이야기되어 왔다. 사용자가 컴맹 또는 그와 유사한 수준일 경우
     자동화 설정 처리 여부는 더 짜증나는 일이 될 수 있다.

... 현실적인 여러 문제점으로 볼 때, 결코 쉽지많은 않다.
... 하지만 그것은 현역 코더의 숙명이다. ('현역'이라는 말을 강조하자...)
... 그리고 필자의 의견으로는 닷넷으로의 포팅 의견도 존중해 본다.
... 이제 네이티브 어플리케이션은 서버나 보안 어플리케이션을 위한 몫으로
... 넘겨 줄 시기가 오는 듯 싶다...

 

 

Posted by 어쩌다보니 Jay Two

댓글을 달아 주세요