<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>블로그는 귀차니즘</title>
		<link>http://www.filewiki.net/tc/</link>
		<description>First Sensation</description>
		<language>ko</language>
		<pubDate>Sun, 16 Oct 2011 08:46:01 +0900</pubDate>
		<generator>Textcube 1.7.2 : Risoluto</generator>
		<image>
		<title>블로그는 귀차니즘</title>
		<url>http://www.filewiki.net/tc/attach/1/1381453499.png</url>
		<link>http://www.filewiki.net/tc/</link>
		<width>190</width>
		<height>253</height>
		<description>First Sensation</description>
		</image>
		<item>
			<title>[64비트 멀티코어 OS 원리와 구조] 책을 받았습니다.</title>
			<link>http://www.filewiki.net/tc/entry/64%EB%B9%84%ED%8A%B8-%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4-OS-%EC%9B%90%EB%A6%AC%EC%99%80-%EA%B5%AC%EC%A1%B0-%EC%B1%85%EC%9D%84-%EB%B0%9B%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
			<description>		&lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;
		//&lt;![CDATA[

			var __getEmbedCode;
		
			if (typeof getEmbedCode == &quot;function&quot;) {
				
				__getEmbedCode = getEmbedCode;

				getEmbedCode = function(move, width, height, id, bg, FlashVars, menu, transparent, quality, bgcolor, allowScriptAccess, version) {
					if (transparent == undefined) transparent = &quot;opaque&quot;;
					return __getEmbedCode(move, width, height, id, bg, FlashVars, menu, transparent, quality, bgcolor, allowScriptAccess, version);
				}

			}
			
		//]]&gt;
		&lt;/script&gt;&lt;p&gt;&amp;nbsp; 음음~~ 블로그는 여전히 관리가 잘 안되고 있네요 ㅎㅎ.&lt;/p&gt;
&lt;p&gt;하지만 그래도 생활은 열심히 하고 있는 귀차니스트 입니다. 다름이 아니라 제목과 같이 해당 책을 받게 되었습니다. 우선 아래의 사진을 보실까요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1029967604.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1029967604.jpg&quot; width=&quot;484&quot; height=&quot;648&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;표지 디자인이 깔끔하게 잘 되었다고 생각합니다. 그런데&amp;nbsp;위 사진으로는 책에 대해서 감이 잘 오시지는 않죠? 그래서 이 것을 준비했습니다. 바로 두께에 대한 사진입니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1032584760.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1032584760.jpg&quot; width=&quot;580&quot; height=&quot;433&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;왼쪽의 책이 CODE COMPLETE 책이므로 두께에 대해서 어림짐작 하실 수 있으실 거라 생각합니다. 최근에개정 되어서 나온 Win32 API 정복, 1/2 분할 부분 중 한 권과도 두께가 비슷하더군요. &amp;nbsp;API 정복 책은 거의 다들 가지고 계시리라 생각하시기에 두께에 대해서 파악이 가능하실겁니다^^;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1220905973.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1220905973.jpg&quot; width=&quot;484&quot; height=&quot;648&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1066800515.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1066800515.jpg&quot; width=&quot;484&quot; height=&quot;648&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;음 총 페이지 수? 를 찍어봤는데요, 일단 처음 사진이 1권의 마지막 페이지 수, 두 번째가 2권의 마지막 페이지 수 입니다. 역시 예상대로 내용이 많이 들어있는듯 합니다. ㅎㅎ&amp;nbsp;또한&amp;nbsp; 처음에 살짝 내용을 봤는데, 내용이 자세하게 된 듯합니다. 아마 이 책 하나면 64비트와 더불어 멀티코어를 지원하는 나만의 OS를 만드는 것에 엄청난 도움이 될 것 같네요^^; 대략적으로 목차를 훑어봤는데, 필수적인 부분은 거의 다 들어가 있는 듯 했구요.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;저 또한 PlugIn OS라는 64비트 지만 콘솔만 지원되는 멀티태스킹 OS를 만들고 있는 관계로, 해당 책은 무척움이 될듯 합니다.&amp;nbsp;자세한 내용은 다 읽지는 못하고,&amp;nbsp;가격이 현재 할인하여&amp;nbsp;99,000원이지만 책 값이 아까울&amp;nbsp;것 같지는 않다는게 저의 생각이네요.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;그럼&amp;nbsp;어느정도의 내용을 읽은 후, 후기를 또 다시 올려보도록 하겠습니다. 지금 이 글을 읽고 계시는 OS를만들고자 하는 분에게 말씀드려 봅니다. &quot;그냥 지르셔서 만드시는 겁니다!!~?&quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;아래는 해당 책에 대한 사이트네요..ㅎㅎ 많이 모여서 서로 도움이 되었으면 합니다. OS 만드는 분들을 자주접할수 없기에 이렇게 모아서 흐흐흐 +_...&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;&lt;a href=&quot;http://www.mint64os.pe.kr/&quot;&gt;http://www.mint64os.pe.kr/&lt;/a&gt;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>64비트 멀티코어 OS 원리와 구조</category>
			<category>OS</category>
			<category>책</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/129</guid>
			<comments>http://www.filewiki.net/tc/entry/64%EB%B9%84%ED%8A%B8-%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4-OS-%EC%9B%90%EB%A6%AC%EC%99%80-%EA%B5%AC%EC%A1%B0-%EC%B1%85%EC%9D%84-%EB%B0%9B%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4#entry129comment</comments>
			<pubDate>Mon, 11 Jul 2011 20:49:02 +0900</pubDate>
		</item>
		<item>
			<title>HD2 새로운 기기를 영입했습니다.</title>
			<link>http://www.filewiki.net/tc/entry/HD2-%EC%83%88%EB%A1%9C%EC%9A%B4-%EA%B8%B0%EA%B8%B0%EB%A5%BC-%EC%98%81%EC%9E%85%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp;네.. 거의 블로그는 폐가가 되어가고 있군요. 그래도 한 번씩 와서 거미줄 제거는 하는 듯해서 개인적으로는 다행이라고 생각하고 있습니다. 제목과 마찬가지로, 이번에 새로운 기기를 영입했습니다. 바로 HD2 인데요. 다들 아시다시피 거의 궁극의 폰이라고 보시면 될듯 합니다 =ㅁ=. 일단 사진 샷 부터..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1303458917.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1303458917.jpg&quot; width=&quot;580&quot; height=&quot;776&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1170622499.jpg&quot;&gt;&lt;img src=&quot;/tc/attach/1/1170622499.jpg&quot; width=&quot;580&quot; height=&quot;776&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;p&gt;&amp;nbsp;안드로이드 는 SD롬에 올라가 있고, MIUI 롬입니다. 사실 NAND에 쓰는 것이 아니기도 하고,&amp;nbsp;처음 올렸던 Rafdroid 인가 그 롬은 무척 느려서 원래 그렇구나라고 했는데 엄청 부드럽고 빨라서 무척 놀란 롬입니다. 안드로이드로 실사가 100% 가능할 정도라고 느낌이 팍 들더라구요.&lt;br /&gt;&amp;nbsp;뿐만 아니라 WP7도 올라가는데, 중고 32만으로 2개의 고성능 개발기기를 가지게 된 것이 무척 좋습니다.개발 기기로 갤럭시탭을 사용할 수 있는데, 화면 크기도 다르고 해서 일단은 HD2를 여러가지로 영입을 해보았는데, 아주 만족 스럽습니다.&lt;br /&gt;&amp;nbsp;HD2가 1년 정도 지난 기기임에는 분명하지만 정말 좋다고 말씀 드리고 싶습니다. 이미 주위에 여러명 뽐뿌질을 해놨지요 ㅎㅎ 한 분 은 당장 바꾸시려고 중고를 알아보고 있습니다 =ㅁ=. 고민하고 계신 분이 있다면..이 글을 보고 계시는.. 여러분 그냥 고민 하지 마시고 지르세요 ㅋㅋ 그 것이 정답입니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>HD2</category>
			<category>WP7</category>
			<category>안드로이드</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/128</guid>
			<comments>http://www.filewiki.net/tc/entry/HD2-%EC%83%88%EB%A1%9C%EC%9A%B4-%EA%B8%B0%EA%B8%B0%EB%A5%BC-%EC%98%81%EC%9E%85%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4#entry128comment</comments>
			<pubDate>Thu, 31 Mar 2011 02:24:14 +0900</pubDate>
		</item>
		<item>
			<title>최근 프로젝트로 진행하고 있던..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%B5%9C%EA%B7%BC-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A1%9C-%EC%A7%84%ED%96%89%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8D%98</link>
			<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;뭐 하다 보면 여러모로 블로그에 신경을 많이 못 쓰게 되는군요^^; 블로그 초반에는 신경을 그래도 꽤 많이 쓰고 하루마다 적어도 글 하나를 써보려고 했는데.. 실행을 잘 하지 못하는 듯 하여 아쉽습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;그런 생각을 뒤로 하고서 이번에 올리는 글은 최근까지 프로젝트로 진행하고 있던 맞고 게임 입니다. 우선 스크린샷을 먼저 보실까요?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1135266596.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1135266596.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1202110367.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1202110367.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1244767580.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1244767580.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1227645195.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1227645195.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1010052423.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1010052423.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1144520102.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1144520102.png&quot; width=&quot;480&quot; height=&quot;320&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/p&gt;&lt;p style=&quot;text-align: justify; &quot;&gt;&amp;nbsp;&amp;nbsp;대충 위와 같이 구성이 되어 있습니다. 3D 맞고를 생각하고 있는 상황이고, 디자인 적인 부분에 신경을 많이 쓰고 있었는데, 디자이너가 잠수를 하는 바람에 프로그래머인 제가 디자인까지 하게 된 상황이라 여러모로 시도를 많이 해보았습니다.&lt;/p&gt;
&lt;p style=&quot;text-align: justify; &quot;&gt;&amp;nbsp;&amp;nbsp;제가 맡은 부분은 현재 보이는 부분에서는 서버에서 로직처리, 패킷디자인 및 처리, UI 및 이펙트 디자인,효과음을 작업했습니다. 그런데 기존 디자이너와는 또 다른 디자이너 와 연락이 되어 현재는 디자인을 또 바꾸게 될 것 같네요. 이펙트 및 디자인 부분에서 많은 인상을 줄 수 있는 게임이 되었으면 하는데요. 실제로 가능할지는 아직 잘 모르겠습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;해당 프로젝트는 아이폰, 안드로이드 2가지 OS에서 돌아가는 맞고 게임이고, 정해진 이름은 맞고의 정석&amp;nbsp;입니다. 한 5개월 쯤 4명이서 작업을 했는데, 이제 거의 마무리 단계에 접어들어가는 군요. 곧 상용화가 가능하게 될 것 같습니다. 그 때가 되면 여러가지 생각해두었던 다른 작업들도 가능할 것 같네요^^. 그럼 다음에도 비슷한 소식 포스팅 해보겠습니다^^.&lt;/p&gt;
&lt;/p&gt;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>3D</category>
			<category>맞고</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/127</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%B5%9C%EA%B7%BC-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A1%9C-%EC%A7%84%ED%96%89%ED%95%98%EA%B3%A0-%EC%9E%88%EB%8D%98#entry127comment</comments>
			<pubDate>Mon, 17 Jan 2011 15:00:50 +0900</pubDate>
		</item>
		<item>
			<title>[Multitasking]오래전의 소스를..</title>
			<link>http://www.filewiki.net/tc/entry/Multitasking%EC%98%A4%EB%9E%98%EC%A0%84%EC%9D%98-%EC%86%8C%EC%8A%A4%EB%A5%BC</link>
			<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;벌써 7개월 정도 흐른 소스를 이제야 한 번 만지게 되었습니다. OS소스였는데 올해 초에 개인취미로 개발하였던 것입니다. 이게 메모리 관리자 기능을 추가하게된지가 이미 6개월 전인데, 이제야 메모리 관리자와 더불어 멀티태스킹에 대한 기능을 올려보는 군요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1166910243.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1166910243.png&quot; width=&quot;580&quot; height=&quot;398&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;위와 같이 오른쪽 윗 부분에 번쩍번쩍 이면서 돌아가는 것을 실제로 확인할 수 있었습니다. 원리는 간단한데 소스를 만질 시간이 부족하여 이제야 기능을 추가하게 되었네요 ㅎㅎ. 멀티태스킹도 되고 기능이 하나씩복이 되어가는군요.(그런데 걸린시간이란.. =ㅁ=;;) 천천히 오랜 시간이 걸리더라도 해야 하는 과제와 더불어간을 적절히 분배하면서 계속해서 기능을 추가해봐야겠습니다^^.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;그런데 아직 특정 에뮬레이터에서는 계속 죽는걸로 봐서는 여전히 처리해야 되는 부분이 더 있는 모양입니다.ㅎㅎ 일단 Bochs와 Vmware에서는 제대로 동작을 하고 있는 걸로 봐서는 제대로 동작을 하고 있는 듯 하긴하네요. 그럼 다음 기능이 추가 되면 또 포스팅을 올리도록 하겠습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>OS Develop</category>
			<category>OS개발</category>
			<category>PlugInOS</category>
			<category>커널</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/126</guid>
			<comments>http://www.filewiki.net/tc/entry/Multitasking%EC%98%A4%EB%9E%98%EC%A0%84%EC%9D%98-%EC%86%8C%EC%8A%A4%EB%A5%BC#entry126comment</comments>
			<pubDate>Sun, 05 Sep 2010 04:42:35 +0900</pubDate>
		</item>
		<item>
			<title>DebuggerOnC</title>
			<link>http://www.filewiki.net/tc/entry/DebuggerOnC</link>
			<description>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1402005603.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1402005603.png&quot; width=&quot;580&quot; height=&quot;431&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;안녕하세요^^. 멤버십에 들어와서 생활을 하다보니 블로그에 글이 적어지는 듯한 이유를 알 수 있을 것 같습니다. 사실 뭐 조금 게으른것도 영향이 클 것 같군요. 과제를 3개월 단위로 하나를 수행하는데, 원래 4명으로작하려고 했었다 2명이 결국 도중에 나가게 되어 2명이서 과제를 완료한 DebuggerOnC 라는 프로그램입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이 프로그램의 특징은 우선 x64 프로세스를 대상으로 동작하는 Debugger 이자 Decompiler 입니다. 즉 한마디로 컴파일 되어 실행된 프로그램을 어셈블리와 C코드로 분석을 할 수 있게 도와주는 툴입니다. 이 것을 3개월 동안 만들었습니다^^. 물론 약간의 사정이 있어 기간상 문제도 있었구요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;저번에 올라왔었던 글이 이 프로그램에서의 Decompiler 쪽을 담당하는 모듈입니다. 그에 대한 기능을 대략적으로나마 완성이 되었을 때 올렸었죠^^. 일단 8월 10일날 프로그램에 대해서 1차적인 완료는 끝이 났습니다. 왜냐구요? 이게 8,9,10월에 진행하는 또 다른 과제가 있기 때문입니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;새로 시작하게 되는 과제는 상용 서비스를 진행할 예정이기 때문에 공개는 현재 힘들듯 하고. 아마 이 과제가 끝나게 되면 DebuggerOnC의 개선과 더불어 OS의 기능 추가도 진행할 수 있을 듯 합니다. 오랫만에 들른거 치고는 또 많이 남기지는 못하는군요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;머릿속에 많은 아이디어는 존재하는데 실제로 개발하기에 시간이 부족하기 그지 없습니다. 만들고 싶은 것은 많은데 아쉽네요^^. 탐색기도 기존의 Windows Explorer는 불편한 점이 종종 발견되어 새로운 부분을 생각하고 있긴 한데 어떻게 될지 모르겠습니다. ㅎㅎ&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;8,9,10월이 끝나고 제대로 된 상용 서비스가 시작된다면 아마 또 그 쪽 관련해서 글을 올릴지도 모르겠군.모바일&amp;nbsp;멀티 플랫폼으로 개발하는 게임이다 보니 ^^ 4명이서 제작하고 있는 만큼 퀄리티도 꽤 나올 듯 합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이 글을 올린 이유는 Decompiler 기능을 마치면서 기념을 위해서 올린거랍니다. 더 큰 프로그램을 만든 적도 있긴 하지만 제가 원해서 이 정도로 만들어본 프로그램은 극히 드물기 때문이죠 ㅎㅎ 그럼 다음 포스팅을대해 주시면 감사하겠습니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>Debugger</category>
			<category>Decompiler</category>
			<category>디버거</category>
			<category>디컴파일러</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/125</guid>
			<comments>http://www.filewiki.net/tc/entry/DebuggerOnC#entry125comment</comments>
			<pubDate>Wed, 01 Sep 2010 02:34:14 +0900</pubDate>
		</item>
		<item>
			<title>음 요새 아주 열코딩중입니다.</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%9A%94%EC%83%88-%EC%95%84%EC%A3%BC-%EC%97%B4%EC%BD%94%EB%94%A9%EC%A4%91%EC%9E%85%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;최근에 아주 열코딩할 일이 생겨서 잠적을 할 수 밖에 없었습니다. 과제가 있어서 끝을 내야 하기 때문이지요. 그런데 제가 맡은 분야가 디컴파일분야 입니다(?). 이거 아주 토나오는군요 ㅋㅋ 하루종일 붙어서 작업을 하고 있지만 이거 컴파일러 수업을 들었음에도 불구하고 다른 점이 아주 많아 무척 힘들고 결과물이 정확하게 나오지는 않습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;물론 원래 결과물이 제대로 나오지 않는다고는 하지만 아휴 그래도 좀 나와줬으면 하는데 제가 놓치고 있는 부분이 정말 많은가 봅니다. 일단 만드는 프로그램의 전체 개요는 컴파일된 바이너리 프로그램이 64비트일 때, 해당 프로그램을 대상으로 디버거와 같이 달라붙어 동작하는데, 디버거 기능도 존재하면서 디컴파일 기능 또한 존재하는 프로그램이죠.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이 프로그램을 만들다 보니 기계어 -&amp;gt; 어셈블리를 다른 팀원이 맡았고, 제가 하는 부분은 어셈블리 -&amp;gt; C 코드인데.. 쩝접 한 숨이네요 ㅋ&lt;/p&gt;
