MS가 OOXML 명세를 표준안으로 제안한 뒤로 많은 논란이 있었습니다. 정치적, 기술적 이유를 들어서 찬반이 갈려있지만, 직업이 직업인지라 기술적인 이유가 먼저 눈에 들어옵니다.

 MS만이 구현 가능한 표준이기에 우리는 OOXML을 거부해야한다는 아주 간단한 말이외에 어떤 말이 필요할지 모르겠습니다.
 이번에 IBM의 DeveloperWorks에 올라온 글 중에서 OOXML에 대한 글이 있어서 소개하려합니다.

원문 : OOXML: 뭐가 그리 대단한가? (한글)

OOXML 명세를 놓고 상당한 비평과 찬사가 동시에 쏟아졌습니다. 덕택에 많은 사람이 무슨 영문인지 의아해 하고 있습니다. 이 기사는 (정치적인 입장이 아니라) 기술적인 측면에서 OOXML을 표준으로 취급해서 안 되는 이유를 밝힙니다.


 그리고 OOXML안의 철저한 검증을 요구하는 서명 운동을 하고 있습니다. 한번 가셔서 글도 읽어보시고, 동의하시면 서명 운동에도 참가해주세요.
서명하러가기

Office Open XML(OOXML)의 ISO 최종 투표에 즈음하여

한국 대표단에게 보내는 글

본 서명은 Microsoft가 제안하여 ECMA 376 표준이 된 Office Open XML(OOXML)ISO JTC-1 최종 투표를 앞두고 한국 대표단이 OOXML의 보완 사항을 신중히 검토하여 투표해 줄 것을 촉구 합니다.

앞서 2007년 9월 ISO JTC-1 위원회 1차 투표 시 아래와 같은 이유로 한국 대표단에게 1,000여명의 서명을 받아 OOXML 표준안에 대해 반대 투표를 해 줄 것을 촉구한 바 있습니다.

  • OOXML안은 대체할만한 다른 표준안이 존재 한다.
  • OOXML안은 불완전 하며 플랫폼 종속적이다.
  • OOXML안은 모호한 특허 문제 때문에 제 3자 구현이 제한된다.
  • OOXML안은 국내 다양한 S/W 개발 환경을 제한할 것이다.

이에 한국 대표단은 1차 투표에 반대표를 행사하면서 총 23가지의 수정 요청 사항을 제출 하였으며, 이제 마지막 투표를 앞두고 있습니다. 이에 아래 서명을 한 한국 소프트웨어 개발자 일동은 아래의 사항에 동의 합니다.

1. 한국 대표단이 제기한 수정 요청 사항에 동의 한다.

한국 대표단의 수정 요구 사항을 요약 하면 크게 아래 4가지 사항과 같습니다.

  1. OOXML 표준안이 기존 ODF와 플러그인이 아니라 표준 스펙 그 자체로 호환성을 유지하도록 수정해야 한다.
  2. OOXML 표준안의 IE 기반 기술 규격이 리눅스나 Firefox, Safari, Opera 등의 브라우저도 지원 해야 한다.
  3. OOXML 표준안 중 12개의 MS Office 레거시 스펙을 좀 더 자세하게 설명해야 한다.
  4. OOXML 표준안 중 VML 및 DrawingML 등 기존 표준이 있는 부분을 삭제해야 한다.

2. 한국 대표단의 신중한 기술적 검토를 요청 한다.

한국 대표단이 1차 투표 이후 수정 보완된 OOXML 표준안이 당시 요청한 수정 요청 사항과 부합 하는 지 정확하게 검토해 주실 것을 요청 드립니다.

  1. OOXML 표준안에 대한 기술적 검토가 충분히 이루어 지길 기대한다.
  2. OOXML 표준안에 대한 수정 요청 사항이 충분히 받아들여졌는지 검토해주길 기대한다.
  3. OOXML 표준안에 대한 수정 요청 사항이 100% 받아들여지지 않았을 경우 최종 투표에서도 반대 투표를 해주길 촉구한다.

 최근에 IBM DeveloperWorks에 올라온 글중에서 PHP 관련 글을 소개하려합니다.
