ChaichanPapa-World !

燈明日記(2009/01

◆ インデックス

◆ 2009年1月

2009-01-31 ブログ更新皆勤賞!!

いやー、今日のこの更新で、1月は毎日更新しました! 皆勤賞です! やったー!

毎日更新って、結構大変なことです。自分を誉めてあげたい。

12月と11月は各々1日だけ更新しない日がありました。


ということは、3ヶ月間ほぼ毎日更新し続けたのです。

自分でも驚いているのですが、ネタは無尽蔵ですね。


しかし、正月休みの前に、実はネタが尽きました。

1月は、どうしようかと思っていたのですが、今は、また20以上の未公開ネタを抱えています。


だた、ブログを読む人にわかるように、ネタを練るのがすごく大変なのです。

毎日、19:00頃会社から家に帰ってきて、11時頃までネタを練っています。


たまに、何の因果でこんなことに時間を割いているのかと、虚しい気持ちになることがあるのですが・・・

ブログ読者の人からメッセージを頂いたり、アクセス数が増えたりすると、なぜかやめられないのです。


ということで、まだまだ、当分更新し続けると思います。

皆さま、益々のご贔屓、よろしくお願いいたします。

2009-01-30 論理和演算子『||』と『or』の違い

||演算子とor演算子は、共に論理和演算子なのですが、演算子の優先順位が違います。

ちなみに、論理和演算子とは、左側を評価して真であれば、右側を評価せずに結果を返します。

以下のように||演算子とor演算子の優先順位の間には『=』や『,』等があるわけです。

  1. ||
  2. = += -= *= などの代入演算子
  3. , =>
  4. or xor

つまり、1ステップ中に||演算子と『=』や『,』等の組み合わせがある場合と、

or演算子と『=』や『,』等の組み合わせがある場合では、振る舞いが異なることになるのです。


たとえば、以下の場合では、『or』はOKなのですが、『||』はNGなのです。

open FH, ">ABC.txt"  or die "open error $!"; # OK
open FH, ">ABC.txt"  || die "open error $!"; # NG

NGケースでは、『,』より『||』の方が優先順位が高いので、先に『">ABC.txt" || die "open error $!"』が評価され、『">ABC.txt"』は真を返し『die 』は評価さず、結局『open FH, ">ABC.txt"』と等価になってしまいます。


で、||演算子の使い道ですが、=演算子と組み合わせて、||演算子をすべて評価しから代入(=演算子)するケースで有用ですね。

$Excel = Win32::OLE->GetActiveObject('Excel.Application')
         || Win32::OLE->new('Excel.Application', 'Quit');

一方、or演算子は、if文の代わりに、サブルーチンが偽を返した時にエラーメッセージを出すケースで有用です。

unlink glob('.\data\*.txt') or die "ファイル削除エラー($!)";

2009-01-30 NEC、2010年3月までに2万人のリストラ!!

いつに、NECキターーーー!!!

NECは、ことし3月期の決算で最終損益が2900億円の赤字に転落する見通しとなったことから、グループ全体で来年3月末までに世界全体で正社員1万人を含む2万人以上を削減することになりました。具体的には、電子部品を製造している子会社で国内の正社員対象に450人の希望退職を募集するほか、海外でも9000人の正社員を削減する方針です。また、半導体子会社で1200人の派遣労働者をことし3月末までに削減することにしています。NECの矢野薫社長は「事業のあらゆる分野で構造改革し、苦境を乗り切ることに全力をあげたい」と述べました。

http://www3.nhk.or.jp/news/t10013886661000.html

やばいやばい・・・(謎)。

2009-01-30 「お経を読む」ということ

最近、ブログ更新に時間を取られて、ご供養(法華経読誦)をサボりにサボっています。

なので、ブログ更新をほどほどにして、ご供養を復活させたいと思うこの頃です。


ご供養とは、具体的には「お経を読む」ということで、これは、どういうことかというと・・・。


まず、仏教とは、ずばり「因縁果報」の教えです。

平たく云うと、以下の2つです。

で、お経には、良いことが沢山書かれています。

読み始めのうちは、チンプンカンプンですが、毎日毎日読誦したり、ネットや本で分からない語句を調べたりして、徐々にお経の内容が理解でき、良いことが沢山書かれていると、わかるようになるのです。


つまり、「お経を読む」ということは、良いことが書かれているお経を読むわけですから、良いことなのです。

すると、良い縁にふれたときに、良い結果が出て、良い報いが来ることになるのです。


だから、「お経を読む」と良い報いが来て、幸せになることができるのです!

2009-01-29 mkdir関数とmkpath関数

通常、フォルダを作成したい場合は、組み込み関数のmkdir関数を使用します。

ただし、mkdir関数は、一つのフォルダしか作成できません。

一つのパスで一つ以上のフォルダを作成する時は、mkdir関数でなく、標準モジュール(File::Path)のmkpath関数を使用します。

use strict;
use warnings;
use File::Path;

# 作成するフォルダが1つだけなら、組み込み関数 mkdirで!
if (mkdir('wkdir1')) {
    print "成功しました。\n";
}
else {
    print "失敗しました。($!)\n";
}

# 作成するフォルダが1つ以上(同一パス上)なら標準モジュール mkpath で!
if (mkpath('.\wkdir2\wkdir3')) {
    print "成功しました。\n";
}
else {
    print "失敗しました。($!)\n";
}

2009-01-29 リストラと直江兼続

このところ何週間もずーっと、リストラのニュースがない日はないですね。

なぜか、テレビのニュースだとやらないのですが、NECもNECエレクトロニクスとNECトーキンでリストラがありました。

もちろん、ソニー、東芝、日立、パナソニック等も同様かそれ以上ですね。


話は変わってNHKの大河ドラマ『天地人』は、凄くいいですね。

主人公の直江兼続の子役の里帰りシーンの母と子の名演技、そしてそれを迎えに行った上杉景勝・・・(感動の涙)。


で、前フリはこのぐらいにして、上杉家は関が原の合戦で、兼続と親しかった石田三成について負け、120万石から30万石に減らされてしまいます。

しかし、兼続が総監督になって、約6000人の家臣をリストラすることなく、上杉家を立て直したのです。


一方現代では、過去10年ぐらいから、「お客様第一」主義とか、「株主第一」主義とかいいますが、私は「社員第一」ではないかと思うのです。


兼続のように、どんなに苦しくとも「家臣(社員)第一」を貫いて、苦しいときを家臣(社員)と共に乗り越えていく・・・。

これこそ、真の企業ではないでしょうか!

企業は、金儲けでなく、人格完成の場であって欲しい!


すいません、テーマが大きすぎて消化できていませんでしたね・・・。

2009-01-28 ワイルドカードでのファイル削除

Perlでファイル削除する時は、C言語と同様にunlink関数を使います。

C言語では、unlink関数の引数に削除するファイル名を一つ渡します。

Perlでは、上記はもちろんですが、ファイル名のリストも渡すことが出来、つまり複数のファイルを削除することが出来るのです。


で、ここからが本題です。

フォルダ内のファイルをワイルドカードを使って削除したい場合が、結構普通にありますね。

その場合は、unlink関数にglob関数を組み合わせます。

以下は、dataフォルダ内の拡張子が『txt』のファイルをすべて削除します。

use strict;
use warnings;
    unlink glob('.\data\*.txt') or die "ファイル削除エラー($!)";

つまり、glob関数は、フォルダ内のワイルドカードにマッチしたファイル名をすべてリスト返しし、unlink関数は、そのリスト内のファイルをすべて削除します。

2009-01-27 月の末日に気をつけろ!

たとえば、データ中に日付けデータがあって、それをDBへインポートするとします。

通常、日付けデータの正当性は、DB側でもチェックしますので、エラーの場合はインポートがアベンド(abnormal end)します。


で、データを目視チェックするわけですが、データ中に4/31や11/31が紛れ込んでいるケースが多々あるのです。

しかし、目視チェックしている本人が、4月末日は30だったかな・・・31だったかなレベルだとザルチェックになるわけです。


ここで、末日を整理しときます。

覚えにくいですね。

奇数月が31で偶数月が30日などの規則が全然ないですね。


実は、何世紀も昔は、奇数月が31、偶数月が30日で、奇数と偶数が交互する規則性があったのです。

また、その昔、ローマ皇帝が月に自分の名前をつける慣わしがありました。


で、アウグストゥスという皇帝が、8月を自分の名に変更するときに、30日だと1日少ないから嫌だと、8月の日数を増やしてしまったのです(何と云うワガママ)。


なので、末日31は、本当は奇数月なのに、8月からは偶数月になってしまったのです。

皇帝アウグストゥスのワガママで、後のプログラマが苦労する羽目になったわけです。

2009-01-26 寒修行

えーと、寒修行といいまして、今晩は某教会で以下の5品を読誦してきました。

寒修行後、食事をして、今ちょっと前に帰ってきました。

もう時間が時間なので、とりあえず、今日は昨年と一昨年の寒修行の日記です。

2009-01-25 Googleマップは凄い!

今更ながらなのかもしれませんが、Googleマップは凄いですね。

なにが凄いって、地図の上に道順をなぞって線が引かれるのです。


具体的には『A地点』と『B地点』の住所を入力し、『車で行く』を選択すると、地図上のAB間の道順の上に線が引かれるのです。

地図のスケールを変えても、それに合わせて線が引き直されるのです。


これ、WEBプログラム的には、想像がつかないくらいに凄いです。

なんたって、画像データ(地図)の上を的確に道順に線を引くのですから・・・。


その時のページのソースを見るとウンザリするほど難解です。

たぶん、Ajaxなんだろうけど、とにかく、凄い技術です。


ということで、最近気が付いたのでネタにしました。

2009-01-25 マッチ演算子(m//)のx修飾子について(IPアドレス正規表現)

IPアドレスの正規表現を探していて、マッチ演算子(m{})のx修飾子のことを知りました。

マッチ演算子のx修飾子とは、パターンの中の空白文字やコメントを無視することができます。

ちなみに、空白文字とは、半角スペース、タブ、改行文字の総称です。

use strict;
use warnings;

my $IPAddress = "172.11.11.255";
if ($IPAddress =~ m{
                   ^ ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) # コメント1
                  \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) # コメント2
                  \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) # コメント3
                  \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) # コメント4
                   $
                }x) {
    print "IPアドレスです!\n";
}
else {
    print "IPアドレスでないです!\n";
}

