반응형

Microsoft TechNet 에 올라온 글이다. 올라온 날짜는 2000년 4월 (ㅠ.ㅠ 오래도 됐다) ASP 가 꽤 오래 된 언어이기도 하지만, 여전히 사용하고 있는 싸이트들이 많다. 내가 운영하는 포스도 그중 하나이며 성능 향상의 팁을 읽으면서 지금 구현되어 있는 싸이트틑 얼마나 팁과 일치하게 구성되었는지 돌아보게 되었다.

http://www.microsoft.com/korea/technet/iis/tips/asptips17_29.mspx

링크에 가면 자세한 내용이 있으며 여기서는 목차만 소개하기로 하겠다.
  1. 자주 사용되는 데이터는 웹 서버에 캐시하십시오.
  2. 자주 사용되는 데이터는 응용 프로그램이나 세션 개체에 캐시하십시오.
  3. 데이터 및 HTML은 웹 서버 디스크에 캐시하십시오.
  4. 비 agile 구성 요소는 응용 프로그램이나 세션 개체에 캐시하지 마십시오.
  5. 데이터베이스 연결은 응용 프로그램이나 세션 개체에 캐시하지 마십시오.
  6. 세션 개체를 올바르게 사용하십시오.
  7. 코드를 COM 개체에 캡슐화하십시오.
  8. 최신의 리소스를 얻어 신속하게 릴리스하십시오.
  9. 독립 프로세스 실행을 통해 성능과 안정성을 적절히 안배하십시오.
  10. Option Explicit를 사용하십시오.
  11. 로컬 변수를 하위 루틴 및 함수에 사용하십시오.
  12. 자주 사용되는 데이터를 스크립트 변수에 복사하십시오.
  13. 배열 크기 재정의를 피하십시오.
  14. 응답 버퍼링을 사용하십시오.
  15. 인라인 스크립트 및 Response.Write 명령문을 일괄 처리하십시오.
  16. 실행 시간이 긴 페이지를 만들 때 Response.IsClientConnected를 사용하십시오.
  17. 태그를 사용하여 개체를 초기화하십시오.
  18. TypeLib 바인딩을 ADO 및 기타 구성 요소에 사용하십시오.
  19. 브라우저의 유효성 검사 기능을 활용하십시오.
  20. 루프 형식의 문자열 연결을 피하십시오.
  21. 브라우저 및 프록시 캐싱을 사용하십시오.
  22. 가능하면 Response.Redirect가 아닌 Server.TRansfer를 사용하십시오.
  23. 디렉터리 URL에 후행 슬래시를 사용하십시오.
  24. 서버 변수 사용을 피하십시오.
  25. 최신 구성 요소로 업그레이드하십시오.
  26. 웹 서버를 조정하십시오.
  27. 성능 테스트를 수행하십시오.
  28. 관련 리소스 링크를 읽어보십시오.
반응형

'초짜 IT보이 서바이벌 스토리 > ASP' 카테고리의 다른 글

DateDiff() 날짜 계산  (0) 2009.01.20
ServerXMLHTTP 과 xmlHTTP 차이..?  (0) 2008.11.07
Trim  (0) 2008.09.16
asp Request 관련 Server 변수  (0) 2008.09.05
이미지 사이즈 바꿔주는 JavaScript  (0) 2008.04.28
반응형
이건 정말 나만 몰랐네 시리즈를 내야 하는걸까? ㅋㅋ

이제껏 TRIM 을 사용하면서 스트링 TRIM 을 하면 스트링내 모든 빈 공간들을 TRIM 해주는 거라 생각했는데, 그게 아니다.

예를 들면

dim ExString
ExString = " hello world    "
TrimStringExString = Trim(ExString)
response.write TrimStringExString

결과물은
"hello world" (여기서 공간이 없어진걸 보이기 위한 따옴표일뿐 정말 따옴표는 보이지 않는다.)
즉 앞뒤 공백이 모두 없어진다.
난.. "helloworld" 이렇게 나오는줄 알았는뎀..

