<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><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>Tue, 29 May 2012 20:07:45 +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>
		<feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="yong27" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://yong27.biohackers.net/rss" /><item>
			<title>테스트 주도 장고 웹사이트 개발</title>
			<link>http://yong27.biohackers.net/378</link>
			<description>&lt;a href="http://biohackers.net/wiki/TestDrivenDevelopment"&gt;테스트 주도 개발(TDD, Test-Driven Development)&lt;/a&gt;이 좋다는 건 알겠는데 실전에 잘 사용한 예는 많지않다. 그나마 동작하는 테스트코드가 있다는 것만으로 위안하는 경우가 많음. 시작은 TDD로 했다가도, 데드라인의 압박, 좀 더 쉽게 구현하기, 테스트 갈아엎기 번거로움 등으로 점점 테스트가 뒷전으로 밀려나던 경험이 많았다. &lt;br /&gt;&lt;br /&gt;그래도 동작하는 테스트 코드가 든든히 받혀주면 일할 맛 난다. 뭔가 많이 변경해야 할 경우가 생겨도 "용기"를 갖고 테스트와 함께 고쳐놓으면 프로젝트 전반이 컨트롤 가능한 상태가 된다. 이렇게도 좋은 테스트 코드를 만드는 가장 좋은 방법은 테스트를 먼저 만드는 것. 조금씩 조금씩 실천하다 보면 모두가 행복한 코드가 되리라 믿는다.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://biohackers.net/wiki/Django"&gt;장고 웹사이트 개발&lt;/a&gt;시에도 내장된 테스팅 프레임워크를 이용하여 쉽게 테스트코드를 만들고 확인해볼 수 있다. 하지만 웹사이트 개발의 특성상 어떻게 테스트를 먼저 해야할지 감잡기 어려운 경우가 많다. Seleniume등으로 브라우저 테스트는 어떻게 할 것인지, 뷰, 폼 등은 또 어디까지 테스트해야할 것인지 등등.&lt;br /&gt;&lt;br /&gt;그러던 중 괜찮은 자료를 발견했다. &lt;a href="http://harry.pythonanywhere.com/"&gt;Test-Driven Django Tutorial&lt;/a&gt;, 이 튜토리얼에는 &lt;a href="https://docs.djangoproject.com/en/dev/releases/1.4/"&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;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/2m4zZl6-Qds" height="1" width="1"/&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="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923451393/" title="IMG_7823 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7037/6923451393_0421f2080c.jpg" alt="IMG_7823" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777253478/" title="IMG_7718 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7202/6777253478_d7affe8623.jpg" alt="IMG_7718" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

두눈으로 직접 본 앙코르와트는 정말 장관이였다. 설계자의 미적센스가 놀랍고 물위에 어떻게 이런 안정적인 구조물을 만들 수 있었는지 대단하다. &lt;a href="http://ko.wikipedia.org/wiki/%ED%81%AC%EB%A9%94%EB%A5%B4_%EC%A0%9C%EA%B5%AD"&gt;크메르 문명&lt;/a&gt;에 기록문화가 없어 후세사람들에게 분석의 고민을 안기고 있는 점은 아쉬운 점. 13세기말 원나라 사신 주달관이 &lt;a href="http://ko.wikipedia.org/wiki/%EC%A7%84%EB%9E%8D%ED%92%8D%ED%86%A0%EA%B8%B0"&gt;진랍풍토기&lt;/a&gt;라는 책을 써서 그나마 그때의 모습을 그려볼 수 있다고 하니 기록이 얼마나 중요한 것인지 새삼 느끼다. (나도 기록을 열심히! 불끈) 저 책을 발견한 프랑스 학자 &lt;a href="http://ko.wikipedia.org/wiki/%ED%8F%B4_%ED%8E%A0%EB%A6%AC%EC%98%A4"&gt;폴 펠리오&lt;/a&gt;는 또한 신라승 혜초의 인도여행기 왕오천축국전의 발굴자라고 하니 동양의 문명의 중요성을 서양인에게서 배우게 된다는 아쉬움도. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777264326/" title="IMG_7745 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7060/6777264326_0a5f8011bd.jpg" alt="IMG_7745" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

물이 많은 동네다 보니 건물내에 저런 목욕탕도 많이 보인다. 그리고 패키지 여행온 서양인들도 많고.&lt;br /&gt;&lt;br /&gt;


&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923381631/" title="IMG_7747 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7070/6923381631_0d1120dc90_z.jpg" alt="IMG_7747" height="640" width="427"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

아내는 가이드분의 설명을 참 열심히 들음. 이 설명 듣는 거 중요하다고 다 들으려 하던데, 내 생각엔 그분 곁가지 얘기가 넘 많았다. 그래서 난 중요한 부분만 듣고 돌아다니기만 함. 그 와중에 아내도 한 컷.&lt;br /&gt;&lt;br /&gt;