上記は、パターンの中に半角スペース、改行文字とコメントが含まれていますが、それらはx修飾子を使用することでパターンの要素としては無視されます。


ちなみに、上記の正規表現は、IPアドレス正規表現です。

x修飾子を使わないで記述すると以下の感じです。

use strict;
use warnings;

my $IPAddress = "172.11.11.255";
if ($IPAddress =~ /^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.(\d|[01]?\d\d|2[0-4]\d|25[0-5])$/) {
    print "IPアドレスです!\n";
}
else {
    print "IPアドレスでないです!\n";
}

尚、本コンテンツは、以下のページを大変参考にさせて頂きました。

2009-01-24 Perlでのデバックプリント

Perlでは、VBのようなDebug.Printがありません。

ですので、以下のようにすると、デバックが完了した後に一箇所コメントアウトするだけで、print文を無効にすることができます。

use strict;
use warnings;
sub debug_print {
    print @_; # この行をコメントアウトするとデバックプリントしない
}

debug_print "AAA", "BBB", "CCC", "\n";
print "xxx", "yyy", "zzz", "\n";
debug_print "111", "222", "333", "\n";

留意点として、debug_printサブルーチンはロジックの最初の方に記述します。

そうしないと、print文と同じような括弧なしでの引数を書くことができません。


ちなみに、もちろん括弧付きで以下のようにコールすることもできます。

debug_print("111", "222", "333", "\n");
&debug_print("111", "222", "333", "\n");

尚、上記はほぼ同じなのですが、&付きでコールするとプロトタイプがある場合、それが無視されます。

