<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>아리수</title>
		<link>http://arisu.mireene.com/</link>
		<description>프로그램, 책, ...</description>
		<language>ko</language>
		<pubDate>Fri, 11 Sep 2009 18:05:14 +0900</pubDate>
		<generator>Textcube 1.7.6 : Staccato</generator>
		<item>
			<title>리눅스 타임서버 설정</title>
			<link>http://arisu.mireene.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%83%80%EC%9E%84%EC%84%9C%EB%B2%84-%EC%84%A4%EC%A0%95</link>
			<description>로컬 네트워크의 특정 머신을 타임서버로 설정하기&lt;BR&gt;&lt;BR&gt;[서버]&lt;BR&gt;1. 아래 파일중 하나를 열고 disable = &lt;FONT color=#ff0000&gt;yes&lt;/FONT&gt;&lt;FONT color=#000000&gt;로 변경&lt;BR&gt;&lt;/FONT&gt;/etc/xinetd.d/time-dgram (udp)&lt;BR&gt;/etc/xinetd.d/time-stream (tcp)&lt;BR&gt;&lt;BR&gt;2. 서버 시작&lt;BR&gt;/etc/rc.d/init.d/xinetd restart&lt;BR&gt;&lt;BR&gt;[클라이언트]&lt;BR&gt;1. 동기화하기&lt;BR&gt;rdate -s -u 서버주소&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Linux</category>
			<category>timeserver</category>
			<category>타임서버</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/146</guid>
			<comments>http://arisu.mireene.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%83%80%EC%9E%84%EC%84%9C%EB%B2%84-%EC%84%A4%EC%A0%95#entry146comment</comments>
			<pubDate>Fri, 11 Sep 2009 17:53:11 +0900</pubDate>
		</item>
		<item>
			<title>리눅스 NFS 설정하기</title>
			<link>http://arisu.mireene.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-NFS-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0</link>
			<description>&lt;P&gt;출처 : &lt;A href=&quot;http://www.theeye.pe.kr/entry/%B0%A3%B4%DC-%C1%A4%B8%AE-%B8%AE%B4%AA%BD%BA-NFS-%BC%B3%C1%A4%C7%CF%B1%E2?category=3&quot;&gt;http://www.theeye.pe.kr/entry/%B0%A3%B4%DC-%C1%A4%B8%AE-%B8%AE%B4%AA%BD%BA-NFS-%BC%B3%C1%A4%C7%CF%B1%E2?category=3&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;이번에는 NFS(Network File System)의 설정에 대해 간단히 정리만 하겠습니다;; &lt;BR&gt;&lt;BR&gt;처음 설정 하시는 분들에게는 별로 적합하지 않은 메뉴얼이 될것 같네요.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;HOST 서버 설정&lt;/STRONG&gt; ----------------------------------------------------------------------------------------------------&lt;BR&gt;/etc/exports 설정&lt;BR&gt;&lt;/P&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=str&gt;/home/&lt;/SPAN&gt;&lt;SPAN class=pln&gt;nfs &lt;/SPAN&gt;&lt;SPAN class=lit&gt;192.168.0.0&lt;/SPAN&gt;&lt;SPAN class=pun&gt;/&lt;/SPAN&gt;&lt;SPAN class=lit&gt;24&lt;/SPAN&gt;&lt;SPAN class=pun&gt;(&lt;/SPAN&gt;&lt;SPAN class=pln&gt;rw&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;all_squash&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;insecure&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;sync&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;anonuid&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;99&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;anongid&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;99&lt;/SPAN&gt;&lt;SPAN class=pun&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;첫번째 /home/nfs는 외부에 마운트를 허용할 디렉토리임&lt;BR&gt;두번째 네트워크 주소는 접근을 허용할 호스트 범위임&lt;BR&gt;&lt;BR&gt;/etc/sysconfig/nfs 설정&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=pln&gt;STATD_PORT&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4001&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;LOCKD_TCPPORT&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;LOCKD_UDPPORT&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;MOUNTD_PORT&lt;/SPAN&gt;&lt;SPAN class=pun&gt;=&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;&lt;BR&gt;데몬 실행 (ntsysv등에서 기본 실행으로 등록할 것)&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Theeye &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# service portmap start&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Theeye &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# service nfs start&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Theeye &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# service nfslock start&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;&lt;BR&gt;방화벽을 사용시 다음의 포트를 열어준다.&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=lit&gt;111&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;tcp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;111&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;udp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;tcp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;udp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4001&lt;/SPAN&gt;&lt;SPAN class=pun&gt;-&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;tcp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4001&lt;/SPAN&gt;&lt;SPAN class=pun&gt;-&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=pln&gt;udp&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;&lt;BR&gt;다음의 명령어로 데몬이 제대로 실행중인지 확인한다.&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Theeye &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# rpcinfo -p&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=pun&gt;프로그램&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &lt;/SPAN&gt;&lt;SPAN class=pun&gt;버전&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &lt;/SPAN&gt;&lt;SPAN class=pun&gt;원형&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=pun&gt;포트&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100000&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;111&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;portmapper&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100000&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;111&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;portmapper&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100011&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;847&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;rquotad&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100011&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;847&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;rquotad&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100011&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;850&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;rquotad&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100011&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;850&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;rquotad&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100021&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4002&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nlockmgr&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;4&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;2049&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;nfs&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;2&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100005&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;3&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4003&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;mountd&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100024&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; udp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4001&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;status&lt;BR&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;100024&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=lit&gt;1&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp; tcp &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=lit&gt;4001&lt;/SPAN&gt;&lt;SPAN class=pln&gt; &amp;nbsp;status&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;BR&gt;&lt;BR&gt;REMOTE 서버 설정&lt;/STRONG&gt; ------------------------------------------------------------------------------------------------&lt;BR&gt;데몬 실행 (ntsysv등에서 기본 실행으로 등록할 것)&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Remote &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# service portmap start&lt;/SPAN&gt;&lt;SPAN class=pln&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN class=pun&gt;[&lt;/SPAN&gt;&lt;SPAN class=pln&gt;root@Remote &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/]&lt;/SPAN&gt;&lt;SPAN class=com&gt;# service nfs start&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;&lt;BR&gt;다음과 같은 명령어로 마운트 한다.&lt;BR&gt;&lt;PRE class=prettyprint&gt;&lt;CODE&gt;&lt;SPAN class=pln&gt;mount &lt;/SPAN&gt;&lt;SPAN class=pun&gt;-&lt;/SPAN&gt;&lt;SPAN class=pln&gt;t nfs &lt;/SPAN&gt;&lt;SPAN class=pun&gt;-&lt;/SPAN&gt;&lt;SPAN class=pln&gt;o nolock&lt;/SPAN&gt;&lt;SPAN class=pun&gt;,&lt;/SPAN&gt;&lt;SPAN class=pln&gt;tcp &lt;/SPAN&gt;&lt;SPAN class=lit&gt;192.168.0.100&lt;/SPAN&gt;&lt;SPAN class=pun&gt;:&lt;/SPAN&gt;&lt;SPAN class=str&gt;/home/&lt;/SPAN&gt;&lt;SPAN class=pln&gt;nfs &lt;/SPAN&gt;&lt;SPAN class=pun&gt;/&lt;/SPAN&gt;&lt;SPAN class=pln&gt;home&lt;/SPAN&gt;&lt;SPAN class=pun&gt;/&lt;/SPAN&gt;&lt;SPAN class=pln&gt;nfs&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR&gt;192.168.0.100:/home/nfs는 마운트를 할 원격지 서버아이피와 디렉토리를 정의한다.&lt;BR&gt;마지막 /home/nfs는 마운트를 할 로컬 디렉토리이다. &lt;BR&gt;호스트 서버의 /home/nfs를 현재 호스트의 /home/nfs에 마운트를 하겠다는 뜻이다.&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Linux</category>
			<category>nfs</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/145</guid>
			<comments>http://arisu.mireene.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-NFS-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0#entry145comment</comments>
			<pubDate>Mon, 17 Aug 2009 19:52:56 +0900</pubDate>
		</item>
		<item>
			<title>Postgresql 바이너리 데이터 입력</title>
			<link>http://arisu.mireene.com/entry/Postgresql-%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%85%EB%A0%A5</link>
			<description>&lt;DIV class=titlepage&gt;
