15 February 2015

IPython Notebook을 처음 접한 건 지난해(2014년) 파이썬코리아 6월 세미나에서였다.

어찌 보면 기형적으로 장고를 통해 파이썬을 접했기에 파이썬 문법을 익히기 위해 코드카데미의 파이썬 강좌를 수강했던 경험이 있는데 코드카데미를 통해 파이썬을 학습하면서 느꼈던 장점은 환경설정에 대한 진입장벽을 없애줬다는 점이었다. 이런 내게, IPython Notebook은 코드를 입력하고 결과를 바로 보여준다는 점에서 코드카데미를 떠올리게도 했지만 파이썬 학습도구, 통계, 문서 작성도구 등 여러분야에서 사용되는 것 같다. 마크다운 문법을 사용할 수 있다는 점에서도 강좌용이나 문서화 도구로도 좋겠다는 생각이 들었는데 오늘 발표자료 또한 IPython Notebook으로 제작 되어 Github으로 공유되었다. 그리고 작성 된 데이터들은 다양한 형태로 export가 가능하다고도 하니까 응용할 수 있는 분야는 정말 무궁무진 할듯 하다.

IPython Notebook은 파이썬 코드를 입력하고 Shift+Enter만으로 그 결과를 볼 수 있고 또, 그 데이터를 바로 시각화해서 볼 수 있다는 점에서 신선한 자극이 되었다. 하지만 이런 장점을 알면서도 마음먹고 써보지 않음 소용이 없는데, 워낙 게으른 탓에 알면서도 차일피일 미뤄오다가 이 번에 유료 튜토리얼을 진행한다고 해서 바로 신청하게 되었다.

어떠한 언어든 툴이든 환경설정이 가장 큰 진입장벽으로 느껴지는 데, 이미 파이썬과 장고를 자주 사용해서 그런지 IPython과 관련 된 환경을 설정하는 건 크게 어렵진 않았다.

원래 생각으로는 튜토리얼 며칠 전에 IPython Notebook을 미리 설치해서 맛보기를 해보고 갈 생각이었지만 사정이 여의치 않아서 설치도 못 한채 튜토리얼에 참석했는데 생각보다 설치시간이 많이 걸리지 않았다. 튜토리얼 시간 중 초반 30분은 설치하는 시간으로 생각하셨다는 데 30분 내에 대부분이 환경설정을 마쳤던 것 같다.

김슬님의 발표는 예전에도 몇 번 들었던 적이 있는데 이번에도 엄청나게 열심히 준비하신 흔적이 강의내내 엿보였다. 통계와 관련 된 여러 이야기를 시작으로 IPython Notebook으로 통계를 내고 수치를 내는 과정이 왜 필요할지 세균의 개념이 없었던 시기에 어떻게 콜레라의 전파를 막을 수 있었는지에 대한 이야기를 시작으로 흥미를 잘 이끌어 주셨다.

특히 통계로 원주율을 구하는 방법을 평면에 원을 그리고 평면의 1/4에 점을 찍고 그 원 안에 점이 몇개가 들어가 있는지를 통해 통계로서 원주율을 구하는 코드를 직접 실행해 보고 그 결과를 보게 함으로써 점점 더 많은 점을 뿌리고 찍어가면서 원주율에 근접해 가도록 설명을 해주셨는데 결과 값이 눈앞에 그래프로 딱딱 찍히는 모습을 보니 너무 재미있어서 계속 숫자를 바꿔가며 실험을 해봤다. 파이썬 코드를 타이핑하고 바로 그 실행결과를 볼 수 있으니 시간이 가는 줄 모르고 진행 되었고 3시간이 넘는 튜토리얼이었지만 정말 지루할 틈이 없었다. 심지어 쉬는 시간에도 대부분의 사람들이 튜토리얼 코드의 값을 바꿔보면서 수치와 그래프의 변화 모습을 보며 재미있어 했다. 김슬님 또한 쉬는시간임에도 쏟아지는 질문들에 대해 성심껏 답을 해주셨다.

책을 넘겨가며 혹은 혼자 모니터를 보며 실험해 봤으면 훨씬 어렵고 힘들었을텐데 이렇게 재미있는 예제로 설명해 주니 IPython Notebook의 매력에 빠져 만들어 보고 싶은 것들이 머릿속을 채워나갔다.

또, 차 맛을 보는 여인에 대한 이야기를 하면서 혼자 강의를 진행해 나가는 게 아니라 수강생들의 의견을 물어보고 얘기하면서 일방적인 수업이 아니라 모두가 참여하고 모두가 토론할 수 있는 분위기를 이끌어 내주신 점에서도 정말 발표를 능수능란하게 하신다는 생각이 들었다.

평소 데이터를 분석하거나 혹은 분석 된 데이터를 보는 걸 좋아하고 또 분석 된 데이터를 다시 가공해 보는 것도 좋아하는 편인데 R과 같은 도구는 사용해 본적이 없지만 여러 오픈소스를 통해 그래프를 그리고 표현해 봤었는데 IPython Notebook을 사용하면 좀 더 쉽게 좀 더 잘 표현 할 수도 있을 것만 같은 기대감이 차 올랐다.

얼마 전에 이슈가 되었던 버거지수 또한 IPython Notebook으로 제작 되었는데 튜토리얼을 들으니 버거지수가 더 가깝게 느껴진다. 김슬님이 강의 내내 IPython Notebook을 느껴본다라고 생각해 보라고 했는데 그래서 인지 부담없이 IPython Notebook이 가깝게 느껴진 듯한 느낌적인 느낌이다. :)

보통 IPython Notebook 관련 스터디에는 보통의 개발자 보다는 통계와 관련 된 분들이 많이 오셔서 화기애애한 분위기라는 얘길 들었었는데, 통계와 관련 된 베이스가 있다면 좀 더 정교하게 필요한 데이터를 얻을 수 있을 것 같은 생각이 든다. 또, 굳이 통계만을 위해서가 아니라 코드를 적고 그 실행 결과를 Shift+Enter만으로 코드와 함께 볼 수 있다는 점에서 학습했던 코드를 정리하고 그 내용에 대한 설명을 적어가면서 개인적인 스터디 용도로 사용해도 너무 좋을 것 같은 생각이 든다.

앞으로 자주 사용하게 될 것만 같은 고마운 툴이고, 재미있게 IPython Notebook을 전파해 주신 김슬님께도 너무 감사드린다.

> 윈도우에 파이썬, IPython 설치하기 완벽 가이드 - Lucy Park