Experiments never fail s2

실험에 실패란 없다 블로그 시즌 2

IPython Notebook 맛보기 - 시침 분침 각도 문제

Pythonist - 2013년 5월 24일 7:00:22 오후

회사 R&D센터 게시판에 다음과 같은 문제가 올라왔다고.

엥, 저거 암산으로 되는건데 왠 코드? 하고는 댓글을 달려다가 아, 임의의 시간에 대해 각도를 구하는 함수를 만들라는 얘기였군 하고는 멈춤. 재밌는 문제네. 함수도 함수인데 저 각도가 시간에 따라 어떻게 변하는지 차트가 궁금했다. 생각난김에, IPython Notebook을 함 써보기로. 자주 써버릇해야 나도 언젠가 멋진 분석 레포트를 써볼 수 있지 않겠는가.

코드는 다음처럼 작성함.

IPython Notebook 을 실행하기 위해 쉘에서 다음을 입력하면,

ipython notebook --pylab inline

웹브라우저가 자동으로 뜨면서 http://localhost:8889 페이지가 표시된다. --pylab 옵션은 자동으로 numpy, scipy, matplotlib 모듈을 임포트하는 것이고, inline 옵션은 차트등을 웹화면에 바로 표시하게 한다. 여기 쉘에서 맘껏 차트도 보고 테스트도 하고 난 다음에, 깔끔하게 정리하고 저장한다. .ipynb 파일로 저장이 되는데, json 파일이다. 이 파일로 저장해뒀다가 또 볼 수 도 있고, 다른사람과 공유할 수도 있고, 웹에 게시할 수도 있다.

.ipynb 파일을 전문으로 웹에 게시하는 사이트가 있겠지? 물론있다. IPython Notebook Viewer 사이트는 웹에 공개된 json 파일을 HTML로 변환하여 보여준다. 내 .ipynb 파일을 웹에 올리는 다양한 방법이 있는데 여기에서 추천하는 방법은 Github gist에 올리는 것. https://gist.github.com/yong27/5641525 이렇게 올려두면, http://nbviewer.ipython.org/5641525이 URL 로 내 작업내용(.ipynb)을 볼 수 있다.

나는 sin 함수 같은 걸 상상했는데 아니네. 그렇지. 각도는 시간변화에 대해 리니어하게 변화함.

참고로, 긴 .ipynb 파일을 터미널 vi에서 열고, gist 코드입력창에 붙히려면 전체를 복사하기가 까다로운데 vi에서 다음처럼 입력하면 된다.

:%w !pbcopy

나 그동안 터미널에서 복사할 때 화면에 표시되는 부분씩 나눠서 복사붙혀넣기 했다는.


Posted by Hyungyong Kim (yong27)

태그(들): angle, clock, gist, ipynb, python


comments powered by Disqus

« GEO 데이터 일괄 다운로드

파이썬 세미나 파이콘 참가기 발표 »