사이드바 영역으로 건너뛰기

게시물에서 찾기분류 전체보기

2개의 게시물을 찾았습니다.

  1. 2004/10/21
    .NET Framework(2)
    달콤한상상
  2. 2004/10/08
    대체 블로그에 쓰이는 XML이라는게 뭐이길래
    달콤한상상

.NET Framework

.NET Framework

출처 : http://www.apmsetup.com/ASP/?pid=140#140 의 이근상님이 올리신 글입니다.


다음은 MS 에서 설명하는 .NET Framework 에 대한 설명 입니다.

■ .NET Framework

Microsoft .NET Framework는 분산된 인터넷 환경에서 응용 프로그램 개발을 간단하게 할 수 있는 새로운 컴퓨팅 플랫폼입니다.
.NET Framework는 코드의 안전한 실행을 보장하는 개체 지향 프로그래밍 환경을 제공하고,
스크립트된 환경의 성능 문제를 없애기 위해 설계되었습니다.

.NET Framework의 주 구성 요소에는 공용 언어 런타임 및 .NET Framework 클래스 라이브러리가 있습니다.

Microsoft ASP.NET은 메모리 관리, 스레드 관리,
엄격한 형식 안전성을 강화하는 원격 및 기타 보안과 견고성을 보장하는 코드 정확도를 구성하는 핵심 서비스를 제공합니다.
코드 관리는 런타임의 기본 원칙입니다.
런타임을 대상으로 하는 코드를 관리되는 코드라 하고,
런타임을 대상으로 하지 않는 코드를 관리되지 않는 코드라고 합니다.

.NET Framework 클래스 라이브러리는 개발자가 ASP.NET 응용 프로그램을 만들 때 사용할 수 있는 포괄적이고,
개체 지향적이며, 재사용 가능한 종류의 집합입니다.

■ 공용 언어 런타임 기능 (Common Language Runtime)

공용 언어 런타임에서는 메모리, 스레드 실행, 코드 실행, 코드 안전성 확인, 컴파일 및 기타 시스템 서비스를 관리합니다.

이 기능은 ASP.net이 호스트하는 공용 언어 런타임시 실행되는 관리되는 코드에 내장되어 있습니다.
관리되는 구성 요소는 시작점(예: 인터넷, 엔터프라이즈 네트워크 또는 로컬 컴퓨터)을 포함하여 여러 요소에 따라 신뢰도가 달라집니다.
이는 관리되는 구성 요소가 동일한 활성 응용 프로그램에 사용되더라도 중요한 기능을 수행할 수도 있고, 수행하지 못할 수도 있음을 의미합니다.

런타임에서는 코드 액세스 보안을 적용합니다.
응용 프로그램은 특정 리소스에 대한 액세스 권한을 부여받을 수 있지만 이 제한을 벗어난 리소스에는 액세스할 수 없습니다.

또한 런타임에서는 CTS(Common Type System)라고 하는 엄격한 종류 및 코드 확인 구조를 구현하여 코드 견고성을 유지합니다.
CTS는 모든 관리되는 코드가 자동 기술되는지 확인합니다.
즉, 관리되는 코드는 소프트웨어 개발에 사용된 언어 컴파일러 종류와 관계없이 다른 종류 및 인스턴스를 사용할 수 있습니다.

또한 런타임의 관리되는 환경에서는 일반적인 소프트웨어 문제를 대부분 제거합니다.
예를 들어 런타임에서는 개체가 더 이상 사용되지 않을 때 해당 개체를 해제하면서
자동으로 개체 레이아웃을 처리하고 개체에 대한 참조를 관리합니다.
이 자동 메모리 관리 기능은 가장 일반적인 응용 프로그램 오류 중 두 가지인 메모리 누수와 잘못된 메모리 참조 문제를 해결합니다.
런타임은 성능 향상을 목적으로 설계되었습니다.
공용 언어 런타임에서는 다양한 표준 런타임 서비스를 제공하지만 관리되는 코드는 절대 해석되지 않습니다.
JIT(Just In Time) 컴파일을 사용하면 모든 관리되는 코드는 해당 코드가 실행되는 시스템의 고유 기계어로 실행될 수 있습니다.
동시에 메모리 관리자는 성능을 더욱 향상시킵니다.

■ .NET Framework 클래스 라이브러리 (.NET Framework Class Library)

.NET Framework 클래스 라이브러리는 공용 언어 런타임과 강력하게 통합된 다시 사용할 수 있는 형식의 컬렉션입니다.
클래스 라이브러리는 개체 지향적이며, 응용 프로그램이 추가 기능을 파생할 수 있는 형식을 제공합니다.
클래스 라이브러리를 사용하면 .NET Framework 형식을 사용하기가 쉬워지고
.NET Framework의 새로운 기능을 익히는 데 필요한 시간이 줄어듭니다.
또한 타사 구성 요소가 .NET Framework의 클래스와 쉽게 통합될 수 있습니다.

