2006-06-01から1ヶ月間の記事一覧

TT の VMethods のせいで,たまにはまりがちなこと

VMethods の予約語のせいではまる directory という名のハッシュが items という子項目を持っていて $stash->{directory} = { type => 'files', items => [ 'file_a', 'file_b', 'file_c', ], };それを列挙して表示したい場合に, <h1>[% directory.type %]</h1> <ul> [% </ul>…

Cache-Control とブラウザ Back, Forward

ブラウザのキャッシュを抑制するヘッダとして, Pragma: no-cache Cache-Control: no-cache, no-store Expires: 古い日付 が知られています。これらのヘッダを使った場合, Page_A ←→ Page_B (no-cache) ←→ Page_Cという遷移において,各ページをブラウザの …

use strict (vars) と $a, $b

こんなテストスクリプトを書いていて use strict; $a = 'hell, the world';エラーが出なくてかえって焦ったりしました。$a と $b は sort() 関数で利用されるので,明示的に宣言しなくても使えるんですね。自分でレベル 5 くらいだと思っていたのに,今まで…

EFS(暗号化ファイルシステム)の鍵は証明書ストアに保存される

今日は転職した先輩が久しぶりに遊びにきました。開口一番 先輩「EFS の鍵をなくしちゃったんだけどさぁ〜,なんとか復号する方法ない?」 と聞かれました。zip とか Office とかの暗号化ならまだしも破れると思いますけど,そもそも鍵をなくしたってどうい…

追記

Screw Pile Driver さんよりトラックバックいただきました(http://d.hatena.ne.jp/vr6ubqg/20060627/p3)。1 番はデスマ系文章でも読んだような。よくある話なのかしらん。 トラバスパム対策が一応できたらしいのでそろそろトラックバック有効にしようかな…

orz モジュール @CPAN

orz は id:charsbar さんもコントリビュートしている由緒正しい?モジュールです。ちょそのネームスペース(ry という気もしますが,作者があの Ingy さんなので大目をみることにします(Acme::orz だとインパクト弱いですし)。 すいません、これは何をする…

rsync で失敗

それまで手コピー deploy してたのですが,rsync で半自動化しよう,と思い, rsync -avz /foo/bar there:/foo/bar とかやりました。しばらく気づかなかったんですが,修正が反映されない。なぜだろうと思って見てみたら,there に /foo/bar/bar というフォ…

VMware Server が RC2 に

いつのまにか VMWare Server が RC2 になってました。「e.x.p」という名前がはずされ,「1.0.0」というリビジョンがふられています。xinetd の設定ファイルで「type = unlisted」という項目がデフォルトで挿入されるようになったぽいです。

checkpad.jp - あなたのリスト

シンプルな目標管理ツール | check*pad.jp を常用しています。AJAX がほどよい塩梅で使われていて軽快ですしとても便利です。しかし,私の現在のトップページの項目リストは(並び順も再現) 急ぎ - 2日前 お仕事 - 6日前 今日の ToDo - 6日前 お仕事2 - 24…

CPANPLUS が大幅にアップデートしていた

私の環境では CPANPLUS 自身からアップデートできなかったので,標準 cpan shell からインストールしました。前の設定が生きていない気がしたので「s reconfigure」したら, 1> Select Configuration file 2> Setup CLI Programs 3> Setup CPANPLUS Home dir…

ウェブアプリで情報保持

そもそもはオンメモリキャッシュがほしかったので調べ始めたのです。 イントロとしてNaney 氏の記事(←なぜか文字コード(ry) memcached とそれを扱う Cache::Memcached ストレージを複数マシンに分散できる Naney 氏も使ってる id:tokuhirom 氏も使ってる …

each ではまった

Perl には,ハッシュのキーと値を対にしてとることのできる each というオペレータというか関数というかがあるのですが, my %h = ( 'a' => 1, 'b' => 2, ... ); foreach my $key (keys %h) { print $key, " => ", $h{$key}, "\n"; } # equivalent to: while…

携帯から書いてみる

マイルストーンごとにスクラッチビルドで一人デスマーチ。

Web20

もう2週間くらい前のことになります。帰宅するべく地下鉄に乗車したところ,あとから20代〜30代の男性約3名と,40代の男性1名が乗ってきました。どうやら会社の同僚&上司という関係のようですが,その中の40代の男性(推定上司)いわく 「きみたちぃ〜ウェ…

発生条件解明

mod_perl と DBIC と CGI::Session (using Data::Dumper) 使っていて,DBIC のインスタンスのカラムに undef をセットしたとき,それをセッションに保存すると取り出した後でおかしくなるみたいです。そういえば以前もよくわからないままにそういうことが…

CGI::Session で保存したインスタンスが変になってしまった

今書いているウェブアプリではセッション保持に CGI::Session を使っています。セッションへ ModA を継承した ModB のインスタンスを保存したのですが,取り出して $b->isa('ModA') とやると false になってしまいました(というかそもそも ModA のインスタ…

Location によるリダイレクトとブラウザ Back

Web 1.0 時代のバッドノウハウです。 a.html に b.cgi へのリンクを提示 b.cgi で a.html へ 301 (Found) でリダイレクト 再び a.html が表示されるが,ブラウザの Back ボタンは無効のまま GET じゃなくて POST でも可 IE 6 sp2 と Firefox 1.5 で確認 確認…

Apache の設定ディレクティブに とか とかほしい

今開発中のウェブアプリは mod_perl なアプリは http://〜/site/app/foo 静的コンテンツは http://〜/site/bar な URI 設計をしているので,httpd.conf は単純に <Location "/site/app"> SetHandler perl-script PerlResponseHandler Foo::Bar </Location>みたく書いていました。が, mod_perl…

PostgreSQL の SERIAL型

参考 URL http://www.linux.or.jp/JF/JFdocs/PostgreSQL-FAQ.html#item4.11.1 http://www.postgresql.jp/document/pg814doc/html/datatype.html#DATATYPE-SERIAL http://www.postgresql.jp/document/pg814doc/html/sql-createsequence.html 1. はイントロダ…

perlre

Perl 5 以降で使われる正規表現(いわゆる perlre)は,標準的な正規表現とくらべて拡張されています。昔むか〜し(Perl 4 を使っていた頃)は,可搬性が低くなるので個人的に拡張正規表現は使っていなかったのですが,今は便利なだけではなく可読性が高まる…

[linux] yum update したらモジュールがすべて古くなってしまった

Fedora core 5 を使っているのですが,昨晩の nightly yum update で perl がアップデートしてました。perl のモジュールは, /usr/lib/perl5/5.8.x/... /usr/lib/perl5/vendor_perl/5.8.x/... /usr/lib/perl5/site_perl/5.8.x/... にインストールされます。…

今日のハマリ

DBIC 使っていたんですがなかなか使いこなせないですね。 PK::Auto で失敗 my $rec = $schema->resultset('t_test')->search(...)->first; # うーむ,やっぱり新規で INSERT しよう $rec->store_column('id', undef); # PrimaryKey を undef に $rec->insert…

DBIx::Class 次の一歩(←いまココ)

DBIx::Class にはいくつか興味深いモジュールがあります。

DBIx::Class はじめの一歩

DBIx::Class::Manual::DocMap をみてどんなドキュメントがあるのか知る。 DBIx::Class::Manual::Intro を読んで作法を知る。 DBIx::Class::Manual::Example を読んで雰囲気をつかむ。実際やってみる。 DBIx::Class::Manual::Troubleshooting にも書いてある…

Data::FormValidator で複数フィールドのチェック

たとえば, 〒 [ ] - [ ]みたいな郵便番号入力フィールドがあった場合,Data::FormValidator でチェックするには,

たまにはリアルの書店もいいと思った

今日は有休をとってました。ので,技術ネタはないです。先週末に川崎あたりに遊びに出かけたときに,川崎ダイスという駅近くのモールにいきました。そこに入っているあおい書店さんがなかなかすばらしかったです(川崎あおい書店の場所)。 フロア面積が広い…

DBDesigner 4 での UNIQUE 制約に挑戦

現在のプロジェクトでは DBDesigner 4 をデータモデリングツールとして使っているのですが,フィールドの属性として「UNIQUE」をつけられないので困っていました。UNIQUE INDEX なら貼れるのですが(そしてそれでたしかに十分なのですが)たまたまインデック…

mod_perl 2.0 の Server Life Cycle

mod_perl 2.0 のサーバ起動にまつわる文書を読み込んでいました。 サーバスタートアップスクリプトは,1.0 時代のドキュメントでは「PerlRequire」記述子で読み込むように書かれていることが多いが,実行される時点が中途半端。なので,PerlPostConfigRequir…

Unicode::Normalize で遊ぶ

Unicode の規格では,文字の合字(リガチャ等)等を統一的に扱えるように,「正規化」という処理が仕様として定まっています。この正規化処理のうち「互換性分解」という処理を行うと副作用として半角カナを全角カナに変換できます(逆に全角カナ→半角カナは…

mod_rpaf のかわりに mod_extract_forwarded なるものがあるらしい

今作っているウェブアプリでは -+(A) Apache 2.2 + mod_proxy (画像等のスタティックコンテンツ向け) +(B) Apache 2.2 + mod_perl (アプリサイド)という環境を同一ホストで動かしています。 ただ,このようにリバースプロキシを導入すると,(B) のログファイ…