<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Experiments never fail</title>
		<link>http://yong27.biohackers.net/</link>
		<description>Life, Science, Trial, Diversity</description>
		<language>ko</language>
		<pubDate>Sun, 05 May 2013 08:53:02 +0900</pubDate>
		<generator>Tattertools 1.1.2 : Animato</generator>
		<image>
		<title>Experiments never fail</title>
		<url>http://yong27.biohackers.net/attach/1/6683597880.jpg</url>
		<link>http://yong27.biohackers.net/</link>
		<width>200</width>
		<height>200</height>
		<description>Life, Science, Trial, Diversity</description>
		</image>
		<item>
			<title>블로그 시즌1 종료</title>
			<link>http://yong27.biohackers.net/381</link>
			<description>블로그가 막 유행하기 시작하던 2000년대 초반, 난 &quot;블로그는 위키의 서브셋이다&quot;라는 생각으로 위키만 썼었다. 그러다 점점 시간이 지나 솜씨 좋은 블로거들의 글들을 보고는 &quot;오... 재밌어 보이네?&quot; 그러면서 나도 써볼까하며 블로그를 알아보기 시작했더라는.&lt;br /&gt;&lt;br /&gt;시작은 네이버블로그였다. &lt;a href=&quot;http://blog.naver.com/yong27/100001682424&quot;&gt;아싸 첫글&lt;/a&gt;이란 제목으로 2004년 4월에 시작. 아, 물론 그 전에 SomeThinks 라는 제목의 테크노트 게시판도 있긴 했지만(지금은 테크노트 보안문제로 닫힘) 공식적으로 블로그를 시작한건 이때가 처음이였다. 매사의 느낌들을 블로그 포스팅하는것에 재미들렸던 당시 거의 이틀에 한번꼴로 포스팅을 하다가 &lt;a href=&quot;http://blog.naver.com/yong27/100004850114&quot;&gt;네이버에 실망하고는 개인서버로 옮겼더랬지&lt;/a&gt;. 그게 2004년 8월이나 벌써 9년 가까이 흘렀군. &lt;br /&gt;&lt;br /&gt;당시 시즌 같은 개념은 잘 몰랐고, 네이버 글들을 모두 일일이 개인서버 테터툴즈로 다 옮겼다. 네이버블로그에는 링크만 남기고 다 지움. 그렇게 시작한 테터툴즈 블로그. 그동안 스킨도 몇번 바꿨고 업데이트도 꽤 하긴 했는데 아무래도 내맘대로 고칠 수 없다보니 맘에 안드는 부분이 있어도 그냥 넘어가야 했다. 점점 글쓰기 빈도도 줄어들고... 어쨌건 9년 가까운 시즌1을 이제는 마치고 &lt;a href=&quot;http://yong27.biohackers.net/s2/1/begin-s2-with-paprika/&quot;&gt;내맘대로 고쳐가는 블로그 파프리카와 함께 시즌2를 시작&lt;/a&gt;하고자 한다. 좀더 잦은 실험과 느낌 공유를 꿈꾸며...&lt;br /&gt;&lt;br /&gt;다른 사람들도 그런지 모르겠다. 난 내가 옛날에 쓴 글을 보면 참 대견하다 싶다. 아 저 옛날에 저런 생각을 갖고 있었다니 쫌 유치하긴 하지만 그래도 대단한 표현력인걸? 하며 기특한데? 큭큭... 그러다 보니 옛날 글들을 지우고 싶지 않았다. 옛날 글들은 그때 고유주소 그대로 지금도 이용가능. 나의 블로그 시즌 변경 그 첫번째 요구사항임.&lt;br /&gt;&lt;br /&gt;URL을 다시 정리하자면 사이트 입구가,&lt;br /&gt;&amp;nbsp;1. 시즌1: &lt;a href=&quot;http://yong27.biohackers.net/s1/&quot;&gt;http://yong27.biohackers.net/s1/ &lt;/a&gt;&lt;br /&gt;&amp;nbsp;2. 시즌2: &lt;a href=&quot;http://yong27.biohackers.net/s2/&quot;&gt;http://yong27.biohackers.net/s2/&lt;/a&gt;&amp;nbsp; (&quot;/s2/&quot;를 안붙혀도 시즌2가 디폴트)&lt;br /&gt;&lt;br /&gt;각 글들의 고유링크는 그대로 유지된다. &lt;a href=&quot;http://yong27.biohackers.net/s2/enf/rss/&quot;&gt;시즌2는 1과 다른 피드주소가 사용&lt;/a&gt;되니 만일 RSS 리더로 구독하시는 분이 있다면 피드주소는 살짝 바꿔주셔야 함. &lt;br /&gt;&lt;br /&gt;어쨌건 그간 함께 한 시즌1, 테터툴즈 안녕. 당분간은 불편하겠지만 &lt;a href=&quot;https://github.com/yong27/paprika&quot;&gt;파프리카&lt;/a&gt;에 적응해보자!&lt;br /&gt;</description>
			<category>SomeThinks</category>
			<category>blog</category>
			<category>naver</category>
			<category>paprika</category>
			<category>season</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/381</guid>
			<comments>http://yong27.biohackers.net/381#entry381comment</comments>
			<pubDate>Wed, 03 Apr 2013 00:51:33 +0900</pubDate>
		</item>
		<item>
			<title>장고(Djagno) 1.5의 파이썬 3 지원</title>
			<link>http://yong27.biohackers.net/380</link>
			<description>&lt;a href=&quot;https://www.djangoproject.com/weblog/2013/feb/26/15/&quot;&gt;며칠 전 장고(Django) 1.5가 정식 발표됐다&lt;/a&gt;. 1.5의 가장 눈에 띄는 변화는 바로 &lt;a href=&quot;https://docs.djangoproject.com/en/1.5/topics/python3/&quot;&gt;파이썬(Python) 3 지원&lt;/a&gt;! 냉큼 현재 작업 중인 프로젝트를 장고 1.5, 파이썬 3.3으로 올려봤다. 몇 가지만 수정했더니 아주 잘 동작한다. 브라보! 나온 지 벌써 4년이 넘었지만, 하위호환성을 이유로 깔아보는 데만 만족해하던 파이썬 3. 이제야 제대로 쓸 수 있는 시대가 도래한 것 같다.&lt;br /&gt;&lt;br /&gt;자, 파이썬 3의 변화가 어떤 것인지 되짚어 보자.&lt;br /&gt;&amp;nbsp;1. 문자열이 유니코드가 기본이다. unicode가 str이 되고 str은 bytes가 됐다. 국제화 시대에 어울리는 설정. 영어만 사용하는 사람들에게도 유니코드를 기본사용으로 강제한 셈. 우리로서는 환영할 일. &lt;br /&gt;&amp;nbsp;2. 반복처리가 필요한 부분은 모두 반복자가 리턴되도록 변경. dict().keys() 같은 것은 더이상 리스트가 아니라 반복자가 리턴돼서 메모리 효율이 좋게 됐다. iterkeys() 같은 건 없어짐.&lt;br /&gt;&amp;nbsp;3. 혼동됐던 각종 빌트인 모듈이름들을 좀 더 깔끔하게 변경 (cStringIO.StringIO --&amp;gt; io.StringIO )&lt;br /&gt;&amp;nbsp;4. set을 표현하는 또 다른 방법 {1,2,3,4}, {x for x in range(5)} &lt;br /&gt;&amp;nbsp;5. print 가 문이 아니라 함수임. print(&#039;hello&#039;) 로 써야함.&lt;br /&gt;&amp;nbsp;6. a, *b, c = range(10) 이 동작함&lt;br /&gt;&amp;nbsp;7. 국제화 식별자 가능 (어느정도 &lt;a href=&quot;http://yong27.biohackers.net/360&quot;&gt;한글로 프로그래밍 가능&lt;/a&gt;)&lt;br /&gt;&amp;nbsp;8. 기타등등 (자세한건 &lt;a target=&quot;&quot; href=&quot;http://docs.python.org/3/whatsnew/3.0.html&quot;&gt;파이썬 3의 새로운 기능들 공식 문서&lt;/a&gt;를 보세요)&lt;br /&gt;&lt;br /&gt;보면 알겠지만, 파이썬 언어 자체를 좀 더 깔끔하게 개선하려는 노력들이다. 나의 코드도 저 깔끔함을 따라가고 싶다. 그것이 파이썬 3을 써야하는 이유이다. (위 목록 중 일부는 이미 2.7에도 적용되어 그대로 써도 된다.) &lt;br /&gt;&lt;br /&gt;파이썬 3 쓰고 싶다. 그러나 지원하지 않는 라이브러리들 때문에 쉽지 않다. 그렇다면 2.7과 3.3에서 모두 동작하도록 만들면 된다. 꼭 필요한 라리브러리의 3 지원이 안된다면 아쉽지만 그 코드 그대로 2.7에서 돌리면 된다. 이런 생각을 가능하게 만든건 &lt;a href=&quot;https://pypi.python.org/pypi/six&quot;&gt;six 라는 모듈&lt;/a&gt; (아마도 2 x 3 = 6 여서 six 라는 이름이 붙은 듯). 약간의 노력으로 버전 2, 3 동시 호환성을 갖도록 프로그래밍할 수 있다. &lt;br /&gt;&lt;br /&gt;장고 문서에도 소개돼있는 &lt;a href=&quot;https://docs.djangoproject.com/en/1.5/topics/python3/#porting-tips&quot;&gt;파이썬 3 기준으로 코딩하면서 2 도 동작하도록 만드는 방법&lt;/a&gt;은 다음과 같다. 이는 꼭 장고뿐 아니라 모든 파이썬 프로그래밍에도 유효하다.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;1. 문자열 이터럴 u&quot;&quot;를 사용한 문자열에 u를 모두 뺀다. 그리고, 2.7에서도 알아먹을 수 있도록 코드 맨 앞에 다음을 추가한다.&amp;nbsp; &lt;br /&gt;&lt;blockquote&gt;from __future__ import unicode_literals&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;2. models.Model 등 클래스의 __unicode__ 메쏘드는 그냥 __str__ 을 쓰면 된다. 대신 2.7에서 돌게 하려면 다음과 같은 클래스 데코레이터를 붙히면 된다. &lt;br /&gt;&lt;blockquote&gt;from __future__ import unicode_literals&lt;br /&gt;from django.utils.encoding import python_2_unicode_compatible&lt;br /&gt;&lt;br /&gt;@python_2_unicode_compatible&lt;br /&gt;class MyClass(object):&lt;br /&gt;&amp;nbsp; &amp;nbsp; def __str__(self):&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;Hello world&quot;&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;3. dict().item() 를 꼭 써야 할 경우 좀 문제가 된다. 같은 코드가 파이썬 2와 3이 다르게 인식하기 때문. 이 경우 six.iteritems(dict())로 하면 버전에 맞게 알아서 동작한다. &lt;br /&gt;&lt;blockquote&gt;import six&lt;br /&gt;dict = {&#039;a&#039;:123, &#039;b&#039;:456}&lt;br /&gt;dict.items()&amp;nbsp; # dont&#039; do that if you want to same operation on 2, 3.&lt;br /&gt;six.iteritems(dict)&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;4. 그밖에 꼭 2,3를 다르게 코딩해야한다면 six.PY3 으로 분기할 수도 있다. &lt;br /&gt;&lt;blockquote&gt;if six.PY3:&lt;br /&gt;&amp;nbsp; &amp;nbsp; # do stuff Python 3-wise&lt;br /&gt;else:&lt;br /&gt;&amp;nbsp; &amp;nbsp; # do stuff Python 2-wise&lt;/blockquote&gt;&lt;br /&gt;&amp;nbsp;5. 그밖의 상황들은 장고 문서 &lt;a href=&quot;https://docs.djangoproject.com/en/1.5/topics/python3/&quot;&gt;Porting to Python 3&lt;/a&gt;을 참고.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://python3wos.appspot.com&quot;&gt;Python 3 Wall of Superpowers&lt;/a&gt;에 가면 각종 써드파티 모듈들의 파이썬 3 지원여부를 알 수 있다. 보면 MySQLdb는 아직 없고 psycopg2는 있다. 이부분에도 &lt;a href=&quot;http://biohackers.net/wiki/MySQL&quot;&gt;MySQL&lt;/a&gt;이 지고 &lt;a href=&quot;http://biohackers.net/wiki/PostgreSQL&quot;&gt;PostgreSQL&lt;/a&gt;이 뜨고 있음을 실감. &lt;a href=&quot;http://wiki.python.org/moin/Python2orPython3&quot;&gt;파이썬 3 소개페이지&lt;/a&gt;에 &quot;특정 모듈의 버전 3 지원이 없을 땐 어찌하나요&quot;에 대한 대답이 의미심장하다.&lt;br /&gt;&amp;nbsp;1. 파이썬 3 포팅을 직접 하시지요&lt;br /&gt;&amp;nbsp;2. (최신버전 지원도 안하는) 그걸 꼭 써야하나요? 그 라이브러리를 빼는건 어때요?&lt;br /&gt;&lt;br /&gt;참고로, 장고 1.5의 파이썬 3 지원은 &quot;실험적&quot;이라는 단서가 붙어 있다. 완벽 지원은 1.6에서 할 예정이란다. 그래도 괜찮다. 어짜피 2.7, 3.3 모두 동작하게 만들면 3.3 문제 발생시 2.7로 돌리면 되니까. &quot;점진적 버전 업은 이렇게 하는 것이다&quot; 라고 알려주는 듯하다. 장고의 이러한 파이썬 3 지원방법은 장고 밖에서도 유효하다. 앞으로 모든 파이썬 프로그래밍을 이런 방식으로 하면, 3의 장점을 누리면서도 2를 함께 쓸 수 있다. &lt;br /&gt;&lt;br /&gt;파이써니스트들이여, 이제는 파이썬 3을 써야 할 때! &lt;br /&gt;</description>
			<category>Pythoneer</category>
			<category>django</category>
			<category>python</category>
			<category>python3</category>
			<category>six</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/380</guid>
			<comments>http://yong27.biohackers.net/380#entry380comment</comments>
			<pubDate>Thu, 07 Mar 2013 20:18:09 +0900</pubDate>
		</item>
		<item>
			<title>이틀간의 나홀로 코펜하겐 여행</title>
			<link>http://yong27.biohackers.net/379</link>
			<description>지난 2월, &lt;a href=&quot;http://insilicogen.com/blog/111&quot;&gt;회사업무차 유럽출장(독일 뮌헨, 덴마크 오르후스)에 다녀왔다&lt;/a&gt;. 하루 정도 관광일정을 넣고 싶었는데 저렴한 항공일정 등을 고려했을 때 가장 괜찮은 곳이 &lt;a href=&quot;http://ko.wikipedia.org/wiki/%EC%BD%94%ED%8E%9C%ED%95%98%EA%B2%90&quot;&gt;코펜하겐&lt;/a&gt;이었다. 덴마크발음으로 쾨쁜하임. 안데르센의 동화 속 북유럽 도시 코펜하겐은 어떤 느낌일까. 이런 기회 아니면 가볼 수 없는 곳이다 싶어 과감히 출장일정 후 이틀짜리 나홀로 관광을 했다. 벌써 석 달은 지난 여행이었지만 기록은 남겨야겠기에 늦은 블로그 포스팅. (이렇게 남기지 않으면 그냥 사라져 버릴 기억일 것만 같아)&lt;br /&gt;&lt;br /&gt;북유럽은 복지 선진국이긴 하지만 높은 세금과 비싼 물가로 여행객들이 별로 선호하지 않는 곳이라고. 게다가 늦겨울이라 가볼 만한 곳이 있을까 싶었는데 의외로 이틀간 알차게 구경하고 낭만적인 거리와 예술작품 구경, 신기한 경험들을 많이 했다. 거리에서 포옹하고 키스하는 이쁜 연인들을 자주 봤다. 낭만의 도시라 할 만하다. 대부분 명소를 숙박한 호텔에서 걸어서 이동할 수 있었던 멋스러움의 도시 코펜하겐.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777682634/&quot; title=&quot;IMG_3558 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7194/6777682634_df333585fc_z.jpg&quot; alt=&quot;IMG_3558&quot; height=&quot;640&quot; width=&quot;478&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;공항에서 기차로 코펜하겐 중앙역에 도착했다. 이 동네는 기차표 개찰구가 없어서 표를 사야 하나 말아야 하나 좀 고민이 되긴 했다. 기차표 검사도 없기에 좀 아깝다 싶긴 했는데, 돌아올 때는 검사했음. 안 샀으면 큰일 날 뻔.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777684430/&quot; title=&quot;IMG_8270 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7036/6777684430_055c1d1bee.jpg&quot; alt=&quot;IMG_8270&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;중앙역은 밖에서 보면 이렇게 생겼다. &lt;a href=&quot;https://maps.google.com/maps?q=copenhagen+star+hotel&quot;&gt;호텔스닷컴에서 예약했던 호텔은 중앙역 근처&lt;/a&gt;였는데 이런, 호텔 지도를 인쇄해 오지 않아 위치를 어떻게 찾아야 하나 난감했다. 아이폰 3G 인터넷은 당연히 안 되고, 난 오직 예약 당시의 기억만으로 근처를 찾아 헤맸는데 날씨도 엄청나게 추웠고, 여행가방도 무겁고, 이걸 어찌 해야 하나 싶었다. 이런 철저하지 못한 준비라니!&lt;br /&gt;&lt;br /&gt;내가 찾은 해결책은 와이파이가 잡히는 곳을 찾아다니는 것. 어렵게 어떤 가계 앞에서 와이파이를 잡고, 구글검색하여 찾아갈 수 있었다. 어렵게 도착한 호텔 로비의 직원이 나를 보고 &quot;You looks very cold&quot; 라고 첫마디를 날렸음. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777683662/&quot; title=&quot;IMG_3565 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7065/6777683662_e19e59261a_z.jpg&quot; alt=&quot;IMG_3565&quot; height=&quot;640&quot; width=&quot;478&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;호텔에 짐을 풀고 여행 일정을 점검했다. 이틀간 어디 어디를 가볼 수 있을까. 인어공주상, 티볼리공원, 덴마크 국립박물관, 글립토텍 박물관, 국립미술관 등... 티볼리공원은 겨울에는 안 연단다. 크리스마스 기간에만 연다고. 거기에 가봐야 코펜하겐에 다녀온 거란 말이 있던데, 아쉽게도 거긴 못 감. 일단 인어공주상이 있는 곳까지 걸어갔다 오기로 했다. 날씨가 추워 멋 같은 거 챙길 틈이 없음. 목도리로 완전무장.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777685178/&quot; title=&quot;IMG_8271 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7060/6777685178_edc70c77d5.jpg&quot; alt=&quot;IMG_8271&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;코펜하겐 시청을 지나감. 시청건물도 예사롭지 않아 보이는 것이 여기도 꽤 오래된 건물이라고.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777686238/&quot; title=&quot;IMG_8274 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7049/6777686238_82b09a5938.jpg&quot; alt=&quot;IMG_8274&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;그리고, 보행자 전용도로 입구. &quot;스트로이&quot;라는 이동네 유명한 차없는 도로란다. 저 도로로 코펜하겐 명소들을 대부분 걸어서 이동할 수 있다. 이쁜 도로임. 거리에 연인들도 많고.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777696022/&quot; title=&quot;IMG_3569 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7188/6777696022_86c39fa1c2.jpg&quot; alt=&quot;IMG_3569&quot; height=&quot;374&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;한참을 걸어 인어공주상 도착. 요 앞에 오니 관광객들이 꽤 보인다. 동양인들도 보이고. 안데르센을 기념하기 위해 만들었다는 인어공주상인데, 직접 보면 좀 생뚱맞긴 하다. 여기저기 사진찍는 사람들도 많고, 근처 공원은 산책하기 좋다. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777704266/&quot; title=&quot;IMG_8318 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7204/6777704266_849500e68f.jpg&quot; alt=&quot;IMG_8318&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;코펜하겐 홍보 사이트에서 자주 봤던 거리풍경. 겨울이 아니라면 좀 더 활기찼을 것 같다. 그래도 이렇게 사진찍어놓으니 이쁘다. 거리가 이쁘니깐. &lt;br /&gt;&lt;br /&gt;많이 걷다 보니 허기가 장난이 아님. 혼자서 뭘 먹어야 하나, 어딜 들어가나 식당을 찾아보았지만 마땅히 혼자갈만한 곳은 보이지 않음. 가끔씩 일식집이 보이던데, 저녁은 일식을 해야겠다.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923822575/&quot; title=&quot;IMG_3575 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7070/6923822575_35615a2e58.jpg&quot; alt=&quot;IMG_3575&quot; height=&quot;374&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&amp;nbsp;&lt;br /&gt;Kongen 공원 근처에서 우연히 Sakura라는 식당을 발견했다. 간판 및에 &quot;벚꽃&quot;이라고 한글까지 써있는 것이 눈에 들어왔다. 앗 이렇게 반가울수가. 보니까 한식, 일식 겸용 식당이였다. 식당주인은 한국분이시다. 코펜하겐에는 한국식당이 이곳까지 두군데 밖에 없다고. 혼자 외국와서 한국식당과 한국인을 만나니 감격이다. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777706494/&quot; title=&quot;Yukgejang by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7066/6777706494_68064f4b9e.jpg&quot; alt=&quot;Yukgejang&quot; height=&quot;374&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;메뉴는 초밥, 육계장, 비빔밥 등이 있었고, 난 육계장을 시켰다. 외국에선 항상 음료는 어떻게 할까요 물어봄. 칼스버그 한명도 시키고, 정말이지 엄청나게 맛나게 먹었다. 외국출장중 먹는 한국음식 맛은 정말 그 감동을 이루 표현할 수가 없다. 밥 한공기 추가.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777709810/&quot; title=&quot;IMG_8324 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7040/6777709810_0511747717.jpg&quot; alt=&quot;IMG_8324&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;중앙역은 밤에는 이렇게 생겼다. 육계장 먹고 행복한 맘으로 호텔로 복귀. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923831467/&quot; title=&quot;IMG_3581 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7205/6923831467_7747593b5f.jpg&quot; alt=&quot;IMG_3581&quot; height=&quot;375&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;다음날 처음 간 곳은 덴마크 국립박물관. 이곳에서 서양문명의 시작부터 덴마크의 현재 역사, 그리고 전 세계의 모습들을 시간가는 줄 모르고 구경했다. 다양한 나라의 문화들을 볼 수 있었는데, 한국관이 없더라. 왜 없는거야 한참을 찾아보니 있었음.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923849939/&quot; title=&quot;IMG_8343 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7182/6923849939_b656306126.jpg&quot; alt=&quot;IMG_8343&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;집에 온것 같은 편안함&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777738024/&quot; title=&quot;IMG_8345 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7055/6777738024_4a8c617251.jpg&quot; alt=&quot;IMG_8345&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;아기자기한 소품들도 많이 모아놓았더라. 저 물건들은 어찌어찌하여 이 먼 곳까지 오게 되었을까.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777714590/&quot; title=&quot;IMG_8327 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7057/6777714590_5a96dfa486.jpg&quot; alt=&quot;IMG_8327&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;그러고는 방문한 글립토텍 박물관 (Ny Carlsberg Glyptotek) 이곳에는 유럽내 유명한 미술작품, 특히 조각작품들이 많이 전시되고 있다.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777744282/&quot; title=&quot;IMG_8361 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7180/6777744282_cb45d61eee_z.jpg&quot; alt=&quot;IMG_8361&quot; height=&quot;640&quot; width=&quot;427&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;한참을 들여다본 조각상임. 사람이 서 있을 때의 바디라인이 이렇게 되는구나 부터 해서, 이쁜 몸매다 등 많은 생각을 하게 한 작품이었다. 최근 읽은 책인 &lt;a href=&quot;http://biohackers.net/wiki/8StepsToaPainFreeBack&quot;&gt;척추가 살아야 내 몸이 산다&lt;/a&gt;에 의하면 저 여자분은 요통에 좀 시달렸을 것 같다. 쌓아 앉기 자세는 되지만 허리가 곧바로 펴 있는 자세는 아니라서.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777751854/&quot; title=&quot;IMG_8381 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7066/6777751854_c0bb5b5216.jpg&quot; alt=&quot;IMG_8381&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;늦은 점심은 중앙역 맥도날드. 신기한 것이 맥도날드 맛은 전 세계 어디나 비슷. 주문 시 직원의 질문을 잘 알아듣지 못했는데 나중에 생각해보니 감자튀김 같이 먹을 거냐고 물어본 것 같다는. 사실 국내에서도 자주 먹어보진 않았어요.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777758330/&quot; title=&quot;IMG_8391 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7064/6777758330_3b3ab930b5.jpg&quot; alt=&quot;IMG_8391&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;해 질 녁이 거의 다 되어가는데, 이대로 관광을 멈출 수는 없었다. 언제 이곳에 또 와보겠는가. 날은 춥고 다리는 엄청나게 아팠지만 좀 더 한참 걸어가서, 국립미술관에 도착. 이곳에 좀 늦게 온 것이 매우 아쉬웠다. 보고 싶은 관들이 많았음. 짧은 시간 내에 많이도 돌아다니며 눈에 많이 담았다.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923871825/&quot; title=&quot;IMG_3599 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7059/6923871825_986cfe21cb.jpg&quot; alt=&quot;IMG_3599&quot; height=&quot;374&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;사이즈에 압도되는 저런 그림들을 보니 정말 눈이 많이도 호강했다. 17세기, 18세기 한참 된 그림들. 그림수집에 취미가 있던 귀족들이 옛날부터 모은 것들을 이렇게 미술관에 전시하는 것이라고. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923881295/&quot; title=&quot;IMG_8407 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7061/6923881295_81c0d029f5_z.jpg&quot; alt=&quot;IMG_8407&quot; height=&quot;640&quot; width=&quot;427&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;국림미술관 관람을 마지막으로 여행일정을 마쳤다. 중간에 코펜하겐 대학도 구경하고, 스트로이에는 저렇게 이쁜 거리풍경이 있다. 나선형 계단이란 곳이 있던데 거기에서는 코펜하겐 시내가 한눈에 보인다던데, 늦은 시간이라 들어가 볼 수 없었다. &lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777717026/&quot; title=&quot;IMG_3605 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7198/6777717026_b725338fd3.jpg&quot; alt=&quot;IMG_3605&quot; height=&quot;374&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;호텔에 돌아와 타국에서의 마지막 잠을 청하기 전 너구라 컵라면과 맥주 한잔. 혼자서 쓸쓸하긴 했지만 이쁜 거리와 예술작품들로 눈이 많이 호강했던 여행이었다. 나홀로 여행 물론 생각도 많이 하고 자유롭게 원하는 것도 보고 또 다니기엔 좋지만, 혼자라는 쓸쓸함이 견디기 어렵더라. 아내하고 함께 갔으면 더 좋았을 뻔. 그리고 &lt;a href=&quot;http://www.flickr.com/photos/yong27/sets/72157629442154351/&quot;&gt;이날의 더 많은 사진들&lt;/a&gt;.&lt;br /&gt;</description>
			<category>Traveler</category>
			<category>alone</category>
			<category>cophenhagen</category>
			<category>tour</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/379</guid>
			<comments>http://yong27.biohackers.net/379#entry379comment</comments>
			<pubDate>Wed, 06 Jun 2012 23:53:44 +0900</pubDate>
		</item>
		<item>
			<title>테스트 주도 장고 웹사이트 개발</title>
			<link>http://yong27.biohackers.net/378</link>
			<description>&lt;a href=&quot;http://biohackers.net/wiki/TestDrivenDevelopment&quot;&gt;테스트 주도 개발(TDD, Test-Driven Development)&lt;/a&gt;이 좋다는 건 알겠는데 실전에 잘 사용한 예는 많지않다. 그나마 동작하는 테스트코드가 있다는 것만으로 위안하는 경우가 많음. 시작은 TDD로 했다가도, 데드라인의 압박, 좀 더 쉽게 구현하기, 테스트 갈아엎기 번거로움 등으로 점점 테스트가 뒷전으로 밀려나던 경험이 많았다. &lt;br /&gt;&lt;br /&gt;그래도 동작하는 테스트 코드가 든든히 받혀주면 일할 맛 난다. 뭔가 많이 변경해야 할 경우가 생겨도 &quot;용기&quot;를 갖고 테스트와 함께 고쳐놓으면 프로젝트 전반이 컨트롤 가능한 상태가 된다. 이렇게도 좋은 테스트 코드를 만드는 가장 좋은 방법은 테스트를 먼저 만드는 것. 조금씩 조금씩 실천하다 보면 모두가 행복한 코드가 되리라 믿는다.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://biohackers.net/wiki/Django&quot;&gt;장고 웹사이트 개발&lt;/a&gt;시에도 내장된 테스팅 프레임워크를 이용하여 쉽게 테스트코드를 만들고 확인해볼 수 있다. 하지만 웹사이트 개발의 특성상 어떻게 테스트를 먼저 해야할지 감잡기 어려운 경우가 많다. Selenium등으로 브라우저 테스트는 어떻게 할 것인지, 뷰, 폼 등은 또 어디까지 테스트해야할 것인지 등등.&lt;br /&gt;&lt;br /&gt;그러던 중 괜찮은 자료를 발견했다. &lt;a href=&quot;http://harry.pythonanywhere.com/&quot;&gt;Test-Driven Django Tutorial&lt;/a&gt;, 이 튜토리얼에는 &lt;a href=&quot;https://docs.djangoproject.com/en/dev/releases/1.4/&quot;&gt;Django 1.4&lt;/a&gt;에 새로 내장된 LiveServerTestCase을 써서 기능 테스트를 브라우저 테스트로 하는 내용 뿐 아니라, 어떻게 모델, 뷰, 폼에 대한 단위 테스트를 만들어야 하는지에 대한 내용이 실려있다. 이 튜토리얼대로 따라하다 보면 웹사이트 구축시 테스트를 먼저 만드는 것에 대한 자신감이 생길 것이다. &lt;br /&gt;&lt;br /&gt;내가 따라해보며 정리해본 중요한 사항들은 다음과 같다. &lt;br /&gt;&amp;nbsp;1. fts(functional tests)라는 앱을 별도로 만들고, 전체 사이트에 대한 기능테스트를 시나리오 쓰듯이 작성한다.&lt;br /&gt;&amp;nbsp;2. 가상의 인물이 웹사이트를 이용하고 있다고 생각하고, 주석과 함께 시나리오를 적는다. &lt;br /&gt;&amp;nbsp;3. 기능테스트는 Selenium을 통해 브라우저에서 동작하는 모습을 직접 볼 수 있다. &lt;br /&gt;&amp;nbsp;4. 기능테스트에 나온 단위 기능은 바로 단위테스트에 기록하고, 단위테스트와 함께 구현&lt;br /&gt;&amp;nbsp;5. 단위는 모델에 대한 것, 뷰에 대한 것, 폼에 대한 것 등으로 구분될 수 있다. &lt;br /&gt;&amp;nbsp;6. 기능테스트에는 어떻게 보여지는가는 테스트하지 않는다. find_element_*와 assertIn 메쏘드로 특정 문자열이 존재하는지 확인하는 것으로 충분&lt;br /&gt;&amp;nbsp;7. 기능테스트에 admin 사이트를 적절히 활용하여 웹사이트 이용자와 소통함&lt;br /&gt;&amp;nbsp;8. 기능테스트에 사용할 예제 값은 namedtuple 자료구조를 쓰면 좋다. &lt;br /&gt;&lt;br /&gt;물론, 이 튜토리얼 역시 100% 해답을 제공하진 않는다. 전체 과정중에는 다소 인위적으로 상상해낸 부분도 없잖아 있다. 변화발생시 기껏 만든 저 시나리오들을 또 새로 다 고쳐야할 걸 생각하면 여전히 쉽지 않긴 하다. 그래도 좀 더 자신감을 갖고 테스트 주도 개발해보자. 좀 더 성장하고 발전하고 행복한 프로그래밍을 위해.&lt;br /&gt;</description>
			<category>Pythoneer</category>
			<category>django</category>
			<category>tdd</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/378</guid>
			<comments>http://yong27.biohackers.net/378#entry378comment</comments>
			<pubDate>Mon, 28 May 2012 13:13:55 +0900</pubDate>
		</item>
		<item>
			<title>인간의 역사와 자연의 만남 - 씨엠립 여행</title>
			<link>http://yong27.biohackers.net/377</link>
			<description>앙코르와트. 예전부터 꼭 가보고 싶었던 동남아 문명의 흔적. 천년전쯤에 어찌 저러한 건축물을 만들 수 있었을까 늘 궁금하고 신기해하던 곳. 마침 티몬에서 반값할인 패키지를 발견했고 결혼 1주년 여행지로 결정했다. 여행지가 좀 불편하지 않을까 하는 걱정이 좀 있었지만 저렴한 비용으로 편하게 대접받는다는 주변의 얘기에 잘 결정한 것 같았다. 무엇보다도 천년전 사람들에게서 무엇을 느낄 수 있을까 기대하면서.&lt;br /&gt;&lt;br /&gt;

