<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
  <title type="html">빗자루네</title>
  <id>http://myevan.net/</id>
  <link rel="alternate" type="text/html" hreflang="ko" href="http://myevan.net/" />
  <subtitle type="html"></subtitle>
  <updated>2009-01-06T04:40:06+09:00</updated>
  <generator>Textcube 1.7.5 : Risoluto</generator>
  <entry>
    <title type="html">FreeBSD 프로그램 직접 설치 방법</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/FreeBSD-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%A7%81%EC%A0%91-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/125" thr:count="0"/>
    <category term="freebsd" />
    <category term="bz2 압축풀기" />
    <category term="freebsd" />
    <category term="gz 압축 풀기" />
    <category term="직접 설치" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/FreeBSD-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%A7%81%EC%A0%91-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95</id>
    <updated>2009-01-06T02:26:55+09:00</updated>
    <published>2009-01-06T02:25:49+09:00</published>
    <summary type="html">&lt;span style=&quot;font-weight: bold;&quot;&gt;웹에서 파일 받기&lt;/span&gt;&lt;br&gt;fetch http://주소/파일.확장자&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;tar.bz2 파일 압축 풀기&lt;/span&gt;&lt;br&gt;tar -&lt;font size=&quot;3&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;j&lt;/span&gt;&lt;/font&gt;xvf 파일명.tar.bz2&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;tar.gz 파일 압축 풀기&lt;/span&gt;&lt;br&gt;