ㅡ,.ㅡ 정말 나만 몰랐군.. 나만.. 몰랐어~
사용자 삽입 이미지
반응형
반응형
사용자 삽입 이미지
asp 페이지에서 Request 객체의  ServerVariables (서버변수)를 불러들여 접속한 사용자 정보를 
읽어드릴수 있다는걸 오늘 알게 되었다 나만 몰랐네 ㅡ,.ㅡ
사용자 삽입 이미지


W3School 싸이트에서 아래와 같은 사용자 정보들을 볼 수 있다.




사용자 브라우저: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; InfoPath.2) <%Response.Write(Request.ServerVariables("http_user_agent"))%> 사용자 IP address : 58.230.133.8 IP address DNS Look Up: 58.230.133.8 페이지 여는 방식: GET 서버의 도메인 이름: www.w3schools.com 서버 포트 번호: 80 서버측 소프트웨어: Microsoft-IIS/6.0
코드는 다음과 같다.
반응형
반응형
오늘 문득 궁금한점이 생겨 인터넷을 뒤져보았다.
ViewState 와 Session 의 장단점이 뭘까?

답변.. 넘 멋쥔미~ 아래 내용은 Devpia 에 나와 같은 질문을 한 분 글에 답변을 다신 서학수님의
답변이다.

좀더 ViewState 와 Session 에 대해 공부해야 겠지만, 사용방법을 제외하고 실용적인면에서 나의 가려움을
멋드러지게 긁어준 답변이다.

"Devpia 서학수 (tech2001) 의 답변
각각의 장단점이 모두 있습니다.

Session을 쓰면 서버의 메모리에 있으므로 속도가 제일 빠릅니다. 하지만, 세션마다 메모리를 차지한다는
문제점이 있구요.
Cookie를 쓰면 메모리를 차지하지 않습니다만, 노출의 우려 및 사용자의 인터넷 옵션에 따라 상황이 변하는
문제점이 있구요.
ViewState를 쓰면 메모리를 차지하지 않고, 사용자의 옵션도 상관없지만, 파일의 사이즈가 커져서 전송속도에
영향을 주는 문제점이 있습니다.

상황에 따라서 다 장단점이 있습니다."

Session Validation

사용자 삽입 이미지

ViewState Provider

사용자 삽입 이미지
반응형

'초짜 IT보이 서바이벌 스토리 > ASP.Net' 카테고리의 다른 글

c#.Net Transaction Scope 사용하기  (0) 2010.04.27
ASP.NET MVC 패턴 소개 (C#)  (0) 2009.11.05
ASP.NET MVC 1.0  (0) 2009.04.20
ASP.NET 공부시작~  (1) 2008.07.14
ASP.Net vs VB.Net  (0) 2008.03.04
반응형
현재 사용하는 SQL 이 2개있다.
SM 하는 서버는 3대이지만 2대는 2005 이고 1대는 2000 이다.

둘다 별 다를꺼 없겠지 하고 사용해 왔지만 오늘 조회해 보면서 다른점중 하나가 눈에 띄었다.

2000 에서는 프로시저에서 인자 받을때 넘어오는 값이 null 이면 Null 로 받아 버린다.
2005 에서는 프로시저에서 인자 받을때 넘어오는 값이 null 이면 '  ' (빈칸) 으로 받는다.

이때 프로시저에서 인자의 값이 NULL 일때 빈칸으로 받아줘도 되고, 넘기는 인자를 빈칸으로 보내줘도 상관은 없더라.

Null 과 빈칸의 차이는 크다. 따라서 Sql 2005 프로시저로 인자 넘길때는 별로 그닥 신경 안썼던 부분이지만 2000 서버에서는 신경 써줘야 할 부분이다.

뭐 주위에서는 설정을 해주는 부분이 있을지도 모른다고 찾아보라고 하셨는데.. 귀차니즘의 극을 달리고 있는 요즘으로써는.. 패수~를 때리고.. ㅋㅋㅋ

여하튼 DB 쪽은 신경 써주시는 분이 있어서 수월하게 일을 하고 있고 차츰 적응해 가고 있어 재밌다.
반응형
반응형

사용자 삽입 이미지
대부분의 브라우저는 내부적으로 XML 파서(Parser)를 가지고 있어 XML 을 읽고 쓰기가 가능하다.
파서는 XML 을 JavaScript 에서 접근 가능한 객체로 만들어준다.
아래 있는 예제는 플렛폼이나 브라우저의 상관없이 최근나온 브라우저에서 모두 작동한다.

예제)
XML 파일을 로드(Load)하고 분석(Parse) 하기 : http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest
XML String 을 로드하고 분석하기 : http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest2

