12/9(月) 応用科学学会シンポジウムで自動運転に関する講演を担当します☆彡(試乗会もあります!来て!)

16-30. Google Colabの共有権限のまとめ(閲覧者、編集者、Playgroundモード)

やること

Pythonの勉強会をやっているとコードをGoogle Colabで参加者に共有する機会が多いです。その際の「共有権限はどうすればいい?」「Playgroundモードってなに?」をまとめました。

「Playground状態」と「コピー所有状態」

まず、「Playground状態」を次のように定義しました。これは勉強会でちょっとだけコードを触ってもらうとき便利な状態です。暴れても原本に影響がなく、リロードすればリセットされます。

Playground状態

  • 閲覧できる
  • 一時的に編集できるが保存されない
  • 実行できる(警告あり)
  • リロードでリセットされる
  • 暴れても原本に影響なし

次に、「コピー所有状態」を次のように定義しました。参加者各自のファイルとしてコピーを作成し、コピーファイル上では何でもできる状態です。こちらも暴れても原本には影響ありません。

コピー所有状態

  • 閲覧できる
  • 編集は保存される
  • 実行できる(警告なし)
  • リロードしてもリセットされない
  • 暴れても原本に影響なし

まとめ

こちらがまとめです。

結論として、勉強会でちょっとだけコードを触ってもらう場合は権限を「リンクを知っている全員:閲覧者」にして、参加者にはPlayground状態(非明示的)で触ってもらうのが良さそうです。

ただし、Playground状態では実行前に警告が出てしまうので、それを嫌う場合は「ドライブにコピーを保存」してコピー所有状態で触ってもらう方法になります。(後述)

Playground状態(非明示的)と(明示的)の違い

「リンクを知っている全員:編集者」の場合のみ、「Playgroundモードで開く」から明示的なPlaygroundモードに移行できます。明示的というのは、画面上部に「このノートブックはPlaygroundモードです。変更は保存されません。」と表示されることを意味します。

この機能は、編集権限を持った主催者が実演して見せる際、うっかり原本を編集してしまわないように自主的にPlayground状態にできるという安全設計機能です。参加者がこの明示的なPlaygroundモードに触れることはありません(それは編集権限を与えてしまっていることになるので)。

警告を出さないためには?

Playground状態で実行しようとすると次のような警告が表示されます。

慣れた参加者が相手であれば「このまま実行を押してくださいねー」で良いのですが、慣れない参加者は怖がってしまうかもしれません。どうしてもこれを嫌う場合は「ドライブにコピーを保存」してコピー所有状態で触ってもらうしかありません。これだと一手間増えますし、参加者のドライブに残骸が残るのであまりすっきりしません。一長一短です。

Playground状態で触ってほしいけどコードは盗まれたくない

これはおそらく不可能です。Playground状態では「ドライブにコピーを保存」ができてしまいます。コードを盗まれたくない場合はColabノートブックを共有せず、主催者が画面共有で見せていくしかないと思います。

おわりに

多少ややこしいですが、AWSとかいう(自主規制)よりは遥かに分かりやすいです。

SNS等でお気軽にご連絡ください

※当ブログに関することは何でもご相談・ご依頼可能です(Servicesになくても)
※TwitterはFF外の場合はDMではなく返信orメンションでお願いしますm(_ _)m

情報発信しています

質問・コメントはSlackやDiscordでお気軽に

勉強会の告知はこちらで

[H] 小ネタ / 検証
この記事を書いた人

博士(理学)。専門は免疫細胞、数理モデル、シミュレーション。米国、中国で研究に携わった。遺伝的アルゴリズム信者。物価上昇のため半額弁当とともに絶滅寸前。

この記事をシェアする
Vignette & Clarity(ビネット&クラリティ)
タイトルとURLをコピーしました