현재 '타이타닉 생존자 예측 with ChatGPT' 라는 제목으로 원고를 작성 중입니다. 이 책을 통해 코딩을 모르는 초보자도 캐글 타이타닉 경진대회를 통해 데이터 사이언스의 세계에 들어오기를 희망합니다.
기본적인 책의 방향은 다음과 같습니다.
독자가 원하는 결과를 얻기 위해 프롬프트를 어떻게 입력하고, 실행 결과를 어떻게 해석하는지 설명
생존자 수를 더 많이 맞히기 위해 아이디어를 구체화하는 과정에서 데이터 사이언스의 재미를 경험
코딩은 과정의 일부일 뿐이며, 코딩 자체를 다루는 책은 아님
Google Colab에서 코딩 작업을 했는데, 코랩이 개발에는 편리하지만 출판을 위한 플랫폼이 아니라, 책을 만드는 데는 불편했습니다. 특히 코드, 도표, 그래프 같은 실행 결과를 일일이 복사해 붙여넣는 작업이 많아 시간이 오래 걸리더군요.
이 문제를 해결할 방법을 찾다가 Jupyter Book을 알게 되었고, 이를 활용해 웹북(Web Book) 형태로 책을 제작하기로 했습니다.
Jupyter Book이란?
Jupyter Book은 주피터 노트북을 만든 Jupyter 그룹에서 개발한 오픈소스 도구로, 책을 웹북 형태로 출판하는 데 최적화되어 있습니다.
지원하는 형식
Markdown (.md) 파일 지원
Jupyter Notebook (.ipynb) 파일 지원
인상적인 기능
코드를 추가하면 자동으로 실행 결과를 문서에 포함시킴
그림과 목차 등을 자동 생성해 편집 부담을 줄여줌
배우기 쉬운 튜토리얼
다양한 Jupyter Book 사례 https://executablebooks.org/en/latest/gallery/
아직 테스트해보진 않았지만 기대되는 기능들
웹북 내에서 코드를 수정해 직접 실행하는 기능
독자와 소통할 수 있는 게시판 기능
epub 및 PDF 내보내기 기능
Jupyter Book을 이용한 웹북 제작
현재 챕터 1의 섹션 3까지 작업 완료한 상태입니다.
진행한 작업
Jupyter Book 및 GitHub 설치
설정 파일 수정
_config.yml
→ 저자 정보 및 기본 설정_toc.yml
→ 목차 구성
원고 작성
Markdown 파일(
.md
)로 챕터 1의 섹션 1 ~ 섹션 3 작성
웹북 변환 및 업로드
Jupyter Book을 HTML로 변환 후 GitHub Pages에 업로드
현재 웹 상에서 책 내용을 확인할 수 있음
Jupyter Book으로 웹북을 만들면서 느낀 점
장점
코드 실행 결과가 자동 반영되므로 출판 과정이 훨씬 간편함
Markdown 기반이라 협업과 관리가 용이함
단점
“이게 책이야?” 라는 느낌 → 책 보다는 블로그를 만든 기분
전통적인 책과는 느낌이 다름 (하지만 강의 자료 정리에는 적합)
제 목적은 책 출판 자체보다는 강의 콘텐츠를 정리하고 보관하는 것이기 때문에, 현 시점에서는Jupyter Book이 최적의 선택인 것 같습니다.
다음 주까지 할 일
원고 작성 (제발 챕터 3까지는 완성하길...)
게시판 기능 추가
인터랙티브 코딩 기능 테스트
epub 으로 내보내기 기능 테스트