안녕하세요. 스쿨오브웹의 이상희입니다. 오늘의 강좌에서는 주피터 노트북에 대해서 공부하도록 하겠습니다.
Jupyter Notebook은 ipython과 같이 인터 엑티브 형식의 라이브 코드를 제공하는 웹 베이스 어플리케이션입니다. 그래서 Jupyter Notebook을 사용하시면 웹 브라우져 안에서 실행하고 싶은 코드를 입력하고 그 결과를 바로 확인 할 수가 있습니다.
그 뿐만 아니라 웹 브라우져에서 일반 프로그램으로는 하기 힘든 수학 공식을 표현할 수도 있고, 각종 그래프를 생성하여 데이터를 시각화 할 수도 있습니다.
나레이션 텍스트나 이미지 등을 추가하여 notebook document를 만들어 공유를 할 수 있기 때문에 파워포인트나 키노트와 같이 프레젠테이션 프로그램으로도 많이 사용되고 있습니다.
Jupyter Nodtebook은 오픈 소스이므로 무료로 다운로드를 받아 사용을 하실 수 있습니다.
제가 처음 이 프로그램을 사용했을 때는 IPython Notebook이라고 불렸었는데, 몇년 전에 프로젝트의 이름이 변경되면서 Jupyter Notebook이라는 이름으로 변경되었다고 합니다.
Jupyter Notebook은 다음과 같이 4개의 컴포넌트로 구성되어 있습니다.
-
Notebook document 노트북 앱이 실행되면 노트북 다큐먼트라는 파일을 생성하고 웹 브라우저안에서 실행되는 모든 코드를 이 파일에 저장합니다.
-
Jupyter Notebook App 쥬피터 노트북은 서버-클라이언트 형식의 어플리케이션입니다. 네크워크가 연결 되어 있다면 리모트에 있는 서버의 노트북 어플리케이션을 사용 할 수가 있습니다.
-
Kernel (IPython) 쥬피터 노트북의 커널로는 IPython이 사용되는데, 이 커널은 노트북 다큐멘트안에 저장된 코드를 실행하는 연산 엔진입니다. 커널은 실행하는 연산에 따라서 꽤 많은 CPU와 메모리를 사용할 수가 있습니다. 커널은 정지되기 전까지 점유하고 있는 메모리를 릴리스하지 않음으로 주의하시기 바랍니다.
-
Notebook Dashboard 노트북 앱이 실행되면 가장 먼저 웹 브라우저에 보여지는 유저 인터페이스를 말합니다. 이 데시보드는 노트북 다큐먼트를 열거나, 커널을 관리하는데 쓰여집니다.
노트북이 지원하는 커널 리스트: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels