주피터 서버 활용

이번 학기에 “수학을 위한 기초 컴퓨팅 (MATH166)”을 가르치면서 예전에 만들어 두었던 주피터 서버를 재활용하고 있다. 이 서버를 통해서 학생들로 하여금

  • markdown을 이용한 간단한 수학문서 작성
  • shell 사용
  • tex을 이용한 복잡한 수학문서 작성
  • jupyter notebook을 이용하여 python 학습
  • jupyter notebook을 이용하여 sagemath 학습
  • emacs 시용

등을 실습하게 하고 있다. Mathematica kernel을 붙일 수도 있을 것 같은데 라이센스 문제도 있고 해서 Mathematica는 각자 컴퓨터에 Network Mathematica를 설치해서 쓰게 하고 있다.

이 시스템을 구현하는 데에 많은 노력이 들었다. 2018년에 어느 정도는 이미 구현하여 두었지만 그 후로 여러 가지 신경 쓸 일들이 많았어서 설정법을 많이 잊어버리기도 했고 전에는 구현하지 못했던 부분을 보충하기도 해서 좀 시간을 썼다. 전에는 구현하지 못했던 부분으로는 nbgrader의 formgrader부분이다. 아, 그동안 nbgrader를 주피터 랩에도 설치할 수 있게 되서 그걸 구현하는 것도 이번 목표 중의 하나였다.

또한 2017년도에 학교가 구글 gmail을 도입하여 교수, 학생 모두가 gmail을 쓰게 된 걸 계기로 jupyterhub에 따로 계정을 갖도 있지 않아도 @korea.ac.kr로 끝나는 구글 지메일 계정을 통하여 로그인할 수 있도록 2018년도에 만들어 두었었는데 2021년도 쯤인가 학교가 정책을 바꾸어 구글 지메일을 사용하지 못하게 하고 마이크로소프트 팀즈를 쓰게 하도록 하면서 그 방법은 폐기되었다. 그러다가, 작년에, 이번에는 교수는 다시 지메일을 쓸 수 있게 하고 학생들은 네이버웍스를 쓰게 하면서 교수들은 주피터 서버에 다시 로그인할 수 있게 되었지만 학생들은 그렇지 못하여 2016년도엔가 만들어 두었던, 네이버 계정을 통하여 로그인하는 법을 되살린다고 또 열심히 노력해서 성공했는데, 웬걸, 학생들이 가지고 있는 이메일 계정은 네이버 계정이 아닌 네이버 웍스 계정이고 그건 네이버 계정과 달라서 지금 학생들 계정으로는 로그인이 안 된다는 것이다. 그것 참…

하는 수 없이 결국 학생 한 사람 한 사람마다 계정을 만들어 로그인하게 시스템을 만들었는데 이번에는 또 학생들이 암호를 바꿀 수 있게 하도록 하는데 노력을 기울여야 했다. 2018년도에 이 시스템을 사용할 때는 도쿠위키를 연동하여 도쿠위키에서 암호를 바꾸면 됐었는데, 개인적으로 그 방법을 다시 쓰고 싶지 않아서 혹시 워드프레스로 하면 되나 하여 조사해 보았더니 되긴 되는데 그 기능을 구현하는 플러그인의 가격이 249불인가 하는 것이었다. 음, 어떻게 할까 하다가 에잇 이 참에 프로그래밍 연습도 할 겸 직접 만들어보자 하여 좀 낑낑 대서 결국 그냥 만들었다.

이 시스템을 구현하는 것 자체를 재미있어해서 망정이지 그렇지 않았으면 중간에 포기했을 것 같다. 이걸 안 만들었다고 해서 수업을 진행할 수 없는 것은 아니다. 사실 TeX은 overleaf.com에서, python은 googe colab에서, sagemath는 sagemath.org에서, Mathematica는 wolfram.com에서 다 온라인으로 사용할 수 있다.

힘들게 습득한 시스템 구축 기법을 누구에게 어떻게 전해줄 수 있을까… 젊은이들이 점점 주는 데다가 관심이 여기에 있는 사람이 거의 없어서… 교육은 백년지대계라고 하지만 백년은 커녕 단 10년 뒤의 세상도 대한 대비도 어려울만큼 변화가 심한 세상이 되었다.