&lt;DIV&gt;
&lt;DIV&gt;
&lt;H2 class=title&gt;출처 &lt;A href=&quot;http://jdbc.postgresql.org/documentation/84/binary-data.html&quot;&gt;http://jdbc.postgresql.org/documentation/84/binary-data.html&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;Chapter 7. Storing Binary Data&lt;/H2&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN class=productname&gt;PostgreSQL&lt;/SPAN&gt;™ provides two distinct ways to store binary data. Binary data can be stored in a table using the data type &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; or by using the Large Object feature which stores the binary data in a separate table in a special format and refers to that table by storing a value of type &lt;SPAN class=type&gt;oid&lt;/SPAN&gt; in your table. &lt;/P&gt;
&lt;P&gt;In order to determine which method is appropriate you need to understand the limitations of each method. The &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; data type is not well suited for storing very large amounts of binary data. While a column of type &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; can hold up to 1 GB of binary data, it would require a huge amount of memory to process such a large value. The Large Object method for storing binary data is better suited to storing very large values, but it has its own limitations. Specifically deleting a row that contains a Large Object reference does not delete the Large Object. Deleting the Large Object is a separate operation that needs to be performed. Large Objects also have some security issues since anyone connected to the database can view and/or modify any Large Object, even if they don&#039;t have permissions to view/update the row containing the Large Object reference. &lt;/P&gt;
&lt;P&gt;Version 7.2 was the first release of the &lt;ACRONYM class=acronym&gt;JDBC&lt;/ACRONYM&gt; driver that supports the &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; data type. The introduction of this functionality in 7.2 has introduced a change in behavior as compared to previous releases. Since 7.2, the methods &lt;CODE class=function&gt;getBytes()&lt;/CODE&gt;, &lt;CODE class=function&gt;setBytes()&lt;/CODE&gt;, &lt;CODE class=function&gt;getBinaryStream()&lt;/CODE&gt;, and &lt;CODE class=function&gt;setBinaryStream()&lt;/CODE&gt; operate on the &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; data type. In 7.1 and earlier, these methods operated on the &lt;SPAN class=type&gt;oid&lt;/SPAN&gt; data type associated with Large Objects. It is possible to revert the driver back to the old 7.1 behavior by setting the property &lt;CODE class=literal&gt;compatible&lt;/CODE&gt; on the &lt;CODE class=classname&gt;Connection&lt;/CODE&gt; object to the value &lt;CODE class=literal&gt;7.1&lt;/CODE&gt;. More details on connection properties are available in &lt;A class=xref title=&quot;Connection Parameters&quot; href=&quot;http://jdbc.postgresql.org/documentation/84/connect.html#connection-parameters&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;the section called “Connection Parameters”&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;To use the &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; data type you should simply use the &lt;CODE class=function&gt;getBytes()&lt;/CODE&gt;, &lt;CODE class=function&gt;setBytes()&lt;/CODE&gt;, &lt;CODE class=function&gt;getBinaryStream()&lt;/CODE&gt;, or &lt;CODE class=function&gt;setBinaryStream()&lt;/CODE&gt; methods. &lt;/P&gt;
&lt;P&gt;To use the Large Object functionality you can use either the &lt;CODE class=classname&gt;LargeObject&lt;/CODE&gt; class provided by the &lt;SPAN class=productname&gt;PostgreSQL&lt;/SPAN&gt;™ &lt;ACRONYM class=acronym&gt;JDBC&lt;/ACRONYM&gt; driver, or by using the &lt;CODE class=function&gt;getBLOB()&lt;/CODE&gt; and &lt;CODE class=function&gt;setBLOB()&lt;/CODE&gt; methods. &lt;/P&gt;
&lt;DIV style=&quot;MARGIN-LEFT: 0.5in; MARGIN-RIGHT: 0.5in&quot; class=important&gt;
&lt;H3 class=title&gt;Important&lt;/H3&gt;
&lt;P&gt;You must access Large Objects within an &lt;ACRONYM class=acronym&gt;SQL&lt;/ACRONYM&gt; transaction block. You can start a transaction block by calling &lt;CODE class=function&gt;setAutoCommit(false)&lt;/CODE&gt;. &lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;A class=xref title=&quot;Example 7.1. Processing Binary Data in JDBC&quot; href=&quot;http://jdbc.postgresql.org/documentation/84/binary-data.html#binary-data-example&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;Example 7.1, “Processing Binary Data in &lt;ACRONYM class=acronym&gt;JDBC&lt;/ACRONYM&gt;”&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; contains some examples on how to process binary data using the &lt;SPAN class=productname&gt;PostgreSQL&lt;/SPAN&gt;™ &lt;ACRONYM class=acronym&gt;JDBC&lt;/ACRONYM&gt; driver. &lt;/P&gt;
&lt;DIV class=example&gt;
&lt;P class=title&gt;&lt;B&gt;Example 7.1. Processing Binary Data in &lt;ACRONYM class=acronym&gt;JDBC&lt;/ACRONYM&gt;&lt;/B&gt;&lt;/P&gt;
&lt;DIV class=example-contents&gt;
&lt;P&gt;For example, suppose you have a table containing the file names of images and you also want to store the image in a &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt; column: &lt;PRE class=programlisting&gt;CREATE TABLE images (imgname text, img bytea);
&lt;/PRE&gt;

