投稿

12月, 2010の投稿を表示しています

From QuickBuf to DumbBuf

イメージ
こんにちは。サーバの標準エディタを emacs にしたあげく vi を emacs のシンボリックリンクにした方とは、それ依頼お話していない vimmer です (嘘。今もっすご興奮しています。1 年ぶりに vimfiles の中身が更新されましたよ! 複数ファイルを同時に編集するときはバッファーを一覧表示したり、簡単に切り替えたりするバッファーマネージャ系プラグインがかかせませぬ。今までは QuickBuf というプラグインを使っていました。ただ、QuickBuf は表示できる行数を計算し、その行数を超えるファイル数を開くと "No room to display buffer list..." っていうエラーが発生する難点がありました。脳内メモリが少なすぎてファイル名が覚えられないし、バッファー内から補完もしたい。 args *.py で 50 ファイルぐらい軽く開いちゃう人なのでそれは困る・・・。そこで出会ったのが DumbBuf です!これすごいですよ!!インストール後、QuickBuf 同様、_vimrc に dumbbuf_hotkey を指定します。例) let g:dumbbuf_hotkey=';;' これで快適なバッファーマネジメントができるようになりました。 ホットキーに割り当てたキーマップをタイプすると、バッファーが一覧表示されます。 ここまでは Quick Buf と一緒です。QuickBuf と異なるところは、バッファ内のファイル数が 10 行を超えると、自動的にローテートしてくれます。もちろん j, k で選択行を上下、<c-f>, <c-b> でページ送り/戻しができます。ページ送りだけで、ファイル選択が断然楽になりましたね! あと、普通に / でファイル名検索もできますよ! これさえあれば 100 ファイルぐらい開いても、お望みのファイルに一瞬でたどり着けますね!!!痒いところに手が届きすぎです>< 作者の id:tyru さんありがとうございます!

WSGI on Qt (PyQt or PySide)

イメージ
こんにちは、Python 会の。。。思いつきませんでした。初 " Python Web フレームワーク アドベントカレンダー2010 " に参加させていただくことになりました。よろしくおねがいします。アドベントカレンダー参加者のブログは cielquis.net に綺麗にまとめられていますよ。 ごめんなさい。Web アプリケーションフレームワークの作成なんて 1 日じゃむりぽ><。メインで使ってるフレームワークは、 Django か webapp ぐらい。。。最近 dis られてるので、Django 記事書くのもあれだ・・・。 ということで本題です。Python は WSGI (Web Server Gateway Interface) という Web アプリケーションと Web サーバ間の共通インターフェースがあります。そのインターフェースを実装したオブジェクトは、Web アプリケーションとして動作させることができます。ということで、デスクトップアプリケーションを Web アプリケーションにする方法を書きたいと思います。今回は Qt の Python binding な PyQt / PySide で WSGI アプリケーションを作ってみたいと思います。実装は PySide ですが、 PyQt でも動くはずです。 STEP1: PySide で Hello World! ほんと Web アプリケーションじゃなくて申し訳ないですが、最初に PySide で "Hello World!" を表示します。 import sys from PySide import QtCore, QtNetwork, QtGui class QWSGILabel(QtGui.QLabel): def __init__(self, text, parent=None): super(QWSGILabel, self).__init__(text, parent=parent) class QHttpWidget(QtGui.QWidget): def __init__(self, parent=None): super(QHttpWidget, self).__init_