ちょいと遅ればせながらGoogleAppEngineを使ってみる。
1.App Engine にログイン
2.App Engine SDKをダウンロード&インストール
3. python 2.5以上をインストール
4.スタートガイドに沿ってサンプル作成
http://code.google.com/intl/ja/appengine/docs/gettingstarted/
こんな感じでできる。
ちなみに
> appcfg.py update helloworld/
と実行してもファイルが開かれるだけなので、
> python appcfg.py update helloworld/
と実行します。
ちなみにHTTPSでupdate作業を行っているのでプロクシを通して
いる場合にはurllibがHTTPSプロクシ対応していないという噂を
聞いたので調査は後回し。
サンプルさえ作れば、あとはやりたいように作れるはず。
Googleの中身がどうなっているのかがなぞなので、
環境依存しそうなメソッドをつかったらどうなるのかをちょっと
確かめてみようかなぁ。
popen , os.path,あたりかなぁ?
2008年10月22日水曜日
2008年9月29日月曜日
自宅でリモートアクセス
ートPCからデスクトップへアクセスする機会が増えてきたというわけで
リモートアクセスの設定を行いました。
さぁ、リモートデスクトップえアクセスするかなぁ、と思いきや。
Vista HomePremiumじゃないですが、リモートデスクトップのアクセスされる側の
設定ができない。。。。。。。
というわけでVNCを設定。
ultraVNCをさくっとインストールして、FWで指定ポートを空けてあげました。
リモート接続側はrealVNCをインストール。
一応いろいろ使えるようになり楽になったかな?
hamachi を使ってVPNでやる方法もあるらしいのですが、面倒だったので
今度かな。
リモートアクセスの設定を行いました。
さぁ、リモートデスクトップえアクセスするかなぁ、と思いきや。
Vista HomePremiumじゃないですが、リモートデスクトップのアクセスされる側の
設定ができない。。。。。。。
というわけでVNCを設定。
ultraVNCをさくっとインストールして、FWで指定ポートを空けてあげました。
リモート接続側はrealVNCをインストール。
一応いろいろ使えるようになり楽になったかな?
hamachi を使ってVPNでやる方法もあるらしいのですが、面倒だったので
今度かな。
2008年9月24日水曜日
chrome用マウスジェスチャー
Google Chromeをインストールしてから、マウスジェスチャー機能がついていない。
めんどくさいなぁと思いつつGreasemetal でマウスジェスチャーを作っていたが、
こんなものがありましたので、備忘録として。
http://www.gigafree.net/utility/mousegesture/strokeit.html
これを使えばほとんど同じように使えるっぽい。
Vistaは重いらしいので、会社のXPで試してみるかな。
Greasemetal で自作のマウスジェスチャーはまぁ、勉強
になったということで、お蔵入りさせておきますw
めんどくさいなぁと思いつつGreasemetal でマウスジェスチャーを作っていたが、
こんなものがありましたので、備忘録として。
http://www.gigafree.net/utility/mousegesture/strokeit.html
これを使えばほとんど同じように使えるっぽい。
Vistaは重いらしいので、会社のXPで試してみるかな。
Greasemetal で自作のマウスジェスチャーはまぁ、勉強
になったということで、お蔵入りさせておきますw
2008年9月20日土曜日
google chromeでマウスジェスチャー
Google Chromeをインストールをしたはいいが、プラグインがないので、
非常に使いにくいですね。
でもGreasemetal がリリースされてからいろいろ作ってしまえばいいんじゃない?
と思いちゃちゃっとマウスジェスチャーを作ってみた。
作り方
・マウスダウンで座標を取得
・マウスアップで座標を取得し、ドラッグされた方向からhistory.back() or history.go()などなどを
実行
【マイドキュメント】\user.js \mouseGestuer.user.js
に配置してgreasemetalを実行すれば使えます。
でも、読み込み開始までめちゃ時間かかるので、いまだ使えるまでなツールになっていない。
だれかちゃんとしたの作っているんだろうなぁ。
非常に使いにくいですね。
でもGreasemetal がリリースされてからいろいろ作ってしまえばいいんじゃない?
と思いちゃちゃっとマウスジェスチャーを作ってみた。
作り方
・マウスダウンで座標を取得
・マウスアップで座標を取得し、ドラッグされた方向からhistory.back() or history.go()などなどを
実行
【マイドキュメント】\user.js \mouseGestuer.user.js
に配置してgreasemetalを実行すれば使えます。
でも、読み込み開始までめちゃ時間かかるので、いまだ使えるまでなツールになっていない。
だれかちゃんとしたの作っているんだろうなぁ。
2008年9月14日日曜日
python code reading
金曜日にpython codeb reading 04にいってまいりました。
内容はstring.Templateでした。
ちょっと時間がなかったので予習はできなかったのですが、メタクラス
など知らないことが知れたので、よかった。
懇親会もいろいろ面白い話が聞けたので、やはり参加する意味はあるなぁ~。
次回も参加するぞーーー。
そしてもっと積極的にいかなきゃなぁ。
内容はstring.Templateでした。
ちょっと時間がなかったので予習はできなかったのですが、メタクラス
など知らないことが知れたので、よかった。
懇親会もいろいろ面白い話が聞けたので、やはり参加する意味はあるなぁ~。
次回も参加するぞーーー。
そしてもっと積極的にいかなきゃなぁ。
2008年7月26日土曜日
python code reading宿題その1
python code reading の宿題
methodを実行する場合とmethodをローカル変数に代入してから実行する
場合の速度の違い
下記コードと実行結果。
結論:
100000回実行したところCPUtimeが110sec , 109secと1秒しか変わらない。
試行回数を増やしてみれば変わるかもしれないが、ほとんど変わらない様子。
////////////////////////////////////////////////////////
#!/usr/bin/python
from StringIO import StringIO
import profile
call_cnt=1000000
def callfunc():
strIO=StringIO()
write=strIO.write
for i in xrange(1,call_cnt):
write(str(i))
profile.run('callfunc()')
実行結果:
5000002 function calls in 109.890 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
999999 9.480 0.000 9.480 0.000 :0(append)
1000000 9.250 0.000 9.250 0.000 :0(isinstance)
1000000 8.040 0.000 8.040 0.000 :0(len)
1 0.010 0.010 0.010 0.010 :0(setprofile)
1 0.250 0.250 109.880 109.880 :1(?)
999999 52.030 0.000 85.690 0.000 StringIO.py:209(write)
999999 6.890 0.000 6.890 0.000 StringIO.py:38(_complain_ifclosed)
1 0.000 0.000 0.000 0.000 StringIO.py:54(__init__)
1 0.000 0.000 109.890 109.890 profile:0(callfunc())
0 0.000 0.000 profile:0(profiler)
1 23.940 23.940 109.630 109.630 sample_write.py:7(callfunc)
//////////////////////////////////////////////////////////////
#!/usr/bin/python
from StringIO import StringIO
import profile
call_cnt=1000000
def callmethod():
strIO=StringIO()
for i in xrange(1,call_cnt):
strIO.write( str(i))
profile.run('callmethod()')
実行結果:
5000002 function calls in 110.210 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
999999 7.710 0.000 7.710 0.000 :0(append)
1000000 9.580 0.000 9.580 0.000 :0(isinstance)
1000000 7.600 0.000 7.600 0.000 :0(len)
1 0.000 0.000 0.000 0.000 :0(setprofile)
1 0.260 0.260 110.210 110.210 :1(?)
999999 50.450 0.000 82.330 0.000 StringIO.py:209(write)
999999 6.990 0.000 6.990 0.000 StringIO.py:38(_complain_ifclosed)
1 0.000 0.000 0.000 0.000 StringIO.py:54(__init__)
1 0.000 0.000 110.210 110.210 profile:0(callmethod())
0 0.000 0.000 profile:0(profiler)
1 27.620 27.620 109.950 109.950 sample_strio_write.py:6(callmethod)
methodを実行する場合とmethodをローカル変数に代入してから実行する
場合の速度の違い
下記コードと実行結果。
結論:
100000回実行したところCPUtimeが110sec , 109secと1秒しか変わらない。
試行回数を増やしてみれば変わるかもしれないが、ほとんど変わらない様子。
////////////////////////////////////////////////////////
#!/usr/bin/python
from StringIO import StringIO
import profile
call_cnt=1000000
def callfunc():
strIO=StringIO()
write=strIO.write
for i in xrange(1,call_cnt):
write(str(i))
profile.run('callfunc()')
実行結果:
5000002 function calls in 109.890 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
999999 9.480 0.000 9.480 0.000 :0(append)
1000000 9.250 0.000 9.250 0.000 :0(isinstance)
1000000 8.040 0.000 8.040 0.000 :0(len)
1 0.010 0.010 0.010 0.010 :0(setprofile)
1 0.250 0.250 109.880 109.880 :1(?)
999999 52.030 0.000 85.690 0.000 StringIO.py:209(write)
999999 6.890 0.000 6.890 0.000 StringIO.py:38(_complain_ifclosed)
1 0.000 0.000 0.000 0.000 StringIO.py:54(__init__)
1 0.000 0.000 109.890 109.890 profile:0(callfunc())
0 0.000 0.000 profile:0(profiler)
1 23.940 23.940 109.630 109.630 sample_write.py:7(callfunc)
//////////////////////////////////////////////////////////////
#!/usr/bin/python
from StringIO import StringIO
import profile
call_cnt=1000000
def callmethod():
strIO=StringIO()
for i in xrange(1,call_cnt):
strIO.write( str(i))
profile.run('callmethod()')
実行結果:
5000002 function calls in 110.210 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
999999 7.710 0.000 7.710 0.000 :0(append)
1000000 9.580 0.000 9.580 0.000 :0(isinstance)
1000000 7.600 0.000 7.600 0.000 :0(len)
1 0.000 0.000 0.000 0.000 :0(setprofile)
1 0.260 0.260 110.210 110.210 :1(?)
999999 50.450 0.000 82.330 0.000 StringIO.py:209(write)
999999 6.990 0.000 6.990 0.000 StringIO.py:38(_complain_ifclosed)
1 0.000 0.000 0.000 0.000 StringIO.py:54(__init__)
1 0.000 0.000 110.210 110.210 profile:0(callmethod())
0 0.000 0.000 profile:0(profiler)
1 27.620 27.620 109.950 109.950 sample_strio_write.py:6(callmethod)
2008年7月21日月曜日
EeePCを買う
EeePC901を購入。
そして16GBのSDHCを購入。
SDHCはFATなので、NTFSにしたいため下記コマンドを実行
>convert e: /fs:ntfs
これにて2GB以上のファイルも扱えるようになる。
そして16GBのSDHCを購入。
SDHCはFATなので、NTFSにしたいため下記コマンドを実行
>convert e: /fs:ntfs
これにて2GB以上のファイルも扱えるようになる。
登録:
投稿 (Atom)