2006-01-01から1年間の記事一覧

Interface on Python

ASPN Python Cookbook The End of Inheritance Automatic Run-time Interface Building for Aggregated Objectsの主張も分かりますが、他の言語で慣れた方法で使いたいということもあり、作ってみました。http://yanbe.org/python/interface/interface.py 使…

del.icio.us Object on Python

Hatena Bookmark Object On Pythonのdel.icio.us版を作りました。 import delicious for title, url in delicious.b.hot.python.titles_urls: print title+'\n'+urlfor u, c in delicious.b['http://sourceforge.jp/'].users_comments: print '%s: %s' % (u,…

GPS携帯でALPSLAB routeのルート情報を検索・ダウンロードし、自分の移動軌跡とオーバーレイ表示

そんなことができる携帯アプリ(Ezアプリ(Java))を作ってみました。割とうまく動いているようなので公開します。 対応機種はauのA5403CA, A5406CA, A5407CA (MS-Based方式のGPS位置情報取得に対応した機種)です。 動作画面は以下のような感じです。 一番右の…

携帯電話のUSBマスストレージ化ドライバ

というプロジェクトをSourceForgeで立ち上げました。 概要は以下のとおりです。 USB通信ケーブルやシリアルケーブルでPCに接続可能な全ての携帯電話において、シリアル通信をラッピングすることで、携帯電話をUSBマスストレージとして認識出来るようにするラ…

マウスのニコイチ

マウスは使っているうちにへたってくるもので、私は1年に一回ぐらいのペースで買い換えているのですが、古くなったマウスは一応、捨てずに取っておくことにしています。んで、手元にあった(動作があやしい)マウス一覧。 1日1回はポインタが動かなくなる(多…

Hatena Bookmark Object on Python 0.9.1

http://yanbe.org/python/hatena/hatena.py 以下のように、ひとつの属性か、全ての属性かのどちらかしか指定できない仕様が気に入らなかったので、修正しました。 >>> import hatena >>> for url, title, summary, description, tags in hatena.b.hot.python…

MapReduce on Python 0.9.1

前回の続きですが、元論文の内容をそのまんま実装するだけじゃ芸がないので、「分散処理をする関数に対して指定できる引数は1つだけ」、という制限を撤廃してみました。つまり、Map処理用の関数が複数の引数とキーワード引数に対応しました。 http://yanbe.…

Hatena Bookmark Object on Python

はてなブックマークをあたかもひとつのオブジェクトの様に扱えるPythonのモジュールを作りました。 これを使うとはてブのマッシュアップ的なものの開発が楽になります。多分。http://yanbe.org/python/hatena/なお、本ライブラリの利用にはfeedparserとsimpl…

追記

PyroなんかでMapReduce.Workerをリモートのマシンで実行するようにすれば、分散処理が比較的手軽に可能になるかもしれません。 Pythonのデコレータを使って、クライアントコードをもっとシンプルに記述できないかなぁ。 reduceの実行順序を「元データの並び…

MapReduce on Python

Googleの分散処理技術であるMapReduceの解説記事をid:YuichiTanaka:20060923さん経由で知りました。面白そうなので、このMapReduceをPythonで実装したらどうなるかやってみました。やってることはid:u-no:20060318さんと同じで、 要は通信の代わりにメモリ使…

PythonをRubyっぽく書くテスト

Dive Into Pythonの 4. The Power Of Introspection 5. Objects and Object-Orientation あたりを読んでいて思い付きました。何度目の車輪の再発明なのかは謎です。まず、以下のようなクラスを定義します。 class Object: def __init__(self, instance): sel…

はてなブックマークエントリー情報取得API

http://d.hatena.ne.jp/keyword/%a4%cf%a4%c6%a4%ca%a5%d6%a5%c3%a5%af%a5%de%a1%bc%a5%af%a5%a8%a5%f3%a5%c8%a5%ea%a1%bc%be%f0%ca%f3%bc%e8%c6%c0API?kid=1840752006/09/19 にリリースされたそうです。 任意のはてブのエントリの生データ(と思われる)全件…

howmの新規作成をw3m-emacsで閲覧中のURLに対応させる その2

前回のhowmを「w3m-emacsで閲覧中のURL」に対応させるemacs lispですが、w3mが起動していないときにhowm-createを呼び出したときに以下のが発生するのを修正しました。 Symbol's value as variable is void: w3m-buffer-url また、今回のelispコードを使った…

emacs-w3m と howm の連係によるスケジューラ連動型ブックマーク ver0.01

http://www004.upp.so-net.ne.jp/ttm/HowmPage.html の 「emacs-w3mとなかよく使う」がなぜか私の環境では動かなかったのので、前回と同様、Emacs Lispの勉強がてらにつくってみました。 やりたいこと w3m で ページ閲覧時 に howm-create(C-c , c)すると、…

python-mode on emacs 環境向上計画

Pythonのソースコードを書く際、最近はめっきり X11 gnome + emacs + python-mode + pycomplete + cedet + ecb な開発環境でのですが、このpython-modeの使用感に微妙な違和感があるのでカスタマイズしてみました。ちなみに、Eclipse + PyDEV plugin + WTP p…

ALPSLAB

http://www.alpslab.jp/比較的最近出てきたいわゆる「Google Mapsのマッシュアップサイト」*1なんだけど、この手のものでは完成度が群を抜いて高い。いい仕事してます。必見。素人とプロの差を見せ付けられた気がします。というかALPSLABに入りたくなりまし…

参考にしたページ

Googleグループ: web.py (英語で手に入る情報としては一番十充実してると思います)

dict.pop()対策

Python 2.3から、組み込みオブジェクトdictにpop()というメソッドが追加されました。web.pyではこれを使っています。しかし当然Python 2.2にはdict.pop()はありません。そこで、代替となるような関数を用意してやります。 /site-packages/web.py input()関数…

generatorsの有効化

web.pyはflupというWSGIのインターフェースを提供するモジュールに依存しているのですが、flupはPython 2.3で追加された文法であるジェネレータ(早い話がyield)を要求します。Python 2.2ではデフォルトでは無効になっているので、yieldは__future__の中に入…

Python 2.2環境でもweb.pyを動かす

web.pyはPythonの中でも割と最近追加された関数を使っていたりするので、少し前のバージョンのPython(今回はPython 2.2)を使わなければいけない状況だと、動かすのに少々難儀したりします。レンタルサーバでなくとも、おいそれとソフトのバージョンアップが…

3/11 15:13 追記

クライアントコードの変更なしに動くように、修正箇所を変更しました。

参考にしたページ

kinnekoの日記 - web.pyを入れてみる cgi - Google グループ web.py

.htaccessの設定

web.pyをCGI環境で正しく動作させるためには、web.pyを使用したCGIプログラムを配置したディレクトリ以下のすべてのリクエストを、該当するCGIプログラムに転送してやる必要があります。なので、そのように動作するように.htaccessファイルを作成、編集しま…

web.pyの変更

マルチスレッド処理の無効化 web.pyはWSGI上で動作し、WSGIは内部でマルチスレッド処理をしていますが、XREAではCGIプログラム内でのマルチスレッド処理を許可していないため、無効化してやる必要があります。 2006/5/20追記: 利用しているサーバーが、CGI内…

CGI環境でweb.pyを動かす

Pythonで最近注目されているWebフレームワークとしてweb.pyがあります。これをレンタルサーバーのような、制限の多いCGI環境で使うにはちょっとした工夫が必要です。以下に述べる設定はXREA(CGIにpythonが使える。素敵(^^)v)の場合ですが、ほかのレンタルサ…

web.py

http://webpy.org(Zopeジャンキー日記 PythonのWebフレームワーク相関図 経由) Pythonicで超シンプルなWebアプリケーション開発用フレームワーク。 すばらしいハックだと思う。CherryPyやDjango、TurboGearsももちろんすごいけど、高機能な分、中身が複雑に…