tar -&lt;font size=&quot;3&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;z&lt;/span&gt;&lt;/font&gt;xvf 파일명.tar.bz2&lt;br&gt;&lt;br&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;빌드하기&lt;/span&gt;&lt;br&gt;./configure&lt;br&gt;make install&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">FreeBSD Python 디폴트 버전 설치</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/FreeBSD-Python-%EB%94%94%ED%8F%B4%ED%8A%B8-%EB%B2%84%EC%A0%84-%EC%84%A4%EC%B9%98" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/124" thr:count="0"/>
    <category term="freebsd" />
    <category term="python" />
    <category term="PYTHON_DEFAULT_VERSION" />
    <category term="디폴트 버전" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/FreeBSD-Python-%EB%94%94%ED%8F%B4%ED%8A%B8-%EB%B2%84%EC%A0%84-%EC%84%A4%EC%B9%98</id>
    <updated>2009-01-06T02:23:18+09:00</updated>
    <published>2009-01-05T18:42:25+09:00</published>
    <summary type="html">python은 버전업이 자주 되기 때문에 &lt;br&gt;한 컴퓨터에 여러 개의 python을 깔아야 할 경우가 있습니다. &lt;br&gt;&lt;br&gt;개발용으로는 버전이 바뀌면 귀찮으니까 옛날에 나온 python-2.5.2 를 쓰고, &lt;br&gt;도구용으로는 최신 안정 버전인 python-2.6.1 을 사용하고, &lt;br&gt;공부용으로는 python-3.0 을 사용하는 식이죠 ~(-_-)~&lt;br&gt;&lt;br&gt;그냥 설치하면 꼭 python2.5 혹은 python3.0 식으로 실행해줘야 하고&lt;br&gt;python 이라고 하면 아무것도 실행되지 않습니다.&lt;br&gt;&lt;br&gt;python 이라고 입력했을때 특정 버전이 실행되게 하려면 &lt;br&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;/etc/make.conf &lt;/span&gt;파일을 수정한 다음&lt;br&gt;인스톨 해주셔야 합니다.&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;# vim /etc/make.conf&lt;br&gt;PYTHON_DEFAULT_VERSION=python2.5&lt;/blockquote&gt;&lt;br&gt;아-_-; 힘들었어요..&lt;br&gt;&lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">커헉 ㅡㅁㅡ)!! 어스토2 !!</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/%EC%BB%A4%ED%97%89-%E3%85%A1%E3%85%81%E3%85%A1-%EC%96%B4%EC%8A%A4%ED%86%A02" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/123" thr:count="1"/>
    <category term="diary" />
    <category term="어스토2" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/%EC%BB%A4%ED%97%89-%E3%85%A1%E3%85%81%E3%85%A1-%EC%96%B4%EC%8A%A4%ED%86%A02</id>
    <updated>2009-01-01T05:51:49+09:00</updated>
    <published>2009-01-01T05:34:15+09:00</published>
    <summary type="html">&lt;P&gt;게임 한번 하면 밤새는줄 모르기 때문에&lt;BR&gt;가정의 평화를 위해 결혼 이후에는 거의 게임을 하지 않았습니다.&lt;BR&gt;&lt;BR&gt;하지만 이번 독일 출장은 너무 길더군요 (-_-);&lt;BR&gt;그래서 출발 전날 와이프가 PSP 용 귀혼을 구입할때&lt;BR&gt;&lt;STRONG&gt;어스토니시아2&lt;/STRONG&gt; 를 따라 구입했습니다.&lt;BR&gt;&lt;BR&gt;허나 지난번 홍대 PSP 게임 판매점 아저씨의 추천으로 사왔던&lt;BR&gt;게임이 황제의 폐허던가... (-_-); 그것과 몬스터 헌터 (-_-); &lt;BR&gt;2 개를 해보고 너무나도 좌절했던지라... orz;;&lt;BR&gt;&lt;BR&gt;솔직히! &lt;BR&gt;개봉이 두려웠습니다. &lt;BR&gt;&lt;BR&gt;그렇게 고이 묻어둔체&lt;BR&gt;출장온지 10일정도 지났습니다.&lt;BR&gt;&lt;BR&gt;언제나 매일 찾아오는 아주 프라이빗한 카타르시스 타임~ &lt;BR&gt;( 후훗 s(-_-)z {저는 언제나 시원하게한답니당~ } )&lt;BR&gt;&lt;BR&gt;유로 저널(유럽 현지 거주하시는 교포분들이 만든 신문인데 재밌드라구요)도&lt;BR&gt;질릴만큼 봐서 너덜너덜해진지라 드디어 PSP 를 들고 어스토2를 집어넣었습니다.&lt;BR&gt;&lt;BR&gt;초반 전투 난이도가 발로 해도 &lt;BR&gt;될만큼 쉬운게 안타깝긴했지만;&lt;BR&gt;스토리 따라가는 맛이 괜찮드라구요. &lt;BR&gt;(시나리오 작가분이 이누야사랑 베르세르크 많이 보신듯 ~(-_-)~ &lt;BR&gt;역시 게임 개발 들어가면 외부 매체랑 단절을 하는게 좋은것 같아요. )&lt;BR&gt;&lt;BR&gt;의외 부분에서 중독 포인트를 발견했는데~&lt;BR&gt;게임을 쉽게 풀어나가려면 &lt;STRONG&gt;뒷치기&lt;/STRONG&gt;(...)라 핵심이드라구요.&lt;BR&gt;게임용어로는 &lt;U&gt;기습&lt;/U&gt;이라고 하던데... 기획자분이 좀 매니아이신것 같아요 *-_-*)&lt;BR&gt;&lt;BR&gt;3명정도 몹몰이해서 뒷치기*-_-*하면&lt;BR&gt;HP 하나 안 줄이고 게임할 수 있더라구요.&lt;BR&gt;여기에 맛들이면서 즐겁게 플레이할 수 있었습니다.&lt;BR&gt;&lt;BR&gt;이렇게 시간이 흘러흘러 12월 31일.&lt;BR&gt;연말 프라하 관광겸 걷기 대회를 마치고 (너무 추워요 = =; )&lt;BR&gt;자정이 되기까지 다시 시간 죽이기를 위해&lt;BR&gt;가넨시아 던전 물찾기(...라기보다는 길찾기) 개노가를 하다가 잠시 멈추고&lt;BR&gt;월즈 닷컴이 NC 소프트를 고소했다는 기사에&lt;BR&gt;해외 사이트 월즈 닷컴 욕하는 기사를 찾아보던중에....&lt;BR&gt;갑자기 저 대신 가넨시아 던전 길찾기 노가다를 해주던 와이프가 하는 말이...&lt;BR&gt;&lt;BR&gt;오리:&lt;BR&gt;&quot;자루-_- 왜 마법사 안써?&quot;&lt;BR&gt;&lt;BR&gt;자루:&lt;BR&gt;&quot;엉 레벨도 안 오르고 잘 죽어서-_-;&quot;&lt;BR&gt;&lt;BR&gt;오리:&lt;BR&gt;&quot;꽤 쎈데? 이 대머리 아저씨는 힐러네&quot;&lt;BR&gt;&lt;BR&gt;자루:&lt;BR&gt;&quot;ㅇㅇ? 대머리가 힐도 해줘?&quot;&lt;BR&gt;&lt;BR&gt;오리:&lt;BR&gt;&quot;ㅇㅇ 디게 쎈데~&quot;&lt;BR&gt;&lt;BR&gt;자루:&lt;BR&gt;&quot;-_-)?? 대머리가 쎄? 이상하네&quot;&lt;BR&gt;&lt;BR&gt;오리:&lt;BR&gt;&lt;BR&gt;&lt;FONT size=6&gt;&quot;자루-_- 근데...&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=6&gt;&lt;BR&gt;&lt;BR&gt;왜 지금까지 &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;스킬 하나도 안올렸어?&quot;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;(...)&lt;BR&gt;&lt;BR&gt;커헉 orz;&lt;BR&gt;&lt;BR&gt;끄악 -ㅁ-)/ 이게 머얏!&lt;BR&gt;와이프 아니었으면 엔딩까지 초급 스킬 한개로 넘길뻔했잖앗!&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;ps.&lt;BR&gt;스테이터스 창에서 세모 버튼을 누르면&lt;BR&gt;스킬 트리가 뜬다는군요 (-_-)&lt;BR&gt;&lt;BR&gt;ps2.&lt;BR&gt;매번 전투하면 얻는 SP 의 정체는&lt;BR&gt;스킬 습득을 하는데 필요한 포인트라는군요-_-;&lt;BR&gt;스킬 (S)kill-_-&lt;BR&gt;포인트 (P)oint-_-&lt;BR&gt;부들부들...;;;&lt;BR&gt;&lt;/P&gt;</summary>
  </entry>
  <entry>
    <title type="html">와하하 ~(-_-)~ python 으로 ssh 사용하기</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/%EC%99%80%ED%95%98%ED%95%98-_-python-%EC%9C%BC%EB%A1%9C-ssh-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/122" thr:count="0"/>
    <category term="pynetworks" />
    <category term="python" />
    <category term="ssh" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/%EC%99%80%ED%95%98%ED%95%98-_-python-%EC%9C%BC%EB%A1%9C-ssh-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0</id>
    <updated>2008-12-29T00:01:13+09:00</updated>
    <published>2008-12-28T23:52:16+09:00</published>
    <summary type="html">&lt;h3&gt;&lt;span onclick=&quot;copyUrl(&#039;http://cybershin.x-y.net/tt/trackback/196&#039;)&quot;&gt;&lt;a href=&quot;http://cybershin.x-y.net/tt/trackback/196&quot; target=&quot;_blank&quot;&gt;http://cybershin.x-y.net/tt/trackback/196&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;
트랙백을 걸줄 몰라서 일단 링크입니다 ~(-_-)~&lt;br&gt;
&lt;br&gt;
서버 관리툴을 만들면서 리모트로 접속해서 이것저것 하고 싶을때&lt;br&gt;&lt;br&gt;그냥 &lt;br&gt;&lt;br&gt;&lt;br&gt;
&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;python&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
os.system
(&#039;ssh 아이디@주소 &quot;명령어1;명령어2&quot;&#039;)

&lt;/textarea&gt;&lt;br&gt;&lt;br&gt;이런식으로 작업했었는데&lt;br&gt;

&lt;br&gt;

&lt;a href=&quot;http://www.lag.net/paramiko/docs/&quot; target=&quot;_blank&quot;&gt;paramiko&lt;/a&gt; 이런게 있다네요 햐햐&lt;br&gt;


&lt;br&gt;


나중에 써먹어봐야지&lt;br&gt;
&lt;br&gt;&lt;br&gt;ps.&lt;br&gt;근데&amp;nbsp; os.system 함수는 글작성이 안되네요-_-;&lt;br&gt;
</summary>
  </entry>
  <entry>
    <title type="html">python30 연습 - 설치 ~ 텍스트 파일 열기</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/python30-%EC%97%B0%EC%8A%B5-%EC%84%A4%EC%B9%98-%ED%85%8D%EC%8A%A4%ED%8A%B8-%ED%8C%8C%EC%9D%BC-%EC%97%B4%EA%B8%B0" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/121" thr:count="2"/>
    <category term="python30" />
    <category term="open" />
    <category term="python 3.0" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/python30-%EC%97%B0%EC%8A%B5-%EC%84%A4%EC%B9%98-%ED%85%8D%EC%8A%A4%ED%8A%B8-%ED%8C%8C%EC%9D%BC-%EC%97%B4%EA%B8%B0</id>
    <updated>2008-12-26T00:33:32+09:00</updated>
    <published>2008-12-26T00:25:00+09:00</published>
    <summary type="html">python30 부터는 내부 문자열이 모두 유니코드가 된다고 하더군요&lt;br&gt;&lt;br&gt;지금 주작업에서는 python25 를 사용하고 있지만&lt;br&gt;언젠가는&amp;nbsp; python30 을 사용하게 될지 모르므로 취미 삼아 연습해보기로 했습니다.&lt;br&gt;&lt;br&gt;그냥 &lt;a href=&quot;http://python.kr/viewtopic.php?t=23467&quot; target=&quot;_blank&quot;&gt;생각없이 설치하면 파이썬이 기본실행이 python30 으로 바뀌어버린다&lt;/a&gt;는 말이 있어&lt;br&gt;&lt;blockquote&gt;&lt;br&gt;&lt;span class=&quot;postbody&quot;&gt;Python3.0a2 설치파일을 실행시키고 Next 연타할 경우, Python 3.0이 디폴트버전이 됩니다.
&lt;br&gt;
기존 버전을 디폴트로 유지하고 싶으면,
&lt;br&gt;

&lt;br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Customize Python 3.0...&lt;/span&gt; 화면에서 &lt;span style=&quot;font-weight: bold;&quot;&gt;Register Extentions&lt;/span&gt; feature를  제거하고 Next 하시면 됩니다.&lt;/span&gt;&lt;/blockquote&gt;&lt;br&gt;조언에 따라 신중하게 설치작업을 완료했습니다 -_-)/&lt;br&gt;&lt;br&gt;역시나 print 명령이 함수로 바뀐게 제일 낯설더군요. &lt;br&gt;&lt;blockquote&gt;&lt;br&gt;Python 3.0 (r30:67507, Dec&amp;nbsp; 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32&lt;br&gt;Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; print &quot;haha&quot;&lt;br&gt;&amp;nbsp; File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1&lt;br&gt;&amp;nbsp; &amp;nbsp; print &quot;haha&quot;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; ^&lt;br&gt;SyntaxError: invalid syntax&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/blockquote&gt;&lt;br&gt;여차저차 적응해서 간단히 텍스트 파싱 프로그램을 만드는데!&lt;br&gt;utf8 로 인코딩된 파일을 읽으면 무조건 에러가 나는겁니다 TㅁT) 허억&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&amp;gt;&amp;gt;&amp;gt; open(&quot;utf8.txt&quot;).read()&lt;br&gt;Traceback (most recent call last):&lt;br&gt;&amp;nbsp; File &quot;&amp;lt;stdin&amp;gt;&quot;, line 1, in &amp;lt;module&amp;gt;&lt;br&gt;&amp;nbsp; File &quot;C:\Python30\lib\io.py&quot;, line 1724, in read&lt;br&gt;&amp;nbsp; &amp;nbsp; decoder.decode(self.buffer.read(), final=True))&lt;br&gt;&amp;nbsp; File &quot;C:\Python30\lib\io.py&quot;, line 1295, in decode&lt;br&gt;&amp;nbsp; &amp;nbsp; output = self.decoder.decode(input, final=final)&lt;br&gt;UnicodeDecodeError: &#039;cp949&#039; codec can&#039;t decode bytes in position 6-7: illegal multibyte sequence&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/blockquote&gt;아니 디폴트가 cp949 면 어쩌라구 =ㅁ=);;&lt;br&gt;&lt;br&gt;메뉴얼을 보니 운영체제 환경설정마다 디폴트 인코딩이 달라진다는데 ~(-ㅁ-;;&lt;br&gt;나중에 꽤나 골치아프겠더라구요.&lt;br&gt;&lt;br&gt;일단은 시간이 없어서 &lt;br&gt;&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;python&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
repr(str(open(&quot;utf8.txt&quot;, &quot;rb&quot;).read(), &quot;utf8&quot;))
&lt;/textarea&gt;&lt;br&gt;&lt;br&gt;이런식으로 프로그래밍했다가 나중에 예외를 따라 라이브러리를 역추적해보니&lt;br&gt;open 함수가 io.py 란 모듈에 새롭게 추가되어있더군요.&lt;br&gt;&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;python&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
def open(file, mode=&quot;r&quot;, buffering=None, encoding=None, errors=None,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; newline=None, closefd=True):
&lt;/textarea&gt;&lt;br&gt;프로토타입도 조금 변경되어있내요&lt;br&gt;&lt;br&gt;&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;python&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
repr(open(&quot;utf8.txt&quot;, encoding=&quot;utf8&quot;).read())
&lt;/textarea&gt;&lt;br&gt;이런식으로 수정하면 완료입니다 -_-)/&lt;br&gt;&lt;br&gt;예전 python2.x 방식에 비하면 깔끔해진 느낌입니다.&lt;br&gt;&lt;textarea name=&quot;CodeHighLighterCode&quot; class=&quot;python&quot; cols=&quot;60&quot; rows=&quot;10&quot; readonly=&quot;readonly&quot;&gt;
repr(open(&quot;utf8.txt&quot;).read().decode(&quot;utf8&quot;))
&lt;/textarea&gt;&lt;br&gt;&lt;br&gt;햐햐 &lt;br&gt;&lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">힘들게 phpBB 복구했습니다</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/%ED%9E%98%EB%93%A4%EA%B2%8C-phpBB-%EB%B3%B5%EA%B5%AC%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/120" thr:count="0"/>
    <category term="diary" />
    <category term="존재하지 않는 페이지" />
    <category term="텍스트큐브" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/%ED%9E%98%EB%93%A4%EA%B2%8C-phpBB-%EB%B3%B5%EA%B5%AC%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4</id>
    <updated>2008-12-26T00:44:00+09:00</updated>
    <published>2008-12-26T00:05:42+09:00</published>
    <summary type="html">텍스트큐브 업그레이드한 이후에 &lt;br&gt;http://www.myevan.net/phpBB/ 로 접근하면 

