한글 텍스트 파일 읽기
한글 텍스트 파일을 읽기 위해서는 인코딩을 다음과 같이 지정해 주어야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
'파일스트림 열기 Dim fs As New FileStream("myhangultext.txt", FileMode.Open, FileAccess.Read) ' '스트림리더 열기 '*** 주의 : System.Text.Encoding.Default를 지정해야 '한글'을 읽어올 수 있음!!! '시스템의 현재 ANSI 코드 페이지에 대한 인코딩을 가져옵니다 'Dim Reader As New StreamReader(fs, System.Text.Encoding.Default) '--> 사실 이렇게 하면, 한글윈도우이어야 읽을 수 있다. '명확히 한글을 읽을 수 있게 하려면 다음과 같이 해야 한다. Dim Reader As New StreamReader(fs, System.Text.Encoding.GetEncoding(949)) '여기서 949는 한글에 대한 code page이다. ' '자료를 읽기 Call Parse(Reader) ' '스트림리더 닫기 Reader.Close() |
소스 코드 출력
오늘 홈페이지에 새로운 기능을 추가하였다.
프로그래밍 소스코드를 알아보기 쉽게 해주는 기능을 가진 플러그인이다.
출처 : http://www.kornuri.com/blog/44
[사용예]
아래의 내용은 비주얼베이직닷넷에 대하여 적용한 예이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Private Sub InternalParse(ByVal myXmlNode As Xml.XmlNode) ' If myXmlNode.HasChildNodes Then For Each myChildNode As Xml.XmlNode In myXmlNode.ChildNodes Select Case myChildNode.Name Case "name" Me.Name = myChildNode.InnerText Case "azimuth" Me.Azimuth = Single.Parse(myChildNode.InnerText) Case "tilt" Me.Tilt = Single.Parse(myChildNode.InnerText) Case "#comment" '주석도 처리할까요? End Select Next End If ' End Sub |
소스 코드 검색 서비스
프로그램 개발자에게는 기존의 소스 코드를 읽어보는 것이 굉장한 도움이 된다. 이를 위하여 여러 사이트에서 소스 코드 검색 서비스를 제공하고 있다.
구글 : http://code.google.com/
코더스 : http://www.koders.com/
XML 문서에 주석 달기 (comments in XML)
W3C XML 1.0 Recommendation Section 2.5 – Comments에서 발췌
<정의>
주석은 문서의 어디서든 나타날 수 있습니다. 덧붙여 주석은 문법에 의해 허용되는 부분이라면 문서 타입선언부에도 나타날 수 있습니다. 주석은 문서의 문자 데이터는 아닙니다. 하지만 응용 프로그램이 주석의 내용을 추출하고자 한다면XML 처리기를 통해 이를 처리할 수 있습니다. 호환성을 위해 연속된 하이픈 “–“이 주석 중간에 나와서는 안됩니다. 주석안에 있는 파라미터 엔터티 참조를 인식해서는 안 됩니다.
1 |
[15] Comment ::= '<!--' ((Char - '-') | ('-' (Char - '-')))* '-->' |
XML 주석 문법에 설명되어 있듯이 주석은 아래와 같은 형식을 갖습니다.
1 |
<!-- 연속하는 대쉬를 제외한 문자들 --> |
<예>
다음은 올바른 XML, XHTML 주석입니다.
1 |
<!-- 올바른 xml/xhtml 주석 --> |
다음은 올바르지 않은 XML, XHTML 주석입니다.
1 2 3 |
<!-- 올바르지 않은 -- xml 주석 --> <!-- 올바르지 않은 xml 주석 ---> <!-- 올바르지 않은 xml 주석 -- > |
<더 읽을거리>
XML – 속성이 좋을까요 요소가 좋을까요?
건물열성능해석을 위한 프로그램을 작성하는 과정에서 관련정보를 xml로 저장하기로 하였다. 이때 재료/부재의 정보들을 xml의 속성(attribute)으로 처리할까 요소(element)로 처리할까 고민하다가 다음과 같은 정보를 얻었다. 정보를 제공한 사이트에 대하여 트랙백을 시도하였으나, 실패하여 아래와 같이 원문을 옮겨 적었다.
출처 : http://kldp.org/node/31924
kwon37xi 씀 (목, 2004/03/11 – 5:55pm) XML 페이지를 설계하다보면 도무지 갈피를 잡을 수 없는 경우가 있는데, 그건 속성(Attribute)를 써야 하느냐 요소(Element)를 써야하느냐를 경정할 때입니다.
예를 들어 책에 관한 XML이 있다고 할 때 요소 중심은 다음과 같겠죠.
1 2 3 4 5 6 7 8 9 |
<서가> <책> <책이름>책 이름</책이름> <글쓴이>저자</글쓴이> <출판사>출판사 이름</출판사> <ISBN>ISBN번호</ISBN> <요약>책 내용 요약..</요약> </책> </서가> |
속성 중심은 다음과 같겠습니다.
1 2 3 4 5 |
<서가> <책 이름="책 이름" 글쓴이="저자" 출판사="출판사이름" ISBN="ISBN 번호"> <요약>내용 요약..</요약> </책> </서가> |
위와 같은 방식 중 어떤것이 더 효율적일까요(파서의 입장에서)?
그리고 어떤것이 사용하기 편할까요(XML을 다루는 프로그래머의 입장에서)?
저는 속성 기반을 선호하는 편입니다만, 딱히 이렇다할 장점이나 효율성을 집어내지는 못하겠습니다.
요즘 XML 프로그램짤일이 급속히 늘어나는 추세라, 이런 사항을 확실히 인식하고 넘어갔으면 해서요.
http://www.zvon.org/xxl/XPathTutorial/General/examples.html
이 문서를 보고나서 속성을 주로 씁니다.
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 30 31 32 33 34 35 36 |
<단원신상정보> <단원 고유인식번호="701" 성별="남" 기수="7"> <이름 문자="ko">차리서</이름> <이름 문자="zh">車里西</이름> <이름 문자="en">CHA Reeseo</이름> <전자우편 메일링리스트="가입">reeseo@kldp.org</전자우편> <전자우편>reeseo@aaa.bbb</전자우편> <홈페이지 링크="공개">http://www.cantabile.or.kr/~reeseo/</홈페이지> <홈페이지>http://formal.korea.ac.kr/~reeseo/</홈페이지> <주소 형태="집"> 서울특별시 어쩌구 저쩌구 <우편번호>150-xxx</우편번호> <전화 위치="거실">02-xxx-xxxx</전화> <전화 위치="방">02-xxx-xxxx</전화> </주소> <주소 형태="직장"> 서울특별시 어쩌구 저쩌구 <우편번호>135-xxx</우편번호> <전화>02-xxx-xxxx</전화> <팩스>02-xxx-xxxx</팩스> </주소> <파트 기간="~19931102">베이스</파트> <파트 기간="~">테너</파트> </단원> <단원 고유인식번호="702" 성별="남" 기수="7"> <이름 문자="ko">홍길동</이름> <이름 문자="en">HONG Gildong</이름> <전자우편>gildong@hong.pe.kr</전자우편> <주소 형태="집"> 서울특별시 어쩌구 저쩌구 <우편번호>171-xxx</우편번호> <전화>02-xxx-xxxx</전화> </주소> <파트>베이스</파트> </단원> </단원신상정보> |
어떤 요소의 속성이어야 더 말이 되는 것도 있고, 반대로 어떤 요소의 하위 요소여야 더 바람직한 것도 있겠습니다. 하나만 있어야하는 요소, 없어도 되는 요소, 여러개 있을 수 있는 요소가 있는가 하면, 꼭 있어야하는 속성, 반드시 몇 가지 중 하나여야하는속성 값, 없으면 디폴트로 무엇으로 간주하는 속성 등등이 있겠죠. 모두 “의미 체계”에 따라 적절히 선택해야할 문제라고 봅니다.
질문안에 답이 나오는군요.
만약 글쓴이가 한명 이상이라면? 또는 후에 추가되어야 한다면?
…그렇기때문에 요소를 써야만 일이 수월 할 수 있습니다.
또한 요소의 사용은 쉽고 표현은 직관적이어야 한다는 XML의 취지에 맞고요.
데이터를 요구하는 클라이언트의 입장에서볼때
값 하나만을 요구되는 경우는 드물껍니다. 주로 요소로 이루어진 문서를
요구하게 될겁니다.
그리고.. 개인적으론 클라이언트가 요구하는 데이터는 요소로 만들고
프로그램 내부에서 사용되는 값의 경우엔 속성으로 만듭니다.
[교훈]
중복이 허용되는 경우(예를 들어, 저자의 수가 2인 이상)는 요소로 처리하는 것이 유리하다.
사용자에게 노출할 필요가 없는 정보는 속성으로 처리하는 것이 유리하다.
물의 열역학적 및 전달 속성
물은 가장 일반적인 물질일 뿐만 아니라 생명에 없어서는 안 되는 것이다. 또한 물은 공학 분야에서 가장 중요한 매체이기도 하다. 작업매체인 물과 함께 증기기관은 산업혁명 초기부터 있었다. 전기에너지의 생산은 수력발전과 증기 발전 플랜트와 연결된다. 물이 냉각용으로 또는 열전달 액체로 사용되며, 공기조화를 위해 아주 중요한 역할을 수행한다. 공기를 원하는 조건으로 유지하거나 도달하기 위해서는 공기중의 수분을 공급하거나 제습해야 한다. 또한 많은 화학반응이 수용액 안에서 발생한다.
이러한 이유로 물의 정확한 속성값을 아는 것이 중요하다.
다음 사이트는 물에 대한 많은/정확한 정보를 제공한다.
특히, 비주얼베이직으로 된 계산함수/매크로도 제공한다.
저도 약간 비슷한 문제가 있습니다;
제 경우에는 다른 요소를 포함할 경우가 아니라면 속성으로 합니다.
(어차피 지금 하는 것들 대부분이 한 줄이 row이고 한 속성이 딱 column;;; )