<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>자바월드</title>
		<link>http://javaworld.co.kr/</link>
		<description>신나는 자바세상</description>
		<language>ko</language>
		<pubDate>Thu, 10 May 2012 16:03:21 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>박규태</managingEditor>
		<item>
			<title>logback.xml</title>
			<link>http://javaworld.co.kr/entry/logbackxml</link>
			<description>&lt;P&gt;Logback은 DTD나 Schema를 제공하지 않는다.&lt;/P&gt;
&lt;P&gt;문제는 이클립스에서 이에 대한 Warning을 한다는 것이다. 없는데 어쩌라고...&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:465px;&quot;&gt;&lt;img src=&quot;http://cfile29.uf.tistory.com/image/1415AD434FAB55960C560C&quot; filemime=&quot;image/jpeg&quot; filename=&quot;logback_warning.png&quot; height=&quot;210&quot; width=&quot;465&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;이클립스의 Window - Preference&amp;nbsp;&amp;gt; XML - XML Files - Validation&amp;nbsp;메뉴에서 'No&amp;nbsp;grammar specified' 항목의 값을 'Ignore'로 바꾸고 Validation을&amp;nbsp;실행해 보면 경고가 사라진다.&amp;nbsp;&lt;/P&gt;
&lt;P style=&quot;TEXT-ALIGN: center; FLOAT: none; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display:inline-block;width:628px;&quot;&gt;&lt;img src=&quot;http://cfile3.uf.tistory.com/image/1378A8434FAB559737898D&quot; filemime=&quot;image/jpeg&quot; filename=&quot;logback_warning_ignore.png&quot; height=&quot;690&quot; width=&quot;628&quot;/&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
			<category></category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/36</guid>
			<comments>http://javaworld.co.kr/entry/logbackxml#entry36comment</comments>
			<pubDate>Thu, 10 May 2012 14:46:18 +0900</pubDate>
		</item>
		<item>
			<title>MySQL 5.0.45 원하는 위치에 수동 설치 및 윈도 서비스로 등록 하기</title>
			<link>http://javaworld.co.kr/entry/MySQL-5045-%EC%9B%90%ED%95%98%EB%8A%94-%EC%9C%84%EC%B9%98%EC%97%90-%EC%88%98%EB%8F%99-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%93%B1%EB%A1%9D-%ED%95%98%EA%B8%B0</link>
			<description>&lt;P&gt;테스트 환경으로 사용할 일이 생겨서 MySQL을 집에 설치 했었습니다. 인스톨러 없이 D:\TOOLS 디렉토리에 UTF-8 환경으로 설치한 후 윈도 서비스로 등록까지 마쳤는데... 오늘 설치본을 그대로 복사해서 회사에서 사용하는 컴퓨터에 설치하려고 하니 어떻게 했는지 기억이 전혀 안나더군요. :-( 이러한 이유로 여기에 설치법을 남깁니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;MySQL 설치&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;저는 &lt;A href=&quot;http://www.mysql.com/&quot; target=_blank&gt;MySQL AB&lt;/A&gt;의 &lt;A href=&quot;http://dev.mysql.com/downloads/mysql/5.0.html#win32&quot; target=_blank&gt;다운로드 페이지&lt;/A&gt;에 있는 윈도 버전 중 수동설치 버전(Without installer라고 써 있는 놈)을 다운로드 받았습니다. MySQL Account 만들거냐고 물어보면 아래에 있는 &quot;No Thanks...&quot; 링크를 눌러서 등록 안하고 받으셔도 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs4.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzNC50aXN0b3J5LmNvbTovYXR0YWNoLzAvMTIwMDAwMDAwMDAxLlBORw%3D%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;241&quot; width=&quot;563&quot;/&gt;&lt;/div&gt;&lt;br /&gt;무설치 버전인 만큼 설치는 매우 간단합니다. 원하는 디렉토리에 압축을 풀어주기만 하면 되죠!&lt;br /&gt;저는 &lt;STRONG&gt;D:\TOOLS\mysql-5.0.45-win32&lt;/STRONG&gt; 디렉토리에 압축을 풀었습니다.&lt;br /&gt;&lt;br /&gt;다른 작업 없이 명령 프롬프트를 하나 실행한 다음 &lt;STRONG&gt;D:\TOOLS\mysql-5.0.45-win32\bin&lt;/STRONG&gt; 디렉토리로 이동한 후에 &quot;mysqld --console&quot; 명령만 실행하셔도 MySQL 서버를 바로 사용하실 수 있습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqld --console&lt;br /&gt;080220 10:47:57&amp;nbsp; InnoDB: Started; log sequence number 0 19944194&lt;br /&gt;080220 10:47:58 [Note] mysqld: ready for connections.&lt;br /&gt;Version: '5.0.45-community-nt'&amp;nbsp; socket: ''&amp;nbsp; port: 3306&amp;nbsp; MySQL Community Edition (GPL)&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;위와 비슷한 메시지를 보여 주며 오류 없이 MySQL 서버가 시작된 후, 다음과 같이 &quot;mysqlshow -u root&quot; 명령을 실행하시면 Database 목록을 볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqlshow -u root&lt;br /&gt;&lt;FONT face=&quot;'GulimChe', 'Sans-serif'&quot;&gt;+--------------------+&lt;br /&gt;| &amp;nbsp; &amp;nbsp; Databases &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;+--------------------+&lt;br /&gt;| information_schema |&lt;br /&gt;| mysql &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; |&lt;br /&gt;| test &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;+--------------------+&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;위의 과정만으로도 MySQL은 사용할 수 있는 상태가 되었습니다만, 좀 더 세밀한 설정을 하기 위해서는 옵션 파일을 만들어 줘야 합니다. 옵션 파일의 예제가 설치 디렉토리에 있기 때문에 약간의 수정을 해주면 바로 사용할 수 있습니다. 설치 디렉토리(D:\TOOLS\mysql-5.0.45-win32)를 보면 5개의 ini 확장자를 가진 파일이 있습니다. 용도에 따라 선택 하시면 됩니다. 저는 간단한 테스트가 목적이기 때문에 my-small.ini 파일을 선택했습니다.&lt;br /&gt;MySQL은 &quot;C:\Windows\my.ini&quot; 파일이나 &quot;C:\my.cnf&quot; 파일을 옵션 파일로 찾습니다. 저는 my-small.ini 파일의 복사본을 하나 만들어서 my.ini로 이름을 변경한 후, &quot;C:\Windows&quot; 디렉토리로 복사해서 옵션 파일 설정을 마쳤습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #d0ff9d&quot;&gt;MySQL은 Windows directory에서 my.ini 파일을 찾습니다. Windows directory 경로는 윈도 종류에 따라서 다르기 때문에 정확한 경로를 확인하려면, 명령 프롬프트에서 다음의 명령을 실행해 보시면 됩니다.&lt;br /&gt;&lt;br /&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;C:\&amp;gt; echo %WINDIR%&lt;/STRONG&gt; &lt;/BLOCKQUOTE&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;윈도 서비스로 등록하기&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;이 글에서 옵션파일을 만들어서 사용하는 목적은 윈도 서비스로 MySQL을 등록하기 위해서입니다. 이를 위한 최소한의 수정을 한 후 MySQL을 윈도 서비스로 등록해 보겠습니다.&lt;br /&gt;&lt;br /&gt;윈도 서비스로 등록하기 위해서는 my.ini 파일에 설치 경로를 명시해야합니다.&lt;br /&gt;위에서 만든 &quot;C:\Windows\my.ini&quot; 파일을 열어서 &quot;[mysqld]&quot; 섹션을 찾은 후 다음의 2줄을 넣어 줍니다(경로 구분자로 '\'가 아닌 '/'를 사용합니다. &lt;FONT color=#d41a01&gt;주의&lt;/FONT&gt;하세요!).&lt;br /&gt;&lt;STRONG&gt;&lt;br /&gt;&lt;/STRONG&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;&lt;STRONG&gt;basedir = D:/TOOLS/mysql-5.0.45-win32&lt;br /&gt;datadir&amp;nbsp; = D:/TOOLS/mysql-5.0.45-win32/data&lt;/STRONG&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;쉽게 짐작할 수 있겠지만, 위의 내용은 설치경로와 MySQL이 사용하는 데이터의 저장 경로입니다.&lt;br /&gt;이제 my.ini 파일은 아래와 비슷한 내용으로 변경되었을겁니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e4e4e4&quot;&gt;# The MySQL server&lt;br /&gt;[mysqld]&lt;br /&gt;&lt;STRONG&gt;basedir = D:/TOOLS/mysql-5.0.45-win32&lt;br /&gt;datadir&amp;nbsp; = D:/TOOLS/mysql-5.0.45-win32/data&lt;/STRONG&gt;&lt;br /&gt;port &amp;nbsp;= 3306&lt;br /&gt;socket &amp;nbsp;= /tmp/mysql.sock&lt;br /&gt;skip-locking&lt;br /&gt;key_buffer = 16K&lt;br /&gt;max_allowed_packet = 1M&lt;br /&gt;table_cache = 4&lt;br /&gt;sort_buffer_size = 64K&lt;br /&gt;read_buffer_size = 256K&lt;br /&gt;read_rnd_buffer_size = 256K&lt;br /&gt;net_buffer_length = 2K&lt;br /&gt;thread_stack = 64K&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;이제 윈도 서비스로 등록을 해보죠. MySQL이 실행 중이라면, 아래의 명령을 실행하여 MySQL을 죽입니다. &lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqladmin -u root shutdown&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;MySQL이 완전히 종료된 것을 확인한 후, 아래의 명령으로 MySQL을 윈도 서비스로 등록할 수 있습니다.&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqld --install&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;만약 MySQL 서비스의 시작유형을 자동이 아닌 수동으로 하고 싶다면, 아래의 명령으로 등록합니다.&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqld --install-manual&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;설치된 MySQL 서비스를 삭제하고 싶으면, 아래의 명령으로 삭제할 수 있습니다.&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\TOOLS\mysql-5.0.45-win32\bin&amp;gt;mysqld --remove&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;윈도 서비스 등록에 대한 더 많은 정보를 원하시면 &lt;A href=&quot;http://dev.mysql.com/doc/refman/5.0/en/windows-start-service.html&quot; target=_blank&gt;이곳&lt;/A&gt;의 문서를 참고하세요~!&lt;br /&gt;&lt;FONT color=#ffffff&gt;charset euckr&lt;br /&gt;set character set euckr;&lt;br /&gt;show variables like 'c%';&lt;/FONT&gt;</description>
			<category>Database</category>
			<category>Database</category>
			<category>MySQL</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/23</guid>
			<comments>http://javaworld.co.kr/entry/MySQL-5045-%EC%9B%90%ED%95%98%EB%8A%94-%EC%9C%84%EC%B9%98%EC%97%90-%EC%88%98%EB%8F%99-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%93%B1%EB%A1%9D-%ED%95%98%EA%B8%B0#entry23comment</comments>
			<pubDate>Wed, 20 Feb 2008 10:10:51 +0900</pubDate>
		</item>
		<item>
			<title>Commons FileUpload 1.2 버젼의 boundary 오류</title>
			<link>http://javaworld.co.kr/entry/Commons-FileUpload-11-12-%EB%B2%84%EC%A0%BC%EC%9D%98-boundary-%EC%98%A4%EB%A5%98</link>
			<description>&lt;A href=&quot;http://commons.apache.org/fileupload&quot; target=_blank&gt;Commons FileUpload&lt;/A&gt; 1.2 버젼을 사용하여 ActiveX 업로드 컨트롤을 테스트 하던 중, &quot;&lt;FONT color=#d41a01&gt;org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found&lt;/FONT&gt;&quot;라는 에러 메시지를 보게 되었습니다. Commons FileUpload 사이트의 &lt;A href=&quot;http://commons.apache.org/fileupload/using.html&quot; target=_blank&gt;가이드&lt;/A&gt;를 따라 하던 중이라 별로 잘못한 건 없어보였는데 말이죠.&lt;br /&gt;&lt;br /&gt;&lt;A href=&quot;http://www.netbeans.org/&quot; target=_blank&gt;NetBeans&lt;/A&gt;에 포함된 HTTP Monitor의 도움을 받아(&lt;A href=&quot;http://www.fiddlertool.com&quot; target=_blank&gt;Fiddler&lt;/A&gt;나 &lt;A href=&quot;http://www.httpwatch.com/&quot; target=_blank&gt;HttpWatch&lt;/A&gt;는 ActiveX에서 발생하는 HTTP 통신을 볼 수 없더군요) HTTP Header 정보를 살펴보니 content-type은 아래와 같은 형식이었습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #c9edff&quot;&gt;multipart/form-data&lt;FONT color=#000000&gt;,&lt;/FONT&gt; boundary=ZYDa6MZ62846kJOUYu9kybvA750KGm3r&lt;/DIV&gt;&lt;br /&gt;문제는 글자를 하나하나 아무리 뜯어봐도 boundary를 못찾을 이유가 없어 보인다는 겁니다.&lt;br /&gt;결국 Commons FileUpload의 boundary 관련 소스를 다 뒤져보기에 이르렀는데... 이놈은 boundary 구분자로 세미콜론(;)을 사용하더군요. 제가 사용하는 업로드 컨트롤은 구분자로 쉼표(,)를 사용하고 있으니까 당연히 boundary를 못찾죠.&lt;br /&gt;이걸 어떻게 해야하나... &quot;직접 소스를 고칠까?&quot; &quot;이슈 등록을?&quot; 등등의 고민을 하다가 구글링을 해봤더니 아파치재단의 버그 트래커에 이미 오류로 등록된 문제였습니다.&lt;br /&gt;&lt;br /&gt;결론은 Commons FileUpload가 rfc1867을 지키지 않고 있다는 것입니다. 하지만 rfc1521은 세미콜론을 구분자로 제시하고 있고 대부분의 브라우져가 세미콜론을 구분자로 사용하기 때문에, 쉼표와 세미콜론을 모두 지원하는 방향으로 결정이 난 것 같습니다.&lt;br /&gt;&lt;br /&gt;아래의 링크에서 관련 정보와 패치를 받으실 수 있습니다. 제가 패치한 jar 파일을 올리려다가 소스 등까지 다 같이 올려야하는게 귀찮아서 링크만 올립니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;A href=&quot;https://issues.apache.org/jira/browse/FILEUPLOAD-139&quot; target=_blank&gt;&lt;STRONG&gt;[fileupload] separator of boundary doesnt match rfc1867 examples&lt;/STRONG&gt;&lt;/A&gt;&lt;br /&gt;&lt;/STRONG&gt;</description>
			<category>Java</category>
			<category>Commons Fileupload</category>
			<category>fileupload</category>
			<category>J2EE</category>
			<category>java</category>
			<category>upload</category>
			<category>업로드</category>
			<category>파일업로드</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/20</guid>
			<comments>http://javaworld.co.kr/entry/Commons-FileUpload-11-12-%EB%B2%84%EC%A0%BC%EC%9D%98-boundary-%EC%98%A4%EB%A5%98#entry20comment</comments>
			<pubDate>Fri, 04 Jan 2008 10:45:00 +0900</pubDate>
		</item>
		<item>
			<title>Groovy 1.5가 릴리즈 되었습니다</title>
			<link>http://javaworld.co.kr/entry/Groovy-15%EA%B0%80-%EB%A6%B4%EB%A6%AC%EC%A6%88-%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
			<description>여행을 다녀온 후 조금 멍한 기분으로 infoq.com에 갔더니, 지난 주말에 Groovy 1.5가 릴리즈 되었다는 소식이 있더군요. 자바5에 대한 지원이 강화된 점이 눈에 띕니다.&lt;A href=&quot;http://www.infoq.com/articles/groovy-1.5-new&quot;&gt;&lt;br /&gt;&lt;br /&gt;http://www.infoq.com/articles/groovy-1.5-new&lt;/A&gt;</description>
			<category>Groovy</category>
			<category>Groovy</category>
			<category>그루비</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/11</guid>
			<comments>http://javaworld.co.kr/entry/Groovy-15%EA%B0%80-%EB%A6%B4%EB%A6%AC%EC%A6%88-%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4#entry11comment</comments>
			<pubDate>Wed, 12 Dec 2007 10:04:33 +0900</pubDate>
		</item>
		<item>
			<title>HSQLDB 시작하기</title>
			<link>http://javaworld.co.kr/entry/HSQLDB%EB%A5%BC-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%9A%A9-Database%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%B4-%EB%B4%85%EC%8B%9C%EB%8B%A4</link>
			<description>&lt;P&gt;자바개발환경만 있으면 간단하게 사용할 수 있는 Database Engine인 &lt;A href=&quot;http://hsqldb.org/&quot; target=_blank&gt;HSQLDB&lt;/A&gt;를 설치해 보겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;HSQLDB 설치&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;먼저 &lt;A href=&quot;http://sourceforge.net/project/showfiles.php?group_id=23316&quot; target=_blank&gt;소스포지의 다운로드 페이지&lt;/A&gt;에서 HSQLDB를 다운로드 받습니다. 현재(2007-11-30) 최신버젼은 1.8.0.9 버젼이군요.&lt;br /&gt;사실 HSQLDB는 설치라고 할만한 과정이 없습니다. 그냥 압축파일의 lib 폴더 안에 있는 &lt;STRONG&gt;hsqldb.jar&lt;/STRONG&gt; 파일만 있으면 HSQLDB를 사용할 수 있습니다. 원하는 곳에 복사하고 원하는 방식으로 실행을 하면 됩니다.&lt;br /&gt;저는 하이버네이트 테스트를 위해서 설치한 터라 &quot;D:\WORKSPACE_JEE\HibernatePractice\lib&quot; 폴더에 넣었습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs5.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzNS50aXN0b3J5LmNvbTovYXR0YWNoLzAvMDEwMDAwMDAwMDAwLlBORw%3D%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;203&quot; width=&quot;572&quot;/&gt;&lt;/div&gt;&lt;/P&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;HSQLDB 실행&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;HSQLDB는 Server Mode라고 부르는 3가지의 실행방법을 가지고 있습니다. 이 Server Mode 중 가장 일반적인 방식인 Hsqldb Server로 실행하는 방법에 대해서 알아보겠습니다. 다른 방식에 대해서는 나중에 또 기회가 있을거라고 생각합니다. :-)&lt;br /&gt;&lt;br /&gt;명령 프롬프트 창을 하나 띄우고 다음과 같이 입력합니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\WORKSPACE_JEE\HibernatePractice&amp;gt;java -classpath lib/hsqldb.jar org.hsqldb.Server &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color=#0000ff&gt;-&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;database.0 file:data/test&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#ffffff&gt; &lt;/FONT&gt;&lt;FONT color=#ff9900&gt;&lt;STRONG&gt;-dbname.0 javaworld&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&quot;-database.0 file:data/test&quot; 옵션은 Database가 사용할 경로와 파일명을 명시하고 있습니다. 예에서는 상대경로로 현재 폴더 아래의 data 폴더에 &quot;test.*&quot; 형식으로 관련 파일을 생성하라고 얘기하고 있습니다. 물론 절대경로로 지정해도 됩니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\WORKSPACE_JEE\HibernatePractice&amp;gt;java -classpath lib/hsqldb.jar org.hsqldb.Server&lt;STRONG&gt; &lt;FONT color=#0000ff&gt;-database.0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color=#0000ff&gt;&lt;STRONG&gt;file:D:\WORKSPACE_JEE\HibernatePractice\data\test&lt;/STRONG&gt; &lt;FONT color=#ff9900&gt;&lt;STRONG&gt;-dbname.0 javaworld&lt;/STRONG&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;br /&gt;[Server@1270b73]: [Thread[main,5,main]]: checkRunning(false) entered&lt;br /&gt;[Server@1270b73]: [Thread[main,5,main]]: checkRunning(false) exited&lt;br /&gt;[Server@1270b73]: Startup sequence initiated from main() method&lt;br /&gt;[Server@1270b73]: Loaded properties from [D:\WORKSPACE_JEE\HibernatePractice\server.properties]&lt;br /&gt;[Server@1270b73]: Initiating startup sequence...&lt;br /&gt;[Server@1270b73]: Server socket opened successfully in 40 ms.&lt;br /&gt;[Server@1270b73]: Database [index=&lt;STRONG&gt;&lt;FONT color=#008000&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;, id=0, db=&lt;STRONG&gt;&lt;FONT color=#008000&gt;file:data/test&lt;/FONT&gt;&lt;/STRONG&gt;, alias=&lt;STRONG&gt;&lt;FONT color=#008000&gt;javaworld&lt;/FONT&gt;&lt;/STRONG&gt;] opened sucessfully in 1351 ms.&lt;br /&gt;[Server@1270b73]: Startup sequence completed in 1411 ms.&lt;br /&gt;[Server@1270b73]: 2007-12-05 10:50:20.203 HSQLDB server 1.8.0 is online&lt;br /&gt;[Server@1270b73]: To close normally, connect and execute SHUTDOWN SQL&lt;br /&gt;[Server@1270b73]: From command line, use [Ctrl]+[C] to abort abruptly&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;&quot;-dbname.0 javaworld&quot; 옵션은 Databse의 alias(별칭)을 지정하고 있습니다. 위의 경우는 'javaworld'라는 이름으로 Database의 이름을 지정하고 있는거죠. 이 alias는 어플리케이션에서 jdbc를 통해 hsqldb에 접근할 때 사용하게 됩니다. 위의 경우 jdbc connection URL은 &quot;&lt;U&gt;jdbc:hsqldb:hsql://localhost/javaworld&lt;/U&gt;&quot;입니다.&lt;br /&gt;&lt;br /&gt;각 옵션명의 뒤쪽에 붙어있는 &quot;.0&quot; 이라는 문자는 database의 인덱스를 의미합니다. hsqldb는 0~9까지의 인덱스 값을 허용하므로, 총 10개의 Database를 동시에 띄울 수 있습니다.&lt;br /&gt;즉 옵션 &quot;-database.0 file:data/test -dbname.0 javaworld&quot;은 인덱스 값 0에 할당된 Database가 현재 폴더 아래의 'data' 폴더에 'test.*' 형식의 관련 파일들을 사용하며, alias(dbname)은 javaworld라는 것을 의미합니다. 위의 실행 예에 녹색으로 표시된 부분을 보면 이해에 조금 더 도움이 될겁니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;Database Manager&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;Database Manager는 HSQLDB Database에 질의를 하거나 테이블 등의 Database 객체를 볼 수 있게 해주는 GUI 툴입니다.&lt;br /&gt;Database Manager는 hsqldb.jar 파일에 포함 되어 있기 때문에 아래와 같이 명령 프롬프트에서 입력하면 바로 사용이 가능합니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\WORKSPACE_JEE\HibernatePractice&amp;gt;java -classpath lib/hsqldb.jar org.hsqldb.util.DatabaseManager&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs6.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzNi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMDEwMDAwMDAwMDAwLlBORw%3D%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;450&quot; width=&quot;609&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;javaworld Database 접속&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;javaworld database가 이미 실행 중이라면 위와 같이 Driver, URL 등을 입력하고 OK 버튼을 누르면 바로 javaworld database를 관리할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs5.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzNS50aXN0b3J5LmNvbTovYXR0YWNoLzAvMDEwMDAwMDAwMDAxLlBORw%3D%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;449&quot; width=&quot;609&quot;/&gt;&lt;/div&gt;&lt;br /&gt;DDL이나 DML을 입력한 후 Execute 버튼을 누르면(단축키 : Ctrl-Enter) 입력한 SQL문이 실행됩니다.&lt;br /&gt;위와 같이 DDL 문을 실행했을 경우에는 좌측의 트리가 자동으로 갱신되지 않는데, 이럴 때는 View-Refresh Tree 메뉴를 한 번 클릭해 주면 갱신된 트리를 볼 수 있습니다.&lt;br /&gt;&lt;br /&gt;사용법이 매우 직관적이고 간단하기 때문에 메뉴 등을 직접 살펴보면 더이상의 설명은 필요 없을 듯합니다. :-)</description>
			<category>Database</category>
			<category>Database</category>
			<category>DB</category>
			<category>HSQLDB</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/10</guid>
			<comments>http://javaworld.co.kr/entry/HSQLDB%EB%A5%BC-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%9A%A9-Database%EB%A1%9C-%EC%82%AC%EC%9A%A9%ED%95%B4-%EB%B4%85%EC%8B%9C%EB%8B%A4#entry10comment</comments>
			<pubDate>Fri, 30 Nov 2007 11:36:34 +0900</pubDate>
		</item>
		<item>
			<title>Groovy 처음 시작하기 : Scriptom 설치</title>
			<link>http://javaworld.co.kr/entry/Groovy-%EC%B2%98%EC%9D%8C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Scriptom-%EC%84%A4%EC%B9%98</link>
			<description>&lt;P&gt;Groovy에서 COM이나 ActiveX를 사용할 수 있게 해주는 모듈인 Scriptom을 설치해 보겠습니다.&lt;br /&gt;&lt;br /&gt;Scriptom의 설치는 매우 간단합니다. &lt;A href=&quot;http://javaworld.co.kr/entry/Groovy-처음-시작하기&quot; target=_blank&gt;&lt;FONT color=#008000&gt;Groovy를 설치&lt;/FONT&gt;&lt;/A&gt;한 후 몇 개의 관련 파일을 설치 폴더에 복사해 주기만 하면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Scriptom 설치를 위한 선행조건&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Java 1.5 이상이 설치 되어 있어야 합니다(Scriptom 2.0은 Jacob 1.4를 사용하기 때문입니다) 
&lt;LI&gt;Groovy 1.1이 설치 되어 있어야 합니다 
&lt;LI&gt;GROOVY_HOME 환경 변수가 설정되어 있어야합니다(Groovy 설치 폴더를 가리키도록)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Scriptom 설치&lt;br /&gt;&lt;br /&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;먼저 Scriptom 페이지에서 가장 최신인 &lt;A href=&quot;http://groovy.codehaus.org/Scriptom+2.0+alpha&quot; target=_blank&gt;&lt;STRIKE&gt;Scriptom 2.0 alpha&lt;/STRIKE&gt;&lt;/A&gt;&amp;nbsp;&lt;A href=&quot;http://groovy.codehaus.org/COM+Scripting&quot; target=_blank&gt;&lt;STRONG&gt;Scriptom 2.0 (Beta)&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;버젼을 &lt;A href=&quot;http://docs.codehaus.org/download/attachments/13991949/scriptom-2.0-alpha.zip?version=15&quot; target=_blank&gt;&lt;STRIKE&gt;다운로드&lt;/STRIKE&gt;&lt;/A&gt;&amp;nbsp;&lt;A href=&quot;http://docs.codehaus.org/download/attachments/24576222/scriptom-2.0.zip?version=4&quot; target=_blank&gt;다운로드&lt;/A&gt; 받습니다. 보통은 알파 버젼을 추천하지는 않겠지만, Scriptom은 2.0 버젼 부터는 하위 호환성을 보장하지 않기 때문에 2.0 버젼부터 시작하는 것을 추천합니다.&lt;br /&gt;&lt;br /&gt;다시 말씀드리지만 설치는 간단합니다. 다운로드 받은 &lt;STRONG&gt;scriptom-2.0-alpha.zip&lt;/STRONG&gt; 파일을 원하는 경로에 압축을 풀어주고 새로 생긴 폴더에 있는 jacob.dll, scriptom-2.0-alpha.jar 두 개의 파일을 복사해 주기만 하면 됩니다.&lt;br /&gt;만약 jacob이 의존하고 있는 라이브러리가 PC에 설치가 안된 상태라서 '응용 프로그램 구성이 올바르지 않기 때문에...' 메시지를 보게된다면 &lt;A href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&amp;amp;displaylang=en&quot; target=_blank&gt;Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)&lt;/A&gt;를 설치해야할 수도 있습니다&lt;br /&gt;&lt;br /&gt;저는 D:\Repository\Groovy\zip\scriptom-2.0-alpha 폴더에 압축을 풀었습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvNi5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;365&quot; width=&quot;457&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;D:\Repository\Groovy\zip\scriptom-2.0-alpha 폴더에 압축을 풀었습니다&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;이제 압축을 풀어 둔 폴더에 있는 &lt;STRONG&gt;scriptom-2.0-alpha.jar&lt;/STRONG&gt; 파일을 &lt;br /&gt;&lt;STRONG&gt;%GROOVY_HOME%\lib&lt;/STRONG&gt; 폴더로 복사합니다(scriptom-2.0-alpha.jar 파일은 이전 버젼과는 다르게 scriptom이 의존하고 있는 jacob 라이브러리까지 포함하여 패키징되었습니다).&lt;br /&gt;제 시스템환경변수에는 %GROOVY_HOME%이 'D:\SDK\groovy-1.1-rc-1' 폴더로 지정 되어 있어서 'D:\SDK\groovy-1.1-rc-1\lib' 폴더로 복사했습니다(환경변수 설정에 대해서는 &lt;A href=&quot;http://javaworld.co.kr/entry/Groovy-처음-시작하기&quot; target=_blank&gt;이전 글&lt;/A&gt;을 참고하세요).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvNy5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;374&quot; width=&quot;442&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;scriptom-2.0-alpha.jar 파일 복사&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;다음으로 jacob.dll 파일을 &lt;STRONG&gt;%GROOVY_HOME%\bin&lt;/STRONG&gt; 폴더로 복사합니다. &lt;STRONG&gt;java.library.path&lt;/STRONG&gt;에 포함되는 다른 곳(예를 들면 'C:\WINDOWS\system32')에 복사해도 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvNC5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;365&quot; width=&quot;452&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;jacob.dll 파일 복사&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;이제 Scriptom 설치는 완료 되었습니다. 간단하죠? :)&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #d0ff9d&quot;&gt;
&lt;BLOCKQUOTE&gt;&lt;STRONG&gt;Caught: java.lang.UnsatisfiedLinkError: D:\SDK\groovy-1.1-rc-1\bin\jacob.dll: 응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다.&lt;/STRONG&gt;&lt;/BLOCKQUOTE&gt;위와 같은 오류 메시지를 보게 되면 &lt;A href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&amp;amp;displaylang=en&quot; target=_blank&gt;Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)&lt;/A&gt;를 설치합니다.&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;설치가 완료 됐으니까 정말 잘 된건지 확인해 보도록 하겠습니다.&lt;br /&gt;먼저 명령 프롬프트를 하나 띄운 후, 압축을 풀어 둔 폴더 하위의 examples\ie 폴더로 이동합니다. 저는 'D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\ie'로 이동했습니다.&lt;br /&gt;groovy IE.groovy 명령을 실행한 후, 익스플로러 창이 열리면서 &lt;A href=&quot;http://glaforge.free.fr/weblog&quot; target=_blank&gt;http://glaforge.free.fr/weblog&lt;/A&gt;&amp;nbsp;사이트로 이동하면 제대로 설치에 성공하신 겁니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvNS5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;188&quot; width=&quot;603&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;+&lt;/P&gt;아침에 출근해 보니 몇시간 사이에 alpha 버젼이 없어지고 Beta 버젼으로 변경되었더군요. 급하게 링크만 수정했습니다</description>
			<category>Groovy</category>
			<category>Groovy</category>
			<category>Scriptom</category>
			<category>그루비</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/8</guid>
			<comments>http://javaworld.co.kr/entry/Groovy-%EC%B2%98%EC%9D%8C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Scriptom-%EC%84%A4%EC%B9%98#entry8comment</comments>
			<pubDate>Thu, 01 Nov 2007 23:40:27 +0900</pubDate>
		</item>
		<item>
			<title>Practical JRuby on Rails Web 2.0 Projects 출간</title>
			<link>http://javaworld.co.kr/entry/Practical-JRuby-on-Rails-Web-20-Projects-%EC%B6%9C%EA%B0%84</link>
			<description>Apress에서 JRuby 책이 출간되었습니다.&lt;br /&gt;제목은 &lt;A href=&quot;http://apress.com/book/view/9781590598818&quot; target=_blank&gt;Practical JRuby on Rails Web 2.0 Projects&lt;/A&gt;입니다. 책의 소개 페이지로 가서 좌측의 Book Extras 메뉴를 보면 목차, 소스코드, 1장 샘플 챕터가 있습니다. 그리고 TheServerSide.COM의 &lt;A href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=PracticalJRubyonRails_Chapters&quot; target=_blank&gt;Practical JRuby on Rails Book Excerpt 페이지&lt;/A&gt;에 가시면 3장, 4장을 다운 받을 수 있습니다. :)</description>
			<category>JRuby</category>
			<category>JRuby</category>
			<category>Ruby</category>
			<category>루비</category>
			<category>제이루비</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/7</guid>
			<comments>http://javaworld.co.kr/entry/Practical-JRuby-on-Rails-Web-20-Projects-%EC%B6%9C%EA%B0%84#entry7comment</comments>
			<pubDate>Tue, 30 Oct 2007 11:41:42 +0900</pubDate>
		</item>
		<item>
			<title>Groovy 처음 시작하기 : 설치</title>
			<link>http://javaworld.co.kr/entry/Groovy-%EC%B2%98%EC%9D%8C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0</link>
			<description>&lt;A href=&quot;http://javaworld.tistory.com/entry/Scriptom-20-alpha&quot; target=_blank&gt;Scriptom 2.0 alpha에 관한 글&lt;/A&gt;을 작성하고 보니 너무 뜬금 없는 얘기가 된 것 같아서, 자바개발자를 위한 Groovy 설치법을 간단히 설명해 보려고 합니다. 그리고 아마도 다음 글에서는 Scriptom 설치에 관해서 쓸 것 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Groovy 설치를 위한 선행조건&lt;/STRONG&gt;&lt;/FONT&gt; 