1) XML 파싱(Parsing)

파서(Parser) 는 XML 을 메모리로 읽어들여 자바스크핍트(java Script) 로 접근가능한 XML DOM 객체(Object) 로 변환시킨다. XML DOM 관련해서는 9번에서 다룰 예정이므로 여기선 패수~

Microsoft 사의 XML 파서와 다른 브라우저들의 파서와 다른점이 있다면 Microsoft 사의 파서는 XML 파일과 XML String(텍스트: text) 둘다 로드 시킬 수 있도록 지원이 되지만 다른 브라우저에서는 각각의 다른 파서를 사용한다. 하지만, 모든 파서들은 XML 의 Tree, 접근, 삽입 그리고 삭제 노드들(node: Element) 와 attribute 오갈수 있는 함수를 가지고 있다. (ㅡ,.ㅡ 써놓고도 뭔소리인지 원..)

참고로 XML 파싱을 이야기 할때는 XML Element 보다는 "노드(Node)" 라는 표현을 많이 쓴다.

2) Microsoft 사의 XML 파서로 XML 로드 하기

Internet Explorer 5.0 이상되는 브라우저에 기본적으로 탑재되어 있으며 다음 Javascript  부분에서 XML 문서("note.xml") 을 파서로 로드 시킨다.

var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("note.xml");

예제설명:
    a) 첫줄을 보면 비어있는 Microsoft XML 문서 객체를 만들어낸다.
    b) 그담은 전체적으로 문서가 읽어드리기전에 파서가 스크립트 실행을 하지 않도록 비동기로딩을 꺼버린다.
    c) 마지막은 "note.xml" 이라는 XML 문서를 로드하라고 파서에게 전달하는 부분이다.

var parser=new DOMParser();
var doc=parser.parseFromString(txt,"text/xml");

예제설명:
    a) 첫줄은 비어있는 XML 문서 객체를 만들어낸다.
    b) txt 라는 string 을 로드하도록 파서에게 전달한다.

인터넷탐색기(Internet explorer) 는 loadXML() 메서드를 사용하여 XML 스트링을 분석(Parse) 한다. 다른 브라우저들은 DOMParser 객체를 사용한다. (ㅡ,.ㅡa 뭔소린지 정말 모르겠지만 이해가 되겠징..)

3) 도메인 간 접근
보안의 이유로 요즘 나오는 브라우저들은 도메인간의 접근을 막고 있다. 이 말은 만약 웹페이지와 XML 파일이 모두 읽어져야 한다면 하나의 서버에서 둘다 있어야 한다는 뜻. (글쿤)

4) XML DOM

9번에서 아마 접하게 될듯 싶다. XML 문서 객체(XML DOM) 에 접근하여 데이터를 읽어 드리는 방법을 알아보도록 하겠다.

<잡다>
XML 공부를 하면서 느낀점.. 뭐 봐도 html 과 다른건 잘 모르겠지만, asp.net 강좌를 보면 web.config 파일이 XML 로 되어 있는듯.. 싶다.. 뭐 정확한건 나중에 보면 알겠지 모... asp 강좌는 6개 봤다. 이궁.. 눈아프고 머리아프당.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형

그동안 짬짬히 해보려고 했던 ASP.NET

.NET 으로 이제야 넘어가는구낭~ 이구이구.. C# 은 대충 봤는뎀, OOP 쪽이랑 InterFace 부분 빼고는 그다지 어려운 부분이 없이 수월하게 넘어가서 기분이 좋다.

