<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>앤더슨의 나이스노트</title>
		<link>http://rheech.tistory.com/</link>
		<description>행복한 하루 되시길 바랍니다.
이 블로그는 컴퓨터 사용에 필요한 팁과 앤더슨의 일상에 대한 내용을 올리고 있습니다.^_^</description>
		<language>ko</language>
		<pubDate>Mon, 16 Apr 2012 06:25:15 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>앤더슨</managingEditor>
		<image>
			<title>앤더슨의 나이스노트</title>
			<url>http://cfs4.tistory.com/upload_control/download.blog?fhandle=YmxvZzkzNDgxQGZzNC50aXN0b3J5LmNvbTovYXR0YWNoLzAvMTMwMDAwMDAwMDAxLmpwZw%3D%3D</url>
			<link>http://rheech.tistory.com</link>
			<description>행복한 하루 되시길 바랍니다.
이 블로그는 컴퓨터 사용에 필요한 팁과 앤더슨의 일상에 대한 내용을 올리고 있습니다.^_^</description>
		</image>
		<item>
			<title>[ASP.NET] Web Applications with Databases</title>
			<link>http://rheech.tistory.com/905</link>
			<description>10.1 Master-Detail Pages&lt;br /&gt;
Master-Detail Pages&lt;br /&gt;
A design technique which Microsoft developed. It contains common page elements. An application contains one or more master pages that contain empty areas into which other pages may be inserted.&lt;br /&gt;
&lt;br /&gt;Content Placeholders&lt;br /&gt;
An empty areas master page contains. At runtime, the master page remains visible all the time, while different content pages are inserted into the content placeholders.&lt;br /&gt;
&lt;br /&gt;Setting the Master Page at Runtime&lt;br /&gt;
Code:&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Protected Sub Page_PreInit() Handles Me.PreInit&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Something Then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.MasterPageFile = &quot;~/AnotherMasterPage.master&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;Advanced Use of Master and Content Pages&lt;br /&gt;
A. Specifying the default master page in Web.config file&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pages masterPageFile=&quot;~/MasterPage.master&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;B. Reference to Content Controls&lt;br /&gt;
Din ctrl as Button = CType(ContentPlaceHolder.FindControl(&quot;btnOK&quot;), Button)&lt;br /&gt;</description>
			<category>ASP.NET</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/905</guid>
			<comments>http://rheech.tistory.com/905#entry905comment</comments>
			<pubDate>Sun, 26 Feb 2012 04:09:27 +0900</pubDate>
		</item>
		<item>
			<title>우분투(ubuntu) 11 이후 일부 패키지 설치에 대하여</title>
			<link>http://rheech.tistory.com/904</link>
			<description>우분투 11 버전 이후에 기존에는 작동하던 패키지가 설치되지 않는 문제가 있습니다.&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install 패키지&lt;br /&gt;
&lt;br /&gt;
해결 방법은 sources.list에 서버 목록을 추가하여 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
x-window를 사용할 경우,&lt;br /&gt;
sudo gedit /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
터미널에서 수정을 원할 경우,&lt;br /&gt;
sudo vim /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
으로 파일을 연 후, 아래 내용을 추가합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #0000ff;&quot;&gt;deb&lt;/span&gt; &lt;span style=&quot;color: #00ff00;&quot;&gt;http://archive.ubuntu.com/ubuntu &lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;natty&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;main restricted&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
이외에도 접근이 가능한 source list를 위와 같은 방법으로 추가할 수 있습니다.&lt;br /&gt;</description>
			<category>리눅스 [Linux]</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/904</guid>
			<comments>http://rheech.tistory.com/904#entry904comment</comments>
			<pubDate>Mon, 30 Jan 2012 05:20:39 +0900</pubDate>
		</item>
		<item>
			<title>한동안 방명록의 방문자 글쓰기를 차단하겠습니다.</title>
			<link>http://rheech.tistory.com/903</link>
			<description>&lt;p style=&quot;LINE-HEIGHT: 2.5&quot;&gt;안녕하세요.. 오랜만입니다. :)&lt;br /&gt;
다름이 아니라, 한동안 방명록의 글쓰기 기능을 차단하고자 글을 올립니다.&lt;br /&gt;
6개월 전부터 아래와 같은 공격성 글이 매일 꾸준히 들어왔습니다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/141E543D4EC039F22C2BBC&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/141E543D4EC039F22C2BBC&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;530&quot; width=&quot;630&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
처음에는 스팸 ip차단으로 놓았으나, 매일 매일 꾸준히 글을 남겨 휴지통을 꽉 차게 만들더군요..ㅎ&lt;br /&gt;
최근 다음 고객센터에 ip 차단 요청을 걸었으나, ip를 바꾸어 글을 남겨 결국 이와 같은 방법을 사용합니다.&lt;br /&gt;
현재는 방명록만 차단하였지만.. 다른 방법을 사용한다면 다른 곳도 전부 막을 예정입니다. 이 점 참고해 주셨으면 합니다.&lt;/p&gt;</description>
			<category>블로그 이야기</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/903</guid>
			<comments>http://rheech.tistory.com/903#entry903comment</comments>
			<pubDate>Mon, 14 Nov 2011 06:51:50 +0900</pubDate>
		</item>
		<item>
			<title>DLL Injector를 제작해 보았습니다.</title>
			<link>http://rheech.tistory.com/901</link>
			<description>DLL Injector 입니다.&lt;br /&gt;
xp, 비스타, 7에서 전부 테스트 결과 잘 작동하는 것으로 확인되었습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/153B9D4B4DEDA2351E8D07&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/153B9D4B4DEDA2351E8D07&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;365&quot; width=&quot;564&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Inject 방법은 두가지가 있습니다. 왼쪽의 프로세스 목록에서 찾아서 Inject하는 방법과, 프로세스 이름을 입력하여 새로 생성되는 프로세스까지 자동으로 Inject 시키는 방법입니다.&lt;br /&gt;
&lt;br /&gt;
유의사항이 있습니다.&lt;br /&gt;
1. 프로세스 생성 후킹 방식이 아닌 타이머 방식으로 자동 Inject를 합니다. 따라서 프로세스가 시작되자 마자 Inject 된다는 보장은 할 수 없습니다. (프로세스 실행 후 일부 코드가 Inject 전에 실행될 가능성이 높습니다.)&lt;br /&gt;
2. Reference Count 는 고려하지 않았습니다.&lt;br /&gt;
&lt;br /&gt;
그냥 틈틈히 시간내서 만들어 봤습니다. 기본적인 오류처리는 어느정도 해놓았으나.. 혹시 문제가 있으면 댓글 부탁드립니다..&lt;br /&gt;
&lt;br /&gt;
다운로드&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://rheech.tistory.com/attachment/cfile9.uf@1441903B4DEDA56214D597.exe&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; dllInject.exe&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</description>
			<category>C, C++</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/901</guid>
			<comments>http://rheech.tistory.com/901#entry901comment</comments>
			<pubDate>Tue, 07 Jun 2011 16:35:27 +0900</pubDate>
		</item>
		<item>
			<title>우분투 10 이후 버전에서 Java Runtime Environment 설치</title>
			<link>http://rheech.tistory.com/899</link>
			<description>우분투 10 이후부터 sudo apt-get install sun-java6-jre sun-java6-jdk sun-java6-plugin 의 명령어가 제대로 동작하지 않는 경우가 있습니다.&lt;br /&gt;
&lt;br /&gt;Sun Java가 우분투 지원을 중단하였다고 한듯 합니다. (정확한 정보는 아닙니다..)&lt;br /&gt;
대안 프로그램인 openjdk-6를 사용하면 되나, 간혹 인터넷 인증을 사용하기 위해서는 Sun Java가 필요합니다.&lt;br /&gt;
&lt;br /&gt;다음의 방법을 사용하시면 해당 명령어가 다시 작동할 수 있습니다.&lt;br /&gt;
sudo add-apt-repository &quot;deb http://archive.canonical.com/ lucid partner&quot;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;이후에 다시 jre, plugin, fonts를 사용하면 잘 작동합니다.&lt;br /&gt;
&lt;br /&gt;원본주소&lt;br /&gt;
http://www.ubuntugeek.com/how-install-sun-java-runtime-environment-jre-in-ubuntu-10-04-lucid-lynx.html&lt;br /&gt;</description>
			<category>리눅스 [Linux]</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/899</guid>
			<comments>http://rheech.tistory.com/899#entry899comment</comments>
			<pubDate>Sat, 07 May 2011 13:46:13 +0900</pubDate>
		</item>
		<item>
			<title>EVGA의 그래픽카드 튜닝 프로그램 - EVGA Precision</title>
			<link>http://rheech.tistory.com/898</link>
			<description>프로그램명: EVGA Precision&lt;br /&gt;
