|
|
|
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
│<< 前へ │次へ >> │一覧 │コメントを書く |
以下のネタ元は、Ned Batchelder : Blog : Online Python exercises。
上記記事によると Ned Batchelder さんは、オンラインの Python 学習サイトを考えているらしい。セットアップ不要で、サイトにアクセスすればコードを実際に書いて動かしながら学べるようなものを。ちょうど JavaScript の学習サイトだと Nathan's Javascript Lessons みたいなものを想定しているようだ。とりあえず、実際にやってみた。説明があって、演習問題というパターンでよい感じ。手を動かしながら確実に進んでいける。 ブラウザで JavaScript を動かしてこういう仕組みを作るのは楽だけれど、Python だとどうよということで、あれこれ調べた結果が書かれている。まずはリサーチからってところだろうか。細かいところは、上記記事にあたってもらえばよいので、そこで挙げられているサイトだけ、ピックアップしておく。 サーバーサイドで実際に学習者が入力したコードを制限付きで実行してしまうものから、サーバー上の sanbox で実行するもの (PyCon AU video by Tim Dawborn) から、同じサーバーで実行するにしても Jython を使ったものから、あれこれあるのね。サーバーサイドで実行すると、何らかのリスクが生じるから、ブラウザの中だけで動いてくれた方がよいよねということで、 IronPython + Silverlight とか、llvm-to-JavaScript コンパイラで CPython をブラウザ上で動かしちゃうすごいものから、Python を JavaScript で実装しちゃうものまであって、なんだかすごいなぁ。
そもそも Python を実際に利用するときには、Python をインストールして、環境整えなきゃってのがあるではないですか。であれば、あくまでブラウザ上でこだわるのって意味あるんだろうか。なんて、根源的な問いに戻っちゃったりしてw 実行するのは学習者の PC 上で、オンラインと自動的にうまくコミュニケーションできるような環境があったらよいのだろうか。等々、リサーチの結果を踏まえつつ、あれこれ考えていらっしゃるようだ。 でも、逆にサーバー側から悪しきコードを送られてクライアント側で実行される危険性とかも考慮する必要があったりしないだろうかとか、思わないでもないけど。とか考え始めると面倒なことになりそうな。インストールの制限が厳しい学校とか組織とかの場合、やっぱり Webベースは有効だろうし、基本的なことを学ぶのであれば、やっぱり Webベースでどこからでも気軽にというのはメリットが大きいし。 コメントのところを見ていたら、pythonanywhere なんていう環境もあるのだね。Effortless Python cloud computing というコンセプトで。いまのところ、無料で使える。ディスクスペースを増やす時に課金してとかいうモデルなのかな。 ちなみにサービスは、Amazon EC2を使っているようだ。で、サービス的には、Dropbox 上にソースコードをおいておくとか、git や ht, svn のようなバージョンコントコロールの環境からソースをダウンロードして実行するとかできるような環境になっているようだ。学習とは別に、環境としておもしろい。どこでも自分のPython環境が使えるってことね。 ふと、Zope を思い出した。server side でやるなら RestrictedPythonみたいなやつもあるわなぁと思った。Sandboxed Python なども参照。 そういえば、Python のコードを書くならば、PEP8 に準拠して書いた方がよいよね。pep8 - Python style guide checker なんてものがあって、pep8 optparse.py とかすると、ダメなところを指摘してくれたりするので、Pythonのコーディング規約pep8チェックをUnitTestに組み込んでみた とかしている方もいらっしゃる。 でも、そもそも PEP8 読ん覚えてない。とりあえず、勝手に PEP8 準拠のソースに書き直してくれよっていうのであれば、autopep8 を使うと、autopep8 TARGET.py で勝手に、TARGET.py を PEP8 に準拠するように書き直してくれる。楽ちん。 import sys, os とか不精なことをしても、 import sys import os とちゃんと書き直してくれる。 その他、参考。
[Python]カテゴリの最新記事
Webでいろんな言語を体験できるrepl.it
ttp://coreblog.org/ats/repl_it ttp://repl.it/ Python 2.7.2 (default, Jul 20 2011, 02:32:18) [GCC 4.2.1 (LLVM, Emscripten 1.5, Empythoned)] on linux2 。 (2011.09.22 22:48:31) │<< 前へ │次へ >> │一覧 │コメントを書く │ 一番上に戻る │ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||