iBetter Books
수정

이 책의 구성과 대상 독자

대상 독자

이 책은 다음 조건을 갖춘 독자를 기준으로 작성했습니다.

  • Python을 사용해본 경험이 있습니다. (기초 문법, 함수, 클래스 수준)
  • Jupyter Notebook 또는 JupyterLab을 사용해본 경험이 있습니다.
  • Pandas의 기초 데이터프레임 조작을 알고 있습니다.

marimo를 처음 접하는 독자를 가정합니다. Streamlit이나 Gradio 경험은 있어도 없어도 관계없습니다.

선행 지식 요약

지식 수준 필요 PART
Python 문법, 함수, 리스트/딕셔너리 기초 전체
Pandas DataFrame 기초 기초 PART 04, 06, 07, 08
SQL SELECT 기초 기초 PART 04
scikit-learn 기초 기초 PART 08
git 기초 기초 PART 05

12개 PART 구성

PART 제목 핵심 주제
PART 00 들어가기 marimo 소개, 도구 비교, 책 구성
PART 01 개발 환경 준비하기 설치, 버전 고정, 첫 실행
PART 02 반응형 데이터플로우의 원리 DAG, 변수 규칙, hidden state 해소
PART 03 인터랙티브 UI 만들기 mo.ui 위젯, 폼, anywidget
PART 04 데이터 다루기 _ SQL과 데이터프레임 DuckDB SQL, Polars/Pandas, 캐싱
PART 05 Jupyter에서 marimo로 마이그레이션 convert 명령, 패턴 변환, git 협업
PART 06 프로젝트 1 _ 재현 가능한 EDA 노트북 공개 데이터셋 탐색, 반응형 시각화
PART 07 프로젝트 2 _ 인터랙티브 데이터 앱 SQL·위젯·차트 통합, 레이아웃
PART 08 프로젝트 3 _ ML 실험 추적 노트북 하이퍼파라미터 제어, 재현성 확보
PART 09 노트북을 앱으로 배포하기 marimo run, WASM, Docker
PART 10 실전 운영과 함정 디버깅, 성능, 보안, CI/CD
PART 11 마무리 핵심 정리, 버전 대응 전략

권장 학습 경로

목적에 따라 PART를 선별해 읽어도 됩니다.

처음부터 순서대로 (추천): PART 00부터 11까지 차례로 읽습니다.

빠른 시작 (기본 사용법만): PART 00, 01, 02, 03을 읽습니다.

Jupyter 마이그레이션 우선: PART 00, 01, 02를 읽은 뒤 05로 건너뜁니다.

앱 배포 우선: PART 00, 01, 02, 03을 읽은 뒤 07과 09로 이어갑니다.

ML 워크플로우 우선: PART 00, 01, 02, 03, 04를 읽은 뒤 08로 이어갑니다.

각 PART의 첫 페이지에는 해당 PART의 선행 지식과 선행 PART가 명시되어 있습니다. 중간부터 시작하려면 먼저 선행 요구사항을 확인하세요.

이 책에서 다루지 않는 것

  • marimo 소스 코드 분석 및 기여(contribution) 방법
  • Jupyter 이외 도구(VS Code 노트북, Google Colab 등)와의 비교
  • 특정 도메인 분석 기법(시계열, NLP 등)의 심층 이론
  • 운영 환경에서의 Kubernetes 오케스트레이션

예제 코드 환경

이 책의 모든 예제는 다음 환경에서 작성되었습니다.

  • Python 3.11 이상
  • marimo 0.23.x (PART 01 Ch 02에서 버전 고정 방법 안내)
  • 주요 라이브러리: Polars, Pandas, DuckDB, anywidget

특정 버전에서 동작이 다를 경우 해당 챕터에서 별도로 안내합니다.