&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923372715/" title="IMG_7737 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7187/6923372715_64e2ca70c0.jpg" alt="IMG_7737" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

앙코르와트 본 건물에서 바라본 정문의 모습. (기구를 타고 볼 수 있는 코스도 있다) 저 곳이 처음 발굴당시 그냥 밀림이였던 것을 지금은 저렇게 정리해 놓음. 크메르 왕조는 저 문명을 건설하고는 15세기경 멸망했고 그 이후로 밀림안에 감춰져 있었다. 저곳을 처음 발견했다는 프랑스인은 정말 신기했을 것 같다. 밀림안에 이 무슨 건축물들이? 그 옛날 여기엔 도대체 무슨일이 있었던 것일까, 타임머신을 타고 꼭 가보고만 싶다. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777259070/" title="IMG_7738 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7044/6777259070_cbeebd2ab3.jpg" alt="IMG_7738" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777276298/" title="IMG_7763 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7047/6777276298_7077d4881e.jpg" alt="IMG_7763" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

벽에는 저렇게 돌에 부조를 조각해 놓았다. 저 여인이 압살라라고 하는 선녀라고 함. 압살라의 가슴을 만지면 자식이 생긴다고 하여 열심히 만지고 왔음 으흐. 가이드 분은 저 망사치마에 비친 다리를 보라며 부조의 디테일을 강조함. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923463723/" title="IMG_7864 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7052/6923463723_0f2b122eda.jpg" alt="IMG_7864" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

근처에 타프롬이라고 하는 절이 있는데 저곳이 정말 장관이다. 보이는 것처럼 저 큰 나무의 씨앗들이 하필이면 저곳 천년전 석조 건축물들 위에 떨어져서 지금은 그냥 천년전 건축물이랑 섞여서 살고 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923500715/" title="IMG_7908 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7198/6923500715_e3bd80c155.jpg" alt="IMG_7908" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777373402/" title="IMG_7893 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7184/6777373402_4fa6238b3d.jpg" alt="IMG_7893" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923493593/" title="IMG_7898 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7208/6923493593_22758a93e9.jpg" alt="IMG_7898" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

천년전 석조건축물을 기껏 안정적으로 지어놨더니 저 나무의 뿌리가 곳곳에 파고들어 건물을 무너뜨리고 있다고. 그렇다고 저 나무를 죽일 수도, 걷어낼 수도 없어 지금은 성장억제제를 투여하고 있다고 한다. 인간의 견고한 역사도 계속되는 시간의 흐름앞엔 어쩔 수 없음을 생생하게 느낄 수 있다. 지금의 우리 문명이 멸망하고 몇 천년뒤에 다른 문명이 우리를 발견한다면, 지금 여길 여행하며 천년전을 상상하는 것과 많이 다르지 않을 것이다.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923515519/" title="IMG_7957 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7177/6923515519_166b3225c3.jpg" alt="IMG_7957" height="333" width="500"&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="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777422150/" title="IMG_8035 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7209/6777422150_690b1eb20a.jpg" alt="IMG_8035" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

톤레삽 호수로 가는 길의 캄퐁플럭(수상촌)은 정말 인상적이였다. 우기때 물이 불어 높아지기 때문에 집을 저렇게 높게 지어야 한다. 우리의 겨울은 저곳의 건기여서 지금은 물이 저렇게 빠져있음. 관광객 보트가 저들의 삶의 터전을 들여다보며 지나간다는게 좀 어색하긴 하지만, 그래도 밝은 미소의 캄보디아 사람들을 볼 수 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777436094/" title="IMG_8070 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7070/6777436094_23523af3cb.jpg" alt="IMG_8070" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

톤레삽 호수는 바다같다. 계절에 따라 수위가 5,6미터씩 차이나는 흙빛 바다. 그리고 저 곳을 삶의 터전으로 삼고 살아가는 사람들. 가져간 DSLR 카메라가 이날따라 잘나오는 것이 마치 내가 사진작가가 된것 같은 착각도.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923527361/" title="IMG_8006 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7043/6923527361_2b49c13c49.jpg" alt="IMG_8006" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

한국관광객 어르신들이 이곳 삶의 모습에서 옛날 6,70년대 우리나라의 모습을 느낀다고 한다. 그래서 더 그런가 저곳 사람들의 미소가 더욱 친근하다. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777447690/" title="IMG_8115 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7062/6777447690_728e47efc4.jpg" alt="IMG_8115" height="333" width="500"&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="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6777454096/" title="IMG_8127 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7050/6777454096_2660bb683b_z.jpg" alt="IMG_8127" height="640" width="427"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

식사 중 저렇게 공연을 보여주는데 물론 멋지고 즐거운 공연이였지만 안쓰러움도 들더라. 예전엔 저 공연도 김일성 부자의 칭송에 관한 것이였다가 남한의 관광 가이드들이 그래서는 안간다해서 지금은 그런 것도 뺀 것이라고. 서로가 등을 돌리고 있는 남한과 북한이지만 조금씩 조금씩 가까워지고 있음을 느낄 수 있다. &lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923571389/" title="IMG_8138 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7065/6923571389_c989345f0c_z.jpg" alt="IMG_8138" height="640" width="427"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

