<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>건우농장</title>
		<link>http://blog.kwfarm.kr/</link>
		<description>건우의 블로그 입니다.</description>
		<language>ko</language>
		<pubDate>Wed, 28 Dec 2011 00:41:57 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<managingEditor>농부건우</managingEditor>
		<image>
		<title>건우농장</title>
		<url><![CDATA[http://cfile29.uf.tistory.com/image/197E09494D61C9D6238319]]></url>
		<link>http://blog.kwfarm.kr/</link>
		<description>건우의 블로그 입니다.</description>
		</image>
		<item>
			<title>Dan Pink 가 동기 유발의 놀라운 과학에 대해서 설명합니다.</title>
			<link>http://blog.kwfarm.kr/181</link>
			<description>&lt;br /&gt;
&lt;object width=&quot;526&quot; height=&quot;374&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt;&lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talk/stream/2009G/Blank/DanielPink_2009G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=618&amp;lang=ko&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=dan_pink_on_motivation;year=2009;theme=not_business_as_usual;theme=the_creative_spark;event=TEDGlobal+2009;tag=Business;tag=Science;tag=brain;tag=creativity;tag=social+change;tag=work;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;526&quot; height=&quot;374&quot; allowFullScreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; flashvars=&quot;vu=http://video.ted.com/talk/stream/2009G/Blank/DanielPink_2009G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=618&amp;lang=ko&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=dan_pink_on_motivation;year=2009;theme=not_business_as_usual;theme=the_creative_spark;event=TEDGlobal+2009;tag=Business;tag=Science;tag=brain;tag=creativity;tag=social+change;tag=work;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-181-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-181-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-181-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>미분류</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/181</guid>
			<comments>http://blog.kwfarm.kr/181#entry181comment</comments>
			<pubDate>Wed, 14 Dec 2011 16:11:01 +0900</pubDate>
		</item>
		<item>
			<title>Effective Java 2th</title>
			<link>http://blog.kwfarm.kr/180</link>
			<description>&lt;p style=&quot;margin:0&quot;&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://cfile24.uf.tistory.com/original/161279374EB68221155F14&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile24.uf.tistory.com/image/161279374EB68221155F14&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;200904220002.jpg&quot; height=&quot;400&quot; width=&quot;300&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;[이미지 출처는 &lt;a href=&quot;http://kangcom.com/sub/view.asp?sku=200904220002&amp;amp;mcd=571&quot; target=&quot;_blank&quot; title=&quot;[http://kangcom.com/sub/view.asp?sku=200904220002&amp;amp;mcd=571]로 이동합니다.&quot;&gt;강컴&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;
예전에 사놓고, 읽다 안읽다가 이제야 완료!&lt;br /&gt;
읽다 보면 읽히지 않는 부분도 있지만(동시성, 직렬화 등) 모두 읽음!!!!&lt;br /&gt;
개인적인 생각으로는 자바 개발자라면 한 번은 꼭 읽으면 좋은 책인것 같음&lt;br /&gt;
100% 이해는 못했지만 차후에 다시 한 번 읽어야 할 것 같은 책&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-180-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-180-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-180-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>책</category>
			<category>2011년 책</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/180</guid>
			<comments>http://blog.kwfarm.kr/180#entry180comment</comments>
			<pubDate>Sun, 06 Nov 2011 21:52:01 +0900</pubDate>
		</item>
		<item>
			<title>펌] 행복한 회사와 나라를 만들기 위한 노력</title>
			<link>http://blog.kwfarm.kr/179</link>
			<description>원본 : http://health20.kr/2192&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;iframe width=&quot;640&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/D2ZRW4oggHU&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;object width=&quot;526&quot; height=&quot;374&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt;&lt;/param&gt;&lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talk/stream/2010/Blank/ChipConley_2010-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ChipConley-2010.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=889&amp;lang=kor&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=chip_conley_measuring_what_makes_life_worthwhile;year=2010;theme=the_creative_spark;theme=the_rise_of_collaboration;theme=not_business_as_usual;event=TED2010;tag=Business;tag=buddhism;tag=economics;tag=happiness;tag=money;tag=psychology;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot; /&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgColor=&quot;#ffffff&quot; width=&quot;526&quot; height=&quot;374&quot; allowFullScreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; flashvars=&quot;vu=http://video.ted.com/talk/stream/2010/Blank/ChipConley_2010-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/ChipConley-2010.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=889&amp;lang=kor&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=chip_conley_measuring_what_makes_life_worthwhile;year=2010;theme=the_creative_spark;theme=the_rise_of_collaboration;theme=not_business_as_usual;event=TED2010;tag=Business;tag=buddhism;tag=economics;tag=happiness;tag=money;tag=psychology;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot;&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-179-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-179-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-179-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>글</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/179</guid>
			<comments>http://blog.kwfarm.kr/179#entry179comment</comments>
			<pubDate>Tue, 11 Oct 2011 00:27:06 +0900</pubDate>
		</item>
		<item>
			<title>SmartFox Server Video Tutorials</title>
			<link>http://blog.kwfarm.kr/166</link>
			<description>듣기가 안되지만 대충 흐름은 ㅡㅜ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Nwfzf7JcsvE?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/Nwfzf7JcsvE?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/18-X3WEm2i0?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/18-X3WEm2i0?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/rB7Yfbain1M?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/rB7Yfbain1M?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/nKGxhwJ0Ccc?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/nKGxhwJ0Ccc?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;

&lt;br /&gt;
&lt;br /&gt;

&lt;object style=&quot;height: 390px; width: 640px&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/nll3fYP94uQ?version=3&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/nll3fYP94uQ?version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;640&quot; height=&quot;390&quot;&gt;&lt;/object&gt;


&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-166-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-166-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-166-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>SmartFoxServer</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/166</guid>
			<comments>http://blog.kwfarm.kr/166#entry166comment</comments>
			<pubDate>Mon, 05 Sep 2011 15:26:04 +0900</pubDate>
		</item>
		<item>
			<title>생활코딩 아마존 동영상 강의 링크</title>
			<link>http://blog.kwfarm.kr/165</link>
			<description>

&lt;div&gt;
역시 세상에는 좋으신 분들이 많이 있습니다 @_@&lt;br /&gt;
&lt;br /&gt;https://twitter.com/#!/egoing/status/108724438949838848&lt;br /&gt;
http://vimeo.com/album/1680709&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;

&lt;iframe src=&quot;http://player.vimeo.com/video/28359494?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359494&quot;&gt;1. 아마존 웹서비스 - 회원가입편&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;


&lt;iframe src=&quot;http://player.vimeo.com/video/28359500?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359500&quot;&gt;2. 아마존 웹서비스 - 제품의 종류 및 가격&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;iframe src=&quot;http://player.vimeo.com/video/28359504?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359504&quot;&gt;3. 아마존 웹서비스 - EC2 생성방법&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;


&lt;iframe src=&quot;http://player.vimeo.com/video/28359510?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359510&quot;&gt;4. 아마존 웹서비스 - EC2 접속방법&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;iframe src=&quot;http://player.vimeo.com/video/28359519?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359519&quot;&gt;5. 아마존 웹서비스 - 아파치 설치&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

&lt;iframe src=&quot;http://player.vimeo.com/video/28359535?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;225&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/28359535&quot;&gt;6. 아마존 웹서비스 - 콘솔관리&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/user2233276&quot;&gt;egoing&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-165-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-165-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-165-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>플랫품</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/165</guid>
			<comments>http://blog.kwfarm.kr/165#entry165comment</comments>
			<pubDate>Sun, 04 Sep 2011 14:44:05 +0900</pubDate>
		</item>
		<item>
			<title>lombok</title>
			<link>http://blog.kwfarm.kr/164</link>
			<description>예전 회사 과장니밍 알려주신 lombok&lt;br /&gt;
확실히 불필요한 부분이라든지 그런 부분을 어노테이션으로 처리 할 수 있어서 코딩량이 확실히 줄어 듬&lt;br /&gt;
&lt;br /&gt;공식 사이트 : http://projectlombok.org/&lt;br /&gt;
ibm developer work :&amp;nbsp;http://www.ibm.com/developerworks/kr/library/os-lombok/index.html?ca=drs-&lt;br /&gt;
pom&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: 13px; line-height: normal; background-color: rgb(255, 255, 255); &quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: 13px; line-height: normal; background-color: rgb(255, 255, 255); margin-left: 4em; &quot;&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(85, 145, 145); &quot;&gt;
&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;&lt;/span&gt;dependency&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: 13px; line-height: normal; background-color: rgb(255, 255, 255); &quot;&gt;&lt;div style=&quot;color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;
&lt;span style=&quot;white-space: pre-wrap; &quot;&gt;	&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(85, 145, 145); &quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;org.projectlombok&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(85, 145, 145); &quot;&gt;gr&lt;wbr&gt;oupId&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(85, 145, 145); &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&lt;span style=&quot;white-space: pre-wrap; &quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;&lt;/span&gt;artifactId&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;text-decoration: underline; color: rgb(0, 0, 0); &quot;&gt;&lt;span class=&quot;il&quot; style=&quot;background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 136); color: rgb(34, 34, 34); background-position: initial initial; background-repeat: initial initial; &quot;&gt;lombok&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;/&lt;/span&gt;artifactId&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&lt;wbr&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(85, 145, 145); &quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;&lt;span style=&quot;white-space: pre-wrap; &quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;&lt;/span&gt;version&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); &quot;&gt;0.10.0&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;/&lt;/span&gt;version&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: rgb(0, 0, 0); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;span style=&quot;white-space: pre-wrap; &quot;&gt;	&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: rgb(85, 145, 145); &quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;provided&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: rgb(85, 145, 145); &quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(85, 145, 145); font-family: arial, sans-serif; font-size: 13px; line-height: normal; background-color: rgb(255, 255, 255); &quot;&gt;&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;lt;/&lt;/span&gt;dependency&lt;span style=&quot;color: rgb(31, 146, 146); &quot;&gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-164-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-164-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-164-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/164</guid>
			<comments>http://blog.kwfarm.kr/164#entry164comment</comments>
			<pubDate>Sun, 04 Sep 2011 14:42:59 +0900</pubDate>
		</item>
		<item>
			<title>windows 사용시 사용하는 프로그램</title>
			<link>http://blog.kwfarm.kr/163</link>
			<description>RocketDock :&lt;a href=&quot;http://rocketdock.com/&quot;&gt;http://rocketdock.com/&lt;br /&gt;
&lt;/a&gt;launchv : &lt;a href=&quot;http://www.launchy.net/&quot;&gt;http://www.launchy.net/&lt;/a&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-163-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-163-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-163-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/163</guid>
			<comments>http://blog.kwfarm.kr/163#entry163comment</comments>
			<pubDate>Fri, 02 Sep 2011 11:53:33 +0900</pubDate>
		</item>
		<item>
			<title>mac port을 열고 있는 프로세스</title>
			<link>http://blog.kwfarm.kr/162</link>
			<description>http://snippets.dzone.com/posts/show/5712&lt;br /&gt;
&lt;br /&gt;sudo lsof -i -P | grep port번호&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-162-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-162-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-162-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/162</guid>
			<comments>http://blog.kwfarm.kr/162#entry162comment</comments>
			<pubDate>Wed, 31 Aug 2011 00:01:36 +0900</pubDate>
		</item>
		<item>
			<title>spring 3 exception http status code</title>
			<link>http://blog.kwfarm.kr/160</link>
			<description>http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html&lt;br /&gt;
&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Arial, sans-serif; line-height: normal; background-color: rgb(255, 255, 255); font-size: medium; &quot;&gt;&lt;table style=&quot;border-collapse: collapse; border-top-width: 1pt; border-top-style: solid; border-top-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; border-left-width: 1pt; border-left-style: solid; border-left-color: initial; border-right-width: 1pt; border-right-style: solid; border-right-color: initial; &quot;&gt;
&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;thead&gt;&lt;tr&gt;
&lt;th style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;Exception&lt;/th&gt;&lt;th style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;HTTP Status Code&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;ConversionNotSupportedException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;500 (Internal Server Error)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;HttpMediaTypeNotAcceptableException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;406 (Not Acceptable)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;HttpMediaTypeNotSupportedException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;415 (Unsupported Media Type)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;HttpMessageNotReadableException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;400 (Bad Request)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;HttpMessageNotWritableException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;500 (Internal Server Error)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;HttpRequestMethodNotSupportedException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;405 (Method Not Allowed)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;MissingServletRequestParameterException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;400 (Bad Request)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;NoSuchRequestHandlingMethodException&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;border-bottom-width: 1pt; border-bottom-style: solid; border-bottom-color: initial; &quot;&gt;404 (Not Found)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td style=&quot;border-right-width: 1pt; border-right-style: solid; border-right-color: initial; &quot;&gt;&lt;code class=&quot;classname&quot;&gt;TypeMismatchException&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;400 (Bad Request)&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-160-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-160-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-160-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Spring</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/160</guid>
			<comments>http://blog.kwfarm.kr/160#entry160comment</comments>
			<pubDate>Thu, 25 Aug 2011 21:48:34 +0900</pubDate>
		</item>
		<item>
			<title>Application Express</title>
			<link>http://blog.kwfarm.kr/153</link>
			<description>&lt;br /&gt;
