vim に ActionScript のシンタックスハイライトを追加
VIM: ActionScript and MXML syntax files から以下のファイルをダウンロードします。
VIM: ActionScript and MXML syntax files から以下のファイルをダウンロードします。
perl でのコーディング中に perldoc で、perlfunc や perlreref を参照することは多々あると思います。
そのドキュメントが日本語ならば、もうちょっと読みやすいと思います。幸い、perldocjp という日本語化プロジェクトで、いくつかの pod ファイルが日本語化されて公開されているので、それをダウンロードして入れ替えてみましょう。
ClearSilver に関しては、tasukuchan さんが ClearSilverについて調べる にマニュアルの邦訳をされており、大変参考になります。
Template Toolkit から ClearSilver に乗り換え、TT のような URI エスケープや、HTML エンティティ 変換をしてくれるフィルター機能が欲しいと思っていましたが、ClearSilver には pod が用意されておらず、h2xs のデフォルトテンプレートと思われる記述しかないので、オフィシャルのドキュメントを調べてみたらありました。
発見ついでに、ググっても他に邦訳されている方がいらっしゃらないようですので、簡単に意訳しておきます。英語は得意ではないので、変な訳があったらコメントで突っ込んでください。
日時を文字列で取得する場合、
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$date = sprintf("%04d/%02d/%02d", $year+1900, $mon+1, $mday);
こんな書き方が多いですが、もっと短くこう書けます。
use POSIX;
my $date = strftime("%Y/%m/%d", localtime);
DateTime モジュールで同じことができますが、POSIX は標準モジュールなのでインストールしなくても使えるというのが強みです。Windows の Strawberry Perl でも使えました。
と、これだけなら大した事無い違いなのですが、strftime はもっと便利です。
(続きを読む…)
ディレクトリや拡張子なしの URL と PHP だけバックエンドに送りたかったので正規表現でカリカリと。
最近は色んなソフトに PCRE が採用されていて便利ですね。
$HTTP["url"] =~ "/([^/.]*(\?|$))|\.php(\?|$)" {
proxy.balance = "hash"
proxy.server = ( "" => ( ( "host" => "localhost", "port" => 8080) ) )
}
ちなみに、静的ファイルだけ ligttpd に処理させたいときは以下です。
$HTTP["url"] =~ “/[^/.]*(\?|$)” {
この書き方は、baz.png?foo=bar などと、クエリ付きのリクエストにも対応しています。
現在、データベースソフトには PostgreSQL を使っているのですが、MovableType と違って、WordPress は MySQL しか対応していません。
わざわざ、WordPress のためだけに MySQL をインストールしてデーモンプロセスを増やすのも嫌だったので、他のデータベースに対応するプラグインなどは無いものかと、探していたらありました。
DoCoMo の SPF 対応も明後日からですね。それに伴い、ウチでも DNS を設定しなおしました。
関連資料をまとめておきました。
amachang さんのところで紹介されていました。
以下の一行をすべての JavaScript の前に読み込む
/*@cc_on _d=document;eval('var document=_d')@*/この一行を読み込むことによって IE での document へのアクセスが 5 倍速くなります。
だそうです。
(続きを読む…)
RFC 2396 で、unreserved として定められた文字列を URI エスケープする場合には、
$str =~ s/([^a-zA-Z0-9_.!~*'()-])/’%’ . unpack(’H2′, $1)/eg;
とすれば良いですが、エスケープする文字列が UTF-8 の場合、注意しないといけないことがあります。それは、変換前に UTF-8 フラグを落とすことです。
utf8::encode($str) if utf8::is_utf8($str);
を変換前に追加しましょう。
Apache で、アクセスログに画像ファイルや、CSS などを含めたくないときには、
SetEnvIf Request_URI "\.jpe?g$" image no_log
などと、書いて、
CustomLog /path/to/access.log combined env=!no_log
と、すれば良いですが、lighttpd には lighttpd-1.4.15/doc/accesslog.txt を見ても、選択的なアクセスログ設定には触れられていません。
logrotate の処理中に wrapper スクリプトを使うのも何ですし、どうしたもんかと思いましたが、ふと、lighhttpd には PCRE を利用してコンフィグを正規表現でガリガリ書けることを思い出しました。
と、いうことで実際に書いてみたら、期待通りの動作をしました。
$HTTP["remoteip"] !~ “^(127\.|192\.168\.)” {
$HTTP["url"] =~ “/[^/.]*(\?|$)” {
accesslog.filename = “/path/to/access.log”
}
}
上記では、拡張子が無いファイルへのリクエストのみログに記録しています。
なお、remoteip と url の入れ子を逆にしたら上手く動作しませんでした。
最近のコメント