&lt;UL&gt;
&lt;LI&gt;Java SDK 1.4 버젼 이상이 설치되어 있어야합니다 
&lt;LI&gt;JAVA_HOME 환경 변수가 설정되어 있어야합니다(Java SDK의 설치 디렉토리를 가리키도록)&lt;/LI&gt;&lt;/UL&gt;&lt;STRONG&gt;&lt;FONT size=2&gt;Groovy 설치&lt;/FONT&gt;&lt;/STRONG&gt;&lt;br /&gt;&lt;br /&gt;당연한 얘기지만 &lt;A href=&quot;http://groovy.codehaus.org/&quot; target=_blank&gt;Groovy 홈페이지&lt;/A&gt;에서 배포본을 다운 받아야 합니다. 지금(2007.10.28) 받을 수 있는 가장 최신의 버젼이 &lt;A href=&quot;http://dist.groovy.codehaus.org/distributions/groovy-binary-1.1-rc-1.zip&quot; target=_blank&gt;Groovy 1.1-rc-1&lt;/A&gt;이라서 저는 이 배포본으로 예를 들도록 하겠습니다.&lt;br /&gt;다운로드 받은 압축파일을 설치를 원하는 위치에 압축을 풀어줍니다. 저는 'D:\SDK' 디렉토리에 풀었습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvMi5QTkc%3D&quot; alt=&quot;압축파일을 풀어준다&quot; height=&quot;333&quot; width=&quot;430&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;D:\SDK 디렉토리에 압축파일을 풀었다&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;이제 압축을 푼 후 새로 생성된 'D:\SDK\groovy-1.1-rc-1' 디렉토리를 Groovy의 홈디렉토리로 설정합니다. &quot;내 컴퓨터&quot; 아이콘을 우클릭한 후 &quot;속성&quot; 선택 - &quot;고급&quot; 탭 선택 - &quot;환경 변수&quot; 버튼을 클릭한 후 가장 아래에 있는 &quot;새로 만들기&quot; 버튼을 클릭합니다. 새 시스템 변수 창이 뜨면 변수 이름에 GROOVY_HOME을, 변수 값에 Groovy 배포본의 압축을 푼 후 생긴 디렉토리의 전체 경로를 입력합니다. 저는 'D:\SDK\groovy-1.1-rc-1'을 입력했습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMy5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;445&quot; width=&quot;487&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;GROOVY_HOME 시스템 환경변수 설정&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;마지막으로 %GROOVY_HOME%\bin 디렉토리를 Path 시스템 환경변수에 추가해줍니다. 이미 존재하는 Path 변수를 선택하고 &quot;편집&quot; 버튼을 누른 후, 이미 입력되어 있는 변수 값의 끝에 세미콜론(;)을 추가한 후 다시 %GROOVY_HOME%\bin을 입력한 후 확인 버튼을 누릅니다. 중간에 추가하던 마지막에 추가하던 이미 입력된 다른 경로명과 세미콜론으로 경계를 지어 주어야한다는 점만 주의하면 됩니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvMy5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;445&quot; width=&quot;487&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;Path에 %GROOVY_HOME%\bin을 추가&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;이제 명령 프롬프트 창을 하나 실행한 후, groovy -version 명령을 실행 해 봅니다.&lt;br /&gt;&quot;Groovy Version: 1.1-rc-1&quot;이 출력되면 Groovy를 제대로 설치한 겁니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvNS5QTkc%3D&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;115&quot; width=&quot;671&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;정상 설치 여부 확인&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
			<category>Groovy</category>
			<category>Groovy</category>
			<category>그루비</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/4</guid>
			<comments>http://javaworld.co.kr/entry/Groovy-%EC%B2%98%EC%9D%8C-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0#entry4comment</comments>
			<pubDate>Fri, 26 Oct 2007 18:02:59 +0900</pubDate>
		</item>
		<item>
			<title>Scriptom 2.0 alpha</title>
			<link>http://javaworld.co.kr/entry/Scriptom-20-alpha</link>
			<description>&lt;A href=&quot;http://groovy.codehaus.org/&quot; target=_blank&gt;Groovy 홈페이지&lt;/A&gt;에 오래간만에 들어가 봤더니 &lt;STRONG&gt;&lt;A href=&quot;http://groovy.codehaus.org/Scriptom+2.0+alpha&quot; target=_blank&gt;&lt;STRONG&gt;Scriptom 2.0 alpha&lt;/STRONG&gt;&lt;/A&gt;&lt;/STRONG&gt;버젼이 나와있더군요. &amp;nbsp;Scriptom은 ActiveX나 COM 컴포넌트를 Groovy에서 접근할 수 있게 해주는 훌륭한 모듈입니다.&lt;br /&gt;루비의 'win32ole'로 엑셀을 만지는 재미를 Groovy에서도 느낄 수 있을까해서 예전에 사용해 봤었는데 루비와 비교해볼 때 기능이 약했던 기억이 있습니다.&lt;br /&gt;하지만 Scroptom 2.0은 1.2 버젼과 비교해서 많은 면에서 발전이 있다고 합니다. 아직 alpha 버젼이지만 코드는 안정화된 상태고 기능구현도 완료되었다고 해서 금새 다운 받아서 예제를 실행시켜 봤습니다.&lt;br /&gt;&lt;br /&gt;Scriptom 페이지에 Quick Start 예제로 나와있는 그루비 코드는 examples/speech 폴더에 각각 'Speak.groovy', 'SpeechInterfaces.groovy'라는 파일로 있었습니다. Quick Strat 예제답게 잘 실행됩니다.&lt;br /&gt;&amp;nbsp;그런데, 가장 완성도 높은 예제라고 소개된 examples/excel 폴더의 'ExcelReport.groovy'는 아래와 같이 오류가 발생합니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\excel&amp;gt;groovy ExcelReport.groovy&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; CREATING A SPREADSHEET FROM A TEMPLATE:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; Opening Excel template, inserting data, and creating a chart.&lt;br /&gt;&amp;nbsp; The output document is 'D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\excel\report.xls'.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;Caught: com.jacob.com.ComFailException: A COM exception has been encountered:&lt;br /&gt;At Invoke of: Item&lt;br /&gt;Description: 매개 변수의 개수가 잘못되었습니다.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelReport$_run_closure2.doCall(ExcelReport.groovy:30)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelHelper$_create_closure1.doCall(ExcelHelper.groovy:101)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelHelper$_create_closure1.doCall(ExcelHelper.groovy)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelHelper.create(ExcelHelper.groovy:69)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelReport.run(ExcelReport.groovy:28)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ExcelReport.main(ExcelReport.groovy)&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;COM에서 발생한 예외라니! 나보고 어쩌라고...... 줄 30을 찾아보니 다음과 같았습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #ffdaed&quot;&gt;def worksheet = workbook.Worksheets.Item[1]&lt;/DIV&gt;&lt;br /&gt;한참을 멍하니 있다가, Excel Workbook의 Worksheets 컬렉션에서 Item을 호출하는건 Excel API를 바로 호출하는거니까 일반적인 컬렉션을 다루는 문법과는 다를 것이라는 생각에 대괄호를 소괄호로 바꿨습니다. &lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #c9edff&quot;&gt;def worksheet = workbook.Worksheets.Item&lt;STRONG&gt;(&lt;/STRONG&gt;1&lt;STRONG&gt;)&lt;br /&gt;&lt;/STRONG&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;def worksheet = workbook.Worksheets.Item&lt;STRONG&gt;(&lt;/STRONG&gt;'DATA'&lt;STRONG&gt;)&lt;/STRONG&gt; // 줄95&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;저장하고 다시 실행해 보니. 이번에는 줄 61에서 예외가 발생했습니다. 'Item'을 키워드로 파일 내용을 검색하다보니 눈에 띄었던 부분이었습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #ffdaed&quot;&gt;worksheet.Cells.Item[row+1,1] = &quot;$row/1/2007&quot;&lt;br /&gt;&lt;/DIV&gt;&lt;br /&gt;줄 61과 줄 65를 마찬가지 형식으로 변경했습니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #c9edff&quot;&gt;worksheet.Cells.Item&lt;STRONG&gt;(&lt;/STRONG&gt;row+1,1&lt;STRONG&gt;)&lt;/STRONG&gt; = &quot;$row/1/2007&quot;&lt;br /&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;worksheet.Cells.Item&lt;STRONG&gt;(&lt;/STRONG&gt;row+1,col+1&lt;STRONG&gt;)&lt;/STRONG&gt; = (row + col)&lt;/DIV&gt;&lt;br /&gt;엉뚱한 에러가 납니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\excel&amp;gt;groovy ExcelReport.groovy&lt;br /&gt;org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, ExcelReport.groovy: 61:&lt;br /&gt;&quot;worksheet.Cells.Item((row + 1), 1)&quot; is a method call expression, but it should be a variable expression at line: 61 column: 35. File: ExcelReport.groovy @ line 61, column 35.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; worksheet.Cells.Item(row+1,1) = &quot;$row/1/2007&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;^&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;1 error&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;Item Property를 호출하여 Range 객체를 꺼낸 것까지는 좋았는데 문자열 할당을 하려면 Value Property에 해야한다는걸 깜빡했나 봅니다.&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #c9edff&quot;&gt;worksheet.Cells.Item(row+1,1)&lt;STRONG&gt;.Value&lt;/STRONG&gt; = &quot;$row/1/2007&quot;&lt;br /&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;worksheet.Cells.Item(row+1,col+1)&lt;STRONG&gt;.Value&lt;/STRONG&gt; = (row + col) // 줄65&lt;/DIV&gt;&lt;br /&gt;이제야 잘되는군요. :)&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\excel&amp;gt;groovy ExcelReport.groovy&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; CREATING A SPREADSHEET FROM A TEMPLATE:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; Opening Excel template, inserting data, and creating a chart.&lt;br /&gt;&amp;nbsp; The output document is 'D:\Repository\Groovy\zip\scriptom-2.0-alpha\examples\excel\report.xls'.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #000000&quot;&gt;&lt;FONT color=#ffffff&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (1,2) = 1/1/2007&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (2,2) = 2.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (3,2) = 3.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (4,2) = 4.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (5,2) = 5.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (6,2) = 6.0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EVENT Change (1,3) = 2/1/2007&lt;br /&gt;&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; .&lt;br /&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;br /&gt;가장 완성도 높은 예제라고 했는데 왜 오류가 있을까요? 단순히 추측해보면 Groovy에서 List나 Map을 다루는 방식으로 COM의 Property(indexed properties)를 다룰 수 있도록 한다는 Scriptom 2.0의 개선사항 반영이 제대로 안된게 아닌가하는 생각이 듭니다.&lt;br /&gt;
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;+&lt;/P&gt;&lt;A href=&quot;http://groovy.codehaus.org/COM+Methods+and+Properties+in+Scriptom&quot; target=_blank&gt;&lt;FONT color=#008000&gt;COM Methods and Properties in Scriptom&lt;/FONT&gt;&lt;/A&gt; 이 문서를 보니까 확실히 알파버젼이라서 생기는 문제군요. 그렇다면 베타 버젼쯤에서는 이 예제가 멀쩡히 잘 돌아가겠지요? 
&lt;P style=&quot;TEXT-ALIGN: center&quot;&gt;+&lt;/P&gt;&lt;STRONG&gt;2007.11.02&lt;/STRONG&gt;&lt;br /&gt;베타 버젼이 나와서 테스트 해 봤습니다. 줄 30과 줄 95의 소스가 약간 변경('workbook.Worksheets'가 'workbook.Sheets'로) 되었지만 여전히 제 PC에서는 같은 오류가 발생합니다. 'workbook.Worksheets'를 'workbook.Sheets'로 변경하지 않고 괄호 등만 위의 방식으로 변경하면 잘 실행됩니다만...... 이거 설마 제 PC에서만 안되는건가요? Excel 2003 버젼 쓰고 있습니다만...... :(&lt;br /&gt;&lt;br /&gt;</description>
			<category>Groovy</category>
			<category>Groovy</category>
			<category>Scriptom</category>
			<category>그루비</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/3</guid>
			<comments>http://javaworld.co.kr/entry/Scriptom-20-alpha#entry3comment</comments>
			<pubDate>Thu, 25 Oct 2007 17:42:12 +0900</pubDate>
		</item>
		<item>
			<title>SlickRun</title>
			<link>http://javaworld.co.kr/entry/SlickRun</link>
			<description>&lt;P&gt;&lt;A href=&quot;http://www.bayden.com/SlickRun/&quot; target=_blank&gt;SlickRun&lt;/A&gt;은 &lt;A href=&quot;http://www.bayden.com/&quot; target=_blank&gt;Bayden Systems&lt;/A&gt;에서 무료로 제공하는 유용한 툴입니다.&lt;br /&gt;&lt;br /&gt;쉽게 설명하자면 '윈도우키+R'를 누르면 나타나는 실행 창의 확장판이라고 할 수 있겠습니다. 저는 실행 창에서 notepad 쳐서 메모장을 실행시키거나 mspaint를 쳐서 그림판을 실행시키는 일이 자주있는데요. SlickRun을 설치하면 패스(path)에 등록되지 않은 어플리케이션도 'MagicWord'를 등록하면 쉽게 실행시킬 수 있습니다. 저는 이 툴을 사용한 후로 바탕화면의 바로가기 혹은 빠른 실행 아이콘을 사용하는 일이 많이 줄었습니다.&lt;br /&gt;&lt;br /&gt;설치는 간단합니다. 무조건 Yes하면됩니다. 중간에 추가로 파일을 다운로드해서 설치할거냐고 물어보는데 그것도 Yes 해서 설치하면 됩니다.&lt;br /&gt;&lt;br /&gt;사용방법도 간단합니다. 설치후 나타나는 남색 바(bar)를 클릭한 후 notepad, mspaint, cmd 등의 MagicWord를 입력하고 엔터키를 치면 됩니다. 바를 클릭하기가 귀찮으면 '&lt;FONT color=#177fcd&gt;윈도우키+Q&lt;/FONT&gt;'를 누르면 바에 커서가 가 있을겁니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMC5qcGc%3D&quot; alt=&quot;설치후 보이는 남색 바&quot; height=&quot;26&quot; width=&quot;139&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;설치후 보이는 남색 바&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;매직워드는 자동완성도 지원하기 때문에 매우 편리합니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMS5qcGc%3D&quot; alt=&quot;자동완성 기능 - &amp;#39;no&amp;#39;만 입력했는데 전체 매직워드가 자동입력된 상태&quot; height=&quot;24&quot; width=&quot;134&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;자동완성 기능 - &amp;#39;no&amp;#39;만 입력했는데 전체 매직워드가 자동입력된 상태&lt;/p&gt;&lt;/div&gt;&lt;/P&gt;
&lt;P&gt;매직워드 등록은 간단합니다. 바의 끝부분을 우클릭하면 나타나는 컨텍스트 메뉴에서 '&lt;FONT color=#177fcd&gt;New MagicWord...&lt;/FONT&gt;'를 선택한 후 입력창이 나타나면 원하는 MagicWord를 입력하고 실행파일의 절대 경로나 URL을 입력하면됩니다. 절대경로는 레이블 &lt;FONT color=#0000ff&gt;&lt;U&gt;F&lt;/U&gt;ilename or URL&lt;/FONT&gt;을 클릭하면 파일선택 창이 뜨기 때문에 찾아서 선택하면 됩니다. 이게 불편하다고 생각되거나 이미 매직워드로 등록하고 싶은 어플리케이션이 실행중이라면 초록색 스포이드(?) 아이콘을 실행 중인 어플리케이션 창으로 드래그하면 창 색이 변경되면서 실행파일의 절대경로가 자동으로 입력되어 있는걸 볼 수 있을겁니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs2.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMi5qcGc%3D&quot; alt=&quot;Total Commander를 &amp;#39;tc&amp;#39;라는 MagicWord로 등록했습니다&quot; height=&quot;322&quot; width=&quot;447&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;Total Commander를 &amp;#39;tc&amp;#39;라는 MagicWord로 등록했습니다&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;미리 입력되어 있는 매직워드 중 Filename이 iexplorer로 되어 있는 매직워드가 무엇인지 궁금하실 텐데요. 이런 매직워드는 웹사이트 검색을 위해서 사용합니다. 예를 들면, 아래 그림과 같이 입력하면 두번째 단어인 'java'가 검색어로 입력된 구글 창이 뜨게됩니다.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvMC5qcGc%3D&quot; alt=&quot;구글 검색&quot; height=&quot;24&quot; width=&quot;130&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;구글 검색&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;네이버를 검색하고 싶으시다면 매직워드 'naver'를 새로 등록하고 &lt;FONT color=#0000ff&gt;&lt;U&gt;F&lt;/U&gt;ilename or URL&lt;/FONT&gt;에는 iexplore를 입력합니다. 중요한건 Parameters인데 여기에는 아래와 같이 입력했습니다. '&lt;FONT color=#177fcd&gt;$W$&lt;/FONT&gt;'가 검색어로 변환되는 대치어입니다.&lt;br /&gt;&lt;br /&gt;http://search.naver.com/search.naver?where=nexearch&amp;amp;query=&lt;FONT color=#ff0000&gt;$W$&lt;/FONT&gt;&amp;amp;frm=t1&amp;amp;sm=top_hty&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs3.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NDkzQGZzMy50aXN0b3J5LmNvbTovYXR0YWNoLzAvMS5qcGc%3D&quot; alt=&quot;네이버 검색&quot; height=&quot;321&quot; width=&quot;447&quot;/&gt;&lt;p class=&quot;cap1&quot;&gt;네이버 검색&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;아마 마우스로 손을 가져가기가 짜증날 때 이 툴을 자주 사용하게 될거라고 생각합니다. 마우스를 자주 안사용하는 분들, 특히 프로그래머에게는 매우 유용한 툴입니다. :)&lt;br /&gt;&lt;/P&gt;</description>
			<category>유틸리티</category>
			<category>유틸리티</category>
			<author>박규태</author>
			<guid>http://javaworld.co.kr/2</guid>
			<comments>http://javaworld.co.kr/entry/SlickRun#entry2comment</comments>
			<pubDate>Sun, 07 Oct 2007 02:02:46 +0900</pubDate>
		</item>
	</channel>
</rss>