알게된 링크 : http://apex.oracle.com/pls/otn/f?p=4600:6:2379073318715443::NO:::&lt;br /&gt;
한글 설명 : http://mudchobo.tistory.com/285&amp;nbsp;&lt;br /&gt;
page : http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-153-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-153-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-153-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Oracle</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/153</guid>
			<comments>http://blog.kwfarm.kr/153#entry153comment</comments>
			<pubDate>Wed, 10 Aug 2011 23:52:09 +0900</pubDate>
		</item>
		<item>
			<title>sql developer 에서 mssql 프로시저 실행 실패</title>
			<link>http://blog.kwfarm.kr/152</link>
			<description>요즘 mssql 기반으로 개발을 진행 해야 하게 되었음&lt;br /&gt;
개발 환경은 mac 기반이라 디비 클라이언트를 무엇을 쓸까 고민 시작&lt;br /&gt;
원격으로 접속해서 써도 되지만 그렇게 하기 싫어서 client 검색 시작(재난의 시작 -_-)&lt;br /&gt;
예전에 sql developer로 my sql client 사용한 적이 있어서 검색 시작!&lt;br /&gt;
역시 mssql도 연결 하여 사용 가능&lt;br /&gt;
여자 저차 검색하여 셋팅 후 테스트 하니 제대로 실행&lt;br /&gt;
문제는 프로시저가 실행이 안되는 기이한 현상이 발생 ㅡㅜ&lt;br /&gt;
열심히 구글 신께 문의 드렸지만 특별한 해결책을 찾지 못함&lt;br /&gt;
아 오늘 이걸로 귀중한 시간 및 힘을 낭비 ㅡㅜ&lt;br /&gt;
&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-152-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-152-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-152-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>주저리주저리</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/152</guid>
			<comments>http://blog.kwfarm.kr/152#entry152comment</comments>
			<pubDate>Wed, 10 Aug 2011 23:45:49 +0900</pubDate>
		</item>
		<item>
			<title>restful api 설계</title>
			<link>http://blog.kwfarm.kr/145</link>
			<description>요즘 restful api(??) 설계를 하는데 완전 개삽질중 ㅡ,.ㅡ&lt;br /&gt;
&lt;br /&gt;다행이 이사님이 리뷰 해주셔서 산으로 가지는 않는데 그래도 머리가 나빠서 그런지 잘 나오지는 않음&lt;br /&gt;
&lt;br /&gt;오늘 이사님과 대화 중 기억에 남는 것들 정리&lt;br /&gt;
&lt;br /&gt;&lt;ul style=&quot;LIST-STYLE-TYPE: disc&quot;&gt;
&lt;li&gt;operation 들의 조합에 따라 client 입장에 따라 어떤 작업이냐에 focus를 맞추는게 중요&lt;/li&gt;
&lt;li&gt;id가 들어가면 그 아이디의 소속을 써줘야 함 -&amp;gt; id가 들어 갈 때는 앞에 collection 들어가주는게 좋음&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;ex) /items/item_no&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;url로 카테고리 구분 시 교집합이 없도록 구성&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;/items/swords&lt;/li&gt;
&lt;li&gt;/items/spears&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;
이거 말고도 많은 내용을 말씀해주셨는데 기억력의 한계로 많이 못 적음 아나 ㅡ,ㅜ&lt;br /&gt;
&lt;br /&gt;담부터는 녹음을 해야 겠음&lt;br /&gt;
&lt;br /&gt;어제에 이어서 오늘도 추가&lt;br /&gt;
&lt;br /&gt;* 프로시저 중심의 비지니스 로직에서 리로스 중심으 비지니스 로직을 변경해야 하는 이유를 생각해보자 -&amp;gt; 도메인 주도 개발&amp;nbsp; -&amp;gt; 리소스 중심 비지니스 로직이 100% 좋은거는 아니지만 장점이 무엇인지 고민해 보자 -&amp;gt; 도메인 == 데이타&lt;br /&gt;
* url는 되도록 명사로 작성하자 -&amp;gt; 맨 처음 설계할때 자꾸 룰을 url 에 배핑시킬려고 한 url를 보고 지적해주심 @_@&lt;br /&gt;
* 전체적인 url은 예외를 최대한 줄이는 것이 좋다. -&amp;gt; 추가시 설명이 없어도 추가하기가 쉽다 -&amp;gt; client가 url를 봤을 때 url의 의미를 쉽게 볼 수 있는가? -&amp;gt; 인식을 잘 되도록 &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;훗 이번에는 녹음했다는 ㅋㅋㅋ&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-145-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-145-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-145-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>글</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/145</guid>
			<comments>http://blog.kwfarm.kr/145#entry145comment</comments>
			<pubDate>Thu, 28 Jul 2011 22:49:18 +0900</pubDate>
		</item>
		<item>
			<title>spring sts jboss 6 버전 추가</title>
			<link>http://blog.kwfarm.kr/142</link>
			<description>sts download 후 servers에서 jboss 등록 할려고 하니 5 버전까지 없음.&lt;br /&gt;
&lt;br /&gt;
열심히 구글링 한 결과 처리&lt;br /&gt;
&lt;br /&gt;
참고url : &lt;a href=&quot;http://blog.naver.com/PostView.nhn?blogId=fbstar&amp;amp;logNo=100125533104&quot; target=&quot;_blank&quot; title=&quot;[http://blog.naver.com/PostView.nhn?blogId=fbstar&amp;amp;logNo=100125533104]로 이동합니다.&quot;&gt;http://blog.naver.com/PostView.nhn?blogId=fbstar&amp;amp;logNo=100125533104&lt;/a&gt;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
플러그인 url :&amp;nbsp;&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; color: rgb(99, 99, 99); font-family: 돋움; &quot;&gt;&lt;a target=&quot;_blank&quot; class=&quot;con_link&quot; href=&quot;http://download.jboss.org/jbosstools/updates/stable&quot; style=&quot;text-decoration: underline; word-wrap: break-word; &quot;&gt;http://download.jboss.org/jbosstools/updates/stable&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-142-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-142-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-142-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/142</guid>
			<comments>http://blog.kwfarm.kr/142#entry142comment</comments>
			<pubDate>Tue, 19 Jul 2011 23:11:14 +0900</pubDate>
		</item>
		<item>
			<title>merge tool</title>
			<link>http://blog.kwfarm.kr/137</link>
			<description>&lt;a href=&quot;http://www.araxis.com/&quot;&gt;http://www.araxis.com/&lt;/a&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-137-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-137-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-137-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/137</guid>
			<comments>http://blog.kwfarm.kr/137#entry137comment</comments>
			<pubDate>Sun, 03 Jul 2011 23:41:47 +0900</pubDate>
		</item>
		<item>
			<title>소프트웨어 아키텍트가 알아야 할 97가지</title>
			<link>http://blog.kwfarm.kr/136</link>
			<description>휴우 다 읽는데 1주 걸렸네.&lt;br /&gt;
거이 모든 글이 마음에 와 닫지만 그 중에서 크게 와 닫는거는 &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;고객의 요구사항보다 여러분의 이력에 더 우선순위를 두지 말라 (Page 2)&lt;br /&gt;
말하는 것에 대해서 말하다.&lt;br /&gt;
반복 작업과 싸워라(Page 92)&lt;br /&gt;
아키텍처 메타포어를 확대 해석하지 말자(Page 112)&lt;br /&gt;
간단한 것은 간단하게 하라(Page 124)&lt;br /&gt;
&lt;div style=&quot;margin-left: 4em; &quot;&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;이것을 기억하세요 미래 요구사항을 추측한다면 여러분의 50%가 틀렸을 겁니다. 그리고 나머지 49%는 완전히 틀린 요구사항일 것입니다. 오늘의 문제는 오늘 풀어야 합니다.&lt;br /&gt;
완벽함은 충분함의 적이다(Page 140)&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;꼭 아키텍트가 아니더라도 읽어 보면 좋은 책인 듯 합니다&amp;nbsp;&lt;br /&gt;
(난 아키텍트가 아닌데 읽었네 ㅋㅋㅋ)&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-136-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-136-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-136-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>책</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/136</guid>
			<comments>http://blog.kwfarm.kr/136#entry136comment</comments>
			<pubDate>Tue, 28 Jun 2011 22:50:33 +0900</pubDate>
		</item>
		<item>
			<title>MVCC(다중 버전 동시성 제어)</title>
			<link>http://blog.kwfarm.kr/134</link>
			<description>&lt;br /&gt;
MVCC는 행 수준 잠금을 으용한 것이라 볼 수 있는데, 대부분의 경우 잠금이 필요 없으며 오버헤드가 메우 적다. 구현 방식에 따라, 쓰기 작업 동안 잠금 없는 읽기를 허용하고 필요한 레코드만 쓰기 잠금할 수 있다.&lt;br /&gt;
&lt;br /&gt;MVCC는 트랜잭션이 시작할 때 스냅샷을 만들고 해당 트랜잭션은 그것을 가지고 동작한다. 그러므로 트랜잭션의 실행 기간에 관계 없이 일관된 데이터를 볼 수 있다. 이는 다른 트랜잭션이 동시에 같은 테이블에서 다른 데이터를 보게 될 수도 있음을 의미한다.&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 11pt; &quot;&gt;출처] MySql 성능 최적화 page 13&lt;/span&gt;&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-134-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-134-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-134-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>MySql</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/134</guid>
			<comments>http://blog.kwfarm.kr/134#entry134comment</comments>
			<pubDate>Thu, 09 Jun 2011 00:04:42 +0900</pubDate>
		</item>
		<item>
			<title>android emulator no space error</title>
			<link>http://blog.kwfarm.kr/133</link>
			<description>&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; color: rgb(0, 0, 0); line-height: normal; &quot;&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(250, 3, 15); &quot;&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;error message&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
[2011-06-02 15:49:37 - ddms]transfer error: No space left on device&lt;/div&gt;
&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(250, 3, 15); &quot;&gt;[2011-06-02 15:49:37 - Device]Error during Sync: No space left on device&lt;br /&gt;
&lt;br /&gt;&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); &quot;&gt;해결 메세지&lt;br /&gt;
./emulator -avd emulator-name -partition-size 512 -no-snapshot-load&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-133-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-133-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-133-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Android</category>
			<category>Android</category>
			<category>no space</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/133</guid>
			<comments>http://blog.kwfarm.kr/133#entry133comment</comments>
			<pubDate>Sat, 04 Jun 2011 23:02:44 +0900</pubDate>
		</item>
		<item>
			<title>android tab link</title>
			<link>http://blog.kwfarm.kr/131</link>
			<description>http://cranix.net/364&lt;br /&gt;
http://androidhuman.tistory.com/151&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-131-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-131-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-131-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/131</guid>
			<comments>http://blog.kwfarm.kr/131#entry131comment</comments>
			<pubDate>Sun, 22 May 2011 22:16:13 +0900</pubDate>
		</item>
		<item>
			<title>mac eclipse 단축키</title>
			<link>http://blog.kwfarm.kr/130</link>
			<description>&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; color: rgb(0, 0, 0); line-height: normal; &quot;&gt;키 옵션 보기 귀찮아서 정리중&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
option+command + 화살표 위아래 : 라인 복사&lt;br /&gt;
shift_controll + 화살표 위 -&amp;gt; 블록 선택&lt;br /&gt;
controll + option + 화살표 위아래 &amp;gt; 메소드 이동&lt;br /&gt;
command+shift+c -&amp;gt; 주석처리&lt;br /&gt;
&amp;nbsp;&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-130-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-130-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-130-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Tools</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/130</guid>
			<comments>http://blog.kwfarm.kr/130#entry130comment</comments>
			<pubDate>Sun, 22 May 2011 22:09:32 +0900</pubDate>
		</item>
		<item>
			<title>컴포넌트</title>
			<link>http://blog.kwfarm.kr/126</link>
			<description>Activities : 사용자 인터페이스를 구성하는 기본 단위&lt;br /&gt;
Srvice : 백그라운드에서 무한히 실행되는 컴포넌트&lt;br /&gt;
Broadcase Receiver : 시스템으로부터 전달되는 방송을 대기하고 신호 전달시 수신하는 역활&lt;br /&gt;
Content Provider : 다른 응용 프로그램을 위해 자신의 데이터를 제공&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;출처] 안드로이드 프로그래밍 정복&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-126-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-126-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-126-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Android</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/126</guid>
			<comments>http://blog.kwfarm.kr/126#entry126comment</comments>
			<pubDate>Wed, 20 Apr 2011 19:52:58 +0900</pubDate>
		</item>
		<item>
			<title>ThreadLocal 사용법과 활용</title>
			<link>http://blog.kwfarm.kr/123</link>
			<description>&lt;a href=&quot;http://javacan.tistory.com/entry/ThreadLocalUsage&quot; target=&quot;_blank&quot; title=&quot;[http://javacan.tistory.com/entry/ThreadLocalUsage]로 이동합니다.&quot;&gt;원본]&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(102, 102, 102); font-family: dotum; &quot;&gt;자바 1.2 버전부터 제공되고 있지만 아직 다수의 개발자들이 잘 몰라서 활용을 잘 못하는 기능이 하나 있는데, 그 기능이 바로 쓰레드 단위로 로컬 변수를 할당하는 기능이다. 이 기능은 ThreadLocal 클래스를 통해서 제공되는데, 본 글에서는 ThreadLocal 클래스의 기본적인 사용방법과 활용 방법을 살펴보도록 하겠다.&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-weight: bold; &quot;&gt;&lt;span style=&quot;font-size: 11pt; &quot;&gt;ThreadLocal이란?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;일반 변수의 수명은 특정 코드 블록(예, 메서드 범위, for 블록 범위 등) 범위 내에서만 유효하다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(193, 193, 193); border-right-width: 1px; border-right-style: dashed; padding-right: 10px; border-top-color: rgb(193, 193, 193); border-top-width: 1px; border-top-style: dashed; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(193, 193, 193); border-left-width: 1px; border-left-style: dashed; padding-top: 10px; border-bottom-color: rgb(193, 193, 193); border-bottom-width: 1px; border-bottom-style: dashed; background-color: rgb(238, 238, 238); &quot;&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int a = 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;
