svn commit report mail

Rubyのが流行っているらしいが書けないので、素直にPerlで。 当然のように日本語が通らないので修正して使う。 修正する前のは、これを使います。CentOS5.5くらいには入っているはず。 /usr/share/doc/subversion-1.4.2/tools/hook-scripts/commit-email.pl …

フレームワークの使い方

cakePHPというフレームワークがあって、まあ、実にいろいろ複雑な仕掛けがあるわけです。app/config/bootstrap.phpというファイルがあって、このファイルは、名前からして、相当初期にロードされるのだけれど、ここでうっかりあれこれ(*)やると、必要な設定…

PHPでOAuth

PEARが嫌いというわけでもないけど、短く書けるものは短く書きたいということで。 いろいろ参考にしながら書いてみました。PHP(5.3.xの機能は使ってません)のクライアントアプリです。 依存ライブラリとかはありません。 でも、エラー処理とかもありません。…

Apacheでワイルドカードのバーチャルホスト

*.example.comのようなDNSレコード(AまたはCNAME)を定義しておけば、いちいちDNSレコードを追加することなく、バーチャルホストが使えます。 *の部分を処理するのがWebアプリケーションという場合は、HTTP_HOST環境変数(Hostヘッダ)を見て、適当にやれば良い…

ISO-2022-JPエンコードのメールをPEAR::Mailで送る

基本的には、以下のコードでうまくいきます。(ファイルはもちろんUTF-8で保存してください。) setTxtBody("ほんぶん"); $body = $mime->get(array( "head_charset" => 'UTF-8', "text_charset" => 'UTF-8', )); $header = $mime->headers(array(…

プログラミングって何だろう?

そんなことを考える機会があったので、いろいろ書いてみる。 プログラミングは楽しいか? a. 数学や創作が楽しいのと同様、プログラミングも楽しい ネットワーク時代のプログラミングは、コラボレーションも楽しい b. プログラミングという手段によって、目的…

分解教室

いらなくなったFelicaを分解してみた。はじめてだったので微妙な感じであるが、 縁の接着が極めて強力、というのがポイントだろうか。

やっぱりphpは変: parse_str編

phpにはparse_strという関数がある。 http://jp.php.net/parse_strフォームから送信されたデータを連想配列に変換するためのものだが、 フォームから送信されていなくても、同じ形式の文字列を分解するのに使える。でも、落とし穴。.htaccess等で以下のよう…

Webセキュアプログラマ検定

こういうの、どっかに無いかしら?◆問1 <script ...> <!-- eval("hoge('${template_variable}');"); //--> </script>上記のテンプレートファイルの${template_variable}を 任意の変数の内容で置き換えるようなコードを書け.※すごく駄目な例(PHP): preg_replace('/\${(\w+)}/e', '…

ファイル添付でHTTP POST(PHP)

curlモジュールを使うことも検討したけど データの先頭が@だったらファイル名指定として扱う などという馬鹿げた仕様が怖くて、でも、 read/write callbackを使うやり方の例が見つけられず 結局、標準的な書き方で。同様の処理をしてくれるライブラリは既存…

iframeとCSRF

クロスドメインでごにょごにょしたい、とか考えて、iframeを使っていたところ、 iframeに対してcss(position: absoluteとかoverflow: hiddenとか)をうまくつかうと、 他サイトの特定部分(座標指定)を埋め込むことが容易に出来てしまう。 CSRF対策として、処…

OperaでappendChild

cloneNode(true)とかでAタグ要素を複製し、 href属性をセットしてからappendChildするような場合、 Operaで正しく動作させるためには appendChildしてからsetAttributeする必要がある。 逆順だと、DOM的にはsetされているけれど、ブラウザの挙動としてはset…

Wikiばな

この手のは、かなり久しぶり。面識ある人0人。進行は、手慣れたもんで、全体も、各テーブルも、とってもスムーズ。 2次会への誘導も、とってもいい感じ。「Wiki」といっても、 Wikipediaや、ゲーム攻略サイトのように、見知らぬ人が共同でコンテンツを作る …

バッテリーレベルを調べるスクリプト

どうも最近、バッテリーが50%あたりから5%あたりまで一気に減るので、 しばらく計ってみることにする。が、手頃なものが見つけられないので。cygwinのperl 5.8.7で動作確認 #!/usr/bin/perl use strict; use Win32::API; if($ARGV[0] eq '--loop') { $| = 1;…

qmailとfml

VERPの挙動 http://www.appdev.akmalida.com/qmailqa/ref/qm_ref_addresses_5.html によると、qmail-sendがエラーを通知するアドレスは、localの場合、pre@hostなのだ。 remoteに配送するときのenvelope fromは、pre recip=domain@hostなのに。 とても変な仕…

最近の常識

back-endとuser-interfaceを分けて、apiを公開する apiを公開しておけば、jsとかケータイとかfirefox機能拡張とか、誰かが作ってくれるはず。back-endのクラスタリングができると、誰かがサーバ提供してくれるかも。 configuration読み込みもapiで たとえmaj…

ウェブ時代をゆく

お互いを(もちろんオンラインで)認識しあって数日ほどの某氏(こういう場合はid書いていいのかしら)から「感想を聞かせて」とメッセージを頂いたこと、また、この本が単なる情報発信ではなくて極めて多くの知が交わって出版コストを余裕で上回る成果を期…