&lt;P&gt;To insert an image, you would use: &lt;PRE class=programlisting&gt;File file = new File(&quot;myimage.gif&quot;);
FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = conn.prepareStatement(&quot;INSERT INTO images VALUES (?, ?)&quot;);
ps.setString(1, file.getName());
ps.setBinaryStream(2, fis, (int)file.length());
ps.executeUpdate();
ps.close();
fis.close();
&lt;/PRE&gt;Here, &lt;CODE class=function&gt;setBinaryStream()&lt;/CODE&gt; transfers a set number of bytes from a stream into the column of type &lt;SPAN class=type&gt;bytea&lt;/SPAN&gt;. This also could have been done using the &lt;CODE class=function&gt;setBytes()&lt;/CODE&gt; method if the contents of the image was already in a &lt;CODE class=classname&gt;byte[]&lt;/CODE&gt;. 
&lt;DIV style=&quot;MARGIN-LEFT: 0.5in; MARGIN-RIGHT: 0.5in&quot; class=note&gt;
&lt;H3 class=title&gt;Note&lt;/H3&gt;
&lt;P&gt;The length parameter to &lt;CODE class=function&gt;setBinaryStream&lt;/CODE&gt; must be correct. There is no way to indicate that the stream is of unknown length. If you are in this situation, you must read the stream yourself into temporary storage and determine the length. Now with the correct length you may send the data from temporary storage on to the driver. &lt;/P&gt;&lt;/DIV&gt;

