달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  
2008/12/22 22:16

8. DTD 추가하기 General Web2008/12/22 22:16


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

DTD(Document Type Description : 문서타입선언)은 XML의 프롤로그에 추가해야만 한다.

아래의 파란 영역이 프롤로그 영역이다.

주석을 기준으로 위/아래에 문서 타입 선언이 위치할 수 있다.

참고로 아래의 초록색 영역은 도큐먼트 엘리먼트 영역이다.

 

<?xml version="1.0" encoding="utf-8"?>

<!-- 파일 이름 : Inventory.xml -->
<?xml-stylesheet type="text/css" href="family.css"?>

<INVENTORY>
<![CDATA["<html>"]]>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

     <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
 </BOOK>
</INVENTORY>

 

문서 타입 선언은 문서의 구조를 정의한다.

(문서 타입 선언이 존재하지 않는 문서라면 이것은 익스플로러 5에서 체크하게 된다. 익스플로러로는 문서의 정확성-Well Formedness-은 체크해 주지만 유효성은 체크해주지 않는다.)

 

문서타입선언(DTD)

DTD는 다음의 형태를 가진다.

<!DOCUMENT Name DTD>

[설명]

Name : Document Element의 이름

 

위의 XML 문서를 예로 든다면 DTD는 다음의 형태를 가진다.

(조건 : 문서 타입 정의는 모두 대문자여야 한다.)

<!DOCUMENT INVENTORY DTD>

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

10. 엘리먼트 타입 선언하기  (0) 2008/12/22
9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
Posted by -세티-
2008/12/22 22:15

7. 유효한 XML 문서의 기본 조건 General Web2008/12/22 22:15


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 17일
옮긴일 : 2008년 12월 22일

XML 문서의 최소한 요구 사항을 따라야 하며 그러기 위해서는 아래의 2가지 조건을 만족해야 한다.

1. 문서의 프롤로그는 문서의 구조를 정의하는 DTD를 포함하고 있는, 적정한 문서 타입 선언을 포함하여야만 한다.

2. 문서의 나머지 부분은 DTD에 정의된 구조를 따라야만 한다.

 

XML 문서의 유효함에 대한 장점

1. DTD에 문서의 구조를 잘 정의하면 프로세스로 하여금 유효성을 체크하게 한다.

   (XML은 DTD를 "문서의 클래스 문법"으로 정의)

2. MathML과 같은 예

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

9. DTD만들기  (0) 2008/12/22
8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
Posted by -세티-
2008/12/22 22:14

6. CDATA 섹션 포함하기 General Web2008/12/22 22:14


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 16일
옮긴일 : 2008년 12월 22일

<![CDATA[Here you can any characters excepts two right brackers followed by a greater - than symbol.]]>

 

마크업과 같은 것을 실제 문자로 인식시키기 위해 CDATA안에 포함시킨다.

<A-SECTION>

The following is an example of a very simple HTML page:

 

<![CDATA [

<HTML>

<HEAD>

<TITLE>R.Jones &Sons</TITLE>

</HEAD>

<BODY>

<P>Welcome to our home page!</P>

</BODY>

</HTML>

]]>

 

</A-SECTION>

 

XML 마크업 안에는 CDATA가 위치할 수 없다.

적절한 CDATA 섹션의 삽입 예

<?xml version="1.0"?>

<MUSICAL>

<TITLE_PAGE>

<![CDATA[

<Oklahoma!>

By Rogers &Hammerstein

]]>

</TITLE_PAGE>

</MUSICAL>

 

잘못된 CDATA삽입 예

1.엘리먼트의 컨텐츠 안에 CDATA가 없다.

2. 시작테그 마크업 안에 있다.

<?xml vesion="1.0"?>

   <![CDATA[ ILLEGAL:: not within element content! ]]>

      <DOC_ELEMENT>

      <SUB_ELEMENT <![CDATA [ ILLEGAL::inside of markup! ]]>

         sub-element content...

      </SUB_ELEMENT>

   </DOC_ELEMENT>

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

8. DTD 추가하기  (0) 2008/12/22
7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
Posted by -세티-
2008/12/22 22:13

5. XML 문서 잘 구성하기 General Web2008/12/22 22:13


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

1. <?xml version="1.0" standalone="yes" encoding="utf-8" ?>

- standalone은 문서 프로세싱을 단순화 하기 위한 것.

 

2. <BOOK><TITLE>The Adventures of Huckleberry Finn</TITLE></BOOK>

- 이것은 잘못 구성한 케이스 이다.

 

3. 엘리먼트는 시작태그, 내용, 마침태그로 구성된다.

 

4.     <BOOK>
           <TITLE>The Marble Faun</TITLE>
           <AUTHOR>Nathaniel Hawthorne</AUTHOR>
           <PAGES>473</PAGES>
           <PRICE>$10.95</PRICE>
        </BOOK>

 

- BOOK의 컨텐트, 다섯개의 네스팅된 엘리먼트(TITLE, AUTHOR, PAGES, PRICE)

 

5. <TITLE>The Marble Faun</TITLE> :  문자 데이터

 

6. CDATA : 모든 문자를 자유롭게 사용할 수 있다.

   <![CDATA [Document Name : "How to Enter the < and & Characters" ]]>

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

7. 유효한 XML 문서의 기본 조건  (0) 2008/12/22
6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
Posted by -세티-
2008/12/22 22:12

4. CSS를 이용한 XML 문서 출력 General Web2008/12/22 22:12


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

XML 문서를 출력하기 위해 .css 인 파일을 하나 만든다.

 

