ChaichanPapa-World !

燈明日記(2007/04

◆ インデックス

◆ 2007年4月

■ 2007-04-30 今一番、お気に入りの曲

Mr.Children-irodori

■ 2007-04-30 Perlでのハッシュのハッシュ

今回は予想通り『ハッシュのハッシュ』です。

ハッシュのハッシュを作成
%a = ('A' => { 'AA'=>'aa', 'AB'=>'ab', 'AC'=>'ac' },
      'B' => { 'AA'=>'ba', 'AB'=>'bb', 'AC'=>'bc' },
      'C' => { 'AA'=>'ca', 'AB'=>'cb', 'AC'=>'cc' });
ハッシュのハッシュを取り出す
foreach $i (sort keys %a) {
    foreach $j (sort keys %{$a{$i}}) {
        print '$a{' . $i . '}{' . $j . '}=' . $a{$i}{$j} . '      ';
    }
    print "\n";
}
サンプルソース
foreach $i (sort keys %a) {
    foreach $j (sort keys %{$a{$i}}) {
        print '${$a{' . $i . '}}{' . $j . '}=' . ${$a{$i}}{$j} . '   ';
    }
    print "\n";
    foreach $j (sort keys %{$a{$i}}) {
        print '$a{' . $i . '}->{' . $j . '}=' . $a{$i}->{$j} . '    ';
    }
    print "\n";
    foreach $j (sort keys %{$a{$i}}) {
        print '$a{' . $i . '}{' . $j . '}=' . $a{$i}{$j} . '      ';
    }
    print "\n\n";
}
処理結果
${$a{A}}{AA}=aa   ${$a{A}}{AB}=ab   ${$a{A}}{AC}=ac
$a{A}->{AA}=aa    $a{A}->{AB}=ab    $a{A}->{AC}=ac
$a{A}{AA}=aa      $a{A}{AB}=ab      $a{A}{AC}=ac

${$a{B}}{AA}=ba   ${$a{B}}{AB}=bb   ${$a{B}}{AC}=bc
$a{B}->{AA}=ba    $a{B}->{AB}=bb    $a{B}->{AC}=bc
$a{B}{AA}=ba      $a{B}{AB}=bb      $a{B}{AC}=bc

${$a{C}}{AA}=ca   ${$a{C}}{AB}=cb   ${$a{C}}{AC}=cc
$a{C}->{AA}=ca    $a{C}->{AB}=cb    $a{C}->{AC}=cc
$a{C}{AA}=ca      $a{C}{AB}=cb      $a{C}{AC}=cc

■ 2007-04-29 Perlでの配列のハッシュ

前回 『ハッシュの配列』をご紹介いたしましたが、今回は逆の『配列のハッシュ』です。

配列のハッシュを作成
%a = ('AA' => [ qw(aa ab ac) ],
      'BB' => [ qw(ba bb bc) ],
      'CC' => [ qw(ca cb cc) ]);
配列のハッシュを取り出す
foreach $i (sort keys %a) {
    for ($j = 0; $j <= $#{$a{$i}}; $j++) {
        print '$a{' . $i . '}[' . $j . ']=' . $a{$i}[$j] . '   ';
    }
    print "\n";
}
サンプルソース
#!/usr/bin/perl -w
use strict;

# 宣言
my (%a, $i, $j);

# 配列のハッシュ
%a = ('AA' => [ qw(aa ab ac) ],
      'BB' => [ qw(ba bb bc) ],
      'CC' => [ qw(ca cb cc) ]);

# ハッシュの配列を取り出す
foreach $i (sort keys %a) {
    for ($j = 0; $j <= $#{$a{$i}}; $j++) {
        print '${$a{' . $i . '}}[' . $j . ']=' . ${$a{$i}}[$j] . '   ';
    }
    print "\n";
    for ($j = 0; $j <= $#{$a{$i}}; $j++) {
        print '$a{' . $i . '}->[' . $j . ']=' . $a{$i}->[$j] . '    ';
    }
    print "\n";
    for ($j = 0; $j <= $#{$a{$i}}; $j++) {
        print '$a{' . $i . '}[' . $j . ']=' . $a{$i}[$j] . '      ';
    }
    print "\n\n";
}
処理結果
${$a{AA}}[0]=aa   ${$a{AA}}[1]=ab   ${$a{AA}}[2]=ac
$a{AA}->[0]=aa    $a{AA}->[1]=ab    $a{AA}->[2]=ac
$a{AA}[0]=aa      $a{AA}[1]=ab      $a{AA}[2]=ac

${$a{BB}}[0]=ba   ${$a{BB}}[1]=bb   ${$a{BB}}[2]=bc
$a{BB}->[0]=ba    $a{BB}->[1]=bb    $a{BB}->[2]=bc
$a{BB}[0]=ba      $a{BB}[1]=bb      $a{BB}[2]=bc

${$a{CC}}[0]=ca   ${$a{CC}}[1]=cb   ${$a{CC}}[2]=cc
$a{CC}->[0]=ca    $a{CC}->[1]=cb    $a{CC}->[2]=cc
$a{CC}[0]=ca      $a{CC}[1]=cb      $a{CC}[2]=cc

■ 2007-04-28 Perlでのハッシュの配列

EXCELのような列名(見出し項目)があって、行がレコードになるようなデータは、ハッシュの配列

で表現します。配列数がレコード数になり、ハッシュが見出し項目に対応します。

ハッシュの配列を作成
@a = ( { 'AA'=>'aa', 'AB'=>'ab', 'AC'=>'ac' },
       { 'AA'=>'ba', 'AB'=>'bb', 'AC'=>'bc' },
       { 'AA'=>'ca', 'AB'=>'cb', 'AC'=>'cc' });
ハッシュの配列を取り出す
for $i (0 .. $#a) {
    for $j (sort keys %{$a[$i]}) {
        print '$a[' . $i . ']{' . $j . '}=' . $a[$i]{$j} . '   ';
    }
    print "\n";
}
サンプルソース
#!/usr/bin/perl -w
use strict;

# 宣言
my (@a, $i, $j);

# ハッシュの配列
@a = ( { 'AA'=>'aa', 'AB'=>'ab', 'AC'=>'ac' },
       { 'AA'=>'ba', 'AB'=>'bb', 'AC'=>'bc' },
       { 'AA'=>'ca', 'AB'=>'cb', 'AC'=>'cc' });

# ハッシュの配列を取り出す
for $i (0 .. $#a) {
    for $j (sort keys %{$a[$i]}) {
        print '$a[' . $i . ']{' . $j . '}=' . $a[$i]{$j} . '   ';
    }
    print "\n";
}
処理結果
$a[0]{AA}=aa   $a[0]{AB}=ab   $a[0]{AC}=ac
$a[1]{AA}=ba   $a[1]{AB}=bb   $a[1]{AC}=bc
$a[2]{AA}=ca   $a[2]{AB}=cb   $a[2]{AC}=cc

■ 2007-04-27 Perlでの配列の配列

Perlでの多次元配列は、無名配列のリファレンスを使用して表現します。

配列の配列を作成
@a = ( [ qw(00 01 02) ],
       [ qw(10 11 12) ],
       [ qw(20 21 22) ]);
配列の配列を取り出す
for $i (0 .. $#a) {
    for $j (0 .. $#{$a[$i]}) {
        print '$a[' . $i . '][' . $j . ']=' . $a[$i][$j] . '   ';
    }
    print "\n";
}
サンプルソース
#!/usr/bin/perl -w
use strict;

# 宣言
my (@a, $i, $j);

# 配列の配列
@a = ( [ qw(00 01 02) ],
       [ qw(10 11 12) ],
       [ qw(20 21 22) ]);

# 配列の配列を取り出す
for $i (0 .. $#a) {
    for $j (0 .. $#{$a[$i]}) {
        print '$a[' . $i . '][' . $j . ']=' . $a[$i][$j] . '   ';
    }
    print "\n";
}
処理結果
$a[0][0]=00   $a[0][1]=01   $a[0][2]=02
$a[1][0]=10   $a[1][1]=11   $a[1][2]=12
$a[2][0]=20   $a[2][1]=21   $a[2][2]=22

■ 2007-04-26 リファレンスとデリファレンス

リファレンスとは、変数が格納されているエリアの参照値(アドレス値)です。

C言語でいう、ポインターとほぼ同じ概念です。

変数のリファレンスを求めるには、変数の前に『\』を付けます。

逆にリファレンスが指すエリアに格納されている値を取得することをデリファレンスといいます。

リファレンスからデリファレンスを求めるのは、変数のタイプ応じて、前に『$,@,%』のいずれかを付けます。

スカラー変数のリファレンスとデリファレンス
$word = "A";
print $word, "\n";

#$wordのリファレンスをもとめる
$ref_scalar = \$word;

#$ref_scalarのデリファレンスをもとめる
print $$ref_scalar, "\n";
配列変数のリファレンスとデリファレンス
@word = ("X", "Y", "Z");
print @word, "\n";

# @wordのリファレンスをもとめる
$ref_array = \@word;

# $ref_scalarのデリファレンスをもとめる
print @$ref_array, "\n";

# デリファレンスにて、スカラーである配列変数の要素の値をもとめるには、やはり『$』を付けます。
print $$ref_array[0], "\n";
print $$ref_array[1], "\n";
print $$ref_array[2], "\n";

# また、矢印演算子を使っても要素の値をもとめることが出来ます。こちらもデリファレンスといいます。
print $ref_array->[0], "\n";
print $ref_array->[1], "\n";
print $ref_array->[2], "\n";
ハッシュ変数のリファレンスとデリファレンス
%word = ("aaa", "X", "bbb", "Y", "ccc", "Z");
print %word, "\n";

# %wordのリファレンスをもとめる
$ref_hash = \%word;

# $ref_scalarのデリファレンスをもとめる
print %$ref_hash, "\n";

# デリファレンスにて、スカラーであるハッシュ変数の要素の値をもとめるには、やはり『$』を付けます。
print $$ref_hash{"aaa"}, "\n";
print $$ref_hash{"bbb"}, "\n";
print $$ref_hash{"ccc"}, "\n";

# また、矢印演算子を使っても要素の値をもとめることが出来ます。こちらもデリファレンスといいます。
print $ref_hash->{"aaa"}, "\n";
print $ref_hash->{"bbb"}, "\n";
print $ref_hash->{"ccc"}, "\n";

■ 2007-04-25 スカラー変数、配列変数、ハッシュ変数

スカラー変数

数値、文字列値、リファレンス値を一つだけ代入され、$から始まる変数のこと。

$scalar1 = 1;          # 数値代入
$scalar2 = "ABC";      # 文字列代入
$scalar3 = \"ABC";     # 文字列のリファレンス

print "$$scalar3 \n";  #スカラー値のデリファレンスは、変数の頭にさらに『$』を付けます。

ちなみに、リファレンスとは、変数のアドレスの参照値のことで、

デリファレンスとは、参照値の指すエリアから内容の値をもとめることです。

配列変数

数値、文字列値、リファレンス値が複数代入され、@から始まる変数のこと。

@array1 = (1,2,3);    # 数値代入
@array2 = ("ABC","DEF","GHI");  # 文字列代入
@array3 = (["ABC"],["DEF"],["GHI"]);  # 文字列のリファレンス

$scalar = $array1[0];    # 1が格納される
$scalar = $array2[1];    # "DEF"が格納される
$scalar = $array3[2][0]; # "GHI"が格納される ちなみに $array3[2]->[0]でも同じ

print "$scalar \n";
ハッシュ変数

キー値と数値、または、文字列値、または、リファレンス値が一対で複数代入され、%から始まる変数のこと。

%hash1 = ("ichi",1,"ni",2,"san",3);     # 数値代入
%hash2 = ("abc","ABC","def","DEF","ghi","GHI");    # 文字列代入
%hash3 = ("abc",["ABC"],"def",["DEF"],"ghi",["GHI"]);   # 文字列のリファレンス

$scalar = $hash1{"ichi"};     # 1が格納される
$scalar = $hash2{"def"};      # "DEF"が格納される
$scalar = $hash3{"ghi"}[0];   # "GHI"が格納される ちなみに $hash3{"ghi"}->[0]でも同じ

print "$scalar  \n";

■ 2007-04-24 Perlでの基本の基本の用語集

■ 2007-04-23 Perlでのfor文とforeach文は別物か?

for文とforeach文は、実は、同じ物なのです。

まずは、基本から…

for文の基本
for ($i = 1; $i < 10; $i++) {
 処理
}
foreach文の基本

foreach $scalar (@array) {
 処理
}

しかし、以下のように、for文とforeach文は可換なのです。

foreach ($i = 1; $i < 10; $i++) {
 処理
}
for $scalar (@array) {
 処理
}

初心者はこういうところで挫折するんだよな…(かつての自分)。

■ 2007-04-22 はてなカウントを実装(『scr','ipt』とは?)

今日は、はてなカウンタを私の主要ページに設定いたしました。

で、カウンタ設定のタグで、一つ気になったことがありました。

script要素のsrc属性で外部ソースを呼び込んでいるのですが、

その外部ソースの中でdocument.writeから、またscript要素のsrc属性で外部ソースを読み込んでいるのです。

以下の感じです。

カウントしたいページに貼るタグの一部抜粋

<script type="text/javascript" src="http://counter.hatena.ne.jp/js/counter.js">

counter.jsの中身の一部抜粋

document.write('<scr','ipt type="text/javascript" src="http://counter.hatena.ne.jp/',hatena_counter_name,'/',hatena_counter_id,'?js=1&mode=',hatena_counter_mode,'&c=',hatena_counter_screen,'&r=',hatena_counter_ref,'"></scr','ipt>');

私がかつてトライした時に、script要素の中からscript要素を呼び出すことは、出来ずにあきらめた経験があります。

しかし、scriptの文字列を『scr','ipt』のように区切ると、呼び出せるのです。驚きです。

理由は、script要素の中からscript要素を呼び出すと、ブラウザがHTML解釈で、document.writeでのscriptの文字列の解釈を勘違いするらしい。なのでJavaScriptで『scr','ipt』のように区切ると回避できる模様。

■ 2007-04-21 言葉の力

とある小誌からの引用です。

「優しい言葉をかける」といっても、単に口先だけの言葉では相手を動かすことはできません。

心から相手を思い、幸せにしてあげたいという気持ちからほとばしり出た言葉であるとき、その言葉が相手の琴線にふれ、その人生を一変させるほどの力をもつのです。

『ほとばしり出た言葉』、ですね……。

■ 2007-04-20Perlで同名の$aaaと@aaaは別物か?

普通の言語(C,Java,VB等)経験者がPerlをやり始めると必ず悩む、同名のスカラー変数と配列変数です。

結論から言うと同名のスカラー変数と配列変数は、全くの別物です。

しかし、インデックス付きスカラー変数$aaa[0]で、配列変数@aaaの要素へアクセスする場合は、別物ではないのです。

では、具体的に説明します。

$aaa = "xxxxx";
@aaa = ("11111", "22222", "33333");

とした時に、$aaaには『xxxxx』、$aaa[0]には『11111』、$aaa[1]には、『22222』が格納されます。

つまり、$aaaと$aaa[0]は全くの別物なのです。

したがって、$aaaと@aaaも全くの別物なのです。

あくまでも、スカラー変数$aaa[0]の値は、配列変数@aaaのゼロ番目の要素の値と同じ物なのです。

ちなみに、スカラー変数とは、頭に$付く変数で、数値や文字列(一文字も)そのものが格納できます。

一方、配列変数は、頭に@が付く変数で、数値や文字列(一文字も)の配列が格納できます。

■ 2007-04-20 Perlで同名の$aaa[0]と@aaa[0]は別物か?

$aaa[0]は、配列変数@aaaのゼロ番目の要素の値と同じ物です。

では、@aaa[0]は、何かというと『($aaa[0])』にイコールで、@aaaのゼロ番目の要素を指定するスライスです。

ということで、$aaa[0]と@aaa[0]は、ほぼ同じ物なのですが、でも別物です。

あくまでも、$aaa[0]はスカラー変数で、@aaa[0]は配列変数なのです。

以下にその同じと違いを示します。

@array = ("11111", "22222", "3333");

#同じケース
$a = @array[1];
$b = $array[1];
print "\$a=$a \$b=$b \n";  # $a=2222 $b=2222 が表示される。

#違うケース
@array[1] = ("aaa", "bbb", "ccc");
print "\@array[1]=@array[1] \n";   
# @array[1]=aaa が表示される。(リストコンテキストでのスライスがミソ)。
# @array[1]は、スライスの($array[1])とイコールで、上記は以下と同じなのです。
($array[1]) =  ("aaa", "bbb", "ccc");
#よって、一番目の"aaa"が格納されます。
#ちなみに、スライスとは、配列の複数(単数含む)の要素にアクセスすること。

$array[1] = ("aaa", "bbb", "ccc");
print "\$array[1]=$array[1] \n";   
# $array[1]=ccc が表示される(スカラーコンテキストでのカンマ演算子がミソ)。
#カンマ演算子は左から右に評価していき、最後に残った"ccc"が格納されます。

■ 2007-04-19 生まれそして生きる意味

また、生きる意味がわからなくなってきました。

赤ちゃんは、掌を握り締めて生まれ、掌を広げて産声を上げるそうです

では、なぜ赤ちゃんは、掌を握り締めて生まれ、掌を広げて産声を上げるのでしょう

赤ちゃんは、この世に生まれてくる時に、

たくさんの夢と希望を、握り締めて生まれてくるんです

そして、生まれた時に、この世界に、みんな解き放ってしまうんだそうです

生まれた喜びと、夢と希望を放してしまった悲しみで、

産声を上げるのだそうです

では、なぜ、人は生きていくのでしょう

それは、生まれた時に手放した夢と希望をもう一度、

手に入れるために、苦しくても、悲しくても、生きていくのだそうです

夢や希望を、手にした時の喜びを、もう一度知るために・・・

辛くても、苦しくても、希望の光だけは、見失わない事と、信じています・・・

http://homepage2.nifty.com/kota0520/qol.htm

そっかー!夢や希望を取り戻すためか!

■ 2007-04-18 VB.NETでのシャドウとオーバーライドの違い

まず、VB.NETは、本格的なオブジェクト指向言語です。

オブジェクト指向言語では、『継承』という機能があります。

たとえば、AクラスとBクラスがあって、何かの事情で合併することになりました。

その場合、新たに合併したCクラスをつくるのでなく、AクラスにBクラスが編入すると考えます。

これをオブジェクト指向的にいうと、AクラスはBクラスを継承したといいます。

しかし、AクラスとBクラスに同じ名前の、たとえばCメソッドがあると継承ができません。

そこで、BクラスのCメソッドを隠すシャドウキーワードをAクラスのCメソッドに与えます。

すると継承ができ、継承後は、隠されたBクラスのCメソッドは、呼び出せなくなります。

つぎに、このAクラスのインスタンスをBクラス型の変数に代入したとします。

すると、今度は逆にAクラスのCメソッドが隠れて、BクラスのCメソッドが呼び出せるようになるのです。

このときも、BクラスのCメソッドでなく、AクラスのCメソッドを呼び出したいときは、BクラスのCメソッドにOverridableキーワードを与え、AクラスのCメソッドにOverridesキーワードを与えます。

すると、Bクラス型の変数に代入してもAクラスのCメソッドを呼び出せるようになるのです。

まとめ、シャドウとオーバーライドの違いは、ある意味、クラスベースのメソッド入れ替えがシャドウで、インスタンスベースのメソッド入れ替えがオーバーライドといえるでしょう。

詳しくは、以下を熟読してください。

■ 2007-04-17 変換キーの使い方

スペースキーの右隣が『変換キー』です。

この変換キーは、日本語入力時にスペースキーと同様な漢字変換をするためのものです。

しかし、この変換キーは、スペースキーにはない便利な機能があります。

それは、すでに入力済の漢字に対して、マウスでリバース(選択)させて、変換キーを押すと再度変換が可能なのです。

つまり、読めない難しい漢字の時に、再変換で読み仮名を知ることができ、結構便利に利用できるのです。

■ 2007-04-17 デフラグが出来ない!

デフラグとは、ディスクの最適化のことです。

WINDOWSで、ディスクに書き込みや削除を繰り返し行うと、ディスク内のファイルの配置が不連続(断片化)になります。

デフラグは、この断片化(フラグメンテーション)したファイルをディスク内の先頭から再配置し最適化します。

方法は、ドライブのプロパティのツールタブの『最適化する』ボタンをクリックします。

しかし、実行が 1% から 2% くらいで、永遠に繰り返し、デフラグが出来ない場合があります。

そのような時は、スクリーンセーバーや常駐プログラムをすべて終了させてからデフラグを実行させます。

たぶん、これで大丈夫です。

■ 2007-04-17 グーグルツールバーのマウスオーバー辞書

グーグルツールバーには、いろいろな機能がありますが、今回はマウスオーバー辞書をご紹介します。

WEBページ内の英単語の上にマウスポインタするだけで和訳してくれます。

つまり、WEBやWEB辞書の検索をしなくていいのです。速いし凄い!

■ 2007-04-16 エラーメッセージも出ずロック状態

アプリケーションからEXCELを制御していると、何かの拍子にEXCELのプロセスが残ることがあります。

その状態で、再度、EXCELにアクセスするとエラーメッセージも出ず、ロック状態になるようです。

特に、WEBのCGIからPerlでアクセスしていると、どうなっているの全くわかりません。

とにかく、タスクマネージャでEXCELのプロセスが残っているか見るクセを付けるのが幸せですね。

もちろん、見るだけでなく、EXCELプロセスを強制終了させねばなりませんが…。

■ 2007-04-15 ちゃいちゃんと文房具

ちゃいちゃんグッズ(遺品)は、文房具・本・CD・縫い包み・おもちゃ・学校での作品等…、実に沢山あります。

特に文房具(ペン、消しゴム、定規、コンパス、ナイフ…)の量が凄い、丸7年経ってもまだ使っています。

弟の次男(高2)、三男(中1)は、ちゃいちゃんの文房具を使っていて、たぶん、自分では買っていないと思います。

私もお母さんも、ちゃいちゃんの文房具を使っています。

なんで、こんなに沢山文房具を揃えたんだろうか…。

あと、8ビットノートパソコンやテプラ、そろばんなどもあります。

そういえば、まだインターネットが流行る前にちゃいちゃんは、8ビットノートパソコンでパソコン通信をしていました。

モデムのスピードが確か1200ボーだったかな。そして、5年生の時に、インターネットをやりたいということで、2人でお母さんを説得して、

プロバイダと契約して、インターネットを始めました。1998年のことです。

とにかく、普通の子でないことは、確かですね。

学校での作品の数々も、才能があり、素晴らしいものばかりです。

ちゃいちゃんは居ないけど、残った文房具は、本当に役に立っています。

お母さんは、ちゃいちゃんのそろばんで家計簿を付け始めました。

なにか、無いときに、ちゃいちゃんが持っているよって、探すとだいたいあるんですね、これが。

ちゃいちゃん、あんたは、本当に凄い子だったんですね。

ちゃいちゃん、今、どこにいますか?

すみません、子供自慢を羅列してしまいました……。

■ 2007-04-13 PerlでEXCELブックのダウンロードとアップロード

WINDOWS-XP上のPerlで、EXCELブックのダウンロードとアップロードのCGIを組んでいます。

はまった3点をメモしときます。

  1. CGIからの権限だとEXCELに『アクセス拒否』される。(EXCEL.EXEにeveryoneを追加で解決)
  2. EXCELブックダウンロードの時、コンテントタイプとデータの間に改行が一つ多く入ると、EXCELブックのデータがむちゃくちゃになる。
  3. EXCELアップロードの時、フォームタグの右側の『>』を忘れると、想定外のCGIが起動される。

■ 2007-04-12 Perlって面白い

分かってくるとPerlって面白い。

■ 2007-04-11 無題

WEB相談室にスパムな書き込みが続いている。

生き残るBBSとは、スパムとの格闘で勝ち残ることである。 By ちゃいちゃんパパ

VBよ、さようなら…、Perlよ、こんにちは、あなたはマジッシャン。

Perlをやりだしてから、ソースが暗号のようだ。後で見ても、たぶん、自分を含めて誰もわからないな。

Perlで、誰が見ても分かり易いソースを書こう!

と、心に誓う、今日この頃でした。 By ちゃいちゃんパパ

■ 2007-04-09 お便り

ちゃいちゃんの命日(4/6)にもらったお友達からのお便りを読ませていただきました。

そして、ちゃいちゃんは本当に天使だったんだって……思えてきました。

あれからずーっと、お友達一人一人の中にいつも存在しているんだなって。

お友達が落ち込んでいる時は、一緒になって悩み励まし。

お友達が嬉しい時は、満面の笑みで一緒に喜ぶ。

そんなちゃいちゃんだから、まる7年経ってもみんなから愛されているんだなって。

パパもちゃいちゃんに負けないように、人から愛されるように頑張るね!応援してね!

なんたって、ちゃいちゃんのパパってことは、天使の父親なんだよなこれが……。

■ 2007-04-09 中島美嘉三連発

■ 2007-04-08 降誕会

今日は、4月8日、花祭り(降誕会)。

お釈迦さまが、お生まれになった日とされています。

生まれてすぐ、四方に向かって七歩ずつ歩かれ、右手を天に指し、左手を地に指し『天上天下唯我独尊』と宣言されました。

ちなみに、『天下』は『てんか』でなく『てんげ』と発音します。

なぜ、生まれてすぐ、このような事が出来たのか?

それは、以下を参照してください。

私も、某教会で侍者のお役をさせて頂きました。

また、新しい教会長さん(4月就任)と初めてお会い致しました。

なかなか、まじめそうな方で、これからが楽しみです。

■ 2007-04-08 3月分を更新

以下のページへ3月分のネタを追加しました。

■ 2007-04-07 ちゃいちゃんデー

昨日は、4月6日のちゃいちゃんの月命日で、丸7年が経ちました。

お友達やお母さん方が沢山来ていただいて、大変嬉しかったです。

あいかわらず、この日だけは、ご宝前(仏壇)が可愛いお花で埋め尽くされます。

ちゃいちゃんのお友達は、今年、皆20才です。

みなさん、綺麗なお嬢さんに成長しているのですが、毎年一度、お会いしているせいか、違和感無く、お話しをすることが出来ました。

毎年毎年、必ず、来てくれるお友達や、お花を贈ってくれる人達……。

本当に、ありがとうございます。これからも、よろしくお願い致します。

あの江原さんが居れば、となりにちゃいちゃんが来ているよ…って言うかも知れませんね。

■ 2007-04-04 風邪でダウン

先週の木曜日ぐらいから、風邪でダウンしてしまいました。

熱は下がったのですが、まだ、頻脈が続いていて検査中です。

皆様も、まだまだ寒い日がありますので、風邪には十分気をつけてください!