많이 다녀본 건 아니지만 패키지여행은 어떤 가이드 분을 만나느냐에 따라 그 느낌이 많이 다를 것 같다. 다행이 경험많고 친절하신 분을 만나 여행내내 좋은 기분을 가질 수 있었다. 다양한 한국분들과도 친하게 지내는 것도 또다른 재미.&lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923451393/&quot; title=&quot;IMG_7823 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7037/6923451393_0421f2080c.jpg&quot; alt=&quot;IMG_7823&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777253478/&quot; title=&quot;IMG_7718 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7202/6777253478_d7affe8623.jpg&quot; alt=&quot;IMG_7718&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

두눈으로 직접 본 앙코르와트는 정말 장관이였다. 설계자의 미적센스가 놀랍고 물위에 어떻게 이런 안정적인 구조물을 만들 수 있었는지 대단하다. &lt;a href=&quot;http://ko.wikipedia.org/wiki/%ED%81%AC%EB%A9%94%EB%A5%B4_%EC%A0%9C%EA%B5%AD&quot;&gt;크메르 문명&lt;/a&gt;에 기록문화가 없어 후세사람들에게 분석의 고민을 안기고 있는 점은 아쉬운 점. 13세기말 원나라 사신 주달관이 &lt;a href=&quot;http://ko.wikipedia.org/wiki/%EC%A7%84%EB%9E%8D%ED%92%8D%ED%86%A0%EA%B8%B0&quot;&gt;진랍풍토기&lt;/a&gt;라는 책을 써서 그나마 그때의 모습을 그려볼 수 있다고 하니 기록이 얼마나 중요한 것인지 새삼 느끼다. (나도 기록을 열심히! 불끈) 저 책을 발견한 프랑스 학자 &lt;a href=&quot;http://ko.wikipedia.org/wiki/%ED%8F%B4_%ED%8E%A0%EB%A6%AC%EC%98%A4&quot;&gt;폴 펠리오&lt;/a&gt;는 또한 신라승 혜초의 인도여행기 왕오천축국전의 발굴자라고 하니 동양의 문명의 중요성을 서양인에게서 배우게 된다는 아쉬움도. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777264326/&quot; title=&quot;IMG_7745 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7060/6777264326_0a5f8011bd.jpg&quot; alt=&quot;IMG_7745&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

