<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rein's world</title>
	<atom:link href="http://rein.upnl.org/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://rein.upnl.org/wordpress</link>
	<description>프로그래머, 독서가, 게이머 그리고 블로거</description>
	<lastBuildDate>Thu, 02 Jul 2009 01:52:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>프로그래머의 일상: 업그레이드의 때</title>
		<link>http://rein.upnl.org/wordpress/archives/1697</link>
		<comments>http://rein.upnl.org/wordpress/archives/1697#comments</comments>
		<pubDate>Thu, 02 Jul 2009 01:21:02 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[일상]]></category>
		<category><![CDATA[CruiseControl.NET]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1697</guid>
		<description><![CDATA[하드웨어 업그레이드가 아니긴 하지만. 아래는 몇 일 된  SW 업그레이드 기록들.
Firefox 3.5
Endgadget Korea에서 보고 업데이트. Firefox는 회사 출근해서 켜고, 퇴근할 때나 꺼지기 때문에(&#8230;), 이런 기사를 보고 업데이트하면 내가 더 빠르다(???). 메모리 사용량은 조금 줄어들었나? 이건 잘 알 수 없긴한데[1] 속도는 좀 더 올라간 느낌.
하지만 이건 플러그인이 전부 활성화 안되서 일 수도 있다는 생각이 불현듯 든다(&#8230;).
TortoiseSVN
1.5.x [...]]]></description>
			<content:encoded><![CDATA[<p>하드웨어 업그레이드가 아니긴 하지만. 아래는 몇 일 된  SW 업그레이드 기록들.</p>
<h3>Firefox 3.5</h3>
<p><a href="http://kr.engadget.com/2009/06/30/firefox-3-5-arrives/">Endgadget Korea</a>에서 보고 업데이트. Firefox는 회사 출근해서 켜고, 퇴근할 때나 꺼지기 때문에(&#8230;), 이런 기사를 보고 업데이트하면 내가 더 빠르다(???). 메모리 사용량은 조금 줄어들었나? 이건 잘 알 수 없긴한데<sup>[1]</sup> 속도는 좀 더 올라간 느낌.</p>
<p>하지만 이건 플러그인이 전부 활성화 안되서 일 수도 있다는 생각이 불현듯 든다(&#8230;).</p>
<h3>TortoiseSVN</h3>
<p>1.5.x 를 천년만년 쓰다가 1.6.x으로 버전업. 일종의 staging? 기능이 생긴 것 같다. 이게 없어서 git branch 로 관리했는데 일단 좀 써봐야 할듯하다. 다만 퍼포스 작업 관리나 git branch 처럼 편한지는 잘(이건 익숙한 정도의 문제도 있겠다)</p>
<h3>CruiseControl.net</h3>
<p>1.3.0 쓰다가 1.4.4로 넘어왔다. 이거 완전 신세계네?</p>
<ul>
<li>MSBuild 출력을 제대로 해석한다. 예전에는 MSBuild에 별도의 로거를 붙여서 이걸 해석해서 올리도록 했다.</li>
<li>대쉬 보드가 쓸만해졌다. 예전엔 각 빌드별 링크 수준의 페이지였는데 이젠 좀 더 상세한 정보를 제공한다.</li>
<li>각 프로젝트 별 페이지에 일별 빌드 성공/실패 내역을 간략히 보여준다</li>
<li>소스 저장소 변경 사항 추적 &#8212; 이건 사실 trac / redmine 같은 류의 이슈 트랙커에서도 지원하는거라 그냥 feature-creep 같은 느낌인데 &#8230;</li>
<li>예전에 UnitTest++ 테스트 케이스를 추적(?)하려고하면<a href="http://kaistizen.net/EE/index.php/weblog/comments/continuous_integration_for_visual_c/"> 꽤나 귀찮은 xsl 수정을 거쳐야 했는데</a> + 두 개 이상의 UnitTest++ 테스트 케이스가 있으면 또 고쳐야하기도 하고. 그래서 아예 Google-Test로 전부 옮겨 버렸다. 이건 제대로 파싱도 하고(XSL 수정없이), 보기도 쉽게 되더라.</li>
<li>빌드 통계 페이지가 그래프 수준의 뭔가를 제공한다. 빌드 시간 등등을 그래프로 볼 수 있긴한데, 실제 용도는 좀 불명.</li>
</ul>
<h3>eclipse <em>galileo</em></h3>
<p><a href="http://eclipse.org/galileo/">이클립스가 3.5(갈릴레오) 버젼으로 올라갔다</a>. 회사나 집에서 파이썬 개발툴(&#8230;)로 사명을 다하고 있는데, 집 컴(&#8230;중에 맥북)에 설치한 이클립스는 버젼이 세 개가 있더라. 코코아 32/64, 카본 32. 근데 코코아 버젼이랑 카본 버젼 차이가 뭐지? GUI 라이브러리가 다른 이상의 <em>사용성의 차이</em>가 있나?</p>
<p>맥용 프로그램들이 예쁘고 쓰기 좋은게 꽤 많긴하지만, 그런 프로그램의 수준으로 이클립스를 수정하면 크로스 플랫폼 개발툴로의 가치가 범용성 면에선 줄어들 것 같은데?</p>
<p>사실 정말 해야할 업데이트는 소스 저장소 서버의 SVN 서버 버젼 올리기 같지만 이건 언제 하지 Orz</p>
<ol class="footnotes"><li id="footnote_0_1697" class="footnote">회사에서 쓰는 빌어먹을 삼성 SDS의 인캅스(한 단어) 덕분에 메모리 사용량은 알기 힘들다. 이 뭣 같은 프로그램은 자기 멋대로 DLL을 링크해서 메모리 사용량도 올리고, 시스템 콜 링크 주소도 고친다</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1697/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>프로그래머의 일상: 번역, 블로그 관리</title>
		<link>http://rein.upnl.org/wordpress/archives/1690</link>
		<comments>http://rein.upnl.org/wordpress/archives/1690#comments</comments>
		<pubDate>Mon, 22 Jun 2009 14:18:30 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[일상]]></category>
		<category><![CDATA[책]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[잡담]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1690</guid>
		<description><![CDATA[근황
제목엔 없지만, 요새 좀 아파서(감기 + 몸살 + &#8230; ) 골골 댔었는데, 지난 주말에 워크샵가서 자고(&#8230;), 돌아와서 자고(&#8230;), 또 자고 하다보니 좀 나아진 상태.
좀더 몸 추스리고 하던 일도 마무리하고, 새로 하고 싶은 일도 해야;;
번역
저와 ipkn 군이 번역하고 있는 프로그래밍 책이 7월에 나올 예정.
요즘 역자 소개/서문 + 색인 작업을 하고 있는데, 색인 만드는거 너무 힘들어요(&#8230;).
괜히 색인에 [...]]]></description>
			<content:encoded><![CDATA[<h2>근황</h2>
<p>제목엔 없지만, 요새 좀 아파서(감기 + 몸살 + &#8230; ) 골골 댔었는데, 지난 주말에 워크샵가서 자고(&#8230;), 돌아와서 자고(&#8230;), 또 자고 하다보니 좀 나아진 상태.</p>
<p>좀더 몸 추스리고 하던 일도 마무리하고, 새로 하고 싶은 일도 해야;;</p>
<h3>번역</h3>
<p>저와 ipkn 군이 번역하고 있는 프로그래밍 책이 7월에 나올 예정.</p>
<p>요즘 역자 소개/서문 + 색인 작업을 하고 있는데, 색인 만드는거 너무 힘들어요(&#8230;).<br />
괜히 색인에 오타(페이지 표기 틀린거 포함해서)나 들여쓰기 틀린게 잘 보이던게 아님 Orz</p>
<h3>블로그 관리</h3>
<p>지금 운영 중인 이 블로그(rein&#8217;s world)에서 프로그래밍 관련된 포스팅 (&#8230;중에서 전부는 아니지만) 을 제 나름대로 제목을 다시 붙여가면서</p>
<blockquote><p><a href="http://rein.upnl.org/wordpress/programming">http://rein.upnl.org/wordpress/programming</a></p></blockquote>
<p>에 정리하는데, 확인해보니 마지막으로 업데이트한게 작년 9월 하순. -_-;<br />
뜨악해하면서 잠시 정리했다. 아으으</p>
]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1690/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Programming Erlang 을 읽다 든 생각</title>
		<link>http://rein.upnl.org/wordpress/archives/1685</link>
		<comments>http://rein.upnl.org/wordpress/archives/1685#comments</comments>
		<pubDate>Sat, 20 Jun 2009 12:45:18 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[멀티스레딩]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1685</guid>
		<description><![CDATA[얼마 전에 Pragmatic Version Conrol using Git 이랑 같이 구입한 Programming Erlang을 읽는 중이다.[1] 읽다가 드는 생각은, 멀티스레드 프로그래밍 혹은 병행 프로그래밍(concurrent programming)은 그 &#8220;원칙&#8221;에서 거기서 거기구나란 느낌이 든다.
Erlang에서 병행 프로그래밍이 쉽고/성능이 잘 나온다는 이유로 강조하는게,

변수 대입에 부가 효과(side-effect)가 없다 (erlang에선 변수에 한 번 대입하고 나면 끝이다)
스레드/프로세스 간 동기화는 메시지 패싱을 통해서만 이루어진다
스레드간 통신은 비동기적이다
분산 [...]]]></description>
			<content:encoded><![CDATA[<p>얼마 전에 Pragmatic Version Conrol using Git 이랑 같이 구입한 Programming Erlang을 읽는 중이다.<sup>[1]</sup> 읽다가 드는 생각은, 멀티스레드 프로그래밍 혹은 병행 프로그래밍(concurrent programming)은 그 &#8220;원칙&#8221;에서 거기서 거기구나란 느낌이 든다.</p>
<p>Erlang에서 병행 프로그래밍이 쉽고/성능이 잘 나온다는 이유로 강조하는게,</p>
<ul>
<li>변수 대입에 부가 효과(side-effect)가 없다 (erlang에선 변수에 한 번 대입하고 나면 끝이다)</li>
<li>스레드/프로세스 간 동기화는 메시지 패싱을 통해서만 이루어진다</li>
<li>스레드간 통신은 비동기적이다</li>
<li>분산 환경(RPC-like distributed env.) 구축이 쉽다</li>
<li>side-effect가 없는<sup>[2]</sup> 함수형 언어</li>
</ul>
<p>정도였다.<sup>[3]</sup></p>
<p>실제로 C/C++로 병행 서버를 작성할 때에 보통 하는 일들이,</p>
<ul>
<li>메시지 패싱등을 사용하는 비동기 (작업) 큐 구현</li>
<li>메시지 패싱을 통한 느슨한 동기화</li>
<li>모든 작업은 비동기 적이며, continuation 같은 구현(혹은 closure나 C++ 0x lambda 같은 류)이 흔하다</li>
<li>상수 값 사용이 많다. 변수들은 흔히 상수부(한 번 초기화 되고 변경하지 않는)와 변경 가능한 부분을 분리하고, 변경 가능한 부분에 적당한 동기화를 수행하게 짠다<sup>[4]</sup> .</li>
</ul>
<p>이런 일이다. 덤으로 부가 효과라는게 생각만큼 &#8212; 그러니까 싱글스레드만큼 &#8212; 쉽게 쓸 수 있는게 아니게 되어서, 가능하면 함수형 언어에 가깝게 만든다. 힙 대신에 스레드 로컬한 장소 &#8212; 스택이라거나 TLS라거나 &#8212; 에 값을 보관한다거나. 비동기적으로 실행되고 / 중단되고 / 재개되는 closure 비슷한 것들(co-routine이라거나 C++ 0x lambda + thread 라거나, MS Windows fiber 류의 유저 레벨 스레드 팩키지 라거나 )을 사용한다.</p>
<p>다만 erlang에서 맘에 들었던 점은 &#8212; erlang이 만들어진 목적 때문이겠지만 &#8212; 이런 메시지 패싱 자체가 언어 자체 프레임웍으로 구현되어 있다는 것. 그리고 C/C++ 환경에서 프로그래머가 신경써야하는 상수 값 (혹은 단일 초기화 원칙) 을 언어 런타임이 처리한다는 것은 훌륭하다. 다만 게임 서버 같이 꽤나 단단히 묶여있는(tightly coupled system)  류의 응용에서 흔히 나오는 여러 값의 동시 업데이트 &#8212; 약간은 트랜잭션 같은 류의 &#8212; 는 어찌 처리해야할지는 아직 감이 잘 안온다.</p>
<p>ps. Project Euler를  erlang 연습삼아 풀어보고 있는데, 언어 자체의 라이브러리 탓인듯도 하지만 문자열 다루는게 너무 귀찮게 되어있어서 괴롭다. Python도 값이 상수라는 건 똑같(?)지만 이렇게 힘들진 않았는데(사실 그건 파이썬이 여러번 대입할 수 있어서 일지도 모르지만), 스크립트 언어류를 쓰다가 좀 더 static한 언어를 쓰려니 귀찮다.</p>
<ol class="footnotes"><li id="footnote_0_1685" class="footnote">한글 번역서가 있는데 모르고 영문 eBook을 구입해버렸다. 사고나서 다음날 출근해보니, 팀장형이 한글판 번역서를 보고 있더라 ㅠㅠ</li><li id="footnote_1_1685" class="footnote">사실 전역 테이블을 다루는 API가 있어서 완전히 그런건 아니지만 그런 연산은 사실상 지양되는 걸로 보이니 그건 빼고 생각하겠다</li><li id="footnote_2_1685" class="footnote">내가 erlang에선 뉴비인지라 틀린 부분이 있을 수 있다. 그런게 있으면 알려주시라 <img src='http://rein.upnl.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </li><li id="footnote_3_1685" class="footnote">락을 쓰든  RCU를 쓰든, 동기화 큐를 만들든 &#8230;</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1685/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>실패할 인터넷 광고 &#8211; 테레비 (a.k.a spam)</title>
		<link>http://rein.upnl.org/wordpress/archives/1681</link>
		<comments>http://rein.upnl.org/wordpress/archives/1681#comments</comments>
		<pubDate>Fri, 12 Jun 2009 08:33:41 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[악령이 출몰하는 세상]]></category>
		<category><![CDATA[일상]]></category>
		<category><![CDATA[잡담]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1681</guid>
		<description><![CDATA[요즘 블로그 댓글류로 &#8220;이런 서비스를 시작하니 한 번 와보세요&#8221; 하는 해당 글 내용과는 전혀 상관없는 댓글이 달리는걸 보는데, 이번 경우는 좀 심한게 하나 걸렸다.
예전엔 사람이 하는 경우가 많아서 그나마 관련있는 블로그의 관련글, 혹은 관련있는 블로그의 관련없는 글(&#8230;이미 무개념이지만)에 댓글이 달렸다. 하지만 요즘은 아주 무차별적으로 달리더라. 오늘 달린 무게념 광고는 테레비초콘지 뭔지하는 듣도보도 못한 잡 서비스.
이런 [...]]]></description>
			<content:encoded><![CDATA[<p>요즘 블로그 댓글류로 &#8220;이런 서비스를 시작하니 한 번 와보세요&#8221; 하는 해당 글 내용과는 전혀 상관없는 댓글이 달리는걸 보는데, 이번 경우는 좀 심한게 하나 걸렸다.</p>
<p>예전엔 사람이 하는 경우가 많아서 그나마 관련있는 블로그의 관련글, 혹은 관련있는 블로그의 관련없는 글(&#8230;이미 무개념이지만)에 댓글이 달렸다. 하지만 요즘은 아주 무차별적으로 달리더라. 오늘 달린 무게념 광고는 테레비초콘지 뭔지하는 듣도보도 못한 잡 서비스.</p>
<p>이런 댓글이 달렸다 &#8212; 물론 Akismet이 알아서 스팸처리 했다. 즉, 대부분의 워드프레스 기반 블로그에서는 스팸처리 되고 있을 것이다.</p>
<p><img class="aligncenter size-full wp-image-1682" title="spam" src="http://rein.upnl.org/wordpress/wp-content/uploads/2009/06/spam.png" alt="spam" width="707" height="283" /></p>
<p>이것만 보면 정상적인(?)메시지인 것 같지만, 저 글자체는 프로그래밍 개발툴 설정과 관련된 내용이다.<br />
+ 이 블로그에 스크린 캐스트 류의 글은 한 개도 없다. 유튜브 임베드한 글도 통틀어 1개 일텐데&#8230;</p>
<p>구글에서 저걸 검색해보자. 수 많은 스팸이 잡힌다 -_-; <em>이런 식으로 악명을 잔뜩 쌓아놓고</em> 성공하길 바라는건 좀 문제가 많지않은가.</p>
]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1681/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>프로그래머의 일상: svn + CruiseControl.net 설정 삽질</title>
		<link>http://rein.upnl.org/wordpress/archives/1679</link>
		<comments>http://rein.upnl.org/wordpress/archives/1679#comments</comments>
		<pubDate>Wed, 10 Jun 2009 14:47:38 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[잡담]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1679</guid>
		<description><![CDATA[오늘 십여일만에 회사에서 빌드 툴을 만지다가 &#8212; 출근은 어제부터 하긴 했지만 &#8212; 심각한 오류를 발견 -_-
빌드 서버에서 빌드하는 소프트웨어 군이 5개 정도 있는데, 그 중 하나가 몇 일 전부터 제대로 빌드되지 않고 있었다. 덤으로 레드마인에도 해당 프로젝트가 업데이트 안된다(저장소;repository 메뉴가 표시되다 맘).
원인은 알고보니 좀 어이없긴 했다.

원래 해당 SVN 저장소에서는 authz를 안 쓰고 passwd만 쓴다
CI 툴이나 [...]]]></description>
			<content:encoded><![CDATA[<p>오늘 십여일만에 회사에서 빌드 툴을 만지다가 &#8212; 출근은 어제부터 하긴 했지만 &#8212; 심각한 오류를 발견 -_-</p>
<p>빌드 서버에서 빌드하는 소프트웨어 군이 5개 정도 있는데, 그 중 하나가 몇 일 전부터 제대로 빌드되지 않고 있었다. 덤으로 레드마인에도 해당 프로젝트가 업데이트 안된다(저장소;repository 메뉴가 표시되다 맘).</p>
<p>원인은 알고보니 좀 어이없긴 했다.</p>
<ul>
<li>원래 해당 SVN 저장소에서는 authz를 안 쓰고 passwd만 쓴다</li>
<li>CI 툴이나 redmine에서 쓰는 read-only 계정이 있다</li>
<li>authz는 디렉토리 별 그룹 권한 혹은 사용자 권한을 지정하고 / passwd 파일은 인증을 담당한다<sup>[1]</sup></li>
<li>얼마 전에 기획팀 쪽 분에게 특정 리소스 파일 디렉토리 권한을 준다고 authz 설정을 했다</li>
<li>딱히 그룹 설정이 없던 CI/redmine용 계정은 권한 설정을 안했다</li>
<li>그렇다고 / 에 대한 기본 권한 설정도 안했다</li>
</ul>
<p>&#8230;</p>
<p>그래서 CI/redmine용 계정은 해당 프로젝트 저장소를 접근할 수 없었던 것.</p>
<p>Orz</p>
<p>authz에 한 줄 추가하고 ( / 에 대한 r 권한) 모든게 돌아가기 시작하고 작업 종료.</p>
<ol class="footnotes"><li id="footnote_0_1679" class="footnote">local-closed network이라 딱히 인증을 빡쎄게 하진 않는다</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1679/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>git svn 동작이 거지같게 느껴지던 이유</title>
		<link>http://rein.upnl.org/wordpress/archives/1671</link>
		<comments>http://rein.upnl.org/wordpress/archives/1671#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:27:21 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1671</guid>
		<description><![CDATA[실제론 svn으로 버젼관리를 하는 상황에서, git을 그 위에 쓰다보니 몇 가지 문제를 겪어야 했다.사실 몇 가지 점에서 git 의 동작을(혹은 git-svn의 동작을) 이해할 수가 없었는데, 최근에 Pragmatic Version Control using Git 을 구입해서 읽고나니 약간은 이해할 수 있게 되었다.
svn은 본질적으로 선형적인(linear) 이력(history) 를 갖는다. 즉,

최초의 repository 상태가 있고,
이 위에 새로운 변경 rev 2
그 위에 새로운 [...]]]></description>
			<content:encoded><![CDATA[<p>실제론 svn으로 버젼관리를 하는 상황에서, git을 그 위에 쓰다보니 몇 가지 문제를 겪어야 했다.사실 몇 가지 점에서 git 의 동작을(혹은 git-svn의 동작을) 이해할 수가 없었는데, 최근에 <a href="http://www.pragprog.com/titles/tsgit/pragmatic-version-control-using-git">Pragmatic Version Control using Git</a> 을 구입해서 읽고나니 약간은 이해할 수 있게 되었다.</p>
<p>svn은 본질적으로 선형적인(linear) 이력(history) 를 갖는다. 즉,</p>
<ol>
<li>최초의 repository 상태가 있고,</li>
<li>이 위에 새로운 변경 rev 2</li>
<li>그 위에 새로운 변경이 더해져 rev 3</li>
<li>&#8230;</li>
<li>마지막 변경이 가해져서 rev n</li>
</ol>
<p>이 되는 형태다.</p>
<p>반대로 git은 각 개별 repository(DVCS니까)가 브랜치처럼 인지되고 / 변경 사항이 merge 되는 것 처럼 동작한다. 이에 따라 svn update에 대응되는 git 동작은 git pull이 아니라 git svn rebase (사실상은 git rebase) 만 가능해던 거다. 선형 이력이 아니라 브랜치간 merge 이력인 git이 svn 쪽에는 정상적인 svn 복사본인양 보여야하기에 이런 뻘짓(&#8230;)을 해야하는 거 -_-;<sup>[1]</sup></p>
<p>그리고 rebase 이기 때문에 커밋되지 않은 변경사항이 있으면 안되던 것 &#8212; 보통 git stash로 잠시 패치를 만들어 빼둔다 &#8212; 도 이해가 가게 되었다; svn update는 로컬에 변경사항이 있다면 묵시적인 머지를 시도하는 거지만,  git의 경우엔 그런 머지를 git의 관점에서 추적할 수단이 없기에 -_-;</p>
<p>개인적인 해결책(?)은 그냥 svn 브랜치 / 개발 브랜치 따로 쓰면서 git svn을 쓰는게 답이 아닐까 싶지만 -_-; 그럼 git svn이 복잡하기도 하고 merge/fast-forward 가 난무하게 되는 것도 사용자 입장에선 꽤나 귀찮은 일이 될테니 역시 이것도 답이 없나?</p>
<p>결국 git-svn의 동작이 이해안가고 / 맘에 안들던 이유는 git과 svn의 이력관리의 차이&#8230;때문인듯하다;</p>
<p>ps. 여튼 책을 읽으면서 커밋되지 않은 변경 사항이 branch 딸 때 어떻게 된다거나 / 써보지 않은 signing이나 k-merge 전략 같은 내용도 개념을 잡게 해줬다는 점에서는 괜찮았다. 그렇지만 책 자체가 튜토리얼치곤 양이 많고 / 리퍼런스치곤 볼륨이 부족하다는 점은 좀 아쉬비;</p>
<ol class="footnotes"><li id="footnote_0_1671" class="footnote">git이 선형 이력이 안되는 이유&#8230;라기보단 git 사용 방식의 문제가 있는데. git은 기본적으로 branching이 매우 쉽다. 그리고 모든 류의 커밋은 merge 처럼 간주해서 처리한다. (분산인 이상은 당연한듯?) 그래서 이력 자체가 선형으로 생길래야 생길 수가 없다. 그래서 이걸 꽉 눌러짜서(&#8230;) git svn rebase로만 업데이트 해야 한다</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1671/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>귀환!</title>
		<link>http://rein.upnl.org/wordpress/archives/1664</link>
		<comments>http://rein.upnl.org/wordpress/archives/1664#comments</comments>
		<pubDate>Fri, 05 Jun 2009 15:18:09 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[일상]]></category>
		<category><![CDATA[잡담]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1664</guid>
		<description><![CDATA[결혼식 마치고 이런데서 쉬다 왔습니다.
이제 다시 일상이 시작 되는 군요.
ps. 결혼식 와주셨던 분들 모두 감사드립니다  
ps2. 물론 그 전에 1000+로 표시되는 구글리더와, 1xx개 쌓여있는 메일함을 훑어봐야하지만 말입니다[...]
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1668" title="travel" src="http://rein.upnl.org/wordpress/wp-content/uploads/2009/06/travel.jpg" alt="travel" width="480" height="360" />결혼식 마치고 이런데서 쉬다 왔습니다.</p>
<p>이제 다시 일상이 시작 되는 군요.</p>
<p>ps. 결혼식 와주셨던 분들 모두 감사드립니다 <img src='http://rein.upnl.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>ps2. 물론 그 전에 1000+로 표시되는 구글리더와, 1xx개 쌓여있는 메일함을 훑어봐야하지만 말입니다[...]</p>
]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1664/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>stackoverflow.com에 이은 serverfault.com이 개장</title>
		<link>http://rein.upnl.org/wordpress/archives/1661</link>
		<comments>http://rein.upnl.org/wordpress/archives/1661#comments</comments>
		<pubDate>Fri, 29 May 2009 12:37:39 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1661</guid>
		<description><![CDATA[프로그래머 / SW 엔지니어라면 &#8212; 특히 구글과 친한 경우 &#8212; 나름대로 들어가봤음직한 페이지인 스택오버플로우 닷 컴이 있다. 이름부터 인상적으로(&#8230;) stackoverflow!
프로그래밍 / SW 개발과 관련된 질문과 답 그리고 각각에 대한 추천 시스템이 있는 꽤나 괜찮은 &#8212; 어떤 면에선 네이버의 지식인 서비스를 닮기도 하다 &#8212; 웹 서비스다. 위키백과 만큼은 아니지만 여기도 링크를 하나씩 누르다보면 시간이 훌쩍 지나가는 [...]]]></description>
			<content:encoded><![CDATA[<p>프로그래머 / SW 엔지니어라면 &#8212; <em>특히 구글과 친한 경우</em> &#8212; 나름대로 들어가봤음직한 페이지인 <a href="http://stackoverflow.com">스택오버플로우 닷 컴</a>이 있다. 이름부터 인상적으로(&#8230;) stackoverflow!</p>
<p>프로그래밍 / SW 개발과 관련된 질문과 답 그리고 각각에 대한 추천 시스템이 있는 꽤나 괜찮은 &#8212; <em>어떤 면에선 네이버의 지식인 서비스를 닮기도 하다</em> &#8212; 웹 서비스다. 위키백과 만큼은 아니지만 여기도 링크를 하나씩 누르다보면 시간이 훌쩍 지나가는 (&#8230;).</p>
<p>여튼 이런 서비스로 꽤 괜찮은 트래픽을 보이고 있는데, 이 서비스의 개발자인 Jeff Atwood의 블로그인 <a href="http://www.codinghorror.com/blog/archives/001269.html">Cording Horror에서 오늘 재밌는 포스팅을 봤다</a>.</p>
<p>첫 그림부터 범상치 않은 하수책<sup>[1]</sup> !!</p>
<p>스택오버플로우 닷컴 만큼이나 인상적인 이름인 serverfalut.com 란 이름으로 이번엔 시스템 관리자들의 문답 페이지를 만든 것. 요즘 내가 하는 거랑은 좀 인연이 없긴하지만 그래도 나름대로 괜찮은 서비스가 하나 더 런칭된듯하니 기쁘다!</p>
<ol class="footnotes"><li id="footnote_0_1661" class="footnote">Unix System Administrator&#8217;s Handbook인데 앞 글자를 거꾸로 따서(&#8230;) 부르면 하수책이 된다</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1661/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>종합소득세로 돈벌기</title>
		<link>http://rein.upnl.org/wordpress/archives/1658</link>
		<comments>http://rein.upnl.org/wordpress/archives/1658#comments</comments>
		<pubDate>Fri, 29 May 2009 08:58:50 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[일상]]></category>
		<category><![CDATA[잡담]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1658</guid>
		<description><![CDATA[작년에 모종의 책 관련된 일로 H 모 출판사에서 15만원을 받았다.
이게 사업 소득? 비슷한걸로 잡혀서 종합 소득세 신고를 해야한다는 통지서가 왔다. 이걸 슥슥 홈택스로 입력하려 했으나, 알 수 없는 오류의 구렁텅이 Orz
결국 거의 끝날이 되어서야(마감일 6/1) 세무서에 가서 신고하고 왔다.
근데 이게 웃긴게,

 세무서에가서 신고하는데도 전자 신고를 한다
전자 신고는 2만원 만큼 세금을 깎아준다
15만원에 대한 세금이래 봐야 수 [...]]]></description>
			<content:encoded><![CDATA[<p>작년에 모종의 책 관련된 일로 H 모 출판사에서 15만원을 받았다.</p>
<p>이게 사업 소득? 비슷한걸로 잡혀서 종합 소득세 신고를 해야한다는 통지서가 왔다. 이걸 슥슥 홈택스로 입력하려 했으나, 알 수 없는 오류의 구렁텅이 Orz<br />
결국 거의 끝날이 되어서야(마감일 6/1) 세무서에 가서 신고하고 왔다.</p>
<p>근데 이게 웃긴게,</p>
<ul>
<li> 세무서에가서 신고하는데도 전자 신고를 한다</li>
<li>전자 신고는 2만원 만큼 세금을 깎아준다</li>
<li>15만원에 대한 세금이래 봐야 수 천원 수준.</li>
</ul>
<p>&#8230;덕 분에 세금 &#8211; 2만원 해서 1.x만원을 환급받게 생겼음(?!?!?!?!)</p>
]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1658/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>프로그래머에게 배움이란</title>
		<link>http://rein.upnl.org/wordpress/archives/1648</link>
		<comments>http://rein.upnl.org/wordpress/archives/1648#comments</comments>
		<pubDate>Tue, 26 May 2009 06:48:14 +0000</pubDate>
		<dc:creator>rein</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://rein.upnl.org/wordpress/?p=1648</guid>
		<description><![CDATA[중요하면서도 좋은 것입니다.
Warning treated as error &#38; STL 에서 트랙백
바로 밑의 글도 읽고나서 읽으시면 됩니다. :$
1. Warning을 무시해도 된다는 얘긴 아닙니다. 원글에서 중점을 두고 얘기한건 배열 길이 계산에 관한 문제 &#8212; 지극히 C 적인 코드 &#8212; 인데 그걸 C++ 차원에서 컴파일하고 / 해석하는건 좀 심하다고 생각해서 글을 썼을 뿐입니다.
그리고 왜 Joel 블로그를 링크해 주셨는지는 이해가 [...]]]></description>
			<content:encoded><![CDATA[<p>중요하면서도 좋은 것입니다.</p>
<p><a href="http://lymose.egloos.com/4959453">Warning treated as error &amp; STL</a> 에서 트랙백</p>
<p><a href="http://rein.upnl.org/wordpress/archives/1642">바로 밑의 글</a>도 읽고나서 읽으시면 됩니다. :$</p>
<p>1. Warning을 무시해도 된다는 얘긴 아닙니다. 원글에서 중점을 두고 얘기한건 배열 길이 계산에 관한 문제 &#8212; <em>지극히 C 적인 코드</em> &#8212; 인데 그걸 C++ 차원에서 컴파일하고 / 해석하는건 좀 심하다고 생각해서 글을 썼을 뿐입니다.</p>
<p>그리고 왜 Joel 블로그를 링크해 주셨는지는 이해가 안가는군요. 전 C/C++의 포인터 형 변환에 관한 설명을 한거 뿐입니다.</p>
<p>OS 커널 같이 binary interface가 중요한게 아니면 C++은 충분히 이식성 있는(portable)한 언어이고, 굳이 C 수준 라이브러리에 얽혀있는 글을 쓸 필요는 없다는 의미에서 아랫 글을 작성했습니다.</p>
<p>2. boost::assignment 라는 아주 훌륭한 대안이 존재합니다. vector를 쓴다면 이런 식의 코드가 가능합니다.</p>
<blockquote><p>vector&lt;int&gt; v;<br />
v += 1,2,3,4,5,6,7,8,9;</p></blockquote>
<p>&lt;array&gt;를 쓴다면 좀 더 복잡하지만,</p>
<blockquote><p>array&lt;int, 3&gt; x;<br />
x = list_of( 1 )( 2)( 3).to_array(x);</p></blockquote>
<p>같이 인간이 읽기 쉬운 형태로 초기화하는 것을 지원합니다 <img src='http://rein.upnl.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>그런 의미에서 C++의 vector나 array는 기존 C 형식의 배열이 같은 거의 모든 장점을 가지면서도 C++ 특유의 추상화를 적절히 포함한 툴이라고 생각됩니다.</p>
<p>내가 생각하기에 C와 C++이라는 비슷하면서도 타입 시스템이나 추상화 방식에서 차이를 보이는 언어를 배웠다면, 그 차이를 살려야 혹은 살릴 수 있어야 합니다.</p>
<p>C에서 암시적인 형변환을 이용해서 사용자가 제어할 수 있는게 많은 추상화를 쓸 수 있다면<sup>[1]</sup> , C++ 특유의 연산자 오버로딩 등을 이용해서 더 쉽게 C++을 살리는 법도 배워야 한다고 혹은 배울줄도 알아야 한다고 생각합니다.</p>
<ol class="footnotes"><li id="footnote_0_1648" class="footnote">예를 들어 linux 파일 시스템 코드라거나 네트웍 드라이버 모듈 같은걸 까보면 사실 상의 virtual function을 쓰는걸 볼 수 있다.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://rein.upnl.org/wordpress/archives/1648/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
