주피터 노트북 Jupyter Notebook | |
<colbgcolor=#f37726><colcolor=#4e4e4e> 개발 | Jupyter |
라이센스 | BSD 3조항 라이센스 |
용도 | 인터랙티브 컴퓨팅 |
홈페이지 |
[clearfix]
1. 개요
Jupyter에서 제작한 웹 기반[1] 인터랙티브 컴퓨팅 플랫폼이다. Jupyter의 이름은 주피터가 지원하는 세 개의 핵심 언어인 Julia, Python 그리고 R에서 유래했으며, 목성의 위성의 발견이 기록된 갈릴레오 갈릴레이의 공책에 대한 존경의 의미도 갖는다고 한다.통합 개발 환경이라고 알고 있는 사람이 많지만 사실은 물리학자가 개발했다는 것에서 알 수 있듯이 개발보다는 연구 자료를 컴퓨터 코드를 이용해서 좀 더 보기 쉽고 연구하기 편하게 정리가 가능한 기록 플랫폼 프로젝트로 시작했으며[2] 현재는 거기서 그를 위한 코드 그 자체도 공유하는 등 다양한 방법으로 쓰이고 있다.
2001년 콜롬비아 출신 입자 물리학자 페르난도 페레즈가 미국 콜로다도 박사 과정 중에 IPython 프로젝트로 시작하여 만들어졌다. 이후 2014년 모든 환경을 웹으로 지원하는 jupyter 프로젝트로 발전하였다.
ipython notebook에서 출발했기 때문에 python2 버전 시절에는 ipython notebook이라 불리기도 하였고 실제로 서버를 구동할때도 ipython notebook이 기본 명령어였다. python을 실행하기 위해 생성되는 기본 스크립트 파일 확장자도 py로 끝나는 일반적인 파이썬 파일이 아닌 ipynb로 ipython notebook의 약자라는 것을 알 수 있다. [3]
웹 기반이라 웹 브라우저에서 편리하게 실행할 수 있으며, 파이썬 코드와 그를 기반으로 하는 NumPy나 다른 라이브러리를 쓸 수 있기 때문에 이를 활용해 데이터를 좀 더 보기 쉽게 표현하거나 실시간으로 변경되게 꾸밀 수 있으며 주피터 랩으로 갈 경우 이를 극대화 해 다양한 데이터/코드를 취급할 수 있으며 원래의 데이터 시각화 외에도 코드를 실행할 수도 있어 프로그래밍에서 기록과 개발을 동시에 할 수 있다는 점 또한 장점이어서 많은 회사에서 사용 중이다.
가장 기본적 화면으로 셀(cell)이라 불리는 작은 박스형 노드로 구성되어 있고, 이 노드에 코드를 작성하고 실행하면 해당 셀 밑에 실행 결과를 출력을 하는데 이때 python shell에서 실행하는 것과 같은 효과를 볼 수 있다.
2. JupyterLab
[1] 웹 브라우저에서 작동된다.[2] 그래서 홈페이지에 주피터 관련 프로젝트 설명에서도 주피터 노트북에 대해서 "라이브 코드와 내러티브 텍스트, 수식 및 시각화를 결합한 문서 작성을 위한 웹 기반 응용 프로그램"(A web-based application for authoring documents that combine live-code with narrative text, equations and visualizations)이라고 설명한다.[3] 참고로 다른 파이썬 IDE에서 열 수 있다.