물이 많은 동네다 보니 건물내에 저런 목욕탕도 많이 보인다. 그리고 패키지 여행온 서양인들도 많고.&lt;br /&gt;&lt;br /&gt;


&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923381631/&quot; title=&quot;IMG_7747 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7070/6923381631_0d1120dc90_z.jpg&quot; alt=&quot;IMG_7747&quot; height=&quot;640&quot; width=&quot;427&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

아내는 가이드분의 설명을 참 열심히 들음. 이 설명 듣는 거 중요하다고 다 들으려 하던데, 내 생각엔 그분 곁가지 얘기가 넘 많았다. 그래서 난 중요한 부분만 듣고 돌아다니기만 함. 그 와중에 아내도 한 컷.&lt;br /&gt;&lt;br /&gt;


&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923372715/&quot; title=&quot;IMG_7737 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7187/6923372715_64e2ca70c0.jpg&quot; alt=&quot;IMG_7737&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

앙코르와트 본 건물에서 바라본 정문의 모습. (기구를 타고 볼 수 있는 코스도 있다) 저 곳이 처음 발굴당시 그냥 밀림이였던 것을 지금은 저렇게 정리해 놓음. 크메르 왕조는 저 문명을 건설하고는 15세기경 멸망했고 그 이후로 밀림안에 감춰져 있었다. 저곳을 처음 발견했다는 프랑스인은 정말 신기했을 것 같다. 밀림안에 이 무슨 건축물들이? 그 옛날 여기엔 도대체 무슨일이 있었던 것일까, 타임머신을 타고 꼭 가보고만 싶다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777259070/&quot; title=&quot;IMG_7738 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7044/6777259070_cbeebd2ab3.jpg&quot; alt=&quot;IMG_7738&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777276298/&quot; title=&quot;IMG_7763 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7047/6777276298_7077d4881e.jpg&quot; alt=&quot;IMG_7763&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