&lt;p&gt;그래도 아래에 결과물을 올려봅니다. 아직 함수 인자 및 콜링 컨벤션을 처리하지 않았습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;원 소스&lt;/h1&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;fieldset class=&quot;geshi r2&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;&lt;/span&gt;&lt;span class=&quot;g_lang&quot; style=&quot;color:#aaa;&quot;&gt;(Language : c)&lt;/span&gt;&lt;/legend&gt;&lt;ol class=&quot;code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; main&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; argc, &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; **argv&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; a;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; b;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; std::&lt;span class=&quot;me2&quot;&gt;cin&lt;/span&gt; &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a == &lt;span class=&quot;nu0&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a * b &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a--;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a + b == &lt;span class=&quot;nu0&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a *= &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;b == &lt;span class=&quot;nu0&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b++;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a == &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a == &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a++;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a + b &amp;lt; a * b&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; b++;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;a - b &amp;lt; a * b&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a--;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; c = &lt;span class=&quot;nu0&quot;&gt;23424&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::&lt;span class=&quot;me2&quot;&gt;cin&lt;/span&gt; &amp;gt;&amp;gt; c;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;c &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;c &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;10000&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c++;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c--;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; std::&lt;a href=&quot;http://www.opengroup.org/onlinepubs/009695399/functions/cout.html&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cout&lt;/span&gt;&lt;/a&gt; &amp;lt;&amp;lt; c;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; std::&lt;a href=&quot;http://www.opengroup.org/onlinepubs/009695399/functions/cout.html&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;cout&lt;/span&gt;&lt;/a&gt; &amp;lt;&amp;lt; a &amp;lt;&amp;lt; b;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 17px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1&gt;디컴파일 소스&lt;/h1&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_lang&quot; style=&quot;color:#aaa;&quot;&gt;(Language : c)&lt;/span&gt;&lt;/legend&gt;&lt;ol class=&quot;code&quot;&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; sub5358030852&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;unsigned&lt;/span&gt; __int64 vVar0;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; vVar1;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; vVar2;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; vVar3;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; vVar4;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; vVar0 = IntArg1;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; vVar1 = IntArg0;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; memset&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;StackAddress, &lt;span class=&quot;nu0&quot;&gt;3435973836&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;32&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; sub5358064932&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; sub5358064932&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 == &lt;span class=&quot;nu0&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 * vVar3 &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar2 = vVar2 - &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 + vVar3 == &lt;span class=&quot;nu0&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar3 == &lt;span class=&quot;nu0&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar3 = vVar3 + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 == &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 == &lt;span class=&quot;nu0&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar2 = vVar2 + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 + vVar3 &amp;lt; vVar2 * vVar3&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar3 = vVar3 + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar2 - vVar3 &amp;lt; vVar2 * vVar3&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar2 = vVar2 - &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar4 = &lt;span class=&quot;nu0&quot;&gt;23424&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sub5358064932&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar4 &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;1000&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;vVar4 &amp;lt;= &lt;span class=&quot;nu0&quot;&gt;10000&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar4 = vVar4 + &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vVar4 = vVar4 - &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sub5358064900&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; sub5358064900&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; sub5358064900&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; sub5358030116&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 17px;&quot;&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;만드는 입장에서 먼저 말씀드리고 싶네요.. 절대 하지 마세요. .. 제가 하는 이유가 있답니다. 이게 x86, x64 명령어를 어느정도 다 처리해야 하다보니 명령어만 631개 정도가 됩니다. 지원 안되면서 정리된 명령어들 이 많이 존재하여 그나마 정리된게 저 정도라죠(?).. 일단 그래요 지금도 달리러 갑니다.. 아흑&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>디컴파일러</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/124</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%9A%94%EC%83%88-%EC%95%84%EC%A3%BC-%EC%97%B4%EC%BD%94%EB%94%A9%EC%A4%91%EC%9E%85%EB%8B%88%EB%8B%A4#entry124comment</comments>
			<pubDate>Thu, 29 Jul 2010 10:45:53 +0900</pubDate>
		</item>
		<item>
			<title>오랫만에 글을 올리면서..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%98%A4%EB%9E%AB%EB%A7%8C%EC%97%90-%EA%B8%80%EC%9D%84-%EC%98%AC%EB%A6%AC%EB%A9%B4%EC%84%9C</link>
			<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;안녕하세요 요즘 3개월 동안 진행하는 과제가 거의 마지막 달이라서 무척 바쁜 관계로 제대로 글을 올리지 못하고 있습니다. 그런데, 최근 진행을 함에 있어서 약간의 상대적 시간 여유가 생겨 해킨토시라고 불리는 Mac OSX를 깔아보았습니다. 물론 Vmware, Virtual Box등의 가상 머신이 아닌 Native 로 깔아보았죠. 일단 스크린샷을 먼저 보시길.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/tc/attach/1/1035255464.png&quot;&gt;&lt;img src=&quot;/tc/attach/1/1035255464.png&quot; width=&quot;580&quot; height=&quot;362&quot; alt=&quot;사용자 삽입 이미지&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;위와 같이 동작하고 버젼은 10.6.3 입니다. Snow Leopard 라고 하죠. 주위에 아는 사람이 정품을 가지고 있었던 터라 그 것을 이용하여 깔아보았습니다. 화면안에 떠있는 프로그램은 인터넷 익스플로어, 파이어폭스,은 인터넷 브라우젼인 사파리입니다. 그리고 또 오른쪽은 Pidgin이라고 하는 프로그램의 Mac버젼인 Adium을 깔아서 네이트온 상대와 대화하고 있는 장면이구요.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;제가 이렇게 한 번 깔아보게 된 까닭은 과제가 끝나게 되면 IPhone App 개발을 해보기 위함입니다. 물론 배포는 생각을 하지 않고 있지만.. 사실 만약 IPhone 4HD를 사게 된다면 개인적으로 필요한 프로그램을 만들어서 사용할 생각에 깔게 되었습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이래뵈도 프로그램안에 xcode도 깔려 있고, 기존에 가지고 있는 워크래프트3 정품도 다시 깔아놨습니다.론글버젼이다보니 프로즌쓰론을 깔고 버젼패치 때 에러가 발생하는 군요^^; 이 것은 웹 서핑으로 해결을 봤습니다. 그래픽 드라이버도 제대로 잡히고 하니 쓸만하군요 ㅎㅎ&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;그래도 아직 사운드카드가 사운드블라스터 X-FI XtreamMusic 이라 안 잡히고 TV Card가 Fusion HDTV 3 Silver인데 이 것도 지원을 하지 않네요. 최근 바다 SDK와 안드로이드 SDK, IPhone SDK 중 많은 고민을 했으나 아무래도 IPhone 이라는 대세에 이끌린 듯 합니다. ㅎㅎ 그럼 과제가 끝나고 IPhone 개발에 대해서 글을 쓰게 될 때 다시 찾아 뵐지도 모르겠네요 ㅎㅎ&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>IPhone</category>
			<category>Mac</category>
			<category>OSX</category>
			<category>SDK</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/123</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%98%A4%EB%9E%AB%EB%A7%8C%EC%97%90-%EA%B8%80%EC%9D%84-%EC%98%AC%EB%A6%AC%EB%A9%B4%EC%84%9C#entry123comment</comments>
			<pubDate>Wed, 23 Jun 2010 13:53:01 +0900</pubDate>
		</item>
		<item>
			<title>Textcube 에서 XQuared 에디터를 쓰면서 Hooriza님의 Codehilight 사용</title>
			<link>http://www.filewiki.net/tc/entry/Textcube-%EC%97%90%EC%84%9C-XQuared-%EC%97%90%EB%94%94%ED%84%B0%EB%A5%BC-%EC%93%B0%EB%A9%B4%EC%84%9C-Hooriza%EB%8B%98%EC%9D%98-Codehilight-%EC%82%AC%EC%9A%A9</link>
			<description>&lt;p&gt;&amp;nbsp;&amp;nbsp;안녕하세요 오늘은 수업이 끝난 후 간단한 삽질을 통하여 아주 예전에 해결하지 못했던 부분을 해결하여 이렇게 올려봅니다. 예전에 Xquared라는 Springnote에서 사용하는 편집기가 Textcube에서 사용이 가능하게 된 플러그인이 올라왔다고 얘기를 드린 적이 있었습니다. 그리하여 그 플러그인을 적용을 시켰었는데 기존에 사용하던 Hooriza님의 Codehilight 플러그인이 제대로 적용되지 않고 깨지는 문제점이 있었다고 알려드렸던 적도 있었죠.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;그런데 오늘 수업을 마치고 약간 삽질을 해봤습니다. 글은 몇 개 없는 블로그이지만 그래도 2년 정도 된 블로그다 보니 차근차근 글을 쓸 예정이고 해서 수정을 시도를 했었습니다. 그리고 기존에 시도했었던 소스를 웹상에 백업폴더로 저장을 해놓았기에 이를 참고하여 제대로 적용을 완료시켰습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Hooriza 님의 Codehilight 플러그인의 호출점 수정&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;먼저 Hooriza님의 플러그인에서 Editor에 Html코드를 삽입하는 호출점을 수정하여야 합니다.&lt;/p&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;ch_main.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;success : function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; var code = &quot;&lt;span class=&quot;sc2&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;br&lt;/span&gt;&lt;/a&gt; /&lt;span class=&quot;kw2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&quot; + html + &quot;&lt;span class=&quot;sc2&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;br&lt;/span&gt;&lt;/a&gt; /&lt;span class=&quot;kw2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&quot;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; try {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wnd.xed.insertCodeHilightHtml(code);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setTimeout(function() { window.close(); }, 10);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; } catch(e) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(&quot;객체를 삽입하는 도중에 에러가 발생하였습니다&quot;);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(code + &quot;, &quot; + e.description + &quot;, &quot; + e.source);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;}&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;LINE-HEIGHT: 16px&quot; class=&quot;Apple-style-span&quot;&gt;&amp;nbsp;&amp;nbsp;위 코드에서 wnd.xed.insertCodeHilightHtml 이라는 부분이 수정된 부분입니다. 기존의 코드는 이와 같이 되어 있지 않고, Editor.InsertObject인가 그런 것으로 적혀져 있었죠. 그러다보니 없는 메소드를 호출하게 되고 try~catch구문에 걸려 에러메시지만 표시되는데 이와 같이 수정할 경우 뒤에서 만들어줄 insertCodeHilightHtml 함수를 호출하게 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;XQuared - Editor의 개체삽입함수 수정&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;원래 XQuared에서 제공하는 Editor.js 파일의 에디터는 insertTemplate 이라는 함수를 제공합니다. 그런데 실제로 이 것을 사용하면 이상한 에러가 뜨면서 제대로 실행이 되지 않는 것을 알 수 있는데요. 그리하여 예전에 수정했었던 소스에서는 아래의 함수를 수동으로 추가를 시켜 주었습니다.&lt;/p&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;Editor.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Inserts HTML template&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @TODO: Add selenium test&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param {String} html Template string. It should have single root element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns {Element} inserted element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;insertTemplate: function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return this.rdom.insertHtml(this._processTemplate(html));&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;},&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Inserts HTML&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @TODO: Add selenium test&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param {String} html Template string. It should have single root element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns {Element} inserted element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;insertCodeHilightHtml: function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return this.rdom.insertCodeHilightHtml(html);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;}&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;위 함수에서 insertCodeHilightHtml함수를 만듬과 동시에 내부의 함수에서 this.rdom.insertCodeHilightHtml이라는 멤버함수를 불러주는 까닭은 실제 내용을 처리하는 함수가 rdom에 존재하기 때문입니다. insertHtml이 기존에 문제가 있었기 때문에 새로 인터페이스를 만든 것이죠.&lt;/p&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;rdom/base.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Inserts given html into current caret position&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param {String} html HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns {Node} Inserted node. It could be different with given node.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;insertHtml: function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return this.insertNode(this.createElementFromHtml(html));&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;},&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Inserts given html into current caret position&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param {String} html HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns {Node} Inserted node. It could be different with given node.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;insertCodeHilightHtml: function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return this.insertNode(this.createCodeHilightHtml(html));&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;}&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;rdom/base.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Creates element from HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param {String} html HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns {Element} Created element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;createElementFromHtml: function(html) {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; var node = this.createElement(&quot;div&quot;);&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; node.innerHTML = html;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; if(node.childNodes.length &lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span class=&quot;st0&quot;&gt;&quot;Illegal HTML fragment&quot;&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return this.getFirstChild&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;node&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Creates element from HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @param &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;String&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt; html HTML string&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* @returns &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;Element&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt; Created element&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;createCodeHilightHtml: function&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;html&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; var node = this.createElement&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;div&quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; node.innerHTML = html;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; return node;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;두 번째 블럭에서 CodeHilightHtml을 수정함과 밑의 체크 구문을 제거한 것으로 createCodeHilightHtml함수를 만들었습니다. 이렇게 하면 제대로 JavaScript 함수 단에서의 호출문제는 제거가된 것인데요. 이렇게 하여 Textcube 에서 Hooriza 님 플러그인을 사용하게 된다면 FIELDSET, LEGEND가 제거되어 글을 작성 후 제대로 표시되지 않는 문제점이 존재합니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;Whitelist에 Html태그 추가&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;Javascript함수를 하나씩 디버깅하여 추적을 해본 결과 해결방법을 찾게 되었습니다. 위 까지는 예전에 진행했었던 단계였던지라 이 번에 적을 것이 점심시간 후 시도했던 방법이라고 보시면 됩니다. 여기서는 xquared.js 파일을 열어서 해당 부분을 찾아봅시다.&lt;/p&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;xqurared.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;/**&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;* Pre-defined whitelist&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp;*/&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;xq.predefinedWhitelist = {&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이 부분을 찾으셨으면 아래로 내린 뒤, 아래 코드와 같이 해당 tag를 추가하면 됩니다.&lt;/p&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;xqurared.js&lt;/span&gt; &lt;span style=&quot;COLOR: #0a0a0a&quot; class=&quot;g_lang&quot;&gt;(Language : html4strict)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;.&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&#039;var&#039;:&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;xq.commonAttrs.concat(),&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&#039;fieldset&#039;:&amp;nbsp; &amp;nbsp; &amp;nbsp; xq.commonAttrs.concat(),&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&#039;legend&#039;:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xq.commonAttrs.concat()&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;};&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;이렇게 추가하신 뒤, 사용하시면 짜잔 제대로 표시가 됩니다. 물론 var는 기존에 존재하던 것이라 fieldset, legend 부분만 추가하시면 되구요^^. 지금 남기는 이 글 또한 문제를 해결한 Editor로 글을 남기는 것이라 감회가 남다르네요.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming Tip</category>
			<category>codehilight</category>
			<category>hooriza</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/122</guid>
			<comments>http://www.filewiki.net/tc/entry/Textcube-%EC%97%90%EC%84%9C-XQuared-%EC%97%90%EB%94%94%ED%84%B0%EB%A5%BC-%EC%93%B0%EB%A9%B4%EC%84%9C-Hooriza%EB%8B%98%EC%9D%98-Codehilight-%EC%82%AC%EC%9A%A9#entry122comment</comments>
			<pubDate>Wed, 17 Mar 2010 14:54:09 +0900</pubDate>
		</item>
		<item>
			<title>Dovelet - (1)</title>
			<link>http://www.filewiki.net/tc/entry/Dovelet-1</link>
			<description>&lt;p&gt;&amp;nbsp; 알고리즘 테스트 사이트 인 Dovelet.com 입니다.&lt;br /&gt;문제가 엄청 쉬운 것도 있고 어려운 것도 있는 듯 해 보이는데요.. 어제 2시간 정도 오늘 한 5시간 정도 투자하여 쉬운 쪽의 문제를 많이 풀어보았습니다. 대략 70여 문제를 풀었는데.. 이제는 조금 지치네요.. 나중에 차근차근 진행을 해봐야 겠습니다.&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;수영장 가는 날&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;달의 날수(switch 예제)&lt;br /&gt;별 출력&lt;br /&gt;순차 출력&lt;br /&gt;구구단&lt;br /&gt;7 개 합&lt;br /&gt;끼리끼리 합&lt;br /&gt;홀 수&lt;br /&gt;순차 합&lt;br /&gt;팩토리얼 구하기&lt;br /&gt;순차 합II&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;3*n+1&lt;br /&gt;완전 수&lt;br /&gt;학 점&lt;br /&gt;완전수,부족수,과잉수&lt;br /&gt;총합,최대,최소&lt;br /&gt;최대공약수,최소공배수&lt;br /&gt;소수(prime number)&lt;br /&gt;서로 소&lt;br /&gt;중간 수&lt;br /&gt;speed limit&lt;br /&gt;세자리수 곱셈&lt;br /&gt;수 추측하기&lt;br /&gt;number steps&lt;br /&gt;두 수의 연결&lt;br /&gt;직각 삼각형 (별)&lt;br /&gt;역 직각 삼각형I (별)&lt;br /&gt;역 직각 삼각형II (별)&lt;br /&gt;E 출력(별)&lt;br /&gt;거울에 비친 E(별)&lt;br /&gt;네모(별)&lt;br /&gt;F 출력(별)&lt;br /&gt;T 출력(별)&lt;br /&gt;H 출력(별)&lt;br /&gt;쾌걸 조로 (별)&lt;br /&gt;삼각형 (별)&lt;br /&gt;다이아몬드 (별)&lt;br /&gt;54321&lt;br /&gt;b54321&lt;br /&gt;주사위 던지기 I&lt;br /&gt;주사위 던지기 II&lt;br /&gt;완전수 출력&lt;br /&gt;&lt;br /&gt;어려운 문제는 푸는데 시간이 조금씩 걸릴 듯 하네요.. 차근차근 계속해서 풀어볼 생각입니다. 다들 한 번 풀어보시길 바랍니다.^^;&lt;br /&gt;&lt;br /&gt;풀어본 문제 중 하나를 적어보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffdaed; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px&quot;&gt;&lt;span style=&quot;WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Gulim; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px&quot; class=&quot;Apple-style-span&quot;&gt;&lt;span style=&quot;FONT-SIZE: 15px&quot; class=&quot;Apple-style-span&quot;&gt;
&lt;div style=&quot;FONT-SIZE: 13pt; FONT-WEIGHT: bolder&quot; class=&quot;pname&quot;&gt;프로그램 명: center1&lt;/div&gt;
&lt;div style=&quot;TEXT-ALIGN: right; FONT-SIZE: 9pt; TEXT-DECORATION: underline&quot; class=&quot;tlimit&quot;&gt;제한시간: 1 초&lt;/div&gt;
&lt;blockquote&gt;1 부터 n-1 까지의 합이 n+1,n+2,... 의 합과 같을 때 n 을 중간수라 한다.&lt;/blockquote&gt;
예를 들어 , 4 는 1+2+3=6 이고 5 부터 차례대로 더해갈 때 5+6=11 이므로 4 는 중간수가 될 수 없다.&lt;p&gt;6 은 1+2+3+4+5=15 이고 7+8=15 이므로 6 은 중간수이다.&lt;/p&gt;
&lt;p&gt;정수 하나를 입력으로 받아 중간수 인지를 판별하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;h4&gt;입력&lt;/h4&gt;
10,000 이하의 자연수가 입력으로 주어진다.&lt;h4&gt;출력&lt;/h4&gt;
중간수이면 O , 아니면 X 를 출력한다.&lt;h4&gt;입출력 예&lt;/h4&gt;
&lt;pre style=&quot;FONT-SIZE: 10pt&quot; class=&quot;io&quot;&gt;입력

6

출력

O

입력

10

출력

X&lt;/pre&gt;
&lt;h4&gt;보충 설명&lt;/h4&gt;
35 는 중간수
&lt;ul style=&quot;LINE-HEIGHT: 1.3&quot;&gt;&lt;li&gt;1 + 2 + ... + 34 = 595&lt;/li&gt;
&lt;li&gt;36 + 37 + ... + 49 = 595&lt;/li&gt;
&lt;/ul&gt;&lt;/span&gt;&lt;/span&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Algorithm</category>
			<category>algorithm</category>
			<category>dovelet</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/121</guid>
			<comments>http://www.filewiki.net/tc/entry/Dovelet-1#entry121comment</comments>
			<pubDate>Sat, 13 Mar 2010 00:42:05 +0900</pubDate>
		</item>
		<item>
			<title>Script Interpreter - boost::spirit</title>
			<link>http://www.filewiki.net/tc/entry/Script-Interpreter-boostspirit</link>
			<description>&lt;p&gt;&amp;nbsp; 이번에는 boost에 존재하는 spirit을 사용하여 간단한 스크립트 언어의 Interpreter를 만들어보게 되었습니다. 예전에 IPangYa 를 비롯하여 PangCal 프로그램을 만들 때 잠시 사용하였던 라이브러리를 다시 사용하게 되었는데요, 예전엔 문법적인 체크만 했었는데 이번엔 그래도 파서라는 이름에 맞게 인터프리터를 만들어보게 되었네요.&lt;/p&gt;
&lt;div&gt;&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;
&lt;div style=&quot;padding:10px; background-color:#C9EDFF&quot;&gt;&lt;p class=&quot;MsoNormal&quot;&gt;문법&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;명령문&lt;span&gt;&amp;nbsp;-&amp;gt; if&lt;/span&gt;문&lt;span&gt;, while&lt;/span&gt;문&lt;span&gt;, &lt;/span&gt;변수선언문&lt;span&gt;, &lt;/span&gt;변수대입문&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;if&lt;/span&gt;문&lt;span&gt;&amp;nbsp;-&amp;gt; if(&lt;/span&gt;판별식&lt;span&gt;) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;} else { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;while&lt;/span&gt;문&lt;span&gt;&amp;nbsp;-&amp;gt; while(&lt;/span&gt;판별식&lt;span&gt;) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;판별식&lt;span&gt;&amp;nbsp;-&amp;gt; &lt;/span&gt;수식 비교연산자 수식&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;비교연산자&lt;span&gt;&amp;nbsp;-&amp;gt; == != &amp;lt; &amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;변수선언문&lt;span&gt;&amp;nbsp;-&amp;gt; var &lt;/span&gt;변수이름&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;변수대입문&lt;span&gt;&amp;nbsp;-&amp;gt; set &lt;/span&gt;변수이름&lt;span&gt;&amp;nbsp;= &lt;/span&gt;수식&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;수식&lt;span&gt;&amp;nbsp;= &lt;/span&gt;값&lt;span&gt;&amp;nbsp;+, -, *, / &lt;/span&gt;값&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;값&lt;span&gt;&amp;nbsp;= (&lt;/span&gt;값&lt;span&gt;), &lt;/span&gt;숫자&lt;span&gt;, var:&lt;/span&gt;변수이름&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;예시&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;변수선언&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;ex) var abc&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; abc &lt;/span&gt;변수를 선언&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;변수대입&lt;br /&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;ex) set abc=100&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; abc &lt;/span&gt;변수에&lt;span&gt;&amp;nbsp;100&lt;/span&gt;을 대입&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;if&lt;/span&gt;문&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;ex) if(1==1) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&lt;/span&gt;과&lt;span&gt;&amp;nbsp;1&lt;/span&gt;의 값이 동일할 때 명령문 실행&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; if(var:a==var:b) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;/span&gt;변수&lt;span&gt;a &lt;/span&gt;값과 변수&lt;span&gt;b &lt;/span&gt;값이 동일할 때 명령문 실행&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; if(a==b) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;/span&gt;변수&lt;span&gt;a &lt;/span&gt;값과 변수&lt;span&gt;b &lt;/span&gt;값이 동일할 때 명령문 실행&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; else { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;/span&gt;추가적으로 뒤에 붙을 수 있음&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;while&lt;/span&gt;문&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;ex) while(a&amp;lt;1000) { &lt;/span&gt;명령문&lt;span&gt;&amp;nbsp;}&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;/span&gt;변수&lt;span&gt;a &lt;/span&gt;값이&lt;span&gt;&amp;nbsp;1000&lt;/span&gt;보다 작을 동안 명령문 실행&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 위와 같은 문법을 지원하는 스크립트 언어 입니다. 사실 너무 간단한 스크립트 언어라 어떻게 이름을 지정할 것도 없지만요^^; 사용은 무척 쉽게 되었습니다. 사실 boost::spirit에 존재하는 함수에서 abstract parser tree를 만들어주기 때문에 해당 트리를 기반으로 평가함수를 실행하면 되기 때문이죠^^. 이번에는 C Interpreter를 만들어보려고 하고 있습니다. C++ 은 template가 있어서 그 부분은 불가능 할 것 같고 차라리 C 를 만들어보기로 했습니다. 이 부분은 완성이 천천히 진행이 될 것 같군요. 아래는 제가 만들었던 스크립트 언어의 룰입니다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Identifier = token_node_d[(alpha_p &amp;gt;&amp;gt; *alnum_p)];&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Message = &#039;&quot;&#039; &amp;gt;&amp;gt; token_node_d[*(anychar_p - &#039;&quot;&#039;)] &amp;gt;&amp;gt; &#039;&quot;&#039;;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Program = *Expression;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Expression = discard_node_d[space_p] | IfExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| WhileExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| VarExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| CallExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| NumericExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| AssignExpression;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;AssignExpression = str_p(&quot;set&quot;)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; token_node_d[+space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; LValue&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;=&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; RValue;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;RValue = NumericExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| Message&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| Identifier;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;LValue = Identifier;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;ComparisonOperator = str_p(&quot;==&quot;) | str_p(&quot;!=&quot;) | str_p(&quot;&amp;lt;&quot;) | str_p(&quot;&amp;gt;&quot;);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;BooleanExpression = (RValue&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; ComparisonOperator&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; RValue);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;IfExpression = str_p(&quot;if&quot;)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;(&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; BooleanExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;)&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;{&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Program&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;}&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; !( discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &quot;else&quot;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;{&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Program&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;}&#039;);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;WhileExpression = str_p(&quot;while&quot;)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;(&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; BooleanExpression&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;)&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;{&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Program&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;}&#039;;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;VarExpression = str_p(&quot;var&quot;)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; token_node_d[+space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Identifier&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; *( discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[ch_p(&#039;,&#039;)]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Identifier);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;CallExpression = str_p(&quot;call&quot;)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; token_node_d[+space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; Identifier&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;(&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; !Arguments&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; &#039;)&#039;;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Arguments = RValue&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; *( discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[ch_p(&#039;,&#039;)]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; discard_node_d[*space_p]&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; RValue);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;CallVal = str_p(&quot;var:&quot;) &amp;gt;&amp;gt; Identifier;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;NumericExpression = Term&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; *( &amp;nbsp; (ch_p(&#039;+&#039;) &amp;gt;&amp;gt; Term)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| &amp;nbsp; (&#039;-&#039; &amp;gt;&amp;gt; Term)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Term = Factor&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;&amp;gt;&amp;gt; *( &amp;nbsp; (&#039;*&#039; &amp;gt;&amp;gt; Factor)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| &amp;nbsp; (&#039;/&#039; &amp;gt;&amp;gt; Factor)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;);&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;Factor = &amp;nbsp; int_p&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;CallVal&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| &amp;nbsp; &#039;(&#039; &amp;gt;&amp;gt; NumericExpression &amp;gt;&amp;gt; &#039;)&#039;&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| &amp;nbsp; (&#039;-&#039; &amp;gt;&amp;gt; Factor)&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#FFDAED&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;&lt;/span&gt;| &amp;nbsp; (&#039;+&#039; &amp;gt;&amp;gt; Factor);&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;위와 같은 룰로 구성이 되어있습니다. &amp;nbsp;앞으로 C Interpreter를 구성하게 된다면 여러모로 여기저기 붙여서 써먹을 일이 많을 듯합니다^^. 아마 제가 제작하는 OS에도 사용이 가능하게 될지도 모르겠네요^^; 가능했으면 좋겠는데.. 그럼 직접 적은 글은 별로 없는 영양가 없는 포스팅을 줄이도록 하겠습니다. 다음에 뵙겠습니다.&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>Interpreter</category>
			<category>인터프리터</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/120</guid>
			<comments>http://www.filewiki.net/tc/entry/Script-Interpreter-boostspirit#entry120comment</comments>
			<pubDate>Tue, 09 Mar 2010 02:57:29 +0900</pubDate>
		</item>
		<item>
			<title>VirtualHttpServer - 가상URL 처리 서버</title>
			<link>http://www.filewiki.net/tc/entry/VirtualHttpServer-%EA%B0%80%EC%83%81URL-%EC%B2%98%EB%A6%AC-%EC%84%9C%EB%B2%84</link>
			<description>&lt;p&gt;&amp;nbsp; 요사이 또 한 동안 포스팅을 하지 못했던 것이 있군요. 최근 삼성소프트웨어멤버십이라는 곳에 지원을 하게 되어 그 곳에서 열심히 살다보니 포스팅이 조금 늦었습니다. 사실 이전에 올리던 OS 쪽 부분에서는 조금 많은 변화가 있었습니다.&lt;/p&gt;
&lt;div&gt;&amp;nbsp; 실제 Buddyblock 을 통한 메모리 할당 부분쪽이 수정되어 정상적인 동작을 하고 있고, 이로 인해 스케쥴러를 만들 기반은 된 상태구요. 시간이 나게 되면 틈틈이 작업을 할 생각입니다. 현재는 다른 작업 때문에 OS를 통 건드리지 못하고 있네요^^;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 최근 하고 있는 일은 가상의 Http 서버를 만드는 일 입니다. 단순히 이 문장으로는 아마 파악하시기가 힘드실 것 같은데요. 공유기를 한 번 보시면 쉽게 판단이 되실듯 합니다. 공유기의 주소가 대충 몇 가지 있지만 제가 사용하는 공유기의 경우를 예를 들어서 http://192.168.0.1 로 접속을 하면 보통 인증창이 뜨게 되고 HTTP 파일로 공유기의 설정을 서로 바꿀 수 있습니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 공유기 쪽에서 클라이언트로부터 전송받은 HTTP 페이지 데이터를 기반으로 공유기의 설정을 계속하여 바꾸게 되는 것인데요. 일반적인 IIS 같은 웹서버를 비롯하여 파일 전송을 주로 하는 역할과는 많이 다르다고 보시면 됩니다. 현재 많이 쓰이는 프로그램 들 중에서 하나를 비교하라고 한다면 BerrysWebShare 프로그램과 가장 비슷할 것 같군요.&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 원리는 대충 아래와 같습니다. 어차피 HTTP 프로토콜이라는 것이 TCP 위에서 아스키로 이루어지는 통신의 규약이다보니 HTTP 프로토콜을 서로 전송하고 처리할 수 만 있다면 훌륭한 통신매개체로 사용할 수 도 있습니다. 더욱이 HTTP 라는 것이 범용적으로 사용하는 프로토콜이다 보니 요새 열풍이 불고 있는 스마트폰이나 PSP, PMP등으로도 웹브라우져만 있다면 접근이 가능하게 되어 있는 점이 무척 좋습니다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;div style=&quot;padding:10px; background-color:#E4E4E4&quot;&gt;&lt;div style=&quot;padding:10px; background-color:#E4E4E4&quot;&gt;POST /aa.html HTTP/1.1&lt;br /&gt;Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg&lt;br /&gt;Referer: http://127.0.0.1/&lt;br /&gt;Accept-Language: ko-KR&lt;br /&gt;User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET &lt;br /&gt;Content-Type: application/x-www-form-urlencoded&lt;br /&gt;Accept-Encoding: gzip, deflate&lt;br /&gt;Host: 127.0.0.1&lt;br /&gt;Content-Length: 40&lt;br /&gt;Connection: Keep-Alive&lt;br /&gt;Cache-Control: no-cache&lt;/div&gt;
&lt;div style=&quot;padding:10px; background-color:#E4E4E4&quot;&gt;q=abcdefg&amp;amp;btnG=%C4%F5%B8%AE+%C0%FC%BC%DB&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp; 위 사각형 상자 안에 있는 내용이 어떠한 내용을 요청 받음과 동시에 데이터를 전송하는 형태의 한 부분 입니다. POST 형태로 데이터가 전송되는 부분이 맨 아래에 보입니다. 이러한 데이터를 가지고서 여러가지 가공을 한다면 HTTP 서버에서 즉각적인 처리가 가능하게 됩니다. 좀 재미있는 응용이라고 생각할 수도 있는 부분이라 사실 구현하면서도 정말 재미있었습니다.&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 하지만 만들어야 하는 기능이 이 것을 제외하고도 스크립트 언어 쪽 기능도 있다보니 이 부분 또한 처리를 해야 하여 더욱 바쁩니다^^. 그럼 이만 글을 줄이도록 하겠습니다.&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>HTTP</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/119</guid>
			<comments>http://www.filewiki.net/tc/entry/VirtualHttpServer-%EA%B0%80%EC%83%81URL-%EC%B2%98%EB%A6%AC-%EC%84%9C%EB%B2%84#entry119comment</comments>
			<pubDate>Mon, 22 Feb 2010 01:19:43 +0900</pubDate>
		</item>
		<item>
			<title>음.. 여러가지 일이 있지만..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EC%9D%BC%EC%9D%B4-%EC%9E%88%EC%A7%80%EB%A7%8C</link>
			<description>&lt;p&gt;&amp;nbsp; OS를 만들면서 아직 메모리 관리도 안되고, 스케쥴러도 되지 않는 OS라고 부르기엔 참 민망한 OS이지만 현재 개발은 계속되고 있는 중입니다. 저번주 토욜날 할머니께서 돌아가시는 바람에 부랴부랴 내려가서 3일장을 치르고 오느라 기능을 많이 추가하지는 못했군요. 그 전에도 면접에 대한 준비도 하고 실제 면접도 치르느라 시간이 훌쩍 지나갔습니다^^.&lt;/p&gt;
&lt;div&gt;&lt;div&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/4293825732&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4069/4293825732_4cb45cff47.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp; 예전에 올라왔던 스캔코드를 찍었던 스샷과는 다르게 키보드 처리도 어느정도 된 상태의 스크린샷입니다. 모처에 면접을 볼때는 help, mem, size의 단 3개의 명령어만 존재했는데, 현재 메모리관리자를 넣어보려고 하니 제가 생각한 구조에서는 미리 MP Configuration Table을 어느정도 분석하여 코어 개수에 대한 정보가 필요하더군요. 그래서 Process Control Block 도 지정하고 Bootstrap Core 인덱스도 구하고 하는 등의 작업을 추가 했습니다. 대충 생각한 메모리관리자의 구조가 아래와 같습니다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;1. 프로세스 마다 MemoryAllocator 가 존재한다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;2. MemoryAllocator는 BuddyBlock Algorithm으로 할당요청을 처리한다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;3. 프로세스에서 메모리 할당 요청이 들어오면 MemoryAllocator에서 남아있는 여유분의 블럭이 있는지 조사하고 서비스가능한 블럭이 있을경우 BuddyBlock 작업을 수행하여 할당을 한다. 만약 블럭이 없을 경우 PageAllocator에 페이지 할당을 요청한다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;4. PageAllocator에서는 각 Page에 대해서 소유 프로세스를 관리하며, 각각의 페이지 사이즈를 관리한다. 페이지의 할당 요청이 들어왔을 때, 서비스 가능한 페이지가 있다면 해당 페이지를 할당해주고, 아닐 경우 NULL을 리턴한다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;5. 페이지가 할당 요청이 되었을 때에는 MemoryAllocator에 요청된 공간만큼 할당을 시켜준 다음 남은 블럭은 MemoryAllocator에서 자체적으로 다시 관리한다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; background-color: rgb(255, 218, 237); &quot;&gt;6. 해제의 경우 MemoryAllocator에서 남은 블록을 해제 하며 Merging을 수행하여 해당 블럭이 PageAllocator에서 할당하는 기본 페이지 사이즈가 되면 해당 PageAllocator에 페이지 소유를 이양하고 빈 페이지로 설정한다.&lt;/div&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 아직 다른 OS에서의 메모리 관리를 자세하게 살펴보지를 않은 상태라 나름대로 고민을 하여 구성을 해보았는데 스스로는 꽤나 괜찮다고 생각을 하지만 알고보면 평범할것 같기도 하여 열심히 구현만 하고 있습니다. 이제 메모리 관리자가 제대로 구현되고 나면 실제로 이제 구현되어야할 스케쥴러를 구현하여 멀티태스킹이 들어가게 되고 이 부분이 되고 나면 그래도 그럭저럭 OS라고 부를 수 있지 않을까 하는 생각이 조금씩 드네요^^;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 다음에도 더 발전된 포스팅 거리를 들고 찾아뵙도록 하겠습니다. 다른 일이 생기지 말아야 빨리 작업이 될텐데 말이죠^^;&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>OS Develop</category>
			<category>64bit</category>
			<category>OS</category>
			<category>PlugInOS</category>
			<category>X64</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/118</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EC%9D%BC%EC%9D%B4-%EC%9E%88%EC%A7%80%EB%A7%8C#entry118comment</comments>
			<pubDate>Fri, 22 Jan 2010 05:03:03 +0900</pubDate>
		</item>
		<item>
			<title>어후.. 드디어 인터럽트 활성화가 되었군요..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%96%B4%ED%9B%84-%EB%93%9C%EB%94%94%EC%96%B4-%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8-%ED%99%9C%EC%84%B1%ED%99%94%EA%B0%80-%EB%90%98%EC%97%88%EA%B5%B0%EC%9A%94</link>
			<description>&lt;p&gt;&amp;nbsp; 마지막 C++ 커널 진입 글을 올리고 난뒤 많은 시간이 흐른것 같습니다. 엄청 -ㅅ- 도중에 해결할 수 없는 삽질이 계속되어 한 동안 지지부진 하고 있었는데요.. 결과는 오늘 해결을 봤습니다. 결과물은 아래와 같이 Keyboard Interrupt 처리가 되는 화면입니다.(하지만 제대로된 키 입력은 아직 처리를 못했다는게.. 가장 큰 문제라면 문제일까요?)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/4219754668&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2529/4219754668_91fabcef82.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 위 화면에서 볼 수 있다 시피 깨진 문자가 입력이 되긴 합니다. Scan Code 를 곧바로 출력하게 하였더니 이런 현상이 발생하네요^^; 곧 piKeyboard 클래스를 제작하여 제대로 된 입력을 처리하려고 합니다. ㅎㅎ 그래도 예전에 진입만 되었던 화면이랑 많이 달라진 듯 하죠? 대충 그 동안 추가된 기능이 아래와 같습니다.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;1. Memory Size Detection&lt;br /&gt;&lt;/span&gt;&amp;nbsp; - Page Map Level 4 Table등의 메모리 테이블을 구성하여 제대로 메모리 접근이&lt;br /&gt;되는지 검사하여 사이즈를 측정을 하게 하였고&lt;br /&gt;&lt;br /&gt;2. Global Descriptor Table&lt;br /&gt;&amp;nbsp;- KernelLoader 에서 임시로 롱모드 진입을 위한 GDT 데이터를 1MB 영역에 존재하는 커널에서 다시 재구성하여 로딩을 합니다.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;3. Task State Segment&lt;br /&gt;&lt;/span&gt;&amp;nbsp;- Task Segment 를 구성했구요. 이를 위해서. 뒤에 적을 하나의 구현이 필요했습니다.&lt;br /&gt;&lt;br /&gt;4. Interrupt Descriptor Table&lt;br /&gt;&amp;nbsp;- CPU에 대한 Interrupt 를 처리하기 위한 IDT를 커널영역에서 구성하였습니다. 물론 Master PIC, Slave PIC 또한 IRQ를 리맵핑하여 처리할 수 있도록 하였습니다.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;6. new operator 제공&lt;br /&gt;&lt;/span&gt;&amp;nbsp;- 아주 단순한 new 이긴 합니다만, 현재 커널 상에서 커널을 실제 운용하기 위하여 사용되는 Memory Allocation Alogorithm을 사용한 것이 아닌 문법상으로 new 를 지원합니다. 이 부분이 되어야 x64 Task State Segment 에서 사용할 스택공간을 손쉽게 마련할 수 있겠더라구요^^.&lt;br /&gt;&lt;br /&gt;7.&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;Global / Static Class의 Constructor, Destructor 호출&lt;br /&gt;&lt;/span&gt;&amp;nbsp;- 기존엔 Pointer 를 Global 하게 관리하고 Stack 에 커널 오브젝트를 생성한 후, 사용을 하였는데 그 부분을 LD 와&amp;nbsp;extern &quot;C&quot; 를 이용하여 서로 연결 Constructor, Destructor를 KernelMain 진입 전후에 호출이 되도록 하였습니다. 이 덕분에 커널영역에 데이터가 존재하게 되었구요&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 뭐 별 기능이 없는 것 같기는 합니다만. 소스 측면에서는 엄청난 변화가 있었습니다. ㅜㅜ Descriptor Table 들을 어떻게 구성할까 구성할까 하다가 Class 와 Inheritance, Union 을 사용하여 데이터에 대하여 공통적으로 접근하기 쉽도록 일단은 구성을 했었고, 최대한 namespace 를 사용하여 소스코드량은 많아질지라도 구분을 하도록 했고, Get, Set 을 통하여 OOP를 그래도 지켜보려고 했습니다. 그래도 RTTI가 안되다보니 Inheritance의 Virtual Function 같은건 사용할 수도 없습니다. 뭐.. Virtual Function 을 사용하려고 해도 Function Table 로 인하여 Class의 크기가 커지는 문제점이 있어서 손쉽게 할 수 있는 것만도 아니지만요^^;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 지금도 열나게 코딩중이긴 하지만 언제까지 달릴 수 있을지 잘 모르겠습니다^^. 그럼 다음에는 더 좋은 결과물을 들고 포스팅을 해보도록 하겠습니다.&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>OS Develop</category>
			<category>OS</category>
			<category>OS개발</category>
			<category>PlugInOS</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/117</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%96%B4%ED%9B%84-%EB%93%9C%EB%94%94%EC%96%B4-%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8-%ED%99%9C%EC%84%B1%ED%99%94%EA%B0%80-%EB%90%98%EC%97%88%EA%B5%B0%EC%9A%94#entry117comment</comments>
			<pubDate>Mon, 28 Dec 2009 04:09:03 +0900</pubDate>
		</item>
		<item>
			<title>Kernel Image에 어이없는 삽질을...</title>
			<link>http://www.filewiki.net/tc/entry/Kernel-Image%EC%97%90-%EC%96%B4%EC%9D%B4%EC%97%86%EB%8A%94-%EC%82%BD%EC%A7%88%EC%9D%84</link>
			<description>&lt;p&gt;&amp;nbsp; 일단 제가 작업하고 있는 환경은 Ubuntu 9.10 x64 입니다. 사실 Kubuntu를 개인적으로 더 좋아하긴 하지만 사정상 사용할 수 밖에 없었습니다. 그래서 좀 덜 익숙한 환경에서 삽질을 하고 있었답니다. 무참히 컴파일과 코딩, 에뮬레이션을 번갈아가며 말이죠..&lt;/p&gt;
&lt;div&gt;&amp;nbsp; 이 OS개발이라는 작업이 제가 보기에도 모 횽님께서 하셨던 말씀인 &quot;무한삽질&quot;이라는 단어보다 더 잘표현할 단어는 없는 듯 보입니다. 그래서 오늘도 여러건 해먹었구요. 아우 그냥 Vmware가 픽픽 죽어나자빠지는데 어떻게 표현할 길이 없더군요. 이건 어디서 왜 죽는지도 모르는 상황이라. 그냥 답답하게 이러니 저러니 테스트하면서 개발하고 있었습니다.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;KernelTest&lt;/span&gt; &lt;span style=&quot;COLOR: #aaa&quot; class=&quot;g_lang&quot;&gt;(Language : cpp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; piKernelEntry&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; CpiTextBuffer piTextBuffer;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; piTextBuffer.&lt;span class=&quot;me1&quot;&gt;SetPos&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;79&lt;/span&gt;, &lt;span class=&quot;nu0&quot;&gt;24&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; piTextBuffer.&lt;span class=&quot;me1&quot;&gt;DrawCharacter&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;x&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; piTextBuffer.&lt;span class=&quot;me1&quot;&gt;DrawCharacter&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&#039;x&#039;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; ;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; 위 코드로 Video Buffer에 해당하는 메모리 구역에 문자를 직접 써넣어 주는 상황을 제작했는데, 입력위치가 오른쪽 하단 에 입력하는 것입니다. 그런데 이게 Scroll 기능을 구현하고 테스트를 하는데 마지막 줄이 스크롤 되면 무조건 Vmware 가 이유없이 리붓이 되네요 ㅜㅜ. 그렇게 해서 한 두어시간 삽질을 진행하고 한 줄씩 디버깅을 하는데!! CpiTextBuffer 라는 클래스 내부에서 &#039;x&#039;, &#039;y&#039;, &#039;z&#039; 에 해당하는 문자를 고정된 위치에 한 번씩 뿌리는데 y 라는 얘가 z로 변하는 게 아닙니까? @0@ 그래서.. 이걸 단서로 찾다가 찾다가 보니. 바로 ImageWriter에서 Binary모드로 파일을 오픈한게 아니더라구요 ㅜㅜ 이런.. 제길.. 이라는 말이 절로 나오더군요.&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 사실은 맨 처음에 문자를 출력했는데도 불구하고 이상한 문자만 나오길래 이거 Vmware의 -ㅅ- 버그가 아닌가 내심생각을 해서 qemu 를 비롯해서 여러가지 에뮬레이터를 다운받아서 진행을 해봤고, Hex Editor 를 통한 직접적인 Kernel Image Writing을 하다보니 문제가 없었습니다. 그래서 설마 하고 Hex Editor 를 통해서 Vmware 데이터에도 써주니 제대로 동작을 하는!! @0@.. 결국 문제는 편의를 위해서 만들었던 OS Image Writer였습니다.ㅜㅜ 그래도 해결이 되어서 다행이네요.&lt;br /&gt;&amp;nbsp; 현재 보이는 CpiTextBuffer 라는 클래스는 TextMode VideoBuffer를 제어하기 위해서 대충 구현이 된 클래스입니다. 대략적으로 기능은 아래와 같은 함수들로 구성이 되어있네요.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;div style=&quot;PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffdaed; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px&quot;&gt;void Clear();&lt;br /&gt;&amp;nbsp;void Clear(unsigned char Clr);&lt;br /&gt;&amp;nbsp;void Scroll();&lt;br /&gt;&amp;nbsp;void Scroll(short Pos);&lt;/div&gt;
&lt;div style=&quot;PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffdaed; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px&quot;&gt;&amp;nbsp;void SetPos(short X, short Y);&lt;br /&gt;&amp;nbsp;void GetPos(short &amp;amp;X, short &amp;amp;Y);&lt;br /&gt;&amp;nbsp;void SetPosX(short X);&lt;br /&gt;&amp;nbsp;void SetPosY(short Y);&lt;br /&gt;&amp;nbsp;short GetPosX();&lt;br /&gt;&amp;nbsp;short GetPosY();&lt;br /&gt;&amp;nbsp;unsigned char GetColor();&lt;br /&gt;&amp;nbsp;void SetColor(unsigned char Clr);&lt;br /&gt;&amp;nbsp;unsigned char GetColor(short X, short Y);&lt;br /&gt;&amp;nbsp;void SetColor(short X, short Y, unsigned char Clr);&lt;/div&gt;
&lt;div style=&quot;PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffdaed; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px&quot;&gt;&amp;nbsp;void DrawCharacter(char szChar);&lt;br /&gt;&amp;nbsp;void DrawCharacter(char szChar, unsigned char Clr);&lt;br /&gt;&amp;nbsp;void DrawText(const char *szText);&lt;br /&gt;&amp;nbsp;void DrawText(const char *szText, unsigned char Clr);&lt;/div&gt;
&lt;div style=&quot;PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffdaed; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 10px&quot;&gt;&amp;nbsp;void SetDefaultColor(unsigned char Clr);&lt;br /&gt;&amp;nbsp;unsigned char GetDefaultColor();&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; 적당할런지 모르겠습니다. 그래도 기능 구현하고 버그 찾느라 시간이 오만상 빠르게 지나가더군요 ㅜㅜ 시간을 엄청 잡아먹습니다. 에구구 ㅜㅜ 아래는 제어된 클래스에서 출력한 글자와 제 작업 환경입니다.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/4189337611&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2485/4189337611_f171906499.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/4189337613&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2648/4189337613_85d575c54d.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 일단 앞으로는 하나를 해도 엄청 주의를 해야 겠습니다. 많이 해본 것은 아니지만 이거는 약간 삐끗하면 이유없이 리부팅이 되고 그래서.. 세심한 주의를 기울여야 하는 것 같네요 ㅜㅜ&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>OS Develop</category>
			<category>Kernel</category>
			<category>OS</category>
			<category>PlugInOS</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/116</guid>
			<comments>http://www.filewiki.net/tc/entry/Kernel-Image%EC%97%90-%EC%96%B4%EC%9D%B4%EC%97%86%EB%8A%94-%EC%82%BD%EC%A7%88%EC%9D%84#entry116comment</comments>
			<pubDate>Wed, 16 Dec 2009 19:48:00 +0900</pubDate>
		</item>
		<item>
			<title>이제 거미줄을 정리할 때가 된 듯 합니다..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9D%B4%EC%A0%9C-%EA%B1%B0%EB%AF%B8%EC%A4%84%EC%9D%84-%EC%A0%95%EB%A6%AC%ED%95%A0-%EB%95%8C%EA%B0%80-%EB%90%9C-%EB%93%AF-%ED%95%A9%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp; 동방환상마작 포스팅 이후로 오랜 시간이 흐른 뒤의 포스팅입니다. 그 동안 병역특례의 기간도 끝을 보게 되었고, 한 달 여 정도 문서와 구글속에서 파묻혀 살았습니다. 사실 게임도 아주 약간 했다는 것을 숨길 수는 없겠습니다. 전체적으로 구상도가 정리되지 않는 문서를 보고 있으려니 아주 막막하더라구요^^. 그리하여 한 달 정도 여러가지 문서를 보고 다른 할 일도 처리하면서 시간을 보냈습니다. 아래의 것이 그 결과물 입니다(?)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/4186426823&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4003/4186426823_ed865131c2.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;piKernel.c&lt;/span&gt; &lt;span style=&quot;COLOR: #aaa&quot; class=&quot;g_lang&quot;&gt;(Language : c)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; piKernelEntry&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;volatile&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *VideoBuffer = &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;0x0000000000b8000;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *VideoBuffer = *VideoBuffer &lt;span class=&quot;nu0&quot;&gt;+1&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 처음에 보이는 깨지는 문자를 C 로 쓴 커널Entry 에서 보이도록 만들었는데 작동합니다. ㅜㅜ 사실 여태까지 한 번도 롱모드 쪽으로는 전환해본적이 없는데 일단은 성공을 했습니다. 그런데 아마.. 이제부터 시작일 것 같군요^^; IDT를 비롯해서 Memory Management 쪽도 만들어야 하고.. 할 일이 많을것 같습니다. 맨 처음에는 BIOS 인터럽트를 이용하여 부트로더에서 커널로더를 올렸고, 커널로더에서는 x64의 롱모드로 진입 후, CHS모드를 이용하여 데이터를 직접 1MB 영역에 올렸습니다. 그런 다음에 바로 점프를 한셈이구요.&lt;br /&gt;&amp;nbsp; rep 를 붙여서 명령어를 돌리는데, 왜 계속 리부팅 되지 되지 하다가.. rcx 가 아니라 ecx 로 데이터를 준 것을 발견하고 삽질 중에 고쳐서 겨우 진입 했습니다. 이게 바로 삽질의 매력(?) 인가요 ㅜㅜ 일단 어쨌든.. 앞으로 할 것이 많이 남은 듯 하군요^^;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>Kernel</category>
			<category>OS</category>
			<category>X64</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/115</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9D%B4%EC%A0%9C-%EA%B1%B0%EB%AF%B8%EC%A4%84%EC%9D%84-%EC%A0%95%EB%A6%AC%ED%95%A0-%EB%95%8C%EA%B0%80-%EB%90%9C-%EB%93%AF-%ED%95%A9%EB%8B%88%EB%8B%A4#entry115comment</comments>
			<pubDate>Tue, 15 Dec 2009 15:52:00 +0900</pubDate>
		</item>
		<item>
			<title>최근의 동향과 동방환상마작 한글화</title>
			<link>http://www.filewiki.net/tc/entry/%EC%B5%9C%EA%B7%BC%EC%9D%98-%EB%8F%99%ED%96%A5%EA%B3%BC-%EB%8F%99%EB%B0%A9%ED%99%98%EC%83%81%EB%A7%88%EC%9E%91-%ED%95%9C%EA%B8%80%ED%99%94</link>
			<description>&lt;p&gt;&amp;nbsp; 요새 통 글을 쓰지 않아 여기저기 거미줄이 쳐져 있습니다. 한 몇 개월 동안 모종의 슬럼프에 빠져있었던 터라 글을 적는 게 쉽지는 않았네요. 그래도 코딩은 손에서 놓지 않고 차근차근 해나가고 있습니다. 뭐 개인적인 프로그램은 잘 작성을 하지는 않았지만 말이죠. 이러나 저러나 최긴 개인적인 프로그래밍을 할 일이 생겼었는데요. 그 것은 바로 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;동방환상마작&lt;/span&gt;&quot; 입니다.&lt;/p&gt;
&lt;p&gt;현재 애니메이션으로 방송중인 &quot;사키&quot;라는 애니메이션 덕분에 마작이라는 것에 어느 정도 관심을 가지게 되었기 때문인데요. 덕분에 마작 게임 하나를 반쯤 한글화 하게 되었습니다. 아실 분들은 아실 만한 &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;동방프로젝트 2차 인 동방환상마작 &lt;/span&gt;입니다. 작업이 어느 정도 진행이 되었냐구요?? 그 것은 아래의 스크린샷들을 한 번 보시면 됩니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735211&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2583/3841735211_dc6b70395c.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735213&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2505/3841735213_1ecd31238e.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735217&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3251/3841735217_7d701585c7.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735221&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3445/3841735221_e668b5df2a.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735227&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2627/3841735227_50f3f76ae0.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3841735231&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3475/3841735231_6a21b9dc24.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3842528814&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2459/3842528814_65b8130fa8.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;대충 위와 같은 화면까지 작업이 완료되었습니다. 몇몇 카페와 사이트에는 0.5 버전이라는 이상한(?) 제목하에 반쯤 테스트 배포(배포라고 하기엔 그냥 개인 선포 릴리즈)도 하긴 했었습니다. 모토가 어차피 아는 형과 같이 넷플로 마작을 하는 것이기 때문에 완벽한 한글화 까지는 안될 것 같긴 합니다만 조만간 설치파일이 하나 떡 하니 올라와 있을지도 모르는 일입니다(?) 그럼 다음 글을 기대해주시고 저는 오랜 맛의 글을 마치고 이만 물러갑니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>동방환상마작</category>
			<category>한글화</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/114</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%B5%9C%EA%B7%BC%EC%9D%98-%EB%8F%99%ED%96%A5%EA%B3%BC-%EB%8F%99%EB%B0%A9%ED%99%98%EC%83%81%EB%A7%88%EC%9E%91-%ED%95%9C%EA%B8%80%ED%99%94#entry114comment</comments>
			<pubDate>Fri, 21 Aug 2009 19:59:12 +0900</pubDate>
		</item>
		<item>
			<title>Gradient에 대한 정리</title>
			<link>http://www.filewiki.net/tc/entry/Gradient%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%A6%AC</link>
			<description>&lt;p&gt;&amp;nbsp; 일전에 Gradient에 대한 기능을 구현하였는데, 최근 몸 상태도 그렇고 마무리되지 않은 다른 부분도 있어 포스팅을 차일피일 미루어 왔습니다. 일단 간단한 Gradient는 색이 차츰차츰 변해가는 그런 것을 지칭하게 되는 데요. 이 기능에 대해서는 여러가지 방법이 존재할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 먼저 그리는 방법에 대해서 알아보자면 간단하게 하나의 방향을 향해가면서 색이 점점 변하는 경우를 볼 수 있습니다. 다른 경우는 원형의 경우도 존재할 수 있겠고, 하나의 방향을 향해가면서 절반 정도에 이르러 색이 완전히 다 변하였다 다시 복구 되는 경우도 존재할 수 있겠죠.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 가장 간단한 기울기가 없는 방향성 Gradient를 정리하면 다음과 같습니다.( 예로써 Left 방향을 선택해 보죠. )&lt;/p&gt;
&lt;p&gt;&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;Gradient&lt;/span&gt; &lt;span class=&quot;g_lang&quot; style=&quot;COLOR: #aaa&quot;&gt;(Language : cpp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;색상&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; = Red;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;색상&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; = Blue;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;; i &amp;lt; Width; ++i &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; Percent = static_cast&amp;lt;double&amp;gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; / Width;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp;색상Put = RGB&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; 색상&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Red&lt;/span&gt; * &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt; - Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; + 색상&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Red&lt;/span&gt; * Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;,&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 색상&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Green&lt;/span&gt; * &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt; - Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; + 색상&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Green&lt;/span&gt; * Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 색상&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Blue&lt;/span&gt; * &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt; - Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; + 색상&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Blue&lt;/span&gt; * Percent &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; 와 같이 구현할 수 있습니다. 색상Put는 Width 에 해당하는 i 에 대한 출력 값이 되는 셈이죠. 결국 0 ~ Width를 0% ~ 100%에 대한 Blend 비율로써 생각을 하면 됩니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그럼 기울기가 존재하는 경우를 한 번 생각해 봅시다. 속도를 위해서는 4가지의 경우를 먼저 생각을 해봐야 합니다. 어떤 경우냐면 기울기가 - 인지 + 인지에 따라서 2분류가 먼저 나눠지게 되고, 기울기에 대한 값이 0.5 보다 큰지 작은지에 따라서 각각 또 나눠주어야 합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; 왜냐하면 기울기가 한 쪽에 대해서만 처리를 해야 되는 경우를 생각해보면 0.5 이하일때와 0.5 이상일때를 먼저 살펴보도록 하겠습니다. 0.5 이하일때는 선을 하나 그릴 경우 가로로 무척 길게 뻗어나가게 됩니다. Windows GDI 상에서는 화면 좌표의 원점이 좌측 상단이라는 것을 먼저 생각하고 보면,&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3175661472&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3263/3175661472_63bbddf0bf_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3174827319&quot;&gt;&lt;img src=&quot;http://farm2.static.flickr.com/1017/3174827319_464f4e07a8_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 위 두 가지의 경우를 살펴보면 (X, 0)좌표에서 (X + 기울기, 높이)로 선을 긋는게 한 쪽에 비효율적이라는 것을 알 수 있습니다. 밑의 경우는 X 좌표를 증가시켜가면서 선을 그려도 많아봐야 2X 만큼의 선을 그리게 되는 반면 위의 경우는 기울기가 0에 가까워 질수록 거의 무한대로 선을 그려야 하기 때문이죠.&lt;br /&gt;&amp;nbsp; 그리하여 위의 경우는 Y 축의 좌표를 증가시켜가며 선을 그리면 됩니다. (0, Y)좌표에서 (너비, Y + 기울기) 처럼 말이죠. 물론 - 기울기의 경우도 동일하게 처리하면 됩니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그리고 저의 경우 MoveToEx 와 LineTo 를 이용하여 Gradient를 구현하였는데, 실제 이 부분에 대해서 처음 고민을 약간 하였습니다. 혹시나 선을 그리는 DDA 알고리즘이 처리하지 못하는 빈 픽셀이 생기면 어떻게 하지 하고 말이죠. 하지만 이 경우도 사실 고민할 경우는 없습니다.&lt;br /&gt;&amp;nbsp; 처음에 기울기에 대해서 먼저 계산을 하여 높이 또는 너비에 대한 X, Y 축 증가량을 미리 구한 뒤 천편일률적으로 목적지에 + 를 하면 되게 됩니다. 왜냐면 선을 그리는 알고리즘에 있어서 기울기가 완전 동일 하다면 위치가 약간 좌우 혹은 상하로 이동했을 뿐 그리는 순서 또한 동일하기 때문입니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그리고 원형 Gradient의 경우도 존재합니다. 이 경우는 상당히 까다로운 경우라고 할 수 있습니다. 피타고라스의 정리를 사용하여 목적지와 원점의 거리를 계산하여 색상을 Blend하면 되긴 하지만 그 것 보다는 원을 그리는 함수로 원을 그리면 됩니다. 물론 Pen에 대해서는 Width가 2로 지정이 되어야 합니다. 1로 지정이 되었을 경우 빈 공간이 차츰차츰 크기가 작아져가면서 그리는 원에 대해서 빈 공간이 사라지고 Gradient가 작성되기 때문이죠.&lt;br /&gt;&lt;br /&gt;
&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;Radial&lt;/span&gt; &lt;span class=&quot;g_lang&quot; style=&quot;COLOR: #aaa&quot;&gt;(Language : cpp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;int&lt;/span&gt; i = &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;; i &amp;lt; Radius; ++i &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; Percent = static_cast&amp;lt;double&amp;gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;i&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; / Radius;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; Ellipse&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;hDC, i, i, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;*Radius - i, &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;*Radius - i&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; 간단하게 적는다면 위와 같은 코드가 작성될 수 있겠군요^^. 타원에 대해서는 Ellipse 함수가 Rect 크기에 대해서 Drawing 이 가능하므로 연구를 개인적으로 하면 가능할 듯 합니다. 실제 구현은 했지만 올리는 것은 금전적 문제의 여지가 많은 듯 합니다^^.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이 Gradient를 작성하면서 논문을 무척 많이 찾아본것 같습니다. 결국 찾기는 찾았지만 적용은 하지 못하고 그냥 구현하게 되었지만요. 그런 것을 보면서 참 많은 노력이 있었고 그로 인한 속도의 발전이 있지 않았나하는 생각이 많이 들더랍니다. 다른 분야도 마찬가지겠지요. 저도 그런 사람의 하나가 되길 기원하면서 이만 글을 줄이도록 하겠습니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming Tip</category>
			<category>Gradient</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/113</guid>
			<comments>http://www.filewiki.net/tc/entry/Gradient%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A0%95%EB%A6%AC#entry113comment</comments>
			<pubDate>Wed, 07 Jan 2009 10:17:58 +0900</pubDate>
		</item>
		<item>
			<title>Gradient 작성중에 있습니다.</title>
			<link>http://www.filewiki.net/tc/entry/Gradient-%EC%9E%91%EC%84%B1%EC%A4%91%EC%97%90-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp; 이번 달은 왠지 저녁에도 시간이 나지 않아서 제대로 포스팅을 못하고 있군요. 사실 어떤 곳에서 한 가지 일을 받아 하고 있는 중이라 그렇습니다. 일의 내용은 바로 Gradient와 + @를 작성하는 것인데요. Gradient 가 실질적으로 주목표라고 할 수 있습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 자 Gradient란 무엇인가 하면.. 다들 써보셨으리라고 생각하는 포토샵, 그 포토샵에 보시면 색깔이 점점 변해가면서 색이 섞이는 기능을 써보셨을 것이라 생각합니다. 굳이 그 것이 아니더라도 미술시간에 배우는 구체의 광원 표현등을 컴퓨터에서 표현할 때 Gradient 효과라고 지칭하죠.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3117517466&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3154/3117517466_9c68bf8b84_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 위 그림과 같은 그림입니다. 대충 감이 오시죠?? 사실 포토샵에서는 처리가 아주 간단하게 드래그 한 번으로 모든 것이 끝나지만 코드를 통한 프로그램으로는 간단하지가 않습니다. 물론 원리는 무척 쉽지만 속도가 제대로 나도록 하기 위해서 계산을 최적화 해야 되는것이죠^^.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 간단한 1 To 1 Color Gradient 같은 경우도 있고, 1 To Many Color Gradient 같은 경우도 있을텐데, 후자 같은 경우는 색 추출에 계산시간을 더 허비해야 됩니다. 고로 속도의 문제점이 더 중요해 지겠죠. 제가 하고 있는 쪽은 후자 쪽을 진행하고 있고, 일반 진행, 반복진행, 타원(원)형의 Gradient를 제작하기 떄문에 제작이 끝나게 되면 코드 그 자체가 아닌 간략한 방법을 정리해서 포스팅 해보도록 하겠습니다.&lt;br /&gt;
&lt;p style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3116702197&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3261/3116702197_3373d8003c.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;작업이 대 부분 진행된 스크린샷 입니다. 꽤 괜찮나요^^?&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>Gradient</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/112</guid>
			<comments>http://www.filewiki.net/tc/entry/Gradient-%EC%9E%91%EC%84%B1%EC%A4%91%EC%97%90-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4#entry112comment</comments>
			<pubDate>Thu, 18 Dec 2008 12:45:37 +0900</pubDate>
		</item>
		<item>
			<title>게임&amp;인터랙티브 애플리케이션을 위한 수학</title>
			<link>http://www.filewiki.net/tc/entry/%EA%B2%8C%EC%9E%84%EC%9D%B8%ED%84%B0%EB%9E%99%ED%8B%B0%EB%B8%8C-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%88%98%ED%95%99</link>
			<description>&lt;p&gt;&amp;nbsp; 최근 전 IA 문서에 대한 번역을 시작했습니다. 한 일주일간 제대로 진행은 제대로 하지 못했지만 이 번 만큼은 끝까지 해보려고 마음속에 생각을 계속 하고 있습니다. 사실 이러한 결정을 내리게 된 부분은 내실을 다지자라는 것이 많은 부분을 차지했기 때문이라고 말할 수 있습니다.&lt;br /&gt;&amp;nbsp; 제가 5살~6살 때 쯤 COBOL 프로그래머를 하시는 아버지의 영향을 받아 컴퓨터를 접하게 된 후 부터 중학교때까지 관심은 있었으나 게임하느라 바뻤고, 중학교 때 C++ 이야기? 였던가 하는 책을 한 권 외삼촌께 선물을 받았으나 제대로 된 해석도 못하고 있었던 적이 있습니다. 그 때는 생각하면 참 그 땐 지금 하곤 비교할 수 없을 정도로 허접했었지 라는 생각이 저절로 들곤 합니다.&lt;br /&gt;&amp;nbsp; 그 후 고등학교를 진학하면서 컴퓨터 써클을 들게 되고 그 안에서 Macromedia( 현 Adobe 인수 )사의 Flash 와 비슷한 Director 라는 프로그램으로 처음 프로그램 제작의 길에 빠져들게 되었지요. 그 때는 정말 신기했습니다.&amp;nbsp; Flash와 마찬가지로 하나의 버튼, 이미지 개체가 Object 였기 때문에 프레임이 지날때 마다 이동하는 스크립트를 쓰거나 단순한 계산만으로 어느정도 원하는 결과가 나왔기 때문이죠.&lt;br /&gt;&amp;nbsp; 그런데 그 후 대학에 와서 많은 부분이 바뀌었습니다. 컴파일러를 비롯해서 자료구조, 알고리즘 정말 지금 생각하면 유용하다고 밖에 말할 수 없는 그런 지식들을 배웠기 때문이죠. 현재 제 블로그에 올라가 있는 IPangYa( &lt;a href=&quot;/tc/entry/IPangYa-팡야-계산기-라이브러리&quot;&gt;http://www.filewiki.net/tc/entry/IPangYa-팡야-계산기-라이브러리&lt;/a&gt; )와 자동테트리스 같은 부분이 많은 영향을 받은 것입니다.&lt;br /&gt;&amp;nbsp; 그리고 많은 시간이 지나면서 내가 정작 다루고 싶은 언어인 C++언어에 대해서 많은 공부를 하고 고찰을 하면서 언어쪽의 능력은 아직은 스캇 마이어스나 스트로스트럽 같은 흔히 말하는 본좌와는 비교할 수 조차 없지만 원하는 만큼의 코딩은 할 수 있다고 판단이 되었습니다. 그러고보니 내실이라는 것이 당연히 생각이 나더군요. &lt;br /&gt;&amp;nbsp; 코딩이라는 것이 자기가 생각하고 있는 하나의 아이디어를 하나의 언어로 풀어나가는 과정을 어떠한 언어로 풀어나가는 과정이다 보니 언어쪽 능력 보다는 이론 같은 내실이 중요한 것 같았기 때문입니다. 물론 예전에도 계속 느끼고는 있었으나 스스로 천재라고 생각하진 않았기 때문에 두 마리 토끼를 쫓는 그런 행동은 취하지 않았죠. 다만 지향하고는 있었습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그런데 몇일 전 우연히 강컴엘 들어갔는데 눈에 좀 띄는 책이 보이더군요. 이론적인 부분이라고 해야 되나요. 수학에 대해 다룬 책이 었습니다.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3062702854&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3226/3062702854_161b630190.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 게임이라고 붙은 제목이 있어서 3D 쪽과 관련된 부분이 많을거 같긴 한데.. 전 아직 내용에 대해서는 잘 모르겠습니다. 그래도 하나하나 원리를 원하는 부분(?)이라고 해야 되나요 그런 부분이 꽤 많이 들어 있을거라고 생각하기 때문에 아마 곧 지르게 될 것 같군요. 사실 The Art Of Computer Programming 3권도 사고는 싶지만 너무나 어렵다는 말과 비싼 비용에 아직은 좀 망설여 집니다^^.&lt;br /&gt;&amp;nbsp; 나중에 좋은 곳에 들어가게 되면 공짜로 볼 수 있다는 말도 들었던 것도 있구요. 그래서 기대가 되긴 합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; 오랫만에 포스팅 치고는 왠지 책 광고같은 느낌이긴 하지만 계속하여 끊이지 않게 알찬 포스팅 해보도록 하겠습니다. 그럼 즐거운 하루 되세요~&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>수학</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/111</guid>
			<comments>http://www.filewiki.net/tc/entry/%EA%B2%8C%EC%9E%84%EC%9D%B8%ED%84%B0%EB%9E%99%ED%8B%B0%EB%B8%8C-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%84-%EC%9C%84%ED%95%9C-%EC%88%98%ED%95%99#entry111comment</comments>
			<pubDate>Thu, 27 Nov 2008 10:49:51 +0900</pubDate>
		</item>
		<item>
			<title>한게임 자동테트리스 Ver 0.6</title>
			<link>http://www.filewiki.net/tc/entry/%ED%95%9C%EA%B2%8C%EC%9E%84-%EC%9E%90%EB%8F%99%ED%85%8C%ED%8A%B8%EB%A6%AC%EC%8A%A4-Ver-06</link>
			<description>&lt;p&gt;&amp;nbsp; 음 0.2 버젼 때 이후로 다른 것을 간간히 하면서 약간씩 수정을 해봤습니다. 굳이 이 것을 100% 잘돌아가게 하여 승률이 100%에 달하게 만든다는 것에 흥미가 없다보니 정체가 될 수 밖에 없는 군요. 그리하여 0.6 버젼에서 업그레이드는 무기한 연기를 예정해보려 합니다. 사실 스피드 15레벨 까지 도달하는 것을 나름대로 달성했기 때문이랄까요.&lt;/p&gt;
&lt;p&gt;&lt;object id=&quot;V1783943&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;500&quot; align=&quot;middle&quot; height=&quot;423&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;13229&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;11191&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://play.mgoon.com/Video/V1783943/&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://play.mgoon.com/Video/V1783943/&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Opaque&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;LT&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;NoScale&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 위 동영상은 0.6 버젼의 프로그램을 가지고 테스트한 동영상 입니다. 0.2 버젼의 동영상과 비교하면 확실히 엄청난 차이가 있음을 알 수 있습니다. 하지만 거의 95% 정상적으로 작동하는 프로그램인데 동영상을 찍다 보니 한게임 테트리스 프로세스의 처리가 늦어서 인지 키가 몇개 먹는 동영상이 보입니다. 사실 키를 먹는 것은 거의 다 수정을 했거든요^^; 그런데 동영상을 찍을 때만 저렇게 잘못 놓는 다는 것이 꽤 많다는 것은 원인을 그 쪽으로 돌릴 수 밖에 없을 것 같네요. &lt;br /&gt;&lt;object id=&quot;V1770516&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;500&quot; align=&quot;middle&quot; height=&quot;423&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;13229&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;11191&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://play.mgoon.com/Video/V1770516/&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://play.mgoon.com/Video/V1770516/&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Opaque&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;LT&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;NoScale&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 위 0.3 버젼과 비교를 해보시기 바랍니다.^^. 그럼 이 것을 마지막으로 자동테트리스에 대한 포스팅을 할 일은 없을 것 같습니다. 게임 트리적인 부분이 A.I 쪽을 간단하게 구현을 하면 그다지 복잡하지도 않고 대 부분 같기 때문이죠^^. 그럼 다들 즐거운 한게임 테트리스 하시길 바래요^^. 마지막으로 댓글로 공개를 요청하셔도 공개할 일은 없습니다.&lt;br /&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/110</guid>
			<comments>http://www.filewiki.net/tc/entry/%ED%95%9C%EA%B2%8C%EC%9E%84-%EC%9E%90%EB%8F%99%ED%85%8C%ED%8A%B8%EB%A6%AC%EC%8A%A4-Ver-06#entry110comment</comments>
			<pubDate>Sat, 15 Nov 2008 00:41:20 +0900</pubDate>
		</item>
		<item>
			<title>Intel 64 And IA32 Architecture 번역에 도전해보겠습니다.</title>
			<link>http://www.filewiki.net/tc/entry/Intel-64-And-IA32-Architecture-%EB%B2%88%EC%97%AD%EC%97%90-%EB%8F%84%EC%A0%84%ED%95%B4%EB%B3%B4%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp; 예전 2년 전 쯤, 그 때도 OS 제작에 관련하여 문서를 번역하려고 했던적이 있습니다. 그 때는 Intel 문서가 아니라 AMD에서 제공하는 AMD64 문서를 번역하고 있었습니다. 그 때는 Intel이 AMD에서 갑작스럽게 낸 AMD64 아키텍쳐로 인해 엄청난 고생을 하던 때 입니다. 그래서 Intel 보다는 AMD문서가 낫다고 생각을 했었구요. 그런 AMD 문서를 끈덕지게 번역을 했던 것은 아니지만 어느정도 양은 진행했었습니다. 그런데 그 이후 입사를 하게 되고 제대로 시간이 나지 않아 중도포기 했었던 기억이 나네요.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 사실 OS를 만들어보려고 한다면 만들고자 하는 아키텍쳐에 대한 스펙을 정확히 알아야 가능하죠. 그로인해 차츰차츰 도전할 때 마다 언제든 가로막는 것은 IA책을 읽어야 하는 것이었습니다. 아마 다른 분들도 그러한 경험이 있으실 것이라 생각되고, 책을 받아두고는 장식용으로 두고 계신 분들도 꽤 있을 것 같네요. 그렇기에 약간의 오버를 포함하여 지구촌의 나무가 이미 종이로 된 김에 죽은 책이 되지 않게 해보고 싶네요.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이 작업이 끝나면 OS를 제대로 만들어볼 수 있겠죠. 그 때 만들고자 하는 OS가 어떤게 될 지는 모르겠지만 개인적으로 원하던 그런 것이 되리라 생각이 됩니다. 이제 특례를 마치기 까지 시간도 1년 약간 덜 남은 상황에서 한시라도 빨리 아키텍쳐를 파악해야 되는 저이기에 이번에야 말로 제대로 끈기있게 해보려 합니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이렇게 말은 해놓고 중간에 어떻게 될지는 모르겠지만 그래도 정말 미련이 남지 않기 위해선 제대로 달려봐야 겠죠^^. 해보고 싶은 것은 정말 많은데 시간이 많이 부족합니다. 그래도 부족한 시간아래 자신이 원하는 것을 진행해가는 사람이 있기에 저도 열심히 노력을 해봐야 될 것 같네요.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #ffdaed; TEXT-ALIGN: center&quot;&gt;&lt;a href=&quot;/wiki/&quot;&gt;http://www.filewiki.net/wiki/&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 위 링크에서 번역 문서에 대하여 참여를 원하시는 분은 참여 해주시면 됩니다. 여러사람이 모이면 작업시간은 많이 줄어들겠지요^^. 먼저 문서의 결과물은 상업적으로 이용될 것이 아니라는 것을 밝히고 싶네요.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/109</guid>
			<comments>http://www.filewiki.net/tc/entry/Intel-64-And-IA32-Architecture-%EB%B2%88%EC%97%AD%EC%97%90-%EB%8F%84%EC%A0%84%ED%95%B4%EB%B3%B4%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4#entry109comment</comments>
			<pubDate>Fri, 14 Nov 2008 11:57:00 +0900</pubDate>
		</item>
		<item>
			<title>한게임 자동테트리스 Ver 0.2</title>
			<link>http://www.filewiki.net/tc/entry/%ED%95%9C%EA%B2%8C%EC%9E%84-%EC%9E%90%EB%8F%99%ED%85%8C%ED%8A%B8%EB%A6%AC%EC%8A%A4-Ver-02</link>
			<description>&lt;p&gt;&amp;nbsp; 최근 집으로 돌아오는 길마다 무엇을 만들어야 할까? 이렇게 시간을 보내지 말고 무엇이라도 하나 만들어야 할텐데 라는 생각이 머릿속을 지배하더군요. 그런 와중에 저번주 수요일 집으로 돌아와서 한게임 테트리스 소식을 듣고 실행한 순간 갑자기 생각나는게 있었습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그 것은 바로 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;한게임 테트리스 오토&lt;/span&gt;&quot; 였죠. 물론 게임 시장에 있어서 일반적으로 퍼져있는 오토에 대한 인식만을 생각한다면 제작을 고심하여 생각해보아야 했지만, 타 프로그램같이 일반인에 공개를 하지 않고, 개인용 연습목적으로 제작해본다면 어떨까 하는 생각이 들었습니다.&lt;br /&gt;&amp;nbsp; 연습하고싶은 부분은 이미지 처리와 테트리스 AI 부분이었죠. 다른 부분이야 일반적으로 사용되는 C++ 언어를 사용하기 떄문에 별 다른 부분이 없었습니다. 그래서 수요일부터 일요일까지 바짝 달린결과 어느정도 썩 괜찮은 결과물이 나오더군요. 하지만 아직 에러가 많습니다ㅜㅜ&lt;br /&gt;&lt;br /&gt;&lt;object id=&quot;V1768263&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;500&quot; align=&quot;middle&quot; height=&quot;423&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;13229&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;11191&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://play.mgoon.com/Video/V1768263/&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://play.mgoon.com/Video/V1768263/&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Opaque&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;LT&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;NoScale&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;true&quot;&gt;
                 &lt;embed src=&quot;http://play.mgoon.com/Video/V1768263/&quot; width=&quot;500&quot; height=&quot;423&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 결과는 위 동영상과 동일합니다. 썩 그렇게 좋은 AI가 아님에도 불구하고 50여초 동안은 생존하더군요. 그래도 갓 키보드 입력을 받아들였을때인 0.1 버젼에 비하면 엄청 오래 살고 있는거랍니다. 그 때는 한 5초면 죽었으니까요. 동영상을 자세히 보시면 간간히 부분부분 마다 놓지 말아야할 곳을 실수로 컴퓨터가 놓고 있습니다. 아마 이것은 프로그램 내부의 입력키 생성 부분에서의 버그이거나 키보드 입력이 먹어버리는 경우가 아닐까 라고 생각하고 있습니다. Log를 남기면서 확인 중이니 곧 잡히리라 생각합니다.^^.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;object id=&quot;V1770516&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; width=&quot;500&quot; align=&quot;middle&quot; height=&quot;423&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;13229&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;11191&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://play.mgoon.com/Video/V1770516/&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://play.mgoon.com/Video/V1770516/&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Opaque&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;true&quot;&gt;
                 &lt;embed src=&quot;http://play.mgoon.com/Video/V1770516/&quot; width=&quot;500&quot; height=&quot;423&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 약간 개량해보니 더 오래 사는군요^^;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 개인적으로 이 프로그램을 만들면서 비록 한게임 테트리스에 붙어서 동작하는 거라지만 나름대로 테트리스 AI에 대해서 어느정도 공부를 해본것 같네요. 아직 계산하는 요소가 2가지 밖에 되질 않아 8가지 정도 더 추가하면 90% 정도의 AI가 나오지 않을까 기대해봅니다.&lt;br /&gt;&lt;br /&gt;추가로 40줄 빨리 없애기 모드 도전해보니 어느정도 잘 나오는군요;; 저도 깜짝 놀랬습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/3028557321&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3056/3028557321_31e25dc610.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>테트리스</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/108</guid>
			<comments>http://www.filewiki.net/tc/entry/%ED%95%9C%EA%B2%8C%EC%9E%84-%EC%9E%90%EB%8F%99%ED%85%8C%ED%8A%B8%EB%A6%AC%EC%8A%A4-Ver-02#entry108comment</comments>
			<pubDate>Mon, 03 Nov 2008 19:28:38 +0900</pubDate>
		</item>
		<item>
			<title>재귀적 합성이랄지..</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9E%AC%EA%B7%80%EC%A0%81-%ED%95%A9%EC%84%B1%EC%9D%B4%EB%9E%84%EC%A7%80</link>
			<description>&lt;p&gt;&amp;nbsp; 어제 단순히 사놓았던 디자인 패턴에 대한 책을 다시 한 번 읽게 되었습니다. 이름은 &quot;GOF의 디자인 패턴&quot;이구요. 여러번 읽었던 것이 아니라 딱 한 번 그 것도 반쯤 읽다가 덮어둔 책인지라 다른 책들과 같이 제대로 끝장을 보기 위하여 책을 펴들었죠.&lt;br /&gt;&amp;nbsp; 처음에 나오는 부분은 Late 인가 하는 어떤 에디터 편집기 부분이었습니다. 물론 단순히 텍스트만 취급하느냐 하면 그 것도 아니고 이미지, 이미지 와 텍스트의 합성등 흔히 Windows 환경에서 볼 수 있는 Rich EditorBox 와 그나마 비슷하다고 할까요? 문단 형식지정은 물론이고 다양한 기능을 지원하는 에디터를 예로 들어 구현이 아닌 단순한 구현에서 설계의 예시를 간략하게나마 보여주더군요.&lt;br /&gt;&amp;nbsp; 이 부분을 읽다보니 제가 예전에 프로젝트를 하면서 사용했던 방식과 아주 비슷하다는 생각이 들더군요. 완전히 동일한 것인지는 모르겠지만 어차피 디자인 패턴이라는 것이 수정을 적게 하기위한 코딩방법들이 모여 만들어진것이다보니 어느정도 비슷하다는 생각이 들더군요.&lt;br /&gt;&amp;nbsp; 그래서 프로젝트를 하면서 사용했던 방식을 간략하게 구현을 해봤습니다. 내용은 자기가 닫힐 때, 별 어려운 방법을 사용하지 않고 부모같이 지정했던 창을 숨기거나 보여주는 창입니다. 이 것이 어디에 사용되었냐면 버튼을 누르고 검색을 하게 되었을 때 검색을 선택하거나, 다른 부분에서 해당 정보를 선택했을 때 자기는 닫히면서 부모는 보여주고 그런 형태였죠. 문제는 ShowDialog를 쓰려니 최상위 다이얼로그가 아니었기 때문에 에러가 발생했기 때문에 Show로 처리하다 보니 그랬습니다.&lt;br /&gt;&lt;br /&gt;
&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;Form1.cs&lt;/span&gt; &lt;span class=&quot;g_lang&quot; style=&quot;COLOR: #aaa&quot;&gt;(Language : csharp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Collections&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Generic&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;ComponentModel&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Data&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Drawing&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Linq&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Text&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Windows&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Forms&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;namespace&lt;/span&gt; WindowsFormsApplication2&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; partial &lt;span class=&quot;kw4&quot;&gt;class&lt;/span&gt; Form1 : Form&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; Form1&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;void&lt;/span&gt; button1_Click&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;object&lt;/span&gt; sender, EventArgs e&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DlgBase &lt;span class=&quot;kw1&quot;&gt;Base&lt;/span&gt; = &lt;a href=&quot;http://www.google.com/search?q=new+msdn.microsoft.com&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;new&lt;/span&gt;&lt;/a&gt; DlgBase&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;Base&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Show&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; 위와 같이 DlgBase 를 버튼을 클릭했을 때 나타나도록 수정합니다. 단순히 ShowDialog 로 처리하는 것은 바로 그 다음 처리를 할 수도 있기 때문에 그냥 Show로 처리를 해봅니다.&lt;br /&gt;&lt;br /&gt;
&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;DlgBase.cs&lt;/span&gt; &lt;span class=&quot;g_lang&quot; style=&quot;COLOR: #aaa&quot;&gt;(Language : csharp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Collections&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Generic&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;ComponentModel&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Data&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Drawing&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Linq&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Text&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Windows&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Forms&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;namespace&lt;/span&gt; WindowsFormsApplication2&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; partial &lt;span class=&quot;kw4&quot;&gt;class&lt;/span&gt; DlgBase : Form&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;private&lt;/span&gt; DlgBase m_OwnForm = &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; DlgBase OwnForm&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; m_OwnForm;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_OwnForm = value;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; DlgBase&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;void&lt;/span&gt; OnVisibleChanged&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;EventArgs e&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;base&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;OnVisibleChanged&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;e&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;OwnForm != &lt;span class=&quot;kw1&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OwnForm.&lt;span class=&quot;me1&quot;&gt;Visible&lt;/span&gt; = !Visible;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;void&lt;/span&gt; button1_Click&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;object&lt;/span&gt; sender, EventArgs e&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ShowDlg&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;virtual&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;void&lt;/span&gt; ShowDlg&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DlgChild1 Form1 = &lt;a href=&quot;http://www.google.com/search?q=new+msdn.microsoft.com&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;new&lt;/span&gt;&lt;/a&gt; DlgChild1&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form1.&lt;span class=&quot;me1&quot;&gt;OwnForm&lt;/span&gt; = &lt;span class=&quot;kw1&quot;&gt;this&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form1.&lt;span class=&quot;me1&quot;&gt;Show&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; OwnForm 이라는 Property로 부모(?)로 지정할 폼을 설정할 수 있도록 한 다음 DlgBase에 버튼을 하나 배치하여 그 버튼을 클릭하면 ShowDlg라는 함수를 호출하도록 하였습니다. 물론 ShowDlg는 가상함수로 되어있어 서브클래스에서 override 할 수 있죠. 그리고 자기의 Visible이 바뀔 때, OwnForm의 Visible또한 바꾸어 줍니다.&lt;br /&gt;&lt;br /&gt;
&lt;fieldset class=&quot;geshi r2 g_hascaption&quot;&gt;&lt;legend&gt;&lt;span class=&quot;g_caption&quot;&gt;DlgChild1.cs&lt;/span&gt; &lt;span class=&quot;g_lang&quot; style=&quot;COLOR: #aaa&quot;&gt;(Language : csharp)&lt;/span&gt;&lt;/legend&gt;
&lt;ol class=&quot;code&quot;&gt;
&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Collections&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Generic&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;ComponentModel&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Data&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Drawing&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Text&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw5&quot;&gt;System&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Windows&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;Forms&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;namespace&lt;/span&gt; WindowsFormsApplication2&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; partial &lt;span class=&quot;kw4&quot;&gt;class&lt;/span&gt; DlgChild1 : WindowsFormsApplication2.&lt;span class=&quot;me1&quot;&gt;DlgBase&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; DlgChild1&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;kw1&quot;&gt;protected&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;override&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;void&lt;/span&gt; ShowDlg&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.&lt;span class=&quot;me1&quot;&gt;Show&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&quot;마지막&quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;&lt;li class=&quot;li1&quot;&gt;
&lt;div class=&quot;de1&quot;&gt;&lt;/div&gt;
&lt;/li&gt;&lt;/ol&gt;
&lt;/fieldset&gt;&lt;br /&gt;&amp;nbsp; 그런 다음 DlgChild를 ShowDlg override 하여 그냥 단순히 메시지를 뿌리도록 합니다. 계속된 중첩도 가능하나, 버튼을 눌러서 종료된 시점과 자식창이 닫혔을 때, 부모에게 통지하여 모드를 설정할 수 있도록 하여야 2번 이상 들어갔을 때, 제일 첫 번째의 창이 다시 보이지 않기 때문에 단순화 한 이 코드로는 간단하게 간만 보도록 하겠습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이렇게 되면 작동이 어떻게 되느냐 하면 일단 프로그램을 실행 시켰을 때, 창이 하나 보이고 가운데 버튼이 있습니다. 그런데 버튼을 클릭하면 DlgBase 창이 뜨게 되지요.&lt;br /&gt;&amp;nbsp; 그런데 DlgBase 에서 존재하는 버튼을 또 클릭하게 되면 DlgBase 창은 사라지고, DlgChild1 창이 나타나게 됩니다. 물론 DlgChild1에서 원하는 작업을 수행하고 마친 뒤, 창을 닫게되면 DlgChild1창이 사라짐과 동시에 숨겨져있던 DlgBase창이 다시 나타나게 됩니다. 물론 닫는 다는 이벤트를 여기서는 구현하지 않았기 때문에 버튼을 누르게 되면 액션으로 Hide를 하는 작업으로 진행을 하여야 합니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 약간 뭔가 불편한 것 같은 방식으로 제가 구현을 한 것 같지만 나름대로 코드의 큰 수정 없이 많은 폼들을 잘 컨트롤 한 것 같습니다. 사실 폼마다 따로따로 코드를 작성하여 작동을 하도록 만들었다면 정말 많이 복잡해졌을 겁니다. 왜냐하면 폼이 정말 많은 것은 아니지만 기능상 사소한 불편함이 발생하지 않도록 여러가지 케이스를 고려해주어야 했기 때문이죠. &lt;br /&gt;&amp;nbsp; 이 것 보다 더 좋은 방식이 없지 않을거라는 것 또한 생각을 하고는 있는데, 언젠간 웹 서핑을 하다가 혹은 코딩의 문제점을 해결하기 위한 검색을 하다 볼 수도 있겠죠^^. 그 땐 더욱 확실하게 좋은 디자인을 제 것으로 만들어 보고 싶습니다. 이상한 예지만 복잡한 상황에서 도움이 되길 바라며 이만 글을 줄이겠습니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>디자인패턴</category>
			<category>재귀적합성</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/107</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9E%AC%EA%B7%80%EC%A0%81-%ED%95%A9%EC%84%B1%EC%9D%B4%EB%9E%84%EC%A7%80#entry107comment</comments>
			<pubDate>Mon, 13 Oct 2008 11:54:00 +0900</pubDate>
		</item>
		<item>
			<title>또 오랜기간의 공백을...</title>
			<link>http://www.filewiki.net/tc/entry/%EB%98%90-%EC%98%A4%EB%9E%9C%EA%B8%B0%EA%B0%84%EC%9D%98-%EA%B3%B5%EB%B0%B1%EC%9D%84</link>
			<description>&lt;p&gt;&amp;nbsp; 최근이라고 적고 요새 일하는 것이 완전 한 가닥의 재미도 없다보니 집에와서는 계속 하여 조금씩 놀게 되는군요^^. 그래서 덕분인지 게을러진 것도 있고 블로그 포스팅도 제대로 하지 못했답니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그래도 생각은 계속하고 마음에도 남아있는 덕분인지 새벽녘까지 이상한 짓(?)을 하다가 포스팅을 해야 겠다는 생각이 문득 들어 흔적을 남기게 되는군요. 사실은 까마구 횽님의 블로그를 자주 들어가다보니 OS가 거의 형태를 완벽하게 갖추고 있는 것을 계속하여 보게됩니다. 어느새 완성형에 가깝게 제작이 되었더군요. 저도 OS를 만든다고 예전에 포스팅한 글이 있긴 합니다^^. 예전 중고등학생때부터의 목표였구요. 그런데 전 아직 정말로 제가 만들어 보고 싶은 OS라는 것이 무엇인지 결정이 되지 않는군요.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; ReactOS 라고하여 Windows NT와 호환성을 지니게한 OS도 있고, 이름은 잘 기억나지 않으나 일반적인 컴퓨터가 전원이 내려가게 되면 휘발성인 램으로 인해 작업중인 데이터가 날아가는 것을 방지하고자 하드디스크가 램이자 저장공간이고 램이 캐시역할을 하게 되는 OS도 존재합니다. 그리고 혹시 보셨을지도 모르겠는데 예전 한 2년 전 쯤인지 어느 박사과정의 논문프로그램으로 책상 위의 환경을 그대로 옮겨와 3D로 파일 혹은 폴더를 디스크 같은 형태로 보여주는 GUI까지 있기도 하죠.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이런 것을 보아하면 정말 만들고 테스트해보고 싶은 목적이 있어서 만들었다는 것을 알 수 있습니다. 그런데 단순히 현재 존재하는 OS를 구현하려니 뭔가 바퀴의 재발명인 것 같은 느낌을 지울 수가 없더군요. 물론 하지 않는 것 보다야 제작의 의미가 없다는 것을 부정하지는 않습니다. 그래도 제가 좀 특이한(?) 인간이다보니 뭔가 남들과는 다른 그 무엇을 만들고 싶은 생각을 항상하는 중이라 이런 것 같군요.&lt;br /&gt;&amp;nbsp; 만들고 싶은 목적에 해당하는 것이 존재하지 않느냐고 물어보신다면 그건 또 아니라고 적고 싶습니다. 예전에 C언어 로부터 시작하여 C++, C#을 이용한 OOP 프로그래밍을 하게 됨으로써 구조적 프로그래밍에 대한 불편함을 느꼈다고나 할 까요. 선뜻 손이 가지 않습니다. 그리하여 원하는 것은 C++로 커널을 제작해보는 것이고, 일반적인 Windows API처럼 단순 함수 호출로써 끝나는 것이 아닌 Class Object를 전달하여 주고받는 형식을 만들어 보는 것 또한 일부이긴 합니다. &lt;br /&gt;&amp;nbsp; 그런데 이 것이 전부라고 생각하려니 너무 좀 아닌거 같은 느낌이 있더군요. 너무 Windows와 Linux 같은 일반적인 OS에 익숙해지다보니 그 것과는 다른 뭔가를 속에서 요구하는 듯한 느낌을 계속하여 받습니다. 과연 어떤 것이면 만족스러운 것을 생각할 수 있을지 참 막막하네요^^.&lt;br /&gt;&amp;nbsp; 대충대충 만드는 것을 할 줄 알아야 하는데 제대로 된 것을 완벽히 설계하여 제대로 완성해보고 싶은 욕심이 마구마구 드니 이거야 원, 제대로 진행이 될지도 모르겠습니다. 그래도 사람은 꿈을 먹고 사는 존재이기 때문에 언젠간 원하는 것을 제대로 생각하여 제작할 수 있지 않을까 생각해봅니다^^.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 어떻게 하다보니 전반적인 내용이 OS쪽으로 흘러가게 되었지만 그건 뭐 최근 생각하는 것들이 그런 고민이다 보니 그렇게 되었네요. 책 사놓은 것을 천천히 읽어가면서 한 번 더 생각을 해봐야 겠습니다^^. 이 땅에 사는 꿈을 먹고 사는 사람들에게 이렇게 말해주고 싶네요. &quot;우리 모두 꿈을 향해 달려갑시다&quot;&amp;nbsp;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>공백</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/106</guid>
			<comments>http://www.filewiki.net/tc/entry/%EB%98%90-%EC%98%A4%EB%9E%9C%EA%B8%B0%EA%B0%84%EC%9D%98-%EA%B3%B5%EB%B0%B1%EC%9D%84#entry106comment</comments>
			<pubDate>Sun, 12 Oct 2008 05:24:03 +0900</pubDate>
		</item>
		<item>
			<title>남의 소스를 보는 것은 어렵습니다. 그리고...</title>
			<link>http://www.filewiki.net/tc/entry/%EB%82%A8%EC%9D%98-%EC%86%8C%EC%8A%A4%EB%A5%BC-%EB%B3%B4%EB%8A%94-%EA%B2%83%EC%9D%80-%EC%96%B4%EB%A0%B5%EC%8A%B5%EB%8B%88%EB%8B%A4-%EA%B7%B8%EB%A6%AC%EA%B3%A0</link>
			<description>&lt;p&gt;&amp;nbsp; 이번엔 그냥 넋두리를 한 번 늘어놓아보려고 합니다. 최근에 경찰청 쪽으로 들어가서 프로젝트를 하게 되었는데, 지금 현재 다니고 있는 병특의 업종이 SI쪽이다 보니 일정이 역시나 많이 문제가 되더군요. 문제가 되는 것은 다른 분들도 마찬가지라 생각합니다.&lt;br /&gt;&amp;nbsp; 특히 이 번엔 문제가 좀 많은 부분이 있었는데, SI 라는 특성상 프로그램을 제작할 때 필요한 모든 부분을 기반 기술을 자체 제작하여 개발하지는 않고, 필요한 컴포넌트나 엔진을 다른 회사로 부터 제공받아 제작을 하게 됩니다. 그로인해 필수적인 기술지원 부분이 들어가게 되구요. 일반 스탠다드 얼론으로 개발하게 될 때 알고 있으면 API등 뿐만 아니라 그 쪽에서 제공받는 소프트웨어의 사용법 또한 알고 있어야 한다는 점이 필수적입니다. 그로 인해 자의적이든 타의적이든 연관이 되게 됩니다.&lt;br /&gt;&amp;nbsp; 그런데 이번은 좀 어이가 없는 경우가 많았던게, 기존에 운용되고 있었던 프로그램 &amp;amp; 시스템들이 현재 제공받았던 엔진의 아주 구형버젼을 사용하여 개발이 되어 있었고, 그 프로그램들 중 엔진을 직접적으로 사용하는 프로그램들은 에러가 발생하여 제대로 사용하고 있지도 못하더군요. 그 대신 업무를 Oracle DB와 엔진 쪽을 직접 사용하여 데이터 관리를 하고 있었습니다. 그런 시스템을 이번에 저를 비롯하여 여러명이 수정하게 되었습니다.&lt;br /&gt;&amp;nbsp; 그런데 이게 왠 말입니까!~ 공무원 이른 바 대단하신 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;갑&lt;/span&gt;&quot;님께서 엔진을 업그레이드 하시겠다는 거 아닌가요. 사실 이 부분은 기존의 엔진이 아주 구형 버젼이기도 했고, 문제점이 아주 많았기 때문에 엔진 부분만 업그레이드 하는 것으로 결정이 지어졌답니다. &lt;br /&gt;&lt;br /&gt;&amp;nbsp; P.S 절대 &lt;a href=&quot;http://100.naver.com/100.nhn?docid=4709&quot;&gt;http://100.naver.com/100.nhn?docid=4709&lt;/a&gt;&amp;nbsp;이 갑이 아닙니다?&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 그리하여 결정된 대로 전 개발자이니까~ 당연히 기존에 개발되어있던 프로그램을 수정하여 GUI 부분도 수정을 하고 엔진 부분도 수정을 할 준비를 하고 있었죠. 워낙 폼이 많다보니 GUI만 수정해도 시일이 꽤 걸리더군요. 여기까지 읽으신 분들은 또 암흑의 조짐을 느끼시겠군요. 아니나 다를까, 이 번엔 엔진 쪽에서 기존에 개발 된 프로그램에서 사용하는 언어의 지원이 안된답니다?. 어.. 어라..? &lt;br /&gt;&lt;/p&gt;
&lt;blockquote&gt;／￣￣＼&lt;br /&gt;　　　　／ﾉ(　_ノ　　＼&lt;br /&gt;　　　　|　⌒(（ ●）（●）&lt;br /&gt;　　　　.|　　　　 （__人__）　/⌒l&lt;br /&gt;　　　 　|　　　　　｀ ⌒´ﾉ　|`&#039;&#039;&#039;|&lt;br /&gt;　　　　／ ⌒ヽ　　　　 }　 |　 |　　　　　　　　　__＿＿＿＿＿＿＿＿て&lt;br /&gt;　　 ／　 へ　　＼　　 }__/　/　　 　 　 　 　 　 | |￣￣￣ &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ￣￣￣￣| | |（&lt;br /&gt;　／　／　|　　　　　 ノ 　 ノ　　　　　　　　　　 | |　＼엔진시키들/　| | |’,　･&lt;br /&gt;( _ ノ　　　 |　　　　　 ＼´　　　　　　 ＿　　　　| |　 　＼ ﾉ(　　/ 　 | | | ,　 ’&lt;br /&gt;　　　　　 　|　　　　　　　＼＿,, -‐ &#039;&#039;&quot;　 ￣￣ﾞ&#039;&#039;―---└&#039;´￣｀ヽ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;　 | | |　て&lt;br /&gt;　　　　　　 .|　　　　　　　　　　　　　　　　　　　　　 　＿＿ ノ ＿| | |　（&lt;br /&gt;　　　　　　　ヽ　　　　　　　　　　　＿,, -‐ &#039;&#039;&quot;￣|＿￣＿o o o＿＿＿|_|ｒ&#039;&quot;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; 딱 내심이 한 마디도 안 틀리고 저렇더군요. 그냥 아주 패주고 싶더군요 ㅜㅜ. 그런데 종류는 여러가지 접해봤지만, 해당 엔진은 처음 접해본 것이기에 어떻게 저렇게든 얘기가 되어 기존 언어로 된 프로그램이 아니라 아예 프로그램을 신규개발하기로 되었습니다. 물론 기존 기능은 다 지원하게 하고 말이죠. 그리하여 개발이 줄줄 진행이 되고 있었습니다.&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;&amp;nbsp; 진행이 과연 잘 되었을까요? ㅜㅜ 엔진의 버그(?)라고 해야 될지 환경적인 문제라고 해야 될지 작동이 잘 되지 않는 문제에 대해서 지원도 잘 안해줍니다? 초반에 상주지원할 때는 잘 해주더니 떠나고 나선 Out of sight, Out of mind? 라고 말하면 될지 문제가 질질 끌어집니다.&lt;br /&gt;&amp;nbsp; 그래도 급한건 일단 저 자신 아니겠습니까? 이리저리 말해봤으나 잘 되지 않아 위에 보고해서 전달하는 것도 하고 하여 기능이 어느정도 지원이 되었죠. 아 물론 지금 현재는 기능 하나가 제대로 동작하지 않는 것을 제외하고는 다른 부분에서는 동작이 잘 된답니다. 휴우~&lt;br /&gt;&amp;nbsp; 그렇다고 개발과정이 쉬웠느냐라고 물어본다면 oTL 이라고 하고 싶습니다. 마지막으로 제공된 소스라고 적고 기존 운용되고 있었던 제대로 작동하지 않는 프로그램의 소스가 좀 문제가 꽤 많았습니다. &quot;갑&quot;의 수많은 요구사항에 의해 프로그램을 수정한 결과로 보이는 소스코드는 기능이 제거 되었다면 전부 제거 되어야 하지만 이 부분은 제거 되어있고, 저 부분에는 남아있고.... 그야 말로 oTL.&lt;br /&gt;&amp;nbsp; 뭐 그래도 하나씩 자세히 보면서 개발을 진행하긴 했습니다. 제가 만드는 프로그램임에도 불구하고 기능이 예전에 존재하던 기능이 과연 맞을까 하는 불확실한 확신을 가지고 말이죠. 뭐 아직 프로그램이 제대로 사용되지는 않았기 때문에 뭐라고 결과가 나온 것은 아니지만, 머지않아 수정건이 뻥뻥 터질 것 같습니다^^; 이 것은 한 번 기다려 보아야 될 것 같군요.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이 것과는 번외로 같이 일하는 어떤 분의 서비스 쪽에 기존은 Tomcat을 사용하고 있었는데, 커넥션 쪽에서 좀 많은 문제가 있었던 모양입니다. 자세한 사정은 알지 못하여 뭐라고 정확하게 적기가 좀 그렇군요. 여느 상황에서나 그렇듯이 일단 문제가 생기면 App 쪽을 의심하는 것이 당연하죠? 그래서 그 분의 서비스를 검사하더군요. 그런데 발견이 되지 않자 어떻하겠습니까? 금요일 저녁 어떤 타 업체에서 꺼낸 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;다른 제품으로 업그레이드 하시죠?&lt;/span&gt;&quot;라는 크리에 위대하신 갑님 월요일 아침 주문을 해버립니다. ㄷㄷㄷ&lt;br /&gt;&amp;nbsp; 다음날 도착한 다른 제품에 서비스를 맞추기 위하여 지원을 받아 이리저리 수정을 하시는 그 개발자분. 한 이틀 지나니 제대로 수정을 하셨나 봅니다. 그리고 몇 일 전에 있었던 데이터 이관일, 타 업체 사장이 &quot;그 다른 제품은 지원이 잘 안되고 그 보다 더 좋은 다른 제품으로 바꾸면 지원 다 해줄께&quot;라는 말을 공무원에 슬그머니 흘리더군요!!?.&lt;br /&gt;&amp;nbsp; 우리도 눈뜬 장님이 아니다보니 과장님 선에서 그 것은 막은 것 같습니다. 그런데 팔랑팔랑 참으로 귀가 얇은 공무원 갑 님과 예술적인 혀 영업부분이 만남이란(?) 어떤 결과물이 나올지는...&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 길지는 않지만 약 2년쯤 일을 하고 있긴 한데 그 와중에서는 제일 ㅡ0ㅡbb 인 일은 경험해 본 것 같습니다. 이런 저런 생각이 많이 들긴 하지만 그 것 까지 적긴 좀 그렇군요^^. 그럼 넋두리 잘 봐주시길..&lt;br /&gt;&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>갑</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/105</guid>
			<comments>http://www.filewiki.net/tc/entry/%EB%82%A8%EC%9D%98-%EC%86%8C%EC%8A%A4%EB%A5%BC-%EB%B3%B4%EB%8A%94-%EA%B2%83%EC%9D%80-%EC%96%B4%EB%A0%B5%EC%8A%B5%EB%8B%88%EB%8B%A4-%EA%B7%B8%EB%A6%AC%EA%B3%A0#entry105comment</comments>
			<pubDate>Sat, 27 Sep 2008 23:37:01 +0900</pubDate>
		</item>
		<item>
			<title>SSD( Solid State Disk ) 사용...</title>
			<link>http://www.filewiki.net/tc/entry/SSD-Solid-State-Disk-%EC%82%AC%EC%9A%A9</link>
			<description>&lt;p&gt;&amp;nbsp; 전 컴퓨터에 관심을 가진지 꽤 오래되었습니다. 멋도 모르고 단순히 친구들과 놀기 좋아할 5~6살 때 쯤 외삼촌 집으로 놀러가게 되었다가 286컴퓨터를 만나게 되었죠. 컴퓨터를 봤을 당시엔 뭐라고 얘기할까요^^ 어린 애가 TV를 보고 하염없이 빠져있는 기분이랄까 그러한 기분을 느끼고 흥미를 가지게 되었습니다.&lt;br /&gt;&amp;nbsp; 어떤 화면에서 매력을 느꼈었냐면 흔히 5~6살 정도에 로보트같은 장난감을 가지고 놀 수 있는데, 컴퓨터 화면엔 여태껏 보지 못했던 F-14 Tomcat 비행기가 그려져 있었던 것이지요. 지금 생각해보면 단순히 선으로 그려 지금 그리라고 한다면 쉽게 그릴 수 있는 그런 단순한 그림이 그려져 있는 QMouse 화면을 보고 그렇게 빠져들었는지는 저도 잘 모르겠습니다.&lt;br /&gt;&amp;nbsp; 그 이후 프로그래머이신 아버지께서 한 회사의 전산실에서 일하셨기 때문에 COBOL개발을 위해서 외삼촌께서 사용하시던 컴퓨터를 받아 사용하게 되었고 덕분에 저도 도스 게임을 무척 많이 즐길 수 있었습니다. 그래서 일까요? 컴퓨터를 여지껏 벗삼아 지내온 기간이 길다보니 어느새 제 삶에서 뗄래야 뗄 수 없는 부분이 되어버린것 같습니다. 그와 동시에 사양에 대한 욕심 또한 무척 크게 되었고 말이죠.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; 그래서 컴퓨터를 하고 관심을 가지다 보니 컴퓨터에서 가장 느린 매체이자 컴퓨터 성능의 발목을 잡는 하드디스크를 대체할 부품이 나오길 고대 하고있었습니다. 그런데 한 2년 반 전쯤인가 3년 전쯤인지 삼성을 비롯해서 SSD 라는 플래시 메모리 디스크를 사용한 디스크 개발에 나선다고 하더군요. 그리하여 여태껏 기다리고 기다려 여러번의 소소한 지름 끝에 결국엔 이번에 SSD를 지르게 되었습니다. 제가 여태껏 사본 물품 중 단일로는 제일 비싼 가격의 부품이죠. 바로 한성 울트론 4000S 64G( 25만원 )입니다. 많이 부담스럽습니다.&lt;br /&gt;&amp;nbsp; 하지만 기대감이 큰 것도 있고, 바로 액세스 타임이 0.2ms 라는 것을 생각하니 그 정도는 투자할 만한 가치가 있다라고 판단이 되더군요. 그리하야 몇 일전 부품을 사고 장착한 뒤, 여태껏 사용하고 있던 SSD의 후기를 간략하게 나마 남겨봅니다.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2879649682&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3279/2879649682_6b84de4e57.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; HD Tach라는 하드디스크 벤치 프로그램에 존재하는 8mb의 테스트 결과는 위 스크린샷과 같습니다. 그래프가 무슨 산 봉우리가 겹쳐져 있는 듯한 모습입니다. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2878816963&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3031/2878816963_a266134289.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이 스크린샷은 8mb 가 아닌 32mb의 옵션을 주고 테스트한 스크린샷입니다. 8mb 스크린샷과 차이가 꽤 많이 날겁니다. 그래프가 좌우로 축소 되었으니까요^^;; 그래도 제가 사용하는 HDD WD400G 하드가 80mb 에서 60mb 까지 그래프가 대충 그려진다고 한다면 차이는 어느정도 느껴지시겠죠^^&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 다른 사이트에서도 이미 많이 올라오는 SSD 벤치마킹 정보, 솔직히 체감할 수 없는 벤치마킹 정보는 이쯤하여 접어두고, 실제 사용하면서 느꼈던 부분을 적어보도록 하겠습니다.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;액세스 타임으로 인한 시작 메뉴의 접근이 빠르다.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; 일반적인 상황으로 윈도우즈를 자주 사용하므로 그 중에서도 가장 많이 사용하는 Windows XP 부분의 예를 든다면 제가 사용하는 Windows XP x64 에서 시작 메뉴를 비롯하여 프로그램 메뉴는 무척 빨리 뜹니다. 테마를 다 죽이고 고전 테마로 사용하는 저이기 때문에 테마모드에서의 부드러운 페이드인 효과로 숨겨지는 로딩시간이 HDD로 하면 어느정도 존재하게 되는데, 이 부분은 거의 바로바로 뜬다고 생각하시면 됩니다. &lt;br /&gt;&lt;/li&gt;
&lt;li&gt;파일 검색은 무척 빠르다.&lt;br /&gt;WindowsKey + F 키를 눌러 표시되는 창에서 파일 검색을 하게 되면 일반 HDD 같은 경우 별도의 메모리 캐싱 프로그램을 사용하지 않는 이상 파일을 찾을 때 많은 시간이 걸리게 됩니다. 왜냐구요. 일반 7200RPM 하드 같은 경우 액세스 타임이 12ms 정도 걸리기 때문입니다. 그에 반해 SSD는 0.2ms이구요. 실질적인 체감은 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;*.exe&lt;/span&gt;&quot;로 옵션을 Windows가 설치되어 있는 SSD드라이브로 주고 검색을 하면 약 1초 정도에 1000여개의 exe 파일이 단숨에 검색됩니다.놀란만 하죠^^; GIGABYTE 에서 출시했었떤 I-RAM 동영상을 보면서 파일 검색을 무척 부러워 했었는데, 그 것을 체감하고 사용한다니 기쁩니다.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;단일 디스크 혹은 램이 넉넉하지 않을 경우..&lt;br /&gt;제가 사용한 한성 울트론 SSD는 SLC 기반이 아닌 MLC 기반 SSD이기 때문에 약간의 설정을 해주어야 합니다. 그리고 하드웨어 환경도 받쳐주어야 하지요. 저 같은 경우는 램이 6기가이기 떄문에 램디스크로 1기가를 잡아 512는 Temp 폴더 용도로 사용하고, 512는 256 익플캐시, 256 파폭캐시로 사용합니다. 그리고 웨스턴 디지털사의 400G, 200G 하드도 따로 존재하고 있구요.&lt;br /&gt;&amp;nbsp; 만약 SSD를 단일 드라이브로 사용하고 램도 부족할 경우 프리징(?) 현상을 자주 겪으시게 될지도 모르겠습니다. 프리징이란 시스템 전체는 아니고 프로세스가 약간씩 딜레이 된다고 표현하면 될까요? 1~2초 정도 잠시 멈추는 경우가 종종 있습니다. 그래서 램디스크와 Prefetch비활성화, Index 비활성화는 필수라고 할 수 있죠.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&amp;nbsp; 더 말씀을 드리고 싶은 부분이 있긴 합니다만 아직 저도 그리 길게 사용한건 아니라서 딱히 더 정리된 자료가 없군요. 아시다 시피 SSD나 HDD나 4KB의 랜덤액세스 쓰기 능력은 엄청 취약합니다. 그래서 기존 HDD용으로 사용하는 OS설정의 변경이 필수적이라고 할 수 있죠^^;&lt;br /&gt;&amp;nbsp; 사실 제가 Windows Kernel의 HDD I/O Process 부분을 알 수 없기에 따로 얘길 드리지는 못하겠지만 아마도 프리징이 약간씩 생기는 증상은 아마도 기존 HDD의 랜덤 액세스에 맞춰져 있는 처리 알고리즘이 원인이 아닐까 합니다. 물론 용량이 적은 데이터의 랜덤액세스가 취약한 건 사실이지만 이토록 걸릴것 같지는 않기 때문이죠. 뭐 2세대 제품에는 버퍼메모리가 달려나와서 이 점을 보완했을 지도 모르겠지만 제가 써보지도 못했고 앞으로 1년 후에나 써볼 수 있지 않을까 해서 따로 적기도 뭐합니다;;.&lt;br /&gt;&amp;nbsp; 하지만 이런 단점이 있음에도 불구하고 어느정도 사용해본 결과 역시 돈 값은 한다. 라는게 제 생각이군요. 제가 컴퓨터에 대해선 매니아틱한 면이 있기 때문에 그렇게 생각하는 것인지는 모르겠지만 아무래도 비싼건 사실이기에 막상 싸다라고 얘기하기도 그렇긴 합니다. 뭐 일단 이 정도로 글을 마무리 하면서 이 글이 SSD에 대해서 고려하시는 분들에게 도움이 되었으면 생각이네요^^.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Computer</category>
			<category>SSD</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/104</guid>
			<comments>http://www.filewiki.net/tc/entry/SSD-Solid-State-Disk-%EC%82%AC%EC%9A%A9#entry104comment</comments>
			<pubDate>Tue, 23 Sep 2008 02:03:16 +0900</pubDate>
		</item>
		<item>
			<title>음.. 바빠서 한 동안 신경을 못 쓰고 있다가...</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EB%B0%94%EB%B9%A0%EC%84%9C-%ED%95%9C-%EB%8F%99%EC%95%88-%EC%8B%A0%EA%B2%BD%EC%9D%84-%EB%AA%BB-%EC%93%B0%EA%B3%A0-%EC%9E%88%EB%8B%A4%EA%B0%80</link>
			<description>&lt;p&gt;&amp;nbsp; 근 한 달 정도 블로그 관리를 제대로 하지 못한것 같습니다. 최근 문제가 없을거 같은 프로젝트가 조금 문제가 생기는 바람에 이렇게 되었군요. 내심 마음에 계속 걸려있었는데 주말에 쉬기만 하고 제대로 관리를 못하고 있다가 하나의 플러그인으로 인해 이렇게 포스팅을 해봅니다.&lt;br /&gt;&amp;nbsp; 인터넷을 통한 문서관리를 해보신 분은 스프링노트(&lt;a href=&quot;http://www.springnote.com&quot;&gt;http://www.springnote.com&lt;/a&gt;)라는 곳을 아실겁니다. 많이 편리하죠^^;. 저는 이 스프링노트라는 곳의 편리함은 에디터에서 비롯된다고 정의하고 싶습니다. 그 만큼 제가 여태껏 써봤던 게시판(?) 혹은 블로그의 에디터 중 문서를 작성하기엔 가장 편하고 기능이 좋았습니다.&lt;br /&gt;&amp;nbsp; 그런데 왜 이런 얘길 하냐구요.. 텍스트큐브(&lt;a href=&quot;http://www.textcube.org&quot;&gt;http://www.textcube.org&lt;/a&gt;)의 플러그인 부분에 들어가시면 바로 텍스트큐브에서 스프링노트의 에디터인 XQuared를 플러그인화 시켜 사용할 수 있게 한 것이 등록되었기 때문입니다.&lt;br /&gt;&amp;nbsp; 제가 현재 사용하는 블로그 또한 텍스트큐브를 사용하고 있는데요. 근 4달간 써보면서 많은 불편함을 겪었습니다. 그런데 나와주다니.. 비록 등록되고 약간의 시간이 흐른 뒤 보게 된 것이지만 무척 반갑고 즐거웠습니다. 바로 적용을 해보았죠.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2876182384&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3138/2876182384_4afaa7d2a0.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 이렇게 제대로 사용할 수 있더군요^^. 너무나 좋았습니다. 아래에 보이는 코드입력을 사용하기 전까진 말이죠. 이런 저런 테스트를 하다 코드 하이라이트 기능을 사용을 하게 되었고, 제가 사용하는 Hooriza님(&lt;a href=&quot;http://www.hooriza.com&quot;&gt;http://www.hooriza.com&lt;/a&gt;)의 코드 하이라이트 기능이 제대로 동작하지 않더군요. 그러나 저번에 Tistory용으로 개발되었던 Code Hilighter를 Textcube로 단 한줄 고쳐 작동시키게 한 경험이있었기에 그냥 무작정 시도를 해봤습니다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 사실 자바스크립트 쪽엔 깊이 파고들었던 경험이 없었기 때문에 맨 처음 XQuared의 플러그인 소스를 봤을 때 너무나 혼란스럽더군요. 그래도 구조를 일단 파악해보기로 했습니다. 그렇게 한 1시간이 지나니 어느정도 파악이 되더군요. Javascript에서 Class를 제대로 보니 가능했습니다. 그렇게 필요한 부분을 수정하고 수정하고 테스트하여 결국 원하는 기능을 넣긴 했습니다!.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2876182594&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3161/2876182594_12419e594c.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 바로 이렇게 말이죠^^. 사실 기능을 수정하여 지원가능하게 하기 전엔 아예 입력자체가 되지 않았습니다. 말 그대로 자바스크립트의 수행도중 에러가 발생하여 제대로 된 처리가 되지 않았던 것이지요. 얼씨구나 좋다 하고 바로 &quot;미리보기&quot; 버튼을 눌러봤습니다. 그런데.. 역시나 쉬운 일은 없나 봅니다.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2876182462&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2269/2876182462_59040f35c3.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 바로 위와 같이 뜨지 뭡니까? 제 블로그의 코드 부분을 약간이라도 보셨거나 Hooriza님의 코드 하이라이트 기능을 알고 계신 분들은 이상하다고 생각을 하실테지요. 원래 표시되어야 하는 부분은 아래 그림과 같거든요.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2875356521&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3242/2875356521_610676dcfb.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 컬러풀 하지 않나요?? 처음에 줄 번호와 색 때문에 굳이 티스토리를 벗어나서 웹호스팅과 더불어 텍스트큐브를 사용하게 되었었는데, 거참 약간 허탈하더군요. 그래도 불굴의 의지로 일단 계속해서 진행을 해봤습니다. 그러다보니 해결방법은 잘 모르겠는데, 하나의 원인을 알겠더군요.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2875356453&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3248/2875356453_e8a4d45ba7.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/23848746@N06/2875356701&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3050/2875356701_252dd5910a.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 위 그림 2개의 선택된 부분을 보시면 바로 감이 오실겁니다. 위(XQuared)와 아래(Textcube)의 Editor로 생성된 코드의 HTML코드를 보니 FIELDSET을 비롯하여 LEGEND 부분이 없어졌죠? 실제 TextCube에서도 두 태그를 삭제하니 컬러 지원이 제대로 되지 않았습니다. 그래서 이 것이 원인임을 알고 수정을 하기 위해 삽질을 계속하여 시도를 해봤는데 제대로 되지 않더군요. 도대체 왜 그런건지는 아직 오리무중입니다?&lt;br /&gt;&amp;nbsp; CreateElement 함수로 생성하는 것인데 말이죠.. Node 부분 생성 까진 제대로 되는 거 같은데 Editor에 들어가면서 변경이 되는건지.. 아마 추측하기론 그런 것 같습니다.&lt;br /&gt;&amp;nbsp; 일단 어느정도 마무리를 한 다음 TextCube 홈페이지에를 들어가니 1.8 버젼에서는 XQuared를 내장으로 기본지원할 가능성이 많이 높다고 하는 군요. 어느 홈페이지에서는 &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold; &quot;&gt;지원한다&lt;/span&gt;&quot;라고 못박은 곳도 있긴 한데, 포럼에 그런 말이 없으니 잘 모르겠습니다. 하지만 나온다면 환영, 또 환영 뿐이죠^^.&lt;br /&gt;&amp;nbsp; 오늘은 삽질을 하다보나 새벽까지 달리게 되었는데, 이 것참 ㅜㅜ 내일 어떻게 할지 고민이네요.. 그럼 삽질기행문 잘 보아주셨으면 합니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Programming</category>
			<category>Code</category>
			<category>Hilight</category>
			<category>Textcube</category>
			<category>XQuared</category>
			<category>플러그인</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/103</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EB%B0%94%EB%B9%A0%EC%84%9C-%ED%95%9C-%EB%8F%99%EC%95%88-%EC%8B%A0%EA%B2%BD%EC%9D%84-%EB%AA%BB-%EC%93%B0%EA%B3%A0-%EC%9E%88%EB%8B%A4%EA%B0%80#entry103comment</comments>
			<pubDate>Mon, 22 Sep 2008 02:39:40 +0900</pubDate>
		</item>
		<item>
			<title>음.. 슬슬 달려 봐야 겠습니다. 그리고 최근 현황</title>
			<link>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%8A%AC%EC%8A%AC-%EB%8B%AC%EB%A0%A4-%EB%B4%90%EC%95%BC-%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B5%9C%EA%B7%BC-%ED%98%84%ED%99%A9</link>
			<description>&lt;p&gt;&amp;nbsp; 2008년 8월 초,중순은 제대로 된 포스팅을 하지 못했습니다. 7월 후반부 부터 갑자기 근무환경이 바뀌어서 평소보다 빨리 일어나야 하고, 이리저리 환경적 요인으로 신경 써야 할 것이 많더군요. 그런데다 퇴근하면 머리가 너무 어질어질 해서 따로 진행을 하지 못했는데, 이젠 어느정도 적응이 된 것 같습니다.&lt;br /&gt;&amp;nbsp; 그리하여 다시 시작을 해보려고 합니다. 뭔가를 만들다가 중단된 것이 꽤 있는데, 계속하여 진행을 해야죠^^. 그 새 까마구 횽님 블로그엘 들어가니 진행이 무척 많이 되었더군요. 부럽습니다 @0@ 저도 진행을 계속 해야 될 텐데 아직 정보가 많이 부족합니다^^.&lt;br /&gt;&amp;nbsp; 그나저나 이번 23,24일날 아는 형들과 모여 충주호 쪽으로 놀러가기로 했는데, 1박 2일을 하기 때문에 오락물품을 질러 봤습니다. 뭐 최근은 지름 포스팅(?)만 진행하는 군요 ㅎㅎ. 작년 여름 부분에서도 1박을 했었는데 저녁에 할 것이 마땅찮아 별다르게 재미있는 것을 해보지 못했다는 점이 아쉬웠었죠. 그래서 이번엔 그 것을 되풀이 하지 않고자 일단 조금 크게 벌려봤습니다.&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;Pokerchip&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2774957234&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3186/2774957234_c61e956acd.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;Table&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2774106249&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3082/2774106249_062945da01.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 포커칩 세트라고 할 수 있는데, 친지들이 놀러왔을 때 어른 들이 사용하는 용도로도 충분하게 보이더군요^^. 특히 500개 칩셋의 칩과 아래의 테이블은 정말 퀄리티가 상품이더군요^^. 돈이 돈이니 만큼 어지간한 물품보다는 훨씬 좋았습니다. 차츰차츰 무기력하고 피곤한 슬럼프를 벗어나서 제대로 노력을 해야 겠습니다^^. 그럼 좋은 하루 되시길 바랍니다.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>뻘글</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/102</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%9D%8C-%EC%8A%AC%EC%8A%AC-%EB%8B%AC%EB%A0%A4-%EB%B4%90%EC%95%BC-%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%B5%9C%EA%B7%BC-%ED%98%84%ED%99%A9#entry102comment</comments>
			<pubDate>Mon, 18 Aug 2008 23:56:46 +0900</pubDate>
		</item>
		<item>
			<title>해로를 소개합니다.</title>
			<link>http://www.filewiki.net/tc/entry/%ED%95%B4%EB%A1%9C%EB%A5%BC-%EC%86%8C%EA%B0%9C%ED%95%A9%EB%8B%88%EB%8B%A4</link>
			<description>&lt;p&gt;&amp;nbsp; 안녕하세요^^. 도통 바쁘고 치져서 제대로 된 포스팅을 관리하지를 못하겠네요 ㅎㅎ 오늘도 버스를 타고 집으로 가다 깜빡 졸아 20분 정도 지나쳤답니다. 그래서 처음 보는 하양쪽 풍경을 보고 어리둥절 하다 후다닥 내려 반대편 버스를 타고 집에 도착했습니다. &lt;br /&gt;&amp;nbsp; 몇 일 전에도 15분 정도 졸아 지나쳤었는데, 어찌 가면 갈 수록 조는 시간이 길어지는 것 같군요. 그래도 기간이 길지 않다는 것을 알고 있고, 집에 돌아오면 귀여운 해로가 있어서 그나마 나은 것 같습니다. 요새 컴퓨터는 HDTV를 송출해주는 TV역할만 수행하는군요^^.&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;사진080811_5&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2759346371&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3152/2759346371_e16c33dba5.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a title=&quot;사진080811_4&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2759346543&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3204/2759346543_bc3dab1369.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 위 애가 해로입니다. 나중에 암컷 새를 한 마리더 챙겨올 생각이기 때문에 해로로 이름을 지었습니다. 얘는 수컷이거든요^^. 나중에 암컷은 백년 이나 백련으로 이름을 지어주려고 합니다. 전자는 약간 욕하는 듯한 어감이 있어 후자가 될 것 같습니다. 나름 식객에서 진수성찬과 같은 효과를 노리는 것이죠. 얘 정말 똘똘합니다.&lt;br /&gt;&lt;br /&gt;&lt;a title=&quot;080811_&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2760190242&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3062/2760190242_8c18d21052.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; 아래 사진은 손 안에서 잠든 사진입니다. 머리 혹은 목 부근을 긁어주면 그 새 눈을 감고 스르르륵 배를 깔더군요^^. 기분이 좋은가 봅니다. 그래서 인지는 몰라도 손이 있으면 어디든 날아가 찰싹 달라붙는 군요. 다만 좋지 않은 점이라면 먹을 것을 먹고 나면 10분 마다 배설을 한다는 점이랄까요. 새장에서 꺼내어 같이 놀아 줄 때는 휴지를 지니고 다니기 때문에 문제가 되지 않기 때문에 그다지 불편하다고 느끼는 점은 없군요.&lt;br /&gt;&amp;nbsp; 어제와 오늘은 부메랑까지 잘 하더군요. 손에 대한 집착이 강해져서 일까요. 손에 올라오면 쓰다듬어 준다는 사실을 이제 완전히 알아 버린 것 같습니다. 멀리서라도 손이 보이면 곧잘 날아와 배를 깔더군요^^. 그리고 안 놀아주거나 쓰다듬어 주지 않으면 &quot;왜왜왜왜왜~&quot; 하는 듯이 삐릭삐릭 거리기 까지 합니다.&lt;br /&gt;&amp;nbsp; 사실 닭머리 닭머리 하여 조류의 머리가 좋지 않다고 하지만 제가 볼 때는 그래도 꽤 수준 이상인 것 같군요 ^^; 최근은 해로 보는 재미로 살고 있습니다. 오늘은 이만 소개를 마치며 물러갑니다. 오늘도 좋은 하루 되세요^^.&lt;/p&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>십자매</category>
			<category>해로</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/101</guid>
			<comments>http://www.filewiki.net/tc/entry/%ED%95%B4%EB%A1%9C%EB%A5%BC-%EC%86%8C%EA%B0%9C%ED%95%A9%EB%8B%88%EB%8B%A4#entry101comment</comments>
			<pubDate>Wed, 13 Aug 2008 23:56:00 +0900</pubDate>
		</item>
		<item>
			<title>세팅 완료.</title>
			<link>http://www.filewiki.net/tc/entry/%EC%84%B8%ED%8C%85-%EC%99%84%EB%A3%8C</link>
			<description>&lt;p&gt;&amp;nbsp; 최근 코딩에 대한 포스팅은 거의 하지 못하고 있군요. 굳이 원해서 하지 않는 것은 아니고, 상황이 그렇게 되는군요. 몇 일전 새 입양에 대한 포스팅을 올렸었죠. 옛날부터 키우고 싶었기 때문에 진행이 되었던 것인데, 토요일날 택배가 마침 도착하여 준비와 세팅을 다 하게 되었습니다.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;사진080809_1&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2749165879&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3052/2749165879_0f9645bb49.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; 개방형 금장새장 입니다. 창살이 약간 넓은 면이 없지않아 있지만, 십자매가 빠져나올 정도는 아니라고 하더군요^^. 그리하여 안심하고 골랐습니다. 뿐만 아니라 스테인리스 그릇이 2개나 기본으로 들어 있어 아주 퀄리티가 좋았습니다. 먹을 물, 목욕할 물, 알곡 모이, 가루 모이등을 4군데 나눠 담을 수 있다는 생각이 들었습니다. &lt;br /&gt;&amp;nbsp; 왼쪽 에 툭 튀어나와 있는 것은 목욕할 물을 담아두기로 했습니다. 의외로 넓고 깊기 때문에 그 용도로 사용하기는 딱이라고 생각이 들더군요. 알곡 모이통은 오렌지 형태인데, 스테인리스 같이 반원통 같은 경우는 모이가 이리저리 튈 수 있기 때문에 저런 형태를 선택하게 되었습니다. 그리고 모이도 준비를 했죠.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;사진080810_1&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2750001944&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3086/2750001944_38d8867e4d.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&amp;nbsp; 알곡 모이 씻어본 것 입니다. 이 것참 씻기가 힘들더군요. 왜냐하면 첫 번째 문제는 보통 베이킹 파우더 혹은 밀가루를 곱게 체치기 위하여 사용되는 채(?)라는 용구가 없어 소쿠리로 씻었기 때문이죠. 많은 양이 샌 것은 아니지만 1/200 정도는 새더군요 비록 쭉정이지만 ㅜㅜ 아깝다는 생각이 무지무지 들더군요.&lt;br /&gt;&amp;nbsp; 월요일 퇴근 후 경대 근처로 가서 입양을 받을 예정입니다.^^. 내일 일을 어떻게 할지 벌써부터 걱정이 되는군요. 두근두근 한건 언제나 마찬가지군요.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;a title=&quot;사진080811_1&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2750042098&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3089/2750042098_ab9441a9a0.jpg&quot; /&gt;&lt;/a&gt;&lt;a title=&quot;사진080811_1&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2750042098&quot;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;a title=&quot;사진080811_1&quot; href=&quot;http://www.flickr.com/photos/23848746@N06/2750042098&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;TEXT-ALIGN: left&quot;&gt;&lt;br /&gt;&amp;nbsp; 위 와 같은 이동장을 이용하여 입양 받으러 갈 생각입니다^^. 너무 잡다하게 처음부터 준비를 많이 한 건지도 모르겠네요. 그래도 왠지 욕심이 자꾸자꾸 생기는 것이 어쩔 수 없더군요. 내일 입양 후 한 가족이 되어 서로 잘 지내고 싶네요^^. 내일 새 가족사진을 올리도록 하겠습니다. 그럼 오늘 즐거운 하루 되세요^^.&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-nd/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-nd/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-nd/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-nd/2.0/kr/&quot; /&gt;
			&lt;/Work&gt;
			&lt;License rdf:about=&quot;http://creativecommons.org/licenses/by-nc-nd/&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;&lt;/fieldset&gt;</description>
			<category>Small Talk</category>
			<category>십자매</category>
			<category>입양</category>
			<category>준비</category>
			<author>(귀차니스트)</author>
			<guid>http://www.filewiki.net/tc/100</guid>
			<comments>http://www.filewiki.net/tc/entry/%EC%84%B8%ED%8C%85-%EC%99%84%EB%A3%8C#entry100comment</comments>
			<pubDate>Sun, 10 Aug 2008 23:58:00 +0900</pubDate>
		</item>
	</channel>
</rss>