공개 여부: 프리웨어&lt;br /&gt;
제작사: EVGA &lt;br /&gt;
링크: &lt;a title=&quot;[http://www.evga.com/precision/]로 이동합니다.&quot; href=&quot;http://www.evga.com/precision/&quot;&gt;http://www.evga.com/precision/&lt;/a&gt; (가입해야함..)&lt;br /&gt;
다운로드&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://rheech.tistory.com/attachment/cfile23.uf@200FAD544D733579239D0E.exe&quot;&gt;&lt;img src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/blog/image/extension/exe.gif&quot; alt=&quot;&quot; style=&quot;vertical-align: middle;&quot; /&gt; EVGA_Precision_201.exe&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/151756544D73348F162D42&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/151756544D73348F162D42&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;254&quot; width=&quot;450&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
EVGA에서 제작한 그래픽카드 튜닝 프로그램입니다. 여러가지 기능이 제공되며, 오버클럭 및 팬 컨트롤이 주된 기능입니다.&lt;br /&gt;
&lt;br /&gt;
EVGA의 그래픽카드중 4핀 그래픽카드는 PWM(자동 팬 컨트롤) 기능이 가능하나, 기본적으로 부팅시 최대 팬속을 유지하다가 이후에 최소 팬속을 유지합니다. 이 프로그램은 GPU 온도에 따라서 팬속을 올리고 내리는 것이 가능합니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/20102A544D7334921CB7FD&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/20102A544D7334921CB7FD&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image002.jpg&quot; height=&quot;450&quot; width=&quot;355&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
위 그림은 온도에 따라 팬속을 설정하는 기능입니다.&lt;br /&gt;
&lt;br /&gt;
상단의 첨부파일은 2.01버전이며, 더 높은 버전을 원하시는분은 위의 사이트에 접속하셔서 가입하시고 다운받으시면 됩니다.&lt;br /&gt;</description>
			<category>프로그램 리뷰/자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/898</guid>
			<comments>http://rheech.tistory.com/898#entry898comment</comments>
			<pubDate>Sun, 06 Mar 2011 16:23:23 +0900</pubDate>
		</item>
		<item>
			<title>SSD, 어떻게 선택하면 될까?</title>
			<link>http://rheech.tistory.com/897</link>
			<description>Solid State Drive, 줄여서 SSD의 가격이 지속적으로 하락하면서, 컴퓨터 조립시 혹은 노트북에 SSD를 선택하시는 분들이 지속적으로 늘어나고 있습니다. 기존 하드디스크에 비해 향상된 SSD, 무엇이 어떻게 향상되었는지 알아보겠습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/13496C4E4D6B32C423B720&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/13496C4E4D6B32C423B720&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image002.jpg&quot; height=&quot;329&quot; width=&quot;296&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
SSD(상단), HDD(하단)&lt;br /&gt;
&lt;br /&gt;
우선 겉모양으로 보았을 때, SSD와 HDD는 큰 차이가 없습니다. 방식도 SATA방식으로 2.5인치 하드디스크와 동일합니다. 아래는 내부 구조입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1149974E4D6B32BF234C74&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1149974E4D6B32BF234C74&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;161&quot; width=&quot;328&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
HDD(왼쪽)과 SSD(오른쪽)&lt;br /&gt;
&lt;br /&gt;
기존 하드디스크는 파일 읽기/쓰기 명령이 들어오면 위의 바늘이 원판을 돌아다니면서 작업을 처리합니다. 따라서, 읽기 혹은 쓰기 작업이 여러 섹터에 분산되어 있으면, 그만큼 원판 위의 바늘이 많이 돌아야 하기에 엑세스 시간이 늘어납니다. 이에 비해 SSD는 플래시 메모리로 구성되어 있어 아무리 분산된 작업이라도 빠른 시간내에 처리가 가능합니다.&lt;br /&gt;
&lt;br /&gt;
SSD에 대해 자세히 들어가기 전에, 보조 기억장치의 성능을 측정하는 방법을 몇 가지 알아보겠습니다.&lt;br /&gt;
1. 연속 읽기/쓰기 (Sequential Read/Write)&lt;br /&gt;
보조 기억장치는 섹터 단위로 읽고 쓰는 작업이 일어납니다. 섹터는 컴퓨터가 주소지정을 할 수 있는 최소 단위의 저장공간으로, 한 섹터당 512 바이트의 크기를 가지고 있습니다. 이렇게 보조기억장치의 공간은 주소가 할당되어 있습니다. 연속 읽기/쓰기는 요청한 작업의 주소값이 연속적일때를 말합니다. &quot;100번 섹터부터 500번 섹터까지 읽어라&quot; 이런식으로 보시면 되며, 예를 들면 영화를 보는 작업등이 이에 해당합니다. (단, 영화파일이 조각나지 않았다는 조건과 백그라운드로 실행되는 프로그램에 요청이 없을때.)&lt;br /&gt;
&lt;br /&gt;
2. 랜덤 읽기/쓰기 (Random Read/Write)&lt;br /&gt;
이는 요청한 작업이 여기저기서 읽고 써야할 때를 의미합니다. 컴퓨터의 대부분의 작업이 이것이며, 하드디스크는 원반 위의 바늘을 움직이면서 읽어야 하는 하드디스크는 이러한 랜덤 엑세스 작업에 취약합니다. 윈도우 부팅시에 드르륵 드르륵.. 소리가 나면서 시작 프로그램들이 늦게 뜨는 이유도 여기에 있으며, 이를 하드디스크의 병목현상이라고 부릅니다.&lt;br /&gt;
&lt;br /&gt;
이전에 하드디스크는 엑세스 속도, 특히 랜덤 엑세스 속도를 높이기 위해 원판의 회전 속도를 높여오고, 하드디스크의 버퍼를 만들어 이를 보정하였습니다. 현재 7200rpm (1분에 7200번 회전) 과 32~64MB의 버퍼가 일반적인 하드디스크입니다.&lt;br /&gt;
&lt;br /&gt;
여담으로, 실제로 더욱더 빠른 하드디스크를 위해 10000rpm까지 올린 하드디스크가 존재합니다. 대표적으로 웨스턴디지털의 VelociRaptor(벨로시랩터)가 있습니다. 하지만, 열과 소음이 심하고(보통 이러한 하드디스크는 방열판과 일체형으로 나옵니다.) 이에 비해 가격이 고가여서 잘 사용하지 않습니다. SSD의 여파로 가격이 많이 하락한 상태이나, 그래도 현재는 10000rpm 하드디스크를 살바에는 SSD를 산다는 추세로 많이 넘어가고 있습니다.&lt;br /&gt;
&lt;br /&gt;
그럼, 본론으로, SSD의 장점이 무엇인지 알아보겠습니다.&lt;br /&gt;
1. 무소음&lt;br /&gt;
SSD는 기계적으로 원판을 돌려서 데이터를 읽고 쓰는 하드디스크와는 달리 전기적으로 읽고 쓰기에, 소음이 거의 없습니다.&lt;br /&gt;
&lt;br /&gt;
2. 빠른 랜덤 읽기속도&lt;br /&gt;
하드디스크는 읽기 속도가 60~150MB가량 하나, 랜덤 읽기속도는 이의 절반에도 못미치는게 현실입니다. 하지만, SSD의 랜덤 읽기 속도는 순차 읽기 속도와 거의 같습니다. SSD의 읽기 속도가 하드디스크보다 빠르거나 같은정도라고 감안하면, SSD의 랜덤 읽기속도는 상당한 수준인 것입니다. 랜덤 읽기 속도도 빠르기에, 작은 파일, 일명 4k 읽기 속도도 상당히 빠른 편입니다.&lt;br /&gt;
&lt;br /&gt;
그렇다면, 단점을 보도록 하겠습니다.&lt;br /&gt;
1. 아직 고가이다.&lt;br /&gt;
네. 가격대가 많이 내리기는 하였으나, 아직도 상당히 고가의 수준에 머물러 있습니다. 다만, 현재 가격대로는 HDD와 겨룰 만 한 가격대라고 개인적으로 보고 있습니다. 현재 120GB 인텔 SSD가 $229.99 한화로 26만원 정도라고 보면 되겠군요..&lt;br /&gt;
&lt;br /&gt;
2. Host Write, 즉 쓰기 횟수 및 쓰기 속도&lt;br /&gt;
하드디스크는 쓰기 횟수에 지장이 없었고, 쓰기 속도도 읽기 속도와 동일하였으나, SSD는 낸드플래시의 구조상 쓰기 속도가 떨어지며, 쓰기 횟수에 제한이 있습니다.&lt;br /&gt;
&lt;br /&gt;
구조에 대해 잠시 알아보겠습니다. SSD는 셀(Cell) 내에 데이터를 저장하는 방식입니다. SSD의 데이터 입력 방식은 낸드 플래시 내부의 전기적인 구조를 바꾸는 방식인데, 이 구조를 여러번 바꿀 경우 더이상 데이터 입력이 불가능한 상태가 됩니다. 이것이 낸드플래시의 수명이 되겠습니다. 이는 MLC 기준 한셀당 10만번 정도라고 합니다.&lt;br /&gt;
&lt;br /&gt;
3. 기존 하드디스크와의 호환성 문제&lt;br /&gt;
SSD는 하드디스크와는 다르게, 데이터가 입력되어 있는 셀에 다른 데이터를 덮어 씌우는 것이 불가능합니다. 따라서, 해당 셀의 데이터를 비운 후에 다시 작성해야 하는데, 이것이 기존 하드디스크에서 사용하던 방식을 그대로 사용할 경우의 문제점입니다. 현재 이를 보완하기 위해 AHCI라는 규격이 존재하며, 이는 Trim이라는 명령이 추가되었습니다. Trim은 기존의 삭제방식, 즉 파일 삭제시에 이진 파일의 첫머리만 삭제하는 방식과 다르게, 셀 자체를 비워주는 명령입니다. 현재 많이 개선되어 하드디스크와의 호환성은 크게 문제되지는 않습니다.&lt;br /&gt;
&lt;br /&gt;
마지막으로, SSD 선택시에 참고할 만한 정보들을 알려드리겠습니다.&lt;br /&gt;
현재 한 셀 내에 하나의 이진 데이터를 저장하는 방식(SLC, Single Layer Cell)과 한 셀 내에 두 이진 데이터 이상을 저장하는 방식(Multi Layer Cell)이 존재합니다. MLC가 한 셀내에 두 데이터 이상을 저장하기에 가격대비 용량이 높아 현재 많이 사용되는 방식입니다.&lt;br /&gt;
&lt;br /&gt;
SSD 선택시에 봐야 할 것은 역시 읽기와 쓰기 속도입니다. 현재 나온 인텔 G2는 읽기 250MB/s이며, 쓰기 100MB/s입니다. 개인적으로 인텔 G2를 추천합니다. 기존 세대인 인텔 G1은 트림이 지원되지 않고, 대신에 가비지 콜렉션(틈틈히 쓰레기 데이터를 지우는 방식)이었습니다.&lt;br /&gt;
&lt;br /&gt;
SSD회사 선택시에 개인적으로 가장 좋게보는 회사는 인텔이구요.. 그 이후에 삼성과 OCZ정도라고 봅니다..(개인적인 생각힙니다.)&lt;br /&gt;
&lt;br /&gt;
이후에 인텔 25nm 공정의 G3가 나온다고 하니 기다리실 분들은 기다리시는것도 좋다고 생각합니다. (G2는 34nm 공정입니다.)&lt;br /&gt;
&lt;br /&gt;
오랜만에 글을 쓰니 익숙하지가 않네요.. 잘못된 부분이나 궁금하신점 있으면 댓글 부탁드립니다.&lt;br /&gt;</description>
			<category>주변기기+부품 자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/897</guid>
			<comments>http://rheech.tistory.com/897#entry897comment</comments>
			<pubDate>Tue, 01 Mar 2011 00:34:42 +0900</pubDate>
		</item>
		<item>
			<title>MASM 강좌 - 기초</title>
			<link>http://rheech.tistory.com/896</link>
			<description>A. Win32 코딩&lt;br /&gt;
Win32 프로그램들은 32비트 보호모드의, 하나의 메모리 모델에서 작동합니다. (FLAT memory model)&lt;br /&gt;
아래는 이에 대한 자세한 설명입니다.&lt;br /&gt;
&lt;br /&gt;
1. 코드, 데이터, 스택은 같은 메모리 위치에서 시작되고, 같은 메모리 주소에서 시작됩니다.&lt;br /&gt;
2. 이론상 코드, 데이터, 스택의 합은 4GB 입니다. 실제 최대 공간은 윈도우NT 이전은 약 2GB, NT/2000 에서는 약 3GB정도입니다.&lt;br /&gt;
3. 더이상 세그먼트&lt;sup class=&quot;footnote&quot;&gt;&lt;a id=&quot;footnote_link_896_1&quot; href=&quot;#footnote_896_1&quot; onmouseover=&quot;tistoryFootnote.show(this, 896, 1)&quot; onmouseout=&quot;tistoryFootnote.hide(896, 1)&quot; style=&quot;color: #f9650d; font-family: Verdana, Sans-serif&quot;&gt;&lt;span style=&quot;display: none&quot;&gt;[각주:&lt;/span&gt;1&lt;span style=&quot;display: none&quot;&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt; 레지스터가 필요 없습니다.&lt;br /&gt;
4. 더이상 코드 세그먼트(CS)를 이용하여 코드를 수정할 수는 없으나, 데이터 세그먼트(DS), 엑스트라 세그먼트(ES), 스택 세그먼트(SS)는 사용할 수 있습니다.&lt;br /&gt;
5. 프로그램에서 예약되지 않은 메모리 영역을 엑세스 하려고 하면, 운영체제(윈도우)가 오류 메시지를 띄우면서 프로그램을 접근 금지시킵니다. 이는, 프로그램의 버그(bug)를 잡기에 유용합니다.&lt;br /&gt;
6. 스택의 크기는 메모리 오버플로(memory overflow)가 나지 않는 한도내에서 얼마든지 커질 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
Win32 코딩의 장점&lt;br /&gt;
1. 비디오 메모리, 코드, 데이터, 파일 입출력, 사운드 출력 등의 모든 요소들이 같은 세그먼트 내에 존재합니다. 64k의 제한에 대하여 더이상 고려할 필요가 없습니다. (기존 저수준 프로그래밍에 비해)&lt;br /&gt;
2. 모든 레지스터들은 32비트 메모리의 포인터로 사용할 수 있습니다.&lt;br /&gt;
4. 특정 하드웨어들을 위한 표준화된 함수가 제공됩니다.&lt;br /&gt;
&lt;br /&gt;
B. 필요한 것들&lt;br /&gt;
1. 어셈블러와 링커&lt;br /&gt;
종류에는 여러가지가 있습니다. 아래를 참조하세요.&lt;br /&gt;
NASM와 ALINK, TASM와 TLINK, MASM와 LINK.&lt;br /&gt;
이 중에서 TASM과 MASM은 많이 비슷하며, NASM은 문법의 차이가 조금 있습니다.&lt;br /&gt;
&lt;br /&gt;
C. 시작&lt;br /&gt;
간단한 코딩을 보겠습니다.&lt;br /&gt;
1. TASM or MASM&lt;br /&gt;
&lt;br /&gt;
.386&lt;br /&gt;
.model flat&lt;br /&gt;
&lt;br /&gt;
윈도우 함수는 SDK에 정의되어 있는 많은 함수르 사용합니다. windows.inc, win32n.inc 등에 정의되어 있으며, 코드에 다음과 같이 정의하면 됩니다.&lt;br /&gt;
&lt;br /&gt;
%include &quot;win32n.inc&quot; (NASM)&lt;br /&gt;
include &quot;windows.inc&quot; (TASM/MASM)&lt;br /&gt;
&lt;br /&gt;
윈도우 함수는 DLL(동적 링크 라이브러리)에 들어있습니다. 어셈블리에서는 &quot;NEAR&quot;와 &quot;EXTERN&quot; 키워드로 접근합니다. MASM은 TASM, NASM과는 다른 키워드를 사용합니다. 아래의 코드는 TASM과 MASM의 문제를 해결할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;IFDEF masm&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ExitProcess equ _ExitProcess@4&lt;br /&gt;
ENDIF&lt;br /&gt;
&lt;br /&gt;이 코드는 MASM에서 실행되는 모든 dll 함수에 적용해야 합니다.&lt;br /&gt;
&lt;br /&gt;extern ExitProcess : near&lt;br /&gt;
&lt;br /&gt;이와는 달리, NASM은 해당 함수가 있는 DLL의 이름을 명시하여야 합니다.&lt;br /&gt;&lt;div class=&quot;footnotes&quot;&gt;
	&lt;ol class=&quot;footnotes&quot;&gt;
		&lt;li id=&quot;footnote_896_1&quot;&gt;세그먼트란 IA-32 메모리 모델에서 나오는 용어로, 메모리를 조각내어 각 조각마다 시작주소, 범위, 접근 권한들을 부여해서 메모리를 보호하는 기법입니다. 세그먼트 레지스터로는 CS(Code Segment), DS(Data Segment), SS(Stack Segment), ES(Extra Segment) 등이 있습니다. &lt;a href=&quot;#footnote_link_896_1&quot;&gt;[본문으로]&lt;/a&gt;&lt;/li&gt;
	&lt;/ol&gt;
&lt;/div&gt;
</description>
			<category>어셈블리 [Assembly]</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/896</guid>
			<comments>http://rheech.tistory.com/896#entry896comment</comments>
			<pubDate>Mon, 07 Feb 2011 12:46:14 +0900</pubDate>
		</item>
		<item>
			<title>안부 인사 올립니다.</title>
			<link>http://rheech.tistory.com/895</link>
			<description>안부 인사 올립니다.&lt;br /&gt;
&lt;br /&gt;
오랫동안 블로그를 비우다 보니 여러 일들이 일어났네요.. 많은 분들이 블로그를 비우시고..&lt;br /&gt;
&lt;br /&gt;
조만간 다시 돌아오겠습니다.&lt;br /&gt;</description>
			<category>블로그 이야기</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/895</guid>
			<comments>http://rheech.tistory.com/895#entry895comment</comments>
			<pubDate>Sun, 08 Aug 2010 22:54:46 +0900</pubDate>
		</item>
		<item>
			<title>컴퓨터 최종 스펙 및 체험지수입니다.</title>
			<link>http://rheech.tistory.com/894</link>
			<description>필자의 컴퓨터 최종 스펙 및 체험지수를 올립니다.&lt;br /&gt;
&lt;br /&gt;
1. CPU&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/133E0B0B4C431CA728E518&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/133E0B0B4C431CA728E518&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image001.png&quot; height=&quot;197&quot; width=&quot;187&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
i7 860 린필드 2.8GHz 쿼드코어&lt;br /&gt;
가성비로는 i7 860이 바로 아래 성능인 i5 750에 비해 조금 떨어지지만, 한번 질러봤습니다..&lt;br /&gt;
i5 750에 비해 클럭 수가 조금 높으며, 하이퍼 스레딩을 지원하는 것이 특징입니다.(논리코어수를 물리코어의 두배, 즉 8개로 늘려주는 기술)&lt;br /&gt;
하이퍼 스레딩은 성능이 향샹 된다, 안된다 말이 많은 기술입니다. 병렬 컴퓨팅을 지원하는 경우에는 성능 향상이 있으나, 지원하지 않는 프로그램의 경우에는 오히려 성능이 떨어질 수도 있습니다.&lt;br /&gt;
&lt;br /&gt;
2. 그래픽 카드&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1546ED0B4C431CAC1DCBD9&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1546ED0B4C431CAC1DCBD9&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image002.png&quot; height=&quot;206&quot; width=&quot;279&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
9800gt의 사골국이라고 불리는 EVGA GTS 250 1GB입니다. 필자는 게임을 많이 하지 않기에 GTS 250만으로도 넘쳐나더군요.. 단점이라면 소음이 있다는것.. 이 문제는 사제쿨러 구매로 해결했습니다. 체험지수에서 각 점수들 중에는 가장 낮은 점수가 나오더군요.ㅎㅎ&lt;br /&gt;
&lt;br /&gt;
3. 메인보드&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile3.uf.tistory.com/original/1733E20B4C431CB24741DA&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1733E20B4C431CB24741DA&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image003.png&quot; height=&quot;225&quot; width=&quot;348&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
GA-P55-UD3R&lt;br /&gt;
요즘 메인보드는 USB 3.0 및 SATA 3.0을 지원하더군요.. 이 메인보드는 이 두가지를 지원하지는 않습니다. ATX 사이즈이며, PCI 카드 슬롯이 4개, 중-고사양 그래픽 카드를 장착하면 바로 아래 슬롯을 사용하지 못하므로 3개가 지원됩니다. (PCI-E는 그래픽카드 슬롯을 제외하고 2개라고 보면 되겠군요..)&lt;br /&gt;
&lt;br /&gt;
4. HDD &amp;amp; SSD&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/133E470B4C431CBC22A473&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/133E470B4C431CBC22A473&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image005.png&quot; height=&quot;284&quot; width=&quot;362&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
인텔 X25-M SATA II 160GB입니다. 처음에 데스크탑 구매시에 산 것이 아니라, 넷북에 사용하려고 했다가 데스크탑으로 옮겼습니다.. 넷북에 장착하니까 속도가 많이 나지 않더군요.. 아직까지 문제가 있는 쓰기횟수.. 인텔에서는 매일 100GB씩 기록하더라도 5년은 간다고 하나, 그래도 MLC 방식이라 수명에 조금 신경쓰는 편이 좋을거 같습니다.&lt;br /&gt;
속도는 장난 아니게 빠릅니다.. 몇개의 프로그램을 동시에 실행해도..1초.. 윈도우 업데이트시에 패키지 하나 설치하는데 길어야 2~3 초네요.. 돈값을 하는거 같습니다..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile2.uf.tistory.com/original/1437580B4C431CC05D2E48&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile2.uf.tistory.com/image/1437580B4C431CC05D2E48&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image006.png&quot; height=&quot;247&quot; width=&quot;174&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
웨스턴 디지털의 캐비어 블랙 1TB입니다.. SSD를 구매할거 같았으면 WD의 그린버전을 구매할걸.. 이라는 생각도 들었습니다. 물론 값차이를 하기는 합니다만.. 7200rpm이라서인지, 데스크탑 케이스에 진동소음이 어느정도 있습니다.. (5.25인치에 장착하는 HDD Stabilizer 2 를 사용하고나서 소음이 많이 줄기는 했습니다.)&lt;br /&gt;
&lt;br /&gt;
5. 램&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile21.uf.tistory.com/original/18346E0B4C431CCA560799&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile21.uf.tistory.com/image/18346E0B4C431CCA560799&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image008.png&quot; height=&quot;173&quot; width=&quot;266&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
CORSAIR XMS3 4GB 12800&lt;br /&gt;
요즘 DDR3램은 보통 방열판이 붙어서 나오더군요.. 그만큼 발열이 어느정도 있다는 말이겠죠.. 지스킬과 커세어램이 좋은거 같습니다.&lt;br /&gt;
&lt;br /&gt;
6. ODD&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile30.uf.tistory.com/original/192C6B0B4C431CD7463EF2&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/192C6B0B4C431CD7463EF2&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image010.png&quot; height=&quot;140&quot; width=&quot;255&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
LG GH22LS50, SATA&lt;br /&gt;
ODD.. 개인적으로 블루레이가 아니면 뭐 어떤거든 좋다입니다.. 듀얼레이어에 굽기까지만 지원된다면요..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. 파워 서플라이&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/163AD30B4C431CDC43F4E4&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/163AD30B4C431CDC43F4E4&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image011.png&quot; height=&quot;216&quot; width=&quot;335&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Enermax Ps Emd525Awt Modu82+ 525W&lt;br /&gt;
사실.. 이 제품 전에 시소닉 SS-500ET를 구매했었습니다.. 쯔... 소리가 나서 환불요청을 했고요, (한번 교체 후에도 소리가 나서 환불했습니다.) 그 이후로 구매한게 모듈형 에너맥스 파워서플라이를 구매했습니다.&lt;br /&gt;
이 파워서플라이로 교체 후에 전기적 소음(고주파음)은 없고, 팬은 상당히 정숙합니다.&lt;br /&gt;
모듈형이라 필요한 케이블만 연결해서 쓸 수 있어 선 정리도 상당히 편리하더군요..&lt;br /&gt;
파워서플라이는 보통 에너맥스, 시소닉, 세븐팀, FSP, 히로이찌(HEC), 스카이디지털 정도급으로 보는것이 좋습니다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. 본체&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/173E7D0B4C431CC44273BE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/173E7D0B4C431CC44273BE&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image007.png&quot; height=&quot;339&quot; width=&quot;263&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
쿨러마스터 CAC-T05-UW ATX&lt;br /&gt;
디자인도 깔끔하고, 좋더군요.. 몇가지 단점이 있다면, 한가지는 측면 팬이 있었으면 하는것과 정면의 흡기팬이 80mm라는것입니다. 전체적인 통풍은 나쁘지 않으나, 조금 무거운 작업을 돌리면 전체적인 케이스 온도가 40도 초반까지 올라가더군요..&lt;br /&gt;
마운팅 베이.. 이건 드라이버 없이 설치가 가능하게 하기 위해 서랍처럼 넣을 수 있도록 구성되어 있더군요.. 다만, 설명서가 부실해서 사용법을 익히느라 5.25인치 베이에 마운팅 할때마다 장치들의 측면이 내부의 날카로운 것들로 긁혔습니다.. 개인적으로 드라이버로 마운팅하는 베이가 확장성 면에는 오히려 더 좋다고 봅니다.. (위의 케이스는 하드디스크의 고무줄 공중부양도 어렵습니다..)&lt;br /&gt;
&lt;br /&gt;
※ 기타 악세사리 및 튜닝용품&lt;br /&gt;
1. 타워형 CPU 쿨러 - CNPS10x Quiet&lt;br /&gt;
위의 쿨러를 사용하면, 측면의 에어가이드는 반드시 제거해야 합니다. P55의 메인보드에는 이 cpu쿨러를 사용할 경우 첫번째 램 슬롯과의 간섭이 있습니다. 램을 2개만 사용할 분들은 문제가 없으나, 4개를 사용할 경우에는 다른 2개는 램의 방열판이 높지 않은것으로 구매하시기를 권장합니다. 1000rpm에서 돌리는 가정하에 쿨링성능은 좋습니다. 아이들시에 벤치상으로 20도 초중반정도 나옵니다.&lt;br /&gt;
&lt;br /&gt;
2. 잘만 VF1000 그래픽카드 쿨러&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/133E880B4C431CD36AC24B&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/133E880B4C431CD36AC24B&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image009.png&quot; height=&quot;178&quot; width=&quot;258&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
위에 EVGA GTS 250의 전면을 떼어내고 위 쿨러를 장착했습니다. 장착 결과는 대만족이었습니다. 상당히 정숙합니다.. 3핀이며, 1300rpm ~ 3000rpm 정도로 돕니다.&lt;br /&gt;
&lt;br /&gt;
3. 잘만 ZM-MFC3 팬 컨트롤러&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile27.uf.tistory.com/original/1131250B4C431CDE4BE6EE&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile27.uf.tistory.com/image/1131250B4C431CDE4BE6EE&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image012.png&quot; height=&quot;100&quot; width=&quot;216&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
전면 5.25인치 베이에 설치하는 팬 컨트롤러입니다. 4개의 팬을 rpm에 따라 조정이 가능하며, 마지막1개의 팬은 PWM 기능이 있는 팬을 설치해야 합니다. 컴퓨터 사용시간 및 전기 사용량, 특정 부위의 온도를 실시간으로 보여줍니다. 한가지 단점이 있다면, 밤에 LCD 패널이 조금 밝습니다.. 앞에 종이로 가려서 쓰고 있습니다.&lt;br /&gt;
&lt;br /&gt;
4.Scythe SCY-HDS2 &quot;Anti-Vibration HDD Stabilizer 2&quot;&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1632570B4C431CE146ED62&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1632570B4C431CE146ED62&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image013.png&quot; height=&quot;139&quot; width=&quot;215&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
3.5인치 하드디스크를 5.25인치 베이에 설치가 가능하게 해주는 것과 동시에 진동소음을 감소시켜 줍니다. 가운데에 검은 동그란 것은 고무로 구성되어 있습니다. 따라서, 일명 &quot;하드디스크 공중부양&quot; 과 흡사한 역할을 해줍니다.&lt;br /&gt;
&lt;br /&gt;
5. 에너맥스 클러스터 120mm PWM 팬&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile30.uf.tistory.com/original/193D140B4C431CE33A9304&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/193D140B4C431CE33A9304&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;image014.png&quot; height=&quot;166&quot; width=&quot;152&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
케이스 후면 배기에 설치했습니다. 소음 때문이 아니라 팬 컨트롤러 마지막이 PWM 기능을 요구해서 구매하게 되었습니다. 값이 조금 나가지만 어느정도 만족합니다. 최대가 1200rpm이라는게 조금 흠이지만, 해당 rpm에 비하면 풍량이 다른 제품들에 비해 높은편입니다.. 따라서 풍량에 비해 상당히 정숙하더군요..&lt;br /&gt;
&lt;br /&gt;
※ 소음 튜닝 결과&lt;br /&gt;
위의 다섯가지 용품들은 전부 소음 튜닝을 위해 구매한 것들입니다.&lt;br /&gt;
컴퓨터를 하루종일 켜놓기에 소음과 통풍은 필자에게는 상당히 중요한 요소라서, 돈을 좀 들이고도 소음 튜닝을 하게 되었습니다.&lt;br /&gt;
&lt;br /&gt;
결과는 대만족이었습니다. 소음에 민감한 필자도, 컴퓨터를 하루종일 켜놔도 켜 놓았는지 햇갈릴 정도이며, 직접 귀에 대지 않는 한 소음을 느낄 수 없습니다. 팬 컨트롤러로 모든 팬을 1000rpm으로 맞추었으며, (그래픽카드만 1300rpm, 그 이하로는 안내려가더군요.) 간혹 무거운 작업을 돌릴 때만 rpm을 최대로 올려버립니다. 참고로 최대 rpm일 때는 작은 선풍기가 돌아가는 웅~ 하는 소리가 납니다.&lt;br /&gt;
정숙 모드에서 아이들시에 측정된 온도는(현재) 전면 팬 부분 31도, 그래픽카드 방열판 38.6도, cpu 코어쪽의 방열판 35.7도, 케이스 상단(천장) 36.2도입니다.&lt;br /&gt;
&lt;br /&gt;
보통 동영상 감상시에는 그래픽카드 방열판이 44~45도까지 올라가며, 콜오브듀티같은 고사양 게임을 돌려야 하는 경우에는 rpm을 높여주어야 합니다. 높이지 않으면 그래픽카드 방열판이 50도 초반으로 상승하며, 케이스 온도가 40도 초중반까지 상승합니다. (이 온도들은 온도계로 직접 측정한 온도이며, 벤치마크 소프트로 측정한 온도와는 많이 차이가 납니다.)&lt;br /&gt;
&lt;br /&gt;
하드디스크의 경우에도 HDD Stabilizer 2를 사용하고부터 풀로드 시에도 드르륵 소리가 거의 나지 않습니다.&lt;br /&gt;
&lt;br /&gt;
마지막으로 cpu의 공식 벤치 점수 및 체험지수입니다. (직접 벤치해서 올릴 생각도 있었으나.. 생략하겠습니다.)&lt;br /&gt;
&lt;br /&gt;
공식 벤치 점수는 요약글에 넣겠습니다.&lt;br /&gt;
&lt;p id=&quot;more894_0&quot; class=&quot;moreless_fold&quot;&gt;&lt;span style=&quot;cursor: pointer;&quot; onclick=&quot;toggleMoreLess(this, '894_0','더보기','접기'); return false;&quot;&gt;더보기&lt;/span&gt;&lt;/p&gt;&lt;div id=&quot;content894_0&quot; class=&quot;moreless_content&quot; style=&quot;display: none;&quot;&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/17272A184C43691E2F0758&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/17272A184C43691E2F0758&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;image015.png&quot; height=&quot;441&quot; width=&quot;438&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
30위군요.&lt;br /&gt;
아래는 860에 관한 정보입니다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/112736184C4369200B7883&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/112736184C4369200B7883&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;image016.png&quot; height=&quot;657&quot; width=&quot;515&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
마지막으로 시스템 등록정보 및 체험지수를 공개하겠습니다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile6.uf.tistory.com/original/112749184C436926174FA8&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile6.uf.tistory.com/image/112749184C436926174FA8&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;image018.jpg&quot; height=&quot;381&quot; width=&quot;528&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/152743184C4369220F64F2&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/152743184C4369220F64F2&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;image017.png&quot; height=&quot;373&quot; width=&quot;484&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
조금 아쉬운 점이 있다면.. 그래픽카드로 인해 점수를 조금 깎아먹었다는겁니다..ㅎㅎ;; 이 숫자놀이.. 은근히 재밌네요..ㅎㅎ;; 이러다 돈 낭비하지 않도록 조심해야겠습니다 ㅋㅋ;;;;&lt;br /&gt;
&lt;br /&gt;
이걸로 스펙 소개를 마치겠습니다. (각 부품들의 가격은 시간날때 다시 올리도록 하겠습니다.)&lt;br /&gt;</description>
			<category>주변기기+부품 자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/894</guid>
			<comments>http://rheech.tistory.com/894#entry894comment</comments>
			<pubDate>Mon, 19 Jul 2010 05:56:27 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 4-1 제어문 :: 조건문</title>
			<link>http://rheech.tistory.com/893</link>
			<description>제어문에는 크게 두가지로, 조건을 판단하는 조건문과, 반복적인 수행을 할 수 있는 반복문이 있다.&lt;br /&gt;
&lt;br /&gt;
이번에 볼 조건문에는 If문, Select Case문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1. If문.&lt;/span&gt;&lt;br /&gt;
조건문중에 &lt;span style=&quot;font-weight: bold;&quot;&gt;가장&lt;/span&gt; 많이 사용하는 문법이며, 조건을 판단하는데에 사용한다.&lt;br /&gt;
여러가지 변형이 있으나, 기본적인 구조는 아래와 같다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;If&lt;/span&gt; 조건 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; True일때 조건수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
조건에 대한 결과가 True 값인 경우 조건을 수행하는, 아주 기본적인 골격이다. 연산 결과가 False이면 조건을 수행하지 않고, 그냥 건너뛴다.&lt;br /&gt;
&lt;br /&gt;
아래는 Else가 있는, 조금 변형된 If문이다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;If&lt;/span&gt; 조건 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; True일때 조건 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; False일때 조건 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
If...Else...End If는 If문 내의 조건이 수행되지 않았을 경우 수행된다.&lt;br /&gt;
&lt;br /&gt;
마지막으로 위의 If에 ElseIf를 붙인 If문이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;If&lt;/span&gt; 조건 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; True 일때 조건 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;ElseIf&lt;/span&gt; 또다른 조건 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 첫번째 조건에 만족하지 않으면서 &quot;또다른 조건&quot;에 만족하는 경우 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;ElseIf&lt;/span&gt; 세번째 또다른 조건 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 조건, 또다른 조건을 만족하지 않으면서 &quot;세번째...&quot;를 만족하는 경우 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 어떠한 조건 수행문도 수행되지 않았을 경우 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;예시) 시험점수를 분류하는 예시&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim&amp;nbsp;&lt;/span&gt;Score &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As Double&lt;/span&gt;&lt;br /&gt;
Score&amp;nbsp;= &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;CDbl&lt;/span&gt;(InputBox(&quot;성적을 입력하세요.&quot;))&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;Grade &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As String&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;If &lt;/span&gt;Score &amp;gt;= 90 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grade = &quot;A&quot;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;ElseIf &lt;/span&gt;Score &amp;gt;= 80 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grade = &quot;B&quot;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;ElseIf &lt;/span&gt;Score &amp;gt;= 70 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grade = &quot;C&quot;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;ElseIf &lt;/span&gt;Score &amp;gt;= 60 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grade = &quot;D&quot;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Grade = &quot;F&quot;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
MessageBox.Show(&quot;당신의 점수는 &quot; &amp;amp; Score.ToString() &amp;amp; &quot;이며, 학점은 &quot; &amp;amp; Grade &amp;amp; &quot; 입니다.&quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;※ 참고사항&lt;/span&gt;&lt;br style=&quot;font-weight: bold;&quot;&gt;If문에 And, Or 등의 비교 연산자를 함께 사용하여 다중 판단을 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;예시) 해당 값이 3 또는 5일 경우에만 실행을 하고 싶을 때&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;If &lt;/span&gt;value = 3 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Or &lt;/span&gt;value = 5 &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Then&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 실행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End If&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;2. Select Case...End Select 문&lt;/span&gt;&lt;br /&gt;
Select Case문은 하나의 값으로 여러개의 조건을 판단할때 사용하면 유리하다. 거꾸로, 기준이 되는 값은 하나밖에 들어가지 못한다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Select Case&lt;/span&gt; 비교대상&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;조건 혹은 일치하는 조건값&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 조건수행&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;조건 혹은 일치하는 조건값&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 조건수행&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 위의 어떠한 조건에도 일치하지 않을때 수행&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End Select&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;예제) 랜덤으로 점수를 만들어낸 후, 10점 단위로 떨어질 때만 점수 계산&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;t &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As Integer&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim&lt;/span&gt; r &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As New&lt;/span&gt; Random()&lt;br /&gt;
t = r.Next(101)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Select Case&lt;/span&gt; t&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;100&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;만점입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;90&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;아슬아슬하게 A입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;80&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;아슬아슬하게 B입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;70&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;아슬아슬하게 C입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;60&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;아슬아슬하게 D입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;입니다.&quot;)&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End Select&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
※ 이 예제에서 10단위에 걸릴 확률은 5%로, 상당히 적다.. 정확히 60이상의 10단위에 걸려야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;아래는 Case에 조건을 거는 방법이다.&lt;/span&gt; 위의 예제는 반드시 값이 일치해야 하지만, Case Is를 사용하면 숫자형 데이터에서 조건이 맞는 경우로 확장할 수 있다.&lt;br /&gt;
&lt;br /&gt;
위의 예제를 아래와 같이 고쳐보았다.&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;t &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As Integer&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;r &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As New &lt;/span&gt;Random()&lt;br /&gt;
t = r.Next(101)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Select Case&lt;/span&gt; t&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case &lt;/span&gt;100&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;만점입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Is&lt;/span&gt; &amp;gt;= 90&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;, A입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Is&lt;/span&gt; &amp;gt;=  80&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;, B입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Is&lt;/span&gt; &amp;gt;=  70&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;, C입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Is&lt;/span&gt; &amp;gt;= 60&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;, D입니다.&quot;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Case Else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;점수는 &quot; &amp;amp; t.ToString() &amp;amp; &quot;, F입니다.&quot;)&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;End Select&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;※ 추가로 알아 둘 것, IIf (아이 아이 에프)&lt;/span&gt;&lt;br /&gt;
비주얼 베이직은 If문 외에 IIf라는 함수가 있다. 이는 C를 기본 문법으로 사용하는 언어(C, C++, JAVA, C# 등등)의 삼항연산자와 방식이 비슷하다. 다만, Iif는 If문과는 다르게 함수로 존재한다.&lt;br /&gt;
&lt;br /&gt;
아래는 IIf 함수의 원형이다.&lt;br /&gt;
IIf(&lt;span style=&quot;font-style: italic;&quot;&gt;Expression &lt;/span&gt;As Boolean, &lt;span style=&quot;font-style: italic;&quot;&gt;TruePart &lt;/span&gt;As Object, &lt;span style=&quot;font-style: italic;&quot;&gt;FalsePart &lt;/span&gt;As Object) As Object&lt;br /&gt;
&lt;br /&gt;
아래는 90점 이상자는 통과, 그 미만은 불통과를 알려주는 예제이다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;t &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As Integer&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;Dim &lt;/span&gt;r &lt;span style=&quot;color: rgb(0, 0, 255);&quot;&gt;As New &lt;/span&gt;Random()&lt;br /&gt;
t = r.Next(101)&lt;br /&gt;
&lt;br /&gt;
MessageBox.Show(IIf(t &amp;gt;= 70, t.ToString() &amp;amp; &quot;점, &quot; &amp;amp; &quot;통과&quot;, t.ToString() &amp;amp; &quot;점, 불통과&quot;))&lt;br /&gt;
&lt;br /&gt;
위와 같이, If문을 쓰면 몇줄에 걸쳐 작성해야 하는 것을 딱 한줄에 작성할 수 있다. (세미콜론을 사용하여 If문도 한줄로 줄일 수 있으나, 가독성이 떨어지므로 이는 생략한다.)&lt;br /&gt;
&lt;br /&gt;
다만, 처리속도가 If문에 비해 약간 느린편이므로, 빠른 연산속도를 요구하는 프로그램에는 사용하지 않는것이 좋다..&lt;br /&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/893</guid>
			<comments>http://rheech.tistory.com/893#entry893comment</comments>
			<pubDate>Mon, 28 Jun 2010 10:04:40 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 3-4 비트 연산자</title>
			<link>http://rheech.tistory.com/892</link>
			<description>1.1 비트 연산자(Bitwise Operator)란?&lt;br /&gt;
비트 연산자는 값을 비트 단위로 연산하는 연산자이다. 보통 비교 연산자를 숫자형 데이터에 사용시에 비트 연산을 수행한다.&lt;br /&gt;
&lt;br /&gt;1.2 숫자를 비트 단위로 쪼개는 법&lt;br /&gt;
이진수로 바꾸면 된다.&lt;br /&gt;
&lt;br /&gt;예) 9&amp;nbsp;-&amp;gt; 1001 (2^3 + 0*2^2 + 0*2^1 + 2^0)&lt;br /&gt;
&lt;br /&gt;(자리를 위해 게시판에 글 남겨 놓습니다. 다음 강좌부터 진행한 후에 비트 연산자를 올릴 계획입니다.)</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/892</guid>
			<comments>http://rheech.tistory.com/892#entry892comment</comments>
			<pubDate>Thu, 24 Jun 2010 00:20:40 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 3-3 비교 연산자</title>
			<link>http://rheech.tistory.com/891</link>
			<description>1.1 비교 연산자란?&lt;br /&gt;