벽에는 저렇게 돌에 부조를 조각해 놓았다. 저 여인이 압살라라고 하는 선녀라고 함. 압살라의 가슴을 만지면 자식이 생긴다고 하여 열심히 만지고 왔음 으흐. 가이드 분은 저 망사치마에 비친 다리를 보라며 부조의 디테일을 강조함. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923463723/&quot; title=&quot;IMG_7864 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7052/6923463723_0f2b122eda.jpg&quot; alt=&quot;IMG_7864&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

근처에 타프롬이라고 하는 절이 있는데 저곳이 정말 장관이다. 보이는 것처럼 저 큰 나무의 씨앗들이 하필이면 저곳 천년전 석조 건축물들 위에 떨어져서 지금은 그냥 천년전 건축물이랑 섞여서 살고 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923500715/&quot; title=&quot;IMG_7908 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7198/6923500715_e3bd80c155.jpg&quot; alt=&quot;IMG_7908&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777373402/&quot; title=&quot;IMG_7893 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7184/6777373402_4fa6238b3d.jpg&quot; alt=&quot;IMG_7893&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923493593/&quot; title=&quot;IMG_7898 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7208/6923493593_22758a93e9.jpg&quot; alt=&quot;IMG_7898&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

천년전 석조건축물을 기껏 안정적으로 지어놨더니 저 나무의 뿌리가 곳곳에 파고들어 건물을 무너뜨리고 있다고. 그렇다고 저 나무를 죽일 수도, 걷어낼 수도 없어 지금은 성장억제제를 투여하고 있다고 한다. 인간의 견고한 역사도 계속되는 시간의 흐름앞엔 어쩔 수 없음을 생생하게 느낄 수 있다. 지금의 우리 문명이 멸망하고 몇 천년뒤에 다른 문명이 우리를 발견한다면, 지금 여길 여행하며 천년전을 상상하는 것과 많이 다르지 않을 것이다.&lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923515519/&quot; title=&quot;IMG_7957 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7177/6923515519_166b3225c3.jpg&quot; alt=&quot;IMG_7957&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