"PHP에서 풀(pull) 방식으로 XML 구문을 분석하는 방법 (한글)  스트리밍 방식으로 메모리 효율을 높인다"라는 제목의 글은 PHP 5에서 추가된 XMLReader 라이브러리를 이용하여 글의 제목처럼 메모리 효율을 올리는 방법에 대한 글입니다.

PHP가 5 버전에 이르러서 많은 변화가 있었는데 실무에서 PHP 개발을 하지 않은지가 오래되서 그런지(요 2년사이에는 기능 수정하는 정도만 했었습니다.) XMLReader라는 라이브러리는 좀 생소하군요.

원문 : PHP에서 풀(pull) 방식으로 XML 구문을 분석하는 방법 (한글)  (부제 : 스트리밍 방식으로 메모리 효율을 높인다)

 아래는 문서의 앞부분을 발췌한 것입니다.

PHP 5는 XML(eXtensible Markup Language)을 읽는 클래스인 XMLReader를 새롭게 지원한다. SimpleXML이나 DOM(Document Object Model)과는 달리 XMLReader는 스트리밍 모드에서 동작한다. 즉, 문서를 처음부터 끝까지 읽어들인다는 뜻이다. 또한 문서를 끝까지 읽기 전에 이미 읽어들인 부분만으로도 작업이 가능하다. 따라서 속력이 매우 빠르고, 효율성이 높으며, 메모리가 크게 절약된다. 처리할 문서가 클수록 메모리 효율과 속력은 더욱 중요한 요인이다.

libxml

여기서 소개하는 XMLReader API는 Gnome 프로젝트의 C/C++용 libxml 라이브러리를 사용한다. 구체적으로 보면 libxml의 XmlTextReader API를 호출하는 PHP 레이어일 뿐이다. XmlTextReader는 .NET의 XmlTextReaderXmlReader 클래스를 모델로 삼았다(코드를 공유하지는 않는다).

푸시(push) 모델을 사용하는 SAX(Simple API for XML)와는 달리, XMLReader는 풀(pull) 모델을 사용하는 구문분석기다. 즉, 여러분이 만든 프로그램에 통제권이 있다는 뜻이다. 구체적으로 설명하자면, 구문분석기가 프로그램으로 이벤트를 밀어주는 방식이 아니라, 프로그램에서 다음 이벤트를 명시적으로 가져오는 방식이다. 프로그램이 발생하는 이벤트에 반응하기보다 프로그램에서 내용을 요청한다고 보면 된다. 디자인 패턴 관점에서 보면, XMLReader는 Observer 패턴이 아니라 Iterator 패턴을 구현한 클래스라고 하겠다.




 이번에도 IBM DW의 기술 문서중에서 Ajax관련 글을 소개하려합니다. 정말 Ajax가 대세...
Ajax와 XML을 이용해서 YouTube같은 멀티미디어 서비스를 제공하는 사이트에 적용된 기술을 설명하고 있습니다. PHP에 Ajax 기술을 적용해서 예를 들고 있죠.
한번쯤 읽어두면 도움이 될 거라 생각합니다. ^^

원문 : Ajax와 XML: 미디어용 Ajax (한글)(부제 : Ajax 기술을 사용하여 영화와 슬라이드 쇼 보여주기)

2007 년 12 월 18 일

광대역, 미디어, 영화, 이미지, 사운드 드라이브는 Web 2.0에 일대 혁신을 가져왔습니다. 미디어에 PHP와 Asynchronous JavaScript™ + XML (Ajax) 기술을 결합하는 방법을 배워봅시다.

웹 애플리케이션의 새로운 조류를 가장 잘 드러내는 사이트가 무엇이냐고 묻는다면, 대부분 YouTube라고 대답할 것이다. 이 사이트는 뚜렷한 방식으로 신 기술을 채택했을 뿐만 아니라, 우리가 미디어를 보는 방식과 미디어와의 관계를 변화시킨 사이트라고 할 수 있다. 주요 이야기들이 기존의 전통적인 미디어에 나타나기 전에 YouTube에서 발생하고, 그렇지 않을 때에는, YouTube는 하나의 큰 TiVo처럼 작동한다.


필자는 Jack D. Herrington이라는 20년 경력의 소프트웨어 엔지니어입니다.
 Code Generation in Action, Podcasting Hacks, PHP Hacks등의 책을쓴 사람이네요.

+ Recent posts