야구겜이랑 메모장, 전자계산기.. 그리고 .net 으로는 게시판 따라만들기 까지 해봤고..
이젠 본격적으로 ASP.NET 해보려고 한다.

OOP 랑 InterFace 부분은 대충 이해는 했지만, 응용부분에서 조금 문제가 있는듯.. 선배가 보여준 인터페이스와 OOP 응용된 전자계산기를 보고 ㅠ.ㅠ OTL
하지만 일단 나에게 필요한건 ASP.NET 이당..

뭐 여하튼 XML 기초도 대충 끝냈고, ASP.NET 과 함께 병행해도 될듯 싶다.
공부할때 요즘 유용하게 보고 있는 강좌는 http://www.asp.net/ 에 있는 기본적인 asp.net 강좌.

ASP.NET 이 끝나면 AJAX 로 넘어가야징~

반응형

'초짜 IT보이 서바이벌 스토리 > ASP.Net' 카테고리의 다른 글

c#.Net Transaction Scope 사용하기  (0) 2010.04.27
ASP.NET MVC 패턴 소개 (C#)  (0) 2009.11.05
ASP.NET MVC 1.0  (0) 2009.04.20
ViewState 와 Session 의 장단점  (0) 2008.08.25
ASP.Net vs VB.Net  (0) 2008.03.04
반응형
사용자 삽입 이미지
이번엔 나머지 부분들을 통합해서 보기로 했다. Javascript 쪽과 그 외 부분들이 궁금해 죽겠어서 그런거라..
러쉬러쉬.. :) 하지만 내용 부분중 빼먹은 부분은 없슴다.
모든 내용의 출처는 http://www.w3schools.com/ 이다.

1. Validation (유효성 점검)
모든 문법에 맞는 XML 과 그렇지 않는 XML 을 살펴보기로 한다. 그전에 지난번에 봤던 문법을 요약해 보면
   a) Root Element 가 있어야 한다.
   b) 끝부분 태그가 있어야 한다.
   c) 소대문자를 가린다
   d) 태그 순서와 배열을 지켜야 한다.
   d) Attribute 의 값은 따옴표 안에 들어 있어야 한다.
이다.

정확하게 맞는 XML 을 보면 이제껏 보아온 XML 예제이다. 그 Note 예제..
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

자 그럼 위의 XML 이 유효한 XML 이란 무엇일까? DTD (Documnet Type Definition: 문서형 정의) 법에 맞는 XML 이다.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

DOCTYPE 선언이 위의 샘플에 들어있다. 외부 DTD 파일을 참조한다는 뜻.

2) XML DTD
여기선 DTD 가 무엇인지 그리고 예제만 보고 넘어간다. 이후에 XML DTD 관련해서 따로 올릴 예정이다.
DTD 의 목적은 XML 문서의 구조에 대한 정의에 따라 만들어진 Element 들의 사용을 관리하기 위해 사용된다.

<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>

3) XML Schema
DTD 대신 사용할 수 있는건 W3C 를 기반으로 한 Schema 이다. 여기서도 예제만 보고 넘어간다.

<xs:element name="note">
<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>

4) 유효성 검사기(Validator)
XML 문서에 에러가 있으면 XML 어플리케이션은 멈추게 된다. XML 소프트웨어는 작고 빠르고 호환성이 있어야 하기 때문이다. HTML 브라우저는 마지막 태그가 없다던가 하는 에러가 있더라도 만들어진 문서를 사용자에게 보여준다. 하지만 XML 에서는 에러가 허용되지 않는다.
모 국내에도 있겠지만서도 W3School.com 에 가면 XML Validator 기능이 있다. DTD 의 유효성 체크는 인터넷탐색기에서는 되지만 Firefox, Mozilla, Netwcape 그리고 Opera 에서는 지원을 안한다.

5) XML 문서보기
XML 문서에는 Data 를 보여주기 위한 정보가 포함되어 있지 않다. 그렇기 때문에 문서를 열게 되면 아래와 같이 열리게 된다. 문서의 내용을 보고 싶다면 CSS, XSLT 그리고 JavaScript 를 사용해야 한다.