&lt;br&gt;&quot;존재하지 않는 페이지&quot;라고 나와서 몇달간 포기하고 살았습니다&lt;br&gt;&lt;br&gt;...

오늘 문득; 저걸로 검색해보니

&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://notice.textcube.org/ko/124&quot; target=&quot;_blank&quot;&gt;http://notice.textcube.org/ko/124&lt;/a&gt;

&lt;blockquote&gt;tracewatch 로그 보려고 했더니 블로그 상에서 &quot;존재하지 않는 페이지 입니다.&quot; 라고 나오네요...;;; 이거 어쩌죠?

    &lt;br&gt;&lt;br&gt;*
      텍스트큐브
      2008/06/09 21:37  PERMALINK  MODIFY/DELETE

      http://howto.textcube.org/entry/adding-rewrite-rule-in-htaccess 를 참고해 보시기 바랍니다.^^
    &lt;br&gt;&lt;br&gt;*
      nanika
      2008/06/09 22:54  PERMALINK  MODIFY/DELETE

      정작 1.6.3 까지는 별 탈 없이 썼었는데 말이죠.. 당황했네요. 정보 감사합니다.&lt;/blockquote&gt;&lt;br&gt;이런 내용이 있더라구요 ~(-_-)~ 

&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;하지만 도무지 무슨말인지 이해를 안가서... orz;;;