난생 처음 북한 분들과 사진도. 아내가 저 사진을 찍어주고는 그리도 좋냐고 한다. 좋다고 하기보다 신기함이야, 가까운 핏줄일 북한분(SNP으로 PCA해보면 당연히 같은 민족)을 이 먼 타국에서 만나 한장의 사진에 함께 담길 수가 있다니 말이야.&lt;br /&gt;&lt;br /&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/6923351003/" title="IMG_7671 by yong27, on Flickr"&gt;&lt;img src="http://farm8.staticflickr.com/7176/6923351003_77c6d3faa1.jpg" alt="IMG_7671" height="333" width="500"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;

캄보디아에는 더운 날씨에 비해 벌레들이 별로 없는데 저 도마뱀때문이라고 한다. 재빠르게 벌레들을 잡아먹고 사는 저 도마뱀을 잡아 집에 일부러 풀어 놓는다고. 호텔방에서도 한마리 발견했는데, 아내는 저녀석 때문에 밤새 잠을 못잤다. 여행가방에 들어갔을까봐 다 들어내기도 했다. 난 귀엽기만 했던 걸. &lt;br /&gt;&lt;br /&gt;

어렸을 때 킬링필드라는 영화로 처음 알게됐던 나라. 그리고 오랜 전쟁과 혼란으로 가난한 나라로만 알고 있었지만 오랜 역사의 유적지, 그리고 따뜻한 삶의 미소와 함께 여행가보기 좋은 나라가 되고 있다. 게다가 물가가 싸서 여행가기 많이 부담되지 않는다. 시내 번화가 맥주집에서는 1달러에 생맥주가 두잔. 유네스코에서 문화재 보호를 위해 곧 관광객 출입을 막을 계획도 있다고 하니 앙코르와트 보고싶으신 분은 서두르셔야 할 듯. (이번 여행의 모든 사진들은 &lt;a href="http://www.flickr.com/photos/yong27/sets/72157629442132631/"&gt;이곳 플리커&lt;/a&gt;에서 더 공개)&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/wZ1X2nGG0Es" height="1" width="1"/&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="http://www.wehi.edu.au/education/wehitv/"&gt;WEHI-TV&lt;/a&gt;라고 3D 애니메이션을 이용한 분자생물학 교육용자료를 공개하고 있는데 그 수준이 가히 감동이다. 분자생물학 배울 때 이 동영상들이 있었으면 훨씬 더 이해하기 쉬웠을텐데 싶음. 이 동영상에 나오는 DNA 및 단백질들은 그냥 가상의 상상도가 아니라, 정확하게 입체구조가 결정된 분자구조를 갖고 만든것이다. 보다보면 생명현상의 경외심 같은게 또 막 느껴지고 그러함. &lt;br /&gt;&lt;br /&gt;그럼, 분자생물학 다시 공부한다 생각하고, 감상 시작.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center"&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/OjPcT1uUZiE" frameborder="0" 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="http://biohackers.net/wiki/DnaReplication"&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="text-align: center"&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/DA2t5N72mgw" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/DNA_transcription"&gt;DNA transcription&lt;/a&gt;이다. 전사를 위한 단백질들 여럿이 모여 전사가 시작되면 RNA polymerase가 롤러코스터를 타듯이 주욱 미끄러지며 RNA를 만든다. 전사개시를 위해 Transcription factor들이 결합하는 모습이 중요하다. 실제 유전자가 시작되는 한참 앞에 부위의 DNA와 결합해있는 단백질이 같이 결합하는 부분 중요. 유전자 발현은 이래저래 조절받아야 하다보니 복잡한 것임. 합성된 RNA가 핵공을 빠져나가면서 splicing이 일어날텐데 이 동영상에는 빠져 있는 듯.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center"&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/WkI_Vbwn14g" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;핵공을 빠져나온 mRNA가 리보솜을 만나 &lt;a href="http://en.wikipedia.org/wiki/Translation_%28genetics%29"&gt;단백질 합성&lt;/a&gt;을 시작한다. 빨간색 아미노산을 달고 있는 tRNA가 세개의 코돈에 맞는 것들만 그자리로 가서 아미노산들이 사슬로 연결된다. 이 반응 역시 화학적으로 자발적 반응이라는게 쉽사리 와닿지 않음. 단백질이 합성되면서 폴딩이 일어나는 모습도 관찰 할 수 있다. (저 단백질은 헤모글로빈이라고 함)&lt;br /&gt;&lt;br /&gt;이밖의 더 많은 동영상들이 저 사이트에 있다. 분자생물학은 입체구조에 관한 학문임을 되새겨보며 한번씩 보면 많은 도움이 될 것 같다. 그리고 분자생물학을 잘 모르는 비전공자들에게 설명해주기에도 좋은 것 같음.&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/nJjKbi9wnrI" height="1" width="1"/&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="" href="http://biohackers.net/wiki/UbuntuLinux"&gt;우분투&lt;/a&gt; 11.10으로 업그레이드 가능하다는 메세지를 보았다. 내가 우분투를 좋아하는 이유는 빠른 패키지버전. 지난번 &lt;a href="http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux"&gt;Cafe24 VPS&lt;/a&gt;에서 우분투 업데이트 이후 바뀐 커널로는 부팅이 안된다는 얘기가 좀 걸리긴 했지만 그래도 뭐 부팅안되면 이전 커널로 해주겠지라는 생각에 릴리즈 업그레이드 진행.&lt;br /&gt;&lt;br /&gt;그랬더니 역시나 부팅이 안된다. 어렵게 전화연결하여 확인해보니 터미널이 아예 먹통이란다. 그러면서 담당자분 얘기가 OS재설치를 하셔야 할 것 같다고. 어헉, 패닉상태... 데이터도 날아간거 아냐? &lt;a href="http://twitter.com/neocoin"&gt;@neocoin&lt;/a&gt;님 얘기에 의하면 3일에 한번씩은 백업한다고 했으니 그거라도 쓸 수 있는거겠지. 한참 나중에 가상서버호스팅 담당자와 연결이 됐는데, 부팅은 안되도 데이터 엑세스는 가능하다더라. 새 OS를 설치하면 거기에 기존 데이터를 복사해준다는 얘기에 십년감수했다. 십년간 모았던 위키, 블로그 등 데이터가 날아가나 싶어 식겁했다. 함부로 우분투 업그레이드하면 안되는거구나.&lt;br /&gt;&lt;br /&gt;Cafe24 VPS에서는 가상머신으로 &lt;a href="http://en.wikipedia.org/wiki/Xen"&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="" href="http://biohackers.net/wiki/MoinMoin"&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="http://code.google.com/p/modwsgi/wiki/InstallationIssues#Mixing_32_Bit_And_64_Bit_Packages"&gt;32, 64비트 패키지가 믹스됐다고. python2.7 빌드할 때 --enable-shared 옵션을 줘야&lt;/a&gt;한단다.&lt;br /&gt;&lt;br /&gt;해서 여차저차 약 10시간만에 biohackers.net 서버를 살려냈다. 최신버전의 패키지를 한방에 쓸 수 있던 최신 우분투 환경에 새삼 대단함을. 서버운영에 있어서 새 버전과 안정성은 늘 고민이 되는 일.&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/p6Ofri2iYRw" height="1" width="1"/&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="http://en.wikipedia.org/wiki/Software_deployment"&gt;소프트웨어 디플로이먼트(Software deployment)&lt;/a&gt;라고 한다. 적절한 한국어 번역은 잘 떠오르지 않는다. "설치"는 installation의 번역이고, "배포"는 distribution의 번역이다 보니 적절한 단어가 떠오르지 않는다. "배치"는 batch 같아 좀 아닌것 같고.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;어쨌건, 파이썬 프로그래머를 위한 유용한 디플로이먼트 도구인 &lt;a href="http://biohackers.net/wiki/Pip"&gt;pip&lt;/a&gt;, &lt;a href="http://biohackers.net/wiki/VirtualEnv"&gt;virtualenv&lt;/a&gt;를 잘 모르는 분들이 많은 듯 하여 소개해 보고자 한다. 이게 어디에 써먹는 것이냐 하면, 하나의 서버에 여러개의 파이썬 버전을 서비스한다던가, 복잡하게 갖다 쓴 써드파티 라이브러리들 쉽게 설치한다던가 등에 긴요하게 쓸 수 있다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;서비스서버를 새로 구입했고, 거기에 내가 만든 &lt;a href="http://biohackers.net/wiki/Django"&gt;장고(Django)&lt;/a&gt; 어플리케이션을 두개를 올린다고 가정해보자. 마침 그 두 프로그램은 사용한 장고 버전이 다르다. 하나는 최신 버전(1.3.1)인데, 또 하나는 옛날에 만든것을 아직 새 버전에 맞추지 않아 1.0.3 버전에서 돌아야 한다. 게다가 추가로 설치해야 할 써드파티 라이브러리들도 많다. 이경우 운용환경을 구축하기가 꽤 번거로운데 pip, virtualenv를 쓰면 매우 편리하다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://biohackers.net/wiki/UbnutuLinux"&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을 건너뛰고 "apt-get install python-pip" 로 바로 설치할 수도 있다.)&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 환경에 들어가서 파이썬 쉘이 들어가 "import django" 해보자. 패키지가 설치되지 않았다고 나올 것이다. 지금 새로 만든 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="http://biohackers.net/wiki/Matplotlib"&gt;matplotlib&lt;/a&gt;의 경우 &lt;a href="http://biohackers.net/wiki/MacOSX"&gt;Mac OS X&lt;/a&gt;에서 빌드과정에 문제가 있다. &lt;a href="https://jholewinski.wordpress.com/2011/07/21/installing-matplotlib-on-os-x-10-7-with-homebrew/"&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 라이브러리를 설치했다. 다음부터 이 설치를 한방에 할 수 있도록 하는 명령이 "pip freeze" 이다. &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 ~ "/asite/"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetHandler python-program&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonPath "['/home/sites', '/home/sites/asite'] + sys.path"&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 ~ "/bsite/"&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetHandler python-program&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonPath "['/home/yong27/work/py-envs/angr/bin', '/home/sites', '/home/sites/bsite'] + sys.path"&lt;br /&gt;&amp;nbsp; &amp;nbsp; PythonHandler &lt;span style="font-weight: bold;"&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 = '/home/yong27/work/py-envs/angr/bin/activate_this.py'&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="http://biohackers.net/wiki/ModWsgi"&gt;mod_wsgi&lt;/a&gt;로 연동할때도 유사하게 설정할 수 있다. &lt;br /&gt;&amp;nbsp;&lt;br /&gt;이상, pip와 virtualenv를 이용한 파이썬 디플로이먼트 및 가상환경 운용에 대해 알아보았다. 파이썬 어플리케이션을 구동할 때 운용환경이 맞지 않아 삽질하는 경우가 많은데, 이처럼 어플리케이션별로 운용환경을 정립하고 버전도 테스트된 버전만을 쓰도록 하면 설치도 쉽고 오류도 적은 운용이 가능하다. &lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/O-W5oQ3cHzg" height="1" width="1"/&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="http://no-smok.net"&gt;노스모크&lt;/a&gt; 친구들로 북적였던 &lt;a href="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"&gt;한국의 규모있는 위키위키 웹사이트 가운데 하나&lt;/a&gt;였는데... 지금도 물론 개인용 노트 역할을 충분히 하고 있는 위키사이트 &lt;a href="http://biohackers.net"&gt;BioHackersNet&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;2005년경부터 집에 있는 PC에 &lt;a href="http://biohackers.net/wiki/UbuntuLinux"&gt;우분투리눅스&lt;/a&gt; 깔고 운영해왔다. 낮은 사양에도 꽤 오랫동안 안정적으로 잘 버텨왔다 싶었는데 언제부턴가 버벅버벅대더니 종종 죽더라는. 난 회사 업무를 보더라도 저 사이트가 안되면 집중을 잘 못하고 집에 전화를 걸어 부모님께 재부팅을 부탁하곤 했었다. 이게 2,3일에 한번씩은 재부팅을 해야하는 상황으로까지...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/#%21/yong27/status/93120673840504833"&gt;어찌하면 좋을까요라고 트윗을 올렸더니&lt;/a&gt; 많은 분들이 리플을 주셨다. 서버호스팅, &lt;a href="http://www.cafe24.com/?controller=product_server_virtual&amp;amp;method=linux"&gt;cafe24 VPS&lt;/a&gt;, 아마존에 공짜로 풀렸다는 기초 머신, 비글보드까지. 아마존 공짜 서비스는 사양이 너무 약한 것 같았고 cafe24 VPS가 끌렸다. 안그래도 최근 가상화 관련 업무를 보고 있는데 마침 성능이 어떨까 쓸만한 수준일까 확인해보는데도 좋을 것 같았다. (&lt;a href="http://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81_%EC%82%AC%EC%84%A4_%EC%84%9C%EB%B2%84"&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="http://moinmo.in/HowTo/Migrate%20from%201.5%20to%201.6"&gt;차분히 보고&lt;/a&gt; 옮겨보기로 했다. 이관스크립트는 중간에 멈추긴 하지만 그래도 데이터는 제대로 변환이 되는 듯. 1.6 버전부터는 몇몇 위키 문법이 바뀌였다. 링크가 [" "] 대신에 [[ ]] 로 바뀌고, 매크로가 [[ ]] 에서 &amp;lt;&amp;lt; &amp;gt;&amp;gt; 로 바뀌였다. &lt;a href="http://biohackers.net/wiki/NoSmokeMoinMoin"&gt;노스모크 모인모인&lt;/a&gt; 이후 변형해쓰던 [ ] 링크는 고민끝에 그냥 모인모인의 방식으로 수동 변경하기로 했다. 왠만하면 커뮤니티의 기준을 따르는 것이 지속적인 업데이트에 도움이 될것이라 판단했다. &lt;br /&gt;&lt;br /&gt;해서, 모인모인 1.9.3 을 아파치 - mod_wsgi 로 올렸는데, 이전의 mod_python에 비해 훨씬 빠르고 안정적으로 돌아가는 듯. 새로 추가된 모인모인의 기능은 점차 익히기로 하고, 정말이지 오랜만에 쾌적한 BioHackersNet을 보게 되었다. 아이폰으로 쓰기 편한 모인모인 테마를 찾아내거나 만들어서 위키만한 개인용 지식관리 방법이 없음을 증명해보여야겠다. &lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/HJ0Q3u5rfno" height="1" width="1"/&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="http://usegalaxy.org"&gt;갤럭시&lt;/a&gt;. (하필 S사의 스마트폰과 이름이 같아 검색결과 보기가 짜증남) 이제 왠만한 연구실에서는 직접 깔아서 써야할 시기가 도래한 듯 싶다. 하필이면 파이썬으로 만들어져서 뭔가 확장해 쓰기 참 좋다고 할 수 있겠다. 직접 설치하면 자신만의 데이터 소스를 지정한다던가, 분석도구를 직접 만들어 써본다던가가 가능하다. 지난번 창범님이 서열데이터에서 프라이머 디자인하는것이 필요하다고 얼핏 얘기한 듯 하여 &lt;a href="http://biohackers.net/wiki/Primer3"&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="http://primer3.sourceforge.net/releases.php"&gt;primer3 최신버전 2.2.3 &lt;/a&gt;은 eprimer3와 연동되지 않는다. 아쉽지만 primer3는 버전 1.1.4로 해야)&lt;br /&gt;&lt;br /&gt;보니까 외부 도구의 형식을 XML로 등록할 수 있도록 되어 있으며, 입출력에 맞추어 돌아갈 수 있는 스크립트를 만들면 되더라. 해서 만든 &lt;a href="http://biohackers.net/wiki/Primer3GalaxyTool"&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="EMBOSS" id="EMBOSSLite"&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="emboss_5/emboss_eprimer3.xml" /&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="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/5646094914/sizes/o/in/photostream/" target="_blank"&gt;&lt;img src="http://farm6.static.flickr.com/5150/5646094914_29b2ffb4ae.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;일반 텍스트로 나오는 결과를 &lt;a href="http://biohackers.net/wiki/BioPython"&gt;BioPython&lt;/a&gt;으로 파싱해서 테이블형태로 출력하도록 했다. 갤럭시 볼수록 쓰기에 괜찮다는 생각. 플러그인 만들기도 좋고, 생물정보 하는 많은 사람들이 이런 방식을 원했는데 진짜로 나왔다는.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/NzphvLJ9TSM" height="1" width="1"/&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>
		<item>
			<title>스크립터를 위한 쉘 필수유틸리티 GNU screen</title>
			<link>http://yong27.biohackers.net/370</link>
			<description>스크립트를 많이 짜야하는 사람을 스크립터(scripter)라고 나름 제목 지어보다. 유닉스 환경에서 프로그래밍하다보면 뭔가 많이 한정된 쉘이란 공간에서 있게 되는데, &lt;a href="http://en.wikipedia.org/wiki/GNU_screen"&gt;screen&lt;/a&gt;을 쓰면 이 공간을 훨씬 효율적으로 이용할 수 있다. 예전에 좀 쓰다가 잊고 있었는데, 며칠전 &lt;a href="http://twitter.com/#%21/yong27/status/45435111180730368"&gt;오랫동안 돌아야 하는 프로세스를 nohup으로 어떻게 만들까요&lt;/a&gt;란 나의 트윗에 &lt;a href="http://twitter.com/#%21/aha00a/status/46430695035383808"&gt;아하님이 힌트&lt;/a&gt;를 줬다. ("screen" 으로 검색하면 온갖 잡다한 것들이 다 나온다. 그때는 "GNU screen"으로 해야)&lt;br /&gt;&lt;br /&gt;