&lt;P&gt;Retrieving an image is even easier. (We use &lt;CODE class=classname&gt;PreparedStatement&lt;/CODE&gt; here, but the &lt;CODE class=classname&gt;Statement&lt;/CODE&gt; class can equally be used.) &lt;PRE class=programlisting&gt;PreparedStatement ps = conn.prepareStatement(&quot;SELECT img FROM images WHERE imgname = ?&quot;);
ps.setString(1, &quot;myimage.gif&quot;);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
    byte[] imgBytes = rs.getBytes(1);
    // use the data in some way here
}
rs.close();
ps.close();
&lt;/PRE&gt;

&lt;P&gt;Here the binary data was retrieved as an &lt;CODE class=classname&gt;byte[]&lt;/CODE&gt;. You could have used a &lt;CODE class=classname&gt;InputStream&lt;/CODE&gt; object instead. &lt;/P&gt;
&lt;P&gt;Alternatively you could be storing a very large file and want to use the &lt;CODE class=classname&gt;LargeObject&lt;/CODE&gt; &lt;ACRONYM class=acronym&gt;API&lt;/ACRONYM&gt; to store the file: &lt;PRE class=programlisting&gt;CREATE TABLE imageslo (imgname text, imgoid oid);
&lt;/PRE&gt;

&lt;P&gt;To insert an image, you would use: &lt;PRE class=programlisting&gt;// All LargeObject API calls must be within a transaction block
conn.setAutoCommit(false);

// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection)conn).getLargeObjectAPI();

// Create a new large object
long oid = lobj.createLO(LargeObjectManager.READ | LargeObjectManager.WRITE);

// Open the large object for writing
LargeObject obj = lobj.open(oid, LargeObjectManager.WRITE);

// Now open the file
File file = new File(&quot;myimage.gif&quot;);
FileInputStream fis = new FileInputStream(file);

// Copy the data from the file to the large object
byte buf[] = new byte[2048];
int s, tl = 0;
while ((s = fis.read(buf, 0, 2048)) &amp;gt; 0) {
    obj.write(buf, 0, s);
    tl += s;
}

// Close the large object
obj.close();

// Now insert the row into imageslo
PreparedStatement ps = conn.prepareStatement(&quot;INSERT INTO imageslo VALUES (?, ?)&quot;);
ps.setString(1, file.getName());
ps.setLong(2, oid);
ps.executeUpdate();
ps.close();
fis.close();

// Finally, commit the transaction.
conn.commit();
&lt;/PRE&gt;

&lt;P&gt;Retrieving the image from the Large Object: &lt;PRE class=programlisting&gt;// All LargeObject API calls must be within a transaction block
conn.setAutoCommit(false);

// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection)conn).getLargeObjectAPI();

PreparedStatement ps = conn.prepareStatement(&quot;SELECT imgoid FROM imageslo WHERE imgname = ?&quot;);
ps.setString(1, &quot;myimage.gif&quot;);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
    // Open the large object for reading
    long oid = rs.getLong(1);
    LargeObject obj = lobj.open(oid, LargeObjectManager.READ);

    // Read the data
    byte buf[] = new byte[obj.size()];
    obj.read(buf, 0, obj.size());
    // Do something with the data read here

    // Close the object
    obj.close();
}
rs.close();
ps.close();