그럼 CSS (Cascading Style Sheets) 를 사용하여 XML 문서를 보는 법을 알아보겠다.
CSS 파일 - http://www.w3schools.com/xml/cd_catalog.txt
XML 파일 - http://www.w3schools.com/xml/cd_catalog.xml
그리고 CSS 가 적용된 XML 파일 - http://www.w3schools.com/xml/cd_catalog_with_css.xml

맨 마지막 파일을 보면 원하는데로 XML 데이터들이 CSS 정의대로 보여지고 있다. XML 문서에 아래의 예제와 같이 CSS 선언이 되어 있다.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
.
.
.
.
</CATALOG>   

CSS 를 사용하는 방법은 많이 사용되고 있는 방법이 아니며, W3C 에서는 XLST 사용을 권하고 있다.
그렇다면 XSLT (eXtensible StyleSheet Language Transformations) 을 살펴보기로 하자. XSLT 는 CSS 보다 좀더 복잡하다. XSLT 를 XML 에 사용하는 방법중 하나는 브라우저에 보여지기 전에 HTML 로 변환하는 방법이다.

XML 예제파일 - http://www.w3schools.com/xml/simple.xml
XSLT 예제파일 - http://www.w3schools.com/xml/simple.xsl
XSLT 가 적용된 XML 보기 - http://www.w3schools.com/xml/simplexsl.xml

역시 마지막 파일에서도 위의 CSS 선언과 마찬가지로 <?xml-stylesheet type="text/xsl" href="simple.xsl"?>
부분이 선언되어 있다. XSLT 관련되어서는 나중에 좀더 알아보기로 하겠다.

XSLT 변환은 브라우저에서 XML 을 읽으면서 시행이 된다. 다른 버전의 브라우저에서 XSLT 를 선언한 XML 이 다르게 보이는 경우가 있기 때문에 서버측에서 XSLT 가 처리되도록 하면 문제 해결이 된다.

서버측에서 처리된 XSLT http://www.w3schools.com/xml/simple.asp
웹서버에서 처리가 되었든 브라우저에서 되었든 변환된 결과는 같다.

다음은 XML Javascript 관련해서 읽어보도록 하겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

8. XML Parser(파서)  (0) 2008.07.16
6. XML Attributes  (0) 2008.07.09
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형

사용자 삽입 이미지
잠깐 짜투리 시간이 남아 XML Attributes(어트리뷰트) 관련해 올려본다.

올리는 모든 글은 http://www.w3schools.com 에서 읽은 내용이다. 읽다 보면 알겠지만, 처음 몇개는 읽으나 마나한 사항들인듯.. 왜냐하면.. 나중에 나온다. ^^a 읽으면서 몇줄 안되지만 그래도 허무했다눈~



1. XML Attribute 란?
HTML 과 동일하게 시작하는 태그에서 Attribute 를 지정할 수 있다. Attribute 는 Element 의 정보를 좀더 더해주는 기능을 한다.
HTML 의 예로
<img src = "computer.gif">
<a href = "demo.asp">
여기서 img 라는 Element 의 src 라는 Attribute 정보가 더해진것을 볼 수 있다.
Attribute 는 데이터와 상관없는 정보를 보여주기도 하는데, 아래의 예처럼 file type 은 데이터와 무관한 정보이지만 element 를 사용하려는 소프트웨어에겐 중요한 역활을 한다.
<file type = "gif"> computer.gif </file>

2. XML Attribute 는 따옴표를 사용해야 한다.
작은 따옴표든, 큰 따옴표든 반드시 사용해야 한다. 아래의 예를 보자
<person sex="female">

<person sex='female'>

만약 attribute 이름 자체적으로 따옴표가 있다면 작은 따옴표를 사용한다.

<gangster name='George "Shotgun" Ziegler'>
<gangster name="George &quot;Shotgun&quot; Ziegler">

3. Element vs. Attributes
다음 2개의 예를 살펴보자
<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

