<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Strange Blog</title>
	
	<link>http://j.strane.net/wp</link>
	<description>Programming, Music, Game, ...</description>
	<pubDate>Wed, 10 Sep 2008 01:03:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/jstrane_blog" type="application/rss+xml" /><feedburner:emailServiceId>545932</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjstrane_blog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjstrane_blog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/jstrane_blog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fjstrane_blog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fjstrane_blog" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.hanrss.com/add_sub.qst?url=http%3A%2F%2Ffeeds.feedburner.com%2Fjstrane_blog" src="http://static.hanrss.com/images/add_to_hanrss3.gif">Subscribe with HanRSS</feedburner:feedFlare><item>
		<title>내부 개발툴 자동 업데이트 기능 구현하기</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/385713962/219</link>
		<comments>http://j.strane.net/wp/archives/219#comments</comments>
		<pubDate>Sun, 07 Sep 2008 11:06:39 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Game]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=219</guid>
		<description><![CDATA[
게임 개발이란 굉장히 소모적인 작업이다. 일단 게임 어플리케이션을 만들어야 하고, 또 그 위에 컨텐츠까지 생산해내야 하기 때문이다.
일반적인 응용 어플리케이션 개발은 프로그램을 만들어서 사용자들이 컨텐츠를 생산해내는데 도움을 주는 것이 목적인 반면, 게임과 같은 엔터테인먼트 관련 개발은 프로그램은 물론 컨텐츠 생산까지 개발자가 다 하고 사용자는 오로지 그것들을 소비하기만 하기 때문이다.1
게임을 만드는 일에서 프로그래머가 해야 하는 일은 크게 두가지로 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://j.strane.net/wp/wp-content/uploads/2008/09/tiziano_-_sisifo.jpg" rel="lightbox[219]"><img class="aligncenter size-medium wp-image-302" title="Tizian - Sísifo" src="http://j.strane.net/wp/wp-content/uploads/2008/09/tiziano_-_sisifo-267x300.jpg" alt="" width="267" height="300" /></a></p>
<p><strong>게임 개발이란 굉장히 소모적인 작업이다</strong>. 일단 게임 어플리케이션을 만들어야 하고, 또 그 위에 <span style="text-decoration: underline;">컨텐츠까지 생산</span>해내야 하기 때문이다.</p>
<p>일반적인 응용 어플리케이션 개발은 프로그램을 만들어서 사용자들이 컨텐츠를 생산해내는데 도움을 주는 것이 목적인 반면, 게임과 같은 엔터테인먼트 관련 개발은 프로그램은 물론 컨텐츠 생산까지 개발자가 다 하고 <span style="text-decoration: underline;">사용자는 오로지 그것들을 소비</span>하기만 하기 때문이다.<sup>1</sup></p>
<p>게임을 만드는 일에서 프로그래머가 해야 하는 일은 크게 두가지로 분류할 수 있다.</p>
<p>우선 첫번째로 외부 고객, 즉 유저들을 상대로 하는 부분들을 제작하는 일이다. 보통 바깥에서 보면 개발의 전부라고 생각할 수 있는 부분이다. 예를 들면 프로그램의 UI 작성, 내부 로직 작성 등이다.</p>
<p>그리고 앞서 이야기했던 게임 제작의 특성상 두번째 일이 추가된다. 즉, <strong>내부의 고객(기획파트와 그 외 파트들)을 상대로 하는 부분들</strong>을 만드는 일이다. 예를 들면 새 캐릭터를 추가하는 캐릭터 에디터, 맵을 만드는 맵 에디터, 퀘스트를 작성하는 퀘스트 에디터, 몬스터를 추가하는 몹 에디터 등이 있을 것이다.</p>
<p>이러한 내부 고객용 프로그램의 경우 비 프로그래머가 사용하는 프로그램이긴 하지만, 굉장히 특정한 소수의 사람들만 사용하기 때문에 불특정 다수가 사용하는 게임처럼 <span style="text-decoration: underline;">자동 업데이트를 공들여 만드는 것은 약간 비효율적</span>이다. 하지만 그렇다고 매 변경시마다 바이너리를 수동으로 배포하는 방식은 문제가 많다.</p>
<ol>
<li>소스 변경시 개발자가 빌드해서 새 바이너리를 만든다.</li>
<li>이 바이너리를 사용자들이 접근할 수 있는 공간에 업로드 한다.</li>
<li>바이너리가 변경되었음을 사용자들에게 알린다.</li>
<li>사용자들은 새 바이너리가 릴리즈 된 것을 확인하고 다시 다운로드를 한다.</li>
</ol>
<p>보다시피 이런 일련의 과정은 자동화가 되어 있지 않아서 위 과정 중 한 군데에서만 문제가 발생해도 제대로 작동하지 않는다. 그리고 바이너리의 버전 관리가 되지 않으므로 문제가 발생하면 원인을 파악하기 어렵다.</p>
<p>원활하고 신속한 게임 개발을 위해서는 내부툴들의 자동 업데이트 기능이 필수적이다. 하지만 앞서 이야기했듯이 이 자동 업데이트 기능은 게임 어플리케이션의 그것과는 달리 특정 소수의 인원만 사용하므로 게임 패처처럼 잘 만들 필요는 없다.</p>
<p>따라서 이 포스트의 초점은 <strong>쓸만한 자동 업데이트 기능을 간단하게 구현하는 것</strong>에 있다.</p>
<p><span id="more-219"></span></p>
<h3>자동 업데이트 구현</h3>
<p>이 방법의 핵심은 <span style="text-decoration: underline;">기존에 사용중인 <abbr class="uttInitialism" title="Source Code Management">SCM</abbr> 을 활용</span>하는 것이다.</p>
<p>이 포스트에서는 Subversion 을 사용한다.</p>
<p>우선 내부툴들의 바이너리를 올릴 소스 리파지터리 내의 디렉토리를 선택한다. 이왕이면 툴 소스를 컴파일 시 Release 버전 바이너리가 생성되는 디렉토리가 좋다. 그러면 개발자가 소스 변경 후 릴리즈 버전으로 빌드하면 파일 변경을 SVN 이 자동으로 감지하기 때문이다. 따라서 소스를 커밋할 때 바이너리도 잊지 않고 커밋하게 해준다.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-257" title="자동 업데이트 폴더 구조" src="http://j.strane.net/wp/wp-content/uploads/2008/09/auto_update_1.png" alt="" width="153" height="108" /></p>
<p>위와 같은 폴더 구조를 만들고 proj/bin/tool 폴더는 기획 파트원들도 접근할 수 있게 권한을 주도록 한다. 섭버전의 경우 <a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup.html#tsvn-serversetup-mod_authz_svn">Path-Based Authorization</a> 이 가능하기 때문에 소스 디렉토리는 보호할 수 있다.</p>
<p>그리고 아래와 같은 배치파일을 proj/bin/tool 폴더에 만들어 주도록 한다.</p>
<p>update.bat</p>
<pre class="syntax-highlight:bash">
@echo off
TortoiseProc /command:update /path:&quot;%~dp0&quot; /closeonend:1
start %~n1
</pre>
<p>그리고 아래와 같은 내용으로 각 툴들과 같은 이름의 배치파일들을 생성해 준다. <span style="text-decoration: underline;">파일 이름만 다르고 내용들은 전부 동일</span>하다.</p>
<p>map_editor.bat, quest_editor.bat, &#8230;</p>
<pre class="syntax-highlight:bash">
@echo off
call update.bat %0
</pre>
<p>그러면 아래와 같은 파일 구성이 된다.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-256" title="자동 업데이트 파일 구성" src="http://j.strane.net/wp/wp-content/uploads/2008/09/auto_update_2.png" alt="" width="122" height="86" /></p>
<p>map_editor.bat 와 quest_editor.bat 는 둘 다 동일한 내용의 배치 파일이다. 그리고 새 툴이 추가되면 기존의 *_editor.bat 를 복사해서 파일 이름만 새 툴 이름으로 변경해주면 된다.</p>
<p>그리고 위 파일들을 전부 섭버전에 커밋한다.</p>
<p>위 과정이 다 끝나면 툴을 사용하는 모든 사용자들의 컴퓨터에 TortoiseSVN 을 설치하고 proj/bin/tool 경로를 체크아웃 한다.</p>
<p>그리고 앞으로는 맵 에디터를 실행할 때, map_editor.exe 를 실행하지 말고 map_editor.bat 를 실행해서 툴을 실행하도록 한다. 쉽게는 툴 바로가기를 map_editor.bat 로 바꾸면 된다.</p>
<p style="text-align: center;"><strong>그러면 모든 과정이 끝나게 된다.</strong></p>
<p>앞으로 변경된 바이너리를 프로그래머가 섭버전에 커밋하게 되면 그 이후에 툴을 map_editor.bat 등으로 실행하는 사용자들은 자동으로 TortoiseSVN 을 실행해서 바이너리를 업데이트 하고 나서 실행하게 된다.</p>
<p>따라서 앞으로 툴 수정시 개발자가 할 일은</p>
<ol>
<li>소스 변경시 빌드를 해서 소스와 바이너리를 같이 커밋한다.</li>
</ol>
<p>로 한가지 단계로 줄어들게 된다.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-266" title="태연 - 놀람" src="http://j.strane.net/wp/wp-content/uploads/2008/09/taeyeon_surprise.gif" alt="" width="240" height="180" /></p>
<p style="text-align: center;"><strong>우리 개발툴이 달라졌어요!</strong></p>
<p>적용해보시고 개선해야 할 점이나 피드백이 있으시면 리플 달아주시면 감사하겠습니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<hr /><ol class="footnotes"><li id="footnote_0_219" class="footnote">그래서 현실 세계에서는 UCC 나 MOD 같은 개념들이 등장하고 있다.</li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=17W6l"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=17W6l" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=6VLAl"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=6VLAl" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=pzygL"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=pzygL" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/385713962" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/219/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/219</feedburner:origLink></item>
		<item>
		<title>House M.D. 1×09 DNR</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/370898571/127</link>
		<comments>http://j.strane.net/wp/archives/127#comments</comments>
		<pubDate>Thu, 21 Aug 2008 12:31:50 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Drama]]></category>

		<category><![CDATA[House M.D.]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[음악]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=127</guid>
		<description><![CDATA[House M.D.?
(Massive Attack 의 음악 &#8220;Teardrop&#8221; 과 Digital Kitchen 의 영상미가 만난 House M.D. 의 인트로 영상. 참고로 Dexter 의 센스있는 인트로 영상도 Digital Kitchen 에서 제작했다.)
내가 유일하게 찾아보는 드라마라고 할 수 있는 &#8220;House M.D.&#8221; 다. CSI 도 종영된 분량만 보고 말고 24 도 1 시즌 중반정도만 보다 말고, Grey&#8217;s Anatomy 도, Prison Break 도 [...]]]></description>
			<content:encoded><![CDATA[<h3>House M.D.?</h3>
<a href="http://j.strane.net/wp/archives/127"><em>Click here to view the embedded video.</em></a>
<p>(Massive Attack 의 음악 &#8220;Teardrop&#8221; 과 <a href="http://www.d-kitchen.com/">Digital Kitchen</a> 의 영상미가 만난 House M.D. 의 인트로 영상. 참고로 <a href="http://www.youtube.com/watch?v=W_Nmek2IDfE">Dexter 의 센스있는 인트로 영상</a>도 Digital Kitchen 에서 제작했다.)</p>
<p>내가 유일하게 찾아보는 드라마라고 할 수 있는<strong> &#8220;House M.D.&#8221;</strong> 다. CSI 도 종영된 분량만 보고 말고 24 도 1 시즌 중반정도만 보다 말고, Grey&#8217;s Anatomy 도, Prison Break 도 예외없이 보다 만 내가 유일하게 종영분은 물론이고 매주 방영분이 뜰때마다 다운 받아서 보는 드라마다.<sup>1</sup></p>
<p>매 에피소드마다 희귀병에 걸린 환자가 나오고 하우스 박사가 범죄 사건의 범인을 추리하듯 병명과 원인을 밝혀내는게 주된 구성이다. 이런 구성이 시즌 3 (현재 방영중) 까지 계속 반복되기 때문에 중간에 질려서 그만 보는 사람들도 있다.</p>
<p>하지만 하우스 박사 특유의 괴팍한 성격과 그에 걸맞는 재치있는 언변, 에피소드마다 치밀하게 깔려있는 삶과 죽음에 대한 테마, 감동적인 장면에 항상 깔리는 명곡들, 그리고 셜록 홈즈<sup>2</sup>에서 영감을 받아서 만들었다는 것처럼 구석구석 숨어있는 패러디와 비유들은 쉽게 질리지 않는 요소들이다.</p>
<h3>1&#215;09 DNR (Do not resuscitate)</h3>
<blockquote><p>유명한 트렘펫 연주자인 존 헨리 자일스가 연주 도중에 호흡곤란을 일으켜 실려온다. 이미 주치의가 ALS<sup>3</sup>라는 진단을 내린 상태지만 하우스 박사는 존의 마비 증세가 다른 원인에서 왔다고 판단, 치료를 시작하는데 존은 ALS로 인해 얼마 살지 못하고 고통스럽게 죽을 거라는 두려움에 DNR(소생 거부) 서류에 서명한다. 곧 호흡 곤란을 일으키자 하우스 박사는 DNR 환자라는 사실을 무시하고 삽관을 통해 존을 살리고, 이에 분노한 존은 소송을 제기하는데&#8230;<sup>4</sup></p></blockquote>
<p>위의 OCN 에서 퍼온 에피소드 소개와는 달리, 이 에피소드에서 말하고자 하는 건 고통스러운 죽음에 대한 두려움이 아니다.</p>
<p>이 에피소드를 보지 않은 사람들을 위해 좀 더 상황을 설명하자면, 유명한 트럼펫 연주자인 자일스는 질병으로 인해 트럼펫 연주가 힘들어져서 음악 활동을 중단하고 있었다. 그리고 마지막으로 한번 더 연주를 시도하다가 호흡 곤란으로 쓰러져서 병원으로 실려온다.</p>
<p>더 이상 트럼펫을 연주할 수 없게 되었다는 것에 매우 낙담한 자일스는 소생 거부, 즉 위급 상황에 빠질시 생명을 살리기 위한  인위적인 조치를 거부하는 서류에 서명하게 된다.</p>
<p>그리고 얼마 안있어 자일스는 정말 위급 상황에 빠지게 되고 이 때, DNR 때문에 다른 의료진들이 손을 놓고 있는 사이 하우스 박사가 뛰어들어 삽관을 해서 자일스를 살리게 된다. 다시 의식을 되찾은 자일스는 이에 분노해서 소송을 제기한다.</p>
<p>병으로 인한 고통과 죽음에 대한 두려움은 이 에피소드의 주제와는 거리가 있다. 그보다는 자신에게 있어 <strong>전부나 다름없는 한가지에 매혹된 사람들</strong>에 대한 이야기다./</p>
<p>아래는 이 에피소드를 보면서 기억에 남은 대화 중 하나이다. 소송을 제기한 이후 자일스와 하우스 박사 사이의 대화다.</p>
<p><a href="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001653069.jpg" rel="lightbox[127]"><img class="aligncenter size-medium wp-image-130" title="House 1x09 DNR - John Henry Giles 1" src="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001653069-300x165.jpg" alt="" width="300" height="165" /></a></p>
<p><strong>John Henry Giles</strong> : 다리 저는 게 어떤 건지 경험해 봐서 알죠. 반지가 없어진 약지 손가락도 잘 알고요.</p>
<p>박사님이 왜 그렇게 집착하는지 참 수수께끼더군요. 보통은 구해주길 바라지도 않는 사람을 구하려고 자신의 경력을 희생하고 감옥에 갈 위험을 무릅쓰지는 않을 거요. 정말로 절실하게 집착하는 <span style="text-decoration: underline;">&#8220;어떤 것&#8221;</span>이 있으니 그러신 거겠지.</p>
<p><span id="more-127"></span></p>
<p>보통 사람들이 아내, 자식, 취미 등등을 가질 수 있는 이유는 적나라하고도 아프게 가슴을 때리는 그 <span style="text-decoration: underline;">&#8220;어떤 것&#8221;</span>이 없기 때문이오.  내게는 그게 음악이고 박사님에겐 의술이죠. 자나깨나 생각하게 되는 그 무엇, 보통 사람 노릇을 못하게 만드는 그 무엇을 얘기하는 거요. 그 때문에 우린 훌륭한 실력을 갖추고 최고가 되지만 나머지 모든 것들은 잃게 되죠.</p>
<p>퇴근 후 집에 가면 여인이 마실 것과 키스를 베풀어 주는 그런 일은 결코 우리에겐 일어나지 않을 거요.</p>
<p><a href="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001666291.jpg" rel="lightbox[127]"><img class="aligncenter size-medium wp-image-131" title="House 1x09 DNR - Dr. House" src="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001666291-300x165.jpg" alt="" width="300" height="165" /></a></p>
<p><strong>House</strong> : 그래서 신께선 전자렌지를 창조하신 거죠.</p>
<p><a href="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001673757.jpg" rel="lightbox[127]"><img class="aligncenter size-medium wp-image-129" title="House 1x09 DNR - John Henry Giles 2" src="http://j.strane.net/wp/wp-content/uploads/2008/08/house1x09dvdripmp3-imaavi_001673757-300x165.jpg" alt="" width="300" height="165" /></a></p>
<p><strong>Giles</strong> : 맞아요. 하지만 그 집착하던 것마저도 잃어버리면 모두 끝나버리는 거요.<sup>5</sup></p>
<p><a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID828433163'), this, '대사 원문 보기 &#9660;', '대사 원문 감추기 &#9650;');">대사 원문 보기 &#9660;</a></p>
<div id='SID828433163' style='display:none;'>
<blockquote><p><strong>John Henry Giles</strong> : I know that limp. I know that empty ring finger. And that obsessive nature of yours, that&#8217;s a big secret. You don&#8217;t risk jail and your career to save somebody doesn&#8217;t wanna be saved unless you got something, anything, one thing. The reason normal people got wives &#8216;n&#8217; kids &#8216;n&#8217; hobbies, whatever, that&#8217;s because they ain&#8217;t got that one thing that&#8230; that hits &#8216;em that hard and that true. I got music. You got this, the thing you think about all the time, the thing that keeps you south of normal. Yeah, makes us great. Makes us the best. All we miss out on is everything else. No woman waitin&#8217; at home after work with the drink and the kiss. That ain&#8217;t gonna happen for us.</p>
<p><strong>House</strong> : That&#8217;s why God made microwaves.</p>
<p><strong>Giles</strong> : Yeah. But when it&#8217;s over, it&#8217;s over.<sup>6</sup></p></blockquote>
</div>
<p>누군가 말했었다.</p>
<blockquote><p><strong>열정</strong>이란 하나에 모든 것을 쏟는게 아니라 하나를 위해 다른 모든 것을 버릴 수 있는 것</p></blockquote>
<p>이 에피소드를 보면서 내가 느낀 것도 비슷한 것이었다. 얼핏 보면 똑같은 말인거 같지만 그 뉘앙스에는 큰 차이가 있다.</p>
<p>만약 하우스 박사가 의술에 모든 것을 쏟는다면 그것이 의미하는 바는 그가 가진 모든 능력, 인맥, 자원 등을 총동원해서 의술을 추구하는 것이다. 물론 이 상황이라면 <span style="text-decoration: underline;">그가 의술을 더 이상 할 수 없는 감옥으로 가는 건 절대 올바른 선택이 될 수 없다</span>. 그리고 사실 그게 의술이 아니라 다른 것이라도 상관없을 것이다. 의술에 모든 걸 쏟다가 음악에 모든 걸 쏟을 수도 있는 것 아닌가?</p>
<p>하지만 어떤 것을 위해 다른 모든 것을 버린다는 것은, <strong>오로지 그것만이 중요하다</strong>는 뜻이다. 그것을 위해 노력하고 추구하는 것과는 상관없이 그것이 아니면 안된다는, 어떤 절대적인 것이라는 의미를 내포하는 것이다.</p>
<p>하우스는 의술을 위해 모든 것을 버렸기 때문에 <span style="text-decoration: underline;">의술을 상황에 따라 굽히는건 그에겐 절대 용납할 수 없는 일</span>이다. 그가 가진 마지막 하나이기 때문에 어떤 상황에서도 그는 타협할 수 없다. 모든 것을, 설령 그의 목숨을 잃는다 해도 그는 멈출 수 없을 것이다.<sup>7</sup></p>
<p>어쨌든 이런 이야기들을 보고 있자면 과연 나에게 그렇게 중요한 것이 어떤건지 자문하게 된다. 하지만 시간이 지날수록 느끼는 거지만 자신을 안다는 것은 타인을 이해하는 것만큼이나 어렵다. <strong>좀 더 많이 생각하고 느끼고, 자신 속으로 천착해야 할 시간들이 아직은 내게 많이 남은 것 같다.</strong></p>
<hr /><ol class="footnotes"><li id="footnote_0_127" class="footnote">아쉽게도 이 글을 쓴 이후, 하우스도 시즌 3 이후로는 보지 못하고 있다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li><li id="footnote_1_127" class="footnote">Holmes 는 발음상으로 Homes 와 같다. 물론 House 는 대놓고 House 이고, 친구인 닥터 윌슨은 닥터 왓슨 &#8230; 이밖에도 제작진이 숨겨놓은 많은 공통점들이 있다.</li><li id="footnote_2_127" class="footnote"><a href="http://en.wikipedia.org/wiki/Amyotrophic_lateral_sclerosis">Amyotrophic Lateral Sclerosis</a>, 일명 루게릭 병</li><li id="footnote_3_127" class="footnote"><a href="http://www.onmoviestyle.com/series/skin_01.asp?os_seq=101">http://www.onmoviestyle.com/series/skin_01.asp?os_seq=101</a></li><li id="footnote_4_127" class="footnote">NSC 자막팀의 자막 참고</li><li id="footnote_5_127" class="footnote"><a href="http://tviv.org/House,_M.D./DNR">http://tviv.org/House,_M.D./DNR</a></li><li id="footnote_6_127" class="footnote">뒤로 가면 고집 센 하우스 박사가 의술 외적인 이유로 의술을 포기하게 될 상황이 오자 고집을 꺾기도 한다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=lOeD3k"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=lOeD3k" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=Zdiyek"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=Zdiyek" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=qxo4eK"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=qxo4eK" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/370898571" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/127/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/127</feedburner:origLink></item>
		<item>
		<title>Subversion 1.5.0 릴리즈</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/316976500/116</link>
		<comments>http://j.strane.net/wp/archives/116#comments</comments>
		<pubDate>Sat, 21 Jun 2008 17:08:43 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=116</guid>
		<description><![CDATA[Subversion 1.5.0 이 6월 19일자로 릴리즈 되었습니다. 이전 버전인 1.4.6 은 2007년 12월 20일에 릴리즈 되었으니 약 6개월만입니다.
이번에 새로 추가된 기능은

머지 트래킹 (Merge tracking)
부분 체크아웃 (Sparse checkouts)
인터랙티브 컨플릭 해결
체인지리스트 (Changelist)
svn:externals 개선
그 외 여러가지 개선 및 버그 수정

입니다. 자세한 내용은 SVN 1.5 릴리즈 노트를 참고하면 됩니다.
서버 1.5.0 버전에 대응되는 윈도우용 클라이언트인 TortoiseSVN 1.5.0 도 21일자로 나왔습니다.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://subversion.tigris.org/">Subversion</a> 1.5.0 이 6월 19일자로 릴리즈 되었습니다. 이전 버전인 1.4.6 은 2007년 12월 20일에 릴리즈 되었으니 약 6개월만입니다.</p>
<p>이번에 새로 추가된 기능은</p>
<ol>
<li><strong>머지 트래킹 (Merge tracking)</strong></li>
<li>부분 체크아웃 (Sparse checkouts)</li>
<li>인터랙티브 컨플릭 해결</li>
<li>체인지리스트 (Changelist)</li>
<li>svn:externals 개선</li>
<li>그 외 여러가지 개선 및 버그 수정</li>
</ol>
<p>입니다. 자세한 내용은 <a href="http://subversion.tigris.org/svn_1.5_releasenotes.html">SVN 1.5 릴리즈 노트</a>를 참고하면 됩니다.</p>
<p>서버 1.5.0 버전에 대응되는 윈도우용 클라이언트인 <a href="http://tortoisesvn.net/">TortoiseSVN</a> 1.5.0 도 21일자로 나왔습니다.  자세한 클라이언트 변경 사항은 <a href="http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html">TSVN 1.5 릴리즈 노트</a> 를 참고하면 됩니다.</p>
<p>이번 릴리즈에서는 <strong>머지 트래킹</strong>이 주요 추가 내용입니다. 써보신 분들은 아시겠지만 섭버전은 브랜치에서 리비전을 올려가며 작업하다가 다시 트렁크로 merge 를 해도 트렁크에서 로그를 보면 merge 한 바로 그 리비전만 보이고 <strong>브랜치에서 작업한 리비전들은 보이지 않습니다</strong>.</p>
<p>그래서 브랜치에서 여러명이 작업하다가 트렁크로 merge 를 하면 변경된 코드에 대한 문의가 merge 를 한 유저에게로만 오는 경우가 많습니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> 실제로 그 유저는 merge 만 했을 뿐이라도 트렁크에서 로그를 보거나 blame 을 하면 그 리비전만 보이기 때문이죠.</p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/logwithoutmerge.png" rel="lightbox[116]"><img class="size-medium wp-image-122" title="TSVN - 머지 트래킹 off" src="http://j.strane.net/wp/wp-content/uploads/2008/06/logwithoutmerge-300x86.png" alt="http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html" width="300" height="86" /></a></p>
<p>위 스크린샷이 바로 이전 버전에서 로그를 봤을 때 상황입니다. r9 와 r14 사이에 브랜치에서 작업이 있었음에도 트렁크에서 로그를 보면 r14 에서 merge 한 기록만 보입니다. 따라서 그 사이에서 변경된 코드 블럭의 경우 블레임을 하면 r14 로만 나오게 됩니다.</p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/logwithmerge.png" rel="lightbox[116]"><img class="size-medium wp-image-123" title="TSVN - 머지 트래킹 on" src="http://j.strane.net/wp/wp-content/uploads/2008/06/logwithmerge-300x84.png" alt="http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html" width="300" height="84" /></a></p>
<p>위 스크린샷은 이번에 1.5.0 에서 추가된 머지 트래킹 기능을 사용했을 때의 모습입니다. TSVN 1.5 에서는 로그창에서 왼쪽 하단의 체크박스를 체크함으로써 볼 수 있습니다. 이전 스크린샷과는 달리 r11 에서 r13 까지 브랜치에서 작업한 리비전들도 같이 보여집니다.</p>
<p>그리고 체인지리스트는 아래와 같이 한 working copy 에서 파일별로 그룹을 나누어서 커밋 등을 할 때 작업 단위를 분리하는 기능입니다. 여러가지 작업을 동시에 할 때 유용합니다.<span id="more-116"></span></p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/changelist.png" rel="lightbox[116]"><img class="size-medium wp-image-121" title="TSVN - 체인지리스트" src="http://j.strane.net/wp/wp-content/uploads/2008/06/changelist-300x154.png" alt="" width="300" height="154" /></a></p>
<p>참고로 위 3개의 스크린샷은 모두 <a href="http://tortoisesvn.tigris.org/tsvn_1.5_releasenotes.html">TortoiseSVN 1.5.0 릴리즈 노트</a>에서 가져온 것입니다.</p>
<p>아직 릴리즈 된지가 얼마 안되어서 섭버전 1.5.0 의 윈도우용 바이너리는 현재 <a href="http://www.visualsvn.com/server/">VisualSVN Server</a> 밖에 없습니다. VisualSVN 은 MS Visual Studio 에 인테그레이션 되는 상용 섭버전 클라이언트인데, 이 회사에서 VisualSVN Server 라고 윈도우용 섭버전 서버를 무료 배포하고 있습니다. 이번에 1.5.0 버전을 테스트 해보려고 한번 설치해봤는데 꽤 괜찮아서 소개합니다.</p>
<h3>VisualSVN Server</h3>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn.png" rel="lightbox[116]"><img class="aligncenter size-medium wp-image-118" title="VisualSVN 서버" src="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn-300x184.png" alt="" width="300" height="184" /></a></p>
<p style="text-align: center;">VisualSVN 서버의 관리창</p>
<p>서버에 있는 모든 repository 들을 한눈에 볼 수 있고 해당 리파지터리들의 내부 디렉토리의 내용들을 볼 수 있습니다.</p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_prop.png" rel="lightbox[116]"><img class="aligncenter size-medium wp-image-120" title="VisualSVN 서버 - Properties" src="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_prop-270x300.png" alt="" width="270" height="300" /></a></p>
<p style="text-align: center;">VisualSVN 서버의 일반 속성</p>
<p>보시면 아시겠지만 <span style="text-decoration: underline;">HTTPS (<abbr class="uttInitialism" title="Secure Sockets Layer">SSL</abbr>)</span> 도 지원하고 인증 방식도 섭버전 자체 인증과 <span style="text-decoration: underline;">윈도우 도메인 인증 (NTLM)</span> 을 지원합니다.</p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_sec.png" rel="lightbox[116]"><img class="aligncenter size-medium wp-image-117" title="VisualSVN 서버 - Security" src="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_sec-250x300.png" alt="" width="250" height="300" /></a></p>
<p style="text-align: center;">VisualSVN 서버의 보안 설정 (권한)</p>
<p>위와 같이 디렉토리 별로 특정 유저 및 그룹의 읽기/쓰기 권한을 설정할 수 있습니다. 위 모습은 윈도우 도메인 인증 방식으로 했을 때 특정 <span style="text-decoration: underline;">도메인 유저 그룹</span>에 R/W 권한을 준 모습입니다.</p>
<p>Apache 와 mod_auth_sspi 모듈을 사용해서 구축했을 때는 특정 도메인 유저에 대해서는 권한을 지정할 수 있는데 특정 도메인 유저그룹에는 지정이 안되어서 골치가 아팠죠.</p>
<p style="text-align: center;"><a href="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_hooks.png" rel="lightbox[116]"><img class="aligncenter size-medium wp-image-119" title="VisualSVN 서버 - Hooks" src="http://j.strane.net/wp/wp-content/uploads/2008/06/visualsvn_hooks-250x300.png" alt="" width="250" height="300" /></a></p>
<p style="text-align: center;">VisuaSVN 서버의 훅 스크립트 설정창</p>
<p>섭버전은 원래 특정 디렉토리에 특정 이름으로 스크립트 파일을 넣어두는 형식으로 훅 스크립트를 지정하는데, VisualSVN 은 위와 같은 GUI 에서 직접 스크립트 내용을 입력하는 형태입니다.</p>
<p>윈도우 서버에서 섭버전 서버를 운용하려면 기존에는 Apache (mod_auth_sspi), OpenSSL, Subversion 등을 깔아서 설정을 해야 했는데 VisualSVN 서버는 설치도 편하고 여러가지 편리한 인터페이스들을 제공하므로 앞으로는 VisualSVN 서버를 사용해보는 것도 좋을 것 같습니다.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=8tGmxi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=8tGmxi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=HkH37i"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=HkH37i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=bbHAGI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=bbHAGI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/316976500" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/116/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/116</feedburner:origLink></item>
		<item>
		<title>원더걸스의 새 싱글 “So Hot” M/V</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/295018275/109</link>
		<comments>http://j.strane.net/wp/archives/109#comments</comments>
		<pubDate>Wed, 21 May 2008 12:43:55 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[WonderGirls]]></category>

		<category><![CDATA[원더걸스]]></category>

		<category><![CDATA[음악]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=109</guid>
		<description><![CDATA[원더걸스의 새 싱글 음원이 공개되었는데 지금 잠이 옵니까?

원본 영상을 볼려면 클릭하세요. &#9660;



Wonder Girls - So Hot M/V






위는 지금까지 공개된 원더걸스 2집 앨범의 사진들입니다. 출처는 JYP Entertainment.]]></description>
			<content:encoded><![CDATA[<p><strong>원더걸스의 새 싱글 음원이 공개</strong>되었는데 지금 잠이 옵니까?</p>
<p><object type='application/x-shockwave-flash' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='500' height='432' id='mncHMovie' align='middle'><param name='quality' value='high'><param name='bgcolor' value='#ffffff'><param name='movie' value='http://dory.mncast.com/mncHMovie.swf?movieID=10016934320080522180638&#038;skinNum=1'><param name='wmode' value='transparent' /><embed src='http://dory.mncast.com/mncHMovie.swf?movieID=10016934320080522180638&#038;skinNum=1' width='500' height='432' type='application/x-shockwave-flash' wmode='transparent'></embed></object></p>
<p><a href="javascript:void(null);" onclick="s_toggleDisplay(document.getElementById('SID404486316'), this, '원본 영상을 볼려면 클릭하세요. &#9660;', '다시 닫기 &#9650;');">원본 영상을 볼려면 클릭하세요. &#9660;</a></p>
<div id='SID404486316' style='display:none;'>
<object classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" width="500" height="375" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"><param name="autostart" value="false" /><param name="url" value="mms://wm-001.cafe24.com/jstrane/wondergirls.wmv" /><embed type="application/x-mplayer2" width="500" height="375" url="mms://wm-001.cafe24.com/jstrane/wondergirls.wmv" fullscreen="true" autostart="false"></embed></object>
</div>
<p style="text-align: center;"><strong><span style="text-decoration: underline;">Wonder Girls - So Hot M/V</span></strong></p>
<p><a rel="lightbox[wg]" href="http://jstrane.cdn2.cafe24.com/wp/wg_2nd_sohee.jpg" rel="lightbox[109]"><img class="imagecenter aligncenter size-medium wp-image-111" title="원더걸스 2집 - 소희" src="http://j.strane.net/wp/wp-content/uploads/2008/05/wg_2nd_sohee-300x225.jpg" alt="원더걸스 2집 - 소희" width="300" height="225" /></a></p>
<p><a rel="lightbox[wg]" href="http://jstrane.cdn2.cafe24.com/wp/wg_2nd_yeeun.jpg" rel="lightbox[109]"><img class="imagecenter aligncenter size-medium wp-image-114" title="원더걸스 2집 - 예은" src="http://j.strane.net/wp/wp-content/uploads/2008/05/wg_2nd_yeeun-300x225.jpg" alt="원더걸스 2집 - 예은" width="300" height="225" /></a></p>
<p><span id="more-109"></span></p>
<p><a rel="lightbox[wg]" href="http://jstrane.cdn2.cafe24.com/wp/wg_2nd_sunye.jpg" rel="lightbox[109]"><img class="imagecenter aligncenter size-medium wp-image-113" title="원더걸스 2집 - 선예" src="http://j.strane.net/wp/wp-content/uploads/2008/05/wg_2nd_sunye-300x225.jpg" alt="원더걸스 2집 - 선예" width="300" height="225" /></a></p>
<p><a rel="lightbox[wg]" href="http://jstrane.cdn2.cafe24.com/wp/wg_2nd_yubin.jpg" rel="lightbox[109]"><img class="imagecenter aligncenter size-medium wp-image-110" title="원더걸스 2집 - 유빈" src="http://j.strane.net/wp/wp-content/uploads/2008/05/wg_2nd_yubin-300x225.jpg" alt="원더걸스 2집 - 유빈" width="300" height="225" /></a></p>
<p><a rel="lightbox[wg]" href="http://jstrane.cdn2.cafe24.com/wp/wg_2nd_sunmi.jpg" rel="lightbox[109]"><img class="imagecenter aligncenter size-medium wp-image-112" title="원더걸스 2집 - 선미" src="http://j.strane.net/wp/wp-content/uploads/2008/05/wg_2nd_sunmi-300x225.jpg" alt="원더걸스 2집 - 선미" width="300" height="225" /></a></p>
<p>위는 지금까지 공개된 원더걸스 2집 앨범의 사진들입니다. 출처는 <a href="http://www.jype.com/">JYP Entertainment</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=LDZD5h"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=LDZD5h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=Jstiqh"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=Jstiqh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=qYzOzH"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=qYzOzH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/295018275" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/109/feed</wfw:commentRss>

	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/109</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/jstrane_blog/~5/301785995/20080522_wondergirls.wmv" length="36556024" type="video/x-ms-wmv" /><feedburner:origEnclosureLink>http://musicimg.cyworld.com/event/video/20080522_wondergirls.wmv</feedburner:origEnclosureLink></item>
		<item>
		<title>무료 공개! Nine Inch Nails 의 신보 The Slip</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/284508085/105</link>
		<comments>http://j.strane.net/wp/archives/105#comments</comments>
		<pubDate>Tue, 06 May 2008 09:03:15 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[Nine Inch Nails]]></category>

		<category><![CDATA[음악]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=105</guid>
		<description><![CDATA[
나인 인치 네일스(Nine Inch Nails) 가 &#8220;무료로 공개된 Nine Inch Nails 의 신보&#8221; 에 이어 이번에는 신보 The Slip 을 Creative Commons 라이센스로 완전히 무료로 공개했습니다.
음반의 일부만을 무료로 공개하고 나머지 음원과 CD 를 판매하는 형식이었던 Ghosts I-IV 와는 달리 이번 The Slip 앨범은 모든 트랙을 무료로 공개하고 크리에이티브 커먼스 라이센스를 채택함으로써 수정 및 재배포가 자유롭습니다.
제공되는 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://j.strane.net/wp/wp-content/uploads/2008/05/nin_the_slip.jpg" rel="lightbox[105]"><img class="imagecenter aligncenter size-medium wp-image-107" title="NIN - The Slip" src="http://j.strane.net/wp/wp-content/uploads/2008/05/nin_the_slip-300x300.jpg" alt="Nine Inch Nails - The Slip 커버" width="300" height="300" /></a></p>
<p>나인 인치 네일스(Nine Inch Nails) 가 &#8220;<a href="http://j.strane.net/wp/archives/96">무료로 공개된 Nine Inch Nails 의 신보</a>&#8221; 에 이어 이번에는 신보 <a href="http://theslip.nin.com/" target="_self"><strong>The Slip</strong></a> 을 <a href="http://www.creativecommons.or.kr/" target="_self">Creative Commons</a> 라이센스로 <strong>완전히 무료로 공개했습니다</strong>.</p>
<p>음반의 일부만을 무료로 공개하고 나머지 음원과 CD 를 판매하는 형식이었던 Ghosts I-IV 와는 달리 이번 The Slip 앨범은 모든 트랙을 무료로 공개하고 크리에이티브 커먼스 라이센스를 채택함으로써 <span style="text-decoration: underline;">수정 및 재배포가 자유롭습니다</span>.</p>
<p>제공되는 포맷은</p>
<ul>
<li>고음질 MP3</li>
<li>FLAC 무손실 (CD 음질)</li>
<li>Apple M4A 무손실 (CD 음질)</li>
<li>CD 음질보다 <strong>더 높은</strong> 24/96 WAVE</li>
</ul>
<p>의 4개 포맷이며 <a href="http://theslip.nin.com/" target="_self">The Slip 홈페이지</a>에 가서 이메일 주소를 등록하면 다운로드 가능한 링크들이 메일로 옵니다. MP3 는 웹에서 바로 다운로드 가능하고 나머지 포맷들은 토런트(torrent)<sup>1</sup>를 통해서 다운로드 받을 수 있습니다.</p>
<p><abbr class="uttInitialism" title="Creative Commons">CC</abbr> 라이센스 타입이 [Attribution-Noncommercial-Share Alike] 이므로 Nine Inch Nails(NIN) 라는 <span style="text-decoration: underline;">원저작자를 밝히고</span> 수정한 2차 저작물 역시 <span style="text-decoration: underline;">위와 같은 라이센스</span>를 가지게 한다면 <span style="text-decoration: underline;">비상업적인 범위 내에서 얼마든지 수정 및 재배포가 자유</span>롭습니다. 다시 말해서 위 조건 하에서 리믹스, 복사, 블로그에 올리기, 친구에게 복사해주기 등이 전부 자유입니다.</p>
<p>예시로 제 블로그에 한번 올려보았습니다. 아래는 The Slip 앨범의 4번 트랙 Discipline 이고 링크를 통해서 자유롭게 다운로드 받으실 수 있습니다.</p>
<p><a class="download" href="http://j.strane.net/wp/wp-content/uploads/2008/05/04-discipline.mp3">Nine Inch Nails - 4. Discipline (MP3)</a></p>
[See post to watch Flash video]
<p style="text-align: center;">&#8230;역시 트렌트 레즈너입니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<hr /><ol class="footnotes"><li id="footnote_0_105" class="footnote"><a href="http://en.wikipedia.org/wiki/BitTorrent_(protocol)" target="_self">BitTorrent</a> 라는 P2P 파일 공유 프로토콜입니다. 윈도우 용 클라이언트는 <a href="http://www.utorrent.com/" target="_self">µTorrent</a> 를 사용하세요.</li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=4RRxoh"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=4RRxoh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=N4mIFh"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=N4mIFh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=HFGYDH"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=HFGYDH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/284508085" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/105/feed</wfw:commentRss>

	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
<enclosure url="http://j.strane.net/wp/wp-content/uploads/2008/05/04-discipline.mp3" length="1" type="audio/mpeg" />
	<feedburner:origLink>http://j.strane.net/wp/archives/105</feedburner:origLink><enclosure url="http://feeds.feedburner.com/~r/jstrane_blog/~5/301785996/04-discipline.mp3" length="8671641" type="audio/mpeg" /><feedburner:origEnclosureLink>http://j.strane.net/wp/wp-content/uploads/2008/05/04-discipline.mp3</feedburner:origEnclosureLink></item>
		<item>
		<title>모든 상위 클래스의 소멸자는 가상이어야 하는가?</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/271833066/104</link>
		<comments>http://j.strane.net/wp/archives/104#comments</comments>
		<pubDate>Thu, 17 Apr 2008 01:46:04 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[boost]]></category>

		<category><![CDATA[C++]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=104</guid>
		<description><![CDATA[C++ 의 모든 base class 의 destructor 는 꼭 virtual 이어야 할까요?
당연한 이야기지만 정답은  &#8220;아니다.&#8221; 입니다.
polymorphic base class 의 경우는 그래야겠지만 단순히 base class 라면 꼭 그럴 필요는 없습니다. 일단 non-virtual destructor 가 문제되는 경우가 하위 클래스의 인스턴스를 상위 클래스로 업캐스팅 해서 사용하다가 삭제하는 경우이므로 이런 경우가 발생하지 않는다면 문제가 없다는 이야기입니다.
예를 들면 boost 의 noncopyable 등의 [...]]]></description>
			<content:encoded><![CDATA[<p>C++ 의 <span style="text-decoration: underline;">모든 base class 의 destructor 는 꼭 virtual</span> 이어야 할까요?</p>
<p>당연한 이야기지만 정답은  &#8220;<strong>아니다.</strong>&#8221; 입니다.</p>
<p>polymorphic base class 의 경우는 그래야겠지만 단순히 base class 라면 꼭 그럴 필요는 없습니다. 일단 non-virtual destructor 가 문제되는 경우가 <strong>하위 클래스의 인스턴스를 상위 클래스로 업캐스팅 해서 사용하다가 삭제</strong>하는 경우이므로 이런 경우가 발생하지 않는다면 문제가 없다는 이야기입니다.</p>
<p>예를 들면 <a href="http://www.boost.org">boost</a> 의 <a href="http://boost.org/doc/libs/1_35_0/libs/utility/utility.htm#Class_noncopyable" target="_self">noncopyable</a> 등의 클래스를 상속한 하위 클래스에서 noncopyable 로 업캐스팅해서 사용하다가 delete 하는 경우는 상상하기 어렵겠죠? 따라서 이런 클래스들은 소멸자가 가상 함수가 아닙니다.</p>
<p>물론 그럴리가 없다고 생각하는 경우라도 혹시나 다른 프로그래머가 그렇게 할지도 모른다는 염려가 든다면 아래와 같이 작성해주면 됩니다.</p>
<pre class="syntax-highlight:c++">class BaseClassNotPolymorphic
{
  protected:
    ~BaseClassNotPolymorphic() {}
};
</pre>
<p>이렇게 <span style="text-decoration: underline;">base class 의 destructor 를 protected 로 설정</span>해두면 이 클래스의 포인터로 delete 등을 시도할 때 컴파일 타임 에러가 발생하므로 문제를 미연에 방지할 수 있습니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> 그리고 실제로 boost 의 noncopyable 클래스의 경우 생성자와 소멸자가 전부 protected 입니다.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=aZhz1i"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=aZhz1i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=BawJxi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=BawJxi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=IR3TnI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=IR3TnI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/271833066" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/104/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/104</feedburner:origLink></item>
		<item>
		<title>오늘 제 블로그가 이상하게 보이는 이유</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869518/102</link>
		<comments>http://j.strane.net/wp/archives/102#comments</comments>
		<pubDate>Tue, 08 Apr 2008 15:32:02 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Blog]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=102</guid>
		<description><![CDATA[
저것 봐요! 블로그가 이상해요!
오늘 하루동안 제 블로그가 이상하게 보일 겁니다. 그 이유는 2008년 4월 9일 오늘이 바로 &#8230;

 
CSS (Cascading Style Sheets) Naked Day 이기 때문입니다. 간단히 설명하자면 CSS 는 웹페이지의 모양을 정의하는 언어입니다. 웹 표준에 따르면 웹페이지의 내용은 HTML 등으로 작성하고 그 모양새(컬러, 폰트, 레이아웃 등)는 CSS 를 사용하여 작성하게 되어있습니다. 이렇게 내용과 외형을 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="imagecenter aligncenter size-full wp-image-47" title="소희 - 만두" src="http://j.strane.net/wp/wp-content/uploads/2007/10/sohee_mandu.gif" alt="" width="250" height="188" /></p>
<p style="text-align: center;"><strong>저것 봐요! 블로그가 이상해요!</strong></p>
<p>오늘 하루동안 제 블로그가 이상하게 보일 겁니다. 그 이유는 2008년 4월 9일 오늘이 바로 &#8230;</p>
<p><span id="more-102"></span></p>
<p><img class="aligncenter size-full wp-image-103" title="naked-day-08" src="http://j.strane.net/wp/wp-content/uploads/2008/04/naked-day-08.png" alt="CSS Naked Day logo" width="268" height="103" /> <a href="http://naked.dustindiaz.com/" target="_self"></a></p>
<p><a href="http://naked.dustindiaz.com/" target="_self"><abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> (Cascading Style Sheets) Naked Day</a> 이기 때문입니다. 간단히 설명하자면 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 는 웹페이지의 모양을 정의하는 언어입니다. 웹 표준에 따르면 웹페이지의 내용은 <abbr class="uttInitialism" title="HyperText Markup Language">HTML</abbr> 등으로 작성하고 그 모양새(컬러, 폰트, 레이아웃 등)는 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 를 사용하여 작성하게 되어있습니다. 이렇게 내용과 외형을 분리함으로써 얻을 수 있는 이점이 여러가지 있습니다.</p>
<p>첫번째로 <strong>접근성</strong>입니다. 이러한 웹 표준을 잘 지킨 페이지라면 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 만 제거하면 모양을 나타내는 부분들은 싹 빠지고 페이지의 내용만이 나타나야 정상입니다. 따라서 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 만 제거하면 시각 장애인들의 스크린 리더 같은 프로그램이나 핸드폰, PDA 같은 모바일 기기들이 순수한 페이지 내용만을 읽어들일 수 있기 때문에 접근성이 높아집니다.</p>
<p>두번째로 <strong>유연성</strong>입니다. 모양과 관련된 부분들이 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 로 잘 분리되어 있다면 단순히 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 를 바꾸는 것만으로도 홈페이지의 테마를 변경할 수 있습니다. 보통 워드프레스의 테마들이 그러하듯이 말입니다. 그리고 프린트 시에는 프린트에 적합한 <abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> 로 교체해서 깔끔하게 프린트 한다거나 하는 일들을 쉽게 할 수 있습니다. (이 경우는 나중에 제 홈페이지가 정상적으로 돌아왔을때 프린트 미리보기를 해보면 알 수 있습니다.)</p>
<p><abbr class="uttInitialism" title="Cascading Style Sheets">CSS</abbr> Naked Day 는 이러한 웹 표준을 알리기 위한 행사입니다. 올해로서 3번째 맞는 행사인데 많은 사이트들이 참여했으면 좋겠습니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=hl8XGi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=hl8XGi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=NQiS2i"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=NQiS2i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=NhfguI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=NhfguI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869518" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/102/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/102</feedburner:origLink></item>
		<item>
		<title>Subversion 에서 로그 메시지 수정이 안된다?</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869520/99</link>
		<comments>http://j.strane.net/wp/archives/99#comments</comments>
		<pubDate>Wed, 02 Apr 2008 03:51:27 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[trac]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/?p=99</guid>
		<description><![CDATA[Subversion 의 로그 메시지를 수정하는 기능은 기본적으로 막혀있습니다.
왜냐하면 로그 메시지를 바꾸는 일은 리비전이 남지 않기 때문입니다. 즉, 데이터를 날릴 수 있는 가능성이 존재하므로 이는 롤백조차 리비전으로 남기는 섭버전의 타임머신 철학상 그다지 추천할만한 기능이 아닙니다.
그래서 섭버전은 로그 메시지 수정, 즉 리비전 속성 변경 (revision properties change) 의 경우에는 무조건 pre-revprop-change 훅 스크립트가 있어야 실행됩니다. 만약 스크립트가 [...]]]></description>
			<content:encoded><![CDATA[<p>Subversion 의 로그 메시지를 수정하는 기능은 기본적으로 <strong>막혀있습니다</strong>.</p>
<p>왜냐하면 <span style="text-decoration: underline;">로그 메시지를 바꾸는 일은 리비전이 남지 않기 때문</span>입니다. 즉, 데이터를 날릴 수 있는 가능성이 존재하므로 이는 롤백조차 리비전으로 남기는 섭버전의 타임머신 철학상 그다지 추천할만한 기능이 아닙니다.</p>
<p>그래서 섭버전은 로그 메시지 수정, 즉 리비전 속성 변경 (revision properties change) 의 경우에는 <span style="text-decoration: underline;">무조건 <em>pre-revprop-change</em> 훅 스크립트가 있어야 실행</span>됩니다. 만약 스크립트가 없다면 로그 메시지를 수정할려고 할 때 아래와 같은 에러 메시지를 볼 수 있습니다.</p>
<p><a rel="lightbox" href="http://j.strane.net/wp/wp-content/uploads/2008/03/edit_log_message.png" rel="lightbox[99]"><img class="imagecenter aligncenter size-medium wp-image-100" title="TortoiseSVN 의 Edit log message 에러" src="http://j.strane.net/wp/wp-content/uploads/2008/03/edit_log_message.png" alt="" width="300" height="62" /></a></p>
<p>섭버전 배포판에 기본적으로 pre-revprop-change 예제가 포함되어 있지만 이것은 리눅스 계열의 쉘 스크립트이기 때문에 윈도우 기반에서는 따로 작성해야 합니다.</p>
<p>정말 새로 작성해야 될까 하는 의문을 품고 섭버전 유저들의 제 2의 바이블인 TortoiseSVN 의 도움말을 뒤져보다 보면  <a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-repository-hooks.html" target="_self">&#8220;4.3. Hook Scripts&#8221;</a> 섹션에서 아래와 같은 윈도우 용 pre-revprop-change.bat 예제를 찾을 수 있습니다.</p>
<pre class="syntax-highlight:bash">
rem Only allow log messages to be changed.
if &quot;%4&quot; == &quot;svn:log&quot; exit 0
echo Property &#039;%4&#039; cannot be changed &gt;&amp;amp;amp;2
exit 1
</pre>
<p style="text-align: right;"><span style="color: #0000ff;">pre</span>-revprop-change.bat</p>
<p>이렇게 pre-revprop-change.bat 를 만들어주면 로그 수정이 가능해집니다. 그런데 trac 을 같이 사용하고 있다면 로그 수정을 해도 트랙의 Timeline 이나 Browse Source 에서 표시되는 섭버전 로그들은 수정되지 않는다는 것을 발견하게 될 겁니다. 따라서 로그 수정시 trac 과 자동으로 싱크를 맞춰주는 기능을 구현해줘야 합니다.</p>
<p>이 기능은 수정된 로그를 반영하는 것이므로 <span style="color: #0000ff;">pre</span>-revprop-change 가 아닌 <span style="color: #ff0000;">post</span>-revprop-change 에 구현해야 합니다. 안그러면 수정된 로그 메시지가 반영되지 않습니다.  <a href="http://trac.edgewall.org/wiki/TracFaq#how-do-i-get-trac-to-resync-the-timeline-with-my-subversion-repository" target="_self">trac 과 subversion 다시 싱크 맞추기</a>를 참고해서 아래와 같이 post-revprop-change 스크립트를 만들어주면 됩니다.</p>
<pre class="syntax-highlight:bash">
rem Only resync when log messages are changed.
if &quot;%4&quot; == &quot;svn:log&quot; C:\Python25\scripts\trac-admin.exe (trac_proj_dir) resync
</pre>
<p style="text-align: right;"><span style="color: #ff0000;">post</span>-revprop-change.bat</p>
<p>파이썬 경로와 (trac_proj_dir) 은 자신의 환경에 맞게 수정해주도록 합니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=X6t9di"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=X6t9di" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=ZGPTqi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=ZGPTqi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=NsZd5I"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=NsZd5I" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869520" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/99/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/99</feedburner:origLink></item>
		<item>
		<title>무료로 공개된 Nine Inch Nails 의 신보</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869522/96</link>
		<comments>http://j.strane.net/wp/archives/96#comments</comments>
		<pubDate>Wed, 05 Mar 2008 04:25:32 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[Nine Inch Nails]]></category>

		<category><![CDATA[음악]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/96</guid>
		<description><![CDATA[
&#8220;소비자가 가격을 결정하는 Radiohead 의 신보&#8221;의 라디오헤드 뒤를 이어서 Nine Inch Nails 도 신보를 비슷한 형태로 발표했습니다.
나인 인치 네일스의 이번 앨범 Ghosts I-IV 는 무료로 배포되는 패키지와 $5, $10, $75 패키지로 구분됩니다. 무료 패키지는 다른 패키지와 다르게 Ghosts I 이라고 전체 36개 트랙 중 맨 처음 9개 트랙만 포함되어 있고 MP3 포맷으로만 제공됩니다.
무료 패키지를 제외한 [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://j.strane.net/wp/wp-content/uploads/2008/03/ghosts_cover_large.jpg' title='NIN - Ghosts I-IV 커버 이미지' rel='lightbox'><img class="imagecenter" src='http://j.strane.net/wp/wp-content/uploads/2008/03/ghosts_cover.jpg' alt='NIN - Ghosts I-IV 커버 이미지' /></a></p>
<p><a href="http://j.strane.net/wp/archives/69">&#8220;소비자가 가격을 결정하는 Radiohead 의 신보&#8221;</a>의 라디오헤드 뒤를 이어서 Nine Inch Nails 도 신보를 비슷한 형태로 발표했습니다.</p>
<p>나인 인치 네일스의 이번 앨범 <a href="http://ghosts.nin.com/">Ghosts I-IV</a> 는 무료로 배포되는 패키지와 $5, $10, $75 패키지로 구분됩니다. 무료 패키지는 다른 패키지와 다르게 Ghosts I 이라고 전체 36개 트랙 중 맨 처음 9개 트랙만 포함되어 있고 MP3 포맷으로만 제공됩니다.</p>
<p>무료 패키지를 제외한 다른 모든 패키지의 디지털 음원은 아래와 같이 3가지 포맷 중 하나로 제공됩니다. 구입할 때 포맷을 선택하면 해당 포맷의 파일을 한번 다운로드 받을 수 있는 링크를 이메일로 보내줍니다.</p>
<ul>
<li>MP3 (320kbps)</li>
<li>FLAC Lossless</li>
<li>Apple Lossless</li>
</ul>
<p>모든 파일은 100% <abbr class="uttInitialism" title="Digital Rights Management">DRM</abbr> Free 입니다. 그리고 아래는 Ghosts 앨범 주문 페이지의 스크린샷입니다.</p>
<p><a href='http://j.strane.net/wp/wp-content/uploads/2008/03/nin_ghosts_order.png' title='NIN - Ghosts I-IV 주문' rel='lightbox'><img class='imagecenter' src='http://j.strane.net/wp/wp-content/uploads/2008/03/nin_ghosts_order.thumbnail.png' alt='NIN - Ghosts I-IV 주문' /></a></p>
<p>라디오헤드에 이어 트렌트 레즈너도 이런 형태의 판매 방식을 채택하는군요. 아이팟을 쓰는 저로서는  <u>태깅도 다 되어있는 무손실 압축 포맷의 음원</u>을 앨범 커버, <abbr class="uttInitialism" title="Portable Document Format">PDF</abbr> 포맷으로 된 부클릿을 포함하여 저렴한 가격으로 구입할 수 있다는게 상당히 매력적입니다. 다운로드 받아보니 추가로 월페이퍼도 포함되어 있습니다.</p>
<p>그리고 아래와 같이 플레이어를 제공해서 웹에서도 음악을 감상할 수 있게 해놨군요. 플레이어에서는 무료로 배포되는 곡들뿐만 아니라 다른 곡들도 감상할 수 있습니다.<br />
<span id="more-96"></span></p>
<p style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="330" id="ghosts_player"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="http://ghosts.nin.com/swf/ghostPlayer.swf?playOnLoad=false&#038;newWindow=false" /><param name="flashVars" value="playOnLoad=false&#038;newWindow=false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="http://ghosts.nin.com/swf/ghostPlayer.swf?playOnLoad=false&#038;newWindow=false" flashVars="playOnLoad=false&#038;newWindow=false" menu="false" quality="high" bgcolor="#000000" width="400" height="330" name="ghost_player" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></p>
<p>마지막으로 제가 맨 처음 NIN 의 음악을 접하고 좋아하게 된 계기였던 &#8220;The Perfect Drug&#8221; 의 뮤직 비디오입니다. 이번 앨범은 어떨지 사뭇 기대가 되네요.</p>
<p style="text-align: center"><embed pluginspage='http://www.macromedia.com/go/getflashplayer' src='http://dory.mncast.com/mncHMovie.swf?movieID=10009135720070125081601&#038;skinNum=1' width='420' height='374' type='application/x-shockwave-flash'></embed></p>
<p><a href="http://youtube.com/watch?v=l0s5UOVsMDg">YouTube 로 보기</a></p>
<p style="text-align: center"><strong>You are the perfect drug!</strong></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=a0FjJi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=a0FjJi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=ItzvEi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=ItzvEi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=w0afQI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=w0afQI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869522" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/96/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/96</feedburner:origLink></item>
		<item>
		<title>Tim Sweeney (언리얼 엔진 개발자) at POPL06</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869525/94</link>
		<comments>http://j.strane.net/wp/archives/94#comments</comments>
		<pubDate>Thu, 28 Feb 2008 12:39:34 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Game]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Tim Sweeney]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/94</guid>
		<description><![CDATA[이번 포스트는 에픽 게임즈 (Epic Games) 의 창업자이자 언리얼 엔진의 메인 프로그래머인 Tim Sweeney 의 2006 년 Principles of Programming Languages (POPL) 에서의 invited talk 프리젠테이션에 관한 것이다. POPL 은 프로그래밍 언어 분야에서는 가장 권위있는 심포지움 중 하나이니 굳이 다른 설명은 필요없을 것 같다.
팀 스위니는 오래 전부터 GDC 에서도 OOP 를 이용한 엔진 개발의 중요성을 [...]]]></description>
			<content:encoded><![CDATA[<p>이번 포스트는 <a href="http://www.epicgames.com/">에픽 게임즈 (Epic Games)</a> 의 창업자이자 언리얼 엔진의 메인 프로그래머인 Tim Sweeney 의 2006 년 <a href="http://www.sigplan.org/popl.htm">Principles of Programming Languages (POPL)</a> 에서의 invited talk 프리젠테이션에 관한 것이다. POPL 은 프로그래밍 언어 분야에서는 가장 권위있는 심포지움 중 하나이니 굳이 다른 설명은 필요없을 것 같다.</p>
<p>팀 스위니는 오래 전부터 GDC 에서도 OOP 를 이용한 엔진 개발의 중요성을 강조해왔으며 최근에 이르러서는 둠, 퀘이크를 만든 존 카멕의 엔진보다 팀 스위니의 언리얼 엔진이 대세로 떠오르고 있다. 언리얼 엔진은 모듈화가 매우 잘 되어 있어서 범용으로 사용 가능한 유일한 게임 엔진이라는 말을 들을 정도이다. (렌더링 미들웨어스러운 게임브리오는 예외로 하자.) 그리고 자체 스크립트 언어인 <a href="http://en.wikipedia.org/wiki/UnrealScript">UnrealScript</a> 로도 유명하다.</p>
<p>프리젠테이션 제목은 <strong>&#8220;The Next Mainstream Programming Language: A Game Developer&#8217;s Perspective&#8221;</strong> 이다. 사실 보통 3D 게임 엔진 개발자라면 imperative programming 의 달인이고 주로 <a href="http://www.siggraph.org/">SIGGRAPH</a> 논문만 볼거 같은데 의외로 프로그래밍 언어에 대해 깊은 관심을 가지고 있어서 놀랐다. pure functional language 인 Haskell 에도 관심을 가지고 있어서 하스켈의 유용한 기능들을 많이 도입하려고 하고 있었다.</p>
<p>그 외에도</p>
<blockquote><p>&#8220;우리는 절대 어셈블리어를 사용하지 않는다! (We never use assembly language)&#8221;</p></blockquote>
<p>라든지 언리얼의 <span style="text-decoration: underline;">정수 변수 중 90%가 배열 인덱스</span>로 사용되기 위해 존재했다는 것과 사용된 for 루프 중 40%가 <a href="http://en.wikipedia.org/wiki/List_comprehension">functional comprehensions</a> 그리고 50%가 <a href="http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29">functional folds</a> 였다는 것도 매우 흥미롭다.</p>
<p>PT 를 보면 기어즈 오브 워(Gears of War)의 예를 들어 몇명의 프로그래머와 몇명의 아티스트가 얼마의 예산을 가지고 몇개월 동안 작업했는가 하는 구체적인 데이터로부터 시작하여 게임에 사용한 라이브러리들도 자세히 설명하고 있다.</p>
<p>그리고 게임 코드를 약 3가지-Game Simulation, Numeric Computation, Shading-로 분류해서 각각에서 중요한 요소들과 우선시되는 요소들(OOP, 속도, 병렬성 등) 을 설명하고 그에 맞는 언어를 소개하고 있다. 게임을 이루는 각 부분마다 특성에 맞는 서로 다른 언어들을 사용하는 것이 매우 흥미롭다. 혹시라도 난 게임 개발만 할거니까 functional language 는 알 필요없어! 라고 하는 분이 있다면 꼭 일독하길 바란다. 이 PT 를 보면 학부 수준에서 배우는 과목은 모두 다 중요하다는 진리를 다시 한번 일깨워준다.</p>
<p>특히나 경험을 바탕으로 한 게임 개발의 구체적인 수치들과 정상급 개발자의 식견은 돈 주고도 배우기 힘든 귀중한 내용들이니 꼭 읽어두도록 하자.</p>
<object style="margin:0px" width="425" height="348.360655738"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=tim-sweeneys-invited-talk-at-popl06-1203829702789920-5"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=tim-sweeneys-invited-talk-at-popl06-1203829702789920-5" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="348.360655738"></embed></object>
<p>오른쪽 하단의 버튼을 클릭해서 풀스크린 모드로 보기를 추천한다.</p>
<h3>외부 링크</h3>
<ul>
<li><a href="http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt">&#8220;The Next Mainstream Programming Language: A Game Developer&#8217;s Perspective&#8221; PPT 파일</a></li>
</ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=drw1Xi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=drw1Xi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=c4SJsi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=c4SJsi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=kUAxVI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=kUAxVI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869525" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/94/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/94</feedburner:origLink></item>
		<item>
		<title>알라딘의 이상한 배송 시스템</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869526/93</link>
		<comments>http://j.strane.net/wp/archives/93#comments</comments>
		<pubDate>Thu, 21 Feb 2008 12:16:56 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[알라딘]]></category>

		<category><![CDATA[잡담]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/93</guid>
		<description><![CDATA[자, 여기 A, B 라는 두명의 사람이 있다고 하자.
우선 A 는 퇴근하고 집에 돌아와 알라딘에 접속해서 여유롭게 책을 검색해보다가 구입을 결정하고 결제한다. 그가 결제한 시각은 1일 오후 7시.
그리고 B 는 회사에 출근하여 일을 하다 갑자기 읽고싶은 책이 떠올라 2일 오전 9시 50분쯤 알라딘에 접속하여 책을 주문한다.
그러면 알라딘에서 주문한 책을 A 와 B 둘 중 누가 [...]]]></description>
			<content:encoded><![CDATA[<p>자, 여기 A, B 라는 두명의 사람이 있다고 하자.</p>
<p>우선 A 는 퇴근하고 집에 돌아와 알라딘에 접속해서 여유롭게 책을 검색해보다가 구입을 결정하고 결제한다. 그가 결제한 시각은 <u>1일 오후 7시</u>.</p>
<p>그리고 B 는 회사에 출근하여 일을 하다 갑자기 읽고싶은 책이 떠올라 <u>2일 오전 9시 50분쯤</u> 알라딘에 접속하여 책을 주문한다.</p>
<p>그러면 알라딘에서 주문한 책을 A 와 B 둘 중 누가 먼저 받았을까?</p>
<ol>
<li>A 가 먼저</li>
<li>B 가 먼저</li>
<li>A 와 B 가 동시에</li>
</ol>
<p><span id="more-93"></span></p>
<p>답은 <strong>2</strong> 이다. 하루 늦게 주문한 B 가 A 보다 하루 먼저 책을 받게 된다.</p>
<p>이유는 알라딘에서 현재 운영하고 있는 <u>&#8220;당일 배송 시스템&#8221;</u> 때문이다. 당일 배송 시스템이란 평일 0시부터 10시까지 주문한 책에 대해서 서울 시내의 경우 당일에 배송을 해주는 시스템을 이야기한다. 즉, 이 시스템은 0시 이전 주문분 (즉 전날 오전 10시 이후부터 24시까지) 은 당일 배송이 되지 않는다.</p>
<p> 물론 이런 경우 &#8220;하루 배송 시스템&#8221; 이라고 전날 밤에 출고해서 다음날 받을 수 있게 해주는 시스템도 있긴 하지만 출고량에 따라서 조기 마감되는 경우가 많아서 나 같은 경우에는 저녁에 두번 주문했었는데 두번 전부 다음날 받지 못했다. 이전까지는 시스템이 이렇게 돌아가는 줄 모르고 당연히 당일 배송 상품을 전날 저녁에 구입했으니 다음날 바로 오겠지라고 생각했다가 두번이나 받지 못해서 고객센터에 문의를 해봤더니 아래와 같은 답변을 얻을 수 있었다.</p>
<blockquote><p>
현재 알라딘의 경우 당일오전출고*당일배송>>당일저녁출고*익일수령>>당일야간출고*익일수령의 우선순위로 출고시스템이 운영하고 있습니다. 다년간의 출고방식 개선과 보완을 거쳐 출고*배송 서비스 만족도와 신속성을 가장 크게 체감하시도록 하는 개편을 통해 도입한 방식입니다.</p>
<p>물론 고객님의 경우처럼 먼저 주문하신 경우임에도 결과적으로는 당일배송보다 늦게 받으시는 경우에는 앞으로도 보완을 해야 겠습니다만, 현재의 제한된 출고/집하 공정 하에서 현행 출고방식에 대한 당장의 변화를 만들기에는 다소 무리가 있다고 판단됩니다.
</p></blockquote>
<p>즉, <u>당일 배송 상품</u>들의 경우 장바구니에 넣어뒀다가 <u>밤 12시 넘어가면 주문하든가 아니면 다음날 오전에 주문하는게 훨씬 낫다</u>는 결론이다. 아무런 배송비의 차이도 없고 다른 혜택이나 불이익도 없는데 <strong>먼저 주문한 사람이 먼저 서비스 받지 못하는</strong> 이런 불합리한 시스템이 존재한다는 점이 흥미롭다.</p>
<p> 물론 회사 측에서도 모든 서울 시내 주문건을 당일 배송 처리하는데는 문제가 있으므로 상대적으로 주문 건수가 적은 오전 시간대의 주문만 당일 배송 처리해서 상대적으로 적은 노력을 들이고 &#8220;우리 쇼핑몰은 당일 배송 시스템을 합니다!&#8221; 라고 홍보할 수 있는건 동종 업계에서 경쟁력을 구가할 수 있는 방법이기는 하다. 그리고 정말 당일에 급히 책이 필요한 사람들에게는 유용할 수 있을지도 모른다.</p>
<p>하지만 요즘 즐겨보는 만화책인 &#8220;바텐더&#8221; 라는 만화책 9권을 보면 이런 상황이 나온다. 호텔 바텐더가 외부에서 호텔 바로 자리를 옮기게 된 주인공 바텐더를 테스트하는 중에 이런 상황이 펼쳐진다. 위스키는 딱 한잔 분량밖에 남지 않았는데 공교롭게도 세명의 손님이 모두 다 마시고 싶어하는 상황. 호텔 바텐더는 이런 상황에서 주인공에게 질문을 던진다.</p>
<blockquote><p>
&#8220;호텔 서비스에 있어서 가장 중요한 건 <strong>&#8216;공정&#8217;</strong> 이란 겁니다.<br />
사람은 자기 외의 다른 누군가가 우대받을 바엔 아예 서비스 따위 바라지 않습니다 &#8230;<br />
왠지 압니까?<br />
인간의 악덕 중에서 가장 뿌리 깊은 감정은 &#8230;<br />
&#8216;질투&#8217;.</p>
<p>위스키는 원 쇼트 분량밖에 없다.<br />
그런데 꼭 마시고 싶다는 손님은 셋.<br />
자 &#8230; 이럴 경우 바텐더라면 어떻게 하겠습니까?&#8221;
</p></blockquote>
<p>이 상황에서 주인공은 한잔 분량의 위스키를 3잔으로 나눠서 무료로 손님들에게 제공한다. 나 역시 알라딘에게 해주고 싶은 말은 똑같다.</p>
<p>진짜 자신들이 서비스라는 걸 제공하는 업체라고 생각한다면 <u>자신들의 편의를 기준삼아 고객들을 차별하지 말고</u>, 겉보기에만 좋아보이게 한쪽에만 쏟아 붓는 서비스를 <u>모든 고객들에게 똑같이 나누어 주라고</u> 말이다.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=PXo2Qi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=PXo2Qi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=YZZFGi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=YZZFGi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=kSbcvI"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=kSbcvI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869526" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/93/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/93</feedburner:origLink></item>
		<item>
		<title>카라얀 100주년 기념 한정반 - 10장을 2.5장 가격에!</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869527/92</link>
		<comments>http://j.strane.net/wp/archives/92#comments</comments>
		<pubDate>Wed, 20 Feb 2008 13:31:16 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[음악]]></category>

		<category><![CDATA[지름]]></category>

		<category><![CDATA[카라얀]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/92</guid>
		<description><![CDATA[








Herbert Von Karajan 탄생 100주년 기념 한정반 &#8220;Master Recordings&#8221; 가 나왔다. 전부 리마스터링된 그라모폰의 음원으로 만들어진 음반이고 한국에서만 발매되는 한정반이라고 한다. 10장으로 구성된 세트의 가격이 약 4만원 중반대이니 &#8220;10 장을 2.5 장 가격으로!&#8221; 라는 광고가 빈말은 아닌거 같다.
1959년에서 1979년 사이의 연주를 담은 것이라고 하는데 카라얀의 음반을 거의 가지고 있지 않은 나로서는 겹치는 걸 확인할 필요도 [...]]]></description>
			<content:encoded><![CDATA[<div class="ttbReview">
<table align=center>
<tbody>
<tr>
<td><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8947771554&#038;ttbkey=ttbjstrane1444001&#038;copyPaper=1"><img src="http://image.aladdin.co.kr/cover/cdcover/8947771554_1.jpg" alt="" border="0"/></a></td>
</tr>
</tbody>
</table>
</div>
<p>Herbert Von Karajan 탄생 100주년 기념 한정반 <strong>&#8220;Master Recordings&#8221;</strong> 가 나왔다. 전부 리마스터링된 그라모폰의 음원으로 만들어진 음반이고 한국에서만 발매되는 한정반이라고 한다. <u>10장으로 구성된 세트의 가격이 약 4만원 중반대</u>이니 &#8220;10 장을 2.5 장 가격으로!&#8221; 라는 광고가 빈말은 아닌거 같다.</p>
<p>1959년에서 1979년 사이의 연주를 담은 것이라고 하는데 카라얀의 음반을 거의 가지고 있지 않은 나로서는 겹치는 걸 확인할 필요도 없어서 그냥 지르기만 하면 됐다[..]</p>
<h3>수록곡</h3>
<p><strong>CD 1</strong><br />
1. R. Strauss : Ein Heldenleben Op.40 (1959)<br />
2. Till Eulenspiegels Lustige Streiche (1973)<br />
<strong>CD 2</strong><br />
1. Beethoven : Symphony Nr.3&#8243;Eroica&#8221; &#038; 4 (1962)<br />
<strong>CD 3</strong><br />
1. Tchaikovsky : Piano Concerto No. 2 (Sviatoslav Richter 1962)<br />
2. Tchaikovsky : Variations on a Rococo Theme for Cello and Orchestra (Mstislav Rostropovich 1968)<br />
<strong>CD 4</strong><br />
1. Brahms : Symphony Nr.2 (1963)<br />
2. Brahms : Symphony Nr.3 (1964)<br />
<strong>CD 5</strong><br />
1. Stravinsky : Le Sacre Du Printemps (1964)<br />
2. Bartok : Concerto for Orchestra (1965)<br />
<strong>CD 6</strong><br />
1. Debussy : La Mer (1964)<br />
2. Debussy :Prelude a lapres-midi d&#8217;un faune (1964)<br />
3. Ravel : Daphnis et Chloe Suite No.2 (1964)<br />
4. Ravel :Bolero (1966)<br />
<strong>CD 7</strong><br />
1. Schubert : Symphony Nr.8 (1964)<br />
2. Schubert : Symphony Nr.9 (1968)<br />
<strong>CD 8</strong><br />
1. Opera Intermezzi (1967)<br />
<strong>CD 9</strong><br />
1. Mozart : Requiem ( 1975)<br />
2. Mozart : Coronation Mass in C major (1975)<br />
<strong>CD 10</strong><br />
1. Beethoven : Vioin Concerto (Anne Sophie Mutter 1979)</p>
<p>내가 확인해본 바로는 리브로는 이미 품절이고 향뮤직은 이 음반 자체가 없고 교보문고, 알라딘은 현재 판매중이다. 그런데 <u>알라딘의 경우 음반 4만원 이상일 때 3천원 할인</u> 쿠폰도 주고 있어서 알라딘에서 책 한권 더 해서 5만원 맞춰서 구입했다[..]</p>
<p>아아 &#8230; 요즘 들어 지름신이 내 곁에 너무 오래 머물고 있는 것 같다. orz</p>
<h3>판매처 링크</h3>
<ul>
<li><a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8947771554&#038;ttbkey=ttbjstrane1444001&#038;copyPaper=1">카라얀 마스터 레코딩 [탄생 100주년 기념 10 For 2.5 특별가 한정 앨범] (알라딘)</a></li>
<li><a href="http://www.kyobobook.co.kr/product/detailViewMuc.laf?mallGb=MUC&#038;ejkGb=MUC&#038;linkClass=14&#038;barcode=0028947771555">Master Recordings [카라얀 마스터 레코딩/ 한정반 10cd] (교보문고)</a></li>
</ul><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=vI4i5i"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=vI4i5i" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=dBaLgi"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=dBaLgi" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=lnOx7I"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=lnOx7I" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869527" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/92/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/92</feedburner:origLink></item>
		<item>
		<title>이사하면 우편물은 어떻게 하지?</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869528/90</link>
		<comments>http://j.strane.net/wp/archives/90#comments</comments>
		<pubDate>Fri, 15 Feb 2008 15:05:01 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[잡담]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/90</guid>
		<description><![CDATA[아실 분들은 이미 알고 계시겠지만 제가 이번에 이사를 했습니다. 뭐 멀리 이사간 건 아니었지만 그래도 오랜만에 이사를 하니 보통 일이 아니더군요. 신경써야 할 일들도 한 두개가 아니고 &#8230; 그래도 다행히 이사를 잘 마쳤습니다. 무엇보다 집이 넓어져서 좋습니다.  
보통 이사하면서 신경써야 할 것들 중 하나에 고지서 같은 우편물들이 있습니다. 아마 요즘에는 대부분 이메일로 받아보셔서 크게 [...]]]></description>
			<content:encoded><![CDATA[<p>아실 분들은 이미 알고 계시겠지만 제가 이번에 이사를 했습니다. 뭐 멀리 이사간 건 아니었지만 그래도 오랜만에 이사를 하니 보통 일이 아니더군요. 신경써야 할 일들도 한 두개가 아니고 &#8230; 그래도 다행히 이사를 잘 마쳤습니다. 무엇보다 집이 넓어져서 좋습니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>보통 이사하면서 신경써야 할 것들 중 하나에 고지서 같은 <strong>우편물</strong>들이 있습니다. 아마 요즘에는 대부분 이메일로 받아보셔서 크게 상관없는 분들도 계시겠지만 저는 그래도 한달에 한번 종이로 된 고지서를 받아봐야 &#8216;아 이번달에는 이 정도 질렀구나[..]&#8216; 라는 실감이 오더군요. 모니터에 표시되는 숫자는 그냥 훑어만 보고 지나치는 경우가 많아서요. 하지만 저도 이메일 청구서로 바꾸면 혜택을 주거나 요금이 고정된 몇몇 청구서들은 이메일로 받아보고 있습니다.</p>
<p>여기서 잠깐 생활의 상식, 구 LG 카드(이젠 신한카드죠)의 경우 우편물로 청구서를 받다가 이메일로 전환하는 경우에도 아무런 혜택이 없었습니다. 다른 회사의 요금 청구서들 같이 몇백원 할인이라든가 포인트 추가 이런게 없었죠. 하지만 한번 이메일로 전환했다가 다시 우편으로 바꿀려고 하면 아래와 같은 팝업창이 뜹니다.<br />
<span id="more-90"></span></p>
<p style="text-align: center">
<img src='http://j.strane.net/wp/wp-content/uploads/2008/02/lgcard_wicked.png' alt='LG카드 팝업' /><sup>1</sup><br />
<strong>what the &#8230;</strong></p>
<p>여튼 우리나라는 초고속 인터넷도 그렇고 뭔가 소비자가 요구하지 않으면 챙겨주지 않는 혜택들이 많은 거 같습니다. 이건 1년 넘게 전에 알게 되어서 언제 글 한번 써야지 했는데 이제야 쓰게 되네요. 저도 혜택을 받았기 때문에 비난하기는 좀 그렇지만 &#8220;임금님 귀 당나귀 귀&#8221;입니다. <img src='http://j.strane.net/wp/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> </p>
<p>여튼 이런 혜택을 주는 요금 청구서 외에 몇개 우편으로 받는 것들이 있어서 이런 것들은 이사하기 한달 전부터 오는 우편물들을 확인해둬서 이사 후에 주소지 변경할 사이트들을 추려놓기는 했습니다. 그리고 실제로도 이사 후에 다 변경했구요. 하지만 이렇게 할 필요없이, 자동으로 우편물을 처리해주는 서비스가 이미 있었습니다.</p>
<p>바로 <a href="http://www.epost.go.kr">인터넷 우체국</a>의 서비스 중에 &#8220;<a href="http://service.epost.go.kr">부가우편서비스</a> - <strong>주소이전신고</strong>&#8221; 가 그러한 서비스입니다. 이 서비스를 신청하면 <u>해당 명의로 기존 주소지에 오는 우편물들을 약 3개월 간 새 주소지로 배달</u>해줍니다. 저도 이사 당일에 전에 살던 집 주인 아저씨가 이런 서비스가 있다고 말씀해주셔서 알게 되어서 신청했습니다. 아직 이렇게 이전 주소지 우편물인데 지금 주소로 온 것들은 없지만 아마 제가 빠트린 몇개는 오지 않을까 생각중입니다. 혹시라도 이사를 최근에 하셨거나 하실 예정이라면 이 서비스를 한번 이용해보시기 바랍니다.</p>
<hr /><ol class="footnotes"><li id="footnote_0_90" class="footnote">2008년 2월 15일</li></ol><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=ayC22je"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=ayC22je" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=Lf1Veie"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=Lf1Veie" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=E6PDfYE"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=E6PDfYE" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869528" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/90/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/90</feedburner:origLink></item>
		<item>
		<title>STL 사용과 코드의 복잡성 및 가독성에 대한 소고</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869529/87</link>
		<comments>http://j.strane.net/wp/archives/87#comments</comments>
		<pubDate>Sat, 26 Jan 2008 07:42:21 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[C++]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[STL]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/87</guid>
		<description><![CDATA[디지츠님이 남겨주신 리플을 보고 STL 같은 표준 라이브러리나 기타 여러 라이브러리들을 사용할 때 저도 그렇고 누구에게나 드는 의문일 거  같기 때문에 그에 대해 간단하게 저의 생각을 적어봤습니다.
&#8220;홀짝도 구분 못하는 STL&#8221; 에서 볼 수 있듯이 C++ Standard Template Library 의 경우 표현력과 재사용성을 서로 trade-off 했기 때문에 STL 로만 코드를 짜는데는 표현력에 많은 제한이 있습니다. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://j.strane.net/wp/archives/84#comment-75">디지츠님이 남겨주신 리플</a>을 보고 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 같은 표준 라이브러리나 기타 여러 라이브러리들을 사용할 때 저도 그렇고 누구에게나 드는 의문일 거  같기 때문에 그에 대해 간단하게 저의 생각을 적어봤습니다.</p>
<p><a href="http://j.strane.net/wp/archives/84">&#8220;홀짝도 구분 못하는 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr>&#8221;</a> 에서 볼 수 있듯이 C++ Standard Template Library 의 경우 표현력과 재사용성을 서로 trade-off 했기 때문에 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 로만 코드를 짜는데는 표현력에 많은 제한이 있습니다. 제가 불평한 것도 그런 표현력이 몇가지 부분에 있어서 많이 부족했기 때문입니다.</p>
<p>하지만 오히려 그 덕분에 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 로만 작성할 수 있는 경우에 그 코드의 가독성과 논리적 명확성은 오히려 더욱 뚜렷해진다고 생각합니다. 반면 아무런 라이브러리도 사용하지 않은, 언어 자체의 expression 과 statement 를 사용한 코드의 경우 그 표현에 있어서 제한이 없으니 더 쉬운 코드나 아니면 이해할 수 없을 정도로 복잡다단한 코드도 나올 수 있을 겁니다. 따라서 저는 <u>단순히 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 사용 여부가 코드의 복잡성이나 가독성을 높이거나 낮춘다고 생각하지는 않습니다.</u></p>
<p><span id="more-87"></span></p>
<p>하지만 어떠한 알고리즘을 사용하는 경우 이미 라이브러리에 구현되어 있다면 직접 구현하는 것보다는 라이브러리를 사용하는 것이 <strong>코드의 가독성</strong>을 높인다고 생각합니다. 물론 그 라이브러리를 잘 아는 사람은 코드를 보고 한번에 이해할 수 있겠지만 모르는 사람은 문서를 읽어봐야 이해할 수 있을 것입니다. 하지만 손수 구현할 경우 라이브러리를 아는 사람이건 모르는 사람이건 전부 다 그 알고리즘 코드를 한줄 한줄 따라가면서 이해를 하거나 주석을 보고 알아내야 할겁니다. 게다가 문서화도 많이 쓰이는 라이브러리들보다 손수 작성한 코드가  더 잘 되어있으리라고는 아마 쉽게 상상할 수 없을 겁니다.</p>
<p>그리고 <strong>코드의 완성도</strong> 면에서도 이미 구현된 라이브러리의 코드의 경우 수많은 테스트를 통과하고 대부분의 예외들을 고려해서 짜여져있기 때문에 개인이 시간에 쫓기면서 짠 코드보다는 훨씬 낫다고 생각합니다. 물론 그렇다고 맹목적으로 추종하고 잘 알지 못하는 상태에서 남용한다면 큰 낭패를 볼 수 있고, 그게 바로 제가 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 과 관련해서 경고하는 포스팅을 계속 하는 이유이기도 합니다.</p>
<p>마지막으로 <strong>유지, 보수</strong> 면에서도 라이브러리 쪽이 유리하다고 생각합니다. <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 과 같은 표준 라이브러리들의 경우 Microsoft 와 같은 컴파일러 제작사들이나 STLport 같은 회사들이 꾸준히 업데이트를 하고 있습니다. 그리고 기타 다른 라이브러리들도 회사나 오픈소스 진영들이 끊임없이 유지, 보수를 하고 있기 때문에 그로부터 얻는 &#8220;공짜 점심의 이득&#8221;도 상당하다고 생각합니다. 직접 작성한 코드의 경우 직접 유지, 보수를 해야 하지만 라이브러리를 사용하는 경우 단순히 업데이트된 라이브러리를 설치하는 것만으로도 유지, 보수의 혜택을 입을 수 있기 때문입니다.</p>
<p>저는 아직까지는 배우는 입장이고 <abbr class="uttInitialism" title="Standard Template Library">STL</abbr> 을 다른 사람들보다 조금 더 안다고 자부하기도 어렵기 때문에 계속 공부하고 사용해 볼 예정입니다. 아마 어떠한 라이브러리라도 손발과 같이 자유자재로 사용할 수 있게 되기까지는 많은 시간과 노력이 필요할 것입니다. 그리고 팀으로 일하는 경우에 있어서는 다른 동료들의 입장도 감안해야 합니다. 모든 사람들이 저와 같은 생각을 가지고 있는 건 아니니까요. 하지만 지금까지 짧은 경험을 통해서나마 느낀 제 생각은 이렇습니다.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=ETxrnId"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=ETxrnId" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=YClBi2d"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=YClBi2d" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=BO3UYBD"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=BO3UYBD" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869529" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/87/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/87</feedburner:origLink></item>
		<item>
		<title>mod_auth_sspi 사용시 Firefox 로그인 문제</title>
		<link>http://feeds.feedburner.com/~r/jstrane_blog/~3/266869530/85</link>
		<comments>http://j.strane.net/wp/archives/85#comments</comments>
		<pubDate>Fri, 25 Jan 2008 15:13:44 +0000</pubDate>
		<dc:creator>J.Strane</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[trac]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://j.strane.net/wp/archives/85</guid>
		<description><![CDATA[예전에 &#8220;Firefox 로 SharePoint 에 접속하기&#8221; 란 포스팅을 한 적이 있었는데 오늘 다른 문제도 같은 원인이었다는 것을 발견하고 글을 쓴다.
보통 Subversion 을 SCM 으로 사용한다면 보안을 위해 암호화 된 프로토콜로 접속하도록 한다. 소스 코드가 plain text 로 네트워크를 왔다 갔다하는건 개발자라면 누구나 피하고 싶은 상황이므로 (물론 오픈 소스라면 해당되지 않겠지만) 이렇게 하는데 섭버전의 경우 지원하는 [...]]]></description>
			<content:encoded><![CDATA[<p>예전에 <a href="http://j.strane.net/wp/archives/79">&#8220;Firefox 로 SharePoint 에 접속하기&#8221;</a> 란 포스팅을 한 적이 있었는데 오늘 다른 문제도 같은 원인이었다는 것을 발견하고 글을 쓴다.</p>
<p>보통 Subversion 을 <abbr class="uttInitialism" title="Source Code Management">SCM</abbr> 으로 사용한다면 보안을 위해 암호화 된 프로토콜로 접속하도록 한다. 소스 코드가 plain text 로 네트워크를 왔다 갔다하는건 개발자라면 누구나 피하고 싶은 상황이므로 (물론 오픈 소스라면 해당되지 않겠지만) 이렇게 하는데 섭버전의 경우 지원하는 보안 프로토콜이 <abbr class="uttInitialism" title="Secure Shell">SSH</abbr> 나 Apache 를 통한 HTTPS (<abbr class="uttInitialism" title="Secure Sockets Layer">SSL</abbr>) 이다. svn+ssh 는 리눅스 기반 운영체제라면 OS 의 사용자 계정과 연동하여 사용할 수 있으므로 가장 편하지만 윈도우 기반의 OS 라면 그렇지 않으므로 보통 아파치를 통해서 HTTPS 로 접속하도록 하고 유저 인증은 아파치 모듈인 <a href="http://sourceforge.net/projects/mod-auth-sspi">mod_auth_sspi</a> 를 사용하여 윈도우 도메인 계정 인증 (NTLM) 으로 한다.</p>
<p>그래서 이번에 trac 을 설치하면서도 동일하게 HTTPS 와 mod_auth_sspi 를 사용하여 암호화하고 윈도우 도메인 계정 인증을 하게 했다. 그런데 Internet Explorer 에서는 다른 쉐어포인트나 기타 윈도우 도메인 인증 페이지에 접속할 때처럼 별도의 로그인 창 없이 인증이 되는데 파이어폭스에서는 접속할 때마다 로그인 창이 뜨는 문제가 있었다. 섭버전을 설치했을 때도 발생했던 문제인데 문제 원인도 찾지 못했고 섭버전에 웹 브라우저로 접속하는 경우도 거의 없었기 때문에 그냥 잊혀져버렸었다. 하지만 트랙의 경우 웹 브라우저로 접속해서 사용해야 하므로 꽤나 빈번하게 창이 뜨는 것 불편함을 느낀 와중에 저번에 포스팅 했던 내용과 결과적으로 같은 원인이라는 것을 파악하고 적용해보았다.</p>
<p>결론적으로 같은 원인이었고 이전 포스팅에서 언급한대로 <u>network.automatic-ntlm-auth.trusted-uris</u> 를 설정해주니 깔끔하게 해결되었다. 참고로 mod_auth_sspi 1.0.4 버전에 버그가 있어서 인터넷 익스플로어 7 에서는 </p>
<blockquote><p>
Bad Request.<br />
Missing or invalid form token. Do you have cookies enabled?
</p></blockquote>
<p>라는 에러가 뜨면서 정상적으로 사용이 불가능한 문제가 있었지만 임시방편으로 해결하고 잘 사용하고 있다. (<a href="http://trac.edgewall.org/ticket/4560">티켓 번호 4560</a>)</p>
<p>나중에 시간이 허락한다면 윈도우 기반의 서버에 아파치, 섭버전, 트랙을 이용하여 통합된 암호화 통신과 인증으로 사용 가능한 개발 시스템 (게다가 무료!) 에 대해서 따로 포스팅을 해보고 싶다.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/jstrane_blog?a=T2TWCTd"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=T2TWCTd" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=hS4teud"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=hS4teud" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/jstrane_blog?a=oXtyj8D"><img src="http://feeds.feedburner.com/~f/jstrane_blog?i=oXtyj8D" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jstrane_blog/~4/266869530" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://j.strane.net/wp/archives/85/feed</wfw:commentRss>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/kr/</creativeCommons:license>
	<feedburner:origLink>http://j.strane.net/wp/archives/85</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.180 seconds --><!-- Cached page served by WP-Super-Cache -->
