PART 10. 실전 운영과 함정
여기까지 왔다면 marimo로 노트북을 작성하고, 데이터를 다루고, 앱을 배포하는 과정을 모두 경험했습니다. 그런데 코드가 배포된 다음부터가 진짜 시작인 경우가 많습니다. 어딘가 느리고, 어딘가 이상한 값이 나오고, 누가 접근하면 안 되는 서버에 URL이 공유됐다는 연락이 옵니다.
이 파트는 그 다음 단계를 다룹니다. 반응형 실행에서 문제를 추적하는 방법, 비싼 셀을 찾아 최적화하는 방법, 공개 배포 시 보안 체크리스트, 노트북을 pytest로 검증하는 방법, 그리고 GitHub Actions로 전체 파이프라인을 자동화하는 방법입니다.
PART 02에서 DAG와 반응형 실행 원리를 익혔고, PART 04에서 캐싱 데코레이터를 배웠고, PART 05에서 marimo check를 CI에 연결하는 기초를 다뤘고, PART 09에서 배포 시 인증 없음이라는 사실을 확인했습니다. 이 파트는 그 지식들을 운영 환경에서 실제로 사용하는 방법으로 엮어냅니다.
선행 지식: PART 02 (반응형 데이터플로우의 원리), PART 05 (Jupyter에서 marimo로 마이그레이션), PART 09 (노트북을 앱으로 배포하기).
이 파트를 마치면
- 반응형 실행에서 어느 셀이 어떤 이유로 재실행되는지 추적하고,
marimo check로 MB002·MB003 같은 정적 문제를 잡을 수 있습니다. - 비싼 셀을 측정으로 식별하고,
@mo.cache와 lazy 모드를 운영 관점에서 적용할 수 있습니다. marimo run을 인터넷에 공개할 때 점검해야 할 보안 체크리스트를 실천할 수 있습니다.- marimo 노트북의 순수 함수를 분리해 pytest로 테스트하고,
marimo check를 테스트 흐름에 통합할 수 있습니다. - GitHub Actions 파이프라인에서 린트, 테스트, 배포를 자동화하는 YAML을 작성할 수 있습니다.