데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Jupyter 노트북의 한계를 극복하는 새로운 도구, marimo

      쩝쩝구리 25.07.24
      2,218 4 1
      DEVOTEE 요약
      Jupyter 노트북은 직관적인 데이터 분석 도구이지만, 코드 수정 시 반복 실행, 숨겨진 상태, 버전 관리의 어려움 등 한계가 있습니다. 이를 해결하는 Python 기반의 차세대 노트북 도구인 *Marimo*는 셀 간 의존성을 자동관리해 실행 편의를 높이고, 숨겨진 상태 문제를 제거하며, Python 파일로 저장되어 Git 친화적이고 협업에 용이합니다. 또한 Marimo는 웹 기반 인터페이스를 제공하며, 설치 후 간단히 사용할 수 있어 생산성과 코드 재현성을 강화합니다.

      데이터 분석과 프로토타이핑의 기본 도구로 Jupyter 노트북이 널리 사랑받는 이유는 코드 실행과 결과 확인이 직관적이어서입니다.

      하지만 사용하다 보면 기분 좋은 경험 뒤에 이렇게 고민하게 됩니다.


      반복 실행의 귀찮음 : 코드 하나 수정 후 셀들을 순서 맞춰 다시 실행해야 하는 귀찮음.

      숨겨진 상태(hidden state): 불필요한 변수나 실행 순서 때문에 내용이 어긋나는 경우가 많음.

      버전 관리의 고민: .ipynb는 JSON이라 변경 내역 추적이 어려워 협업이 힘듬.


      이런 이유로 GitHub에 공개된 Jupyter 노트북 중 36%는 실행 순서가 엉망[1]이며, 최종 실행 결과가 재현될 확률은 고작 4%에 불과[2]하다고 합니다.


      그래서 오늘은 이런 골칫거리들을 해소해 주는 차세대 Python 노트북, marimo를 소개합니다.


      marimo의 장점

      1. 각 셀의 의존성을 파악해, 변경된 셀과 그 셀에 영향을 받는 셀이 자동으로 반영됨

      : 위 Cell이 변경 되었을때, 연계된 Cell을 Run시키지 않아도 자동 반영.

      예시) 2번 Cell만 변경 시, 나머지 Cell들은 Run 하지 않아도 자동으로 변경됨.


      2. “숨겨진 상태”를 완전히 없애 실행 흐름이 일관되고 예측 가능하게 유지

      예시) 2번 Cell이 삭제되었을때 의존성을 가진 Cell을 Run하지 않아도, 즉시 Error 발생하여 Issue 파악 가능


      그외에도

      .py 파일 기반으로 Git 친화성 강화이며, Jupyter가 JSON형태로 저장되는 것과 다르게 Python 코드로 저장돼 읽기 쉬우며, 웹 앱 형태로 손쉽게 배포 가능한 오픈 소스 툴입니다.

      물론, LLM의 도움을 받아 Code 작성에 도움을 받을 수도 있습니다.

      image.png

      youtube 활용 예시

      해당 위치에서 더 상세한 사용 예시를 확인 할 수 있습니다.


      사용법

      1. 설치 ( Terminal 창에 pip를 이용해 간단히 설치 가능합니다.)

      pip install marimo



      2. 사용 ( 수정 )

      marimo edit my_notebook.py

      Web Base로 시작되며, URL 통해 접속도 가능합니다.

      image.png


      첫화면

      image.png


      왼쪽 위부터 설명 드리면,

      Files

      image.png



      Packages ( 설치된 Pakage List, 버튼으로 Upgrade, Remove 가능 )

      image.png

      Chat ( LLM 설정)

      image.png

      Chat (API KEY)

      image.png

      image.png

      라이브러리 (opeanai) 설치

      image.png

      [1] Siddik, Md Saeed, Hao Li, and Cor-Paul Bezemer. "A Systematic Literature Review of Software Engineering Research on Jupyter Notebook." arXiv preprint arXiv:2504.16180 (2025).

      [2] Pimentel, João Felipe, et al. "A large-scale study about quality and reproducibility of jupyter notebooks." 2019 IEEE/ACM 16th international conference on mining software repositories (MSR). IEEE, 2019.

      [3] https://www.youtube.com/watch?v=ROWu-Ntc4Jg (youtube)


      썸네일의 Marimo는 생성형AI를 통해 만들어진 Image이며 marimo와 반려식물 marimo는 관계가 없습니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      쩝쩝구리 님의 최신 블로그

      더보기
      동영상 기고하기