첫번째 예에서는 sex 는 Attribute 이다. 그리고 두번째 예에서는 Element 이다. 둘다 같은 정보를 보여준다.
둘 중 하나를 언제 어떻게 사용해야 하는지에 대한 규칙은 없지만 글쓴이의 조언에 의하면 Element 를 사용하는것이 더 좋다고 하며 Attribute 는 왠만하면 사용하지 말라고 한다. 다음 3개의 예중 맨 마지막이 가장 element로는 최적화 되어 있는듯..
<note date="10/01/2008">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(Date 를 Element 로 빼면 아래와 같다)

<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

(아래는 Element 최적화된 코드)

<note>
<date>
  <day>10</day>
  <month>01</month>
  <year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note> 

4. 왜 Attribute 의 사용을 절제해야 할까?
Attribute 를 사용하면 다음과 같은 문제가 발생한다.
   a) Element 에서는 가능하지만 Attribute 에서는 하나 이상의 값을 가질 수 없다.
   b) Element 에서는 가능하지만 ATtribute 에서는 Tree 구조를 가질 수 없다
   c) 그리고 Attribute 는 이후를 위한 확장성이 떨어진다.
이 외에도 읽기 어렵고 유지하기도 어렵다. 그럼 완전히 배제해야 할까? 아니다.. 이왕 사용하는거 데이터와 관련된 부분은 Element 로 그리고 데이터와 관계없는 정보들은 Attribute 를 사용하는게 바람직 하다.

5. MetaData 의 XML Attribute
Element 에 ID 참조를 지정할 때가 있따. 이 ID 들은 HTML 의 ID 과 마찬가지로 XML element 을 표식하기 위해서이다.

예에서 사용된 ID들은 각각의 NOTE 를 구분하는 표식 역활을 하며 Note 내용의 일부분이 아니다.
Metadata(데이터의 데이터)는 Attribute 로 저장되어야 하고 데이터 그 자체는 Element 로 저장되어야 한다는게 글쓴이의 뜻이라네..

다음에 올리는 글이 XML 초급 첫단계가 끝나는 마지막이다. 에효 이제 초급이 끝나는구먼..
유효성(Validation), 코드보기(Viewing), CSS, XSLT 를 묶어서 설명될 예정이다.  ㅡ,.ㅡ 좀 졸립네.. 아웅.
반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

8. XML Parser(파서)  (0) 2008.07.16
7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
5. XML ELEMENT  (0) 2008.07.06
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
반응형

사용자 삽입 이미지

1) 자 그럼.. Element 란 무엇일까에 대해 요소요소 알아보기로 하자.. ㅡ,.ㅡa

XML Element 는 태그의 시작점 부터 끝까지의 모든것이라 할 수 있다고 씌여 있는데 뭔말이래.. ㅡ,.ㅡ
이해가 안가 다시 한번 읽어봤다. 그래도 이해가 안가는군.. 패수~

Element 는 다른 Element 를 가질 수 있고, 그냥 텍스트 형으로도 가질 수 있고 또한 모두 가질 수 있다.
아.. 번역이 안되기 시작한다.. 눈이 감긴다... 넘 오래 영얼 봤다.. 전에도 이야기 했지만 여기 있는 내용들은 http://www.w3schools.com 을 읽으며 나름대로 정리한 것으로 싸이트 가보면 알겠지만 몽창 영어다.. 젠장.
편하게 한글로 되어 있는거 봐도 좋겠지만.. 한글로 읽으면.. 퍼올 필요가 없자네.. ㅡ,.ㅡ 즉 점수용이다 이거쥐.. 글올리는 재미? 나만의 XML 정리? 뭐 그정도? 이해가 안가니 또 딴소리 한다..

자 예제를 보며 이해를 해보도록 하자.

<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>

문법을 일단 읽고나니 예제 보기 쉽구먼.. 위에서 언급한 "Element 는 다른 Element 를 가질 수 있고, 그냥 텍스트 형으로도 가질 수 있고 또한 모두 가질 수 있다." 라는 부분이 자연스레 이해가 된다.
즉 <book> element 는 Category 라는 Attribute 를 가지고 있고 <bookstore> 와 <book> 은 <title><author><year><price>라는 element 를 가지고 있다. 대충 난 이해가 되는뎀..
읽는사람들은 이해가 내가 쓴 글만 보고 이해가 될지 의문이넴.. ^^ 일단 패수~

