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

RHEL 5(.2) の perl-5.8.8-15.el5_2.1 で例のバグが治っていた

例のバグとは,あの overload rebless のバグを解消するために bless にパフォーマンスペナルティが発生していたやつです。 overload の rebless バグについて - daily dayflower CentOS 5.1 の perl をリビルドする - daily dayflower ずいぶん前*1ですが,…

複数ファイルを使った中規模 XS の開発

複数ファイルをビルド対象とした XS の開発について,あまり手間をかけないシンプルで効果的な方法を書いていきます。自分の経験をもとに書きますのでベストプラクティスではありませんが。 余談(SV*() マクロの sideeffect にやられた話) state_stack と…

CPAN 最速検索の劣化コピー作ってみた

mala さんの CPAN 最速検索を便利に使わせてもらってるんですが,操作上ちょっと不満なところがいくつかありまして。 カーソルキーのオートリピートがきかない ホイールがきかない 候補の同時表示数が固定 Firefox だからかもしれないですけど。んで改造しよ…

Perl XS メモ - typemap と MAGIC をからめて

id:tokuhirom さんが http://d.hatena.ne.jp/tokuhirom/20081209/1228829454 で下地をつくってくださったので(perl-users.jp むけまとめも期待してます),ちょっとアドバンスドな話題を。 例題 http://www.sra.co.jp/people/m-kasahr/eb/ http://www.sra.c…

はてブコメントの並び順を変えるグリモン書いた

はじめて Greasemonkey 書きましたよ。おかしなところがあったら教えてください。さいしょ はてなブックマークのコメントを昇順に並べ替えるGreasemonkey を使ってたんですけど,いろいろ不満があったので書き換えてみました。原型はとどめてない。light じ…

make-vmpkg を使って VMware Server console 1.0.7 を Ubuntu にインストール

手元の環境では,まだ VMware Server 2 に移行していません。で,新しくセットアップした環境から VMware Server 1 をいじる必要がでてきました。つまり VMware Server console を新しい Ubuntu にインストールする必要がある。いままでは alien コマンドを…

Firefox の places.sqlite からブックマークをとりだす

新規インストールしたマシンに旧マシンの Firefox のブックマークを移行しようと思いました。で,どうせ bookmarks.html でしょと思ってみてみたら,どうも内容が乏しい。調べてみたら Firefox 3 では places.sqlite というファイルにブックマークはじめアク…

Re: ディレクトリ構造のコピー

コメント書こうとしたら書けなかったので。トラックバック送れるかな。 find 対象 -type d -print0 | xargs -0 mkdir これだとまったく同じ場所に同じディレクトリを作ろうとしてしまう。 http://kotorikotoriko.g.hatena.ne.jp/Ubuntu/20081111/1226411663 …

vim でコメントのオートインデントをしたくない

インデントは自分でするのに慣れてるので,.vimrc に set noautoindent と書いているんですが,なぜかコメントを書くと次行もコメント行になってしまうのです(Ubuntu 8.10)。 // 適当にコメントを書いて,エンターキーを押すと // ←勝手にコメント行になっ…

__PACKAGE__ 頻出のコードがうざいとき

いちいち__PACKAGE__と書かなければならないのは面倒くさい! DBIx::Classのシンタクスシュガーがほしい - Islands in the byte stream はてブコメントの斜め上っぷりに激しくわらわせていただきました。たしかにこんだけいっぱいでてくるとうっとおしいです…

gnome-keyring を利用してコマンドライン上のパスワードを置換する

今日はサーバ向けじゃなくて Linux クライアント向け(かつ GNOME 上)な話です。コマンドラインのオプションからパスワードを指定できるコマンドがありますよね。例えば,リモートデスクトップに接続するコマンド rdesktop % rdesktop -u dayflower -p hoge…

こんなテンプレートエンジンほしい

なぜ、いちいちエスケープを手動で指定しなければいけないのか 文脈によって、自動的にエスケープ手法は決定できるはず と思ってます。 テンプレートエンジン作りたい - kazuhoのメモ置き場 ですよねー。で,そのへんを自然に取り込んでいるのが,おもに Pyt…

Apache の sub request と internal redirect

極私的メモ。 通常のリクエスト処理フロー modules/http/http_core.c で ap_process_http_connection() 関数 を ap_HOOK_process_connection として登録しており,これが(ap_HOOK_process_connection をオーバーライドしていなければ)通常のリクエスト処理…

ap_sub_req_lookup_file() の仕様を勘違いしていた

