그레이엄 덤플턴: JupyterLab을 위한 워크숍 작... 노트

그레이엄 덤플턴: JupyterLab을 위한 워크숍 작성

이 텍스트는 pytest 교육에 초점을 맞춘 JupyterLab 워크숍의 제작 과정을 설명합니다. 워크숍은 블로그 게시물에 담을 수 있을 만큼 작지만 실제 워크숍의 모든 필수 요소를 포함하도록 설계되었습니다. 매니페스트, 여러 페이지, 상호작용 가능한 액션, 자동 검사, 퀴즈 및 지원 도구를 포함합니다. 워크숍은 테스트 작성, 실패 관찰, 코드 수정이라는 기본적인 pytest 루프를 가르칩니다. 이 반복적인 과정은 워크숍 내의 네 가지 별도 페이지에 걸쳐 구성됩니다. 핵심 기능은 워크숍을 위한 격리된 Python 환경을 생성하여 학습자의 시스템에 영향을 주지 않고 pytest를 설치하도록 하는 것입니다. 이 접근 방식은 이전 컨퍼런스 발표의 콘텐츠 레슨을 활용하여 학습 경험을 향상시킵니다. 과정은 워크숍과 튜토리얼을 구별하는 검증 가능한 단계를 계획하고 정의하는 것부터 시작합니다. 워크숍은 jupyter workshop init 명령을 사용하여 생성되며, 이는 디렉토리 구조와 매니페스트 파일을 설정합니다. 터미널 액세스, 파일 쓰기, 코드 실행, 패키지 설치와 같은 기능은 매니페스트에 선언되며 린터에 의해 검증됩니다. 매니페스트의 environment 필드는 pytest와 같이 자체 포함된 가상 환경에 설치되는 종속성을 지정합니다. 이를 통해 수동 환경 설정이 필요 없어 학습자는 pytest 자체에 집중할 수 있습니다. 매니페스트의 env 항목은 빠른 파일 수정으로 인한 문제를 방지하기 위해 Python 바이트코드 캐싱을 비활성화합니다. 워크숍은 학습자가 디버깅할 의도적으로 버그가 있는 함수를 포함하는 files/orders.py 파일을 사용합니다. 워크숍의 각 페이지는 Markdown과 특정 액션 블록을 사용하여 파일 열기, 코드 작성, 명령 실행과 같은 작업을 학습자에게 안내합니다. 검사는 verify 액션을 사용하여 구현되며, 이는 학습자 액션의 결과를 자동으로 검증하여 진행 상황과 학습을 보장합니다. quiz 액션은 학습자가 테스트 실행 전에 결과를 예측하도록 하여 pytest 동작 방식에 대한 이해를 강화합니다. editor-insert 액션은 테스트와 같은 새 코드를 편집기에 직접 추가하고 볼 수 있도록 합니다. 워크숍의 구조와 콘텐츠는 pytest의 실제 적용에 초점을 맞춰 상호작용적이고 교육적으로 설계되었습니다.
CdXz5zHNQW_hkEwNEOUhk.png