【Cloud利用】Binder, Google colab が便利なので、ちょっとしたTips集【Python】

プログラマー増えませんね(笑)

CivicTechと言いながら、あまりプログラマー増えません。。 居なければ、自分たちでプログラミングもやっちゃおう!って

なんと。。樋口さんも、Glideアプリを自分で作れるようになってたりしています。。もうすぐ、飲食店マップPWAアプリや、餃子マップPWAアプリが公開される予定です。

Google App Scriptは便利で、GASのTips集も作って、仲間内では利用したりもしていますし。。

【GAS】Google Driveのフォルダ内のファイル名、URLを取得する汎用版【コピペプログラミング】
コピペプログラミング このスクリプトを、SpreadSheetのマクロ風にメニューに表示させて、フォルダのURLをポップアップのメ...
【GAS】Google App Script の 小ネタ 集 【コピペでプログラミング】
Google は えらい(笑) うちらの仲間内では、Map関係は、Google派とOpenstreetMap派がいたりするんですが。。G-...

やはり、Spreadsheetのマクロ感があって、プログラムって感じではないのですよね。

プログラミング環境構築がひとつのネックでしたが。。

codeAnywhereとか、Cloud9とか、Herokuとか。。一時期流行ったんですが、今は有料になってたり、便利なやつは、Amazonに吸収されたりしていたんですが、他の環境もいろいろできてきています。といいつつも、まだまだ変わっていくんでしょうけど。。

PythonやRなどの環境では、今は、ブラウザーがあれば、プログラミングができる環境がでおんどん整ってきています。環境構築も簡単になっています。

Binder

The Binder Project
Reproducible, sharable, open, interactive computing environments.

こちらは、Python, R など、Jupyter Notebooksでプログラミングができます。

必要なのは、Githubに requirements.txt のような環境設定ファイルと、pdfminer.ipynb のような Jupyter Notebookのファイルがあれば、Binderで動きます。

サンプルとして、PDFファイルをテキストに落とすプログラムを入れてあります。

使い方は、一回、勉強会しますかね?。。 Githubに、設定ファイルと、Jupyter Notebookファイルがあれば、そのまま動かせます。

例えば上の例だと、僕のGithubの /pythonPDFMinerというリポジトリを、Binderに入力して、Launchって押すと、立ち上がります。

これで、開発環境・動作環境が立ち上がるので、あとは、プログラムファイルを動かすだけ。ここでは、pdfminer.ipynb ってファイルをポチッとします。

そうすると、開発環境が別のタブで、立ち上がります。Runを押していくと、動きます。編集もできるので、試しながらプログラミングできますね。

これを、動かすと、result.txtというのができます。どこにできたか?というと、Binderで動いているコンピュータの中ですね。それを、ポチッとすると、PDFをテキスト化したものが、見れるというものです。

まずは、やってみてください。

Ⅱ 土地・建物編

土地・建物編 – 1

土地・建物編 – 2

土地・建物編 掲載施設一覧(サービス編との対応表)

No

土地・建物編

土地・建物名

1 市役所(市庁舎)

2 東部市民センター

3 西部市民センター

4 健康福祉事務センター
5 健康センター
6 鈴木地域センター
7 大沼地域センター
8 上水新町地域センター
9 中島地域センター
10 天神地域センター
11 上水本町地域センター
12 小川西町地域センター
13 学園東町地域センター
14 花小金井北地域センター

Webでも、PDFからTEXTに落とすサービスありますけど、こんな大きなファイルを変換できないですけど、こういうやり方だと、簡単にできますね。

ご自身で、プログラムをいじろうと思われる方は、Githubに登録して、Git cloneしてもらって、いじりたおすといいと思います。

プログラム自体は、Pythonを少し勉強するか。。JupiterNotebookのページを少しやればできると思います。

設定ファイルは、Binderのサンプルを見るといいかと思います。

Rや、Julia、Octaveなんかが動かせるようです。 ただ、学術的な目的で作られているので、試すというところまでで、立ち上がるのにも時間がかかりますし、実行も速くはないです。

Google Colab

これもっと便利です。Pythonだけに特化されていて、本来は、Tensorflow系の機械学習を試すためのサイトですが、いろいろ使えます。

GoogleDriveのファイル名を取得するとかのことなら、こっちの方が当然のことながら便利です。GAS版も出していますけど。。IDを取ったりするのは、GASの方が便利かもですけどね。

【GAS】Google Driveのフォルダ内のファイル名、URLを取得する汎用版【コピペプログラミング】
コピペプログラミング このスクリプトを、SpreadSheetのマクロ風にメニューに表示させて、フォルダのURLをポップアップのメ...

こちらは、サンプルで、Google Drive をマウントしたりするようにしたNotebookです。

便利という意味では、Googleとの相性はばっちりなのと、Linuxのコマンド類が動くのは便利ですね。

当然ですが、Google Spread Sheetを開いて操作もできます。

GitHub - tom2rd/Googlecolabutils: Google colab tips
Google colab tips. Contribute to tom2rd/Googlecolabutils development by creating an account on GitHub.

ここに、いろいろTipsのNotebookをおいていこうと思いますので、こんなことできないかな?っていう話がありましたら、こだいらあたりでCivicTech facebookグループ まで聞いてもらえると。。できるかも。。

勉強会も要望があれば。。実施しますよ~