2009-01-24 戒名当番と云う修行

今日は、戒名当番と云うお役をさせて頂きました。

戒名当番とは、私が入会している某教団の某教会での修行の一つです。


修行内容を簡単に云ってしまうと、戒名を筆で習字するわけです。

修行が進んだお婆さんの場合には、本当の戒名をつけることもあります。

私のレベルでは、まだまだ、すでにある戒名を筆で習字するわけです。


戒名は、ご存知の通り、亡くなった人につける名前です。

ですので、普通の習字より集中して練習します。


上手く書こうとするとなぜか上手く書けず、無心で1文字1文字に魂を入れる気で書くと、力強い字が書ける感じです。


最後に私が字について思う格言です。

頭が良い人で、字の下手な人はいますが、字が上手くて、頭の悪い人はいない!

です。


なんか、当たっていると思いませんか?


ちなみに、私は、字の下手さでは、誰にも負けません。

しかし、次男の字を見た時に、はじめて敗北を感じました・・・遺伝や・・・。

2009-01-23 少食知足(食を少なくして足ることを知る)のすすめ

少欲知足でなく、今回は、「少食知足」です。


最近、体重が66〜7キロとちょっと太って来ました。まぁ、私の場合62〜3がベストです。

年をとったせいか、なんでも美味しく感じられ、少し食べ過ぎの感があります。


ですので、ちょっとダイエットを始めました。

ご飯は少なめで、腹七分目を心がけています。


これ、結構な食欲の我慢です。

また、コーヒー断ちもしまして、これも結構な我慢なのです。


そう、我慢が大事なのです。

すべて我慢しろとは、言いませんが、食事ぐらいは少し我慢が必要だと思うのです。


世界には、飢えで苦しんでいる人が沢山います。

そういう人を思うと心苦しいわけです。


せめて、腹七分目の引き算で、三分目が行き渡ってくれたらいいなぁと思うわけです。

また、体の方は三分目分が少なくなるわけで、一石二鳥なのです。


ということで、食を少なくして足ることを知るの「少食知足」でした。


ちなみに、日本の食糧は、世界的には以下の引用のようになっているとのことです。

世界では、

約1000万トンの食糧援助が

途上国に行っているのですが、

日本では、食べ残しが1000万トン、

廃棄物が1000万トン。

合わせて2000万トンということ

で、食糧援助の倍以上のものが無駄になっている

http://octo20con2.gro.cc/hunger.memo.fact.prpbably.html

大変な無駄をしていますね・・・日本人は・・・。

このつけは、必ずまわってきます。

なぜって、それは、良いことをすれば良い報いが、悪いことをすれば悪い報いが・・・これ真理(因果の法則)です。


そう言えば、社員食堂で毎日1000人近くの人が昼食をとりますが、それだけでも物凄い食量です。

そう思うと、本当に日本人って恵まれているって思うのです。

だからこそ、少食知足のすすめなのです。

2009-01-23 スリープの秒指定について

どんな言語でも、大体、スリープ機能が用意されています。しかし、JavaScriptにはないけど・・・。

このスリープ機能(Sleep関数)の引数へセットする秒指定の単位が言語によって微妙に異なります。

ですので、ちょっと整理してみました。

VB系はミリ秒単位で、Unix系は秒単位ですね。

特にVB系をやってからPerlをやると、sleepがいくらたっても起きて来てくれないのです(単なる単位間違い)。

2009-01-22 オバマ大統領とトヨタ新社長

オバマ大統領が47歳で、確かトヨタ新社長が52歳・・・、私より年下や・・・。

自分の時代は、本当に過ぎ去ってしまったみたいです。


就任式でオバマ大統領が手を振った時に手相が見えましたね。

  1. 感情線が人指し指と中指の付け根に流れ込んでいました。
  2. また、運命線がくっきりと出ていました。

鑑定的には、1からすごく人に尽くすタイプで、2から責任感があり、努力を惜しまず、実力もある強運相です。


オバマ大統領就任式後に株価やドルが下がりました。

普通は、上がるところなのに、これは、大衆層の代表が大統領になったことにより、富裕層が危機感を持ったのかもしれません。


とにかく、オバマ大統領もトヨタ新社長も大衆にやさしい社会(国や会社)を作って欲しいものです。

2009-01-22 Perlでの文字列中のエスケープについていろいろ

Perlでの文字列は、大きく分けて2通りがあります。

それは、ダブルクォートで囲む文字列とシングルクォートで囲む文字列です。

