ブログを作る※無料・簡単アフィリ    ブログトップ | 楽天市場
940618 ランダム
Web ブラウザで Python を実行す… (パソコン・家電)楽天ブログ 【ケータイで見る】 【ログイン】

傀儡師の館.Python
ホーム 日記 プロフィール オークション 掲示板 ブックマーク お買い物一覧

PR

Calendar

March 2012
SMTWTFS
    123
45678910
11121314151617
18192021222324
25262728293031
<一覧へthis monthnext>

Keyword Search

Category

Archives

Mobile

>>ケータイに
このブログの
URLを送信!

 

傀儡師の日記

<< 前へ次へ >>一覧コメントを書く

2011.09.10 楽天プロフィール Add to Google XML

Web ブラウザで Python を実行する学習環境 プログラミング言語 Python を使う(199)」
[ Python ]    

以下のネタ元は、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

とちゃんと書き直してくれる。

その他、参考。




無料アクセス解析




Last updated  2011.09.11 03:59:39
コメント(1) | コメントを書く




■コメント

お名前
タイトル
メッセージ

画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


※管理者の設定により、スパムコメントを防ぐため、コメント投稿時に画像認証が必要です。

・メッセージ本文は全角で800文字までです。
・書き込みに際しては楽天ブログ規約の禁止事項や免責事項をご確認ください
・ページの設定によっては、プルダウンで「顔選択」を行っても、アイコンが表示されません。ご了承ください。


Re:Web ブラウザで Python を実行する学習環境(09/10)   kugutsushiさん


<< 前へ次へ >>一覧コメントを書く一番上に戻る


Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2012 Rakuten, Inc. All Rights Reserved.