// Finally, commit the transaction.
conn.commit();
&lt;/PRE&gt;
&lt;/DIV&gt;&lt;/DIV&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Postgres</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/144</guid>
			<comments>http://arisu.mireene.com/entry/Postgresql-%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%85%EB%A0%A5#entry144comment</comments>
			<pubDate>Wed, 12 Aug 2009 16:58:07 +0900</pubDate>
		</item>
		<item>
			<title>CUDA 메모리 구조(3)</title>
			<link>http://arisu.mireene.com/entry/CUDA-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B03</link>
			<description>&lt;P&gt;제가 CUDA관련한 글을 쓰는건 David박사가 했던 대학강의와 NVIDIA에서 나온 CUDA 문서를 참고로 하고 있습니다. 그래서 문서에 나온 내용도 정리 하겠습니다.&lt;BR&gt;그나저나 NVIDIA 코리아에서는 CUDA 그렇게 밀면서 문서 한글화는 안해주네요.ㅡㅡ;&lt;BR&gt;그것만 해줘도 CUDA하기 수월할텐데 말이죠.&lt;BR&gt;&lt;BR&gt;CUDA 프로세서 구조는 SIMT(single-instruction, multiple-thread) 구조입니다. 기존에 있던 병렬프로그래밍으로 따지자면 OpenMP와 같은 성격인 것입니다. OpenMP는 CPU갯수만큼의 병렬화를 지원하지만 CUDA는 GPU안의 계산 유닛갯수만큼을 지원하는 것이 차이입니다.&lt;BR&gt;&lt;BR&gt;SIMT 유닛은 &amp;nbsp;32개의 병렬 스레드의 그룹을 만드는데 이것들을 warps 라고 부릅니다.&lt;BR&gt;device에서 계산을 시작하게 되면 SIMT 유닛은 warps안에 각각의 스레드를 분해해서 넣습니다. 여기서 첫번째 warp는 Thread ID 0을 가지게 되는 겁니다.&lt;BR&gt;&lt;BR&gt;그리고 각 Multiprocessor는 아래와 같은 구조를 가지면서 실행되게 됩니다.&lt;BR&gt;&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://arisu.mireene.com/thumbnail/1/1166562999.w450-h562.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;562&quot; width=&quot;450&quot; /&gt;&lt;/div&gt;&lt;/P&gt;위의 그림에 나와있는 각 Multiprocessor들은 다음의 4가지 형태의 메모리들을 가지게 됩니다.&lt;BR&gt;&lt;BR&gt;1. Processor당 32비트 &lt;EM&gt;&lt;FONT color=#ff0000&gt;register&lt;/FONT&gt;&lt;/EM&gt;들의 세트 하나.&lt;BR&gt;2. Multiprocessor안의 모든 processor 코어들이 공유하는 &lt;FONT color=#ff0000&gt;Shared memory&lt;/FONT&gt; &lt;BR&gt;3. 모든 Processor 코어들에 공유되고 constant memory space의 읽기속도를 향상시켜주는, 읽기전용인 &lt;FONT color=#ff0000&gt;constant cache&lt;BR&gt;&lt;/FONT&gt;4. 모든 Processor 코어들에 공유되고 texture memory space의 읽기속도를 향상시켜주는, 읽기전용인&lt;FONT color=#ff0000&gt; texture chche&lt;/FONT&gt;. 각각의 Multiprocessor들은 texture unit을 통해서 texture cache를 액세스합니다.&lt;BR&gt;&lt;BR&gt;위에 내용들이 중요한 내용들입니다. 앞 포스팅에 있던 Grid, Block, Thread와 위에 있는 메모리들이 어떻게 매치되는지를 지정해주어야 에러없이 프로그램이 실행됩니다.&lt;BR&gt;이게 제대로 관리안되면 에러가 나게 되는 겁니다. 여기서부터는 상세한 설명이 없어서 스스로의 많은 삽질이 필요하게 되는 부분입니다^^;&lt;BR&gt;&lt;BR&gt;그리고 SLI를 이용해서 GPU를 여러개 꼽아서 사용할수도 있다고 나와있군요. 하나도 제대로 쓰기 어렵구만..;;&lt;BR&gt;&lt;BR&gt;여기까지 했으니까 다음부터는 직접 코드를 작성하면서 삽질모드로 들어가야겠군요.^^;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>CUDA 삽질</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/143</guid>
			<comments>http://arisu.mireene.com/entry/CUDA-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B03#entry143comment</comments>
			<pubDate>Thu, 19 Mar 2009 21:10:18 +0900</pubDate>
		</item>
		<item>
			<title>마지막강의</title>
			<link>http://arisu.mireene.com/entry/%EB%A7%88%EC%A7%80%EB%A7%89%EA%B0%95%EC%9D%98</link>
			<description>출판사 : 살림&lt;BR&gt;저자 : 랜디포시, 제프리 재슬로&lt;BR&gt;옮김 : 심은우&lt;BR&gt;&lt;BR&gt;====================================================================&lt;BR&gt;책을 사서 동봉된 동영상 시디만 보고 정작 책은 안보고 있다가 이제서야 봤습니다.&lt;BR&gt;책이 동영상이랑 같은 내용일거라 지레 짐작하고 안 봤었는데 조금 다르군요.&lt;BR&gt;책을 쓴 시점이 마지막강의 이후 시점이라서 마지막강의시의 심정이라던가 세세한 저자의 감정들이 책에는 나와있습니다. 물론 큰 내용은 대동소이합니다.&lt;BR&gt;전반적인 내용은 책보다는 강의를 들었을때가 더 머리에 잘 들어오는것 같네요.&lt;BR&gt;다만 책에는 좀 더 세세한 부분들이 나와있다는 정도네요.&lt;BR&gt;&lt;BR&gt;책은 한번보고, 내용을 다시보고 싶다면 동영상을 보는게 나을거 같네요.&lt;BR&gt;물론, 전체적인 내용자체는 좋습니다.&lt;BR&gt;&#039;당신의 어릴적 꿈을 이루기&#039; 원래 좋아하는 주제라서요.&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Book</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/142</guid>
			<comments>http://arisu.mireene.com/entry/%EB%A7%88%EC%A7%80%EB%A7%89%EA%B0%95%EC%9D%98#entry142comment</comments>
			<pubDate>Wed, 04 Mar 2009 21:58:59 +0900</pubDate>
		</item>
		<item>
			<title>닷넷 프로그래밍 정복</title>
			<link>http://arisu.mireene.com/entry/%EB%8B%B7%EB%84%B7-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%A0%95%EB%B3%B5</link>
			<description>출판사 : 가메출판사&lt;BR&gt;저자 : 김상형&lt;BR&gt;&lt;BR&gt;==============================================================================&lt;BR&gt;&lt;BR&gt;Window API 정복의 저자가 쓴 닷넷, C#에 관한 책입니다.&lt;BR&gt;&lt;BR&gt;시중에 C#문법만 나와있는 책이 없어서 C#문법 참고용으로 샀는데 괜찮았습니다.&lt;BR&gt;&lt;BR&gt;덤으로 윈폼, ADO.net등도 살펴볼수 있는 기회가 되었네요.&lt;BR&gt;&lt;BR&gt;윈폼이야...MFC랑 비슷비슷하니 색다른건 없었고 지금은 WPF가 나와있으니 그리 큰 효용성이 있는지는 잘 모르겠습니다.&lt;BR&gt;&lt;BR&gt;ADO.net은 그동안 이름만 들어왔었는데 어떻게 구성되어 있는지를 구체적으로 볼 수 있는 기회가 되었습니다.&lt;BR&gt;&lt;BR&gt;이런류의 책들이 늘 그렇지만 레퍼런스 용도로 사용하기에 괜찮은거 같습니다. &lt;BR&gt;&lt;BR&gt;예제도 많으니 곧바로 써먹을수 있을거 같구요.&lt;BR&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Book</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/141</guid>
			<comments>http://arisu.mireene.com/entry/%EB%8B%B7%EB%84%B7-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%A0%95%EB%B3%B5#entry141comment</comments>
			<pubDate>Tue, 03 Mar 2009 23:10:16 +0900</pubDate>
		</item>
		<item>
			<title>초심</title>
			<link>http://arisu.mireene.com/entry/%EC%B4%88%EC%8B%AC</link>
			<description>출판사 : 다산북스&lt;BR&gt;지음 : 홍의숙&lt;BR&gt;&lt;BR&gt;============================================================================&lt;BR&gt;&lt;BR&gt;스토리텔링 형식의 자기개발서 입니다. 요즘에는 이런류의 책들이 스토리텔링 형식으로 많이 나오는것 같습니다. 덕분에 읽기는 수월해진거 같습니다. 예전처럼 딱딱하게 어떻게 해야한다면서 정리되어 있는 것들은 그다지 재미도 없고 그랬죠. &lt;BR&gt;내용은 초심이라는 제목만 봤을때는 첫마음을 간직하라는 이야기일거라 생각했습니다. 그런데 읽어보니 사장으로서 어떻게 회사를 꾸려나가야하는지와 코칭에 대한 이야기이더군요.&lt;BR&gt;그냥저냥 무난하게 읽을 많한 이야기인거 같습니다.&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Book</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/140</guid>
			<comments>http://arisu.mireene.com/entry/%EC%B4%88%EC%8B%AC#entry140comment</comments>
			<pubDate>Sat, 28 Feb 2009 11:24:10 +0900</pubDate>
		</item>
		<item>
			<title>시골의사의 주식투자란 무엇인가 2 : 분석편</title>
			<link>http://arisu.mireene.com/entry/%EC%8B%9C%EA%B3%A8%EC%9D%98%EC%82%AC%EC%9D%98-%EC%A3%BC%EC%8B%9D%ED%88%AC%EC%9E%90%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-2-%EB%B6%84%EC%84%9D%ED%8E%B8</link>
			<description>출판사 : 리더스북&lt;BR&gt;저자 : 박경철&lt;BR&gt;&lt;BR&gt;==========================================================&lt;BR&gt;1권에서 개인 투자자는 주식투자 하지마라고 계속 이야기 합니다.&lt;BR&gt;그런데 그러고도 계속 주식하고 싶으면 어떻게 해야하는지에 관해서 이야기 하고 있습니다.&lt;BR&gt;기술적분석의 전문가라고 불리우는 저자가 이러저러한 여러가지 기술적 분석 방법을 소개하고 있습니다.&lt;BR&gt;그러한 기술적 분석 방법의 의미를 소개하면서 왜 한가지 방법만을 사용하면 안되는지, 그리고 기술적 분석이 가지는 맹점에 관해서 이야이하고 있습니다.&lt;BR&gt;데이트레이더라면 필히 숙지해야할 내용들인거 같습니다.&lt;BR&gt;결국 기술적 분석은 시장의 과거를 보여줄 뿐이며 시장의 미래는 누구도 모른다는게 결론입니다.&lt;BR&gt;이러저러한 여러가지 기술적 분석 방법들을 알게 되었다는 점에서 좋았고&lt;BR&gt;무엇보다 그것들이 무용하다고 솔직하게 이야기하는 필자가 마음에 들었습니다.&lt;BR&gt;&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Book</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/139</guid>
			<comments>http://arisu.mireene.com/entry/%EC%8B%9C%EA%B3%A8%EC%9D%98%EC%82%AC%EC%9D%98-%EC%A3%BC%EC%8B%9D%ED%88%AC%EC%9E%90%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-2-%EB%B6%84%EC%84%9D%ED%8E%B8#entry139comment</comments>
			<pubDate>Sun, 22 Feb 2009 23:38:10 +0900</pubDate>
		</item>
		<item>
			<title>시골의사의 주식투자란 무엇인가 1 : 통찰편</title>
			<link>http://arisu.mireene.com/entry/%EC%8B%9C%EA%B3%A8%EC%9D%98%EC%82%AC%EC%9D%98-%EC%A3%BC%EC%8B%9D%ED%88%AC%EC%9E%90%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-1-%ED%86%B5%EC%B0%B0%ED%8E%B8</link>
			<description>출판사 : 리더스북&lt;BR&gt;저자 : 박경철&lt;BR&gt;&lt;BR&gt;===================================================================&lt;BR&gt;&lt;BR&gt;2권으로 구성된 시골의사의 주식책 중 첫번째 책입니다.&lt;BR&gt;저자도 저자고 제목도 끌리고해서 2권모두 구입했습니다.&lt;BR&gt;1권은 시장에서 개인투자자들이 왜 손실을 볼수밖에 없는지에 대해서 나와있습니다.&lt;BR&gt;이래도 주식하고 싶으냐? 주식하지마라. 그런이야기 들입니다.&lt;BR&gt;그러면서 경제를 보는 통찰력을 기르는 것이 중요하다고 이야기하고 있습니다.&lt;BR&gt;주식을 하려고 한다면 시작하기전에 한번 읽어보고 나서 시작하는게 좋을거 같습니다.&lt;BR&gt;시장에서 오랜시간을 거치면서 쌓은 경험을 허황되거나 미화하지 않고 사실그대로 전달해준다는 느낌입니다.&lt;BR&gt;주식 선배에게 듣는 좋은 이야기, 경험담 그런 느낌입니다.&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>Book</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/138</guid>
			<comments>http://arisu.mireene.com/entry/%EC%8B%9C%EA%B3%A8%EC%9D%98%EC%82%AC%EC%9D%98-%EC%A3%BC%EC%8B%9D%ED%88%AC%EC%9E%90%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-1-%ED%86%B5%EC%B0%B0%ED%8E%B8#entry138comment</comments>
			<pubDate>Sun, 22 Feb 2009 23:34:04 +0900</pubDate>
		</item>
		<item>
			<title>CUDA 메모리 구조(2)</title>
			<link>http://arisu.mireene.com/entry/CUDA-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B02</link>
			<description>&lt;P&gt;CUDA 연산의 개념은 아래 그림과 같은 구조로 되어 있습니다.&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://arisu.mireene.com/thumbnail/1/1006887015.w450-h568.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;568&quot; width=&quot;450&quot; /&gt;&lt;/div&gt;&lt;BR&gt;여기서 Thread라고 되어 있는 것들이 CUDA연산에서 가장 작은 단위인 것입니다.&lt;BR&gt;이 Thread들은 Block의 하위에 있고 Block들은 다시 Grid의 하위에 있습니다. &lt;BR&gt;그래서 프로그래머가 연산을 하려면 &lt;/P&gt;
