OCX :
1) (Object Component eXxhange) MS의 웹 서버에서 다른 애플리케이션이 애니메이션 등의 멀티미디어 기능을 구현 할 수 있도록 해주는 기술. 최근에는 ActiveX로 대체 되고 있으며, 자바와 비슷한 용도로 사용된다.
2) (OLE Control eXtension) MS 윈도우 환경에서 이미 만들어진 커포넌트를 호출해 프로그램에 기능을 추가할 수 있는 기술.
OLE :
(Object Linking Embedding) 대상이 되는 파일 및 프로그램들을 연결해 끼워 넣는 방법. 예를 들어 MS워드를 사용하다가 도표를 끼워 넣거나 특별한 템플릿 기능들을 이용한 문서들을 끼워 넣는 경우를 말한다. OLE에는 링크와 임베딩(embedding)기술이 있다. 링크는 원래 정보에 변경을 더하면, 문서에서도 그 즉시 변경이 반영되는 것을 말하며, 임베딩은 문서를 편집하는 경우 자동으로 데이터를 작성하는 애플리케이션이 작동하는 것을 말한다. OLE애플리케이션은 컨테이너와 서버로 나눠진다. MS워드와 액셀은 컨테이너와 서버 기능을 모두 갖고 있다. 하나의 애플리케이션이 다른 OLE서버와 OLE컨트롤을 제어해 마치 자기 프로그램의 일부인 것 처럼 제어하는 기술을 OLE오토메이션 이라고 한다.
XSL, XML :
1) XML의 정의
XML = Extensible Markup Language 굳이 번역을 하자면 확장가능한 마크업 언어이다 정도가 되겠군요.
☞ Markup Language : 문서의 논리적 구조와 배치양식에 대한 정보를 표현하는 언어
우리 주위에서 Markup Language를 쉽게 찾아볼 수가 있습니다. 바로 지금 여러분이 보고 계신 이 Internet의 이 강의안도 실은 HTML이란 언어로 작성된 것이지요.
HTML의 ML이 바로 Markup Language의 약자입니다.
XML이란 Extensible(확장 가능한) Markup Language(문서의 정보를 표현하는 언어) 즉 문서 자체의 의미보다는 문서가 가지고 있는 정보를 표현하되 사용자 임의대로 확장이 가능한 언어이다... 이것이 바로 XML입니다.
간단한 예를 하나 들어보죠.
<Name> ☜ 제 맘대로 <Name>이란 Tag를 지어냈죠? Extensible!!!
<First>현식</First>
<Last>이</Last>
<Nick>top21c</Nick>
</Name>
자 자 XML의 역사적 배경을 살펴보면서 다시 한 번 XML의 정의를 보도록 하죠. 다음 Markup Language들을 들어본 적이 있으신가요?
☞ SGML(Standard Generalized Markup Language)
☞ HTML(Hyper Text Markup Language)
각각의 뜻을 한 번 알아보기로 하죠.
☞ SGML : 마크업 언어를 생성하기 위한 메타마크업 언어. 즉 다른 마크업 언어를 기술하기 위한 마크업 언어. 마크업을 사용자가 정의할 수 있다.
☞ HTML : 웹페이지를 작성하는데 이용되는 마크업 언어.
자 HTML은 모두 다 잘 알고 계시라라 생각하구요 - 적어도 XML에 도전하시는 분이라면요 - SGML에 대해서 간단히 설명하도록 하겠습니다.
컴퓨터가 보편화되면서 컴퓨터로 할 수 있는 많은 일들이 생겨났죠. 문제는 서로간에 보편적인 데이터 형식이 정해지지를 않았다는 것입니다. A라는 개발자가 애써 만들어 놓은 데이터가 B에게로 가면 무용지물이 되어 버리는 그런 현상들이 발생하기 시작했죠.
따라서 각 개발자들은 정보교환에 효율적인 방법을 찾기 시작했고 그렇게 하여 만들어진 양식이 SGML 입니다. 하지만 SGML의 문제는 너무나도 복잡하고 어려웠다는 것이죠. 물론 이에 비례해서 시간과 비용도 증가하였구요. 따라서 이 SGML에서 필요한 부분들을 추출하고 이것을 HTML처럼 웹에서 사용할 수 있도록 만든 것이 바로 XML입니다.
2) XSL(eXtensible Style Language) 은 XML의 프리젠테이션에 이용되는 스타일시트 언어입니다.
HTML에서 CSS를 사용하는 것과 비슷하다고 할 수 있습니다.
물론 XML에서도 CSS를 사용할 순 있지만, XSL로 대체되고 있는 추세입니다.
이는 XML 관련스펙들이 모두 XML 스펙으로 통합되고 있는 추세와 부합하고 있습니다.
(CSS를 대신하고 있는 XSL과 DTD를 대신하는 스키마 문서의 경우 그 자체로 XML 스펙
을 따르고 있습니다.)
XSL과 관련된 세부 스펙에는 XPATH, XLINK, XSLT, FO 등의 스펙들이 있습니다.
간략하게 소개하자면,
XPATH는 XML 문서 내의 특정 위치를 식별할 수 있도록 표현하는 언어이며, XSLT와
XLINK에서 사용됩니다.
XLINK는 XML 문서 내의 리소스 간의 참조를 생성하고, 표현하는 요소들을 삽입할 수
있도록 해주는 링크 언어입니다.
XSLT는 FO와 함께, XSL의 구성요소로 출발한 스펙입니다. XSLT는 XML 문서를 다른
XML 문서로 변환시 사용되는 스펙이며, XSL은 XSLT외에 포맷팅 규격을 정의하는 XML
어휘집(FO)으로 이루어져 있습니다. 실제 XSL 문서는 FO를 사용하지 않고, XSLT만을
이용하여 작성할 수 있는데, 이는 XSLT 설계시, 독립적으로 사용가능하도록 스펙을
개발하였기 때문입니다.
<xsl:template match="emph">
<fo:inline-sequence font-weight="bold">
<xsl:apply-templates/>
</fo:inline-sequence>
</xsl:template>
위의 경우를 살펴보면, fo:inline-sequence 이라는 포맷팅 객체(Formatting Object)
가 사용되고 있음을 알 수가 있습니다. 위의 템플릿이 어떻게 보여질지는 FO에서의
fo:inline-sequence 의 정의에 따르겠지요.
정리해보면, XSL은 XML의 스타일시트언어인데, 그 중에서 XSLT는 변환 방법에 대한
스펙이고, FO는 화면 브라우징이나, 인쇄와 관련하여 어떤 식으로 포맷팅 될 것인가
에 대한 스펙인 것입니다. 이렇게 보면, XSLT는 FO에 비해서 XML 문서의 구조와 더
욱 밀접한 관련을 맺고 있다고 할 수 있겠죠.
ActiveX : ActiveX는 마이크로소프트가 전략적 객체지향 프로그래밍 기술 및 도구모음에 대해 붙인 이름.
객체지향 프로그래밍이란 기계의 부품형태(ActiveX 등)로 프로그램을 개발해 필요한 부분을
여러 곳에서 사용할 수 있게 하는 것 이다. MS의 인터넷, 인터라넷 기술을 총칭하며, 프로그래밍 언어나
컨트롤만 가리키는 말은 아니고, 인터넷 환경을 위한 클라이언트/ 서버용 소프트웨어 기술로 애플리케이션
과 인트라넷 사이의 상호 운용성을 제공하며 객체 컴포넌트 모델을 기본으로 한다.
DirectX : DirectX는 MS 윈도우에서 실행되는 게임이나 동적 웹 페이지 등과 같은 응용 프로그램에서 그래픽 이미지와 멀티미디어 효과를 만들고 관리하는 데 필요한 응용 프로그램 인터페이스이다. 소프트웨어 개발도구에는 개발자가 사운드를 포함하여 그래픽 이미지, 오버레이, 스프라이트 등과 같은 게임 요소들을 만들거나 통합할 수 있게 하는 도구들이 포함된다. 또한 개발자로 하여금 디스플레이, 오디오 및 기타 다른 입출력 장치들의 드라이버를 만들수 있게 해주는 드라이버 개발도구도 있다.
다이렉트X는 몇몇 함수들이 마이크로프로세서의 도움 없이도 그래픽 가소기 상에서 수행될 수 있도록 하기 위해 설계됐다. 그래픽 가속기 제작자들은 다이렉트X를 위한 특별한 드라이버를 제공한다. 다이렉트X는 대표적인 기능으로 다음과 같은 요소드이 있다.
1) DirectShow : 다이렉트사운드, 다이렉트3D등과 함께 다이렉트X 기술 중 하나로, 멀티미디어 파일의 처리를 전담하고 있으며 엔진을 컴포넌트화 해서 확장하고 제어하기가 쉽다.
2) DirectDraw : 2차원 이미지를 정의하고, 질감의 설정이나 이중 버퍼의 관리(이미지를 변경하기 위한 테크닉) 등을 할 수 있게 하는 인터페이스
3) Direct3D: 3차원 이미지를 만들기 위한 인터페이스
4) DirectSound : 이미지와 사운드를 통합하고 조화시키기 위한 이터페이스
5) DirectPlay : 멀티 플레이어를 지원하는 인터페이스.
6) DirectInput : 입출력 장치들로부터 입력을 받기 위한 인터페이스
OpenGL : (Open Graphics Library) 2차원 및 3차원 그래픽을 위한 컴퓨터 산업계의 표준 API, OpenGL이 있기 이전에는 그래픽 응용 프로그램을 개발하는 모든 회사들은 각 운영체제 플랫폼에 맞게 그래픽 부분을 재작성해야 함은 물론, 그래픽 하드웨어에 대해서도 잘 알고 있어야만 했다. 그러나 OpenGL 그래픽 어댑터를 사용하면 어떠한 운영체제에서도 동일한 효과를 내는 응용 프로그램을 쉽게 작성할 수 있다.
STL : (Standard Template Library) 표준 템플릿 라이브러리는 표준 C++라이블러리의 일부이다. STL은 그 자체가 매우 강력한 권한을 가지고 있으며, 또한 다른 C++라이브러리의 조직화에 중요한 역할을 할 수 있다.
컨테이너(Container), 알고리즘(algorithm), 반복자(iterator)는 STL의 세가지 기본적인 구성 요소이다. STL 컨테이너는 객체의 집합이다. 컨테이너의 예로는 벡터(Vector), 스택(Stack), 큐(Queue), 데크(Dequeue), 리스트(List), 집합(Set), 맵(Map)등이 있다. 좀더 정형화된 언어로 말하자면 STL컨테이너는 데이터 구조이다. STL알고리즘은 컨테이너의 이용을 처리하기 위한 함수이다. 이러한 예로는 컨테이너의 복사, 정렬, 탐색, 합병, 순열등이 있다. STL알고리즘 역시 좀더 형식적인 용어로 말한다면 데이터 구조를 처리하기 위한 프로시저 혹은 절차(recipe)이다. STL반복자는 한번에 하나씩 컨테이너에 있는 객체를 접근 하기 위한 메커니즘이다.
|