.NET Framework 형식을 사용하면 문자열 관리, 데이터 수집, 데이터베이스 연결
및 파일 액세스와 같은 일반적인 프로그래밍 작업 범주를 수행할 수 있습니다.
이 외에도 클래스 라이브러리에는 특수화된 다양한 개발 시나리오를 지원하는 종류가 포함되어 있습니다.

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

대체 블로그에 쓰이는 XML이라는게 뭐이길래

하두 답답하고 궁금하길래 여기저기 찾아봤답니다. ^^

요즘 너무 블로그를 등한시 한게 아닌가 싶네요..

처음에 포토샵강좌를 시작할때만해도 계속 안빼먹고 할수 있을것 같았는데 ㅋㅋ

기대를 하고 지켜봐주시던 분이 혹시 있었다면 정말 죄송합뉘다 ㅠㅠ

너무 빡신 관계로 조금 천천히 올리도록 할게요 ^^


출처 : http://myhome.naver.com/xmlmanager/menu0.php


1. XML 이란?

  참으로 오래간만에 사이트를 다시 열었네요.. 예전의 xmlis.pe.kr로 운영했었는데 사정상 이 사이트로 바꾸게 되었습니다. 지난번보다는 좀더 나은 강좌로 여러분을 찾아가고자 합니다. 그럼, 부족하지만 함 시작해 보기로 하겠습니다.
  이제는 SQL-2000은 보편화되어 많이 사용되고 있습니다. SQL-2000은 DB 차원에서 XML을 지원하기 시작한 거였죠.. 물론 그전에도 타미노나 엑서스였던가요? XML에서 출발한 DB는 있었지만-.- 그런데 얼마전 Oracle XML DB도 발표되었습니다. 자료를 보셨는지 모르겠군요.. 아마도 OTN 사이트에 가면 있을 겁니다.
  어쨌거나 XML은 1998년 2월 W3C에서 첨 XML 표준을 발표한 이래 정말 꾸준히 발전하면서 세인들의 관심을 끌어오고 있습니다. 엄청난 영향력인 셈이죠.. 아마도 이 사이트를 찾으신 분들도 그런 영향을 받지 않았을까 싶네요..
  우연찮게 저는 1998년 말부터 XML을 접하게 되었습니다. 그래서 XParser라는 XML파서도 개발하였구요. 각종 XML관련된 일을 하게 되었지요. 엥~~ 왠 지자랑!!
  그래서 제가 알고 있는 조그마한 지식이나마 첨으로 XML을 시작하는 분들에게 도움을 줄 수 있으면~ 하네요.
  에궁.. 서론이 넘 길었죠.. 자 이제부터 저랑 함께 XML의 세계로 접근해 보자구요!!



XML이 왜 필요하게 되었을까요?

 

웹에서 사용하기에 HTML은 지금도 잘 쓰이고 있습니다. 그죠.. 거기에 자바스크립트, DHTML, CGI, ASP, PHP...
을 통해서 이제는 동적인 페이지의 구성도 가능하죠.. 하지만 그 이면에는 우리도 느끼지 못하는 문제점이 있네요.

 

첫째로 NT-IIS-ASP-MSSQL, LINUX-Apache-PHP-MySQL 무얼 말하려는지 눈치 채셨나요?
바로 호환성입니다. 여기에 지금은 그나마 나아졌지만 초기에 IE와 넷스케이프의 호환도 엄청난 문제였죠.
즉, 정적인 HTML의 기능을 보완하다 보니 각 스크립트, 제품별로 상호호환이 안되는 거죠.

 

둘째로는 홈페이지를 새롭게 개편한다고 해보죠.. 디자인이 바뀌면 HTML페이지의 내용이 모두 바꿉니다.
그죠.. 물론 텍스트니까 복사&붙여넣기를 사용한다고 해도 넘 불편하죠..
즉, 디자인 부분만 바뀌면 되는데,, 데이터부분도 바꾸어야 하는 거죠..

 

셋째로 만약 악보를 웹에서 표현하고 싶다면 어떻게 할까요? 이미지로 그려야겠죠.. 그럼 그 그림을 다른 사람에게 보내면
그 사람이 그 악보를 해석해 낼 수 있을까요? 당연히 하죠.. 사람인데..
하지만 컴퓨터는 해석할 수 없죠... 이미지 프로세싱도 아니고 그림에서 어디가 '도''레''미'인지 컴퓨터가 어찌 알겠습니까?

 

이런걸 XML로 해결할 수 있다는 겁니다.

 

여기에서 잠시만 뻘소리를 좀 하자면, 제가 이렇게 막 XML이 좋다고 설명을 하면 마치 XML을 만병통치약 정도로 생각하는 사람들이 있습니다.
죄송하지만 아직 XML은 만들어지고 있는 언어입니다. 즉, 이론은 모두 나와 있지만 실제로는 제한된 부분만 구현이 되고 있습니다.
아마도 2~3년 내에는 실제로 모든 구현도 이루어 질수 있으리라고는 보지만,, 지금은 일단 추세를 따라가 주는 것이 중요할 듯합니다.
잠시.. 헛소리였습니다... 지송함다..

 