비교 연산자는 두 값을 비교하는데 사용하는 연산자이다. 비교 연산 후에 반환값은 True 혹은 False이다.&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;=&lt;/TD&gt;
&lt;TD&gt;두 값이 같은지 확인&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;lt;&amp;gt;&lt;/TD&gt;
&lt;TD&gt;두 값이 다르면 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;lt;&lt;/TD&gt;
&lt;TD&gt;해당 값보다 작을 경우 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;gt;&lt;/TD&gt;
&lt;TD&gt;해당 값보다 클 경우 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;lt;=&lt;/TD&gt;
&lt;TD&gt;해당 값보다 작거나 같을 경우 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;gt;=&lt;/TD&gt;
&lt;TD&gt;해당 값보다 크거나 같을 경우 True 반환&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
1.2 비교 연산자의 활용&lt;br /&gt;
비교 연산자는&amp;nbsp;일반적으로 조건문인 If, Iif; 반복문 중에 Do While, Do Until 에 많이 사용된다.&lt;br /&gt;
아래는 간단한 예시이다. 이전 예시와 마찬가지로 Form1_Load 함수에 넣으면 된다.&lt;br /&gt;
&lt;br /&gt;Private Sub Form1_Load(ByVal sender As Object, .......) Handles MyBase.Load&lt;br /&gt;
&amp;nbsp;Dim intTest As Integer&lt;br /&gt;
&amp;nbsp;intTest = CInt(InputBox(&quot;아무 숫자나 입력해 주세요.&quot;))&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;If intTest &amp;gt; 5 Then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;MessageBox.Show(&quot;해당 값은 5보다 큽니다.&quot;)&lt;br /&gt;
&amp;nbsp;Else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;MessageBox.Show(&quot;해당 값은 5보다 작습니다.&quot;)&lt;br /&gt;
&amp;nbsp;End If&lt;br /&gt;
End Sub</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/891</guid>
			<comments>http://rheech.tistory.com/891#entry891comment</comments>
			<pubDate>Wed, 23 Jun 2010 23:40:44 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 예제 :: 간단한 덧셈 계산 프로그램</title>
			<link>http://rheech.tistory.com/890</link>
			<description>이번에는 간단한 덧셈 계산 프로그램을 만들어 볼 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile9.uf.tistory.com/original/13329F1B4BF43E960F30B6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile9.uf.tistory.com/image/13329F1B4BF43E960F30B6&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;433&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