<style type="text/css">
BOOK
{
 display : block;
 margin-top : 12pt;
 font-size : 10pt;
}
TITLE
{
 display : block;
 font-size : 10pt;
 font-style : Italic;
 font-weight : bold;
}
AUTHOR
{
 display : block;
 margin-left : 15pt;
 font-style : Italic;
 font-weight : bold;
}
BINDING
{
 display : block;
 margin-left : 15pt;
}
PAGES
{
 display : none;
}
PRICE
{
 display : block;
 margin-keft : 15pt;
}
</style>

 

다음으로 다음의 코드를 XML 문서에 추가한다.

<?xml version="1.0" encoding="utf-8" ?>

<?xml-stylesheet type="text/css" href="family.css"?>

<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

 

아래는 웹 브라우저를 통해 출력된 XML 문서이다.


 

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

6. CDATA 섹션 포함하기  (0) 2008/12/22
5. XML 문서 잘 구성하기  (0) 2008/12/22
4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
Posted by -세티-
2008/12/22 22:10

3. XML 문서의 생성 General Web2008/12/22 22:10


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일

<?xml version="1.0" encoding="utf-8" ?>
<INVENTORY>
    <BOOK>
        <TITLE>The Adventures of Huckleberry Finn</TITLE>

        <BINDING>mass market paperback</BINDING>
        <AUTHOR>Mark Twain</AUTHOR>
        <PAGES>298</PAGES>
        <PRICE>$5.49</PRICE>
    </BOOK>
    <BOOK>
        <TITLE>The Marble Faun</TITLE>

        <BINDING>trade paperback</BINDING>
        <AUTHOR>Nathaniel Hawthorne</AUTHOR>
        <PAGES>473</PAGES>
        <PRICE>$10.95</PRICE>
    </BOOK>
    <BOOk>
        <TITLE>
           Moyy-Dick
             <SUBTITLE>Or, the Whale</SUBTITLE>
        </TITLE>

        <BINDING>Hardcover</BINDING>
        <AUTHOR>Human Melille</AUTHOR>
        <PAGES>724</PAGES>
        <PRICE>$9.95</PRICE>
    </BOOK>
</INVENTORY>

 

xml을 보기 위해서는 다음의 xml parser를 다운받아 설치한다.