クォート風演算子(qq//やq//)やヒアドキュメントも同様にこの2通りがあります。


ダブルクォート系文字列は、文字列中の変数が展開されます。

シングルクォート系文字列は、文字列中の変数が展開されません。


ダブルクォート系文字列は、エスケープシーケンス(\nや\tや\x1bなど)を記述することが出来ます。

シングルクォート系文字列は、エスケープシーケンスを記述すると単なる文字列になります。


ダブルクォート系文字列は、エスケープシーケンスをエスケープする時は、『\』をその前に記述します。

シングルクォート系文字列は、『'』や文字列の最後に『\』がある時は、それをエスケープする『\』をその前に記述します。

use strict;
use warnings;

my $data = "hirohito";

print "ABC $data DEF \\n \n", "\n";
print 'GHI $data JKL \\n \n', "\n";

print qq/ABC $data DEF \\n \n/, "\n";
print q/GHI $data JKL \\n \n/, "\n";

print <<"EOF";
ABC $data DEF \\n \n
EOF

print <<'EOF';
GHI $data JKL \\n \n
EOF

print 'AAA\'BBB\\', "\n";

特にシングルクォート文字列でのエスケープは、文字列中の『'』や文字列最後の『\』のみで、これ以外はないはず・・・。

2009-01-21 宝くじ(年末ジャンボ)が当たった!

しかし、3300円だけです。


当たったクジは、去年忘年会の時、立川駅前の宝くじ売り場が閉まってから買ったバラ10枚の内に一枚です。

忘年会は19:30で、売り場が閉まるのは19:00でした。

立川に着いたのは19:00ちょっと前で、宝くじ売り場に着いた時は、まさに今、閉じまりしていた時だったのです。

つまり、その日の最後のお客になれたのです。

そのとき、『これはもらった』という天の啓示があったのです。


しかし、3300円だけでした。私の啓示はこの程度です(悲しい)。

ちなみに、今回は、6等(3000円)と7等(300円)がかぶるので3300円です。


なぜ、連番10枚でなくバラ10枚にしたかというと・・・。

連番10枚は、必ず300円の当たりクジがあるわけです。しかし、300円当たっても全然嬉しくありません。

バラ10枚は、300円分も、一億円当たる可能性へ含まれるような気がするのです。

なので、断然バラ10枚なのです。

2009-01-21 『else if』綴りの微妙な違い

COBOL世代のプログラマは除いて、普通プログラマは、複数の言語を操りますね。

で、if文の『else if』系は、複数の言語で微妙に異なります。

これ、いろいろな言語で交互にコーディングする時に、必ずコイツで躓きます。

ですので、ちょっと整理しときます。

PHPなどは『elseif』の他に『else if』もOKのようです(なんでPerlに合わせない)。

2009-01-20 インフルエンザ対策

インフルエンザが流行し始めましたね。

とある病院では院長まで感染し、患者さんが何人か亡くなったそうですね。お気の毒です。


自分は免疫力が高いので大丈夫だと思っている・・・あなた、油断していると、とんでもないことになりますよ!

新型のインフルエンザが体内に進入してきた時に、免疫力の高い人ほど、免疫力自体が空回り(暴走:サイトカイン・ストーム)して、自分自身を殺してしまうケースがあるようです。


なので、普段から感染しないように、以下のように、心がけないとなりません。


万が一感染したら、他の人に感染しないように十分気をつけること。

とにかく、おかしいと思ったら早めに医者に行って、感染していたら薬を飲んで自分の部屋でおとなしくしている。


そう言えば、今日、ショッキングなニュースが飛び込んできましたね。

新型ウイルスのワクチンを飲んだことにより、入院した人が出たそうです。

2009-01-20 Excelで枠線の非表示について

普通にExcelを立ち上げるとセルが薄い線で区切られています。

この薄い線は、罫線でなく、枠線と云います。


枠線を表示したくない(非表示)場合は、ごくたまにありますね。

非表示にする方法には、シート単位とセル単位の2通りがあります。


1つ目は、シート全体を非表示する以下の手順です。


2つ目は、セル単位で非表示する以下の手順です。

尚、2つ目で枠線表示なしの後、元に戻したい(枠線表示)場合は、「色なし」を選択する。

また、2つ目の方法で全セルを選択してやれば、1つ目の方法と同じようにシート全体が枠線非表示になる。

2009-01-19 ガマン修行の時

いやー、世界同時不況の影響が我が家にも、ボディブローのように効いて来ました。

残業がなくなって、収入が少なくなって、食べる物も質素になってきました。


食べたい物をガマンするのは、結構辛いですね。

しかし、飽食すればメタボになってしまうし、逆にガマンもいいのかなと・・・思うわけです。


実際、大好きなコーヒーやめたことによって、つまりコーヒーをガマンして過敏性腸症群も良くなりました。

法華経に少欲知足という言葉があります。(たぶん、「少欲知足」は、2500前に出来た法華経が初出)


まさに今、自分の意志でなく、この不況によって少欲知足ができる状況になりました。

もしかしたら、環境問題も少欲知足で解決できるのかもしれません。


ということで、今は、ガマン修行の時と思って、この不況をなんとか乗り越えて行きましょう!


以下は、前に書いた「少欲知足」です。

2009-01-19 Excelの入力規則でリストが設定できない!

セルの入力規則(メニューのデータ(D)から)でリストを設定する時に、出来ずに以下のメッセージが出ることがあります。

リストの元の値は、区切り文字で区切られたリストか、または単一の行または列の参照でなければなりません。

全く、それ通りのメッセージなのですが、状況によっては、まることがあるのです。


たとえば、結合しているセルの定義名を「元の値」セットするときは、あたかも単一なのに実際は複数になっているので上記メッセージがでます。


で、非常に稀なケースを体験しまた。前フリとして、最近老眼が進んで『O』と『Q』が認識しづらくなっています。


まず、O列を右にを3つ分セル結合しました。つまりQ列まで結合したのです。

そして、その列を名前定義し、別のセルに入力規則のリストでその定義名を設定しようとしましたが、上記メッセージが出てできません。

そう、結合してあるので単一だと勘違いし、かつ、Q列がO列に見えて、益々単一だと確信して、他のことをいろいろ試しても、上記のメッセージをクリアできなかったのです。


Q列がO列の間違いだと気が付いた時は、すでに半日が過ぎていましたorz。

2009-01-18 半導体、総崩れ

東芝、日立はもちろん、NECまでも、そして世界的にはAMDも・・・。

NEC系はリストラしないで、頑張ってほしかったけど、NECエレクトロニクスでついにリストラですか・・・。


しかし、USBメモリが今や1Gが100円ですよ! 128Mを4000円で買ったのは、確か3年前かな・・・。

2009-01-18 対馬も韓国?

竹島もそうだけど、対馬にも侵略してきたぞ、黙っていたら本当に韓国領になってしまうかも・・・。

そういえば、漢字の起源も中国でなく韓国だと言ってたな・・・確か。


ということで、なんか対策を打たなくては、いけないのでは--->日本政府。

2009-01-18 スキームとスキーマって勘違いし易い!

スキームとスキーマって、似ているので勘違いし易いですね。

なのでちょっと、整理しときます。


まず、英語でスキームは、schemeで、意味は『案, 計画, たくらみ, 組識』です。

一方、スキーマは、schemaで、意味は『概要, 図式』です。


WEB系でスキームと言えば、URLのhttp、httpsやftp などのプロトコルのところを指します。

一方、スキーマは、HTMLのDTD(Document Type Definition)やXMLのXMLスキーマ言語のことを言います。


まとめとして、スキームは計画系で、スキーマは概要系なのですね。

2009-01-17 月に一度の日

今日は、月に一度の整体と宿直が重なりました。


朝、整体治療に行ってきました。

治療といっても、別に悪いところはありません。強いて言えば、花粉症ですね。

尚、過敏性腸症群は正月明け6日の一日以外は、コーヒー断ちと腹巻きで治った感じです。

月1回、整体治療を行っているせいか、去年の5月以来、風邪など引いていないです。


一方宿直は、某教会に宿直するのですが、40歳以上の働き盛りの信者さんには、唯一の修行となります。

私も、ほぼ唯一の修行になっています。

しかし、修行といっても、メインはビールを飲みながらの話し合い(法座もどき)です。

宿直は4〜5人の壮年の男性で、職業もいろいろで、自分の業界以外の話が聞けてためになるわけです。


と言うことで、そろそろ、宿直に行く準備をします。

では、明日またお会いしましょう!

2009-01-17 フリーなソフトのライセンスについて

いやー、フリーなソフトといっても沢山の種類がありますね。

また、フリーなソフトでもライセンスがあるのもや、ライセンスにもいろいろとあり、ざーっと調べてみました。



フリーウェア(フリーソフト)以外は、有料で高価なUNIXの反発として、カリフォルニア大学バークレー校やマサチューセッツ工科大学のプログラマ達が元になって無料で自由なソフトウェアを作って行った流れなのですね。


尚、コピーレフト系のフリーソフトウェアは、それを改造して有料にすることはNGのようです。

2009-01-16 標準モジュールArchiveでgzipする!

ぱっと見、標準モジュールArchiveでは「tar」と「zip」しか出来ない感じがしますが・・・実は「tar」の中に「gzip」機能がありました。


以下のように、WindowsでもActivePerlがインストールされていれば、簡単に「tar.gz」が使えます。

環境は、以下の通り。

◆ targz.pl(ファイルを纏めて圧縮)
use strict;
use warnings;
use Archive::Tar;

my @file =('data\file.txt', 'data\file2.txt');
my $targz_file = 'file.tar.gz';
my $tar = Archive::Tar->new();
$tar->add_files(@file);
$tar->write($targz_file, 1);

◆untargz.pl(tar.gzを解凍して元のファイルに復元)
use strict;
use warnings;
use Archive::Tar;

my $targz_file = 'file.tar.gz';
my $tar = Archive::Tar->new();
$tar->read($targz_file, 1);
$tar->extract();

ちなみに、writeメソッドとreadメソッドの第2引数を省略すると「tar」のみになり、「gzip」しない。

2009-01-15 zip と gzip について

実はgzipは、GNUのzipで、zipのGNUバージョンだと思っていたのですが、最近間違えであったことに気が付きました。

それは、zipが圧縮アーカイバなのに対して、gzipはアーカイバでなく、単なる圧縮機能なのです。

ちなみに、アーカイバというのは、複数のファイルを一つのファイルにまとめる機能をもつものかな。

なので、アーカイバとしてはtarを使い、それをgzipで圧縮するのがLinuxでは普通らしい・・・その時の拡張子は『.tar.gz』で2重の拡張子になる。


しかし、Windowsでは、標準機能としてtarもgzipもありません。

なので、Windowsでtar.gzのファイルを作るのは、結構苦労することになるのです。

フリーのソフトを使ったり、ActivePerlならCPANからppmしたり・・・。


そうそうPerlでは、tarとzipは標準モジュールArchiveにあるのですが、gzipは標準モジュールにないのです*1

なので、CPANからgzipができそうなモジュールをppmして実行するのですが、なにせ解説が英語だし、ネットで検索しても有用な情報がほとんどありません。

ppmを上手く実行してインストールするのも大変だし、インストールしたモジュールを動かすのも大変なのですね・・・実は。

Windowsでのgzipモジュールインストールの苦労話しは、別の機会にするとして・・・今日のまとめです。


zip と gzipは全くの別物で、zipが圧縮アーカイバで、gzipは圧縮のみです。

ですので、アーカイバにはtarを使い、それをgzipする。


ちなみに、UnixにはCompressという標準の圧縮コマンドがありますが、特許の問題でフリーのUnix系ではgzipが使われるとのことです。


参考:

*1標準モジュールArchiveのtarにgzip機能がありました 2009/01/16追記

2009-01-14 ExcelVBAでのValueとValue2の違い

デバックでウォッチウインドウからActiveCellのプロパティを見るとValueとValue2があります。

ValueとValue2の違いは何かなとまず思うでしょう・・・調べてみました。

Value2 プロパティと Value プロパティの唯一の違いは、Value2 プロパティでは通貨型 (Currency) および日付型 (Date) のデータを使用しないことです。倍精度浮動小数点数型 (Double) を使用して、これらのデータ型を浮動小数点数の形式にした値を返すことができます。

http://msdn.microsoft.com/ja-jp/library/cc391692.aspx

サンプル
Sub Test()
Dim dtmDate As Date
  dtmDate = Now

  ActiveCell.Value = dtmDate
  'セルでの表示 2009/1/14  20:17:33
  'ウォッチウィンドウでの表示 2009/1/14  20:17:33

  ActiveCell.Offset(1).Value2 = dtmDate   
  'セルでの表示 39827.8455208333
  'ウォッチウィンドウでの表示 39827.8455208333

  ActiveCell.Offset(2).Value2 = DateValue(dtmDate) 
  'セルでの表示 2009/1/14
  'ウォッチウィンドウでの表示 39827

End Sub

ちなみに、Date型のデータにDateValue関数をかますと面白い現象になる。

Value2は、日付型 (Date) のデータを使用しないと言いながら、セルには2009/1/14と表示される。

しかし、内部データ(ウォッチウィンドウでの表示)は39827なのです。

2009-01-13 過去と他人は変えられないけど、未来と自分は変えられる!

三連休を家でのんびりと過ごさせて頂き、また、ここのところのコーヒー断ちと腹巻きが効いたせいか、過敏症も花粉症も大分楽で、体調も良く仕事も集中して出来ました。


で、今日ネットでたまたま見つけたメッセージです。

なるほどなぁ・・・と、思ったのでご紹介します。

過去と他人は変えられないけど、未来と自分は変えられる。

まぁ、結構有名みたいなので、知っている人は多いかと思いますが、私みたいに知らない人もいるかと思うので・・・。


たとえば、今回、コーヒー断ちと腹巻きの実践で自分が変わり、未来(体調がよくなった)も変わりました。

大した事ではないかも知れませんが、コーヒー断ちも、毎日腹巻きをするのも、結構大変なんですよ!実は。

大変なことをして、自分を変えたからこそ、未来(体調がよくなった)が変わったのだと思います。

ということで、『過去と他人は変えられないけど、未来と自分は変えられる。』は、なかなかの真理ですね。


また、今日は、会社から帰ってきてNHKの『クローズアップ現代「ガザ最新報告 停戦...」』 と TBSの『バラエティーニュース キミハ・ブレイク』を見てのテレビ三昧で、ブログを書く時間がなくなってしまいました。


ガザ最新報告を見ては・・・イスラエルとパレスチナの憎しみの連鎖を断ち切るのは、どうしたらよいのでしょうか・・・。

キミハ・ブレイクを見ては・・・幽霊達にこの世への恨みや未練を断ち切らせるには、どうしたらよいのでしょうか・・・。


などと、考えてみました。考えがまとまったら、また、本ブログで報告します。

では、もう寝る時間になってしまったので、おやすみなさい!

2009-01-12 HABABI in コード・ブルーSP

HABABIは、長男が最近よく歌っているので、あらためていい曲だなと思っていました。

また先日、コード・ブルーSPというドクターヘリの救急医療を題材にしたテレビドラマを見ました。

フェローの4人とフライトナースの1人の計5人が主人公でストーリー展開していきます。


藤川の災害現場での手術シーンやガッキーの災害者を選別する辛い立場など凄く感動的でした。

山Pや戸田エリカも難しい演技をこなし良かったですね。

フライトナースのひがまなみさんは、ちょっと硬かったですね。次回に期待します。

ということで、ユーチューブから・・・


Mr.Children / Hanabi

歌詞付きなので一緒に歌えます。

2009-01-12 ITにはイノベーションとスピードが必要!?

この世界的な不況下で企業が生き残って行くのは、少なくともIT化が必要です。

しかし、どの企業もIT化を進めているので、普通のIT化ではダメで、イノベーションとスピードが必要です。


で、イノベーション(innovation)ですが、日本語訳では『改革』や『革新』のことで、「たいそう」な感じです。

しかし、ちょっとしたことでも、利益が10倍になることがあるようです。


たとえば、観光地でその土地の名産物を売っていたおばあさんがいました。

ただ売っていたのでは、売り上げがあまりありませんでした。


そこで携帯を使って、売り切れそうな物の情報を生産者へ伝え、売り切れがないようなシステムを作りました。

すると、売り上げが10倍になったそうです。


つまり、イノベーションとは、「たいそう」なことでなく、ちょっとしたアイデアなのです。

そして、そのアイデアを真似されないようにスピードをもって実行することなのです。


というお話を聞きました。

2009-01-11 『おふくろさん』

ブログにはあまりネガティブなことは書かないように心がけているのだけど、書いてしまおう!

ここ一週間、過敏性腸症候群と花粉症の影響か、集中力がなく、軽い鬱状態で、生きていくのが辛く感じていました。

とりあえず、土・日と休養して、だいぶ気分もよくなってきました。

とにかく、辛いことには、逃げるのでなく、立ち向かって行かないと成長できないし、成長するために生まれてきたとのことです(江原さん曰く)。


話はかわって、金スマの森進一スペシャル見ましたか?

森進一って、えらい星の下に生まれてきましたね。

子供の時に父親は家に妾を連れ込んだり、それが元で母親と弟妹で家を出て一緒に親戚の家を渡り歩く・・・。

歌手になるまでの辛い日、歌手になってからの虚言症ファンからの隠し子騒動とそれの影響による母の自殺・・・。

えらい辛いことを乗り越えてきたのですね。森進一は・・・。

あの『おふくろさん』の歌を聴くと感動するわけがわかりました。

というわけで、お聴きください『おふくろさん』です。

2009-01-11 『カンマ演算子』と『=>演算子』

通常、配列変数に代入する場合は、リストで代入しますが、その時のリストの区切り文字は『カンマ演算子』です。

しかし、ハッシュ変数の場合は、『カンマ演算子』と『=>演算子』を併用します。


実は、『カンマ演算子』と『=>演算子』は、ほぼ同じものなのです。

違いは、『=>演算子』は左オペランドを文字列として解釈します。


つまり、左側はクォーテーションがなくても文字列と解釈されるのです。

しかし、クォーテーションをつけても問題はありません。

use strict;
use warnings;
my @array = ('A01', B02 => 'C03');
print $array[0], "\n";
print $array[1], "\n";
print $array[2], "\n";

my %hash = (A01 => 'A01', B02 => 'B02' , 'C03' =>'C03');
print $hash{A01}, "\n";
print $hash{B02}, "\n";
print $hash{C03}, "\n";

2009-01-11 来ていない? そう花粉が・・・

12月の後半ぐらいから、そして正月三箇日・・・今と徐々に花粉症の症状が重くなってきた!

特に朝起きると鼻と喉と耳がおかしいです。

また特に、耳は、プールで水が耳に入った時と同じ感じです。しばらくすると治ります。


30年近く花粉症をしていますが、こんな早く感じたのは、今年が始めてかも・・・たぶん。

まだ、目にはそれほど来ていないのですが、仕事中はクシャミの連続です。


花粉症の皆さんは、今年はどうですか?


ちなみに、私の花粉症対策は一つで、症状が重い時に『セレスタミン』剤を一錠飲むだけです。

『セレスタミン』剤はステロイド薬で副作用があるので、本当に症状が重い時だけね。

あと、目に来た時は、目薬をさすこともあるかな。

2009-01-10 CGI.pmのリンクメモ

PerlでCGIのプログラムを組む時は、標準入出力でプロトコル(http)のテキストを解析したり構築するのもいいけれど、やはり、標準モジュールのCGI.pm使用が楽ですね。


CGI.pmの解説ページがありましたのでメモしときます。

2009-01-09 ワード(Microsoft Word)で文字間隔を調整する

前回、『ワードで行間を調整する』でCtrlキーを使うショートカットをご紹介しましたが、文字間隔も同様に出来ないかと調べました。

しかし、文字間隔を調整するショートカットはないみたいです。


ちなみに、メニューからは、以下の手順で文字間隔を調整できます。

尚、ワード2000&2003で確認しています。

2009-01-08 なにも変更していないのに『変更を保存しますか?』が出る!

Excelブックを終了させる時に、なにも変更していないのに『変更を保存しますか?』が出るケースがあります。


これ、気持ち悪いですね。原因は以下のようです。

Excelの関数の中には、ブックを開くと同時に自分自身を再計算するものがある。NOW関数がよい例だ。NOW関数は常に現在の日付と時刻を返す関数。ワークシート上にNOW関数を記述しておくと、そのブックを開くと同時に関数の結果が更新される。関数を入力したセルの内容が変化するのだから、これはワークシートを編集したのと同じ結果になる。そこで、ブックを閉じるときに「変更を保存しますか?」と念押しされることになるのだ。

http://pc.nikkeibp.co.jp/article/NPC/20060221/230189/

再計算をしなくすることも出来るようです。

  • [ツール] メニューの [オプション] をクリックします。

注 : [オプション] コマンドを利用できるのは、ブックを開いているときだけです。[オプション] コマンドを利用できない場合、[ファイル] メニューの [新規作成] をクリックし、[新しいブック] 作業ウィンドウの [空白のブック] をクリックします。

  • [計算方法] タブをクリックします。[計算方法] の [手動] をクリックします。[保存前に再計算] チェック ボックスをオフにします。
  • [OK] をクリックします。
http://support.microsoft.com/kb/289111/ja

2009-01-07 中島美嘉 ORION

PVもあったけど、歌詞つきなのでこちらを・・・

2009-01-07 ExcelVBAで罫線の判定

たとえば、ExcelVBAでセルA5に下線があるかの判定は以下の感じです。

    If Range("A5").Borders(xlEdgeBottom).LineStyle = xlContinuous Then
       MsgBox "下線あり"
    Else
       MsgBox "下線なし"
    End If
◆Bordersを以下のような引数に換えれば『下端(下線)』以外にも使えます。
Bordersの引数 罫線の位置
xlEdgeTop セル上端
xlEdgeBottom セル下端(下線)
xlEdgeLeft セル左端
xlEdgeRight セル右端
xlInsideHorizontal 内側横線
xlInsideVertical 内側縦線
xlDiagonalDown 右下がり斜線
xlDiagonalUp 右上がり斜線
◆LineStyleのxlContinuous比較を以下のように換えれば『実線』以外にも使えます。
LineStyle 罫線の種類
xlContinuous 実線
xlDash 破線
xlDashDot 一点鎖線
xlDashDotDot 二点鎖線
xlDot 点線
xlDouble 二重線
xlSlantDashDot 斜め斜線
xlLineStyleNone 無し

◆参考

2009-01-06 本ブログのランク

今日、本ブログを見たらfeedmeterが2つ星から1つ星にランクダウンしていました。悲しい・・・。

逆に、グーグルページランクが昨年の大晦日に3から4になりました。嬉しい!!!。

実は、昨年の前半は4で、後半は3にランクダウンしていたのでした。


つまり、本ブログは、グーグルページランクでは3と4の微妙なところで、feedmeterでは1つ星と2つ星の微妙なところなのです。


で、今思っていることは2つあり、しかも相反している・・・。

どっちにしようかなぁ・・・。

2009-01-06 久々に『もれそう』が来たーーー!!

そう、過敏性腸症候群のやつ・・・『腹巻きとコーヒー断ち』で治ったと思っていたら・・・正月中は腹巻きをしなかったせいか、今日、『遅刻をしない』を優先するか『トイレを優先』するかの事態になりました。


で、遅刻を覚悟して通勤途中に駅のトイレへ・・・しかしトイレ待ち2人・・・なので我慢して会社へ・・・途中歩きながらヤバイヤバイ・・・会社に着くなりトイレに一直線・・・あぁ間に合った(ほっ)。


これ、過敏性腸症候群の人でないと分からない辛さです。

今日から、また『腹巻きとコーヒー断ち』の復活や!

ちなみに、今日は六星占術で『停止』でした。


過敏性腸症候群の人へ、騙されたと思って『腹巻きとコーヒー断ち』を実行してみてください。

意外と効果があるのです。これが!

原因は、決して精神的なもだけではないですよ!

2009-01-05 不況の波が卓上カレンダーまで・・・

毎年、黙っていても2〜3個の卓上カレンダーが手に入ります。

しかし、今年はゼロなのです。

仕方がないので、売店に買いにいったら売り切れでありませんでした。


いやー、参った!

不況の波が卓上カレンダーまで来ているのですね!

この波、いつまで続くのですかね?

2009-01-05 メモリーカード

えーと、PCのUSBに挿すメモリのことを『メモリスティック』って呼んでいたのですが、間違いだったようです。

正しくは、『USBメモリ』で、メモリスティックは、ソニーが中心となって開発した小型メモリーカードで、USBには挿さないみたいです。


無知だったので、メモリーカードについて少し調べてみました。

メモリーカードは、本当に沢山の規格があるのですが、大きく分けて5種類に分類できますね。

上記の5つの一つ一つには、またその中でいくつのも規格があり、大変なことになっていますね。

日々の技術革新と淘汰が同時に進んでいて、まだまだ、混沌としていますね。

とりあえず、PCにはUSBメモリ、デジカメにはSDカードで決まりかな?

2009-01-04 さー!休みは終わちゃった・・・。

12月27日から今日(1/4)までの9日間の休みも終わろうとしています・・・。

世界的な不況の中、我が家的にも当然不況で・・・、日比谷公園の人達は、明日の私達なのかも知れません・・・。

しかし、儲かる時は儲けておきながら、儲からなくなると簡単にリストラする企業達・・・。

この大変な時期に有効な政策を打ち出せないでいる政府・・・。

という暗い話は置いといて・・・。


正月三箇日の天気が良く、今日も良く、寝坊しても洗濯するには最高の正月でしたね!

さー!生活のリズムを元に戻して、明日からまた家族を支えるために仕事を頑張りましょう!


家族のためは、もちろんだけど、自分の魂の成長のためにも今年一年、数々の困難を乗り越えて行きましょう!

最後に松田優作の名言を・・・

どんな仕事でもつまんない仕事なんてないんだ!

とにかく、仕事スイッチを入れないと・・・。

2009-01-03 ヒーロー松田優作!

今日も朝からヒーロー(キムタク)を見て過ごしました。

ヒーローが終わったのが12時過ぎで、チャンネルを回すと12チャンネルで『松田優作は生きている』をやっていました。


実は私は、昔から松田優作のファンです。

しまった11時からやっていたのかと後悔しながら、そこから最後まで見ました。


松田優作を撮りつづけたカメラマンの話が印象的でした。


まだそれほど人気がない時から松田優作を撮りつづけていたら、徐々に大物スターと一緒に写る松田優作を撮っている自分が偶然そうなったと、松田優作へ言ったら、松田優作は以下のように言ったとのことです。

偶然などない、すべてが必然なのだ

松田優作がハリウッドに行っている間、カメラマンはアルバイトをしていて、ハリウッドから帰ってきて会った時に、松田優作から『今、なにしている』と聞かれたカメラマンが『つまんない仕事を・・・』と言ったら、松田優作は顔色を変えて、以下のように言って怒ったとのことです。

どんな仕事でもつまんない仕事なんてないんだ! 2度と言うな!!

また、松田優作は写真を撮られるのが嫌いなことで有名でしたが、このカメラマンだけは別でした。

しかし、このカメラマンでもこんな写真ダメだと突き放された時があったそうです。

そして、優作は以下のように言ったそうです。

オレの魂を撮ってみろ!

前からうすうす感じていたのですが・・・松田優作って、すごく仏教的なのですね。


番組の最後に、中山ジョーが松田優作へ、優作が主演した『人間の証明』の主題曲を渾身の思いを込めての生歌で終わります。


しかし、この番組再放送しないかな・・・。


2009-01-02 飲んだくれ

私は、普段お酒は飲まず、会社での歓送迎会や帰社日にちょっと飲む程度です。

しかし、今日は正月ということで朝からお酒を飲みながらヒーロー(キムタク)を見て過ごしました。


お酒のみでない私が言うものアレですが、私は『ヌーベル月桂冠』がお気に入りです。

他のお酒は、なんか水っぽい感じがします。『ヌーベル月桂冠』は、飽きがこなくて一日中飲んでいても大丈夫ですね。


親はくつろいでいるのですが、子供達はバイトに精を出しております。

長男は、木曽路三鷹店(レストラン)で年末年始はバイト料金が上がるとのことで、今日も寝不足で不機嫌のまま出かけていきました。今日は少しは寝れたのだろうか・・・しかし、いつ帰ってきたのだろうか・・・。


次男(高3)は、今日から小田急マート(コンビニ)でバイトをしています。

三男(中2)は、部活(バスケット)がまだ休みで、家でゲーム三昧の日々を過ごしています。


昨日の元旦の午後3時頃に妹夫婦が年始に来て、また、大晦日から元旦5時まで起きていた次男と三男が丁度この時間に起きてきて、妹夫婦と次男三男とちゃいちゃんパパママの6人で、思いの外、楽しい時を過ごすことができました。


元旦も天気、2日も天気、今年は良い年になる予感がします。

どうか今年は、長男の頑張りが実を結びますように・・・祈り。

2009-01-01 HAPPY NEW YEAR!

皆さま、明けましておめでとうございます!

今年もよろしくお願いいたします。


元旦の朝から天気が良く、なんか今年はいい年になりそうな気がしました。

あくまでも、単なる気だけですが・・・。


なぜ、朝から天気を知っているかというと、有り難いことに某教会へ聖壇のお役で7時までに行きました。

そこで、今年最初の法華経読誦と法話を聞いてきました。


法話では、仏教の教えは智慧と慈悲で、これを分かりやすくイメージすると『智慧は光』で『慈悲は温かさ』だと教わってきました。


とにかく、生きていくのは、苦難の連続です。その苦難を乗り越えていくには、天の閃き(光)と人の温かさかなぁ・・・と思う次第です。


今年は、智慧の光を磨き(益々の勉強)、そして人に対して温かく接していきたなと思います。

とにかく、苦難は魂を成長させるチャンスです(江原さんが言っている)。なので、逃げずにチャレンジしていける強い心になりたいなぁとか。


まぁ、個人的には3年間続いた『大殺界』が終わって、運は良くなるはず、がんばるぞ!


PS.

実は、某教会の元旦式典が10時半に終わって、駐車場に歩いていくと向こうからギターを背負った長男が自転車で来ました。普段、家でもすれ違いの長男と、何と元旦の朝に教会の近くで出会ったのです。ちなみに、某教会は三鷹駅の近くで、私の家は某教会から自動車で約15分掛かります。

長男は、吉祥寺でのバー(フリースタイル)のアルバイト(夜勤)からの帰りで、これから木曽路レストラン(昼勤)に行く途中でした。

年末から夜昼休みなしで働いて、頑張りつづける長男・・・、なんでそこまで自分をいじめる・・・。


上記とは、無関係ですか、とりあえず、『to U』です。


Mr.Children to U