screen을 써서 할 수 있는 것들&lt;br /&gt;&amp;nbsp;1. 하나의 터미널에서 여러개의 쉘을 띄워 돌아가며 작업할 수 있다.&lt;br /&gt;&amp;nbsp;2. 하던 작업(세션)을 그대로 두고, 다른 곳에서 접속해서 사용할 수 있다.&lt;br /&gt;&amp;nbsp;3. 다른 사람이 다른 터미널에서 세션을 공유해서 쓸 수 있다.&lt;br /&gt;&lt;br /&gt;이런 장점들로 인해, 원격 터미널 공유 페어프로그래밍을 하는데 요긴하게 쓰일 수 있으며, 몰랐던 것은 세션을 detached 시켜도 그 안에 프로세스는 계속 돈다는 것이다. 그래서 장시간 도는 프로세스를 세션안에 유지시킬 수 있다. 회사서 작업한 환경을 그대로 detached 시켰다가 집에서 마져 할 수도. (아하님은 screen -r 을 .bash_profile 에 넣어서 항시 스크린으로 들어가도록 하면 &lt;a href="http://twitter.com/#%21/aha00a/status/46461124408913921"&gt;좋다고까지&lt;/a&gt;) 아, 또 &lt;a href="http://biohackers.net/wiki/SshTunneling"&gt;SSH Tunneling&lt;/a&gt;으로 뒷구멍을 유지시킬 때도 활용할 수 있을 듯.&lt;br /&gt;&lt;br /&gt;