1. Label1의 Text 속성값을 &quot;+&quot; 로 바꾸어줄 것.&lt;br /&gt;
속성값은 오른쪽 아래에 있는 도구를 이용하면 된다.&lt;br /&gt;
&lt;br /&gt;
2. Button1을 더블 클릭하면 아래와 같은 코드 창이 뜰 것이다. Button1_Click와 End Sub 사이에 아래와 같은 코드를 입력하자.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/15328A1B4BF43E9A1B75E6&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/15328A1B4BF43E9A1B75E6&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image002.jpg&quot; height=&quot;175&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Dim intResult As Integer&lt;br /&gt;
intResult = CInt(TextBox1.Text) + CInt(TextBox2.Text)&lt;br /&gt;
&lt;br /&gt;
MessageBox.Show(&quot;계산된 값은 &quot; &amp;amp; intResult.ToString() &amp;amp; &quot;입니다.&quot;)&lt;br /&gt;
&lt;br /&gt;
3. 결과를 테스트해 보자.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile29.uf.tistory.com/original/1432AF1B4BF43E9C201A39&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/1432AF1B4BF43E9C201A39&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image003.jpg&quot; height=&quot;300&quot; width=&quot;300&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
※ 주의사항: intResult.ToString() 대신에 그냥 intResult 로 사용해도 실행상에 문제는 없을 것이다. 이는 컴퓨터가 자동적으로 숫자형 데이터를 문자열형 데이터로 변환시켜주어서이다.(묵시적 형변환)&lt;br /&gt;
정확한 프로그래밍을 위해 ToString()으로 확실히 문자열형 데이터로 변환시켜주는 것이 좋다. (명시적 형변환)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/890</guid>
			<comments>http://rheech.tistory.com/890#entry890comment</comments>
			<pubDate>Thu, 20 May 2010 04:48:30 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 3-2 논리 연산자</title>
			<link>http://rheech.tistory.com/889</link>
			<description>1.1 논리 연산자란?&lt;br /&gt;
논리 연산자는 연산 후에 True 또는 False를 반환하는 연산자이다.&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;And&lt;/TD&gt;
&lt;TD&gt;양쪽이 모두 True일때만 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Or&lt;/TD&gt;
&lt;TD&gt;어느 한쪽이라도 True면 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Xor&lt;/TD&gt;
&lt;TD&gt;양쪽의 값이 같으면 False, 서로 다르면 True 반환&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Not&lt;/TD&gt;
&lt;TD&gt;반대의 값을 반환 (값은 하나만 받는다.)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;AndAlso&lt;/TD&gt;
&lt;TD&gt;And와 같으나, 첫번째 값이 False면 후의 연산을 생략한다.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;OrElse&lt;/TD&gt;
&lt;TD&gt;Or와 같으나, 첫번째 값이 True면 후의 연산을 생략한다.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
1.2 자세히 보기&lt;br /&gt;
1. And&lt;br /&gt;
양쪽이 모두 True일때만 True 반환&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;첫번째 값&lt;/TD&gt;
&lt;TD&gt;두번째 값&lt;/TD&gt;
&lt;TD&gt;반환값&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
2. Or&lt;br /&gt;
어느 한쪽이라도 True면 True 반환&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;첫번째 값&lt;/TD&gt;
&lt;TD&gt;두번째 값&lt;/TD&gt;
&lt;TD&gt;반환값&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
3. Xor&lt;br /&gt;
양쪽의 값이 같으면 False, 서로 다르면 True 반환&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;첫번째 값&lt;/TD&gt;
&lt;TD&gt;두번째 값&lt;/TD&gt;
&lt;TD&gt;반환값&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
4. Not&lt;br /&gt;
반대의 값을 반환 (값은 하나만 받는다.)&lt;br /&gt;
Not True =&amp;nbsp;False&lt;br /&gt;
Not False&amp;nbsp;= True&lt;br /&gt;
&lt;br /&gt;5. AndAlso&lt;br /&gt;
And와 같으나, 첫번째 값이 False면 후의 연산을 생략&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;첫번째 값&lt;/TD&gt;
&lt;TD&gt;두번째 값&lt;/TD&gt;
&lt;TD&gt;반환값&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;연산 안함&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
6. OrElse&lt;br /&gt;
Or와 같으나, 첫번째 값이 True면 후의 연산을 생략&lt;br /&gt;

&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;첫번째 값&lt;/TD&gt;
&lt;TD&gt;두번째 값&lt;/TD&gt;
&lt;TD&gt;반환값&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;연산 안함&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;
&lt;TD&gt;True&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;
&lt;TD&gt;False&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
※ 참고 사항: Xor 연산자는 비트 연산시에 같은 값을 두 번 취하면 원래의 값이 나오는 특성이 있다. 따라서, 낮은 수준의 보안이 요구되는 단순 Xor 암호화에 널리 쓰인다. 논리 연산자가 1보다 수에 사용될 경우 비트연산을 수행한다.</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/889</guid>
			<comments>http://rheech.tistory.com/889#entry889comment</comments>
			<pubDate>Wed, 19 May 2010 04:40:35 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 3-1 산술연산자</title>
			<link>http://rheech.tistory.com/888</link>
			<description>1.1 산술연산자란?&lt;br /&gt;
산술 연산자는 산술 연산을 하는데 사용하는 연산자로, 사칙연산에 사용되는 연산자를 포함하여 거듭제곱, 나머지 및 몫 연산 등이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;+&lt;/TD&gt;
&lt;TD&gt;덧셈 및 양수(생략하여도 양수 표현 가능)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;-&lt;/TD&gt;
&lt;TD&gt;뺄셈 및 음수 표현&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;*&lt;/TD&gt;
&lt;TD&gt;곱셈&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;^&lt;/TD&gt;
&lt;TD&gt;거듭제곱&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;/&lt;/TD&gt;
&lt;TD&gt;나눗셈&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;\&lt;/TD&gt;
&lt;TD&gt;몫 반환 (참고사항: 영문 윈도우에서는 \가 역슬래쉬, 나눗셈 기호의 반대방향, 으로 표현됨.)&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Mod&lt;/TD&gt;
&lt;TD&gt;나머지 반환&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br /&gt;
※ 거듭제곱의 경우에는 Math.pow()라는 함수를 이용할 수도 있다.&lt;br /&gt;
※ 산술연산자 중에 거듭제곱을 표현하는 ^는 다른 언어에서는 다른 연산자를 의미하는 경우도 있다. VB.NET와 가장 가까운 언어인 C#만 보더라도 ^은 Xor이라는 논리 연산자를 의미한다.&lt;br /&gt;
&lt;br /&gt;※ 산술연산자의 예시&lt;br /&gt;
Dim intTest As Integer&lt;br /&gt;
intTest = 5 * 3 '산술 연산자를 사용하여 intTest의 변수에 5&amp;nbsp;* 3의 값을 저장하였음.&lt;br /&gt;
&lt;br /&gt;1.2 연산자의 우선순위&lt;br /&gt;
산술 연산자에는 우선순위가 있다. 사칙연산의 우선순위의 경우에는 어렸을 때 곱셈과 나눗셈을 배웠을 때와 똑같다. 아래는 연산자 우선순위를 정리한 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;TABLE border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colSpan=3&gt;&amp;lt;&amp;lt;&amp;nbsp;먼저 계산&amp;nbsp;&lt;/TD&gt;
&lt;TD style=&quot;TEXT-ALIGN: right&quot; colSpan=3&gt;후에 계산 &amp;gt;&amp;gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;괄호 ()&lt;/TD&gt;
&lt;TD&gt;거듭제곱 ^&lt;/TD&gt;
&lt;TD&gt;곱셈 및 나눗셈 *, /&lt;/TD&gt;
&lt;TD&gt;나눗셈의 몫 \&lt;/TD&gt;
&lt;TD&gt;모듈러스 연산 Mod&lt;/TD&gt;
&lt;TD&gt;덧셈 및 뺄셈 +, -&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/888</guid>
			<comments>http://rheech.tistory.com/888#entry888comment</comments>
			<pubDate>Wed, 19 May 2010 04:13:32 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 2-1 상수(Constant)</title>
			<link>http://rheech.tistory.com/887</link>
			<description>&lt;p&gt;1.1 상수란?&lt;br /&gt;