2) 다음은 XML 의 이름 붙히기(네이밍:Naming) 규칙이다.
여기서 네이밍이란 태그 이름인거 같은뎀.. 아마 그럴꺼다.. ㅋㅋ
    a) 모든 태그의 이름은 글자, 숫자 그리고 다른 문자를 포함한다.
    b) 모든 태그의 이름은 숫자나 구두문자로 시작해서는 안된다.
    c) 모든 태그의 이름은 xml, XML, 또는 Xml 로 시작하면 안된다.
    d) 그리고 스페이스가 있어서는 안된다.
까다롭지 않고 단순한 규칙이다. 모든 이름들이 사용될 수 있고 사용할 수 c) 의 XML 외엔 보존(reserve)되어 있는 글자나 이름은 없다.

그외에 알아 두면 좋은 내용은 태그 이름을 붙일때
언더바(_) 를 사용하면 이해하기 쉽고, 길면 좀 그럴꺼 같고.. 그리고
"-" 의 사용은 프로그램이 빼기로 이해할 수 있기때문에 사용을 좀 안했음 좋겠고
"."는 객체의 특성으로 이해할지도 모르니 배제하고
":" 의 사용은 음.. namespace 라는거로 사용되어야 함으로 쓰지 않는게 좋단다.

XML 은 주로 데이터베이스와 대응하기 때문에 데이터베이스의 element 들을 바로 사용하는게 좋을듯 싶다.
아..
그리고 영어가 아닌 다른 글자들은 안된다고 하는데.. 이유는 소프트웨어에거 지원을 안할지도 모르기 때문이라고..  (이부분은 솔직히 안써봐서 모르겠다. 나중에 선배들에게 물어봐야 겠다)

3) XML Element 는 신장성(Extensible)이 있다.
커헐.. 내가 적어보니 말이 되는지 모르겠다.. 쭉쭉 늘어나나? extensible 의 사전적 의미는  " 있는, 늘일 있는, 신장성있는" 이라고 네이놈딕셔너리에 적혀있다. 하지만 여기서 사용되는 의미와는 조금 다른듯 싶다. 작성자가 왜 extensible 이라는 단어를 사용했을까? 글자만 보지말고 좀더 읽어보기로 했다
뭐 여하튼 내용은 다음과 같다.

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don't forget me this weekend!</body>
</note>

자 위의 XML 을 읽어 들여 보여줄 수 있는 어플리케이션이 있다고 치자. 이 어플리케이션에서는 <to><from><body> 만을 읽어들여 다음과 같이 표현해 낸다.

MESSAGE

To: Tove
From: Jani

Don't forget me this weekend!

하지만 만약 아래와 같이 썼다면.. 같은 어플리케이션에서는 어떻게 될까?

<note>
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

<date> 태그와 <heading> 태그가 들어가 있는뎀... 하지만 어플리케이션은 여전히 자기가 읽을 수 있는 부분인 <to><from><body> 만을 읽어 같은 결과를 보여준다.

위의 extensible 이라는 표현은 이때문에 사용된듯 싶다. XML 의 Element 사용은 어플리케이션을 방해하지 않는다. 달라는것만 주고 말라는건 걍 가지고 있는다. extensible.. 으음.. :)
역시 우리는 설명도 설명이지만 코드로 이해하는게 더 편한거 같다. ㅋㅋ

이로써 Element 관련해서는 끝이다.  다음은 Attribute 에 대해 알아보겠다.

반응형

'초짜 IT보이 서바이벌 스토리 > XML' 카테고리의 다른 글

7. XML - 기타등등 (기초부분의 마지막)  (0) 2008.07.10
6. XML Attributes  (0) 2008.07.09
4. XML 문법  (0) 2008.07.06
3. XML Tree  (0) 2008.07.06
2. XML 편 - 소개(2)  (0) 2008.07.03

+ Recent posts