たつをの ChangeLog : 2006-10-24

なぜ逆引きを設定するのか(http://ya.maya.st/d/200610a.html#s20061008_1),
なぜバージョンを隠すのか(http://ya.maya.st/d/200610a.html#s20061008_2)
より「なぜ○○するのか(しないのか)」を説明するのに使えそうな
テンプレート:
なんで___するかといえば、管理者としてそうするのが当然の行為だから、
ではなく、___と文句を言ううるさい人と関わり合いになりたくないから。
___という考え方には異を唱えるが、
さりとて___という考えを持ってるわけでもなく、
動作に影響がないならどっちでもいいんじゃね、という程度でしかない。
めんどくさいから___なんかやりたくないんだけど、
痛くもない腹を探られるのもうっとうしいから___おくというだけのこと。

Cache::File[2006-10-17-1]でStorebla[2006-05-09-2]を使いたいのだが、
できそうもないので(何か良い方法があったら教えて下さい。
追記: ありました!→[2006-10-24-6])、
Data::Dumper でシリアライズして読み書きすることにした。

サンプルプログラム:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;

$Data::Dumper::Terse = 1;
$Data::Dumper::Indent = 0;

my $foo = [ 0, [1,2,3], "hello", {one => 1, two => 2} ];

my $text = Dumper($foo);        # シリアライズ

print "\$foo = $text\n";

my $bar = eval $text;           # もどす

print "\$bar = ", Dumper($bar), "\n";
print "test : ";
print $bar->[0], " ";
print join(",", @{$bar->[1]}), " ";
print $bar->[2], " ";
print join(",", map {"$_:$bar->[3]{$_}"} keys %{$bar->[3]}), "\n";
実行結果:
% perl dd.pl
$foo = [0,[1,2,3],'hello',{'one' => 1,'two' => 2}]
$bar = [0,[1,2,3],'hello',{'one' => 1,'two' => 2}]
test : 0 1,2,3 hello one:1,two:2
Terse をセットすると最初に出てくる変数($VAR1など)が出なくなり、
Indent をオフにするとインデントや改行がなくなる。see perldoc

参考:
- Data::Dumper - perlデータ構造の出力/eval両用文字列化
  http://fleur.hio.jp/perldoc/mix/lib/Data/Dumper.ja.html
この記事に言及しているこのブログ内の記事

ちょいメモ。

マスコミがないと成立しない日本の「YouTube」 (Web2.0(笑)の広告学):
NBonline(日経ビジネス オンライン)
http://business.nikkeibp.co.jp/article/tech/20061023/112177/

YouTubeの本来の目的は「自分を放送しちゃおう!」。
しかし、日本では「みんなのHDDレコーダー」と化した。
という主張。

アメリカのテレビ局などは次々と提携。
アメリカのテレビ局や映画制作者たちが、自分たちのコンテンツも
この流れにのせればリターンが得られると思ったのに対し、
日本の著作権利保持者がYouTubeを見たときには「俺たちが制作した
コンテンツを勝手にアップロードして皆で見ているだけじゃないか」
と考えた。

冒頭で紹介したYouTubeの創業者2名の笑顔の映像を見たときに、もし彼ら
が日本人であれば翌週の週刊誌などで「YouTube創業者、学生時代の悪評?」
といった記事が出るんじゃないかと思いました。
これはいかにもありそう!
この記述がツボにはまったので記事にしてみたのでした。

今日から番号ポータビリティが開始。私は当面変えないですが。

- ITmedia +D モバイル:本日より番号ポータビリティ開始──
  携帯3社の代表、量販店で火花散らす
  http://plusd.itmedia.co.jp/mobile/articles/0610/24/news032.html
- きょうから番号ポータビリティ 準備万端、いざ決戦 - CNET Japan
  http://japan.cnet.com/news/com/story/0,2000056021,20285107,00.htm
- ソフトバンクの「予想外割」、通話料0円の新料金プラン発表
  http://k-tai.impress.co.jp/cda/article/news_toppage/31616.html
- MobileDataBank - SoftBank Wiki Community - MobileDataBank -
  SoftBank(Vodafone) Wiki Community
  http://mobiledatabank.jp/

タダコピ[2006-04-02-2]がニュースになっていました。

asahi.com:「タダコピ」大学で人気 用紙の裏、広告で無料-社会
http://www.asahi.com/national/update/1023/TKY200610230233.html
首都圏の大学で、無料で利用できるコピー機「タダコピ」が人気を
集めている。仕掛けたのは、学生のベンチャー企業。コピー用紙の
裏面に企業広告を載せることで、コピー代をタダにした。4月、
慶応大に置いたところ好評で、今では設置大学は九つになった。
他の大学からも設置を求める声が上がっている。

ref. [を] 広告入りの紙で無料コピーを実現するタダコピ[2006-04-02-2]

勉強になります。

[を] Data::Dumper で eval するメモ[2006-10-24-2]
Cache::FileでStoreblaを使いたいのだが、できそうもないので
(何か良い方法があったら教えて下さい)、

に対して、

404 Blog Not Found:perl - Cache::File と Storable
http://blog.livedoor.jp/dankogai/archives/50668036.html
出来ます、というよりCacheははじめからStorableをサポートしてます。

とのこと。ありがとうございます。

thaw, freeze ってこういう用途に使うものなのですね。
調べが足りなく反省。しかし、教えていただいてツイてる!

以下、「学んだら作る」サンプルプログラム:
#!/usr/bin/perl
use strict;
use warnings;
use Cache::File;

my $cache = Cache::File->new(cache_root => "/var/tmp/cache",
                             default_expires => '1 hour');

my $foo = $cache->thaw("test");
if ($foo) {
    print "out : ";
} else {
    print "in : ";
    $foo = [ 0, [1,2,3], "hello", {one => 1, two => 2} ];
    $cache->freeze("test", $foo);
}
#$cache->clear();

print $foo->[0], " ";
print join(",", @{$foo->[1]}), " ";
print $foo->[2], " ";
print join(",", map {"$_:$foo->[3]{$_}"} keys %{$foo->[3]}), "\n";
以下、実行結果。一回目の実行でキャッシュに入れて、それ以降の実行で
は取り出します。
% perl test.pl
in : 0 1,2,3 hello one:1,two:2
% perl test.pl
out : 0 1,2,3 hello one:1,two:2
% perl test.pl
out : 0 1,2,3 hello one:1,two:2
この記事に言及しているこのブログ内の記事

週末からちょっとだけ風邪気味です。
少しだけノドが痛い程度で、たいしたことはないのですが、
予定していた「火曜プール」は念のためお休みしました。
ここのところ雨も降り続いて、ひんやりした毎日ですが、
みなさんも健康には気をつけて下さいね。
この記事に言及しているこのブログ内の記事

たつをの ChangeLog
Powered by chalow