그렇다고 이러한 표준이 XML이 먼저는 아니었습니다. 아실분은 다 아시죠.. SGML(표준화된 일반 마크업 언어)라구요..
SGML은 실제로 정부 기관에서 많이 사용되었습니다. 하지만 넘 덩치가 큰 표준이었고요..
웹이 발달하기 이전에 나온 것이라 웹에 대한 지원이 미약했습니다. 하지만 이것이 바로 XML의 부모인 셈이죠..
XML은 SGML에서 사용되는 많은 기술들을 받아들여서 간소화하고 보완하면서 현재 발전해 나가고 있습니다.
아래 그림을 그걸 간단히 보여주고 있습니다.

 

                           <그림 : SGML과 XML의 관계>

 

자 이제 정리 해 보도록 하죠... 하~~ 역시 말로만 설명하는 건 넘 어렵죠.. 걱정 마세요. 담부터는 예제 중심으로 설명하도록 하죠.
지도 힘드네요.. 말도 잘 못하는 것이 주저리주저리 타이핑하려니 장난이 아니군요.. T__T

 

XML의 장점이 뭐죠?

1. 문서의 내용과 디자인이 완전히 분리 되어 있다는 겁니다. 즉, 문서의 구조와 프리젠테이션의 분리라 할 수 있죠.
문서의 구조는 XML문서를 통해서 트리구조의 구조적인 형태로 나타냅니다. 그리고 출력, 포매팅은 XSL 문서를 통해서 나타낼 수 있습니다.

 

2. 다양한 방식의 링크 기능을 제공합니다. XLink, XPointer를 이용하면 기존 HTML에서 이용하던 하이퍼링크 이상의 기능을 발휘할 수 있습니다.
자세한 내용은 강좌를 진행하면서 설명하도록 하죠.

 

3. 표준화된 DTD를 통해서 모든 분야에서 사용이 가능합니다. 요즘 많이 사용되는 WML, SMIL, SVG등이 모두 XML에 기반을 둔
언어입니다. 이것은 XML의 DTD를 선언하고 모든 사용자가 그 규칙에 맞추어 사용하면 컴퓨터나 사람이 모두 해석할 수 있는 메타 언어가 된다는 거죠.

야.. 갑작스럽게 어려운 용어가 많이 나왔네요.. 이론... 머리가 어지럽네요.. 앞으로 차근차근 제가 아는 것만큼 설명해 드리도록 하죠..


XML 문서의 구조와 포매팅의 구분

여기서는 참고로 XML의 구조와 포매팅의 분리에 대해서 설명을 좀 더 할까 합니다.
자동차를 하나 예로 들어서 설명을 해보죠.. 자동차 음~~ 현대 아반테의 엔진에 대한 설명서를 XML문서로 하나 가지고 있다고 해보죠.
그렇다면 지금 XML 문서는 준비가 되어 있는 겁니다. 그리고 포매팅을 할 수 있는 것이 없는 상태죠.
차 엔진 설명서에는 XML 형태로 아반테의 엔진에 대한 모든 내용이 포함되어 있습니다.
아반테를 생산하는 공장에서는 엔진을 조립하는 방법이 필요합니다.
그리고 차를 수리하는 카센타와 같은 곳에서는 엔진이 고장났을 때 수리하는 방법이 필요합니다.
마지막으로 차량 구입자에게는 아반테 엔진을 사용하는 방법의 설명서가 필요합니다.
이런걸 기존의 미디어라면 모두 각각 만들어야 합니다.
하지만 XML이라면 포매팅만 새롭게 해주면 기존의 XML문서를 이용하여 모두 만들어 낼 수 있습니다.
XML이라는 것이 좀더 매력으로 느껴지지 않으세요?? 안그런가? 쩝... 어쨌던~~
어떻게 그럴수 있을까요?? XSLT라고요.. XML을 변환하는 것에 대한 표준안이 W3C에서 이미 발표된 상태입니다.
각 벤더들이 그에 대한 솔루션을 각각 발표하겠죠..
또한 이 XSLT를 이용하면 다른 미디어로도 출판이 가능하다고 합니다.
즉, 위의 아반테 엔진을......
CD-ROM 버전으로 출판할 수 있구요.
웹에서 사용할 수 있는 형태로 출판할 수도 있구요..
요즘 많이 사용되는 PDA에서 사용할 있도록 나타낼 수도 있답니다.
실제로 제가 본 것은요.. XSL의 포매팅 객체 (Formatting Object)를 이용해서 PDF파일(아크로뱃리더)형식과 HTML과 WAP의
3가지 형태로 출력하는 외국의 사이트를 본적이 있네요.. (http://www.renderx.com/)
이제는 이런 형태의 XML이용이 점차 보편화 되고 있는 추세죠..

첫 강좌는 여기까집니다. 휴~~ 그럼.......   2002/08/01  From 미니



진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크