&lt;br&gt;텍스트큐브 htaccess 로 검색한결과

&lt;br&gt;&lt;a href=&quot;RewriteRule%20%5E%28cache%29+/+%28.+%5B%5E/%5D%29%5C.%28cache%7Cxml%7Ctxt%7Clog%29$%20-%20%5BNC,F,L%5D%20RewriteCond%20%%7BREQUEST_FILENAME%7D%20-d%20RewriteRule%20%5E%28.+%5B%5E/%5D%29$%20$1/%20%5BL%5D%20RewriteRule%20%5EphpBB%28/.*%7C$%29%20-%20%5BL%5D%20RewriteCond%20%%7BREQUEST_FILENAME%7D%20%21-f%20RewriteRule%20%5E%28thumbnail%29/%28%5B0-9%5D+/.+%29$%20cache/$1/$2%20%5BL%5D%20RewriteRule%20%5E%28.*%29$%20rewrite.php%20%5BL,QSA%5D&quot; target=&quot;_blank&quot;&gt;http://forum.tattersite.com/ko/viewtopic.php?id=5335&lt;/a&gt;

라는 &lt;br&gt;주옥같은 답안을 얻게되었습니다 TㅁT)/&lt;br&gt;&lt;br&gt;아래처럼 수정해서 복구에 성공했습니다. 와하하 &lt;br&gt;&lt;blockquote&gt;RewriteRule ^(cache)+/+(.+[^/])\.(cache|xml|txt|log)$ - [NC,F,L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]
&lt;strong&gt;RewriteRule ^phpBB(/.*|$) - [L]&lt;/strong&gt;
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(thumbnail)/([0-9]+/.+)$ cache/$1/$2 [L]
RewriteRule ^(.*)$ rewrite.php [L,QSA]&lt;br&gt;&lt;/blockquote&gt;</summary>
  </entry>
  <entry>
    <title type="html">CHM 파일을 HTML 로 변환하기</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/CHM-%ED%8C%8C%EC%9D%BC%EC%9D%84-HTML-%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/118" thr:count="0"/>
    <category term="visual c++" />
    <category term="chm" />
    <category term="html" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/CHM-%ED%8C%8C%EC%9D%BC%EC%9D%84-HTML-%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0</id>
    <updated>2008-09-09T13:04:31+09:00</updated>
    <published>2008-09-09T13:02:21+09:00</published>
    <summary type="html">게임브리오 도움말을 프린트해보고 싶은데 (-_-);&lt;br&gt;CHM 파일은 출력기능이 꽤나 빈약하더군요&lt;br&gt;그래서 HTML 로 풀어서 보려고 관련 자료를 찾아보았습니다.&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help&lt;/a&gt;&lt;br&gt;&lt;br&gt;윈도우 기본 유틸 hh.exe 라는게 있더군요 ( 네이밍 센스가... orz; )&lt;br&gt;&lt;pre&gt;hh.exe -decompile &lt;span style=&quot;font-style: italic;&quot;&gt;대상폴더&lt;/span&gt; &lt;i&gt;원본파일.chm&lt;br&gt;&lt;br&gt;&lt;/i&gt;짜잔 ~(-_-)~&lt;br&gt;&lt;/pre&gt;&lt;br&gt;ps. &lt;br&gt;어차피 게임 브리오 도움말이 많이 바뀌지는 않으니...;&lt;br&gt;잘만하면 도움말 merge 기능을 만들수 있을지도 (-_-);&lt;br&gt;&lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">python/샘플링된 정보를 이용해 중간 위치 예측하는 방정식 만들기</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/python%EC%83%98%ED%94%8C%EB%A7%81%EB%90%9C-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EC%A4%91%EA%B0%84-%EC%9C%84%EC%B9%98-%EC%98%88%EC%B8%A1%ED%95%98%EB%8A%94-%EB%B0%A9%EC%A0%95%EC%8B%9D-%EB%A7%8C%EB%93%A4%EA%B8%B0" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/117" thr:count="0"/>
    <category term="pymath" />
    <category term="math" />
    <category term="python" />
    <category term="뉴턴법" />
    <category term="보간법" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/python%EC%83%98%ED%94%8C%EB%A7%81%EB%90%9C-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-%EC%A4%91%EA%B0%84-%EC%9C%84%EC%B9%98-%EC%98%88%EC%B8%A1%ED%95%98%EB%8A%94-%EB%B0%A9%EC%A0%95%EC%8B%9D-%EB%A7%8C%EB%93%A4%EA%B8%B0</id>
    <updated>2008-08-14T23:01:30+09:00</updated>
    <published>2008-08-14T23:01:26+09:00</published>
    <summary type="html">게임에서 선형 보간으로 하면 촌스러운 느낌이됩니다. ~(-_-)~&lt;br&gt;&lt;br&gt;가속 감속을 주는 방정식을 만들고 싶을때 사용하는&lt;br&gt;뉴턴 제차분을 이용한 방정식 만들기 프로그램 입니다.&lt;br&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;__newton_subcalc&lt;/font&gt;(sx, sy, ex, ey):&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; (ey - sy)/float(ex - sx)&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;__newton_build&lt;/font&gt;(srcList, stack):&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&quot;&quot;&lt;/font&gt;&lt;/span&gt;&lt;br&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;nbsp; &amp;nbsp; x&amp;nbsp;&amp;nbsp; y&lt;/font&gt;&lt;br&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;nbsp; &amp;nbsp; 1&amp;nbsp;&amp;nbsp; 11&lt;/font&gt;&lt;br&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;nbsp; &amp;nbsp; 2&amp;nbsp;&amp;nbsp; 12 &amp;nbsp;F[1,2] = (1, 11, 2, 12)&lt;/font&gt;&lt;br&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;nbsp; &amp;nbsp; 3&amp;nbsp;&amp;nbsp; 13 &amp;nbsp;F[2,3] = (2, 12, 3, 13) F[1,3] = (1, F[1,1], 3, F[2,3])&lt;/font&gt;&lt;br&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&quot;&quot;&lt;/font&gt;&lt;/span&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; stack.append((srcList[0][2], srcList[-1][2]))&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;if&lt;/font&gt; len(srcList) &amp;lt;= 1:&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; stack&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; sx, mx, sy = srcList[0]&lt;br&gt;&amp;nbsp; &amp;nbsp; dstList = []&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; mx, ex, ey &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; srcList[1:]:&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dstList.append((sx, ex, __newton_subcalc(sx, sy, ex, ey)))&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sx, sy = mx, ey&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; __newton_build(dstList, stack)&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;newton_gen_polyf_items&lt;/font&gt;(srcList):&lt;br&gt;&amp;nbsp; &amp;nbsp; srcList = [(cx, cx, cy) &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; cx, cy &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; srcList]&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; stack = __newton_build(srcList, [])&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; fc, bc = stack[0]&lt;br&gt;&amp;nbsp; &amp;nbsp; fr = fc&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;yield&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;%f&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (fr)&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; count = 1&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; fc, bc &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; stack[1:]:&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cx, ct, cy = srcList[0]&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;yield&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt; * &lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;.join([&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;%f * (x - %f)&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (fc, cx)] + [&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;(x - %f)&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (cx) &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; cx, ct, cy &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; srcList[1:count]])&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count += 1&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;newton_gen_polyb_items&lt;/font&gt;(srcList):&lt;br&gt;&amp;nbsp; &amp;nbsp; srcList = [(cx, cx, cy) &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; cx, cy &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; srcList]&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; stack = __newton_build(srcList, [])&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; revList = [] + srcList&lt;br&gt;&amp;nbsp; &amp;nbsp; revList.reverse()&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; fc, bc = stack[0]&lt;br&gt;&amp;nbsp; &amp;nbsp; br = bc&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;yield&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;%f&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (br)&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; count = 1&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; fc, bc &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; stack[1:]:&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cx, ct, cy = revList[0]&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;yield&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt; * &lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;.join([&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;%f * (x - %f)&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (bc, cx)] + [&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;(x - %f)&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt; % (cx) &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; cx, ct, cy &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; revList[1:count]])&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count += 1&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;newton_make_polyf&lt;/font&gt;(positions):&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt; + &lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;.join((expr &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; expr &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; newton_gen_polyf_items(positions)))&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;def&lt;/font&gt; &lt;font color=&quot;#cc3030&quot;&gt;newton_make_polyb&lt;/font&gt;(positions):&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt; + &lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;.join((expr &lt;font color=&quot;#3030cc&quot;&gt;for&lt;/font&gt; expr &lt;font color=&quot;#3030cc&quot;&gt;in&lt;/font&gt; newton_gen_polyb_items(positions)))&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;if&lt;/font&gt; __name__ == &lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;&lt;font color=&quot;#309000&quot;&gt;__main__&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#808080&quot;&gt;&quot;&lt;/font&gt;&lt;/span&gt;:&lt;br&gt;&amp;nbsp; &amp;nbsp; positions = [&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (0.0, &amp;nbsp;0.3),&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (0.33, 0.7),&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (0.66, 0.9),&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1.0, &amp;nbsp;1.0),&lt;br&gt;&amp;nbsp; &amp;nbsp; ]&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;print&lt;/font&gt; newton_make_polyf(positions)&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;print&lt;/font&gt; newton_make_polyb(positions)&lt;br&gt;&lt;br&gt;&lt;/span&gt;게임에서는 최종값이 중요하니 newton_make_polyb 를 사용하는 것이 좋은듯 합니다.&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">python/파이썬에서 두점의 거리계산을 간단히!</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/python%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90%EC%84%9C-%EB%91%90%EC%A0%90%EC%9D%98-%EA%B1%B0%EB%A6%AC%EA%B3%84%EC%82%B0%EC%9D%84-%EA%B0%84%EB%8B%A8%ED%9E%88" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/116" thr:count="0"/>
    <category term="pymath" />
    <category term="complex" />
    <category term="math" />
    <category term="python" />
    <category term="거리계산" />
    <category term="복소수" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/python%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90%EC%84%9C-%EB%91%90%EC%A0%90%EC%9D%98-%EA%B1%B0%EB%A6%AC%EA%B3%84%EC%82%B0%EC%9D%84-%EA%B0%84%EB%8B%A8%ED%9E%88</id>
    <updated>2008-08-14T17:09:24+09:00</updated>
    <published>2008-08-14T17:04:57+09:00</published>
    <summary type="html">게임을 만들다보면 두점 사이의 방향이나 거리를 구해야 하는 일이 많습니다.&lt;br&gt;이거 하나 하자고 벡터 클래스 만들기도 귀찮아서 아래와 같은 코드를 작성하곤 했는데...&lt;br&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;&lt;blockquote&gt;&lt;font color=&quot;#30a030&quot;&gt;import&lt;/font&gt; math&lt;br&gt;&lt;br&gt;src = (sx, sy)&lt;br&gt;dst = (dx, dy)&lt;br&gt;scale = 2.0&lt;br&gt;&lt;br&gt;delta = dst[0] - src[0], dst[1] - src[0]&lt;br&gt;deltaLen = math.sqrt(delta[0] * delta[0], delta[1] * delta[1])&lt;br&gt;deltaDir = (delta[0] / deltaLen, delta[1] / deltaLen)&lt;br&gt;newPos = deltaDir[0] * scale, deltaDir[1] * scale&lt;/blockquote&gt;&lt;/span&gt;&lt;br&gt;속도는 둘째치고, 코드량의 압박이 장난이 아닙니다. &lt;br&gt;&lt;br&gt;오늘 몬스터 날리기를 구현하던 도중 불현듯 재밌는 아이디어가 떠오르더군요&lt;br&gt;&lt;br&gt;바로 &lt;span style=&quot;font-weight: bold;&quot;&gt;복소수!!&lt;/span&gt; 입니다. &lt;br&gt;&lt;br&gt;(x, y) 좌표 연산이나 복소수 연산이나 2차원 연산이라는 점에서 동일하거든요&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;src = (sx, sy)&lt;br&gt;dst = (dx, dy)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;scale = 2.0&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;delta = complex(*dst) - &lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;complex(*src)&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;deltaLen = &lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;abs(delta)&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;deltaDir = delta / abs(delta)&lt;br&gt;newPos = &lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;delta / abs(delta)&lt;/span&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt; * scale&lt;/span&gt;&lt;/blockquote&gt;짠 ~&lt;br&gt;&lt;br&gt;와하하 너무 좋아요 &lt;br&gt;&lt;br&gt;</summary>
  </entry>
  <entry>
    <title type="html">python/와 ~(-_-)~ 좋다 swig</title>
    <link rel="alternate" type="text/html" href="http://myevan.net/entry/python%EC%99%80-_-%EC%A2%8B%EB%8B%A4-swig" />
    <link rel="replies" type="application/atom+xml" href="http://myevan.net/atom/response/115" thr:count="4"/>
    <category term="swig" />
    <category term="boost" />
    <category term="python" />
    <category term="swig" />
    <author>
      <name>(자루)</name>
    </author>
    <id>http://myevan.net/entry/python%EC%99%80-_-%EC%A2%8B%EB%8B%A4-swig</id>
    <updated>2008-08-06T20:14:39+09:00</updated>
    <published>2008-08-06T20:08:35+09:00</published>
    <summary type="html">boost::python 을 쓰게 된지도 1년 남짓이 되었습니다.&lt;br&gt;vc6 -&amp;gt; vc2005 로 바꾼 이후 컴파일 속도가 상대적(-_-)으로 빨라져서 쓰게되었습니다만...&lt;br&gt;이제 슬슬 인내력의 한계에 다다르게 되었습니다. 와아아아 =ㅁ=)/ 제길슨!&lt;br&gt;&lt;br&gt;컴파일 속도도 답답하고&lt;br&gt;확장해서 쓰려고 해도 소스 코드도 개판이라 흑흑 ~(- -)~&lt;br&gt;&lt;br&gt;그래서 며칠을 고민하던끝에 &lt;a href=&quot;http://www.swig.org/&quot; target=&quot;_blank&quot;&gt;swig&lt;/a&gt; 나 한번 볼까 했는데!&lt;br&gt;엄청 편하군요 orz;&lt;br&gt;&lt;br&gt;&lt;p id=&quot;more115_0&quot; class=&quot;moreless_fold&quot;&gt;&lt;span style=&quot;cursor: pointer;&quot; onclick=&quot;toggleMoreLess(this, &#039;115_0&#039;,&#039;사용예 보기&#039;,&#039;사용예 &#039;); return false;&quot;&gt;사용예 보기&lt;/span&gt;&lt;/p&gt;&lt;div id=&quot;content115_0&quot; class=&quot;moreless_content&quot; style=&quot;display: none;&quot;&gt; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inferna.h&lt;blockquote&gt;&lt;br&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;&lt;font color=&quot;#30a030&quot;&gt;#pragma once&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#30a030&quot;&gt;#include &lt;/font&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;lt;windows.h&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#30a030&quot;&gt;#include &lt;/font&gt;&lt;font color=&quot;#309000&quot;&gt;&amp;lt;string&amp;gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030d0&quot;&gt;class&lt;/font&gt; Inferna_SystemHandler&lt;br&gt;{&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;public&lt;/font&gt;:&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; ~Inferna_SystemHandler() {}&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; &lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; OnInit() = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt;;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; &lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; OnExit() = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt;;&lt;br&gt;};&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030d0&quot;&gt;class&lt;/font&gt; TestSystemHandler : &lt;font color=&quot;#3030cc&quot;&gt;public&lt;/font&gt; Inferna_SystemHandler&lt;br&gt;{&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;public&lt;/font&gt;:&lt;br&gt;&amp;nbsp; &amp;nbsp; TestSystemHandler() : test(&lt;font color=&quot;#309000&quot;&gt;&quot;kldgjalsdkgj&quot;&lt;/font&gt;)&lt;br&gt;&amp;nbsp; &amp;nbsp; {}&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; ~TestSystemHandler() {}&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; &lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; OnInit() {}&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;virtual&lt;/font&gt; &lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; OnExit() {}&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; std::string test;&lt;br&gt;};&lt;br&gt;&lt;br&gt;&lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; Inferna_RunApp(Inferna_SystemHandler* systemHandler);&lt;br&gt;&lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; Inferna_EmbedTool(HWND hWnd, Inferna_SystemHandler* systemHandler);&lt;/span&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  inferna.i&lt;br&gt;&lt;blockquote&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;%module inferna&lt;br&gt;&lt;br&gt;%{&lt;br&gt;&lt;font color=&quot;#30a030&quot;&gt;#include &lt;/font&gt;&lt;font color=&quot;#309000&quot;&gt;&quot;inferna.h&quot;&lt;/font&gt;&lt;br&gt;%}&lt;br&gt;&lt;br&gt;%include &lt;font color=&quot;#309000&quot;&gt;&quot;../inferna.h&quot;&lt;/font&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;blockquote&gt;swig.exe -Wall -c++ -python inferna.i&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;헤더 파일만 정리 잘해서 연결만 시켜주면 끝이라는 사실이 너무 감동적입니다.&lt;br&gt;컴파일 속도도 빠른데다가&lt;br&gt;boost 에 비해서 읽을 수 있는 코드라는 점이 -_-)~&lt;br&gt;너무 너무 마음에 듭니다.&lt;br&gt;&lt;br&gt;&lt;p id=&quot;more115_1&quot; class=&quot;moreless_fold&quot;&gt;&lt;span style=&quot;cursor: pointer;&quot; onclick=&quot;toggleMoreLess(this, &#039;115_1&#039;,&#039;생성 코드 보기&#039;,&#039;생성 코드 &#039;); return false;&quot;&gt;생성 코드 보기&lt;/span&gt;&lt;/p&gt;&lt;div id=&quot;content115_1&quot; class=&quot;moreless_content&quot; style=&quot;display: none;&quot;&gt; 짜잔~&lt;br&gt;&lt;blockquote&gt;&lt;span style=&quot;width: 100%; font-family: 굴림; color: rgb(96, 96, 96); background-color: rgb(255, 255, 255);&quot;&gt;SWIGINTERN PyObject *_wrap_Inferna_RunApp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {&lt;br&gt;&amp;nbsp; PyObject *resultobj = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt;;&lt;br&gt;&amp;nbsp; Inferna_SystemHandler *arg1 = (Inferna_SystemHandler *) &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; ;&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;void&lt;/font&gt; *argp1 = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; ;&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030d0&quot;&gt;int&lt;/font&gt; res1 = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; ;&lt;br&gt;&amp;nbsp; PyObject * obj0 = &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; ;&lt;br&gt;&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;if&lt;/font&gt; (!PyArg_ParseTuple(args,(&lt;font color=&quot;#3030d0&quot;&gt;char&lt;/font&gt; *)&lt;font color=&quot;#309000&quot;&gt;&quot;O:Inferna_RunApp&quot;&lt;/font&gt;,&amp;amp;obj0)) SWIG_fail;&lt;br&gt;&amp;nbsp; res1 = SWIG_ConvertPtr(obj0, &amp;amp;argp1,SWIGTYPE_p_Inferna_SystemHandler, &lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; | &amp;nbsp;&lt;font color=&quot;#309000&quot;&gt;0&lt;/font&gt; );&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;if&lt;/font&gt; (!SWIG_IsOK(res1)) {&lt;br&gt;&amp;nbsp; &amp;nbsp; SWIG_exception_fail(SWIG_ArgError(res1), &lt;font color=&quot;#309000&quot;&gt;&quot;in method &#039;&quot;&lt;/font&gt; &lt;font color=&quot;#309000&quot;&gt;&quot;Inferna_RunApp&quot;&lt;/font&gt; &lt;font color=&quot;#309000&quot;&gt;&quot;&#039;, argument &quot;&lt;/font&gt; &lt;font color=&quot;#309000&quot;&gt;&quot;1&quot;&quot; of type &#039;&quot;&lt;/font&gt; &lt;font color=&quot;#309000&quot;&gt;&quot;Inferna_SystemHandler *&quot;&quot;&#039;&quot;&lt;/font&gt;);&lt;br&gt;&amp;nbsp; }&lt;br&gt;&amp;nbsp; arg1 = &lt;font color=&quot;#3030cc&quot;&gt;reinterpret_cast&lt;/font&gt;&amp;lt; Inferna_SystemHandler * &amp;gt;(argp1);&lt;br&gt;&amp;nbsp; Inferna_RunApp(arg1);&lt;br&gt;&amp;nbsp; resultobj = SWIG_Py_Void();&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; resultobj;&lt;br&gt;&lt;font color=&quot;#3030cc&quot;&gt;fail&lt;/font&gt;:&lt;br&gt;&amp;nbsp; &lt;font color=&quot;#3030cc&quot;&gt;return&lt;/font&gt; &lt;font color=&quot;#309000&quot;&gt;NULL&lt;/font&gt;;&lt;br&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;br&gt;와하하 ~(-_-)~&lt;br&gt;&lt;br&gt;&lt;/div&gt;shared_ptr 하고 weak_ptr 만 되면 boost::python 은 내다버려야겠어요.&lt;br&gt;</summary>
  </entry>
</feed>