바이욘 사원의 저 얼굴이 당시 왕 자야바르만 7세의 얼굴이라고 하던데, 자신의 얼굴을 사방의 건축물에 조각하다니 독특한 심성을 가졌네. 왕이 자신을 늘 감시하고 있다는 경각심을 주기 위해? 저걸 조각한 돌조각에도 시간의 흐름이 느껴진다. 돌조각을 쌓고 그 위에 조각을 한 것일텐데, 드릴도 없이 참 고생했겠다 싶다.&lt;br /&gt;&lt;br /&gt;

패키지 여행은 캄포디아의 과거와 현재로 구성되어 있다. 과거가 앙코르와트, 타프롬, 바이욘이였다면 현재는 캄보디아 사람들의 삶의 모습들.&lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777422150/&quot; title=&quot;IMG_8035 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7209/6777422150_690b1eb20a.jpg&quot; alt=&quot;IMG_8035&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

톤레삽 호수로 가는 길의 캄퐁플럭(수상촌)은 정말 인상적이였다. 우기때 물이 불어 높아지기 때문에 집을 저렇게 높게 지어야 한다. 우리의 겨울은 저곳의 건기여서 지금은 물이 저렇게 빠져있음. 관광객 보트가 저들의 삶의 터전을 들여다보며 지나간다는게 좀 어색하긴 하지만, 그래도 밝은 미소의 캄보디아 사람들을 볼 수 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777436094/&quot; title=&quot;IMG_8070 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7070/6777436094_23523af3cb.jpg&quot; alt=&quot;IMG_8070&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

톤레삽 호수는 바다같다. 계절에 따라 수위가 5,6미터씩 차이나는 흙빛 바다. 그리고 저 곳을 삶의 터전으로 삼고 살아가는 사람들. 가져간 DSLR 카메라가 이날따라 잘나오는 것이 마치 내가 사진작가가 된것 같은 착각도.&lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923527361/&quot; title=&quot;IMG_8006 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7043/6923527361_2b49c13c49.jpg&quot; alt=&quot;IMG_8006&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

한국관광객 어르신들이 이곳 삶의 모습에서 옛날 6,70년대 우리나라의 모습을 느낀다고 한다. 그래서 더 그런가 저곳 사람들의 미소가 더욱 친근하다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777447690/&quot; title=&quot;IMG_8115 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7062/6777447690_728e47efc4.jpg&quot; alt=&quot;IMG_8115&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

방과 후 집으로 돌아가고 있는 어린이들을 찍어봤다. (나날이 사진 기술이 늘고 있는 것 같음)&lt;br /&gt;&lt;br /&gt;

북한식당도 가봤다. 우리나라에서는 북한체제하의 사람들을 만나볼 일이 거의 없지만 외국에서는 가능한 것인가보다. 북한정부에서 운영하는 식당이고 또 남한 관광객들이 자주 이용한다니 이런 어색함이. 캄보디아 식사가 입맛에 안맞아 속이 느글 거릴 때 먹는 한식, 그리고 시원한 평양냉면은 그 맛을 이루 표현할 수가 없다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6777454096/&quot; title=&quot;IMG_8127 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7050/6777454096_2660bb683b_z.jpg&quot; alt=&quot;IMG_8127&quot; height=&quot;640&quot; width=&quot;427&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

식사 중 저렇게 공연을 보여주는데 물론 멋지고 즐거운 공연이였지만 안쓰러움도 들더라. 예전엔 저 공연도 김일성 부자의 칭송에 관한 것이였다가 남한의 관광 가이드들이 그래서는 안간다해서 지금은 그런 것도 뺀 것이라고. 서로가 등을 돌리고 있는 남한과 북한이지만 조금씩 조금씩 가까워지고 있음을 느낄 수 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923571389/&quot; title=&quot;IMG_8138 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7065/6923571389_c989345f0c_z.jpg&quot; alt=&quot;IMG_8138&quot; height=&quot;640&quot; width=&quot;427&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

난생 처음 북한 분들과 사진도. 아내가 저 사진을 찍어주고는 그리도 좋냐고 한다. 좋다고 하기보다 신기함이야, 가까운 핏줄일 북한분(SNP으로 PCA해보면 당연히 같은 민족)을 이 먼 타국에서 만나 한장의 사진에 함께 담길 수가 있다니 말이야.&lt;br /&gt;&lt;br /&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/6923351003/&quot; title=&quot;IMG_7671 by yong27, on Flickr&quot;&gt;&lt;img src=&quot;http://farm8.staticflickr.com/7176/6923351003_77c6d3faa1.jpg&quot; alt=&quot;IMG_7671&quot; height=&quot;333&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

캄보디아에는 더운 날씨에 비해 벌레들이 별로 없는데 저 도마뱀때문이라고 한다. 재빠르게 벌레들을 잡아먹고 사는 저 도마뱀을 잡아 집에 일부러 풀어 놓는다고. 호텔방에서도 한마리 발견했는데, 아내는 저녀석 때문에 밤새 잠을 못잤다. 여행가방에 들어갔을까봐 다 들어내기도 했다. 난 귀엽기만 했던 걸. &lt;br /&gt;&lt;br /&gt;

