Google Colabとは?
こんにちは!しずかなかずしです。
Google Colaboratoryっていうサービスをご存知でしょうか?
Pythonのプログラムを「ノート」のように残しておけるサービスです。
何気ない普通の生活の中に、プログラミングを。
「Pythonで無性にプログラミングしたいー!」
と思うことって誰にでもありますよね?
でも、
「pythonのインストールがめんどくさいんだよなー」
とか、
「ライブラリを使うのに仮想環境作って、pip installなんて、なんだかかったるいよー」
と思って、止めてしまう、なんてことは日常茶飯事なんじゃないでしょうか?
仮に、なんとか、プログラミングまでたどり着いたとしても、しばらく経って再開しよう、なんて思った時に、
「あれあれ??せっかく作った仮想環境はどこいった?」
なんて、パソコンの中をあちこち探し回ったり…
やっと見つけた、作業途中の仮想環境の中を見て、
「えーっと、これ、何をしようと思って書いたプログラムだったっけ?」
なんて、遠く昔の事を思い出そうと苦労して、結局投げ出しちゃったりして。
そんな、あなたの生活の中にこそ、Google Colaboratoryが必要なのです!
ご丁寧に、解説ビデオもあります(日本語字幕でご覧ください)!
Google Colabでできること
Jupyter Notebookというツールをご存じの方は、あれのクラウド版だと思えばわかるかと思います。
何ができるかと言うと、
- Pythonのプログラムをブラウザで記載できる
- 書いたプログラムをブラウザ上でそのまま実行できる
- プログラムと一緒に、実行結果(print分の出力など)を保存できる
- プログラムと一緒に、説明文の記載ができる
というようなもので、プログラムは、ipynbというファイルフォーマットで保存されるのですが、保存先が、Google driveになっているのです。
もちろん、ドライブからダウンロードも可能。
ですので、もし、Jupyter notebookを使っているのであれば、ダウンロードしたものを再利用することができます。
Pythonのプログラムをステップ実行
pythonのプログラムは、「セル」と呼ばれる数行単位のコード枠に記載します。このセルごとにプログラムの実行を操作できます。
1行から数十行に渡るものを「セル」に記載できますが、1行書いては実行し、1行書いては実行し、一つ一つステップ毎に確認しながらプログラムを書くことができます。
実行結果は、セルのすぐ下に表示されて、プログラムと一緒に残ります。
ノートを取るようにMarkupでテキストを記載
「セル」の種類はプログラム、と、テキストの2種類あります。
テキストのセルは、通常Pythonで実行されない、単なるテキストです。
テキストの記載には、Markup言語というものを使えるので、見出しを点けたり、太字にしたり、ドット付きや番号付きのリストをかんたんに書いたりすることができます。
駅データ.jpを使ってプログラミング
早速使ってみました。
作ったノートは公開することができます。
それがこちら↓
もちろん、Hello, world!もよいのですが、もう少しプログラミングっぽいことを。
という訳で、Web APIを叩いてみました。
Pythonから駅データ.jpというサイトの駅の情報を取り出すWeb APIを呼び出します。駅の座標値をデータベースから取ってくるプログラムをPythonで記述し、そのプログラムと説明文を一緒にして、一ページにおさめてみよう、という感じです。
一連のプログラムを記載し、丁寧な説明文も付けたノートにしてみたのです。それがこちら↓
これなら、パソコンにpythonの環境も不要です。そして、なによりも、何をやったかがGoogle driveに残るし、しかも説明文などメモもちゃんと残して置ける。
くわえて、上記のように一般公開までできてしまいます。
これは便利。ぜひ普段の生活の中に取り入れてみてはいかがでしょうか。
![RとPythonで学ぶ[実践的]データサイエンス&機械学習 #1](https://i0.wp.com/m.media-amazon.com/images/I/41CccIbqXgL._SL100_.jpg?w=640&ssl=1)
![RとPythonで学ぶ[実践的]データサイエンス&機械学習 #2](https://i1.wp.com/m.media-amazon.com/images/I/41+5UwvKNUL._SL100_.jpg?w=640&ssl=1)
![RとPythonで学ぶ[実践的]データサイエンス&機械学習 #3](https://i1.wp.com/m.media-amazon.com/images/I/41uPyLa58ML._SL100_.jpg?w=640&ssl=1)




