컴퓨팅 노트북 (Computational Notebook)
쉽게 풀면
요리책을 상상해 보세요. 좋은 요리책은 재료 목록, 조리 순서, 그리고 각 단계에서 완성된 모습 사진을 함께 보여줍니다. 그대로 따라 하면 누구나 같은 요리를 만들 수 있습니다. 컴퓨팅 노트북은 데이터 분석의 요리책과 같습니다. "이 데이터를 불러온다 → 이상치를 제거한다 → 평균을 구한다"는 코드 한 줄 한 줄과, 그 줄을 실행했을 때 나온 표나 그래프가 순서대로 한 파일 안에 남습니다. Jupyter Notebook이나 R Markdown 같은 도구가 대표적이며, 다른 연구자가 이 파일을 열어 그대로 실행만 해도 같은 코드, 같은 순서, 같은 결과를 눈으로 확인할 수 있다는 점이 특징입니다.
왜 중요한가
데이터 분석 기반 연구는 코드 몇 줄의 순서나 파라미터 하나만 달라져도 결과가 바뀔 수 있어, 논문에 적힌 방법론 설명만으로는 다른 연구자가 똑같은 절차를 그대로 재현하기 어려운 경우가 많습니다. 컴퓨팅 노트북은 코드와 실행 결과를 한 파일에 묶어 남기기 때문에, 재현성을 요구하는 학술지나 학회에서 분석 과정을 검증 가능한 형태로 공개하는 표준적인 수단으로 자리 잡았습니다. 그래서 생물정보학, 데이터과학, 계산사회과학 등 코드 기반 분석이 핵심인 분야일수록 논문 부록이나 공개 저장소에 노트북 파일을 함께 싣는 관행이 널리 퍼져 있습니다.
논문에서는 이렇게 쓰입니다
이 문장은 "분석에 사용한 코드와 그 코드를 실행해 나온 결과를 하나의 노트북 파일로 남겨, 다른 사람도 같은 절차를 그대로 따라 할 수 있게 공개했다"는 뜻입니다.
생물정보학 분야에서 흔히 보이는 표현으로, 여러 단계를 거치는 데이터 처리 과정에서 중간 결과까지 하나하나 남겨 어느 단계에서 어떤 변화가 일어났는지 추적할 수 있게 했다는 뜻입니다.
계산 모델링 연구에서 자주 쓰이는 표현으로, 노트북이 단순히 결과를 기록하는 데 그치지 않고 파라미터를 바꿔가며 반복 실험해 보는 작업 환경으로도 쓰인다는 점을 보여줍니다.
조금 더 깊게 보면
컴퓨팅 노트북에서 재현성을 위협하는 대표적인 원인은 셀 실행 순서와 코드에 표시된 순서가 어긋나는 "숨은 상태(hidden state)" 문제입니다. 사용자가 셀을 건너뛰거나 되돌아가 다시 실행하면, 화면에 보이는 코드 나열 순서와 실제로 컴퓨터가 실행한 순서가 달라져 겉으로는 정상으로 보여도 재실행하면 다른 결과가 나올 수 있습니다. 이 때문에 최근에는 노트북 전체를 처음부터 끝까지 순서대로 다시 실행해 오류 없이 끝까지 돌아가는지 확인하는 절차나, 실행 환경(라이브러리 버전 등)을 함께 기록하는 방식이 재현성 점검의 기본으로 권장됩니다.
주의할 점
노트북 파일 자체를 공개했다고 해서 분석이 항상 똑같이 재현되는 것은 아닙니다. 셀을 순서 없이 뒤섞어 실행하면 코드 순서와 실제 실행 순서가 달라져 오류가 숨어버릴 수 있고, 사용한 프로그램 버전이나 라이브러리가 다르면 같은 코드에서도 다른 결과가 나올 수 있습니다. 그래서 노트북과 함께 코드의 변경 이력을 관리하는 버전 관리 도구를 같이 사용하는 경우가 많습니다.