어렸을 때 킬링필드라는 영화로 처음 알게됐던 나라. 그리고 오랜 전쟁과 혼란으로 가난한 나라로만 알고 있었지만 오랜 역사의 유적지, 그리고 따뜻한 삶의 미소와 함께 여행가보기 좋은 나라가 되고 있다. 게다가 물가가 싸서 여행가기 많이 부담되지 않는다. 시내 번화가 맥주집에서는 1달러에 생맥주가 두잔. 유네스코에서 문화재 보호를 위해 곧 관광객 출입을 막을 계획도 있다고 하니 앙코르와트 보고싶으신 분은 서두르셔야 할 듯. (이번 여행의 모든 사진들은 &lt;a href=&quot;http://www.flickr.com/photos/yong27/sets/72157629442132631/&quot;&gt;이곳 플리커&lt;/a&gt;에서 더 공개)&lt;br /&gt;</description>
			<category>Traveler</category>
			<category>ankor</category>
			<category>cambodia</category>
			<category>reap</category>
			<category>siem</category>
			<category>tour</category>
			<category>wat</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/377</guid>
			<comments>http://yong27.biohackers.net/377#entry377comment</comments>
			<pubDate>Sat, 25 Feb 2012 18:28:49 +0900</pubDate>
		</item>
		<item>
			<title>3D 애니메이션으로 배우는 분자생물학</title>
			<link>http://yong27.biohackers.net/376</link>
			<description>Walter and Eliza Hall Institute에서 &lt;a href=&quot;http://www.wehi.edu.au/education/wehitv/&quot;&gt;WEHI-TV&lt;/a&gt;라고 3D 애니메이션을 이용한 분자생물학 교육용자료를 공개하고 있는데 그 수준이 가히 감동이다. 분자생물학 배울 때 이 동영상들이 있었으면 훨씬 더 이해하기 쉬웠을텐데 싶음. 이 동영상에 나오는 DNA 및 단백질들은 그냥 가상의 상상도가 아니라, 정확하게 입체구조가 결정된 분자구조를 갖고 만든것이다. 보다보면 생명현상의 경외심 같은게 또 막 느껴지고 그러함. &lt;br /&gt;&lt;br /&gt;그럼, 분자생물학 다시 공부한다 생각하고, 감상 시작.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/OjPcT1uUZiE&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;위 동영상을 보면 DNA가 히스톤 단백질과 어떻게 결합하고 있는지 나온다. DNA는 실같은 것이라서 잘 보관하려면 실패같은곳에 감아서 보관해야 하는데, 그 실패같은 것이 저 히스톤 단백질, 어떤 규모로 감싸서 보관하고 있는지 대략 실감이 난다. 개별 분자를 보면 막 떨고 있는데, 원래 수용액상태에서는 저렇게 존재한다. (브라운운동 상상하면 좋다)&lt;br /&gt;&lt;br /&gt;두번째 파트로 &lt;a href=&quot;http://biohackers.net/wiki/DnaReplication&quot;&gt;DNA replication&lt;/a&gt;이 나온다. 한가닥의 DNA를 두가닥으로 만드는 건데, DNA 이중나선의 한가닥은 5 -&amp;gt; 3 방향, 또 한가닥은 3 &amp;lt;- 5 방향으로 있기 때문에 5 -&amp;gt; 3 방향의 복제는 그냥 주우욱 하면 되지만 반대방향의 복제를 위해서는 저런 번거로운 과정을 거쳐야 한다. 실제로 우리 세포에서 매번 일어나고 있는 일. 이건 뭐 기계가 따로 없다. 저 현상이 자발적 화학반응이라는 게 언듯 이해되지 않는다.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/DA2t5N72mgw&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DNA_transcription&quot;&gt;DNA transcription&lt;/a&gt;이다. 전사를 위한 단백질들 여럿이 모여 전사가 시작되면 RNA polymerase가 롤러코스터를 타듯이 주욱 미끄러지며 RNA를 만든다. 전사개시를 위해 Transcription factor들이 결합하는 모습이 중요하다. 실제 유전자가 시작되는 한참 앞에 부위의 DNA와 결합해있는 단백질이 같이 결합하는 부분 중요. 유전자 발현은 이래저래 조절받아야 하다보니 복잡한 것임. 합성된 RNA가 핵공을 빠져나가면서 splicing이 일어날텐데 이 동영상에는 빠져 있는 듯.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center&quot;&gt;&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/WkI_Vbwn14g&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;핵공을 빠져나온 mRNA가 리보솜을 만나 &lt;a href=&quot;http://en.wikipedia.org/wiki/Translation_%28genetics%29&quot;&gt;단백질 합성&lt;/a&gt;을 시작한다. 빨간색 아미노산을 달고 있는 tRNA가 세개의 코돈에 맞는 것들만 그자리로 가서 아미노산들이 사슬로 연결된다. 이 반응 역시 화학적으로 자발적 반응이라는게 쉽사리 와닿지 않음. 단백질이 합성되면서 폴딩이 일어나는 모습도 관찰 할 수 있다. (저 단백질은 헤모글로빈이라고 함)&lt;br /&gt;&lt;br /&gt;이밖의 더 많은 동영상들이 저 사이트에 있다. 분자생물학은 입체구조에 관한 학문임을 되새겨보며 한번씩 보면 많은 도움이 될 것 같다. 그리고 분자생물학을 잘 모르는 비전공자들에게 설명해주기에도 좋은 것 같음.&lt;br /&gt;</description>
			<category>Bioinformatician</category>
			<category>3D</category>
			<category>animation</category>
			<category>biology</category>
			<category>molecular</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/376</guid>
			<comments>http://yong27.biohackers.net/376#entry376comment</comments>
			<pubDate>Mon, 16 Jan 2012 21:19:55 +0900</pubDate>
		</item>
		<item>
			<title>Cafe24 VPS 우분투 서버 운영</title>
			<link>http://yong27.biohackers.net/375</link>
			<description>어제 biohackers.net 쉘에서 &lt;a target=&quot;&quot; href=&quot;http://biohackers.net/wiki/UbuntuLinux&quot;&gt;우분투&lt;/a&gt; 11.10으로 업그레이드 가능하다는 메세지를 보았다. 내가 우분투를 좋아하는 이유는 빠른 패키지버전. 지난번 &lt;a href=&quot;http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux&quot;&gt;Cafe24 VPS&lt;/a&gt;에서 우분투 업데이트 이후 바뀐 커널로는 부팅이 안된다는 얘기가 좀 걸리긴 했지만 그래도 뭐 부팅안되면 이전 커널로 해주겠지라는 생각에 릴리즈 업그레이드 진행.&lt;br /&gt;&lt;br /&gt;그랬더니 역시나 부팅이 안된다. 어렵게 전화연결하여 확인해보니 터미널이 아예 먹통이란다. 그러면서 담당자분 얘기가 OS재설치를 하셔야 할 것 같다고. 어헉, 패닉상태... 데이터도 날아간거 아냐? &lt;a href=&quot;http://twitter.com/neocoin&quot;&gt;@neocoin&lt;/a&gt;님 얘기에 의하면 3일에 한번씩은 백업한다고 했으니 그거라도 쓸 수 있는거겠지. 한참 나중에 가상서버호스팅 담당자와 연결이 됐는데, 부팅은 안되도 데이터 엑세스는 가능하다더라. 새 OS를 설치하면 거기에 기존 데이터를 복사해준다는 얘기에 십년감수했다. 십년간 모았던 위키, 블로그 등 데이터가 날아가나 싶어 식겁했다. 함부로 우분투 업그레이드하면 안되는거구나.&lt;br /&gt;&lt;br /&gt;Cafe24 VPS에서는 가상머신으로 &lt;a href=&quot;http://en.wikipedia.org/wiki/Xen&quot;&gt;Xen&lt;/a&gt;을 쓰고 있다던데, 내가 알기론 Xen에 우분투 11.10이 안돌아갈리가 없는데, 뭔가 사연이 있나보다. Xen은 설치부터 우분투랑 잘 안맞는 것 같은데 가상머신용 OS도 마찬가진가? &lt;br /&gt;&lt;br /&gt;해서, Cafe24 측에서 안정적이라는 우분투 10.4를 그냥 쓰기로 했다. 빠른 패키지버전 대신 안정성을 택하기로 했다. 식겁했던 경험을 생각하면 패키지야 뭐 새버전 직접 깔면 되지.&lt;br /&gt;&lt;br /&gt;하지만, 패키지들을 직접 설치하다보면 역시나 많은 번거로운 일들이... &lt;a target=&quot;&quot; href=&quot;http://biohackers.net/wiki/MoinMoin&quot;&gt;모인모인&lt;/a&gt; 하나 올리는데도 다양한 사연들이 생기게 된다. &lt;br /&gt;&amp;nbsp;1. 우분투 10.4의 파이썬 버전은 2.6 아쉽지만 그냥 쓰지 뭐.&lt;br /&gt;&amp;nbsp;2. libapache2-mod-wsgi, python-moinmoin 깔고 설정후 올려보니 안돼 로그보니 엥 segmentation fault?&lt;br /&gt;&amp;nbsp;3. 찾아보니 python2.6과 mod-wsgi 환경에서 그런현상이 간혹 있다고. 이긍, wsgi 최신버전을 직접 빌드해야지 근데 그래도 여전히 세그폴트다.&lt;br /&gt;&amp;nbsp;4. 어쩔 수 없이 python2.7을 직접 설치하기로 하다. 뭐, 파이썬용 라이브러리는 pip로 쓰면 되지. &lt;br /&gt;&amp;nbsp;5. 그랬더니 이번엔 또 wsgi 빌드과정에서 오류난다. &lt;a href=&quot;http://code.google.com/p/modwsgi/wiki/InstallationIssues#Mixing_32_Bit_And_64_Bit_Packages&quot;&gt;32, 64비트 패키지가 믹스됐다고. python2.7 빌드할 때 --enable-shared 옵션을 줘야&lt;/a&gt;한단다.&lt;br /&gt;&lt;br /&gt;해서 여차저차 약 10시간만에 biohackers.net 서버를 살려냈다. 최신버전의 패키지를 한방에 쓸 수 있던 최신 우분투 환경에 새삼 대단함을. 서버운영에 있어서 새 버전과 안정성은 늘 고민이 되는 일.&lt;br /&gt;</description>
			<category>Pythoneer</category>
			<category>cafe24</category>
			<category>python</category>
			<category>ubuntu</category>
			<category>virtualization</category>
			<category>VPS</category>
			<category>xen</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/375</guid>
			<comments>http://yong27.biohackers.net/375#entry375comment</comments>
			<pubDate>Sat, 26 Nov 2011 11:22:01 +0900</pubDate>
		</item>
		<item>
			<title>pip와 virtualenv를 이용한 파이썬 디플로이먼트</title>
			<link>http://yong27.biohackers.net/373</link>
			<description>프로그래머가 만든 프로그램을 실제 실행환경에 심는 것을 &lt;a href=&quot;http://en.wikipedia.org/wiki/Software_deployment&quot;&gt;소프트웨어 디플로이먼트(Software deployment)&lt;/a&gt;라고 한다. 적절한 한국어 번역은 잘 떠오르지 않는다. &quot;설치&quot;는 installation의 번역이고, &quot;배포&quot;는 distribution의 번역이다 보니 적절한 단어가 떠오르지 않는다. &quot;배치&quot;는 batch 같아 좀 아닌것 같고.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;어쨌건, 파이썬 프로그래머를 위한 유용한 디플로이먼트 도구인 &lt;a href=&quot;http://biohackers.net/wiki/Pip&quot;&gt;pip&lt;/a&gt;, &lt;a href=&quot;http://biohackers.net/wiki/VirtualEnv&quot;&gt;virtualenv&lt;/a&gt;를 잘 모르는 분들이 많은 듯 하여 소개해 보고자 한다. 이게 어디에 써먹는 것이냐 하면, 하나의 서버에 여러개의 파이썬 버전을 서비스한다던가, 복잡하게 갖다 쓴 써드파티 라이브러리들 쉽게 설치한다던가 등에 긴요하게 쓸 수 있다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;서비스서버를 새로 구입했고, 거기에 내가 만든 &lt;a href=&quot;http://biohackers.net/wiki/Django&quot;&gt;장고(Django)&lt;/a&gt; 어플리케이션을 두개를 올린다고 가정해보자. 마침 그 두 프로그램은 사용한 장고 버전이 다르다. 하나는 최신 버전(1.3.1)인데, 또 하나는 옛날에 만든것을 아직 새 버전에 맞추지 않아 1.0.3 버전에서 돌아야 한다. 게다가 추가로 설치해야 할 써드파티 라이브러리들도 많다. 이경우 운용환경을 구축하기가 꽤 번거로운데 pip, virtualenv를 쓰면 매우 편리하다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;a href=&quot;http://biohackers.net/wiki/UbnutuLinux&quot;&gt;우분투&lt;/a&gt; 서버라고 가정하면, 다음처럼 시작하는 것이 좋다.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo apt-get install python-setuptools&lt;/blockquote&gt;&amp;nbsp;&lt;br /&gt;python-setuptools 패키지를 깔면 easy_install 명령을 쓸 수 있다. 왜 저 패키지가 파이썬 빌트인에 들어있지 않은가는 참 아쉬운 부분. 우분투니까 저렇게 되지 다른 배포판에서는 찾아서 깔아 쓰기 많이 귀찮다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;setuptools를 설치하고 나면, 파이썬 기본 패키지 관리자로 easy_install을 쓸 수 있다. 리눅스 패키지 관리자를 apt-get 하나만 쓰는 것이 여러모로 좋듯 파이썬 패키지 관리자도 easy_install 하나만 쓰는 것이 좋다. 아, 우분투에서는 파이썬 패키지들도 apt-get으로 관리하는 것도 좋다. 어쨌건 여러개 쓰면 머리아프니 하나만 쓰자. 기왕이면 오늘부터는 easy_install 대신에 지금 소개하는 pip로.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;$ sudo easy_install pip&lt;/blockquote&gt;&amp;nbsp;&lt;br /&gt;위 명령으로 pip를 간단히 설치한다. pip는 easy_install이랑 비슷하지만 훨씬 더 다양한 기능들을 갖고 있다. 특정 패키지를 버전별로 설치한다던가, 삭제한다던가, 여러 패키지를 한번에 설치한다던가가 가능하다. (물론 우분투라면 easy_install을 건너뛰고 &quot;apt-get install python-pip&quot; 로 바로 설치할 수도 있다.)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;시스템의 기본 파이썬 실행환경으로 각 패키지들을 최신버전으로 유지하고 별도의 실행환경을 만들어 그곳에는 구 버전을 쓰고자 한다. 그래서 일단 기본 실행환경에서는 최신버전을 설치한다. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo pip install django&lt;/blockquote&gt;&lt;br /&gt;위 명령은 기본 파이썬 실행환경에 장고 최신버전을 설치한다. 그리고 최신버전용 장고 어플리케이션은 그대로 하던대로 설치한다. 그냥 디폴트 환경은 최신버전을 쓰는 것으로 정한다. 그러고 나서, 별도의 구버전 장고가 돌아갈 별도의 파이썬 실행환경을 만들 수 있는데 이때 쓰는 것이 virtualenv다. 말그대로 가상의 파이썬 실행환경을 만들어준다.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;$ sudo pip install virtualenv&lt;/blockquote&gt;&lt;br /&gt;위 명령으로 virtualenv를 깔고 나면 virtualenv 명령어를 바로 쓸 수 있다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;$ mkdir ~/work/py-envs&lt;br /&gt;$ cd ~/work/py-envs&lt;br /&gt;$ virtualenv --no-site-packages --distribute angr&lt;/blockquote&gt;&lt;br /&gt;py-envs라는 디렉토리를 만든다. 말 그대로 파이썬 환경들을 모아두는 곳이다. 그 안에 angr이라는 이름의 환경을 만든다. --no-site-packages 옵션은 파이썬 기본 실행환경에 있는 라이브러리를 쓰지 않겠다는 의미이며, --distribute 옵션은 setuptools 대신에 distribute를 쓰겠다는 뜻이다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;$ source angr/bin/activate&lt;/blockquote&gt;&lt;br /&gt;위 명령을 내리면 새로 생성한 angr이란 환경으로 진입한다. 쉘 프롬프트 앞부분에 지금부터 angr환경이라는 의미로 (angr)이 표시된다. 저 환경에서 탈출할때는 deactivate 명령을 내리면 된다. angr 환경에 들어가서 파이썬 쉘이 들어가 &quot;import django&quot; 해보자. 패키지가 설치되지 않았다고 나올 것이다. 지금 새로 만든 angr 환경은 --no-site-packages 옵션이 사용됐기 때문에 기본 설치된 파이썬 환경을 이용하지 않는다. 여기에 별도로 장고 구버전을 설치하면 된다. 이때 써야하는 설치 프로그램이 바로 pip다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;(angr)$ pip install django==1.0.4&lt;/blockquote&gt;&lt;br /&gt;위 명령은 angr 파이썬 실행환경에서 장고 1.0.4 버전을 설치한다. 장고 이외에 필요한 써드파티 라이브러리들도 모두 설치하자.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;(angr)$ pip install numpy&lt;br /&gt;(angr)$ pip install matplotlib&lt;/blockquote&gt;&lt;br /&gt;&lt;a href=&quot;http://biohackers.net/wiki/Matplotlib&quot;&gt;matplotlib&lt;/a&gt;의 경우 &lt;a href=&quot;http://biohackers.net/wiki/MacOSX&quot;&gt;Mac OS X&lt;/a&gt;에서 빌드과정에 문제가 있다. &lt;a href=&quot;https://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/&quot;&gt;검색해보니 최신 개발버전을 쓰면 괜찮다고&lt;/a&gt;.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;(angr)$ pip install -e git://github.com/matplotlib/matplotlib.git@v1.1.0-rc1#egg=matplotlib&lt;/blockquote&gt;&lt;br /&gt;pip는 패키지의 버전을 정해줄 수 있을 뿐 아니라 위 명령처럼 저장소를 지정해줄 수도 있다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;장고 어플리케이션을 구동할 경로는 위 가상환경의 경로와 상관없이 쓰던대로 쓰면 된다. 본 예제에서는 /home/sites 디렉토리에 asite, bsite 가 있다고 가정한다. (asite는 파이썬 기본 환경, bsite는 angr 이름의 가상환경) &lt;br /&gt;&amp;nbsp;&lt;br /&gt;파이썬 가상 환경에 django, numpy, matplotlib 라이브러리를 설치했다. 다음부터 이 설치를 한방에 할 수 있도록 하는 명령이 &quot;pip freeze&quot; 이다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;(angr)$ pip freeze &amp;gt; angr/pip-requirements.txt&lt;br /&gt;(angr)$ cat angr/pip-requirements.txt&lt;br /&gt;Django==1.0.4&lt;br /&gt;matplotlib==1.1.0&lt;br /&gt;numpy==1.6.1&lt;/blockquote&gt;&lt;br /&gt;위 명령은 angr 경로에 pip-requirements.txt 파일을 생성한다. 이제 다른 서버에 이전한다던가 할때 pip-requirements.txt 파일만으로 한방에 설치할 수 있다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;(angr)$ pip install angr/pip-requirements.txt&lt;/blockquote&gt;&lt;br /&gt;실제 운용을 위한 웹서버연동시 bsite는 angr이라고 만든 가상 환경을 연결해야 한다. 아파치 mod_python 을 연동해 쓴다면 다음처럼 설정한다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;&amp;lt;Location ~ &quot;/asite/&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetHandler python-program&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonPath &quot;[&#039;/home/sites&#039;, &#039;/home/sites/asite&#039;] + sys.path&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonHandler django.core.handlers.modpython&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetEnv DJANGO_SETTINGS_MODULE asite.settings&lt;br /&gt;&amp;nbsp; &amp;nbsp; Order allow,deny&lt;br /&gt;&amp;nbsp; &amp;nbsp; Allow from all&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&amp;lt;Location ~ &quot;/bsite/&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetHandler python-program&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonPath &quot;[&#039;/home/yong27/work/py-envs/angr/bin&#039;, &#039;/home/sites&#039;, &#039;/home/sites/bsite&#039;] + sys.path&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonHandler &lt;span style=&quot;font-weight: bold;&quot;&gt;angr_modpython_handler&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetEnv DJANGO_SETTINGS_MODULE bsite.settings&lt;br /&gt;&amp;nbsp; &amp;nbsp; Order allow,deny&lt;br /&gt;&amp;nbsp; &amp;nbsp; Allow from all&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;bsite 설정을 위해 가상 환경 경로에 angr_modpython_handler.py 를 만들고 다음처럼 기록한다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;blockquote&gt;activate_this = &#039;/home/yong27/work/py-envs/angr/bin/activate_this.py&#039;&lt;br /&gt;execfile(activate_this, dict(__file__=activate_this))&lt;br /&gt;from django.core.handlers.modpython import handler&lt;/blockquote&gt;&lt;br /&gt;이렇게 아파치를 구동하면 bsite는 가상환경으로 구동된다. &lt;a href=&quot;http://biohackers.net/wiki/ModWsgi&quot;&gt;mod_wsgi&lt;/a&gt;로 연동할때도 유사하게 설정할 수 있다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;이상, pip와 virtualenv를 이용한 파이썬 디플로이먼트 및 가상환경 운용에 대해 알아보았다. 파이썬 어플리케이션을 구동할 때 운용환경이 맞지 않아 삽질하는 경우가 많은데, 이처럼 어플리케이션별로 운용환경을 정립하고 버전도 테스트된 버전만을 쓰도록 하면 설치도 쉽고 오류도 적은 운용이 가능하다. &lt;br /&gt;</description>
			<category>Pythoneer</category>
			<category>apache</category>
			<category>deployment</category>
			<category>django</category>
			<category>mod_python</category>
			<category>mod_wsgi</category>
			<category>pip</category>
			<category>virtual</category>
			<category>virtualenv</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/373</guid>
			<comments>http://yong27.biohackers.net/373#entry373comment</comments>
			<pubDate>Wed, 23 Nov 2011 19:36:15 +0900</pubDate>
		</item>
		<item>
			<title>biohackers.net 서버이전</title>
			<link>http://yong27.biohackers.net/372</link>
			<description>그래도 한때는 Sefiroth, Biohackers 등 함께 스터디했던 사람들, &lt;a href=&quot;http://no-smok.net&quot;&gt;노스모크&lt;/a&gt; 친구들로 북적였던 &lt;a href=&quot;http://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC:%EB%AC%B8%EC%84%9C_%EA%B0%9C%EC%88%98%EC%88%9C_%ED%95%9C%EA%B5%AD%EC%96%B4_%EC%9C%84%ED%82%A4%EC%9D%98_%EB%AA%A9%EB%A1%9D&quot;&gt;한국의 규모있는 위키위키 웹사이트 가운데 하나&lt;/a&gt;였는데... 지금도 물론 개인용 노트 역할을 충분히 하고 있는 위키사이트 &lt;a href=&quot;http://biohackers.net&quot;&gt;BioHackersNet&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;2005년경부터 집에 있는 PC에 &lt;a href=&quot;http://biohackers.net/wiki/UbuntuLinux&quot;&gt;우분투리눅스&lt;/a&gt; 깔고 운영해왔다. 낮은 사양에도 꽤 오랫동안 안정적으로 잘 버텨왔다 싶었는데 언제부턴가 버벅버벅대더니 종종 죽더라는. 난 회사 업무를 보더라도 저 사이트가 안되면 집중을 잘 못하고 집에 전화를 걸어 부모님께 재부팅을 부탁하곤 했었다. 이게 2,3일에 한번씩은 재부팅을 해야하는 상황으로까지...&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://twitter.com/#%21/yong27/status/93120673840504833&quot;&gt;어찌하면 좋을까요라고 트윗을 올렸더니&lt;/a&gt; 많은 분들이 리플을 주셨다. 서버호스팅, &lt;a href=&quot;http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux&quot;&gt;cafe24 VPS&lt;/a&gt;, 아마존에 공짜로 풀렸다는 기초 머신, 비글보드까지. 아마존 공짜 서비스는 사양이 너무 약한 것 같았고 cafe24 VPS가 끌렸다. 안그래도 최근 가상화 관련 업무를 보고 있는데 마침 성능이 어떨까 쓸만한 수준일까 확인해보는데도 좋을 것 같았다. (&lt;a href=&quot;http://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81_%EC%82%AC%EC%84%A4_%EC%84%9C%EB%B2%84&quot;&gt;VPS&lt;/a&gt;는 Virtual Private Server의 약자로 한대의 서버안에 vmware같은 도구로 여러개의 가상머신을 설치하고 그 개별 머신의 관리자가 되어 OS를 통채로 쓸수 있는 서비스이다. 일반적인 서버호스팅에 비해 많이 저렴하다고 할 수 있다.) &lt;br /&gt;&lt;br /&gt;그래서 선택한 사양은 RAM 1G, HDD 30G, 트래픽 월 300G, 월 11,000원짜리. 위키, 블로그, 몇몇 팟캐스트 녹음, 각종 실험 등 목적으로 쓰는데는 충분해보였다. 새마음으로 깔끔하게 우분투 설치하고 이전 시작. 기본으로 설치해주는 우분투 10.04 를 곧바로 11.04 로 올렸는데 이런. 바로 부팅이 안됐다. 전화로 확인해보니 새로운 커널은 안된다고. 가상화가 쉽게쉽게 되는 것은 아닌가보다. 커널은 제외한 채 새 우분투로 업그레이드. &lt;br /&gt;&lt;br /&gt;새 우분투의 모인모인 버전은 1.9.3 이고, BioHackersNet 위키는 1.5.2 이거 완전 옛날 버전이다. 예전에 1.5 버전을 1.6으로 옮기다가 뭔가 안돼서 포기했는데, 이번엔 &lt;a href=&quot;http://moinmo.in/HowTo/Migrate%20from%201.5%20to%201.6&quot;&gt;차분히 보고&lt;/a&gt; 옮겨보기로 했다. 이관스크립트는 중간에 멈추긴 하지만 그래도 데이터는 제대로 변환이 되는 듯. 1.6 버전부터는 몇몇 위키 문법이 바뀌였다. 링크가 [&quot; &quot;] 대신에 [[ ]] 로 바뀌고, 매크로가 [[ ]] 에서 &amp;lt;&amp;lt; &amp;gt;&amp;gt; 로 바뀌였다. &lt;a href=&quot;http://biohackers.net/wiki/NoSmokeMoinMoin&quot;&gt;노스모크 모인모인&lt;/a&gt; 이후 변형해쓰던 [ ] 링크는 고민끝에 그냥 모인모인의 방식으로 수동 변경하기로 했다. 왠만하면 커뮤니티의 기준을 따르는 것이 지속적인 업데이트에 도움이 될것이라 판단했다. &lt;br /&gt;&lt;br /&gt;해서, 모인모인 1.9.3 을 아파치 - mod_wsgi 로 올렸는데, 이전의 mod_python에 비해 훨씬 빠르고 안정적으로 돌아가는 듯. 새로 추가된 모인모인의 기능은 점차 익히기로 하고, 정말이지 오랜만에 쾌적한 BioHackersNet을 보게 되었다. 아이폰으로 쓰기 편한 모인모인 테마를 찾아내거나 만들어서 위키만한 개인용 지식관리 방법이 없음을 증명해보여야겠다. &lt;br /&gt;</description>
			<category>Pythoneer</category>
			<category>BioHackersNet</category>
			<category>cafe24</category>
			<category>MoinMoin</category>
			<category>VPS</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/372</guid>
			<comments>http://yong27.biohackers.net/372#entry372comment</comments>
			<pubDate>Sun, 07 Aug 2011 11:03:42 +0900</pubDate>
		</item>
		<item>
			<title>갤럭시용 Primer3 툴 만들기</title>
			<link>http://yong27.biohackers.net/371</link>
			<description>최근 종종 회자되고 있는 지놈분석용 웹어플리케이션 &lt;a href=&quot;http://usegalaxy.org&quot;&gt;갤럭시&lt;/a&gt;. (하필 S사의 스마트폰과 이름이 같아 검색결과 보기가 짜증남) 이제 왠만한 연구실에서는 직접 깔아서 써야할 시기가 도래한 듯 싶다. 하필이면 파이썬으로 만들어져서 뭔가 확장해 쓰기 참 좋다고 할 수 있겠다. 직접 설치하면 자신만의 데이터 소스를 지정한다던가, 분석도구를 직접 만들어 써본다던가가 가능하다. 지난번 창범님이 서열데이터에서 프라이머 디자인하는것이 필요하다고 얼핏 얘기한 듯 하여 &lt;a href=&quot;http://biohackers.net/wiki/Primer3&quot;&gt;Primer3&lt;/a&gt; 툴을 갤럭시에 추가하는 걸 한번 해 보았다.&lt;br /&gt;&lt;br /&gt;갤럭시에 보면 이미 Emboss 용 도구들이 들어있다. Emboss를 설치하고 (우분투라면 apt-get install emboss 한방) tool_conf.xml 파일안에 주석으로 막혀있는 부분을 해제해주면 된다. 근데 왜인지 왠만한 Emboss 프로그램들은 다 있는 것 같은데 eprimer3 만 안보인다. eprimer3 는 원래 primer3 프로그램의 인터페이스를 명령행에서 쓰기 쉽게끔 만든 wrapper 프로그램이고 이걸 쓰는 것이 오리지널 primer3를 쓰는 것 보다 훨씬 쉽다. 해서, eprimer3로 갤럭시 툴을 만들어보기로 하다. (테스트해봤더니 &lt;a href=&quot;http://primer3.sourceforge.net/releases.php&quot;&gt;primer3 최신버전 2.2.3 &lt;/a&gt;은 eprimer3와 연동되지 않는다. 아쉽지만 primer3는 버전 1.1.4로 해야)&lt;br /&gt;&lt;br /&gt;보니까 외부 도구의 형식을 XML로 등록할 수 있도록 되어 있으며, 입출력에 맞추어 돌아갈 수 있는 스크립트를 만들면 되더라. 해서 만든 &lt;a href=&quot;http://biohackers.net/wiki/Primer3GalaxyTool&quot;&gt;eprimer3.py, emboss_eprimer3.xml 파일&lt;/a&gt;을 tools/emboss_5 디렉토리에 복사하고, tool_conf.xml 파일에 다음을 추가한다. &lt;br /&gt;&lt;blockquote&gt;&amp;lt;section name=&quot;EMBOSS&quot; id=&quot;EMBOSSLite&quot;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;tool file=&quot;emboss_5/emboss_eprimer3.xml&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/section&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;그러면 바로 짜잔~&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/yong27/5646094914/sizes/o/in/photostream/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://farm6.static.flickr.com/5150/5646094914_29b2ffb4ae.jpg&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;일반 텍스트로 나오는 결과를 &lt;a href=&quot;http://biohackers.net/wiki/BioPython&quot;&gt;BioPython&lt;/a&gt;으로 파싱해서 테이블형태로 출력하도록 했다. 갤럭시 볼수록 쓰기에 괜찮다는 생각. 플러그인 만들기도 좋고, 생물정보 하는 많은 사람들이 이런 방식을 원했는데 진짜로 나왔다는.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<category>Bioinformatician</category>
			<category>galaxy primer3</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/371</guid>
			<comments>http://yong27.biohackers.net/371#entry371comment</comments>
			<pubDate>Sat, 23 Apr 2011 20:58:30 +0900</pubDate>
		</item>
	</channel>
</rss>