상수는 한번 정의하면 값을 변경할 수 없는 수이다. 선언방식은 변수와 비슷하나, 선언과 동시에 반드시 값을 정해주어야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Const 상수명 As 데이터 형식 = 값&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
아래는 간단한 예시이다.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Const PI As Double = 3.14159265355897&lt;br /&gt;
Dim dblCircle As Double&lt;br /&gt;
&lt;br /&gt;
dblCircle = 3 * 3 * PI&lt;br /&gt;
MessageBox.Show(&quot;반지름이 3인 원의 넓이는 &quot; &amp;amp; dblCircle.ToString() &amp;amp; &quot; 입니다.&quot;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
1.2 상수를 사용하는 이유&lt;br /&gt;
만일 위의 코드를 PI 대신에 3.14... 를 적어주면 어떻게 되는가? 간단하다. 코딩상에는 문제가 없으나, 가독성이 떨어진다. 아래 코드를 보자.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MessageBox.Show(&quot;Testing...&quot;, &quot;Test&quot;, MessageBoxButtons.OKCancel, MessageBoxIcon.Information)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
위의 코드는 메시지 상자에 스타일을 적용한 것이다.&lt;br /&gt;
아래 코드와 비교해보자. (숫자에 주목할것.)&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MessageBox.Show(&quot;Testing...&quot;, &quot;Test&quot;, CType(1, MessageBoxButtons), CType(64, MessageBoxIcon))&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
결과는 똑같다. 하지만, 실행 전에 어떤 결과가 나타날 지는 아래보다 위가 훨씬 잘 보일 것이다.&lt;br /&gt;
위에 사용된 MessageBoxButtons와 MessageBoxIcon은 일명 &quot;상수화된 구조체&quot; 라고 불릴 수 있는 Enum이라는 데이터 형식으로, 내부적으로 여러개의 상수를 가지고 있다. (후에 다시 언급할 예정.)&lt;br /&gt;
&lt;br /&gt;
따라서, MessageBoxButtons.OKCancel 은 1이란 값을 가지고 있는 상수이고, MessageBoxIcon.Information은 64라는 값을 가지고 있는 상수이다.</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/887</guid>
			<comments>http://rheech.tistory.com/887#entry887comment</comments>
			<pubDate>Wed, 19 May 2010 03:07:35 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 1-5 변수 범위(Scope)</title>
			<link>http://rheech.tistory.com/886</link>
			<description>※ 이 단원은 If문 과 함수의 개념을 어느정도 필요로 하는 단원입니다. 대충 읽어보고 이해가시지 않으면 그냥 넘기시고 함수까지 익히신 후에 다시 보시길 권장합니다.&lt;br /&gt;
&lt;br /&gt;
변수 범위 수준은 집합으로 생각하면 간단하다.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://cfile29.uf.tistory.com/image/201D5A0C4C051D9A22F0B6&quot; width=&quot;465&quot; height=&quot;376&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
변수는 전역 &amp;gt; 클래스 및 모듈 &amp;gt; 프로시저 &amp;gt; 블록 에서 선언이 가능하며, 선언된 변수는 선언 방법에 따라 다른 곳에서 접근이 가능할수도, 불가능할수도 있다.&lt;br /&gt;
&lt;br /&gt;
1. 블록 변수&lt;br /&gt;
블록 변수는 If 문, For 문, Do 문과 같은 곳 내에서 선언된 변수를 일컬으며, Dim 문으로 선언하면 된다. If, For, Do 문이 종료됨과 동시에 해당 변수는 메모리상에서 제거되며, 이후 해당 변수를 불러들이려고 하면 오류가 발생한다.&lt;br /&gt;
&lt;br /&gt;
예)&lt;br /&gt;
Dim intTest as Integer = 10&lt;br /&gt;
&lt;br /&gt;
If intTest = 10 Then&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; intTest = 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Dim Result As Boolean = True&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;MessageBox.Show(Result.ToString())&lt;/span&gt; '컴파일 오류, 선언되지 않은 변수 Result&lt;br /&gt;
&lt;br /&gt;
2. 프로시저 범위내의 변수&lt;br /&gt;
가장 많이 사용하며, 흔히 접할 수 있는 변수이다. Private | Public Sub ... End Sub 혹은 Private | Public Function ... End Function 내에 선언된 변수이다. Dim(Private와 동일) 외에도 Static라는 키워드로 선언이 가능하다. 프로시저 내에서는 블록 내에서도 자유롭게 접근이 가능하다. 위의 예에서 intTest = 0 가 그 예이다. 블록 내이지만, 프로시저에서 선언된 변수를 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
프로시저 내에 Static라는 키워드로 선언을 하면 해당 프로시저가 종료되어도 해당 변수는 메모리상에서 제거되지 않고 남아있다. 아래 예를 보자. 폼에 Button1의 이름을 가진 버튼을 삽입한 후, 아래와 같이 코드를 넣자.&lt;br /&gt;
&lt;br /&gt;
예)&lt;br /&gt;
Private Sub Button1_Click(ByVal sender As System.Object ...) Handles Button1.Click&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Static intCount As Integer = 0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; intCount += 1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(intCount.ToString() &amp;amp; &quot;번 클릭하셨습니다.&quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
결과값&lt;br /&gt;
처음 실행시: &quot;1번 클릭하셨습니다.&quot;&lt;br /&gt;
두번째: &quot;2번 클릭하셨습니다.&quot;&lt;br /&gt;
...&lt;br /&gt;
n번째: &quot;n번 클릭하셨습니다.&quot; (n은 숫자)&lt;br /&gt;
&lt;br /&gt;
위에서 Private Sub ... End Sub는 프로시저(함수라고도 불린다)이며, 버튼을 클릭하면 위의 코드가 실행된다. 프로시저 내에 선언된 변수는 End Sub를 만나면 메모리상에서 제거된다. (내부적인 것은 나중에 언급할 예정..)&lt;br /&gt;
하지만, Static 키워드를 사용하면 프로시저가 처음 실행될 때 선언되고, 그 이후에는 메모리상에서 제거되지 않는다. 위의 코드에서 Static을 Dim으로 바꾸면 차이점을 알 수 있을 것이다. (매번 &quot;1번 클릭하셨습니다.&quot; 출력)&lt;br /&gt;
&lt;br /&gt;
3. 클래스 및 모듈 변수&lt;br /&gt;
모듈 변수부터는 조금 복잡해진다. 간단히 언급하자면 Public Class ... End Class 내에서 프로시저 밖에 선언된 변수를 말하며, 프로시저 및 블록 내에서 접근 가능하다. 모두 기존 비주얼 베이직에 비해서 변한점도 많으며, Dim 으로의 선언 외에도 Private(Dim과 같음), Public, Protected, Friend, Protected Friend, Private, Shared(다른 키워드와 함께 사용 가능) 등이 있다. 이 장에서는 모듈 변수만 언급하고, 클래스 변수는 언급하지 않는다.&lt;br /&gt;
&lt;br /&gt;
현재는 다중 클래스를 사용한 객체 지향 프로그래밍을 하지 않기에, 현재는 단순히 Private 및 Public을 사용해면 된다.&lt;br /&gt;
&lt;br /&gt;
a. 모듈 변수&lt;br /&gt;
모듈 변수는 기존 버전인 비주얼 베이직6 사용자라면 익숙한 기능이다. 모듈 내에서 Public 키워드를 사용하여 변수 및 함수를 선언하면, 어떤 클래스 내에서라도 접근이 가능하다. 다만, Private 및 Dim 키워드를 사용하면 모듈 내의 프로시저에서만 해당 변수에 접근이 가능하다.&lt;br /&gt;
&lt;br /&gt;
모듈 추가법은 아래와 같다.&lt;br /&gt;
&lt;img src=&quot;http://cfile9.uf.tistory.com/image/1725C00B4C052120C2FA46&quot; width=&quot;505&quot; height=&quot;359&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;아래 예제를 보자.&lt;br /&gt;
&lt;br /&gt;Module1.vb에 다음과 같이 작성&lt;br /&gt;
&lt;br /&gt;Module Module1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Public intVal As Integer = 1000&lt;br /&gt;
End Module&lt;br /&gt;
&lt;br /&gt;Form1.vb에 다음과 같이 작성&lt;br /&gt;
&lt;br /&gt;Private Sub Form1_Load(ByVal sender As ....&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; MessageBox.Show(&quot;모듈로부터 받아온 변수값은 &quot; &amp;amp; intVal.ToString() &amp;amp; &quot;입니다.&quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;결과값: 모듈로부터 받아온 변수값은 1000 입니다.&lt;br /&gt;
&lt;br /&gt;※ 모듈에서 Public으로 선언된 변수는 프로시저가 포함되어 있는 모듈에 상관없이, 즉 모든 프로시저에서 사용할 수 있는 변수, &lt;span style=&quot;font-weight: bold;&quot;&gt;전역변수&lt;/span&gt; 라고 불린다.&lt;br /&gt;
&lt;br /&gt;4. 변수간 이름 충돌&lt;br /&gt;
변수 Scope가 중요한 이유이기도 한다. 전역변수에 intVal 이라는 변수가 선언되어 있다면, 프로시저에서 intVal이라는 변수를 선언하게 되면 외부에 있는 변수를 가리게 된다. 따라서, 전역변수는 꼭 필요한 경우가 아니라면 사용하지 않도록 하며, 변수 범위(Scope)내에 같은 이름이 생기지 않도록 주의하자.&lt;br /&gt;
&lt;br /&gt;※ 굳이 전역변수를 선언하지 않아도, Public Class Form1 ... End Class 내에 변수를 선언하여 사용하여도 왠만한 범위는 커버할 수 있다.&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/886</guid>
			<comments>http://rheech.tistory.com/886#entry886comment</comments>
			<pubDate>Wed, 19 May 2010 02:35:52 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 1-4 변수 선언 규칙 및 명시적·염격한 변수 선언</title>
			<link>http://rheech.tistory.com/885</link>
			<description>&lt;p&gt;1.1 변수 선언 방법 및 권고사항&lt;br /&gt;
변수 선언방법은 &quot;Dim 변수명 As 데이터 형식&quot; 이다. 변수는 선언과 동시에 초기화할 수도 있다.&lt;br /&gt;
변수명은 어떻게 입력해도 문제가 없으나, 비주얼 베이직에서는 변수명 사용시에 다음과 같은 권고사항이 있다.&lt;br /&gt;
&lt;br /&gt;
&quot;변수명 앞에 데이터 형식의 머리글자(접두어)를 넣어줄것.&quot;&lt;br /&gt;
&lt;br /&gt;
예시)&lt;br /&gt;
Dim strName As String = &quot;앤더슨&quot;&lt;br /&gt;
Dim intAge As Integer&lt;br /&gt;
Dim dblRecord As Double = 3.14159265355897&lt;br /&gt;
Dim objOthers As Object&lt;br /&gt;
&lt;br /&gt;
이는 단순히 권고 사항이며, 굳이 지키지 않아도 프로그램 코딩시에 문제는 없다. 하지만, 이 방식을 지키면 변수 사용시에 변수 형식을 다시 한번 상기시킬 수 있는 효과를 가져온다. 아래는 접두어 목록이다. 몇가지만 뽑아서 정리하였으며, 실제와 조금 다를 수도 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;데이터 형식 &lt;/td&gt;
&lt;td&gt;접두어 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boolean&lt;/td&gt;
&lt;td&gt;bool (bln) &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decimal&lt;/td&gt;
&lt;td&gt;dec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Double&lt;/td&gt;
&lt;td&gt;dbl&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integer&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Long&lt;/td&gt;
&lt;td&gt;lng&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Object&lt;/td&gt;
&lt;td&gt;obj&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Short&lt;/td&gt;
&lt;td&gt;srt (sho)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single&lt;/td&gt;
&lt;td&gt;sng&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
2.1 명시적 변수 선언&lt;br /&gt;
닷넷 이전, 즉 비주얼 베이직 6 에서는 변수 선언 없이 코딩상에서 변수를 만들어서(?) 사용을 할 수 있었다. 다르게 말한다면, Name이라는 변수를 선언 없이 그냥 코딩상에서 갖다 붙여 쓸 수 있다는 뜻이다. 하지만, 이는 여러가지 문제점이 있다. 아래 코드를 보자&lt;br /&gt;
&lt;br /&gt;
Private Sub Form1_Load()&lt;br /&gt;
Name = &quot;앤더슨&quot;&lt;br /&gt;
Msgbox Nama&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
여기서 Name를 실수로 Nama라고 입력하였다. 물론 Name이라는 변수를 선언 없이 사용하기에 편리한 점은 있을 것이다. 하지만, 아래 메시지 상자에 사용된 변수를 보면 상황이 달라진다. 아래는 상단에 대한 알고리즘을 풀어보았다.&lt;br /&gt;
&lt;br /&gt;
1. 폼 로드 이벤트 발생&lt;br /&gt;
2. Name이라는 변수를 묵시적으로 Object(VB6에서는 Variant)로 선언 후, &quot;앤더슨&quot;이라는 String 데이터 형식을 저장한다.&lt;br /&gt;
3. Nama라는 변수를 묵시적으로 Object 형식으로 선언 후, 해당 값을 불러와서 메시지 상자를 출력한다.&lt;br /&gt;
&lt;br /&gt;
명시적 변수 선언에서는 변수 사용에 오타가 발생하는 경우 컴파일시에 오류가 발생하여 아얘 실행조차 되지 않고 &quot;선언되지 않은 변수입니다.&quot; 라고 알려준다. 하지만, 묵시적 변수 선언의 경우에는 Nama라는 새로운, Object라는 데이터 형식을 갖춘 변수로 선언이 된다. 따라서, 컴퓨터는 Nama라는 새로운 변수를 참조하여, 빈 메시지 상자를 띄운다.&lt;br /&gt;
&lt;br /&gt;
※ 이 외에도 묵시적 변수 선언은 어떤 데이터 형식인가를 Object 내에 넣고, 변수를 불러올 때마다 어떤 데이터 형식이 있는지를 먼저 읽어들이고 변수를 읽기 때문에 리소스 낭비로도 이어진다. &lt;br /&gt;
&lt;br /&gt;
이는 몇 줄의 코드에는 오류 수정에 문제가 없겠지만, 코드가 100줄만 넘어가도 말은 달라진다. 중간에 한 번의 오타로 코드 자체가 밀려버리는 문제가 발생하며, 묵시적 변수 선언이기 때문에 어디에서 잘못되었는지 찾는것 조차 자갈에서 바늘 찾기 격이다.&lt;br /&gt;
&lt;br /&gt;
비주얼 베이직 6 에서는 이를 코드 상단에 Option Explicit 이라는 문장을 넣어 변수를 반드시 사용하도록 정의를 내릴 수 있었다.&lt;br /&gt;
&lt;br /&gt;
이후 비주얼 베이직 닷넷에는 코딩하는 사람이 일부러 &quot;Option Explicit Off&quot; 를 코드 상단에 배치하지 않는 한 기본적으로 반드시 변수를 선언하도록 되어 있다.&lt;br /&gt;
&lt;br /&gt;
2.2 엄격한 변수 형식&lt;br /&gt;
이는 비주얼 베이직 닷넷에서 새로 생긴 기능이다. 형변환에 관련된 것으로, 데이터 형식이 바뀌면 반드시 형변환을 해주어야 하는 것이다.&lt;br /&gt;
&lt;br /&gt;
비주얼 베이직 닷넷에서는 기본적으로 다른 데이터 형의 변수에 저장이 되려고 하면 자동적으로 형변환을 시도한다. 예를 들면, Integer형식을 Long에 저장하거나, 그 반대의 경우에도 마찬가지이다.&lt;br /&gt;
&lt;br /&gt;
엄격한 변수 형식은 이를 완전히 불가능하게하는 것으로, 코딩하는 사람은 반드시 데이터 형식이 바뀌면 형변환을 해 주어야 한다.&lt;br /&gt;
&lt;br /&gt;
엄격한 변수 형식은 Option Strict On을 코드 상단에 배치함으로써 사용할 수 있다. 엄격한 변수 형식은 명시적 변수 선언과는 다르게 기본적으로 이 기능이 사용하지 않도록 되어 있다.&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/885</guid>
			<comments>http://rheech.tistory.com/885#entry885comment</comments>
			<pubDate>Wed, 19 May 2010 02:00:23 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 1-3 형변환</title>
			<link>http://rheech.tistory.com/884</link>
			<description>&lt;p&gt;형변환(Casting)이란?&lt;br /&gt;
데이터 형식 변환이라고도 하미, 일반적으로 데이터는 다른 형식의 변수에 저장할 수 없기에 다른 형식으로 데이터를 옮겨 저장하는 것을 형변환(Casting)이라고 한다.&lt;br /&gt;
&lt;br /&gt;
형변환시에 유의할 점은 데이터 표현범위가 넓은 형식에서 낮은 형식으로 변환할 때이다.&lt;br /&gt;
예를 들자면, Double의 변수를 Single로 변환할때(소수점 아래에서 표현할 수 없는 범위가 잘리고 반올림 처리됨.) 또는 Integer의 변수를 Short로 변환할때(Short가 표현할 수 없는 볌위인 32,768 보다 큰 수 혹은 -32,768 보다 작은 수가 Integer에 저장되어 있을 경우 변환시에&amp;nbsp;오버플로 오류 발생)이다.&lt;br /&gt;
&lt;br /&gt;
형변환 방법은 앞에 C를 붙인 후 해당 데이터 형식의 접두어를 사용해 주면 된다.(C의 의미는 Casting이다.)&lt;br /&gt;

&lt;/p&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;함수 &lt;/td&gt;
&lt;td&gt;변환 결과&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CBool(Expression)&amp;nbsp;&lt;/td&gt;
&lt;td&gt;Boolean&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CByte(Expression)&lt;/td&gt;
&lt;td&gt;Byte&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CChar(Expression)&lt;/td&gt;
&lt;td&gt;Char&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CDate(Expression)&lt;/td&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CDbl(Expression)&lt;/td&gt;
&lt;td&gt;Double&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CDec(Expression)&lt;/td&gt;
&lt;td&gt;Decimal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CInt(Expression)&lt;/td&gt;
&lt;td&gt;Integer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLng(Expression)&lt;/td&gt;
&lt;td&gt;Long&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CObj(Expression)&lt;/td&gt;
&lt;td&gt;Object&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CSByte(Expression)&lt;/td&gt;
&lt;td&gt;SByte&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CShort(Expression)&lt;/td&gt;
&lt;td&gt;Short&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CSng(Expression)&lt;/td&gt;
&lt;td&gt;Single&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CStr(Expression)&lt;/td&gt;
&lt;td&gt;String&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CUInt(Expression)&lt;/td&gt;
&lt;td&gt;UInteger&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CULng(Expression)&lt;/td&gt;
&lt;td&gt;ULong&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CUShort(Expression)&lt;/td&gt;
&lt;td&gt;UShort&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
예시1) Double 형식으로 저장된 데이터를 Single로 변환할 때&lt;br /&gt;
※ Form1_Load 이벤트 안에 작성하면 된다.&lt;br /&gt;
Dim&amp;nbsp;dblPi As Double = 3.14159265355897&lt;br /&gt;
Dim sngPi As Single&lt;br /&gt;
&lt;br /&gt;
sngPi = CSng(dblPi)&lt;br /&gt;
&lt;br /&gt;
MessageBox.Show(&quot;Double 형식의 파이는 &quot; &amp;amp; dblPi.ToString() &amp;amp; _&lt;br /&gt;
&quot; 까지 표현할 수 있고,&quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
&quot;Single 형식의 파이는 &quot; &amp;amp; sngPi.ToString() &amp;amp; &quot; 까지 표현할 수 있습니다.&quot;)&lt;br /&gt;
&lt;br /&gt;
결과:&lt;br /&gt;
Double 형식의 파이는 3.14159265355897 까지 표현할 수 있고,&lt;br /&gt;
Single 형식의 파이는 3.141593 까지 표현할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
예시2) Integer 형식으로 저장된 데이터를 Short로 변환할 때&lt;br /&gt;
Dim&amp;nbsp;intEx As Integer = 40000&lt;br /&gt;
Dim srtEx As Short&lt;br /&gt;
&lt;br /&gt;
srtEx&amp;nbsp;= CShort(intEx)&lt;br /&gt;
&lt;br /&gt;
MessageBox.Show(&quot;Integer 형식에 저장된 값은 &quot; &amp;amp; intEx.ToString() &amp;amp; _&lt;br /&gt;
&quot;&amp;nbsp;이고,&quot; &amp;amp; vbCrLf &amp;amp; _&lt;br /&gt;
&quot;Short 형식은 &quot; &amp;amp; srtEx.ToString() &amp;amp; &quot; 입니다.&quot;)&lt;br /&gt;
&lt;br /&gt;
결과: 오버플로 오류가 발생하며, 메시지 상자가 뜨지 않는다.&lt;br /&gt;
</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/884</guid>
			<comments>http://rheech.tistory.com/884#entry884comment</comments>
			<pubDate>Wed, 19 May 2010 00:33:11 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 1-2 데이터 형식</title>
			<link>http://rheech.tistory.com/883</link>
			<description>&amp;nbsp; 
