2012/04/29

pythonanywhere ならPythonがブラウザで動く...が?

いつもニコニコ
あなたの隣に
這い寄るPython

pythonanywhere です!





pythonanywhere に出来ること


何コレすげえ!
いずれこういうのは出るだろうとは思ってましたがついに出ました、
ついにブラウザからコンソール操作が出来るように!
ちなみにトップページにはどこでも開発や共同学習が出来るよ、と書いてます。

ざっくりと触ってみたので簡単なご紹介を。
アカウントの作成方法やコマンドの入力方法なんかは割愛します(※FAQもあるから読んでね)。

ログインすると Dashboard からいくつかのバージョン、ツールが並んでいます。







出来ることは、まんま言葉の意味そのままなのですが
Python は 2.7/2.6/3.2、IPython(0.12) は 2.7/2.6/3.2
PyPy(1.6) は 2.7 加えて Bash と MySQL が使えるとのこと。
ちなみに Bash コンソールから確認したところ
Python、Perl、Rubyはそれぞれ次のバージョンを使えることがわかります。

Python 2.6.6
Perl 5.10.1
Ruby 1.8.7















さて、さらに機能としてDropbox連携でホームディレクトリ以下に
ファイルを持ってこられたり、 Django やWeb2py、WSGI まで使えるらしいけど
この辺りの機能については触っていません。
これは次項の理由もあり、突っ込んで触って大丈夫か疑問に思ったからです。

pythonanywhere の セキュリティについて


確かにtcpdumpすれば一見普通にhttps(443)で通信しているように見えるけど
pythonanywhere のコンソールレスポンス以外にも何か別の通信をしているようです。

これはコンソールのレスポンスは一貫して console-1.pythonanywhere.com という
内容を含んだパケットとなっているが、別の受信ポートでもhttps通信しているのが居て、
しかも同じタイミングで何かを投げている(内容はhttpsなので解析可否はともかくわからない)。
ホスト元は同じなので状況証拠的にpythonanywhereなのは間違いなさそう、でも正直よくわからないです。

使えるか使えないかは現状判断しかねますが(レスポンスが酷い)、
セキュリティ的にどうなんだろうという点に関しては専門家の情報を待ちたいかな。
コレがちゃんと使えるなら非常に良いと思うのだけれど、
表向きhttp(80)で非同期通信(だけかどうかはともかく)は
https(443)というやり方が本当に安全かどうか判断がつかないです。

Forum もあるのだけれどこの辺りのセキュリティについての言及は誰もしていないように見えます。
プロジェクト単位での質問はあれど、このシステムについて言及が…ない。
ブラックボックステストが出来るほどセキュリティ方面に詳しくないので
コレばっかりは何とも言えないですが、漏れたら困るものを置くべきではないだろうし
開発環境として使うというよりやはり学習のために限定して使うのが良いのかもしれないですね。
(特にDropboxの同期は気をつけた方が良いと思う)

そう考えるととても良い環境だと思うし、遊ぶ分には全く問題ない。
昨今流行りのペアプログラミングとか捗る可能性があるかもね。

レスポンスさえどうにかなれば!( TOO LATE, pythonanywhere ! )

それでは、電波送信終了ー。

0 件のコメント:

コメントを投稿