ansir 님의 블로그

컴퓨팅 노트북( Computational Notebook ) 본문

컴퓨터 언어/Python

컴퓨팅 노트북( Computational Notebook )

ansir 2025. 3. 7. 16:08

처음 파이썬을 배우면 Anaconda를 설치하고 Jupyter Notebook을 열어 코드를 작성하기 시작합니다.
자료형과 자료구조, 문법에 대한 내용이 쉴틈없이 들어오면 왜 Anaconda를 설치하고 Jupyter를 사용하고 있는지 생각할 겨를이 없습니다.
 


 

파이썬 코드는 무조건 Jupyter에서 작성해야하나?
메모장으로도 코드를 짤 수 있지 않나?

 맞습니다. 모든 컴퓨터 언어는 메모장으로 작성될 수 있습니다.
다만 코드를 작성한 후 파일의 확장자를 프로그래밍 언어에 맞게 저장해주어야 합니다.
 각 프로그래밍 언어에는 고유한 확장자가 있습니다. 예를 들어 파이썬은 .py, C++은 .cpp, JavaScript는 .js 확장자를 가집니다.
 

그렇다면 왜 메모장으로 코드를 작성하지 않고 Jupyter와 같은 컴퓨팅 노트북 또는 IDE를 사용할까요?

 그 이유는 메모장과 같은 기본적인 텍스트 편집기로 코드를 작성하는 것은 비효율적이기 때문입니다.
메모장에는 문법 강조나 자동 완성, 디버깅 기능이 없습니다. 과거 GUI가 많이 발전하지 않았던 초기 컴퓨터 시대( 1970~1990년대 )에는 텍스트 편집기로 코딩을 했었지만, 지금은 수많은 개발 환경이 제공되고 있습니다.
Jupyter Notebook도 다양한 개발 환경 중 하나입니다.
 


 
 파이썬 코드를 실행할 수 있는 환경을 부르는 용어는 여러 가지가 있습니다.
IDE(통합 개발 환경)와 컴퓨팅 노트북(Computational Notebook)이 대표적이고, 인터프리터, REPL, 실행 환경 같은 용어도 있습니다. 이중 Jupyter는 컴퓨팅 노트북에 해당합니다.
그렇다면 컴퓨팅 노트북이란 무엇일까요?
 

컴퓨팅 노트북( Computational Notebook )

[ 사진자료 ] https://martinfowler.com/bliki/ComputationalNotebook.html

 컴퓨팅 노트북은 코드 + 실행 결과 + 문서(마크다운) + 그래프를 한 번에 작성할 수 있는 환경을 말합니다. 데이터 분석과 머신러닝, AI 연구, 프로그래밍 실습 등에 많이 사용됩니다.

컴퓨팅 노트북의 대표적인 예

  • Jupyter Notebook
  • Google Colab
  • Databricks Notebook ( Apache Spark 기반 )

 

컴퓨팅 노트북의 특징

대화형 환경

 사용자가 코드를 입력하면 즉시 실행 결과를 확인할 수 있는 환경을 말합니다. 컴퓨팅 노트북에는 셀( cell )이라고 하는 코드 블록이 있는데 이를 실행하면 즉시 결과가 출력됩니다.
 셀 단위로 코드를 실행하기 때문에 이전 실행 결과를 유지할 수 있어 재현성이 높습니다.

Markdown 지원

코드를 작성할 수 있는 셀에 Markdown형식으로 설명을 작성할 수 있습니다.
또한 이미지도 넣을 수 있어 연구, 문서화, 데이터 분석 보고서 작성에도 유용합니다.
 


 

결론

 파이썬으로 코드를 작성할 때 흔히 사용하는 Jupyter Notebook은 컴퓨팅 노트북( Compotational Notebook )이라는 개발 환경입니다. 컴퓨팅 노트북은 프로그래밍, 데이터 분석, 머신러닝 등의 작업을 효율적이고 직관적으로 수행할 수 있는 강력한 개발 환경입니다. 우리는 메모장과 같은 기본적인 텍스트 편집기로도 코딩을 할 수 있지만 컴퓨팅 노트북과 같은 개발 환경( 도구 )를 사용하는 이유는 편리하게 코딩을 하기 위함입니다.

반응형