&lt;table style=&quot;width: 539px; height: 490px;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width=&quot;80&quot;&gt;데이터 형식&lt;/td&gt;
&lt;td width=&quot;60&quot;&gt;저장 용량&lt;/td&gt;
&lt;td&gt;값의 범위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boolean&lt;/td&gt;
&lt;td&gt;2 Byte&lt;/td&gt;
&lt;td&gt;True or False&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Byte&lt;/td&gt;
&lt;td&gt;1 Byte&lt;/td&gt;
&lt;td&gt;0 ~ 255&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Char&lt;/td&gt;
&lt;td&gt;2 Byte &lt;/td&gt;
&lt;td&gt;0 ~ 65535&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;td&gt;8 Byte&lt;/td&gt;
&lt;td&gt;0001년 1월 1일 00:00:00 ~ 9999년 12월 31일 오후 11:59:59.9999999&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decimal&lt;/td&gt;
&lt;td&gt;8 Byte&lt;/td&gt;
&lt;td&gt;+/-79,228,162,514,264,337,593,543,950,335(소수점 이하 없음); +/-7.9228162514264337593543950335(숫자의 오른쪽으로부터 28번째); +/-0.0000000000000000000000000001(0이 아닌 최소 숫자)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Double&lt;/td&gt;
&lt;td&gt;8 Byte&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;-1.79769313486231570E+308 ~ -4.94065645841246544E-324(음수)&lt;br /&gt;
또는 4.94065645841246544E-324 ~ 1.79769313486231570E+308까지(양수)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integer&lt;/td&gt;
&lt;td&gt;4 Byte&lt;/td&gt;
&lt;td&gt;-2,147,483,648 ~ 2,147,483,647&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Long&lt;/td&gt;
&lt;td&gt;8 Byte&lt;/td&gt;
&lt;td&gt;-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Object&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;모든 데이터 형식&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SByte&lt;/td&gt;
&lt;td&gt;1 Byte&lt;/td&gt;
&lt;td&gt;-128 ~ +127&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Short&lt;/td&gt;
&lt;td&gt;2 Byte&lt;/td&gt;
&lt;td&gt;-32,768 ~ +32,767&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single&lt;/td&gt;
&lt;td&gt;4 Byte&lt;/td&gt;
&lt;td&gt;-9.4028235E+38 ~ -1.401298E-45&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;String&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;문자열&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UInteger&lt;/td&gt;
&lt;td&gt;4 Byte&lt;/td&gt;
&lt;td&gt;0 ~ 4,294,967,295&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ULong&lt;/td&gt;
&lt;td&gt;8 Byte&lt;/td&gt;
&lt;td&gt;0 ~ 18,446,744,073,709,551,615&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UShort&lt;/td&gt;
&lt;td&gt;2 Byte&lt;/td&gt;
&lt;td&gt;0 ~ 65,535&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
여기에서 가장 많이 사용하는 형식을 순서대로 정리하자면&lt;br /&gt;
Integer = String &amp;gt; Double &amp;gt;&amp;gt; Boolean =&amp;gt; Byte 정도이다.&lt;br /&gt;
(필자의 개인적인 판단이며, 다를 수도 있다. 그냥 참고하는 정도로 넘기길 바란다.)&lt;br /&gt;
&lt;br /&gt;
추가로, 앞에 U가 붙은 형식은 0부터 시작하는 것을 볼 수 있다. U는 Unsigned, 즉 &quot;부호 없는&quot; 이라는 뜻으로 붙은 접두어이며, U가 붙지 않은 형식에 양수의 두배를 표현할 수 있는것을 알 수 있다.&lt;br /&gt;
&lt;br /&gt;
데이터 형식은 크게 정수형, 소수형, 기타로 나눌 수 있다.&lt;br /&gt;
&lt;br /&gt;
여기서 정수형은 Integer, Long, Char, Byte, Decimal, SByte, Short, UInteger, ULong, UShort 가 있고, 소수형은 Double, Single이 있다.&lt;br /&gt;
&lt;br /&gt;
데이터 형식 결정은 프로그램의 작동에 중요한 역할을 하며, 형식이 맞지 않거나 수가&amp;nbsp;표현할 수 없는 범위에 도달하면 오류가 발생하거나, 소수점 일부가 잘려 나가는(이때는 오류가 발생하지 않음) 등의 문제가 발생한다. 정확한 프로그램 작성을 위해서라도 데이터 형식을 확실하게 결정하도록 하여야 한다. (실제로 필자도 이 데이터 형식이 잘못되어 생긴 오류를 잡느라 밤을 샌적이 있다. 코딩량이 늘어날수록 오류가 밀려서 다른 곳에서 발생할 가능성이 높아지기에,&amp;nbsp;단순한 오류를 잡는데도 첫 오류 발생 시점을 찾는데에&amp;nbsp;걸리는 시간이 상당하다.. 미리 방지하도록 하자.)&lt;br /&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/883</guid>
			<comments>http://rheech.tistory.com/883#entry883comment</comments>
			<pubDate>Sun, 16 May 2010 14:44:02 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET Ch01] 1-1 변수</title>
			<link>http://rheech.tistory.com/882</link>
			<description>변수란?&lt;br /&gt;
메모리상에 데이터를 저장할 수 있는 공간으로, 데이터 형식 안에서 값이 변할수 있다.&lt;br /&gt;
변수를 사용하는 이유는 임시로 값을 저장하기 위함이다.&lt;br /&gt;
&lt;br /&gt;변수 선언 방법&lt;br /&gt;
Dim 변수명 As 형식&lt;br /&gt;
&lt;br /&gt;변수명: 원하는 변수명을 입력하면 된다.&lt;br /&gt;
형식: 데이터 형식을 입력하면 된다. 데이터 형식에는 String, Integer 등이 있다.&lt;br /&gt;
&lt;br /&gt;※ 예시&lt;br /&gt;
5 * 8 의 값을 변수명 Number 에 Integer 형식(데이터 형식중 하나)으로 저장하고 싶을때&lt;br /&gt;
&lt;br /&gt;&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Dim Number As Integer&lt;br /&gt;
Number = 5 * 8&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;위와 같이 등호를 기준으로 왼쪽은 값을 저장할 변수명을, 오른쪽은 할당할 값을 적어주면 된다.&lt;br /&gt;
&lt;br /&gt;변수에 대한 규칙&lt;br /&gt;
1. 변수명은 1024자를 넘을 수 없다.&lt;br /&gt;
2. 변수명은 문자인 경우에 한글, 영문자, 숫자, 밑줄(_)을 사용할 수 있고 특수 기호는 사용할 수 없다.&lt;br /&gt;
3. VB.NET에서 사용하는 예약어(Sub, End, Integer 등)로 변수명을 사용할 수 없다.&lt;br /&gt;
4. 변수명의 첫 번째 문자는 반드시 영문자나 한글만을 사용해야하고 기호나 숫자 등은 사용할 수 없다.&lt;br /&gt;
&lt;br /&gt;예시&lt;br /&gt;
※ 사용 가능한 변수&lt;br /&gt;
Dim s_Timer As Integer&lt;br /&gt;
Dim 한글 As String&lt;br /&gt;
Dim a1 As Long&lt;br /&gt;
&lt;br /&gt;※ 사용할 수 없는 변수명&lt;br /&gt;
Dim time? As Integer&lt;br /&gt;
Dim 11a As Integer&lt;br /&gt;
Dim KK* As Integer&lt;br /&gt;
Dim Integer As String&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/882</guid>
			<comments>http://rheech.tistory.com/882#entry882comment</comments>
			<pubDate>Sat, 15 May 2010 11:41:53 +0900</pubDate>
		</item>
		<item>
			<title>[미리보기] Chapter 01. 비주얼 베이직 닷넷의 기본 문법</title>
			<link>http://rheech.tistory.com/881</link>
			<description>Chapter 01. 비주얼 베이직 닷넷의 기본 문법&lt;br /&gt;
01 변수&lt;br /&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
변수&lt;br /&gt;
변수의 타입 &amp;amp; 데이터 형식&lt;br /&gt;
형변환&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
02 상수&lt;br /&gt;
03 연산자&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
산술 연산자&lt;br /&gt;
논리 연산자&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
04 제어문&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
반복문(Do..Loop, For ...)&lt;br /&gt;
조건문(If, IIf, Case ...)&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
05 함수&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
Sub 및 Function&lt;br /&gt;
api 함수에 대하여&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
06 디버그&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
중단점 설정하기&lt;br /&gt;
On Error 문&lt;br /&gt;
Try...Catch...Finally&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
07 배열 및 구조체 + Enum&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-left: 4em;&quot;&gt;
정의 및 사용법&lt;br /&gt;
정적, 동적 배열&lt;br /&gt;
구조체&lt;br /&gt;
Enum 문&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
※ 상황에 따라 조금 변동될 수 있음을 미리 알려드립니다.&lt;br /&gt;
&lt;/div&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/881</guid>
			<comments>http://rheech.tistory.com/881#entry881comment</comments>
			<pubDate>Sat, 15 May 2010 11:29:25 +0900</pubDate>
		</item>
		<item>
			<title>[VB.NET 기초] 비주얼 베이직 닷넷 2005를 시작하기 전에..</title>
			<link>http://rheech.tistory.com/880</link>
			<description>1. 개요&lt;br /&gt;
1.1 비주얼 베이직이란?&lt;br /&gt;
비주얼 베이직은 마이크로소프트에서 개발한 베이직 프로그램의 일종이다. 비주얼 베이직(이하 VB)는 3세대 프로그램의 이벤트 기반형 프로그래밍 언어이며, 컴포넌트 오브젝트 모델(COM)로의 통합된 개발 환경을 지칭하기도 한다.&lt;br /&gt;
&lt;br /&gt;
※ 비주얼 베이직은 비주얼 베이직 닷넷을 가리키는 말이기도 하지만, 사실상 비주얼 베이직6로 막을 내렸으며, 현재 문법을 빌려서 비주얼 베이직 닷넷이라는 언어가 새로 탄생하였다고 보는것이 적합하다. (참고: 마이크로소프트에서는 VB.NET의 버전의 기준을 기존 비주얼 베이직으로 정하고 있다. 따라서, VB7부터 VB.NET이다.)&lt;br /&gt;
&lt;br /&gt;
1.2 VB.NET이란?&lt;br /&gt;
비주얼 베이직 닷넷은 마이크로소프트사에서 비주얼 베이직6의 차기 버전으로 배포한 언어이다. 기존 비주얼 베이직과는 다르게 닷넷 프레임워크(.NET Framework) 환경에서 실행되며, 기존 비주얼 베이직에 비해 많은 클래스를 제공한다.&lt;br /&gt;
&lt;br /&gt;
2. 시작하기 전에 알아둘것들.&lt;br /&gt;
2.1 Visual Studio .NET&lt;br /&gt;
비주얼 베이직 닷넷은 Visual Studio .NET의 구성요소이며, 따라서 Visual Studio .NET 혹은 Visual Basic Express(무료 배포판)가 설치되어 있어야 한다.&lt;br /&gt;
&lt;br /&gt;
※ 구하는 방법&lt;br /&gt;
Visual Basic Express(무료 배포판) 다운로드&lt;br /&gt;
http://www.microsoft.com/express/downloads/&lt;br /&gt;
&lt;br /&gt;
드림스파크: 학생들에 한하여 마이크로소프트사의 일부 제품을 무료로 사용할 수 있게 제공하는 곳이다. 국제학생증등으로 학생이라는 것이 증명되면 Visual Studio Professional 버전도 무료로 다운로드 받을 수 있다.&lt;br /&gt;
https://www.dreamspark.com/default.aspx&lt;br /&gt;
&lt;br /&gt;
2.2 MSDN 라이브러리 (Microsoft Developer Network Library)&lt;br /&gt;
MSDN 라이브러리는 마이크로소프트에서 개발자들에게 제공하는 공식 기술문서이다. 짧게 말하면 도움말이다.&lt;br /&gt;
&lt;br /&gt;
온라인의 경우에는 아래의 사이트에서 원하는 자료를 검색하면 되며, CD/DVD 이미지로도 따로 배포가 되고 있다.&lt;br /&gt;
http://msdn.microsoft.com/ko-kr/default.aspx&lt;br /&gt;
&lt;br /&gt;
Visual Studio 2008의 경우에는 MSDN이 무료로 배포되고 있다. 아래 링크 참조.&lt;br /&gt;
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&amp;amp;FamilyID=7bbe5eda-5062-4ebb-83c7-d3c5ff92a373&lt;br /&gt;
&lt;br /&gt;
3. 기본 설정 및 프로젝트 생성법&lt;br /&gt;
Visual Studio를 설치하고 개발환경 설정화면이 나올 수 있다. 어떤것을 선택해도 좋으며, 나중에 환경설정에서 고칠 수 있다. 일반 개발환경을 선택하는 것을 권장.&lt;br /&gt;
&lt;br /&gt;
3.1 프로젝트 생성법&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/141D73054BECEB0A3B2DF3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/141D73054BECEB0A3B2DF3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;102&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
파일 &amp;gt; 새로 만들기 &amp;gt; 프로젝트 를 선택.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/11147E054BECEB1048330A&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/11147E054BECEB1048330A&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image002.jpg&quot; height=&quot;344&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Visual Basic &amp;gt; Windows 응용 프로그램을 선택 후, 원하는 디렉토리 및 이름을 설정 후 확인 버튼을 클릭.&lt;br /&gt;
&lt;br /&gt;
폼이 하나 만들어지며, 이로써 프로젝트 생성이 완료되었다. F5키를 누르면 실행이 되며, 창이 하나 만들어질 것이다.&lt;br /&gt;
&lt;br /&gt;
그러면, 간단한 프로그램을 만들어 볼 것이다.&lt;br /&gt;
만들어볼 프로그램은 Hello World! 메시지 상자를 출력하는 간단한 프로그램이다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/1155C80B4BEDFA1815E81F&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/1155C80B4BEDFA1815E81F&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image003.jpg&quot; height=&quot;435&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
폼 영역에서 마우스 더블 클릭 혹은 우클릭 후 &quot;코드 보기&quot;를 클릭한다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/1855D10B4BEDFA2213B5E3&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/1855D10B4BEDFA2213B5E3&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image004.jpg&quot; height=&quot;244&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
코드가 보이면 Form1_Load와 End Sub 사이에 MessageBox.Show(&quot;Hello World!&quot;) 라고 입력한다.&lt;br /&gt;
다른 코드에 대한 설명은 후에 다시할 예정이다.&lt;br /&gt;
&lt;br /&gt;
후에 F5를 눌러 실행을 해본다.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile5.uf.tistory.com/original/115B380B4BEDFA2402F329&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile5.uf.tistory.com/image/115B380B4BEDFA2402F329&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image005.jpg&quot; height=&quot;107&quot; width=&quot;104&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
위와 같은 간단한 창이 뜰 것이다.&lt;br /&gt;</description>
			<category>VB.NET (FW 2.0)</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/880</guid>
			<comments>http://rheech.tistory.com/880#entry880comment</comments>
			<pubDate>Fri, 14 May 2010 15:00:04 +0900</pubDate>
		</item>
		<item>
			<title>컴퓨터 조립 스펙입니다.ㅎㅎ</title>
			<link>http://rheech.tistory.com/879</link>
			<description>오랜만에 올리는 포스트군요. ㅎㅎ&lt;br /&gt;
&lt;br /&gt;얼마전에 컴퓨터 부품을 구매했습니다. 혹시 다른분들도 참고가 될까 싶어 올려봅니다.&lt;br /&gt;
&lt;br /&gt;주요 부품&lt;br /&gt;
&lt;br /&gt;1. 본체&lt;br /&gt;
쿨러마스터 CAC-T05-UW 흑색, ATX 미들타워&lt;br /&gt;
&lt;br /&gt;2. 메인보드&lt;br /&gt;
기가바이트 GA-P55-UD3R LGA 1156 Intel P55 ATX 메인보드&lt;br /&gt;
&lt;br /&gt;3. CPU&lt;br /&gt;
인텔 i7-860 린필드 2.8GHz 1156 쿼드코어&lt;br /&gt;
&lt;br /&gt;4. 그래픽카드&lt;br /&gt;
EVGA 지포스 GTS 250 1GB 256-bit DDR3 PCI-E 01G-P3-1158-TR&lt;br /&gt;
&lt;br /&gt;5. RAM&lt;br /&gt;
커세어 XMS3 4GB (2 x 2GB) 240핀 DDR3 SDRAM 1600 (PC3 12800), Model CMX4GX3M2A1600C959560994 (N82E16820145260)&lt;br /&gt;
&lt;br /&gt;6. 파워&lt;br /&gt;
시소닉 SS-500ET 브론즈&lt;br /&gt;
&lt;br /&gt;7. ODD&lt;br /&gt;
LG 22X DVD Burner - Bulk Black SATA Model GH22LS50 LightScribe Support - OEM59560994 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;악세사리&lt;br /&gt;
DVI to VGA 어댑터&lt;br /&gt;
3.5인치 베이 카드리더기&lt;br /&gt;
잘만 CNPS 10x Quiet CPU 쿨러&lt;br /&gt;
잘만 VF1000 GPU 쿨러&lt;br /&gt;
팬 컨트롤러 ZALMAN ZM-MFC3&lt;br /&gt;
&lt;br /&gt;악세사리 빼고 조립하시면 대략 1000$ 안쪽에서 조립이 가능합니다. 사제쿨러 및 팬컨 가격이 상당하더군요..&lt;br /&gt;
&lt;br /&gt;고사양 게임 많이 하시는분은 CPU를 i5 린필드로 내리고 그돈으로 그래픽카드를 한단계 높이시는것이 더 좋을것입니다. 저는 gts 250 이상급의 게임을 거의 안할계획인지라.. 스타2 사양이 어느정도 될지의 확신은 없지만..&lt;br /&gt;
&lt;br /&gt;잘만 MFC3는 가격이 상당하더군요.. ㅋㅋ 간지나서 샀는데.. 돈낭비일수도 있겠군요..ㅎㅎ;; 이래봐도 7만..&lt;br /&gt;
&lt;br /&gt;악세사리는 어댑터 빼고는 사실 사용하는데 지장이 없지요.. 다음에는 조립하고 후기를 올리겠습니다. ㅎㅎ&lt;br /&gt;</description>
			<category>주변기기+부품 자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/879</guid>
			<comments>http://rheech.tistory.com/879#entry879comment</comments>
			<pubDate>Tue, 30 Mar 2010 02:56:30 +0900</pubDate>
		</item>
		<item>
			<title>2~3 개월간 세벌식을 사용해 본 후..</title>
			<link>http://rheech.tistory.com/878</link>
			<description>약 두 달 전에 몇시간씩 타자를 치다보면 팔목 통증이 상당했던 탓에 시작하게된 세벌식.&lt;br /&gt;