(http://www.microsoft.com/downloads/details.aspx?FamilyID=4a3ad088-a893-4f0b-a932-5e024e74519f&DisplayLang=en)

 

아래는 설치 후 웹 브라우저를 통해서 본 이미지


 

저작자 표시 비영리 변경 금지
Posted by -세티-
2008/12/22 22:08

2. XML의 10가지 설계 목표 General Web2008/12/22 22:08


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일


1. XML은 인터넷에서 널리 사용된다.

2. XMl은 다양한 어플리케이션을 지원할 것이다.

3. XML은 SGML과 호환된다.

4. XML 문서를 처리하는 프로그램을 작성하는 것은 쉬워야 한다.

5. XML의 부가 기능의 개수는 가능한한 최소(이상적으로는 0) 로 유지되어야 한다.

6. XML 문서는 사람이 읽기 쉬워야 라고 납득할 만틈의 수준으로 명확해야만 한다.

7. XML 디자인은 빠르게 준비될 수 있어여 한다.

8. XML의 디자인은 명확할 필요가 있다.

9. XML 문서는 작성하기에 쉬워야 한다.

10. XML 마크업은 꼭 간결할 필요는 없다.

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

4. CSS를 이용한 XML 문서 출력  (0) 2008/12/22
3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
Posted by -세티-
2008/12/22 22:06

XML 이란? General Web2008/12/22 22:06


이전 블로그(http://blog.naver.com/nashira7)에서 옮겨왔습니다.
작성일 : 2005년 7월 15일
옮긴일 : 2008년 12월 22일


XML(Extensible MarkUp Language) - http://www.w3.org/TR/REC-xml

- W3C 워킹그룹에 의해 정의됨

- SGML의 부분 집합

- 1998년 2월 XML 버전 1.0

 

필요한 이유?

- HTML은 악보의 기호나 수학 방정식을 표현하는 엘리먼트가 부족하다.

- 필터링과 같은 기능의 구현

- 트리 같은 계층 구조로 정렬하기 원하는 문서에 사용

 

XML

- XML 문서의 엘리먼트 이름은 XML 정의의 일부가 아님.

 

XML 문서 작성하기

- 엄격한 syntax 적용 (시작태그와 마침태그)

-  엄격함의 여부에 따라 well-formed, valid

 

XML 문서 출력하기

- 스타일시트 링크

- 데이터바인딩

- 스크립팅

저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

3. XML 문서의 생성  (0) 2008/12/22
2. XML의 10가지 설계 목표  (0) 2008/12/22
XML 이란?  (1) 2008/12/22
사용자 인터페이스 디자인에 활용되는 10가지 유용한 기술  (0) 2008/12/17
Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
Posted by -세티-
2008/11/30 23:47

DAS General Tech.2008/11/30 23:47

1. DAS (direct-attached storage) ; 직접 연결 저장 장치

DAS는 컴퓨터나 서버에 직접 연결된 컴퓨터 저장장치로서, 특별한 고려가 되어 있지 않는 한 다른 장치에서 직접 접근이 불가능하다. DAS의 대안으로서 NAS 또는 SAN 등이 있다. 개별 컴퓨터 사용자의 경우에는 하드디스크 드라이브가 DAS의 대표적인 형태가 될 것이다. 그러나 기업용 사용자들을 위한 저장장치는 여러 대의 컴퓨터에서 공유할 수 있어야 하고, 사용자들은 보다 효율적이며 관리하기 쉬운 장치를 선호하는 경향이 있다.

 

2. SAN (storage area network) ; 스토리지 전용 네트웍

SAN[]은 대규모 네트웍 사용자들을 위하여 서로 다른 종류의 데이터 저장장치를 관련 데이터 서버와 함께 연결하는 특수목적용 고속 네트웍(또는 서브네트웍)이다. 대체로, SAN은 한 기업의 전체 컴퓨팅 자원을 연결해 놓은 네트웍의 일부가 된다. SAN은 대개 IBM S/390 메인프레임과 같은 다른 컴퓨팅 자원에 아주 근접하여 밀집해 있게 되는 것이 보통이지만, 그러나 백업이나 기록의 영구보관 저장을 위해 ATM이나 SONET 등과 같은 광역통신망 기술을 이용하여 원거리에 있는 장소로 확장될 수도 있다.

SAN은 서로 다른 종류의 저장장치들이 네트웍 서버를 통한 모든 사용자들에 의해 공유될 수 있도록 서로 연결되어 있는 시스템이다. SAN IBM의 광섬유인 ESCON과 같은 기존의 통신기술을 이용하거나, 새로운 파이버 채널 기술을 이용할 수도 있다. SAN 시스템 통합 기술을 가진 일부 회사들은, 이것을 하드디스크나 CD-ROM 플레이어와 같이 서로 다른 종류의 저장 장치들에 의해 공유될 수 있는 PC의 공통 저장 버스에 비유하기도 한다.

SAN은 디스크 미러링, 백업 및 복원, 영구보관 및 영구보관용 데이터의 검색, 한 저장장치에서 다른 저장장치로 데이터 이동, 그리고 네트웍 상의 서로 다른 서버들 간에 데이터의 공유 등을 지원한다.

 

3. NAS (network attached storage)

NAS[나쓰]는 네트웍에 접속되도록 특화된 파일서버이다. 이것은 이더넷이나 TCP/IP와 같은 전통적인 LAN 프로토콜을 사용하며, 오직 유닉스의 NFS와 도스/윈도우의 SMB와 같은 파일 입출력 요청만을 처리한다.

 

4. Fibre Channel ; 파이버 채널

파이버 채널은 컴퓨터 장치들 간에 최고 1 Gbps의 속도로 데이터를 전송하기 위한 기술이다 (4 Gbps의 전송 속도는 현재 제안되어 있는 상태이다). 파이버 채널은 특히 컴퓨터 서버를 공유 저장장치에 연결하거나, 저장 콘트롤러와 드라이브들을 서로 연결하는데 적합하다. 파이버 채널은 서버와 클러스터 저장장치 들간의 전송 인터페이스보다 3배 이상 빠르기 때문에 SCSI를 대체할 것으로 예상된다. 이것은 또한 장치들간에 서로 10 km 정도 떨어져 있어도 될 만치 더욱 유연하다. 거리가 더 멀어지면 물리적인 전송 매체로서 광섬유가 필요하다. 그러나, 파이버 채널은 동축케이블과 일반 전화용 연선을 사용해도 동작한다.

파이버 채널은 점대점 접속, 스위치와 루프 인터페이스, 그리고 SCSI와의 연동, IP 및 기타 여러 가지 프로토콜 등을 제공한다.

제작회사들과 초창기 고객들은 파이버 채널을 RAID를 포함한 공동의 저장장치를 가지고 있는 여러 대의 서버를 서로 연결하는데 사용할 계획을 가지고 있다. 파이버 채널 저장장치, 스위치, 허브, 및 서브시스템을 제공하거나 제공할 계획을 가지고 있는 공급회사들로는 컴팩, 데이터제너럴, , EMC, IBM, Storage Technologies, StorageTek, 그리고 썬 마이크로시스템즈 등이 있다.

파이버 채널은 일련의 표준에 명기되어 있으나, ANSI X3.230-1994 ISO 14165-1 Fibre Channel Physical and Signalling 표준에 주로 정의되어 있다.

 

5. SCSI (small computer system interface)

SCSI[스쿠지]PC와 디스크드라이브, 테이프드라이브, CD-ROM 드라이브, 프린터, 스캐너 등과 같은 주변장치를, 이전의 인터페이스보다 더 빠르고 더 유연하게 통신할 수 있도록 해주는 인터페이스로서, ANSI 표준으로 발전하고 있다. 애플 컴퓨터에서 개발되었고, 아직도 매킨토시에서 사용되고 있으며, 현재의 SCSI 세트들은 병렬 인터페이스이다. SCSI 포트는 오늘날 대부분의 PC에 장착되어 있으며, 거의 모든 주요 운영체계에 의해 지원된다.

빠른 데이터 전송속도 외에, SCSI는 이전의 병렬 데이터 전송 인터페이스보다 더 융통성이 있다. 최근의 SCSI 표준인 16 비트 버스용 울트라-2 SCSI는 데이터를 최고 80 Mbps 속도까지 전송할 수 있다. SCSI버스의 폭에 따라 다르기는 하지만, 하나의 SCSI 포트에 7~15개의 주변장치를 줄줄이 이어서 접속시킬 수 있다. 이 방식은 모든 주변장치들을 수용하기 위해 각각의 장치에 별도의 카드를 갖는 대신에 하나의 회로기판이나 카드로 충분하기 때문에, 노트북과 같은 휴대용 컴퓨터의 이상적인 인터페이스로 여겨지고 있다. PC 카드의 형태로 되어 있는 하나의 호스트 어댑터는 한 대의 랩톱 컴퓨터를 위한 SCSI 인터페이스를 지원할 수 있으며, 다른 장치들이 사용되는 중에도 프린터가 접속되어 있는 병렬 포트와 외장 모뎀이 달린 직렬 포트의 사용을 자유롭게 한다.

비록 주변 장치들은 모든 등급의 SCSI를 지원하지 못하지만, SCSI 표준은 일반적으로 이전의 인터페이스와 호환성을 유지하면서 발전하고 있다. 말하자면, 구형장치를 최신의 표준을 지원하는 신형 컴퓨터에 장착했을 때 속도는 다소 느리지만, 그런대로 잘 동작할 것이라는 얘기이다.

지금 SCSI-1으로 불리고 있는 원래의 SCSI, 현재 광범위하게 지원되고 있는 SCSI-2로 진화했다. SCSI-3는 일련의 기본 명령어들과, 특정 장치 형태의 요구에 맞춘 부가적이고 특화된 명령어셋으로 구성된다. SCSI-3 명령어셋의 모음은 SCSI-3 병렬 인터페이스 뿐 아니라, 추가적인 병렬 및 직렬 프로토콜들을 위해서도 사용된다.

광범위하게 적용된 SCSI 표준은, 최고 전송속도 80 Mbps를 내기 위해 40 MHz 클록속도를 사용하는 울트라-2 이다. 이것은 저압 차동 신호, LVDS를 사용함으로써 케이블 거리를 최장 12 m까지 늘릴 수 있게 한다. SCSI의 초기형태는 끝에 접지로 종말 처리한 단일 케이블을 사용했다. 울트라-2 SCSI는 두 개의 케이블 사이에서 다른 전압으로 표현되는 데이터를 두 개의 케이블 상에 신호를 보내는데, 이렇게 함으로써 더 긴 케이블을 지원할 수 있게 한다. 저압차동은 전력소모와 제조원가를 낮춘다.

최근의 SCSI 표준은 클록속도와 함께 동작할 수 있게 함으로써, 최고 속도를 80 Mbps에서 160 Mbps로 증가시킨 울트라-3 이다. 이 표준은 때로 울트라160/m이라고 불리기도 한다. 울트라160/m을 지원하는 신형 디스크드라이브는 더 빠른 데이터 전송속도를 제공할 것이다. 울트라160/m은 또한 전송된 데이터의 무결성을 보장하기 위한 CRC SCSI 네트웍을 테스트하기 위한 도메인 검증 기능을 포함한다.

현존하는 SCSI 표준들을 다음의 표에 정리, 요약하였다.

 

기 술 명 칭

케이블 대길 (m)

최고속도 (MBps)

부착 가능한 장치수

SCSI-1

6

5

8

SCSI-2

6

5~10

8 또는 16

Fast SCSI-2

3

10~20

8

Wide SCSI-2

3

20

16

Fast Wide SCSI-2

3

20

16

Ultra SCSI-3, 8-bit

1.5

20

8

Ultra SCSI-3, 16-bit

1.5

40

16

Ultra-2 SCSI

12

40

8

Wide Ultra-2 SCSI

12

80

16

Ultra-3 (Ultra160/m) SCSI

12

160

16

저작자 표시 비영리 변경 금지
Posted by -세티-

1 + 2의 값은 3이다.

이것을 코드로 표현하면

 

Dim plusValue As Integer = 1 + 2 가 된다.

 

더하기 와 같은 정수 연산자로는 빼기( - ), 곱하기( * ), 나누기( / )가 존재한다.

 

+ : addtion

- : substraction

* : multipication

/ : division

 

같은 실습예제를 통해 정수연산의 결과를 확인하고자 한다.

 



 

이번에는 두 개의 값을 입력받아 정수를 계산하는 윈도우 폼을 만들어 보는 것을 한다.

먼저 아래의 그림처럼 2개의 라벨과 2개의 텍스트 박스 그리고 하나의 버튼을 폼에 드래그 한다.


 

다음으로 버튼 부분을 마우스로 더블 클릭한다.

Button1_Click 메서드 영역에 아래의 코드를 입력한다.

아래는 그것의 코드 이다.

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

        Dim intTxtBox1 As Integer
        intTxtBox1 = TextBox1.Text

 

        Dim intTxtBox2 As Integer
        intTxtBox2 = TextBox2.Text

 

        Dim addtion As Integer = intTxtBox1 + intTxtBox2
        Dim substraction As Integer = intTxtBox1 - intTxtBox2
        Dim multipication As Integer = intTxtBox1 * intTxtBox2
        Dim division As Integer = intTxtBox1 / intTxtBox2

 

        MsgBox("덧셈값: " & addtion & ", 뺄셈값: " & substraction & ", 곱셈값 : " & multipication & ", 나눗셈 : " & division)

 

    End Sub

 

 

F5키를 눌러서 결과를 확인해 본다.

첫번째 값과 두번째 값에 각각 4+2를 입력해 보겠다.

 

그것의 결과는 아래와 같다.


저작자 표시 비영리 변경 금지
Posted by -세티-
2008/11/30 00:09

세티가 정리한 VB.NET(1) General .NET2008/11/30 00:09

작성일 : 2006년 1월 20일
옮긴일 : 2008년 12월 22일

변수는 프로그래밍 언어에서 중요한 컨셉입니다.
변수는 하나의 값을 저장하는 이름입니다.

컴퓨터 프로그램을 생성할 때 숫자라던가 단어, 사람의 이름과 같은 것을 저장하기 위해 변수를 사용할 수 있다.
그럼 정보를 전달하는데 왜 변수를 사용하는가? 직접 그 값을 사용하면 되는것을?
변수는 하나의 값이 될 수도 있다.
변수를 사용하면 다음과 같은 것들이 가능하다.

[변수]=[값]

제리 = 제리의 갯수 (예 : jelly = 6)
캔디 = 캔디의 갯수 (예 : candy = 5)

따라서 책상은 총 11개의 무언가를 가지게 된다. 제리와 캔디는 각각의 자신의 갯수를 가지고 있다.
책상 = 제리 + 캔디 

이 때... 나는 캔디의 갯수를 변경하기를 원한다. 따라서 candy의 갯수를 6으로 변경했다.
책상은 총 12개의 무언가를 가지게 되지만 책상 = 제리 + 캔디 라는 로직이 변하지는 않는다.
제리와 캔디는 변수로서 값을 가지고 있기 때문이다.
이런 편리함이 변수를 사용해야만 하는 하나의 예 가 되는 것이다.

하나의 변수를 사용하기 위한 3가지 스텝이 있다.

1. 변수선언
2. 변수할당
3. 변수사용

1번의 것은 내가 사용하고자 하는 변수의 타입을 컴퓨터에게 알리는 절차를 말한다.
2번의 것은 하나의 값을 고정시키기 위해 변수에게 주는 것이다.
3번의 것은 변수에 할당된 값을 되찾아 오는 것을 말한다. 

1. 변수선언

하나의 변수를 사용하고자 할 때 어떤 Data Type을 사용할 것인가를 결정하고 있어야 한다.
Dim과 Askeywords를 사용하는 하나의 변수를 선언한다.

 Dim aNumber As Integer

 위의 코드를 해석하자면

"컴퓨터야!! 나는 aNumber라는 변수를 사용하고 싶단다. 그 변수에는 숫자들을 저장하고 싶단다."

 위의 aNumber라는 변수에는 단지 숫자만 저장할 수 있다.
왜냐면 숫자만 담겠다고 지정했기 때문이다. 그것은 Integer라는 부분에 의해서 그렇게 된 것이다.
만약에 하나의 단어를 입력하고 싶다면??? 그것은 String 이라는 이름으로 불리는 Data Type을 지정해 주면 된다.

 Dim aWord As String

위의 코드를 사람의 언어로 표현하면 다음과 같다.

"컴퓨터야...~ 나는 aWord라는 변수에 String을 담고 싶단다..^^ "

 만약 42.5 와 같은 소수점이 붙은 숫자를 담고 싶다면...?? 그냥 Integer에 담는다..??
그건 안된다.
왜냐면...사람들은 그냥 저것을 숫자라고 하면 알아듣지만 컴퓨터는 바보다.

따라서 저게 숫자는 숫자인데 '그냥 숫자가 아닌 소수점이 붙은 숫자다.' 라고 알려줘야 된다는 것이다. 따라서 컴퓨터에게 '이건 소수점으로 된 숫자야..' 하고 말해주는 표현은 아래와 같다.

Dim aDouble As Double

또 다른 표현이 있다.
우리는 친구들과 가끔 이야기를 하다보면 예/아니오 로만 답하시오... 라는 말들을 가끔 듣게 된다.
그것은 자질구해한 이야기를 듣기 귀찮을 때 주고 하게 되는데...
컴퓨터에게도 그런 방식으로 이야기를 할 수 있다.

예/아니오는
컴퓨터에서 True/False 라고 표현한다. 조금더 세련된 말로는 참/거짓 이 되는 것이다.
이런 것을 표현하기 위해 변수에 값을 담아야 하는데, 이런 값을 담고 있는 변수의 데이타 타입을 Boolean 이라고 한다.
이것을 사용하겠다고 컴퓨터에게 말해줘야 하는데 아래와 같은 표현법을 사용한다.

Dim YesorNot As Boolean

이것을 다시한번 친숙한 사람의 언어로 표현하면...

"컴퓨터야..~~ 나는 예/아니오 라는 값을 담고 싶어. 나에게 변수라는 그릇을 다오~!! 그것의 데이타 타입은 Boolean 이란다."
가 되는 것이다.

이런 변수에 대해 그리고 데이타 타입에 대해 보다 자세한 것을 보고 싶다면 아래의 주소로 가보면 된다.

http://msdn.microsoft.com/vbasic/learning/newtodevelopment/variables/datatypes/


2. 변수할당

위에서 변수를 선언했으니 이 변수에 무언가를 담아야 하겠다.
변수라는 밥 그릇을 달라고 했으니 밥이라도 담아야 하는데 어떻게 담는가???
그것은 바로 = 을 사용해서 담게 된다.
이것은 보다 세련된 언어로 표현하면 "할당" 이라고도 한다.

그럼 위 에서 선언한 변수들 중의 하나에 값을 담아보자.

Dim aWord As String = "Hello"

 이것을 마찬가지로 친숙한 사람의 언어로 표현하면...
"aWord라는 String이라는 데이타 타입 변수에 Hello라는 단어를 할당한다." 가 된다.

3. 변수의 사용

비주얼 스튜디오가 있다면 Form1_Load라는 곳에다가 다음의 코드를 넣는다.

Dim
anInteger As Integer = 100
Dim aSingle As Single = 3.141592
Dim aString As String = "Hello"
Dim aBoolean As Boolean =
True

그리고 다음의 코드를 이용하여 결과를 확인해 본다.

MsgBox(anInteger)
MsgBox(aSingle)
MsgBox(aString)
MsgBox(aBoolean)

MsgBox()
라는 녀석은 메시지 박스를 띄우도록 컴퓨터 내부에 이미 코딩되어져 있다.
저 () 안에 값을 할당한 변수를 넣으면 MsgBox()는 변수가 가지는 값을 출력해 주게 되는 것이다.
MsgBox()라는 것을 흔히 메소드 라고도 이야기 하는데 아무튼... 메시지 박스를 띄우기 위해 컴퓨터와의 약속이라고 생각하면 쉽다.

자동차의 방향을 바꾸기 위해선 핸들이 필요하다.
핸들이라는 이름은 방향을 바꾸기 위한 나와 자동차와의 약속이다.
마찬가지고 내가 메시지 박스를 띄우기를 원한다면 MsgBox()라는 약속된 녀석을 이용하면 되는 것이다. 아무 부담 없이 말이다.^^

저작자 표시 비영리 변경 금지

'General .NET' 카테고리의 다른 글

세티가 정리한 VB.NET(3)  (0) 2008/11/30
세티가 정리한 VB.NET(2)  (0) 2008/11/30
세티가 정리한 VB.NET(1)  (2) 2008/11/30
익명 메서드(Anonymous Methods)  (0) 2008/11/30
Nullable 타입  (0) 2008/11/30
DataTable.NewRow  (0) 2008/11/30
Posted by -세티-
2008/11/30 00:06

익명 메서드(Anonymous Methods) General .NET2008/11/30 00:06


익명 메서드(Anonymous Methods)

- 메서드를 통해 처리하는 내용을 인라인의 형태로 처리하는 방법을 제공
- delegate를 통해 메서드를 호출하는 경우 호출할 수 있는 메서드의 타입을 델리게이트를 생성하면서 선언하고, 이벤트가 발행하였을 경우에 델리게이트를 통해 선언된 메서드를 호출, 작업처리 

using System;
using System.Collections.Generic;
using System.Text; 

namespace SimpleDelegateSample
{

    delegate int AnyDelegate();

    class Program
    {
        public static void AnyMethod(AnyDelegate ad)
        {
            Console.WriteLine(ad());
        }

        static void Main(string[] args)
        {
            int x = 10;
            int y = 20;
            AnyDelegate ad = delegate{ return x * y; };
            AnyMethod(ad);
        }
    }
}

 

코드 설명

1. Main()를 실행

2. int 타입의 x, y변수에 각각 10과 20이라는 값을 할당.

3. ad라는 변수를 선언하고 데이터 타입을 AnyDelegate(사용할 메서드의 타입)로 한다.

4. delegate를 사용하여 상단에 선언된 AnyDelegate()가 해야 할 일을 구현하고 ad에 할당한다.

5. AnyMethod()ad를 전달한다. 이 때 adAnyDelegate 타입이다.

6. 인자로 전달된 ad를 콘솔에서 실행하고 결과를 확인한다.

저작자 표시 비영리 변경 금지

'General .NET' 카테고리의 다른 글

세티가 정리한 VB.NET(2)  (0) 2008/11/30
세티가 정리한 VB.NET(1)  (2) 2008/11/30
익명 메서드(Anonymous Methods)  (0) 2008/11/30
Nullable 타입  (0) 2008/11/30
DataTable.NewRow  (0) 2008/11/30
닷넷2.0을 시작하며...  (0) 2008/07/22
Posted by -세티-
2008/11/30 00:04

Nullable 타입 General .NET2008/11/30 00:04


.NET Framework CTS(Common Type System)에 정의된 타입

- 값 타입(Value Type), 참조 타입(Reference Type)

- 이전에는 값 타입에 Null을 할당할 수 없었다.

- C#2.0에서는 값 타입에도 Null 저장이 가능해짐.(Nullable 타입)

- 컬럼의 타입이 정수형이므로 Null을 입력할 수 있도록 프로그램으로 처리.

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleCshapStudy
{
    class MakeNullable
    {
        static void Main(string[] args)
        {
            Nullable<int> x = new Nullable<int>(123);
            if (x.HasValue)
            {
                Console.WriteLine(x.Value);
            }
        }
    }
}

저작자 표시 비영리 변경 금지

'General .NET' 카테고리의 다른 글

세티가 정리한 VB.NET(1)  (2) 2008/11/30
익명 메서드(Anonymous Methods)  (0) 2008/11/30
Nullable 타입  (0) 2008/11/30
DataTable.NewRow  (0) 2008/11/30
닷넷2.0을 시작하며...  (0) 2008/07/22
세티의 닷넷강좌를 다시 살리겠습니다.  (0) 2008/07/22
Posted by -세티-
2008/11/30 00:02

W3C 표준 DOM General Web2008/11/30 00:02

작성일 : 2006년 9월 30일

DOM
은 문서 객체 모형이라고 말하며, HTML의 구조에 접근하는 방법

Document.layers 층에 접근하기 위해 document.all 또는document.getElementById 사용

 

W3C의 표준 – document.getElementById

 

 

 

계층적 구조(Tree 구조)

 

<HTML> - 문서의 TOP(document 문서 하위)

<HEAD> - <HTML>의 꼬리표

, HTML 문서의 최정상은 document 가 된다.

 

 

DOM을 이해하기 위한 도형

 

(부모)

|

|

형제1---- ----형제2

|

|

아이1------------ 아이2

 

 

1. parentNode : 나를 기준으로 부모 마디에 접근.

   - document.getElementById("myElement").parentNode

 

2. childNode : 나를 기준으로 NodeList를 반환

- document.getElementById("나").childNodes

- document.getElementById("나").childNodes.item(0)

- document.getElementById("나").childNodeds[0] 와 동일

 

3. firstChild : 첫번째 마디에 대한 접근

- document.getElementById("나").firstChild

- document.getElementById("나").childNodeds[0] 와 동일

 

4. lastChild : 마지막 마디에 대한 접근

- document.getElementById("나").lastChild

- document.getElementById("나").childNodes.item(document.getElementById("나").childNodes.length)과 동일

 

5. previousSibling : 아이1로 접근

- document.getElementById("나").previousSibling

 

6. nextSibling은 아이2에 접근

   - document.getElementById("나").nextSibling


저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

Basic CSS syntax  (0) 2008/11/30
CSS1 - 1. 기본개념  (0) 2008/11/30
W3C 표준 DOM  (0) 2008/11/30
[HTML] Box Model  (0) 2008/08/06
2. xml 문서의 생성과 CSS를 이용한 XML 문서 출력  (0) 2008/04/11
xml과 10가지 설계목표  (0) 2008/04/11
Posted by -세티-
2008/07/12 16:05

MS MED User Experience Workplace를 보아요~ HCI & UX2008/07/12 16:05

 
안녕하세요~ 세티 입니다.
오늘 날씨가 영~ 미덥지 않아요. 비가 오다가 안오다가 ^^

오늘 역삼동 삼성멀티캠퍼스에서 열린 제 1회 소프트웨어 아키텍트 대회에 참가했었습니다.
(관련주소 : http://search.lemonmail.co.kr/online_survey/080619_kosta/sub_page.html)

음~ 저는 웹2.0과 프레임워크라는 트랙에서 RIA와 UX아키텍처를 주제로 발표를 했었습니다.
나름 준비를 많이 한다고 했는데 오늘은 평소보다 더 긴장이 되더라구요. 그리고 나름 멋진 멘트도 준비해놨었는데 홀라당 까먹어 버리고 본의 아니게 말도 몇 번 꼬이고 그랬습니다.^^; 자료 마지막 장에 레퍼런스 기록하는 것도 까먹고...이래저래 딴데 정신 팔려 할 것도 제대로 못하고 있는 중 입니다.(더위 먹었나...헥헥)

아무튼 RIA기술을 잘 활용하기 위한 도구와 개념은 기술회사나 벤더들에 의해서 경험과 노하우가 어느 정도 공개 되는 것 같은데요~ 하지만 아직 그것을 적절히 가공할 엔지니어나 디자이너의 역할 분담이나 또 그들이 만들어낼 소프트웨어의 협업과정, 또 협업을 하기 위한 작업 환경 등은 아직 최적화되어 있지 않은 상태라고 보여집니다.

지난 포스트에서 User Experience Architecture 를 정리했습니다.
이 포스트에서 저는
 

UX 기반 애플리케이션 제작에서 디자인팀과 기술팀간의 협업이 매우 중요하므로 다이나믹한 환경을 제공하여 불편함이 없도록 합니다.




라고 글쓴 부분이 있습니다.

오늘 그런 다이나믹한 환경을 갖추고 일을 하는 곳을 찾았습니다.
바로 Microsoft MED(Mobile and Embedded Devices Division) 의 사용자 경험 그룹의 작업 공간입니다. 지난 포스트의 글과 아래에 소개하는 동영상을 같이 보면 UX 작업환경에 대해서 "아하~" 하고 느껴지는 부분이 있게 될 것입니다.^^

같이 맛있게 감상해 보아요~ ^^*


(Microsoft MED User Experience Group Workplace Design)

우리나라에서는 언제쯤 이런 환경에서 하는 작업이 가능해질까요?
혹시 이런 환경에서 작업하는 곳이 있으면 누가 좀 알려주세요. ^^
Posted by -세티-
2008/06/09 09:00

[세티의 실버라이트] 8. 미디어 Silverlight2008/06/09 09:00

원글출처: http://silverlight.net/quickstarts/silverlight10/media.aspx
본 강좌는 위의 원글을 참고 및 번역해서 작성했으며, 글 중간중간 제 개인적인 표현이나 의견을 넣어서 각색했습니다.

미디어
(Media)


이번 시간에는 실버라이트가 제공하는 미디어엘리먼트(MediaElement)에 대해 알아보겠습니다. 실버라이트의 MediaElement 객체는 WMVWMA파일, mp3와 같은 타입의 파일을 플레이하기 위해서 사용합니다.

MediaElement에 대해 알아보기 위해 우리는 웹 페이지에 미디어 파일을 추가 하고 유용한 MediaElement 속성과 미디어를 재생하는 컨트롤 방법을 다뤄보고 풀-스크린으로 미디어를 재생해 보고 비디오를 이용한 페인팅을 다뤄보겠습니다.

먼저 학습을 위해 간단한 샘플을 만들겠습니다. 그러기 위해선 하나의 웹 페이지를 생성하고 그 속에 미디어를 삽입하도록 하겠습니다.

작업순서.
1. Canvas 태그에 MediaElement를 추가합니다.
2. Source 속성에 URI 경로를 설정합니다.


아래는 예제 코드 입니다.
사용자 삽입 이미지
사용자 삽입 이미지

와~ 단 한줄의 코드로 미디어를 재생할 수 있다니... 정말 대단합니다.^^

실버라이트 XAML 코드는 앞의 강좌에서 언급했듯이 엘리먼트 하나하나가 속성을 가지고 있고, 또 객체로 되어 있습니다. 그래서 보다 다양한 멀티미디어 효과를 줄 수 있고, 보다 쉽게 그러한 기능들을 추가할 수 있습니다. 앞에 만든 미디어에 동그란 원을 하나 추가 해보겠습니다. 동그란 원을 추가 위해서 Ellipse 엘리먼트를 사용하도록 하겠습니다.
사용자 삽입 이미지
사용자 삽입 이미지

이야~ 렌더링이 잘 되었군요. 요즘 인기 많은 소녀시대의 '채연' 님을 동그란 원안에 넣어봤습니다.^^;
음! 여러 UI엘리먼트를 조합해서 원하는 결과물을 정말 쉽고 편하게 만들어 낼수 있겠군요.

계속 이어서 MediaElement에 대해 조금 더 알아보겠습니다. 다른 엘리먼트들과 마찬가지로 MediaElement도 몇 가지 유용한 속성을 가지고 있습니다.

MediaElement를 위한 유용한 속성값은?
Stretch - MediaElement에 비디오를 채운다. 가능한 값으로는 None, Uniform, UniformToFill 그리고 Fill 이 있으며, 기본값은 Fill 입니다.


사용자 삽입 이미지

Stretch = "none" 일 때


사용자 삽입 이미지

Stretch = "UniformToFill"일 때

그 다음으로는 볼륨과 관련된 속성이며, IsMutedVolumn 이 있습니다. 미디어가 소리 조절이 안되면 안되겠죠.^^;
IsMuted - true와 false를 설정할 수 있으며, 기본값은 false 입니다.
Volumn - 0에서 1까지 설정이 가능하며 기본값은 0.5 입니다.


다음으로는 미디어 재생과 관련된 메서드가 있겠는데요~ Play, Pause, Stop 메서드를 사용하여 미디어 재생을 컨트롤 할 수 있습니다. 미디어 재생과 관련된 예제 코드는 아래와 같습니다.
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

그러나 이러한 미디어를 작은 화면으로 본다는 것은 너무 답답한 일임에 틀림없습니다.^^
따라서 우리는 이 미디어를 풀-스크린 모드로 보기를 원하며, 또 그렇게 되어야 할 것입니다.
미디어 재생에서 실버라이트 플러그-인의 FullScreen 속성을 설정하기 위해서는 ActualWidthActualHeight의 사이즈를 설정해야 합니다.

아래의 코드를 위에 작성한 코드에 추가 합니다. 추가할 코드는 다음과 같습니다.

<!-- 풀 스크린 모드를 위한 XAML 코드 -->
    <Canvas MouseLeftButtonDown="toggle_fullScreen"
      Canvas.Left="190" Canvas.Top="265">
      <Rectangle Stroke="Black" RadiusX="5" RadiusY="5"
         Height="30" Width="85">
        <Rectangle.Fill>
          <RadialGradientBrush GradientOrigin="0.75,0.25">
            <GradientStop Color="Gray" Offset="0.0" />
            <GradientStop Color="Black" Offset="1.0" />       
          </RadialGradientBrush>
        </Rectangle.Fill>
      </Rectangle>
      <TextBlock Canvas.Left="5" Canvas.Top="5"
        Foreground="White" >full screen</TextBlock>
    </Canvas> 

풀-스크린 제어와 관련된 메소드는 이미 위의 js 파일에 추가해 놓았으며, 해당 메소드의 이름은 canvas_loaded(Object, Param), toggle_fullscreen(Object, Param), onFullScreenChanged(Object, Param) 입니다.

여기까지는 기본적인 미디어 기능이었습니다. 하지만 요즘처럼 다양한 멀티미디어 콘텐츠가 응용되는 세상에서 단순하게 미디어 재생만 된다면 좀 재미가 없겠죠? 그래서 소개할려는 것이 비디오브러쉬 입니다.
우리는 실버라이트 MediaElementVideoBrush 기능을 사용하여 글자의 배경에 미디어를 재생할 수 있습니다.

VideoBrush 기능을 사용하기 위해선 아래와 같은 순서로 작업을 해야 합니다.
1. VideoBrush 엘리먼트를 생성합니다.
2. MediaElement를 생성하고 Name을 할당합니다.
3. MediaElement의 Opacity를 0.0으로 설정합니다.


아래는 예제 코드 입니다.
사용자 삽입 이미지
사용자 삽입 이미지


VideoBrush를 이용해서 MediaElement에 미디어를 정지, 잠시정지, 재생등을 할 수는 있지만 MediaElement의 크기를 변경할 수는 없습니다. 이와 같은 기능을 원한다면 multiple VideoBrush 객체를 이용해야 합니다.
이상으로 실버라이트가 제공하는 미디어 기능에 대해 간단하게 살펴보았습니다.

Posted by -세티-
2008/05/29 21:34

2008 Daum UI Dev Day Thinking2008/05/29 21:34

다음 UI 개발팀 블로그 : http://blog.daum.net/uidev/
다음 DNA 블로그 : http://dna.daum.net

드디어 내일 삼성역 섬유센터 17층에서 2008 Daum UI Dev Day가 열립니다.
오늘 회사에서 최종 리허설을 했습니다.
어찌나 말이 꼬이던지 꽤 여러번 당황 했었습니다.ㅎㅎ

주제 : RIA and Silverlight
사용자 삽입 이미지
사용자 삽입 이미지

내일 세미나 장에서 저를 알아보게 되는 분은 "세티의 Lonely Star"에서 봤다고 말씀해주시면
제가 커피 사드립니다.^^

'Thinking' 카테고리의 다른 글

프로가 되기 위해 주어지는 시간  (0) 2008/06/07
프로가 되기 위해...  (0) 2008/06/05
2008 Daum UI Dev Day  (4) 2008/05/29
Flex와 Silverlight 어떤게 더 좋아요?  (0) 2008/05/12
뮤지컬 '미라클'  (0) 2008/05/12
MS와 월드와이드 우주망원경  (0) 2008/05/07
Posted by -세티-