해서 요긴하게 써먹으려 좀 알아봤더니 유용한 기능들이 더 있더라. &lt;br /&gt;&amp;nbsp;1. 화면분할기능 : Ctrl-a Ctrl-S 를 하면 가로로 화면 분할된다 쉘을 가로로 나눠서 쓰니 이리 편할때가. (복귀할때는 Ctrl-a Ctrl-Q) 세로 분할도 있던데 이건 별도로 패치를 해야한다고 함.&lt;br /&gt;&amp;nbsp;2. 복사붙혀넣기 기능 : Ctrl-a Ctrl-[ 로 vi 모드로 들어가 j,k,l로 돌아다니며 복사후 Ctrl-a Ctrl-] 로 붙혀넣기. (X-Window 등 GUI 가 아닌 환경에서 타 쉘로 복사붙혀넣기 못했던 과거가 흑)&lt;br /&gt;&amp;nbsp;3. ~/.screenrc 로 환경설정을 해줄 수 있다. (&lt;a href="http://m.solanara.net/solanara/screen"&gt;이곳&lt;/a&gt; 참고) 아래 설정은 항상 하단에 현재 윈도우가 어딘지 표시함. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;startup_message off&lt;br /&gt;hardstatus on&lt;br /&gt;hardstatus alwayslastline&lt;br /&gt;hardstatus string "%{.bW}%-w%{.rW}%n*%t%{-}%+w %= %c ${USER}@%H"&lt;/blockquote&gt;&lt;br /&gt;장시간 돌아야 하는 프로세스를 위한 추가 팁&lt;br /&gt; 1. django settings 에 DEBUG=True 를 꼭 꺼주자. 그래야 메모리가 안는다. &lt;br /&gt; 2. Ctrl-a 를 시작으로 막 사용하다 보면, 먹통이 될 때가 있다. 그 이유는 Ctrl-s 를 눌렀기 때문. 이것은 xoff 명령이다. xon 은 다시Ctrl-q를 눌러줘야 한다.&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/JooTYb3FsfI" height="1" width="1"/&gt;</description>
			<category>Pythoneer</category>
			<category>process</category>
			<category>screen</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/370</guid>
			<comments>http://yong27.biohackers.net/370#entry370comment</comments>
			<pubDate>Sat, 19 Mar 2011 13:25:16 +0900</pubDate>
		</item>
		<item>
			<title>신혼보고</title>
			<link>http://yong27.biohackers.net/369</link>
			<description>완전 빙하기였던 겨울이 서서히 물러나며 어느덧 삼월도 다 지나가고 있네요. 정신없이 바빴던 겨울이 날 풀리면서 서서히 안정되는 듯 합니다. 늦었지만 &lt;a href="http://yong27.biohackers.net/368"&gt;결혼 축하&lt;/a&gt;해주신 모든 분들께 감사드립니다. 한분한분 감사인사를 드렸어야 했는데 많이 늦었습니다. &lt;a href="http://www.flickr.com/photos/yong27/sets/72157626139088880/"&gt;결혼식 사진&lt;/a&gt; 구경하세요. (사진기사분 찍은 다른 사람의 결혼사진 보기 드물죠?)&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/5477755256/" title="Untitled by yong27, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5012/5477755256_048e5d78dd.jpg" alt="" style="border: 0pt none;" height="333" width="500"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;신혼여행도 잘 갔다 왔구요, 벌써 두달 넘게 지났네요. 달콤한 신혼생활을 보내고 있습니다. 밀린 회사 업무 가운데도 신혼 핑계로 일찍 퇴근하기도 하고 (배려해주는 팀원들께 감사), 고마운분들 초대해 집들이도 하고 있습니다. &lt;br /&gt;&lt;br /&gt;신혼여행은 &lt;a href="http://ko.wikipedia.org/wiki/%ED%91%B8%EA%BB%AB_%EC%A3%BC"&gt;푸켓&lt;/a&gt;에 다녀왔어요. 한창 추웠던 한국에 비해 넘넘 따뜻했던 날씨와 에메랄드빛 해변이 자꾸 기억나는 곳이였어요. DSLR을 가져갔더니 가이드님이 사진을 많이 찍어주셨더랍니다. &lt;a href="http://www.flickr.com/photos/yong27/sets/72157625870302741/"&gt;신혼여행 사진&lt;/a&gt;도 공개합니다. 웨딩 리허설 촬영때 &lt;a href="http://www.flickr.com/photos/yong27/5253506575/"&gt;이 사진&lt;/a&gt;이 조작 아니냐는 얘기들이 많았는데 아닙니다. &lt;a href="http://www.flickr.com/photos/yong27/5427521345"&gt;피피섬에서도 찍었어요&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;페이스북에 간간히 사진들 올리고 있는데 처음에는 부럽다 반응이였다가 점점 그만하라는 듯한 반응이라 올리기가 망설여진다는. 그래도 계속 올릴랍니다. 하고싶은 일이 많아요. 색시 좋아하는 째즈댄스도 같이 하고 싶고, 살사도 가르쳐야하고 ^^ 그나저나 회사일은 계속 많아져서 야근하고 "늦게들어오는 남편 필요없어 나가" 라는 얘기 듣고 있습니다. 어여빨리 회사일도 여유롭길 바래봅니다. &lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/VEiApO11h3o" height="1" width="1"/&gt;</description>
			<category>SomeThinks</category>
			<category>wedding</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/369</guid>
			<comments>http://yong27.biohackers.net/369#entry369comment</comments>
			<pubDate>Sat, 19 Mar 2011 08:12:10 +0900</pubDate>
		</item>
		<item>
			<title>저 결혼합니다</title>
			<link>http://yong27.biohackers.net/368</link>
			<description>좀 많이 늦긴 했지만, 좋은 인연을 만나려고 그랬나 봅니다. 한 만남을 소중히 하고 그리고 함께 하고 싶다 진정으로 여기었더니 저에게도 이런 날이 오네요. 바쁜 일정에서도 틈틈히 연애하고 아끼고 사랑했고요 드디어 결혼합니다. &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; border: 0pt none;"&gt;&lt;a href="http://www.flickr.com/photos/yong27/5253193687/" title="IMG_0990 by yong27, on Flickr"&gt;&lt;img src="http://farm6.static.flickr.com/5205/5253193687_1c7345b54c_z.jpg" alt="IMG_0990" style="border: 0pt none;" height="640" width="427"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;어떻게 연애했는지 궁금하실 분들을 위해 준비한 사진 &lt;a target="" href="http://www.flickr.com/photos/yong27/sets/72157625356415851/"&gt;우리 이렇게 연애했어요&lt;/a&gt; 구경하세요. 그간 비공개였던 그녀와의 사진들도 보시구요. &lt;a href="http://www.flickr.com/photos/yong27/sets/72157625580334786/"&gt;웨딩 리허설 촬영&lt;/a&gt;도 공개합니다. 이렇게 멋지게 하고 사진찍어본건 처음인 것 같네요. 어여쁜 신부님은 간호사십니다. 그녀의 마음을 얻기 위해 엄청 노력했다구요.&lt;br /&gt;&lt;br /&gt;결혼식은 &lt;a target="_blank" href="https://www.google.com/calendar/event?action=TEMPLATE&amp;amp;tmeid=MTRjdjNyOWd2cTZuNmw1dmhtaGxnZnRhamMgeW9uZzI3QG0&amp;amp;tmsrc=yong27%40gmail.com"&gt;2011년 1월 9일 일요일 오후 12시 30분&lt;/a&gt; 안양 &lt;a target="_blank" href="http://maps.google.co.kr/maps?q=%ED%8F%AC%EC%8B%9C%EC%A6%8C%EC%BD%94%EB%A6%AC%EC%95%84%EC%9B%A8%EB%94%A9"&gt;포시즌코리아웨딩 (구 안양결혼회관)&lt;/a&gt;에서 합니다. 
 오셔서 축하해주시고 또 맛있는 밥 드시고 가세요. 따뜻한 봄에 할까 했으나 양가 부모님 상견례이후 언능언능하라는 말씀 따라 언능합니다. 올해안넘기려 했다가 조금 넘기긴 했네요. 새해의 시작과 함께 뜻깊은 자리가 될껍니다.&lt;br /&gt;&lt;br /&gt;&lt;p id="more368_0" class="moreless_fold"&gt;&lt;span style="cursor: pointer;" onclick="toggleMoreLess(this, '368_0','[약도 및 교통편 보기]','[감추기]'); return false;"&gt;[약도 및 교통편 보기]&lt;/span&gt;&lt;/p&gt;&lt;div id="content368_0" class="moreless_content" style="display: none;"&gt; &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://yong27.biohackers.net/attach/1/6438037781.jpg" alt="사용자 삽입 이미지" height="721" width="525" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;인생을 함께할 사람과 언약식을 한다는 것 정말 뜻깊고 두근거려지는 일입니다. 늘 서로 아끼고 사랑하며 알콩달콩 잘 살껍니다. 이쁘게 보아주세요.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PS/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;팀장님 장가보내야 한다며 일찍 보내주고, 또 많이 도와준 우리 KM팀 팀원들 너무 감사합니다. 울 팀원들 아니였으면 어려웠을꺼에요 흑.&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/yong27/~4/Zpdmve83KO4" height="1" width="1"/&gt;</description>
			<category>SomeThinks</category>
			<category>wedding</category>
			<author> (yong27)</author>
			<guid>http://yong27.biohackers.net/368</guid>
			<comments>http://yong27.biohackers.net/368#entry368comment</comments>
			<pubDate>Thu, 16 Dec 2010 01:07:33 +0900</pubDate>
		</item>
	</channel>
</rss>