&amp;nbsp;&amp;nbsp; // 블록 내에서 a 변수 사용 가능&lt;br /&gt;
}&lt;br /&gt;
// 변수 a는 위 코드 블록이 끝나면 더 이상 유효하지 않다. (즉, 수명을 다한다.)&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
반면에 ThreadLocal을 이용하면 쓰레드 영역에 변수를 설정할 수 있기 때문에, 특정 쓰레드가 실행하는 모든 코드에서 그 쓰레드에 설정된 변수 값을 사용할 수 있게 된다. 아래 그림은 쓰레드 로컬 변수가 어떻게 동작하는 지를 간단하게 보여주고 있다.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); padding-top: 5px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; text-align: center; clear: both; &quot;&gt;
&lt;img src=&quot;http://cfs14.tistory.com/image/36/tistory/2009/02/13/15/44/499516b885314&quot; alt=&quot;&quot; height=&quot;252&quot; width=&quot;489&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;위 그림에서 주목할 점은 동일한 코드를 실행하는 데, 쓰레드1에서 실행할 경우 관련 값이 쓰레드1에 저장되고 쓰레드2에서 실행할 경우 쓰레드2에 저장된다는 점이다.&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: 12pt; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;span style=&quot;font-size: 11pt; &quot;&gt;ThreadLocal의 기본 사용법&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;ThreadLocal의 사용방법은 너무 쉽다. 단지 다음의 네 가지만 해 주면 된다.&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
&lt;ol style=&quot;list-style-type: decimal; &quot;&gt;&lt;li&gt;ThreadLocal 객체를 생성한다.&lt;/li&gt;
&lt;li&gt;ThreadLocal.set() 메서드를 이용해서 현재 쓰레드의 로컬 변수에 값을 저장한다.&lt;/li&gt;
&lt;li&gt;ThreadLocal.get() 메서드를 이용해서 현재 쓰레드의 로컬 변수 값을 읽어온다.&lt;/li&gt;
&lt;li&gt;ThreadLocal.remove() 메서드를 이용해서 현재 쓰레드의 로컬 변수 값을 삭제한다.&lt;br /&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/div&gt;아래 코드는 ThreadLocal의 기본적인 사용방법을 보여주고 있다.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(193, 193, 193); border-right-width: 1px; border-right-style: dashed; padding-right: 10px; border-top-color: rgb(193, 193, 193); border-top-width: 1px; border-top-style: dashed; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(193, 193, 193); border-left-width: 1px; border-left-style: dashed; padding-top: 10px; border-bottom-color: rgb(193, 193, 193); border-bottom-width: 1px; border-bottom-style: dashed; background-color: rgb(238, 238, 238); &quot;&gt;
// 현재 쓰레드와 관련된 로컬 변수를 하나 생성한다.&lt;br /&gt;
ThreadLocal&amp;lt;UserInfo&amp;gt; local = new ThreadLocal&amp;lt;UserInfo&amp;gt;();&lt;br /&gt;
&lt;br /&gt;// 로컬 변수에 값 할당&lt;br /&gt;
local.set(currentUser);&lt;br /&gt;
&lt;br /&gt;// 이후 실행되는 코드는 쓰레드 로컬 변수 값을 사용&lt;br /&gt;
UserInfo userInfo = local.get();&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;위 코드만으로는 ThreadLocal이 어떻게 동작하는 지 잘 이해가 되지 않을테니, 구체적인 예제를 이용해서 ThreadLocal의 동작 방식을 살펴보도록 하겠다. 먼저 ThreadLocal 타입의 static 필드를 갖는 클래스를 하나 작성해보자.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(193, 193, 193); border-right-width: 1px; border-right-style: dashed; padding-right: 10px; border-top-color: rgb(193, 193, 193); border-top-width: 1px; border-top-style: dashed; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(193, 193, 193); border-left-width: 1px; border-left-style: dashed; padding-top: 10px; border-bottom-color: rgb(193, 193, 193); border-bottom-width: 1px; border-bottom-style: dashed; background-color: rgb(238, 238, 238); &quot;&gt;public class Context {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public static ThreadLocal&amp;lt;Date&amp;gt; local = new ThreadLocal&amp;lt;Date&amp;gt;();&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;이제 Context 클래스를 사용해서 쓰레드 로컬 변수를 설정하고 사용하는 코드를 작성할 차례이다. 아래는 코드의 예이다.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;txc-textbox&quot; style=&quot;border-right-color: rgb(193, 193, 193); border-right-width: 1px; border-right-style: dashed; padding-right: 10px; border-top-color: rgb(193, 193, 193); border-top-width: 1px; border-top-style: dashed; padding-left: 10px; padding-bottom: 10px; border-left-color: rgb(193, 193, 193); border-left-width: 1px; border-left-style: dashed; padding-top: 10px; border-bottom-color: rgb(193, 193, 193); border-bottom-width: 1px; border-bottom-style: dashed; background-color: rgb(238, 238, 238); &quot;&gt;class A {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void a() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Context.local.set(new Date());&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; B b = new B();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.b();&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Context.local.remove();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;class B {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void b() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date date = Context.local.get();&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; C c = new C();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.c();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;class C {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public void c() {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date date = Context.local.get();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;
&lt;br /&gt;위 코드를 보면 A, B, C 세 개의 클래스가 존재하는데, A.a() 메서드를 호출하면 다음 그림과 같은 순서로 메서드가 실행된다.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(221, 221, 221); border-right-color: rgb(221, 221, 221); border-bottom-color: rgb(221, 221, 221); border-left-color: rgb(221, 221, 221); padding-top: 5px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; text-align: center; clear: both; &quot;&gt;&lt;img src=&quot;http://cfs10.tistory.com/image/18/tistory/2009/02/02/13/42/498679a3566e6&quot; alt=&quot;&quot; height=&quot;353&quot; width=&quot;596&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; &quot;&gt;&lt;/div&gt;
&lt;br /&gt;위 그림에서 1~10은 모두 하나의 쓰레드에서 실행된다. ThreadLocal과 관련된 부분을 정리하면 다음과 같다.&lt;br /&gt;
&lt;ul style=&quot;list-style-type: disc; &quot;&gt;&lt;li&gt;2 - A.a() 메서드에서 현재 쓰레드의 로컬 변수에 Date 객체를 저장한다.&lt;/li&gt;
&lt;li&gt;4 - B.b() 메서드에서 현재 쓰레드의 로컬 변수에 저장된 Date 객체를 읽어와 사용한다.&lt;/li&gt;
&lt;li&gt;6 - C.c() 메서드에서 현재 쓰레드의 로컬 변수에 저장된 Date 객체를 읽어와 사용한다.&lt;/li&gt;
&lt;li&gt;9 - A.a() 메서드에서 현재 쓰레드의 로컬 변수를 삭제한다.&lt;/li&gt;
&lt;/ul&gt;위 코드에서 중요한 건 A.a()에서 생성한 Date 객체를 B.b() 메서드나 C.c() 메서드에 파라미터로 전달하지 않는다는 것이다. 즉, 파라미터로 객체를 전달하지 않아도 한 쓰레드로 실행되는 코드가 동일한 객체를 참조할 수 있게 된다.&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;&lt;span style=&quot;font-size: 11pt; &quot;&gt;ThreadLocal의 활용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;ThreadLocal은 한 쓰레드에서 실행되는 코드가 동일한 객체를 사용할 수 있도록 해 주기 때문에 쓰레드와 관련된 코드에서 파라미터를 사용하지 않고 객체를 전파하기 위한 용도로 주로 사용되며, 주요 용도는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;&lt;ul style=&quot;list-style-type: disc; &quot;&gt;
&lt;li&gt;사용자 인증정보 전파 - Spring Security에서는 ThreadLocal을 이용해서 사용자 인증 정보를 전파한다.&lt;/li&gt;
&lt;li&gt;트랜잭션 컨텍스트 전파 - 트랜잭션 매니저는 트랜잭션 컨텍스트를 전파하는 데 ThreadLocal을 사용한다.&lt;/li&gt;
&lt;li&gt;쓰레드에 안전해야 하는 데이터 보관&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;이 외에도 쓰레드 기준으로 동작해야 하는 기능을 구현할 때 ThreadLocal을 유용하게 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-size: 10pt; &quot;&gt;ThreadLocal 사용시 주의 사항&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;쓰레드 풀 환경에서 ThreadLocal을 사용하는 경우 ThreadLocal 변수에 보관된 데이터의 사용이 끝나면 반드시 해당 데이터를 삭제해 주어야 한다. 그렇지 않을 경우 재사용되는 쓰레드가 올바르지 않은 데이터를 참조할 수 있다.&lt;/p&gt;
&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-123-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-123-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-123-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Java</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/123</guid>
			<comments>http://blog.kwfarm.kr/123#entry123comment</comments>
			<pubDate>Fri, 15 Apr 2011 01:23:29 +0900</pubDate>
		</item>
		<item>
			<title>브라이언의 동기화 규칙(Brian&#039;s Rule of Synchronization)</title>
			<link>http://blog.kwfarm.kr/122</link>
			<description>언제 synchronized를 적용해야 할까? 브라이언의 동기화 규칙을 따르자.&lt;br /&gt;
&lt;br /&gt;&lt;div style=&quot;margin-left: 4em;&quot;&gt;
이후에 다른 스레드가 읽을 수 있는 변수를 기록할 때나 이전에 다른 스레드가 기록했ㅇ르 수 있는 변수를 읽을 때 동기화를 사용해야 한다. 추가적으로 읽는 객체나 기록하는 객체 모두 동일한 모니터 락을 사용하여 동기화를 해야 한다.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;출처] Thnking In Java Page 1073&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-122-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-122-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-122-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Java</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/122</guid>
			<comments>http://blog.kwfarm.kr/122#entry122comment</comments>
			<pubDate>Tue, 12 Apr 2011 17:44:29 +0900</pubDate>
		</item>
		<item>
			<title>현재 개발자로서 나의 위치는 어디일까나?</title>
			<link>http://blog.kwfarm.kr/121</link>
			<description>회사가 생각지도 않게 파산하게 되어 실업자 놀이중.&lt;br /&gt;
&lt;br /&gt;여기 저기 이력서 넣고, 면접 보러다니면서 느끼는 점은 개발자로서 나의 위치는 어디일까? 라는 생각이 문든 듬.&lt;br /&gt;
&lt;br /&gt;대학생활때는 C, C++, Win32에 관심 있어서 공부하고,&lt;br /&gt;
&lt;br /&gt;사회에 나와서는 웹 개발자로 근 5년 가까이 근무.&lt;br /&gt;
&lt;br /&gt;그러고 보니 한 3년은 서버 관리도 같이 병행.&lt;br /&gt;
&lt;br /&gt;돌이켜 보면 회사생활에 매진하고, 시간 쪼개서 공부 하고 그랬는데. 월등하게 잘 하는거는 없는것 같음.&lt;br /&gt;
&lt;br /&gt;머리가 나쁜건지, 욕심만큼 머리가 못 따라 가는 것 같고.&lt;br /&gt;
&lt;br /&gt;머리가 나쁘면 하나라도 꾸준히 해야 하는데. 이것 저것 손대고 ㅡㅜ&lt;br /&gt;
&lt;br /&gt;JavaScript도 잘 하고 싶고, &lt;br /&gt;
SE로도 대성하고 싶고, &lt;br /&gt;
Spring 같은 프레임워크도 만들고 싶고,&lt;br /&gt;
디비도 DBA처럼 관리도 잘 하면서, 쿼리도 잘 짜고 싶고&amp;nbsp;&lt;br /&gt;
설계도 잘 하고 싶고,&lt;br /&gt;
&lt;br /&gt;아~~~~ 이렇게 하고 싶은거는 많은데 ....&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-121-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-121-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-121-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>주저리주저리</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/121</guid>
			<comments>http://blog.kwfarm.kr/121#entry121comment</comments>
			<pubDate>Tue, 12 Apr 2011 01:08:34 +0900</pubDate>
		</item>
		<item>
			<title>용어 정리</title>
			<link>http://blog.kwfarm.kr/120</link>
			<description>&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림, 돋움, arial, sans-serif; font-size: 13px; line-height: 19px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;과장님과 이야기 하다가 모르는 용어가 나와서 정리&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;OLTP(&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Gulim; line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: medium; &quot;&gt;&lt;span class=&quot;std&quot; style=&quot;font-family: 굴림; font-size: 9pt; font-style: normal; line-height: 1.25; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;online transaction processing)&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://terms.co.kr/OLTP.htm&quot; target=&quot;_blank&quot; title=&quot;[http://terms.co.kr/OLTP.htm]로 이동합니다.&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[출처]&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 15px; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;OLTP&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[오엘티피]&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;는 일반적으로 은행이나, 항공사, 우편주문, 수퍼마켓, 제조업체 등을 포함한 많은 산업체에서&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/data.htm&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;입력이나 거래조회 등을 위한&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/transaction.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;트랜잭션&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;지향의 업무을 쉽게 관리해주는&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/program.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;프로그램&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;이다. 아마도, 가장 광범위하게 설치된 OLTP 제품은 IBM의&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/CICS.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;CICS&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;일 것이다.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;p align=&quot;left&quot; style=&quot;font-family: Gulim; line-height: normal; font-size: medium; &quot;&gt;&lt;span class=&quot;std&quot; style=&quot;font-family: 굴림; font-size: 9pt; font-style: normal; line-height: 1.25; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;오늘날&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/online.htm&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;온라인&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;거래처리는 하나 이상의 회사가 관련되는&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/network.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;네트웍&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;트랜잭션을 지원해야하는 요구를 점점더 많이 받고 있다. 이러한 이유 때문에, 새로운 OLTP&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/software.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;소프트웨어&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;는 트랜잭션들이 네트웍 상의 다른 컴퓨터&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/platform.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;플랫폼&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;들 위에서 실행될 수 있도록 해주는&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://terms.co.kr/clientserver.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;클라이언트/서버&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;처리 및 브로커 소프트웨어를 사용한다.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/font&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Gulim; line-height: normal; font-size: medium; &quot;&gt;&lt;b&gt;&lt;font&gt;&lt;span class=&quot;std&quot; style=&quot;font-family: ±¼¸²; font-size: 9pt; font-style: normal; line-height: 1.25; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;OLAP(&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림, 돋움, arial, sans-serif; font-size: 13px; line-height: 19px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;online analytical processing)&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://terms.co.kr/OLTP.htm&quot; target=&quot;_blank&quot; title=&quot;[http://terms.co.kr/OLTP.htm]로 이동합니다.&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[출처]&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Gulim; line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: medium; &quot;&gt;&lt;b&gt;&lt;span class=&quot;std&quot; style=&quot;font-family: ±¼¸²; font-size: 9pt; font-style: normal; line-height: 1.25; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림, 돋움, arial, sans-serif; font-size: 13px; line-height: 19px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;b&gt;&lt;p align=&quot;left&quot; style=&quot;display: inline !important; &quot;&gt;&lt;span class=&quot;std&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;OLAP&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[올랩]&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;은 사용자로 하여금 &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/data.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;를 다른 관점으로 쉽게, 또한 선택적으로 추출하고 바라볼 수 있게 
해준다. 예를 들어, 어떤 사용자는 분석될 데이터로서 9월 중 같은 제품과의 매출액을 비교하기 위해 7월중에 플로리다주에서 팔린 모든 회사의 
비치볼 제품 판매량을 보여주는 스프레드시트를 요청함으로써, 같은 시기동안에 플로리다주에서 팔린 다른 제품들과 비교해 볼 수 있다. 이러한 종류의 
분석을 쉽게 하기 위해 OLAP 데이터는 다차원 &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/database.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터베이스&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt; 내에 
저장된다. &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/RDB.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;관계형 데이터베이스&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;가 2차원이라고 생각할 수 있는데 반해, 
다차원 데이터베이스란 각 데이터 속성(제품, 매출지역, 기간 등과 같은)이 각기 별개의 차원으로서 간주되는 것이다. OLAP &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/software.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;소프트웨어&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;는 차원들 간의 교점을 찾아내어, 그것들을 표시할 수 있다. 
&quot;기간&quot; 등과 같은 속성들은 세부속성으로 나뉘어질 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;p align=&quot;left&quot;&gt;&lt;span class=&quot;std&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;OLAP은 &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/datamining.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터 마이닝&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;, 또는 이전에는 판별하지 못했던 데이터 항목들 간의 상관관계를 찾아내는 일 등에 활용될 수 
있다. OLAP 데이터베이스는 &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/datawarehouse.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터웨어하우스&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt; 만큼 클 
필요는 없는데, 왜냐하면 추이분석을 위해서 모든 &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/transaction.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;트랜잭션&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt; 
데이터가 필요한 것은 아니기 때문이다. &lt;/span&gt;&lt;a href=&quot;http://www.terms.co.kr/ODBC.htm&quot; target=&quot;Frame 3&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;ODBC&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;를 사용하면, OLAP을 
위한 다차원 데이터베이스를 만들기 위해 기존의 관계형 데이터베이스로부터 데이터를 가져올 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt; 
&lt;/span&gt;&lt;/p&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Gulim; line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: medium; &quot;&gt;&lt;b&gt;&lt;span class=&quot;std&quot; style=&quot;font-family: ±¼¸²; font-size: 9pt; font-style: normal; line-height: 1.25; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: 굴림, 돋움, arial, sans-serif; font-size: 13px; line-height: 19px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;b&gt;&lt;p align=&quot;left&quot; style=&quot;display: inline !important; &quot;&gt;&lt;span class=&quot;std&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;OLAP 제품을 선도하고 있는 제품으로는 Arbor Software의 Essbase와 
오라클의 Express Server가 있다. 이러한 제품들은 다중사용자 환경을 위해 설계되었으며, 사용자 수에 따라 사용자 1인당 최소 
$2,500 정도의 비용이 소요된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;DB(Data warehouse)&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%9B%A8%EC%96%B4%ED%95%98%EC%9A%B0%EC%8A%A4&quot; target=&quot;_blank&quot; title=&quot;[http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%9B%A8%EC%96%B4%ED%95%98%EC%9A%B0%EC%8A%A4]로 이동합니다.&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[출처]&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15px; line-height: 22px; font-family: sans-serif; &quot;&gt;&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;데이터웨어하우스&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;(&lt;/span&gt;&lt;span lang=&quot;en&quot; xml:lang=&quot;en&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;data warehouse&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;)란 사용자의 의사 결정에 도움을 주기 위하여, 기간시스템의&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터베이스&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다. 줄여서&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;DW&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;로도 불린다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;1980년대 중반&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/wiki/IBM&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;IBM&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;이 자사&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/wiki/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;하드웨어&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;를 판매하기 위해 처음으로 도입하였다. IBM은 인포메이션 웨어하우스(Informationn Warehouse)라는 용어를 사용하였다. 이후 이 개념은 많은 하드웨어,&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4&quot; class=&quot;mw-redirect&quot; title=&quot;소프트웨어&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;소프트웨어&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;및 툴 공급 업체 들에 의해 이론적, 현실적으로 성장하였으며, 1980년대 후반 Inmon이 데이터 접근 전략으로 데이터 웨어하우스 개념을 사용함으로써 많은 관심과 집중을 받게 되었다.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; line-height: 1.5em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;웨어하우스(warehouse)는 창고라는 의미인데 데이터의 수용이나 분석 방법까지 포함하여 조직 내 의사 결정을 지원하는 정보 관리 시스템으로 이용된다. 목적별 데이터를 비롯해 기업 활동 전반에 필요한 정보를 전 회사 규모의 데이터베이스로 일원화해 관리한다. 원시 데이터 계층, 데이터 웨어하우스 계층, 클라이언트 계층으로 구성되며 데이터의 추출, 저장, 조회 등의 활동을 한다. 데이터웨어하우스를 사용하는 것은 고객의 구매 동향, 신제품에 대한 반응도, 제품별 수익률 등 세밀한 마케팅 정보를 얻는 것을 목표로 한다. 목적별 데이터뿐만 아니라 기업 활동에 관한 모든 정보를 전 회사 규모의 데이터베이스로 일원화하여 관리하므로 그 용량이 작게는 수백 GB에서 수 TB에 이른다. 따라서 대형 메인 프레임 등 기존의 플랫폼으로는 시간과 비용의 제약으로 곤란한데 병렬 서버기의 등장과 자기 디스크 장치의 대용량화•저가격화로 가능하게 되었다. 병렬 서버를 사용하면 하나의 검색 처리 요구를 분할하여 복수 프로세스로 병렬 처리함으로써 고속으로 검색할 수 있기 때문이다. 병렬 서버에 대응해서&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EA%B4%80%EA%B3%84%ED%98%95_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;관계형 데이터베이스&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;관리 시스템(RDBMS)을 사용한다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin-top: 0px; margin-right: 0px; margin-bottom: 0.6em; margin-left: 0px; overflow-x: hidden; overflow-y: hidden; padding-top: 0.5em; padding-bottom: 0.17em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(170, 170, 170); width: auto; font-size: 23px; &quot;&gt;&lt;span class=&quot;editsection&quot; style=&quot;float: right; margin-left: 5px; font-size: 15px; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;[&lt;/span&gt;&lt;a href=&quot;http://ko.wikipedia.org/w/index.php?title=%EB%8D%B0%EC%9D%B4%ED%84%B0_%EC%9B%A8%EC%96%B4%ED%95%98%EC%9A%B0%EC%8A%A4&amp;amp;action=edit&amp;amp;section=1&quot; title=&quot;부분 편집: 특징&quot; style=&quot;text-decoration: none; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;편집&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mw-headline&quot; id=&quot;.ED.8A.B9.EC.A7.95&quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;특징&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ol style=&quot;line-height: 1.5em; margin-top: 0.3em; margin-right: 0px; margin-bottom: 0px; margin-left: 3.2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-image: none; &quot;&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;웨어하우스 데이터는 비즈니스 사용자들의 의사결정 지원에 전적으로 이용된다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;기업의 운영시스템과 분리되며, 운영시스템으로부터 많은 데이터가 공급된다. 데이터 웨어하우스는 여러 개의 개별적인 운영시스템으로부터 데이터가 집중된다. 기본적인 자료 구조는 운영시스템과 완전히 다르므로 데이터들이 데이터 웨어하우스로 이동되면서 재구조화되어야 한다. 운영시스템과 데이터 웨어하우스는 근본적으로 다르며, 두 개의 매우 상이한 시스템을 요구한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터 웨어하우스는 신뢰할 수 있는 하나의 버전 (one version of truth)을 사용자에게 제공한다. 기존 운영시스템의 대부분은 항상 많은 부분이 중복됨으로써 하나의 사실에 대해 다수의 버전이 존재하게 된다. 그렇지만 데이터 웨어하우스에서 이러한 데이터는 전사적인 관점에서 통합된다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;시간성 혹은 역사성을 가진다. 즉 일, 월, 년 회계기간등과 같은 정의된 기간과 관련되어 저장된다. 운영시스템의 데이터는 사용자가 사용하는 매순간 정확한 값을 가진다. 즉 바로 지금의 데이터를 정확하게 가지고 있을 것이 요구된다. 반면 웨어하우스의 데이터는 특정 시점을 기준으로 정확하다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;주제 중심적이다. 운영시스템은 재고 관리, 영업관리 등과 같은 기업운영에 필요한 특화된 기능을 지원하는 데 반해, 데이터 웨어하우스는 고객, 제품 등과 같은 중요한 주제를 중심으로 그 주제와 관련된 데이터들로 조직된다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;컴퓨터 시스템 혹은 자료 구조에 대한 지식이 없는 사용자들이 쉽게 접근할 수 있어야 한다. 조직의 관리자들과 분석가들은 그들의 PC로부터 데이터 웨어하우스에 연결될 수 있어야 한다. 이런 연결은 요구에 즉각적이어야 하고, 또한 신속성을 보여야 한다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터 웨어하우스는 읽기 전용 데이터베이스로서 갱신이 이루어지지 않는다. 웨어하우스 환경에서는 프로덕션 데이터 로드(Production Data Load)와 활용만이 존재하며, 운영시스템에서와 같은 의미의 데이터의 갱신은 발생하지 않는다.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em; &quot;&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;데이터 웨어하우스는 일정한 시간 동안의 데이터를 대변하는 것으로 snap shot과 같다고 할 수 있다. 따라서 데이터 구조상에 &#039;시간이 아주 중요한 요소로 작용합니다&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Gulim; &quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-120-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-120-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-120-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>DB</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/120</guid>
			<comments>http://blog.kwfarm.kr/120#entry120comment</comments>
			<pubDate>Sat, 09 Apr 2011 23:56:19 +0900</pubDate>
		</item>
		<item>
			<title>Materialized View란?</title>
			<link>http://blog.kwfarm.kr/119</link>
			<description>마소 보다가 정확한 개념을 찾지 못해 검색하니 바로 나온 좋은 글&lt;br /&gt;
&lt;br /&gt;역시 인터넷이 좋아 ㅡㅜ&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.oracleclub.com/lecture/1857&quot; target=&quot;_blank&quot; title=&quot;[http://www.oracleclub.com/lecture/1857]로 이동합니다.&quot;&gt;&lt;span style=&quot;font-size: 14pt; &quot;&gt;[출처]&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(10, 36, 106); font-family: 굴림, Arial; font-size: 16px; font-weight: bold; line-height: normal; &quot;&gt;Materialized View란 ?&lt;/span&gt;&lt;br /&gt;
&lt;h2 style=&quot;margin-top: 24px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; Materialized View(이하 MView로 표시) 이것은 제목 그대로 View 입니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; 하지만 일반 View는 논리적인 테이블이고, MView는 물리적으로 존재하는 테이블 입니다. 물리적으로 존재한다는 것은 Data가 일정 공간을 차지하고 있다는 거죠..&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; MView는 어떤 결과를 뽑아 내는 쿼리가 너무나도 빈번히 사용 될 경우, Query 실행 시간의 수행속도 향상을위하여 , 여러 가지의 Aggregate View를 두어, 미리 비용이 많이 드는 조인이나, Aggregate Operation 을 처리하여야 하는 SQL을 위해, 데이터베이스의 한 테이블로 저장 하며, 그 테이블을 조회 하도록 하는 것 입니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; 간단하게 설명하면 대용량의 데이터를 SUM, MIN, MAX, AVG, COUNT(*)이런 명령어를 사용해 너무나도 자주 조회하는 Query를 수행속도를 향상을 위해서, Query의 결과 만큼의 새로운 테이블을 생성해 놓는 벙법 입니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; 자주사용되는 View의 결과를 디스크에 저장해서 Query 속도를 향상시키는 개념 입니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 14px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; line-height: normal; font-size: 12pt; color: rgb(10, 36, 106); font-family: 굴림, Arial; &quot;&gt;Materialized View의 특징&lt;/h4&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - MView를 만들어두면 QUERY의 수행속도를 증가 시킬 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - SQL 응용프로그램에서 MView 사용시 DBA는 프로그램에 영향을 끼치지 않고 언제든지 생성 및 제거가 가능 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - MView는 실행의 결과 행과 뷰 정의 모두 저장이 되고, 실행 결과 행으로 만들어진 테이블은 일정 공간을 차지 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - MView관련 기초 테이블을 변경하면, MView로 생성된 Summary 테이블도 변경 됩니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 14px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; line-height: normal; font-size: 12pt; color: rgb(10, 36, 106); font-family: 굴림, Arial; &quot;&gt;Materialized View와 일반 View의 차이점&lt;/h4&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - 가장 큰 차이점은 MView의 결과값은 물리적으로 존재하는 것이고, 일반 View의 결과값은 물리적으로 존재하지 않습니다. 즉 SELECT * FROM USER_SEGMENTS 하면 MView는 나오지만 일반 View는 나오지 않습니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; - MView는 MView를 생성할때의 Query로 물리적으로 이미 데이타가 생성되어 있기 때문에 조회 속도가 빠릅니다. 하지만 View는 단지 쿼리정보가 딕셔너리에 저장되어 있고 사용될때 그 SQL이 다시 실행되는 것이기 때문에 MView보다 느립니다. MView로 생성된 결과값이 일반 View로 조회하는 Data의 결과값 보다 훨씬 적은 Row를 조회하게 되죠.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 14px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; line-height: normal; font-size: 12pt; color: rgb(10, 36, 106); font-family: 굴림, Arial; &quot;&gt;MView 관련 파라미터&lt;/h4&gt;&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; -&amp;nbsp;&lt;b style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;OPTIMIZER_MODE&lt;/b&gt;&amp;nbsp;: MView를 사용하기 위해서는 Cost-Based 옵티마이져 여야 하므로 ALL_ROWS, CHOOSE, 혹은 FIRST_ROWS 중의 어느 하나를 사용 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; -&amp;nbsp;&lt;b style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;QUERY_REWRITE_ENABLED&lt;/b&gt;&amp;nbsp;: Query Rewrite 사용을 위해서는 TRUE로 설정하면 됩니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; -&amp;nbsp;&lt;b style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;QUERY_REWRITE_INTEGRITY&lt;/b&gt;&amp;nbsp;: 오라클이 Query Rewrite의 정확성을 제어하는 파라미터로, &quot;STALE_TOLERATED&quot;, &quot;TRUSTED&quot;, &quot;ENFORCED&quot; 로 지정할 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;code-keyword&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 145); background-color: inherit; &quot;&gt;STALE_TOLERATED&lt;/span&gt;&amp;nbsp;: 사용되어진 기초테이블과 Consistent 하지 않은 View를 이용한Query Rewrite를 허용 합니다&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;code-keyword&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 145); background-color: inherit; &quot;&gt;TRUSTED&lt;/span&gt;&amp;nbsp;: Optimizer에서 MView의 데이터가 정확하다고 간주하고 질의 수행. Integrity 확인을 하지 않습니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;code-keyword&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 145); background-color: inherit; &quot;&gt;ENFORCED&lt;/span&gt;&amp;nbsp;: QUERY_REWRITE_INTEGRITY 의 기본값으로, 사용자가 Integrity Constraint를 확인하여야 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp; -&amp;nbsp;&lt;b style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;COMPATIBLE&lt;/b&gt;&amp;nbsp;: 사용할 수 있는 오라클 함수들의 Compatibility를 결정하는 값으로 8.1.0 또는 그 이상으로 설정 해야 합니다.&lt;/p&gt;
&lt;p style=&quot;margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 2px; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;margin-top: 14px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-weight: bold; line-height: normal; font-size: 12pt; color: rgb(10, 36, 106); font-family: 굴림, Arial; &quot;&gt;참고문헌&lt;/h4&gt;&lt;ul class=&quot;lecture_ul&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; font-size: 10pt; line-height: 13pt; list-style-type: disc; list-style-position: initial; list-style-image: initial; width: 1037px; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; &quot;&gt;- Oracle Technical Note Materialized View 글 / 박경희&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; &quot;&gt;- Oracle Technical Bulletins No.12181 MATERIALIZED VIEW 활용방법&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; &quot;&gt;- Oracle 8i Tuning 정식 교재&lt;/li&gt;
&lt;/ul&gt;&lt;ul class=&quot;lecture_ul&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 1px; padding-right: 0px; padding-bottom: 5px; padding-left: 0px; list-style-type: disc; list-style-position: initial; list-style-image: initial; width: 1037px; &quot;&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;- 작성자 : 김정식 (oramaster _at_ naver.com)&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;- 작성일 : 2005-03-12&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;- 강좌 URL :&amp;nbsp;&lt;a href=&quot;http://www.oracleclub.com/lecture/1857&quot; target=&quot;_blank&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;http://www.oracleclub.com/lecture/1857&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; font-size: 10pt; line-height: 13pt; list-style-type: none; list-style-position: initial; list-style-image: initial; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-weight: normal; &quot;&gt;- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^&lt;/li&gt;
&lt;li style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 4px; padding-right: 0px; padding-bottom: 2px; padding-left: 10px; list-style-type: none; list-style-position: initial; list-style-image: initial; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;-&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;a href=&quot;http://www.oracleclub.com/&quot; target=&quot;_blank&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-size: 10pt; font-weight: normal; line-height: 13pt; &quot;&gt;오라클클럽&lt;/a&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;의 모든 강좌는&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=&quot;_blank&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); font-family: 굴림, Arial; font-size: 10pt; font-weight: normal; line-height: 13pt; &quot;&gt;크리에이티브 커먼즈&lt;/a&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 &lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;따라 자유롭게 사용할 수 있습니다.&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;보충]&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;출처 : 마소 &amp;nbsp;2011년 3월호&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;원본 테이블에 대한 대량의 DML이 발생하면 M-view에도 순차적으로 반영되어야 하기 때문에 성능저하 발생 가능&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;추가보충]&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;
&lt;font class=&quot;Apple-style-span&quot; color=&quot;#000000&quot; face=&quot;굴림, Arial&quot; size=&quot;2&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal; line-height: 13pt;&quot;&gt;출처 : 과장님&lt;br /&gt;
대부분의 경우 전체 데이터를 다시 만들때 모두 delete 하고 다시 insert 함&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/h2&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-119-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-119-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-119-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Oracle</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/119</guid>
			<comments>http://blog.kwfarm.kr/119#entry119comment</comments>
			<pubDate>Sat, 09 Apr 2011 23:50:11 +0900</pubDate>
		</item>
		<item>
			<title>ibm] 다섯 가지의 Ajax 우수 사례</title>
			<link>http://blog.kwfarm.kr/118</link>
			<description>&lt;br /&gt;
원본]&amp;nbsp;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&lt;meta charset=&quot;utf-8&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Times; line-height: normal; font-size: medium; &quot;&gt;&lt;ol style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html#minimize&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;호출 최소화&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html#tiny&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;데이터 규모 축소&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html#preload&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;컴포넌트 사전로드&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html#errors&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;원활한 오류 처리&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/wa-aj-5best/index.html#tools&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;기존 도구의 사용&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-118-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-118-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-118-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>JS</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/118</guid>
			<comments>http://blog.kwfarm.kr/118#entry118comment</comments>
			<pubDate>Thu, 07 Apr 2011 01:59:07 +0900</pubDate>
		</item>
		<item>
			<title>linux] linux kernel 이 64비트 인지 확인</title>
			<link>http://blog.kwfarm.kr/82</link>
			<description>&lt;a href=&quot;http://minimonk.tistory.com/2413&quot; target=&quot;_blank&quot; title=&quot;[http://minimonk.tistory.com/2413]로 이동합니다.&quot;&gt;[원본]&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
&lt;meta http-equiv=&quot;Content-Style-Type&quot; content=&quot;text/css&quot;&gt;
&lt;title&gt;&lt;/title&gt;
&lt;meta name=&quot;Generator&quot; content=&quot;Cocoa HTML Writer&quot;&gt;
&lt;meta name=&quot;CocoaVersion&quot; content=&quot;1038.35&quot;&gt;
&lt;style type=&quot;text/css&quot;&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px AppleGothic}
&lt;/style&gt;


