Google Colaboratory x ペアプログラミング?

Share on:

Jupyter Notebook環境を仮想マシン上で実行してくれるColaboratoryを今更ながら試してみました。環境構築せずにすぐにお試しできるというのは初学者には嬉しいでしょう。それとは別に、授業でペアプロすることがあるのでそこで使えないかなという確認を兼ねてお試し。


[ 1. 教員側でノートを用意する ]

  • ColaboratoryなりJupyterなりでipynb形式で作成。
  • googleドライブで共有する場合、これまでのファイル共有とやり方は一緒。(プログラミング1の場合、共有用ディレクトリを用意してあるのでそこにファイルを置けば良い)

この時点で、Colaboratoryからipynbファイルを指定して開くことは可能。しかし、共有先のGoogleドライブからは「開けないのでダウンロードする?」という状態に。同時に「アプリで開く(Open with)」でもColaboratoryを選択できず、直接編集できる状態では開けず。勿論、一度ダウンロードした上で自分のColaboratoryで参照できるスペースにアップロードしたら開けますが、これだと独立したファイルなので「同時同じファイルを編集する」みたいな使い方はできません。

[ 2. 必要かもしれない手順 ]

  • 一度Colaboratoryにアクセス。それだけで閉じる。(ひょっとすると一度コード実行する必要あるかも)
  • 改めて共有ドライブにアクセス。
  • ipynbファイルを右クリック(Ctrl+クリック)し、「アプリで開く(Open with)」からColaboratoryを選択。

これでも直接開けない(アプリが選択できない)場合、暫く放置しておくと良いのかも。単に設定の問題ではなくて、各自のGoogleドライブ側からColaboratoryとの連携に多少の時間が必要なだけかもしれない。(放置してたら開けるようになってた)

[ 気になる点というか特徴 ]

  • 一つのモニタを使う一般的なペアプロだと、遅延は発生しない。これに対してColaboratory共有だと、Googleドライブ共有分の遅延は発生する。「そこインデントおかしい」みたいなナビゲート側のアクションに遅延が発生することに。
  • 以下は問題にならなそうな特徴。
  • Colaboratory側で用意される仮想マシンは、一番最初の起動時には少し(数秒程度)時間がかかる。
  • FAQによると仮想マシンはあるタイミング(最大存続期間 or 一定のアイドル状態)で殺されるっぽい。実際暫く放置しておくと「接続が切れて、再接続を促される」状態になりますが、ワンクリックで繋げ直せます。

前述のように Colaboratory でペアプロできるのだとすると、、

  • 去年までのペアプロ: 問題を問題ページに用意して、ローカル上でコード書いて実行し、うまくいったらそのコードと結果をドキュメントに貼り付ける。個々人でノートPC持ってるため、ドライバが入れ替わるとそれまでの履歴をナビゲータが引き継ぐ際の手間がかかる。
  • Colaboratory上でのペアプロ: コードや実行結果を貼り付ける必要は無い(これはJupyterの利点)。ファイル共有された中で実行できる(Colaboratoryの利点)ので、スムーズに引き継ぎできる。

みたいになるのかな。

ただ、「一つのモニタで作業をやる」ことにも意義があると感じている人なので、少しその点が気がかりではあります。ノートPCだと見づらいんですけどね。


[4/11, 15:45追記]

手順2の「必要かもしれない手順」は、以下のようにするのが本筋っぽい。

[ 2. 本手順(Colaboratoryとの連携設定) ]

  • 共有ドライブをブラウザで開く。
  • ipynbファイルを置いてるフォルダを開く。(既に開いてるなら次へ)
  • フォルダメニューをクリックし、「アプリで開く(Open with)」から「アプリを追加(connect more apps)」を選択。
  • 検索窓に「Colaboratory」と入力して検索。Colaboratoryをクリックして追加。(「connected」になればOK。)
  • ☓ボタンをクリックして設定終了。
  • ipynbファイルをダブルクリック。開く際に「ダウンロードするか、Colaboratoryで開くか」を選べるので、Colaboratoryを選択。