Entries from 2007-01-01 to 1 year

[Hyper Estraier] _estraiernative.Database.get_docの第2引数には、オプションを指定する。

環境 この記事の内容は、Ubuntu Linux 6.10, Python 2.4.4, Hyper Estraier 1.4.10, qdbm 1.8.75, libiconv 1.11, estraiernative 0.2で確認しました(Hyper Estraierとqdbm, libiconv, estraiernativeは、パッケージ管理システムからではなく、ソースコード…

OVA版「苺ましまろ」第2巻に脆弱性が発見される。

対象となる苺ましまろ OVA版「苺ましまろ」第2巻 緊急度 高 概要 茉莉の服についているボタンがしいたけに見える。 詳細 この現象は、OVA版「苺ましまろ」第2巻の10分38秒頃に発生する。下のスクリーンショットが、この脆弱性が発生しているときのスクリーン…

[Firefox] browser.sessionstore.interval

はじめに id:SumiTomohiko:20070507:1178542013で「Firefoxはテキストエリアの内容を保存しているかもしれない」旨の記事を書いたところ、id:mal_blueさんよりコメントをいただきました。せっかくなので、もう少し調べてみました。 調査結果 http://mxr.mozi…

[Firefox] Firefoxはテキストエリアの編集内容を保存している?

環境 この記事の内容は、Ubuntu Linux 6.10, Firefox 2.0.0.3で確認しました。 現象 Firefoxで、(<textarea>タグで表示される)テキストエリアの内容を編集しているとき、Firefoxが応答しなくなって、GNOMEより強制終了しました。再起動したとき、前のセッションを復</textarea>…

[Python] PythonにおけるCursesプログラミング

はじめに この記事は、Curses Programming with Pythonの日本語訳です。 PythonにおけるCursesプログラミング A.M. Kuchling (amk@amk.ca), Eric S. Raymond (esr@thyrsus.com) 概要 この記事は、Python 2.xでテキストモードのプログラムを記述する方法につ…

帰ってきた「苺ましまろでショー」in 豊島公会堂

この記事について 2007年5月6日、豊島公会堂にて「帰ってきた「苺ましまろでショー」in 豊島公会堂」が行われました。この記事は、そのレポートです。文中では、適宜敬称を省略させていただきました。なお、筆者はうろ覚えでこの記事を書いています。間違い…

[Mutt] 私の~/.muttrc

はじめに 私はメーラにMuttを使っています。Muttというのは、コンソール上で動作するメーラです。Emacs上で動作するWanderlustやMuleも使ってみましたが、 Emacs自体が私には難しかった。orz Muttのキーバインドが、私が愛用しているエディタviに似ている。 …

[Hyper Estraier] Hyper Estraierの検索結果を表示するコマンド その2

はじめに この記事は、id:SumiTomohiko:20070502:1178119948の続きです。 問題点 id:SumiTomohiko:20070502:1178119948で作成したスクリプトには、以下の問題点がありました。 最大10件しか表示されない。 表示される順序がランダムである。 また、以下のよ…

[Hyper Estraier] "Hyper Estraier" vs "HyperEstraier"

はてなでは"Hyper Estraier"のように、"Hyper"と"Estraier"の間にスペースを含めるとキーワードへのリンクが作成されますが、Googleで"Hyper Estraier"を検索すると「もしかしてhyperestraier」といわれます。どうでもいい話ですが。

[Hyper Estraier] インデックスのサイズ

環境 この記事の内容は、Ubuntu Linux 6.10, Hyper Estraier 1.3.6, 以下のCPUとメモリで確認しました。 $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 9 model name : Intel(R) Pentium(R) M processor 1000MHz step…

[Hyper Estraier] Hyper Estraierの検索結果を表示するコマンド

環境 この記事の内容は、Hyper Estraier 1.3.6, Ubuntu Linux 6.10で確認しました。 はじめに 手元に370,000件を越える大量のメールがあり、これをgrep以外で効率よく検索する手段はないものか探っていたのですが、Hyper Estraierを試してみることにしました…

COMIC1のタイムスケジュール

COMIC1のカタログのどこにも、開始時刻と終了時刻が載っていないような気がするのですが...。サンシャインクリエイションのような全体反省会とかもないのでしょうか。ウェブサイトには10時30分からと掲載されています。他にも指摘している方がいらっしゃいま…

[Python] 「本田透と国井咲也(アニメ会)の二次元へいきまっしょい!(にじいき)」のバックナンバーをダウンロードするスクリプト

にじいきのバックナンバーをダウンロードできるそうです。まとめてダウンロードできるスクリプトを書いてみました。 # python # -*- coding: utf-8 -*- for i in range(64, 92): import os os.system("wget -O nijiiki_%03d.mp3 http://contentscast.net/mov…

[Python] 上平哲「速効! Pythonプログラミング バージョン2.5対応」株式会社秀和システム

速効!Pythonプログラミング―バージョン2.5対応作者: 上平哲出版社/メーカー: 秀和システム発売日: 2007/04メディア: 単行本購入: 1人 クリック: 29回この商品を含むブログ (15件) を見るを購入しました。まださらっとみただけなのですが、「バージョン2.5対…

日本めがねっ子協会?

私は日本ひげ男協会というのを運営しています。おかげさまで、日本中からひげ男たちが大勢 (?) 集まりました。ところで、ひげ以上に市民権を得ているのが「めがね」です。では、「日本めがねっ子協会」というのにも需要があるのではないか、と思いました。「…

[Ubuntu Linux][H8/3048F] LinuxでH8/3048Fの開発を行う方法

環境 この記事の内容は、 Ubuntu Linux 6.10 H8/3048F(AKI-H8/3048開発キット(即使えるキット)) USB-シリアル変換ケーブル で確認しました。 概要 この記事では、H8/3048FのプログラムをLinux上で開発する方法について、 開発環境の準備 プログラムの作…

[Ubuntu Linux] 秋月電子通商 USB-シリアル変換ケーブル

秋月電子通商でM-720 USB-シリアル変換ケーブルを購入し、Ubuntu Linux 6.10に刺したところ、以下のように認識されました。 [17190058.512000] usb 3-2: new full speed USB device using uhci_hcd and address 2 [17190058.676000] usb 3-2: configuration …

[Python] decoratorモジュール

はじめに この記事は、The decorator moduleの日本語訳です。TurboGearsの開発者はこのモジュールを参考にしたと、turbogears/decorator.pyに記述されています。 # Inspired by Michele Simionato's decorator library # http://www.phyast.pitt.edu/~michel…

ターミナルからFirefoxを起動するwwwコマンド

環境 この記事の内容は、Ubuntu Linux 6.10, perl 5.8.8, Firefox 2.0.0.2で確認しました。 問題点 ターミナルで開発をしていると、(ターミナルでない場合もありますが)ウェブブラウザを使うのに不便を感じることがあります。例えば、 ターミナルの表示内…

ライブラリに加えた変更を、簡単に元に戻す方法

概要 ソフトウェア開発をしていると、システムにインストールされているライブラリを変更したいときがあります(スクリプト言語を使っている場合はとくに)。たとえば、挙動を確かめるためにprint文を加える、といった場合です。しかし、システムのライブラ…

[TurboGears] turbogears.widgets.CalendarDatePicker(およびturbogears.widgets.DateTimePicker)を日本語で使用する方法

環境 この記事の内容は、Ubuntu Linux 6.10, TurboGears 1.0.1で確認しました。 問題点 turobgears.widgets.CalendarDatePicker(とturbogears.widgets.CalendarDateTimePicker)は、デフォルトでは月の名前や年月日の形式を英語流に表示します。日本語流に…

[TurboGears] メンテナンス中のとき、別画面を表示する方法

環境 この記事の内容は、Ubuntu Linux 6.10, TurboGears 1.0.1で確認しました。 概要 ウェブアプリケーションを運用していると、例えばデータベースのスキーマを変更しているときなど、他のユーザからはアクセスされたくないときがあります。そんなとき、メ…

[TurboGears] @paginateデコレータで並び順を指定する場合は、SQLAlchemyが必要である(たとえモデルにSQLObjectを使っていても)。

環境 この記事の内容は、TurboGears 1.0.1で確認しました。 現象 以下のような、default_order引数を含む@paginateデコレータをメソッドに付加します。 @paginate(var_name="authors", max_pages=car.const.list_max_page, limit=car.const.list_limit, defa…

[TurboGears] 同人誌情報サイトを作成する。その9

はじめに この記事は、id:SumiTomohiko:20070220:1171972647の続きです。 公開 同人誌情報サイトを公開しました。以下のURLからアクセスできます。 http://nekomimists.ddo.jp/doujin/ まだ中身は空っぽですが、徐々に増やしていく予定です。

[TurboGears] メソッド全体をトランザクションに含める@transactionデコレータ

環境 この記事の内容は、TurboGears 1.0.1, SQLite 3.3.5で確認しました。 @transactionデコレータ Rapid Web Applications with TurboGears: Using Python to Create Ajax-Powered Sites (Prentice Hall Open Source Software Development Series)作者: Mar…

[TurboGears][SQLObject][SQLite] TurboGearsでSQLiteのトランザクションの隔離レベルを設定する方法

環境 この記事の内容は、TurboGears 1.0.1, SQLObject 0.7.1, SQLite 3.3.5で確認しました。 隔離レベルの設定方法 排他ロックを行う場合、以下のようなコードを記述します。ここで、projはアプリケーションのパッケージ名とします。 transaction = proj.mod…

[TurboGears] ワンタイムトークンを追加するデコレータ

はじめに ウェブアプリケーションでは、ブラウザの「戻る」ボタン対策や二重送信防止のために、ワンタイムトークンをフォームに追加することがあります。今回、TurboGearsでワンタイムトークンを扱う一連のクラスを作成しました。作成したのは、 ワンタイム…

[TurboGears] 同人誌情報サイトを作成する。その8

はじめに この記事は、id:SumiTomohiko:20070218:1171826263の続きです。 中間リリース 同人誌情報サイトにお気に入り機能を追加しました。 http://nekomimists.ddo.jp/doujin/ ソースコードは、以下からダウンロードできます。 http://nekomimists.ddo.jp/~…

[TurboGears] turbogears.identity.currentオブジェクトは、テンプレート内ではtg.identity。

環境 この記事の内容は、TurboGears 1.0.1で確認しました。 identity turbogears.identityは、モジュールです。このため、turbogears.identity.currentをコントローラ内で使おうと思ったら、 from turbogears import identity # identity.currentを使う。 と…

[TurboGears] redirect関数の引数にurl関数の戻り値を与えてはならない。

環境 この記事の内容は、TurboGears 1.0.1で確認しました。 redirect TurboGearsではリダイレクトするのにturbogears.controllers.redirect関数を使用します。 redirect("/foo/") 一方、URLの先頭に設定ファイルのserver.webpathの値を加えるturbogears.cont…