&lt;p class=&quot;p1&quot;&gt;getconf LONG_BIT&lt;br /&gt;
&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-82-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-82-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-82-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Server</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/82</guid>
			<comments>http://blog.kwfarm.kr/82#entry82comment</comments>
			<pubDate>Thu, 24 Mar 2011 00:53:02 +0900</pubDate>
		</item>
		<item>
			<title>펌] Java classpath (UNIX와 Mac OS X) 관리하기 (한글)</title>
			<link>http://blog.kwfarm.kr/81</link>
			<description>&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/&quot; target=&quot;_blank&quot; title=&quot;[http://www.ibm.com/developerworks/kr/library/j-classpath-unix/]로 이동합니다.&quot;&gt;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(0, 0, 0); font-family: Times; line-height: normal; font-size: medium; &quot;&gt;&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;classpath는 자바 런타임과 파일시스템간 연결이다. 인터프리터가 로딩할 .class 파일들을 검색할 장소를 정의한다. 기본 개념은, 파일시스템 계층이 자바 패키지 계층을 미러링 하고, classpath가 파일시스템에서 어떤 디렉토리가 자바 패키지 계층에 대한 루트의 역할을 할 것인지를 지정하는 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;안타깝게도, 파일시스템은 복잡하고, 플랫폼에 상당히 의존하며, 자바 패키지와 완벽하게 들어맞지 않는다. 따라서, classpath는 신참 사용자와 숙련된 자바 프로그래머 모두에게서 가시와 같은 존재가 되었다. 자바 플랫폼에서도 환영을 받는 존재도 아니다. 지독하게도 솔루션이 나오지 않는 소소한 문제들을 해결하느라 많은 노력을 기울여야 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;Eclipse 같은 훌륭한 IDE는 classpath 관리의 어려움을 덜어주기는 하지만, 어디까지나 모든 것이 잘 작동하고 있을 경우에만 해당된다. (어떤 것은 늘 잘못되기 마련이다.) 결국, 모든 자바 프로그래머는 classpath를 완전히 이해해야 한다. 완벽한 통달만이 classpath에서 발생하는 가시 같은 문제들을 해결할 수 있다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 글에서, UNIX, Linux, Mac OS X 플랫폼에서 자바 classpath(관련 sourcepath 포함)에 대해 알아야 할 모든 것을 망라했다.&amp;nbsp;&lt;a href=&quot;http://www.ibm.com/developerworks/java/library/j-classpath-windows/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;참고 기술자료&lt;/a&gt;에서는 Windows 플랫폼을 대상으로 설명했다. 이 글이 충실한 가이드가 될 것이며, 대부분의 classpath 문제들을 해결할 수 있을 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N1007E&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;패키지 구조&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;classpath 마스터는 소스 코드부터 시작한다. 모든 클래스는 패키지에 속해 있고, 이 패키지는 표준 네이밍 규약을&amp;nbsp;&lt;em&gt;따라야 한다.&lt;/em&gt;&amp;nbsp;간단히 정리하면 다음과 같다. 패키지 이름은&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.example&lt;/code&gt;&amp;nbsp;또는&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;edu.poly&lt;/code&gt;처럼, 두 개의 도치된(reversed) 도메인 이름으로 시작한다. 그 다음에는 패키지의 내용을 설명하는 한 개 이상의 단어가 나온다. 예를 들어, 도메인 네임 elharo.com이 있고,&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;Fraction&lt;/code&gt;&amp;nbsp;클래스를 작성한다면, 다음과 같은 패키지 형태가 될 것이다.&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.math&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.numbers&lt;/code&gt;&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.math.algebra.fields&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;도치된 도메인 네임 다음에는, 한 단어로 된 서브패키지(subpackage) 이름만 사용한다. 단어를 생략하지 말고, 모든 단어를 정확하게 작성한다. 필요하다면, 스펠 체커를 사용한다. classpath 관련 문제들 대부분이 소스 코드에 한 단어를 사용하는 데서 기인하고, 파일시스템의 단어와 약간 다른 스펠링 또는 축약 때문에 발생한다. 가장 현명한 방법은 줄이지 않은 정확한 스펠링을 사용하는 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;전체 패키지 이름은 소문자로 하며, 일반적으로 대문자를 사용하는 고유 명사와 두문자일 경우에도 소문자를 사용한다. 패키지 이름은 ASCII 문자들로 구성된다. 컴파일러는 Hebrew, Cyrillic, Greek, 기타 스크립트로 작성된 패키지 이름들을 허용하지만, 많은 파일 시스템들은 그렇지 않다. 이러한 패키지 이름들은 디렉토리 이름으로서의 이중 기능을 할 필요가 없다. 결국, 패키지(그리고 클래스) 이름들은 ASCII로 제한되어야 한다. (자바 패키지와 클래스 이름은 Unicode이지만, 많은 파일 시스템들은 아직 Unicode가 아니다. 다른 디폴트 인코딩으로 파일을 시스템으로 복사하면 컴파일러와 인터프리터가 올바른 클래스를 찾을 수 없도록 한다.)&lt;/p&gt;
&lt;div class=&quot;ibm-container ibm-alt-header dw-container-sidebar&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 1.2em; margin-left: 10px; width: 320px; float: right; &quot;&gt;
&lt;a name=&quot;sidebar1&quot;&gt;&lt;/a&gt;&lt;h2 style=&quot;font-family: arial, sans-serif, ����; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(247, 248, 252); border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 5px; padding-bottom: 3px; padding-left: 5px; height: 15px; font-size: 0.75em; background-position: 0px -545px; background-repeat: repeat no-repeat; &quot;&gt;폐기용(Throwaway) 코드&lt;/h2&gt;&lt;div class=&quot;ibm-container-body&quot; style=&quot;background-image: url(http://www.ibm.com/i/v16/t/container-gradient.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; font-size: 0.76em; font-family: arial, sans-serif; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; background-position: 0px 100%; background-repeat: repeat no-repeat; &quot;&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; font-size: 0.76em; padding-left: 5px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; &quot;&gt;API를 테스트 하기 위해 하나의 클래스를 작성해서, 실행 후에 즉시 버릴 것이라면, 이것을 패키지에 둘 필요는 없다. 하지만, 한 번 이상 사용될 클래스는 패키지에 저장되어야 한다.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;패키지 이름에 인색하게 굴지 말라. 장기적으로 볼 때 큰 재앙이 될 수 있다. 도메인 이름이 필요하면, 구매해도 좋다. 이름이 너무 길다면, 짧은 것을 구매하라. (나는 xom.nu를 샀기 때문에, 나의 패키지 접두사는 단 여섯 문자뿐이다.) 클래스를 디폴트 패키지(클래스에 패키지 문을 추가하지 않을 경우 얻게 되는 패키지)에 두지 말라. 패키지 액세스가 객체 통신을 금하면, 더 많은 퍼블릭 메소드를 클래스에 추가하라. 한 번 이상 사용하는 모든 클래스는 패키지에 있어야 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N100C2&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;디렉토리 구조&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;다음 단계는 소스 파일들을 구성하여 패키지 구조와 맞추는 것이다. 빈 디렉토리를 만들어라. 이 글에서는 그 이름을&amp;nbsp;&lt;em&gt;project&lt;/em&gt;로 하겠다. 이 디렉토리 안에, 두 개의 디렉토리를 더 만든다. bin과 src이다. (어떤 사람들은 이것을 각각 build와 source로 하기도 한다.)&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;src 디렉토리 안에, 패키지 계층과 똑 같은 계층을 만든다. 예를 들어,&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.math.Fraction&lt;/code&gt;이라는 클래스가 있다면, src 디렉토리에 com 디렉토리를 둔다. 그런 다음, com 디렉토리 안에 elharo 디렉토리를 만든다. 그리고 나서, elharo 디렉토리 안에 math 디렉토리를 둔다. 마지막으로, math 디렉토리 안에 Fraction.java를 넣는다. (그림 1)&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;fig1&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;그림 1. 디렉토리 구조는 패키지 구조를 따른다.&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;Directory structure follows the package structure&quot; border=&quot;0&quot; height=&quot;329&quot; hspace=&quot;5&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/Fraction.jpg&quot; vspace=&quot;5&quot; width=&quot;447&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; &quot;&gt;&amp;nbsp;&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;중요: src 디렉토리에 소스 코드 외 다른 것을 절대 넣지 말라. 그곳에 들어갈 유일한 파일은 .java 파일들이다. 가끔 이 디렉토리에 .html(Javadoc) 또는 다른 유형의 소스 코드를 넣는 경우도 있다. 하지만, .class 파일이나 다른 생성물들을 이 계층에 넣어서는 안된다. 큰 문제로 돌아올 것이다. javac 컴파일러의 경우 조심하지 않는다면 반드시 문제를 일으킨다. 다음 섹션에서 이러한 문제를 해결하는 방법을 설명하겠다.&lt;/p&gt;
&lt;div class=&quot;ibm-alternate-rule&quot; style=&quot;clear: both; background-image: url(http://www.ibm.com/i/solid.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); height: 1px; background-position: initial initial; background-repeat: repeat no-repeat; &quot;&gt;
&lt;/div&gt;
&lt;p class=&quot;ibm-ind-link ibm-back-to-top&quot; style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; font-size: 0.76em; clear: both; text-align: right; height: 15px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#ibm-pcon&quot; class=&quot;ibm-anchor-up-link&quot; style=&quot;color: rgb(76, 110, 148); display: inline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 18px; text-decoration: none; background-image: url(http://www.ibm.com/i/v16/icons/u_bold.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; font-weight: bold; background-position: 0px -1px; background-repeat: no-repeat no-repeat; &quot;&gt;위로&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N100EB&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;컴파일&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;자바 코드 컴파일은 다르지만 관련된 여러 가지 것들을 트래킹 해야 하기 때문에 손이 많이 간다.&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;컴파일 대상 파일&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;컴파일러가 대상 파일이 반입하는 .java 파일을 검색할 디렉토리&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;컴파일러가 대상 파일이 반입하는 .class 파일들을 검색할 디렉토리&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;컴파일러가 아웃풋을 둘 디렉토리&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;기본적으로, javac 컴파일러는 이 모든 것이 현재 실행 디렉토리라고 간주하는데, 대게는 우리가 원하는 것이 아니다. 결국, 컴파일 할 때 엘리먼트들을 명확하게 지정해야 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10105&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;컴파일 대상 파일&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;우선, 컴파일 하고자 하는 .java 파일을 지정해야 한다. 이것은 현재 실행 디렉토리에서 그 파일로 가는 경로로 주어진다. 예를 들어,&amp;nbsp;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#fig1&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;그림 1&lt;/a&gt;처럼, project 디렉토리를 생각해 보자. 이 디렉토리에는 src 디렉토리가 있다. src 디렉토리에는 com 디렉토리가 있고, com 디렉토리에는 예제 디렉토리가 포함되어 있다. 여기에는 Fraction.java 파일이 있다. 다음 명령행이 이것을 컴파일 한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac src/com/elharo/math/Fraction.java&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;경로가 정확하지 않다면, 다음과 같은 에러 메시지를 받게 된다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;error: cannot read: src/com/example/mtah/Fraction.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;에러 메시지를 보면, 경로를 보면서 철자가 올바르게 쓰였는지를 확인한다.&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;ls&lt;/code&gt;를 실행하여 파일이 있어야 할 곳에 있는지를 확인하라.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ ls src/com/example/math
ls: src/com/example/math: No such file or directory
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 문제는 잘못 입력된 경로를 나타내지만, 여러분이 생각한 디렉토리에 있지 않다는 것도 의미한다. 이 예제에서, 현재 실행 디렉토리가 project 디렉토리인지를 확인했다.&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;pwd&lt;/code&gt;&amp;nbsp;명령어가 이때 도움이 된다. 예를 들어, 다음 문장은 내가 실제로 project 디렉토리 대신 project/src에 있음을 알려준다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ pwd
/Users/elharo/documents/articles/classpath/project/src&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;컴파일 하기 전에&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;cd ..&lt;/code&gt;를 실행해야 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10139&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;아웃풋이 가야 할 곳&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;신택스 에러가 없을 경우, javac는 .java 파일이 있는 디렉토리에 컴파일 된 .class 파일을 배치한다. 이것은 우리가 원한 것이 아니다. .class와 .java 파일을 섞어 놓으면, 컴파일 된 파일들을 지우기가 매우 어렵다. 실수로 .java 파일들을 지울 수도 있다. 이는 깨끗한 구현도 문제거리로 만들며, 버저닝 문제도 일으킨다. 또한 바이너리를 배포할 때, 컴파일 된 .class 파일들만 압축하기도 힘들다. 따라서, 완전히 다른 디렉토리에 컴파일 된 결과를 두도록 컴파일러에 명령해야 한다.&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-d&lt;/code&gt;&amp;nbsp;스위치는 아웃풋 디렉토리(대게 bin, build, classes)를 지정한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin src/com/elharo/math/Fraction.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;그림 2 같은 아웃풋이 생겼다. javac는 완성된 com/elharo/math 디렉토리 계층을 만들었다. 우리는 이것을 직접 수행할 필요가 없다.&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N1014E&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;그림 2. 병렬 소스와 컴파일 된 계층&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;Parallel source and compiled hierarchies&quot; border=&quot;0&quot; height=&quot;329&quot; hspace=&quot;5&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/CompiledFraction.jpg&quot; vspace=&quot;5&quot; width=&quot;447&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; &quot;&gt;&amp;nbsp;&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10160&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;sourcepath&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;자바가 소스 파일들을 검색할 디렉토리는&amp;nbsp;&lt;em&gt;sourcepath&lt;/em&gt;이다. 여기에서는, src 디렉토리이다. 이 디렉토리에는, 자신들의 디렉토리로 구성된, 소스 파일의&amp;nbsp;&lt;em&gt;계층&lt;/em&gt;이 포함되어 있다. com 디렉토리도 src/com/elharo/math 디렉토리도&amp;nbsp;&lt;em&gt;아니다&lt;/em&gt;.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;대부분의 프로젝트는 한 개 이상의 클래스와 한 개 이상의 패키지를 사용한다. 이것은 import 문과 전체 패키지 클래스 이름들로 연결된다. 예를 들어,&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.gui&lt;/code&gt;에 새로운&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;MainFrame&lt;/code&gt;&amp;nbsp;클래스를 만든다고 해보자. (Listing 1)&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N10180&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;Listing 1. 한 패키지의 클래스가 또 다른 패키지의 클래스를 반입할 수 있다.&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;				
package com.elharo.gui;

import com.elharo.math.*;

public class MainFrame {

  public static void main(String[] args) {
    Fraction f = new Fraction();
    // ...
  }

}&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 클래스는&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;MainFrame&lt;/code&gt;&amp;nbsp;클래스와는 다른 패키지에 있는&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.math.Fraction&lt;/code&gt;&amp;nbsp;클래스를 사용한다. 소스 설정은 그림 3과 같다. (이전 단계의 컴파일 된 아웃풋을 삭제했다. 언제든 다시 컴파일 할 수 있다.)&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N10194&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;그림 3. 여러 패키지의 소스 구조&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;Source structure for several packages&quot; border=&quot;0&quot; height=&quot;329&quot; hspace=&quot;5&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/MainFrameSource.jpg&quot; vspace=&quot;5&quot; width=&quot;447&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; &quot;&gt;&amp;nbsp;&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이제, 전에 했던 것처럼 MainFrame.java를 컴파일 할 때 어떤 일이 발생하는지 보자.&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N101AD&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;Listing 2. MainFrame.java 컴파일&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;				
$ javac -d bin src/com/elharo/gui/MainFrame.java
src/com/elharo/gui/MainFrame.java:3: package com.elharo.math does not exist
import com.elharo.math.*;
^
src/com/elharo/gui/MainFrame.java:7: cannot find symbol
symbol  : class Fraction
location: class com.elharo.gui.MainFrame
  private Fraction f = new Fraction();
          ^
src/com/elharo/gui/MainFrame.java:7: cannot find symbol
symbol  : class Fraction
location: class com.elharo.gui.MainFrame
  private Fraction f = new Fraction();
                           ^
3 errors
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;javac가 MainFrame.java를 어디에서 찾아야 할 지를 알지만, Fraction.java를 어디에서 찾아야 할지 모르기 때문에 Listing 2에 에러가 생겼다. (매칭 패키지 계층들을 인식하는 것으로도 충분히 똑똑하다고 생각하겠지만, 그렇지가 않다.)&amp;nbsp;&lt;em&gt;sourcepath&lt;/em&gt;를 지정해야 한다. 이것은 컴파일러가 소스 파일의 계층을 검색할 디렉토리를 지정한다. Listing 2에서, 이것은 src이다. 따라서, 나도 다음과 같이,&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-sourcepath&lt;/code&gt;&amp;nbsp;옵션을 사용한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이제 프로그램은 에러 없이 컴파일 하고, 그림 4와 같은 아웃풋을 만들어 낸다. javac 역시 내가 컴파일 했던 파일에 의해 참조된 Fraction.java 파일을 컴파일 했다.&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N101C7&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;그림 4. Multiclass 아웃풋&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;Multiclass output&quot; border=&quot;0&quot; height=&quot;329&quot; hspace=&quot;5&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/multipackagecompile.jpg&quot; vspace=&quot;5&quot; width=&quot;447&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; &quot;&gt;&amp;nbsp;&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N101D9&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;sourcepath에서 여러 디렉토리 컴파일 하기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;sourcepath에 한 개 이상의 디렉토리가 생겼다. 필요한 것은 아니지만, 콜론으로 구분되어 있다. 예를 들어, 또 다른 프로젝트용 소스 코드를 관리할 로컬 src 디렉토리와 /Users/elharo/Projects/XOM/src 디렉토리를 추가하고 싶다면, 다음과 같이 컴파일 할 수 있다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src:/Users/elharo/Projects/XOM/src
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 명령어는 그 계층에서 발견된 모든 파일들을 컴파일 하지 않는다. 컴파일 되도록 분명히 요청했던 하나의 .java 파일에 의해 직/간접적으로 참조된 파일만 컴파일 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;.java 파일용으로 하나의 소스 디렉토리가 있지만, 사전 컴파일 된 서드 파티 라이브러리가 배치된 클래스 또는 JAR 아카이브용 여러 디렉토리가 있다. 이것은 classpath의 역할이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N101EB&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;classpath 설정하기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;중대형 프로젝트에서, 매번 모든 파일들을 재 컴파일 한다는 것은 시간 낭비다. 다른 클래스나 bin 디렉토리에 같은 프로젝트의 독립된 부분들을 개별적으로 컴파일 및 저장함으로써 이러한 문제를 완화시킬 수 있다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;클래스를 classpath에 추가하는 여러 가지 방법이 있다. 하지만, 여러분은&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-classpath&lt;/code&gt;&amp;nbsp;명령행 스위치만 사용해야 한다. 이전에 컴파일 했던 또 다른 프로젝트에서 파일을 /Users/elharo/classes 디렉토리로 반입하고 싶다면?&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-classpath /Users/elharo/classes&lt;/code&gt;를 다음과 같이 명령어에 추가한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src -classpath /Users/elharo/classes
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;두 개의 디렉토리, /Users/elharo/project1/classes와/Users/elharo/project2/classes를 추가한다고 해보자. 콜론으로 구분하여 다음과 같이 추가한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src
  -classpath /Users/elharo/project1/classes:/Users/elharo/project2/classes
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;ibm-container ibm-alt-header dw-container-sidebar&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 1.2em; margin-left: 10px; width: 320px; float: right; &quot;&gt;
&lt;a name=&quot;sidebar2&quot;&gt;&lt;/a&gt;&lt;h2 style=&quot;font-family: arial, sans-serif, ����; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(247, 248, 252); border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 3px; padding-right: 5px; padding-bottom: 3px; padding-left: 5px; height: 15px; font-size: 0.75em; background-position: 0px -545px; background-repeat: repeat no-repeat; &quot;&gt;상위 디렉토리&lt;/h2&gt;&lt;div class=&quot;ibm-container-body&quot; style=&quot;background-image: url(http://www.ibm.com/i/v16/t/container-gradient.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; font-size: 0.76em; font-family: arial, sans-serif; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; background-position: 0px 100%; background-repeat: repeat no-repeat; &quot;&gt;
여기에서 참조하는 디렉토리들은 com/elharo/foo/bar 또는 nu/xom/util같은 계층을 포함하고 있는 상위 디렉토리이다. 이름이 패키지 이름(com, elharo, math 등)과 매치하는 디렉토리들은 sourcepath나 classpath에 직접 포함되어서는 안된다.&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;물론, 원한다면, 상대 경로라는 다양한 형태를 사용할 수 있다. project1과 project2가 현재 실행 디렉토리와 인접해 있다면(같은 부모 디렉토리를 갖고 있다면) 다음과 같이 한다.&lt;/p&gt;
&lt;table width=&quot;50%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src
  -classpath ../project1/classes:../project2/classes
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;지금까지, 프로그램이 완전하고, 개별적으로 컴파일 된 서드 파티 라이브러리를 사용하지 않는 경우를 가정했다. 만약 그렇다면, 이들을 classpath에도 추가해야 한다. 라이브러리는 junit.jar 또는 icu4j.jar 같은 JAR 파일로서 배포된다. 이 경우, classpath에 추가하는 것은, JAR 파일 그 자체이다. 이것을 포함하고 있는 디렉토리가 아니다. (본질적으로, JAR 파일은 컴파일 된 .class 파일들을 포함하고 있는 디렉토리로서 작동한다.) 예를 들어, 다음 명령어는 classpath에 세 가지를 추가한다. /Users/elharo/classes 디렉토리, 현재 실행 디렉토리에 있는 icu4j.jar 파일, /Users/elharo/lib에 있는 junit.jar 파일.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src
  -classpath /Users/elharo/classes:icu4j.jar:/Users/elharo/lib/junit.jar
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;JAR 파일들은 .java 파일과 sourcepath가 아닌, .class 파일과 classpath에만 사용된다.&lt;/p&gt;
&lt;div class=&quot;ibm-alternate-rule&quot; style=&quot;clear: both; background-image: url(http://www.ibm.com/i/solid.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); height: 1px; background-position: initial initial; background-repeat: repeat no-repeat; &quot;&gt;
&lt;/div&gt;
&lt;p class=&quot;ibm-ind-link ibm-back-to-top&quot; style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; font-size: 0.76em; clear: both; text-align: right; height: 15px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#ibm-pcon&quot; class=&quot;ibm-anchor-up-link&quot; style=&quot;color: rgb(76, 110, 148); display: inline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 18px; text-decoration: none; background-image: url(http://www.ibm.com/i/v16/icons/u_bold.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; font-weight: bold; background-position: 0px -1px; background-repeat: no-repeat no-repeat; &quot;&gt;위로&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10224&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;프로그램 실행하기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;프로그램을 성공적으로 컴파일 했고, 이제 실행할 준비가 되었다. 컴파일과 비슷하지만 더 간단하다. 프로그램을 실행할 때, 다음 두 가지를 지정하면 된다.&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;The classpath.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;main()&lt;/code&gt;&amp;nbsp;메소드를 포함하고 있는 클래스의 전체 이름&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;sourcepath를 지정할 필요가 없다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;일반적으로, classpath는 프로그램을 컴파일 하기 위해 사용했던 것과 같은 classpath이다. 컴파일 된 아웃풋이 배치되었던 디렉토리가 추가된다. 예를 들어, 컴파일 명령어가 다음과 같고,&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ javac -d bin -sourcepath src
  -classpath /Users/elharo/classes:/Users/elharo/lib/junit.jar
  src/com/elharo/gui/MainFrame.java
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;main()&lt;/code&gt;&amp;nbsp;메소드가&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;com.elharo.gui.MainFrame&lt;/code&gt;&amp;nbsp;클래스에 있었다면, 다음과 같이 프로그램을 실행한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ java
   -classpath bin:/Users/elharo/classes:/Users/elharo/lib/junit.jar
    com.elharo.gui.MainFrame
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;명령행의 마지막 아이템은&amp;nbsp;&lt;em&gt;클래스 이름&lt;/em&gt;이다. 파일 이름이 아니다. .java나 .class로 끝나지 않는다. 이 클래스는 classpath 어디에선가는 발견되어야 한다.&lt;/p&gt;
&lt;div class=&quot;ibm-alternate-rule&quot; style=&quot;clear: both; background-image: url(http://www.ibm.com/i/solid.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); height: 1px; background-position: initial initial; background-repeat: repeat no-repeat; &quot;&gt;
&lt;/div&gt;
&lt;p class=&quot;ibm-ind-link ibm-back-to-top&quot; style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; font-size: 0.76em; clear: both; text-align: right; height: 15px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#ibm-pcon&quot; class=&quot;ibm-anchor-up-link&quot; style=&quot;color: rgb(76, 110, 148); display: inline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 18px; text-decoration: none; background-image: url(http://www.ibm.com/i/v16/icons/u_bold.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; font-weight: bold; background-position: 0px -1px; background-repeat: no-repeat no-repeat; &quot;&gt;위로&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10258&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;다른 클래스들이 있는 곳&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;컴파일 할 때나, 실행할 때, 언제나 분명하게 classpath를 지정해야 한다. 파일을 둘 수 있는 다른 장소들이 있기 때문에, classpath에 추가되고, javac 컴파일러와 자바 인터프리터에 의해서 발견될 수 있다. 이 옵션들은 적은 양의 타이핑만 저장하고, classpath에 오래된 버전의 클래스를 둘 경우 디버깅에 많은 시간이 걸릴 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;예기치 않게 classpath로 와서 문제를 일으키는 클래스 하이딩을 찾을 장소를 설명하겠다. 서버처럼, 우리들이 제어할 수 없는 머신이 될 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N10263&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;현재 실행 디렉토리&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;요청을 하든, 하지 않든 간에, 컴파일러는 현재 실행 디렉토리(.)를 classpath에 추가한다. 같은 디렉토리 안에 무엇이 있고, 없는지를 쉽게 잊는다. 따라서, 클래스나 계층들을 프로젝트나 홈 디렉토리에 두지 말라. 대신, .java 파일용 src 디렉토리와 bin 디렉토리에 명확하게 분리해서 저장해야 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N1026B&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;CLASSPATH&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;bin 디렉토리와 JAR 아카이브를 classpath에 직접 추가하는 것이 지겨워 질것이다. 이때&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;CLASSPATH&lt;/code&gt;&amp;nbsp;환경 변수를 찾는다. 디렉토리와 JAR 아카이브를 단 한번만&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;CLASSPATH&lt;/code&gt;&amp;nbsp;환경 변수에 추가할 수 있다. javac나 자바를 실행할 때마다 경로를 입력할 필요가 없다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이와 같은 유혹과 싸워라. 잘못된 클래스나 잘못된 클래스 버전을 로딩할 때 문제를 일으킬 것이다. 저장할 때 마다, 잘못된 클래스를 로딩했기 때문에 생긴 문제들을 디버깅 할 때 수백 번 취소당할 것이다. classpath를 자동화하고 타이핑을 피할 수 있는 더 나은 방법이 있다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N1027E&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;jre/lib/ext&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;jre/lib/ext 디렉토리에 있는 JAR 아카이브는 가상 머신에서 실행되는 모든 애플리케이션의 classpath에 추가된다. 이것이 안전해 보이지만, 디렉토리들을&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;CLASSPATH&lt;/code&gt;&amp;nbsp;환경 변수에 추가하는 것과 비슷한 실수이다. 조만간, 생각하지도 않았던 장소에서 잘못된 클래스 버전을 로딩하고, 이것을 디버깅 하느라 귀중한 시간만 낭비하게 될 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 문제는, 서버 측 애플리케이션을 전개할 때 특별히 위험하다. 전개할 서버에 jre/lib/ext 디렉토리에 추가 JAR 파일들이 없어야 한다. classpath에서 잘못된 버전의 JAR 아카이브로 생긴 문제들은, 증상을 인지하지 못하거나, 무엇을 찾아야 할지 모를 경우, 디버깅이 매우 어렵다. 이러한 문제들을 피하기 위해, 일부 프레임웍은 자바 코드의 일반 클래스 로딩 메커니즘을 우회하는 클래스 로더를 작성하기도 한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N1028D&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;jre/lib/endorsed&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;jre/lib/endorsed에 있는 JAR 파일들은 가상 머신으로 실행되는 모든 애플리케이션의 classpath에도 추가된다. 차이점은, 이 파일들이 실제로 일반 classpath가 아닌&amp;nbsp;&lt;em&gt;bootclasspath&lt;/em&gt;에 추가되고, 표준 클래스를 JDK로 대체할 수 있다. 이러한 방식은 XML 파서를 업그레이드 하고, VM에서 버그를 픽스할 때 유용하다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;이 기술은 간편해 보이지만, 이 역시 장기적으로 볼 때는 위험하다. JDK 클래스로 대체해야 한다면, 런타임 시&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-Xbootclasspath/p&lt;/code&gt;옵션을 사용하여 잘못된 버전의 클래스를 로딩하는 것을 피한다.&lt;/p&gt;
&lt;table width=&quot;100%&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td class=&quot;code-outline&quot; style=&quot;font-family: arial, sans-serif, ����; background-color: rgb(247, 247, 247) !important; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); padding-top: 2px; padding-right: 2px; padding-bottom: 5px; padding-left: 2px; font-size: 0.75em; &quot;&gt;&lt;pre class=&quot;displaycode&quot; style=&quot;width: 694px; margin-top: 0px; margin-bottom: 0px; font-family: &#039;Andale Mono&#039;, &#039;Lucida Console&#039;, Monaco, Liberation, fixed, monospace; font-size: 11px; overflow-x: auto; overflow-y: auto; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: rgb(247, 247, 247) !important; color: rgb(0, 0, 0); background-position: initial initial !important; background-repeat: initial initial !important; &quot;&gt;$ java -classpath /Users/elharo/classes
       -Xbootclasspath/p:xercesImpl.jar com.elharo.gui.MainFrame
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;ibm-alternate-rule&quot; style=&quot;clear: both; background-image: url(http://www.ibm.com/i/solid.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); height: 1px; background-position: initial initial; background-repeat: repeat no-repeat; &quot;&gt;
&lt;/div&gt;
&lt;p class=&quot;ibm-ind-link ibm-back-to-top&quot; style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; font-size: 0.76em; clear: both; text-align: right; height: 15px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#ibm-pcon&quot; class=&quot;ibm-anchor-up-link&quot; style=&quot;color: rgb(76, 110, 148); display: inline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 18px; text-decoration: none; background-image: url(http://www.ibm.com/i/v16/icons/u_bold.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; font-weight: bold; background-position: 0px -1px; background-repeat: no-repeat no-repeat; &quot;&gt;위로&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N102A3&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;classpath 관리 자동화하기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;못총(nail gun)을 집어 들기 전에 망치를 사용하는 방법부터 배워야 한다. 마찬가지로, 보다 강력한 툴을 찾기 전에 클래스를 직접 관리하는 것에 익숙해져야 한다. 하지만, sourcepath와 classpath를 다루어야 하는 고통을 줄여주는 툴들이 있다. 대부분 이 툴들은 파일들을 라인 별로 정리한다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N102AB&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;IDE&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;Eclipse와 NetBeans 같은 통합 개발 환경은 classpath 관리의 일부를 자동화 한다. 예를 들어, 패키지 이름을 변경할 때, Eclipse는 상응하는 .java 파일을 매치하는 것으로 옮긴다. (그림 5)&lt;/p&gt;
&lt;br /&gt;
&lt;a name=&quot;N102B5&quot;&gt;&lt;b style=&quot;font-size: 0.76em; font-weight: bold; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-family: arial, sans-serif; &quot;&gt;그림 5. Eclipse에서 classpath&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;img alt=&quot;Move &#039;Element.java&#039; to package &#039;nu.fox&#039;&quot; border=&quot;0&quot; height=&quot;198&quot; hspace=&quot;5&quot; src=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/quickfix.jpg&quot; vspace=&quot;5&quot; width=&quot;572&quot; style=&quot;border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; &quot;&gt;&amp;nbsp;&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;하지만 IDE는 다른 툴과 다른 IDE와 통합해야 한다면, 올바르게 설정되어야 하는 파일시스템 상에 여전히 있다. 이 툴의 주된 특징은 GUI 다이얼로그, 트리 뷰, 탭들이 명령행 스위치를 대체한다는 점이다. 하지만, 기본 파일 구조는 같다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N102CA&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;Ant&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;Ant는 빌드 프로세스를 자동화 하는 표준 툴이다. 디렉토리를 jre/lib/ext 또는&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;CLASSPATH&lt;/code&gt;&amp;nbsp;환경 변수에 두는 것과는 달리, Ant에서는 원스텝 빌드 프로세스를 만들 수 있다. 여전히, Ant build.xml 파일에 classpath를 설정하고, 올바른 디렉토리에 소스 파일들을 직접 저장해야 한다. 하지만, 컴파일 할 때마다 이것을 다시 지정할 필요는 없다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N102D6&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;Maven&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;Maven은 빌드 프로세스와 관련 classpath 문제들을 구성 및 자동화 한다는 점에서 Ant 보다 더 향상되었다. Maven은, 단 몇 줄의 코드로도 간단한 프로젝트를 구현할 수 있도록, 합리적인 디폴트 설정을 제공한다. Maven이 찾을 수 있는 곳에 소스 파일을 두면 된다. 여전히, 파일 시스템 계층과 패키지 계층을 조정해야 한다. Maven은 삼자 라이브러리에 대한 의존성 관리에 특별히 뛰어나다. Ant 만큼 커스터마이징은 쉽지 않다.&lt;/p&gt;
&lt;div class=&quot;ibm-alternate-rule&quot; style=&quot;clear: both; background-image: url(http://www.ibm.com/i/solid.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); height: 1px; background-position: initial initial; background-repeat: repeat no-repeat; &quot;&gt;
&lt;/div&gt;
&lt;p class=&quot;ibm-ind-link ibm-back-to-top&quot; style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; font-size: 0.76em; clear: both; text-align: right; height: 15px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/kr/library/j-classpath-unix/#ibm-pcon&quot; class=&quot;ibm-anchor-up-link&quot; style=&quot;color: rgb(76, 110, 148); display: inline; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 18px; text-decoration: none; background-image: url(http://www.ibm.com/i/v16/icons/u_bold.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; font-weight: bold; background-position: 0px -1px; background-repeat: no-repeat no-repeat; &quot;&gt;위로&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;N102DE&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;맺음말&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;classpath는 문제가 많지만, 몇 가지 간단한 규칙을 사용하면 능히 다스릴 수 있다. 특히,&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;모든 클래스는 패키지에 둔다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;패키지와 클래스 네이밍 규약 및 대/소문자 규약을 엄격하게 지킨다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;패키지 계층과 디렉토리 계층이 맞는지를 확인한다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;javac에는 언제나&amp;nbsp;&lt;code style=&quot;font-family: monospace; font-size: small !important; &quot;&gt;-d&lt;/code&gt;&amp;nbsp;옵션을 사용한다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;jre/lib/ext에 어떤 것도 두지 않는다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;jre/lib/endorsed에 어떤 것도 두지 않는다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;.class 파일과 같은 디렉토리에 .java 파일을 두지 않는다.&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;현재 실행 디렉토리에 .java나 .class 파일들을 두지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;마지막 팁: classpath와 관련한 많은 문제들은 디렉토리 이름을 잘못 입력했다거나, 잘못된 디렉토리에서 컴파일 하는 등 간단한 에러에서 진화한다. 무엇이 잘못되었는지 알 수 없다면, 동료나 친구에게 물어보고 문제를 찾아야 한다. 오히려 문제에 너무 집착하여, 다른 사람들 눈에는 명확하게 보이는 버그를 못 볼 수도 있다. 두 눈은 매우 효과적인 디버깅 방법이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;classpath는 분명 쉬운 것은 아니다. 하지만, 관리도 가능하다. 네이밍 규약, 명령행 인자, 디렉토리 구조에 신경을 쓴다면, 실수를 최소한으로 줄이고 프로그램을 컴파일 및 실행할 수 있을 것이다.&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;5.0&quot;&gt;&lt;span class=&quot;smalltitle&quot; style=&quot;font-size: 1.2em; font-weight: bold; &quot;&gt;기사의 원문보기&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/java/library/j-classpath-unix/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Managing the Java classpath (UNIX and Mac OS X)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;a name=&quot;resources&quot;&gt;&lt;span class=&quot;atitle&quot; style=&quot;font-size: 1.5em; font-weight: bold; &quot;&gt;참고자료&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;b style=&quot;font-size: 1em; font-weight: bold; &quot;&gt;교육&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&quot;&lt;a href=&quot;http://www.ibm.com/developerworks/java/library/j-classpath-windows/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Managing the Java classpath on Windows&lt;/a&gt;&quot; (Elliotte Harold, developerWorks, December 2006)&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&quot;&lt;a href=&quot;http://www.ibm.com/developerworks/java/library/j-maven/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Project management: Maven makes it easy&lt;/a&gt;&quot; (Charles Chan, developerWorks, April 2003)&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&quot;&lt;a href=&quot;http://www.ibm.com/developerworks/db2/library/techarticle/dm-0408anderson2/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;IBM Cloudscape: Understanding the Java classpath&lt;/a&gt;&quot; (Jean Anderson and Susan Cline, developerWorks, September 2004)&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&quot;&lt;a href=&quot;http://www.ibm.com/developerworks/websphere/library/bestpractices/classpath_structures.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Best Practice: Classpath structure for WebSphere Application Server&lt;/a&gt;&quot; (WebSphere Best Practices team, developerWorks, August 2001)&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/views/java/library.jsp&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;developerWorks technical library for Java&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;b style=&quot;font-size: 1em; font-weight: bold; &quot;&gt;제품 및 기술 얻기&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://ant.apache.org/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Download Ant&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://maven.apache.org/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Download Maven&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0.3em; padding-right: 5px; padding-bottom: 0.7em; padding-left: 5px; font-size: 0.76em; &quot;&gt;&lt;b style=&quot;font-size: 1em; font-weight: bold; &quot;&gt;토론&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 5px; font-size: 0.76em; &quot;&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/forums/dw_forum.jsp?forum=188&amp;amp;cat=11&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;Participate in developerWorks discussion forums&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;li style=&quot;font-family: arial, sans-serif, ����; margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 5px; padding-bottom: 3px; &quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/blogs/&quot; target=&quot;_blank&quot; style=&quot;color: rgb(76, 110, 148); &quot;&gt;developerWorks blogs&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/span&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-81-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-81-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-81-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>Java</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/81</guid>
			<comments>http://blog.kwfarm.kr/81#entry81comment</comments>
			<pubDate>Thu, 24 Mar 2011 00:48:15 +0900</pubDate>
		</item>
		<item>
			<title>오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리</title>
			<link>http://blog.kwfarm.kr/79</link>
			<description>&lt;br /&gt;
&lt;div style=&quot;width:425px&quot; id=&quot;__ss_1292613&quot;&gt;
&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/trustinlee/ss-1292613&quot; title=&quot;오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리&quot;&gt;오픈 소스 프로젝트 참여를 통한 개발자 커리어 관리&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse1292613&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oss2007-090415044206-phpapp01&amp;amp;stripped_title=ss-1292613&amp;amp;userName=trustinlee&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse1292613&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=oss2007-090415044206-phpapp01&amp;amp;stripped_title=ss-1292613&amp;amp;userName=trustinlee&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;padding:5px 0 12px&quot;&gt;
View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/trustinlee&quot;&gt;trustinlee&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;

&lt;br /&gt;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-79-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-79-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-79-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>글</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/79</guid>
			<comments>http://blog.kwfarm.kr/79#entry79comment</comments>
			<pubDate>Sun, 20 Mar 2011 21:29:48 +0900</pubDate>
		</item>
		<item>
			<title>웹 개발자를 위한 대규모 서비스를 지탱하는 기술</title>
			<link>http://blog.kwfarm.kr/78</link>
			<description>&lt;p style=&quot;text-align: center;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;div class=&quot;imageblock&quot; style=&quot;display:inline;&quot;&gt;&lt;a href=&quot;http://cfile25.uf.tistory.com/original/111BBB514D837F7B1EE7A2&quot; rel=&quot;lightbox&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://cfile25.uf.tistory.com/image/111BBB514D837F7B1EE7A2&quot; alt=&quot;&quot; filemime=&quot;image/jpeg&quot; filename=&quot;KOR9788994506128.jpg&quot; height=&quot;225&quot; width=&quot;155&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
영풍문고에 갔다가 구입한 책.&lt;br /&gt;
꼭 se가 아니지만 웹 개발자라면 읽어보면 도움이 될 것 같음.&lt;br /&gt;
내용도 어렵지 않고 재미있음 @_@&amp;nbsp;&lt;div class=&quot;entry-ccl&quot; style=&quot;clear: both; text-align: right; margin-bottom: 10px&quot;&gt;
	&lt;img id=&quot;ccl-icon-78-0&quot; class=&quot;entry-ccl-by&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black01.png&quot; alt=&quot;저작자 표시&quot;/&gt;
	&lt;img id=&quot;ccl-icon-78-1&quot; class=&quot;entry-ccl-nc&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black02.png&quot; alt=&quot;비영리&quot;/&gt;
	&lt;img id=&quot;ccl-icon-78-2&quot; class=&quot;entry-ccl-sa&quot; src=&quot;http://i1.daumcdn.net/cfs.tistory/v/0/static/admin/editor/ccl_black04.png&quot; alt=&quot;동일 조건 변경 허락&quot;/&gt;
	&lt;!--
	&lt;rdf:RDF xmlns=&quot;http://web.resource.org/cc/&quot; xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&gt;
		&lt;Work rdf:about=&quot;&quot;&gt;
			&lt;license rdf:resource=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; /&gt;
		&lt;/Work&gt;
		&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-sa/&quot;&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Reproduction&quot;/&gt;
			&lt;permits rdf:resource=&quot;http://web.resource.org/cc/Distribution&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Notice&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/Attribution&quot;/&gt;
			&lt;prohibits rdf:resource=&quot;http://web.resource.org/cc/CommercialUse&quot;/&gt;
		&lt;/License&gt;
	&lt;/rdf:RDF&gt;
	--&gt;
&lt;/div&gt;
</description>
			<category>책</category>
			<author>농부건우</author>
			<guid>http://blog.kwfarm.kr/78</guid>
			<comments>http://blog.kwfarm.kr/78#entry78comment</comments>
			<pubDate>Sat, 19 Mar 2011 01:01:47 +0900</pubDate>
		</item>
	</channel>
</rss>

