perl

デザインパターン Template Method

TemplateMethod パターンを書いてみる。例のごとく結城さんの本を参考にJavaのコードを書きます。 増補改訂版Java言語で学ぶデザインパターン入門作者: 結城浩出版社/メーカー: ソフトバンククリエイティブ発売日: 2004/06/19メディア: 大型本購入: 51人 ク…

デザインパターン 初めの一歩:Singleton

デザインパターンをがんばって書いてみる。JavaとPerlを行き来しつつ。Singleton :: インスタンスを1個だけに限定するデザインパターン。「そのクラスから生成されるインスタンスは1個だけしかない」という確実な保証をすることが大事だとか。結城さんの本…

Class::DBI

Object / Relational Mapping => ORマッピングを可能にするクラス。 アプリケーションとSQL層の分離。 pluginがたくさんあってばんばん拡張可能。 こりゃ便利だわ。

memo

書いておかないと忘れるから・・・ my %keywords; for (@keywords){ $keywords{$_}++; } ハッシュとインクリメントを使ったkeywordサーチ。リニアサーチの代わりに。 if($a){ $foo = $a; }elsif($b){ $foo = $b; }elsif($c){ $foo = $c; } #faster $foo = $a…

イテレーター

イテレーターと普通のループとどう違うのかがイマイチ分かってなかった。んで本を読んでたら イテレーターというのは、制御構造を関数として提供するものだ。・・・ループは関数の中に隠れており とあって def myeach(ary) for val in ary yield val end end…

Apache::Session

セッションデータ永続化のためのフレームワーク。 Store (ストレージ) Lock ( 排他制御 ) Generate ( セッションIDの生成 ) Serialize ( データのシリアライズ ) 処理を4つに抽象化している。Apache::Session::MySQLだと Store :: MySQL Lock :: MySQL Gen…

Audrey Tang

1981年生まれ! げっ 年の差、一年。

evalについて

evalの使い方って、初心者向けのPerl本読んでるだけじゃ身に付かないかなって思った。複雑なソースを読んで、その意味するところと重要性が分かる気がする。 ・・・たんに自分の頭が悪いだけかもしれませんが。

%SIG

{ local $SIG{__WARN__} = sub { hoge...}; } 警告シグナルに対するハンドラを自前で用意する使い方。 { local $SIG{__WARN__} = sub{}; } こんな使い方もあるみたい。警告を発しないようにする。

Cwd

use Cwd; $cwd = Cwd::getcwd(); #->スクリプトのあるディレクトリを取得 組み込み関数の再インプリメントがほにゃらら・・・

File::Spec

use File::Spec; $dir = File::Spec->catdir('./' , 'cgi' , 'hoge'); #-> cgi/hoge 異なるOSでのパス指定の差を吸収する? みたいな。 http://search.cpan.org/~kwilliams/PathTools-3.17/lib/File/Spec.pm

メモ

$] ... $PERL_VERSIONバージョンを格納する変数

Bundle::XML

CPANでinstall Bundle::XML ってやってみたらどえらい数のモジュールが出てきてびっくりした。 Bundle::hogehoge のセットはほかにどんなものがあるのかな。知ってるのはBundle::Catalyst と Bundle::CPAN だけだな。ところでCPANでのインストールや、ソース…

メモ

XMLHttpRequestは自サイト以外のサーバーにリクエストを送ることが出来ない。なので、Amazon Webサービスなどの外部データーを引っ張ってくる場合は、中継となるCGIを噛ませてあげるといいとのこと。 もうちょとAjax / DHTML のサンプルをかじったら中継のCG…

考えた方

Perlで、複雑なデーター構造からの値を取り出し方がイマイチ分からなかった。 リファレンス?デリファレンス?無名配列?無名ハッシュ?慣れない頭には難しい... 結局アミダくじのように考えたら簡単にできた。図参照。 (テキトーに作った構造なのでツッ…