translate_name に hook をかけてそこで ap_sub_req_lookup_file() したところ,セグフォってしまいました。んーなんでだろうと思って [http://httpd.apache.org/docs/2.2/mod/mpm_common.html#coredumpdirectory:title=CoreDumpDirectory] を指定して core …

複数のテストサーバをリバースプロキシで集約 (4)

mod_proxy_mapper のコードを詳説します。 mod_proxy に処理を移譲する方法 どこかのフェーズで request_rec *r; r->filename = "proxy:http://example.com/foo/bar"; r->proxyreq = PROXYREQ_REVERSE; r->handler = "proxy-server"; のように設定すると,ha…

複数のテストサーバをリバースプロキシで集約 (3)

複数のテストサーバをリバースプロキシで集約 (1) - daily dayflower と 複数のテストサーバをリバースプロキシで集約 (2) - daily dayflower の続きです。mod_rewrite の RewriteMap を使ってごにょごにょしましたが,なんともまどろっこしかったです。そも…

mod_proxy_mapper.c

/* ** mod_proxy_mapper.c */ #include "httpd.h" #include "http_config.h" #include "http_log.h" #include "http_protocol.h" #include "http_request.h" #include "http_core.h" #include "ap_config.h" #include "apr_strings.h" #if 0 || defined(__GN…

複数のテストサーバをリバースプロキシで集約 (2)

複数のテストサーバをリバースプロキシで集約 (1) - daily dayflower の続きです。前回 mod_proxy と mod_rewrite を組み合わせてリバースプロキシ環境を構成しました。が,そのままだとプロキシ先のサーバが増減するたびに設定ファイルを書き換えて httpd …

複数のテストサーバをリバースプロキシで集約 (1)

各所でテストサーバが立ち上がっていて,これらは一台のリバースプロキシの背後にいます。普通に mod_proxy でやっているのですが,テストサーバを増やすたびに設定ファイルを書き換えて httpd を再起動,としなくちゃいけないのが煩わしい。で,リバースプ…

Apache の provider 機構 - 他モジュールに移譲するしくみ

2008-11-13 追記: タイトルを変更しました用語定義をしておきます。 consumer provider の提供する情報を取得する役割をになう provider consumer の要求する情報を提供する役割をになう 「情報」というのは const void * 型の値1つ,なのでなんでもよいです…

Ubuntu 8.10 にアップグレードしたら ssh の秘密鍵のログイン時アンロックがうまくいかなくなった

エラーメッセージは忘れたんですが,id_dsa にアクセスするときにログインパスワードを入力するようダイアログがでて,ログインパスワードを入力してもうまく解除できませんでした。んで, $ rm ~/.gnome2/keyrings/*して,ログインしなおしたら,再度デフォ…

screen の見た目を変えた

コマンド実行中の場合はコマンド名を表示し,それ以外はカレントディレクトリ名を表示したかったのでいろいろ調べて .zshrc をいじってみました。 .zshrc if [ "$TERM" = "screen" ]; then local -a shorthost echo $TERMCAP | grep -q -i screen if [ $? -e…

フックから Apache の全体像を追う

DSAS開発者の部屋:[補足記事]Apache 2.0 の hook 一覧(apache module 開発事初め その3-3) はモジュールを書く際にどこにフックをしかけるかという点で非常に参考になります。が,いまだにいまいち Apache からどのように呼び出されるか実感がわきません。ひ…

HTTP/1.1 の同時接続数について

はてなブックマーク - Fasterfoxが最強すぎる件 - 真性引き篭もり が盛り上がってたので,机上の話だけですが,いまさら書いてみます。 RFC (2616) での記述 Clients that use persistent connections SHOULD limit the number of simultaneous connections …

複数プロファイルの Firefox の同時起動

Ubuntu Linux 8.04 をデスクトップ環境として使っているんですが,Web 開発用に webdev というプロファイルを作成して,デフォルトプロファイルと共存させています。 firefox -no-remote -p webdevというコマンドを指定したランチャをデスクトップにおいてお…

Web Developer 1.1.6 日本語版の(ツールバーの設定等の)不具合

ミナトラボさんで配布されている Web Developer 日本語版 機能拡張は,ツールバーのアイコンの設定が保存されない(つねにアイコンとラベルが表示される)などの不具合があります(わたしのところだけ?)。詳しい原因ははぶきますけれど,拡張機能の xpi フ…

日本語 POD が perldoc で読めない

マルチバイトでかかれた(たとえば =encoding utf-8 な日本語)POD を perldoc で表示すると, XXXXXみたいになってしまいます(CentOS なり Ubuntu なりで)。 とりあえず読みたい,というのなら, % perldoc -t Hoge::Nihongoみたいに nroff コンバータで…

jQuery でページスクロール

js

jQuery 1.2 以降だと scrollTop(と scrollLeft)という疑似スタイルが利用できるようになったので,jQuery UI を使わずとも,jQuery Core 本体だけでページ内スクロールができるようになりました。たとえば, <html> <body> <p> blah, blah, blah, ... blah, blah, blah, .</p></body></html>…

libxml2 の XmlTextReader インタフェースで XML をパースする

libxml2 のドキュメントを眺めていたら,DOM インタフェースや SAX インタフェースだけではなく,XmlTextReader インタフェースというのもありました。これはドキュメントをパースしながら(ストリーミング)処理をしていくという点で SAX インタフェースに…

XML::LibXML の SAX インタフェースで XML をパースする

libxml2 を C でいじっていたんですけど,あれこれ書いていくのが面倒になったので,とりあえず Perl でプロトタイプを書くことにしました。つうことで,Perl から XML::LibXML を使ってみました。前回と同じく SAX インタフェースです。普通の用途では使わ…