&lt;BLOCKQUOTE&gt;&#039;몇번Grid의 몇번Block의 몇번Thread를 사용하여 계산하겠다&#039;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;를 지정해 주어야 합니다. &lt;BR&gt;&lt;BR&gt;여기서 각 Thread는 자신만의 local memory를 가지게 됩니다.&lt;BR&gt;각 Thread 간에 data 공유를 위한 shared memory는 따로 있습니다. &lt;BR&gt;그리고 Block들의 집합인 Grid간에 data 공유를 위한 Global memory가 있습니다.&lt;BR&gt;구조는 아래와 같습니다.&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://arisu.mireene.com/thumbnail/1/1110622464.w450-h630.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;630&quot; width=&quot;450&quot; /&gt;&lt;/div&gt;&lt;/P&gt;&lt;BR&gt;이 memory들을 어떻게 사용하느냐에 따라서 같은 연산을 하는 CUDA프로그램이라 하더라도 큰 성능차이를 내게 됩니다.&lt;BR&gt;memory간의 data를 이동시키는 비용이 꽤 크기 때문에 적절한 알고리즘을 작성하지 않는다면 계산하는데서 단축한 시간을 data 이동시키는데서 다 까먹을 수 있게 됩니다.&lt;BR&gt;각 memory들의 속도 또한 차이가 있어서 이런 여러가지 요소를 고려하기 시작하면 복잡해지기 시작하는 겁니다.&lt;BR&gt;결국 CUDA 프로그래밍의 핵심은 각 memory들의 특성을 파악해서 최대한 효율적인 알고리즘을 만드는데 있습니다. &lt;BR&gt;&lt;BR&gt;아래 그림은 Grid를 이용해 계산한다는 것이 코드로는 어떻게 표현되는지를 나타냅니다.&lt;BR&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://arisu.mireene.com/thumbnail/1/1259645706.w450-h736.jpg&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;736&quot; width=&quot;450&quot; /&gt;&lt;/div&gt;&lt;BR&gt;결국 template project에서 보았던 kernel을 실행시키는 부분이 kernel에 해당하는 Grid를 실행시킨다는 것을 알 수 있습니다.&lt;fieldset style=&quot;margin:20px 0px 20px 0px;padding:5px;&quot;&gt;&lt;legend&gt;&lt;span&gt;&lt;strong&gt;크리에이티브 커먼즈 라이센스&lt;/strong&gt;&lt;/span&gt;&lt;/legend&gt;&lt;!--Creative Commons License--&gt;&lt;div style=&quot;float: left; width: 88px; margin-top: 3px;&quot;&gt;&lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;&lt;img alt=&quot;Creative Commons License&quot; style=&quot;border-width: 0&quot; src=&quot;http://i.creativecommons.org/l/by-nc-sa/2.0/kr/88x31.png&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-left: 92px; margin-top: 3px; text-align: justify;&quot;&gt;이 저작물은 &lt;a rel=&quot;license&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.0/kr/&quot; target=_blank&gt;크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스&lt;/a&gt;에 따라 이용하실 수 있습니다.
			&lt;!-- Creative Commons License--&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;permits rdf:resource=&quot;http://web.resource.org/cc/DerivativeWorks&quot;/&gt;
			&lt;requires rdf:resource=&quot;http://web.resource.org/cc/ShareAlike&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;&lt;/fieldset&gt;</description>
			<category>CUDA 삽질</category>
			<category>CUDA</category>
			<category>GPGPU</category>
			<category>NVIDIA</category>
			<author>(아리수)</author>
			<guid>http://arisu.mireene.com/137</guid>
			<comments>http://arisu.mireene.com/entry/CUDA-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B5%AC%EC%A1%B02#entry137comment</comments>
			<pubDate>Wed, 11 Feb 2009 20:32:00 +0900</pubDate>
		</item>
	</channel>
</rss>