벌써 이렇게 세벌식을 사용한지가 두 달이 넘었습니다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile23.uf.tistory.com/original/206F7A274BA950FF2E0F0D&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile23.uf.tistory.com/image/206F7A274BA950FF2E0F0D&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;img000.jpg&quot; height=&quot;127&quot; width=&quot;450&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
공병우 세벌식 최종 글판. 오른쪽부터 초성, 중성, 종성에 해당한다.&lt;br /&gt;
&lt;br /&gt;예전에 제가 세벌식과 드보락 자판에 대하여 소개한적이 있습니다.&lt;br /&gt;
세벌식이 어떤 자판인가에 대한 내용은 예전에 언급한 바가 있어 생략하도록 하겠습니다.&lt;br /&gt;
참조: &lt;a title=&quot;[http://rheech.tistory.com/863]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://rheech.tistory.com/863&quot;&gt;드보락과 세벌식 자판에 대하여&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;그때 글 쓸 당시에는 필자가 세벌식을 막 시작하던 때라, 장단점을 언급할 수가 없었고, 언급을 하더라도 상당히 조심스러웠습니다. 빠른 속도는 아니지만, 이제 세벌식의 타자속도와 두벌식의 타자속도는 비슷합니다.&lt;br /&gt;
&lt;br /&gt;그러면, 세벌식과 두벌식의 장단점을 비교해 보도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;※ 두벌식의 장점&lt;br /&gt;
1. 영문 자판과 호환이 좋다.&lt;br /&gt;
두벌식 사용자분들에게는 당연하게 느껴지겠지만, 숫자판 및 특수문자가 한글, 영문 두 곳 모두에서 같은 위치에 해당합니다.&lt;br /&gt;
&lt;br /&gt;2. 한손 입력이 편리하다.&lt;br /&gt;
이 부분은 두벌식이 이미 보편화 되어서가 아닌가 싶습니다. 키보드에 붙어있는 글쇠가 두벌식기 때문인지, 세벌식을 한손으로 입력하려면 위치에 대한 생각을 한번 더 하게 되더군요.&lt;br /&gt;
&lt;br /&gt;※ 두벌식의 단점&lt;br /&gt;
1. 글쇠 위치가 엉망이다. :: 오타율이 높다.&lt;br /&gt;
개인적으로 두벌식도 세벌식과 동일하게 입력 방식의 한 가지로 정말 좋은 방법이라고 생각합니다.&lt;br /&gt;
하지만, 유일하게 두벌식을 적용한 두벌식 표준 자판, 글쇠 배열이 정말 엉망이라고 봅니다.&lt;br /&gt;
된소리가 있는 자음을 모두 윗글쇠에 배치한데다, 흔히 사용되는 쌍시옷을 멀리 배치하였다는 점 등등입니다. (개인적인 생각입니다. 다른의견 있으신 분은 댓글 남겨주셔도 괜찮습니다.)&lt;br /&gt;
&lt;br /&gt;2. 한손 연타율이 크며, 세벌식에 비해 팔이 빨리 피곤해진다.&lt;br /&gt;
두벌식 표준은 특성상 왼손 비중이 오른손에 비해 상당히 큽니다. 보통 두벌식 표준을 오래 치다보면 왼손 팔등 (보통 맥박을 재거나 피를 뽑을 때 사용하는 부분, 왼쪽)이 통증이 오더군요..&lt;br /&gt;
&lt;br /&gt;※ 세벌식의 장점&lt;br /&gt;
1. 손이 편안하고, 리듬감이 있다.&lt;br /&gt;
두벌식 표준이 글쇠 위치가 엉망인데 반해, 세벌식을 대표하는 세벌식 최종은 손이 편안하고 세벌식 최종 특유의 리듬감이 있습니다.&lt;br /&gt;
&lt;br /&gt;2. 모아치기가 가능하다.&lt;br /&gt;
세벌식의 큰 장점중 한가지입니다. 자음 + 모음으로 입력을 받는 두벌식에 반해, 세벌식은 초성 + 중성 + 종성 으로 입력을 받습니다. 모아치기는 글쇠 순서가 역행하는 경우 자동으로 역행한 글쇠를 고쳐주는 기능입니다.&lt;br /&gt;
&lt;br /&gt;흔히 나오는 ㅇ벗어, 당므 등의 오타를 자동으로 고쳐줍니다.&lt;br /&gt;
(모아치기를 사용하지 않더라도, 세벌식에서는 종성이 다시 다음 글자로 가게되는 도깨비불 현상이 나타나지 않고, 한손 연타율이 적어 이런 오타가 나올 수가 없습니다.)&lt;br /&gt;
&lt;br /&gt;우분투에서는 모아치기를 자동으로 지원해주더군요. 모아치기를 사용하면 글쇠가 순서대로 입력되는 것이라기보다, 초성이 입력된 글쇠들을 순서와 상관없이 받아서 완성해준다고 보는 편이 맞습니다.&lt;br /&gt;
&lt;br /&gt;윈도우에서는 기본 입력기에서 지원되지 않으며, 따로 입력기를 설치해주면 가능합니다.&lt;br /&gt;
모아치기가 가능한 입력기로는 날개셋, 새나루 등이 있습니다.&lt;br /&gt;
&lt;br /&gt;※ 세벌식의 단점&lt;br /&gt;
1. 특수문자 및 숫자판 위치가 다르다&lt;br /&gt;
위 자판을 보시다시피 세벌식에서는 특수문자 및 숫자판의 위치가 바뀐 것을 보실 수 있습니다. 회색은 영문 글판이고, 검은 색은 한글 글판에서의 문자 및 특수문자입니다. 예를 들어, 소괄호 시작문자, '(' 를 입력한다면 영문 글판에서는 Shift + 9 를 입력하는데에 반해, 세벌식 최종 한글에서는 영문 글판의 Shift 를 포함하지 않고 [ 에 해당하는 글자를 입력해야 합니다.&lt;br /&gt;
&lt;br /&gt;숫자판의 경우에는 익숙해지면 영문 숫자판보다 상당히 편하더군요. 하지만, 익숙해지는데 시간이 조금 걸립니다.&lt;br /&gt;
&lt;br /&gt;2. 사용자가 많지 않다.&lt;br /&gt;
세벌식에는 군사정부의 압박이라는 안타까운 사연이 담겨 있더군요. 현재는 두벌식 사용자가 많으며, 또다른 자판을 익히는데 걸리는 시간이 있기에 많은 두벌식 사용자들이 사용을 꺼려하는 추세입니다.&lt;br /&gt;
아직 이런 경우는 겪지 못했지만, PC방 갈은 데서 세벌식으로 바꿔 놓고, 다 사용한 뒤 두벌식으로 돌려놓지 않으면 그 다음사람이 욕한다고 하더군요.. 또다른 예는 세벌식으로 돌려 놓았을 때, 숫자키에 한글이 할당되어 있어 서점 같은데서 쓰는 바코드 인식기에 숫자가 입력되지 않는 문제도 발생하구요.&lt;br /&gt;
&lt;br /&gt;※ 정리 및 결론&lt;br /&gt;
그래서 세벌식이 낫다는게냐? 두벌식 낫다는게냐?&lt;br /&gt;
결론이 궁금하신 분들이 많을 것이라 봅니다. 어쩌면 다른거 다 버리고 결론만 원하시는 분도 많을 것이라고 생각합니다.&lt;br /&gt;
결론부터 말하자면.. &quot;한글 문서 작성을 많이 사용하는 사람에 한해서 추천한다.&quot; 입니다.&lt;br /&gt;
&lt;br /&gt;확실히 세벌식이 한글 입력에는 정말 잘 최적화되어 있습니다. 익숙해지면 영어와 갈이 쓰는데도 크게 불편함도 많지 않구요. 하지만, 두벌식이 표준인 이 상황에서 세벌식으로 옮긴다고 하더라도, 공공기관에서는 두벌식을 써야 하는 불편함이 있습니다. 두벌식 잘 쓰고 있는 상황에서 세벌식을 새로 익힌다는 것도 쉬운 일도 아니구요.ㅎㅎ&lt;br /&gt;
본인의 필요에 의해 결정되어야 할 문제인거 같습니다.&lt;br /&gt;</description>
			<category>프로그램 리뷰/자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/878</guid>
			<comments>http://rheech.tistory.com/878#entry878comment</comments>
			<pubDate>Thu, 25 Mar 2010 13:29:34 +0900</pubDate>
		</item>
		<item>
			<title>네이버에서 검색어 입력시에 자판입력이 느려지는 현상</title>
			<link>http://rheech.tistory.com/877</link>
			<description>&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile30.uf.tistory.com/original/1960B1214B8C88114E3F74&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile30.uf.tistory.com/image/1960B1214B8C88114E3F74&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image000.jpg&quot; height=&quot;37&quot; width=&quot;343&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
많이들 느끼셨는지 모르겠지만, 요즘 네이버에서 필요한 정보를 검색하는데 가끔 텍스트 상자의 글씨가 키보드의 입력을 따라가지 못하는 경우가 있더군요.. 입력 딜레이라고 할까.. 느낌상으로는 뜨뜨뜨.. 이렇게 입력되는거 같더군요..&lt;br /&gt;
항상 왜 이럴까 하다가, 드디어 원인을 찾았습니다.&lt;br /&gt;
&lt;br /&gt;
원인은 바로 여기에 있었습니다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile4.uf.tistory.com/original/126164204B8C878426A1A0&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile4.uf.tistory.com/image/126164204B8C878426A1A0&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;image001.jpg&quot; height=&quot;310&quot; width=&quot;210&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
실시간 급상승 검색어.;;&lt;br /&gt;
이게 진짜 실시간으로 업데이트 되면서 리소스를 상당히 먹는거 같더군요..&lt;br /&gt;
입력이 딜레이 될 경우 &quot;실시간 급상승 검색어&quot; 옆에 있는 화살표를 살포시 눌러줘서 해당 블록을 닫아주면 입력속도가 다시 빨라질 것입니다.&lt;br /&gt;
&lt;br /&gt;
firefox의 greasemonkey로 실시간 급상승 검색어 블록을 삭제하는 스크립트를 제작해 보았는데, 주소창에서는 잘 작동하는 것이 구성요소로 등록하니까 작동을 하지 않더군요..;;&lt;br /&gt;
&lt;br /&gt;
저에게는 실시간 급상승 검색어가 필요없는 기능인지라..;;&lt;br /&gt;
회사 차원에서 해당 기능을 사용하지 않게 할 수 있게 해 주었으면 좋겠지만.. ㅎㅎ;;&lt;br /&gt;</description>
			<category>컴퓨터 팁</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/877</guid>
			<comments>http://rheech.tistory.com/877#entry877comment</comments>
			<pubDate>Tue, 02 Mar 2010 12:47:54 +0900</pubDate>
		</item>
		<item>
			<title>무료 문서작성 소프트웨어, 오픈오피스를 소개합니다.</title>
			<link>http://rheech.tistory.com/876</link>
			<description>프로그램명: 오픈오피스(OpenOffice.org)&lt;br /&gt;
공개 여부: 프리웨어&lt;br /&gt;
제작사: Oracle Corp. 및 여러 회사들&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile26.uf.tistory.com/original/2037F91C4B86E05F15F664&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile26.uf.tistory.com/image/2037F91C4B86E05F15F664&quot; alt=&quot;&quot; filemime=&quot;image/png&quot; filename=&quot;openoffice.png&quot; height=&quot;276&quot; width=&quot;500&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
이 포스트를 올렸다가.. 본문 다 날리고 처음부터 다시 씁니다. ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
무서운 성장으로 마이크로소프트 오피스를 위협하고 있는 문서 작성 소프트웨어를 소개합니다.&lt;br /&gt;
&lt;br /&gt;
오픈오피스는 &quot;Write once, run anywhere&quot; 의 구호를 갖고 무섭게 성장한 Java를 개발한 회사, Sun에서 StarOffice라는 이름으로 1999년에 개발된 소프트웨어입니다.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;text-decoration: line-through;&quot;&gt;[이 부분은 확실하지 않습니다. Sun은 현재
Oracle이라는 회사에 인수되었으며, 아무리 찾아봐도 어떤 회사가 개발되었는지에 대해서는 확실히 나오지가 않는군요.. 확실한
정보라면 Oracle(Sun을 인수한 회사)와 여러 회사들이 공동 제작하였다는 정도.. 혹시 확실히 아시는 분들은 댓글
부탁드립니다.]&lt;/span&gt;&lt;br style=&quot;text-decoration: line-through;&quot;&gt;
&lt;br /&gt;
[추가내용]&lt;br /&gt;
이후 2000년에 MS Office의 독주를 막기 위해 소스코드가 공개되었으며, 현재는 Oracle Corporation의 지원(스폰서)을 받고 있습니다. (Sun이 Oracle에 인수되었음)&lt;br /&gt;
&lt;br /&gt;
아래는 Sun(Oracle) 를 포함하여, 개발에 주요하게 참여한 다른 회사들입니다. (이 외에도 더 있다고 합니다.)&lt;br /&gt;
Novell, RedHat, RedFlag CH2000, IBM, Google.&lt;br /&gt;
참고사이트: &lt;a title=&quot;[http://en.wikipedia.org/wiki/OpenOffice.org#cite_note-about-ooo-0]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/OpenOffice.org&quot;&gt;http://en.wikipedia.org/wiki/OpenOffice.org&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
이러한 성장에 가장 큰 공헌을 한 것 두 가지를 뽑자면,&lt;br /&gt;
첫번째는 역시 프리웨어라는 것이 크게 한몫 한거 같습니다.&lt;br /&gt;
프리웨어 치고 상당히 인터페이스 구성 및 기능 구성이 잘 되어 있습니다.&lt;br /&gt;
&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile8.uf.tistory.com/original/1237FF1C4B86E05B18C311&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile8.uf.tistory.com/image/1237FF1C4B86E05B18C311&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;image.jpg&quot; height=&quot;275&quot; width=&quot;458&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
위 그림은 오픈오피스에서 제공하는 프로그램을 스크린 샷으로 찍은 것입니다. &lt;br /&gt;
왼쪽 위부터 라이터(MS의 워드와 동일한 기능), 스프레드 시트, 프레젠테이션, 데이터베이스입니다.&lt;br /&gt;
이 외에도 HTML Generator 등 여러가지 어플리케이션을 제공합니다. 프리웨어라고 하기에 상당히 막강한 기능이지요.&lt;br /&gt;
&lt;br /&gt;
두번째는 역시 &quot;플랫폼이 자유롭다.&quot; 인거 같습니다.&lt;br /&gt;
이 소프트웨어가 실행될 수 있는 환경은 가장 많이 사용하는 윈도우를 포함하여, 맥, 리눅스, BSD, 유닉스입니다. 얼마전까지만 해도 윈도우에서만 돌아가는 MS 오피스와 비교된다고 할 수 있지요. 현재는 맥용 MS 오피스가 나왔다는군요.&lt;br /&gt;
(물론 가상화 소프트웨어가 좋아져서 리눅스에서도 wine을 이용하여, 혹은 다른 운영 체제에서도 이러한 방법으로 돌릴 수 있으나, 그 방법은 제외하도록 하겠습니다.)&lt;br /&gt;
&lt;br /&gt;
한번 문서작성 기능을 익히면, 어떤 운영체제를 쓰던 그대로 그 기능을 그대로 사용할 수 있다.. 개인적으로 이 부분에 상당한 매리트가 있다고 생각합니다.&lt;br /&gt;
&lt;br /&gt;
※ 호환성&lt;br /&gt;
현재 오픈오피스는 기본 문서 포맷으로 odt 라는 확장자를 사용합니다. 몇년 전 MS Office 문서의 이진 포맷을 공개하여 현재는 doc, xls 등 MS Office에서 사용하는 포맷도 읽고 쓸 수 있습니다.&lt;br /&gt;
(http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx 참조)&lt;br /&gt;
또한, 환경 설정에서 doc 파일을 기본 확장자로 사용하면 MS Office와예 호환성 문제도 해결이 가능하구요.&lt;br /&gt;
&lt;br /&gt;
※ 가야 할 길이 아직 멀다.&lt;br /&gt;
저는 오피스 2007 유저입니다. 저도 오픈오피스를 설치만 했을 뿐, 아직까지 사용은 많이 꺼려지더군요.. 오픈오피스를 사용하려면 메뉴 및 단축키를 다시 외워야 하기 때문이죠.ㅎㅎ;;&lt;br /&gt;
하지만, 만일 MS Office가 세력이 약해진다면, 그 다음 세력을 차지할 소프트웨어라 한다면, 오픈오피스가 되지 않을까.. 라고 생각해 봅니다. :)&lt;br /&gt;
&lt;br /&gt;
다운로드&lt;br /&gt;
&lt;a title=&quot;[http://download.openoffice.org/other.html#tested-full]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://download.openoffice.org/other.html#tested-full&quot;&gt;http://download.openoffice.org/other.html#tested-full&lt;/a&gt;&lt;br /&gt;</description>
			<category>프로그램 리뷰/자료</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/876</guid>
			<comments>http://rheech.tistory.com/876#entry876comment</comments>
			<pubDate>Fri, 26 Feb 2010 09:27:20 +0900</pubDate>
		</item>
		<item>
			<title>우씨.. 한시간동안 쓴글 다 날렸습니다.ㅠㅠ</title>
			<link>http://rheech.tistory.com/875</link>
			<description>아놔.. 겨우 시간내서 한시간동안 쓴 글 다 날렸습니다..ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
열심히 글 쓰고 발행한 후에, 수정하고 다시 저장하기 버튼을 누르니 백지네요.. 지금 무지 열받았음..ㅠㅠ&lt;br /&gt;
&lt;br /&gt;
아무래도 다음 포스트는 나중으로 미뤄야 겠습니다.;;&lt;br /&gt;
&lt;br /&gt;
추가로, 혹시 RSS 리더 쓰시는 분들중에 제가 쓴 글 본문이 다운받이져 있는 분들은 알려주시면 감사하겠습니다.. 없을거 같긴 하지만..ㅠㅠ&lt;br /&gt;
&lt;br style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;검색엔진을 보니 이미 한번 발행이 되었더군요..&lt;/span&gt;&lt;br style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;오픈오피스 관련된 내용으로 들어오신 분은 아래 링크를 참조 부탁드립니다.&lt;/span&gt;&lt;br style=&quot;font-weight: bold; color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;/span&gt;&lt;a title=&quot;[http://rheech.tistory.com/876]로 이동합니다.&quot; target=&quot;_blank&quot; href=&quot;http://rheech.tistory.com/876&quot;&gt;http://rheech.tistory.com/876&lt;/a&gt;&lt;br /&gt;</description>
			<category>일상이야기</category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/875</guid>
			<comments>http://rheech.tistory.com/875#entry875comment</comments>
			<pubDate>Mon, 22 Feb 2010 01:51:10 +0900</pubDate>
		</item>
		<item>
			<title>자바 GUI 환경 Overview</title>
			<link>http://rheech.tistory.com/873</link>
			<description>컨트롤 종류&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;컨트롤 종류 in VB.NET&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;컨트롤 in Java&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Form&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;JFrame&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Label&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;JLabel&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Button&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;JButton&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TextBox&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;JTextField&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Form / JFrame 매소드 비교&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;VB.NET&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;Java&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New()&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;JFrame(), JFrame(String s) // 창이름&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;control.Text = &quot;Hello&quot;&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;setTitle(&quot;Hello&quot;);&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;control.Visible = True&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;setVisible(true);&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;control.Width = WIDTH&lt;br /&gt;
control.Height = HEIGHT&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;setSize(WIDTH, HEIGHT);&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;※ setDefaultCloseOperation(int Operation)&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Addhandler&lt;br /&gt;
&lt;/td&gt;
&lt;td&gt;addWindowListener(WindowEvent e)&lt;br /&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
※ setDefaultCloseOperation 상수들 (javax.swing.WindowConstants)&lt;br /&gt;
EXIT_ON_CLOSE, HIDE_ON_CLOSE, DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE&lt;br /&gt;
&lt;br /&gt;
JLabel&lt;br /&gt;
1. 생성&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;public JLabel(String str)&lt;br /&gt;
public JLabel(String str, int align)&lt;br /&gt;
public JLabel(String t, Icon icon, int align)&lt;br /&gt;
public JLabel(Icon icon)&lt;br /&gt;
&lt;/pre&gt;
&lt;br /&gt;
※ align 상수들 - 원하는 곳으로 배열할 수 있음 &lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;SwingConstants.LEFT&lt;br /&gt;
SwingConstants.RIGHT&lt;br /&gt;
SwingConstants.CENTER&lt;br /&gt;
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
JTextField&lt;br /&gt;
1. 생성&lt;br /&gt;
&lt;pre class=&quot;brush: java&quot;&gt;public JTextField(int columns)&lt;br /&gt;
public JTextField(String str)&lt;br /&gt;
public JTextField(String str, int columns)&lt;br /&gt;
&lt;/pre&gt;
&lt;br /&gt;
2. 매소드&lt;br /&gt;
public void setText(String str)&lt;br /&gt;
public String getText()&lt;br /&gt;
public void setEditable(boolean b)&lt;br /&gt;
public void addActionListener(ActionListener obj)&lt;br /&gt;
&lt;br /&gt;
JButton&lt;br /&gt;
1. 생성&lt;br /&gt;
public JButton(Icon ic)&lt;br /&gt;
public JButton(String str)&lt;br /&gt;
public JButton(String str, Icon ic)&lt;br /&gt;
&lt;br /&gt;
2. 매소드&lt;br /&gt;
public void setText(String str)&lt;br /&gt;
public void getText()&lt;br /&gt;
public void addActionListener(ActionListener obj)&lt;br /&gt;
&lt;br /&gt;
다음 Chapter: 폼과 다른 컨트롤 들의 생성법&lt;br /&gt;
&lt;/div&gt;</description>
			<category></category>
			<author>앤더슨</author>
			<guid>http://rheech.tistory.com/873</guid>
			<comments>http://rheech.tistory.com/873#entry873comment</comments>
			<pubDate>Tue, 16 Feb 2010 10:50:31 +0900</pubDate>
		</item>
	</channel>
</rss>
