그레이엄 덤플턴: 주피터랩-워크숍 소개 노트

그레이엄 덤플턴: 주피터랩-워크숍 소개

저자는 교육 워크숍에서 일반 Jupyter 노트북 사용의 한계를 해결하기 위해 JupyterLab 확장 프로그램인 jupyterlab-workshop을 개발했습니다. 이 확장은 지침과 학습자가 수행해야 할 실제 작업을 분리합니다. 지침은 사이드바 패널에 표시되며, 각 단계는 JupyterLab 환경 내에서 실행 가능한 항목입니다. 이러한 작업에는 터미널 명령 실행, 파일 수정, 노트북 생성 및 코드 실행이 포함될 수 있습니다. 워크숍은 학습자의 진행 상황을 확인하고 다음 단계로 진행하기 전에 작업 완료를 강제할 수도 있습니다.학습자가 수동으로 코드 실행을 관찰할 수 있는 노트북과 달리, 이 확장은 작업이 실시간으로 수행되므로 적극적인 참여를 보장합니다. 이는 JupyterLab 환경 및 외부 도구와의 상호 작용을 가능하게 하여 노트북이 단일 언어로 제한되는 제약을 극복합니다. 이러한 분리는 교육 콘텐츠와 완료된 작업을 혼동하는 것을 방지하여 더 명확한 학습 경로를 제공합니다. 사이드바 패널은 탐색, 진행 상황 추적 및 수행된 작업에 대한 세부 정보를 제공합니다.실행 가능한 각 단계는 시뮬레이션되지 않습니다. 작업을 클릭하면 라이브 터미널에서 실행되거나 지정된 작업이 수행됩니다. 이 확장은 터미널 작업, 파일 관리, 노트북 상호 작용 및 인터페이스 조작을 포함한 다양한 작업을 지원합니다. 워크숍은 특정 시점에서 최적의 학습을 위해 사용자 인터페이스를 구성하도록 설계될 수도 있습니다. 체크포인트를 통해 학습자는 진행 상황을 저장하고 오류가 발생할 경우 알려진 상태로 되돌릴 수 있습니다.이 확장은 Python 코드, 쉘 명령 또는 파일 기반 술어를 통해 확인을 허용하는 강력한 확인 시스템을 포함합니다. 퀴즈도 통합할 수 있으며, 답변은 후속 단계로 전달됩니다. 매니페스트 파일은 작업 완료가 권고 사항인지 의무 사항인지 결정합니다. 보안은 학습자가 실행 전에 워크숍에 특정 기능을 부여하는 신뢰 메커니즘을 통해 해결됩니다.워크숍 자체는 매니페스트 파일, 페이지용 Markdown 파일 및 필요한 시작 파일이 포함된 디렉토리로 구성됩니다. 이 일반 텍스트 구조는 버전 관리를 용이하게 합니다. 페이지는 MyST Markdown으로 작성되며, 작업은 구분된 코드 블록에 정의됩니다. 이 확장은 로컬에 설치하거나 mybinder.org 및 GitHub Codespaces와 같은 서비스를 통해 사용할 수 있으므로 복잡한 설정 없이 다양한 환경에서 워크숍을 실행할 수 있습니다. 저자는 이전 플랫폼인 Educates를 사용하지 않기로 결정했는데, 이는 Kubernetes가 필요하여 소규모 팀 및 개인의 접근성을 제한했기 때문입니다.
CdXz5zHNQW_ghHpRchT3T.png