2009年1月のアーカイブ

1/18VistaにXAMPPをインストール

VistaにXAMPPをインストールしようとしましたがうまくいかない。管理画面(http://localhost/)にアクセスできない。それとローカルのテストサイト(http://localhost/XXXX)にもアクセスできない。

再インストールしてもダメ。いろいろやってみると、http://127.0.0.1/ならアクセスできる。ということは、IPv6が原因か?

調べてみると、hostsファイルの

::1        localhost

をコメントアウトすればいいらしい。しかし、テキストエディタで編集しようとすると、読み出し専用になってしまう。そこで、メモ帳を管理者権限で起動して編集する。これで無事に管理画面にアクセスできるようになった。

結局、Vistaの設定のようです。

以上、覚え書き。

1/18HFで初交信

本日は、状態がよろしかったらしく、21MHz SSBでマニラとかグアムが聞こえていました。まあ、どうで自分の設備では交信は無理と諦めていました。

すると近くの川崎市高津区からCQを出している局があります。だめ元で交信してみました。すると難なく交信成立。これが初めてのHFでの交信となりました。

以前は、隣の町の局とでも交信できなかったので、HFのアンテナをなんとかしないといけないと思っていました。

1/18HAMLOGでRemark項目から印刷するように設定する。

HAMLOGの印刷機能で、Remark項目の文字列を備考としてカードに印刷するように*.QSLファイルを変更してみました。

備考欄に印刷する項目の優先順位は以下の通りとします。

  1. 印刷ダイアログのコメント
  2. Remark1の$A=文字列 $で指定された文字列
  3. Remark2の$A=文字列 $で指定された文字列

本当は、順番に備考欄に印刷できればいいのですが、印刷位置が絶対座標らしいので、今回はいづれか1つにします。

例えば、Remark2に

$A=2009年QSOパーティー $

と指定しておけば、QSLカードの備考欄に

2009年QSOパーティー

と印刷します。

印刷定義ファイルは以下の通りです。

? Space "!Co"    ; 印刷ダイアログにコメントが無かったらジャンプ
#Goto *201
#Print  20, 564, "Rmks: !Co"            ;備考
#Goto *200
*201
? Space "!R1$A"    ; Remark1に$Aがなかったらジャンプ
#Goto *202
#Print  20, 564, "Rmks: !R1$A"            ;備考
#Goto *200
*202
? Space "!R2$A"    ; Remark2に$Aがなかったらジャンプ
#Goto *200
#Print  20, 564, "Rmks: !R2$A"            ;備考
*200    ; ジャンプ先

印刷位置の座標は、デザインに合わせます。ジャンプ先の番号は使っていない番号を指定します。

何だか久しぶりにプログラムでGoto文を使いました。学生時代のFORTRANかPascal以来ですね。懐かしい・・・。

1/16書籍購入:ジェネラル・ルージュの凱旋 海堂尊

ジェネラル・ルージュの凱旋 上ジェネラル・ルージュの凱旋 下を購入。

医療、病院をテーマにしている。最初、前作「ナイチンゲールの沈黙」と内容が重なっているので、間違って買ってしまったかと思った。

読んでみて、麻生さんではないか医者は我々と常識が違うというが、本当にそうかもしれない。何か特別な人たちかもと思ってしまう。特別な人たちではないと命は預けない。

チーム・バチスタの栄光」に続き、これを原作にして、映画化するようだが、原作は主役が男性になっているが、映画では竹内結子になっている。ぜひとも原作を読まれることを薦める。

1/16CakePHP URLの指定 - 例えば、htmlヘルパーのlinkのパラメータ

CakePHPを使っていると、ヘルパーなどのリファレンスを解説本では簡単に説明を済ませているところに当たります。CakePHPのマニュアルをよく見れば書いているのですが(ただし、日本語サイトは遅れている場合があり)。

例えばhtmlヘルパーのlinkの説明ところ。Webとか解説本には、

HtmlHelper::link($title, $url = null, $htmlAttributes = array(), $confirmMessage = false, $escapeTitle = true)

$title : タイトル
$url : リンク先URL
$htmlAttributes : 属性
$confirmMessage : 確認メッセージの有無
$escapeTitle : エスケープの有無

などど書いていています。$urlは、"http://testtest.jp/"のようなURLをテキストで設定するようにサンプルに書かれています。

しかし、CakePHPではURLの指定は、

array(‘controller’ => コントローラ名, ‘action’=>アクション名)

のように連想配列で指定可能なのです。もし、管理者サイトでは、

array(Configure::read(‘Routing.admin’) => true,’controller’ => コントローラ名, ‘action’=>アクション名)

のようにすればいいのです。アクション名には’admin_’とかは付ける必要はありません。

CakePHPを使いこなしている人なら当たり前かもしれませんが。一応、自分の覚え書きです。

あとlinkのURLに関連して、ここのサイトに書かれていますが(感謝!)、IDなどの検索条件のパラメータをpaginatorヘルパーに含めるには、 Veiwで$paginator->optionsにurlをキーにした連想配列を設定すればいいようです。Veiwで$paginator->optionsのurlに設定してしまうと、View内のpaginatorヘルパーでsort()などのリンク先には、’val1/val2′が勝手に付けてくれます。

もし、このようにパラメータが付けてアクセスしたときに、

http://testtest.jp/コントローラー/アクション/val1/val2/

ビューの最初で

<?
    $paginator->options = array(
                ‘url’ => $this->passedArgs
                );
?>

とすると、passedArgs変数は、パラメータを持っていますので、ビュー内の

<?php echo $paginator->sort(‘title’);?>

は、

http://testtest.jp/コントローラー/アクション/val1/val2/page:1/sort:title/direction:asc

というようなパラメータを付けたリンクを作ってくれます。

1/16CakePHP 日付の月の選択フォーマットの指定。月を英文から数字で表示する。

現在、CakePHPでニュースリリース管理を作成しています。そこで、リリースの日付を入力するところがあるのですが、CakePHPのそのままのHtmlヘルパーを使って日付を入力してしまうと、日本人向けではないフォーマットで選択させてしまう。

例えば、

$option_datetime = array(
                            ‘type’         => ‘datetime’,
                            ‘timeFormat’=> 24,
                            ‘dateFormat’=> ‘YMD’,
                            ‘legend’    => false,
                            ‘label’        => false,
                            ‘div’        => false,
                            ‘interval’    => 15,
                            );

echo $form->input(‘release_date’, $option_datetime);

のようにする。

これだと、月が英文(”Januaru” ~”December”)で選択させる。dateFormat属性の指定は、date()のfomartになるかと思えば違っていた。仕方ないので、formヘルパー(/cake/libs/view/helpers/form.)に手を入れようとした。しかし、FormHelperクラスの__generateOptionsメソッドのこの部分

case ‘month’:
    if ($options['monthNames']) {
        $data['01'] = __(‘January’, true);
        $data['02'] = __(‘February’, true);
        $data['03'] = __(‘March’, true);
        $data['04'] = __(‘April’, true);
        $data['05'] = __(‘May’, true);
        $data['06'] = __(‘June’, true);
        $data['07'] = __(‘July’, true);
        $data['08'] = __(‘August’, true);
        $data['09'] = __(‘September’, true);
        $data['10'] = __(‘October’, true);
        $data['11'] = __(‘November’, true);
        $data['12'] = __(‘December’, true);
    } else {
        for ($m = 1; $m <= 12; $m++) {
            $data[sprintf("%02s", $m)] = strftime(“%m”, mktime(1, 1, 1, $m, 1, 1999));
        }
    }
break;

を見ると、マニュアルにないmonthNames属性があることがわかる。上記の$option_datetimeに

‘monthNames’ => false,

を追加すれば、月が’01′~’12′になる。ソースは読んでみるものだ。

しかし、このソースを書いた人は、date()を頭にないような感じがする。本当ならば、dateFormat属性がdate()のフォーマット指定のように振る舞えればいいのだが。

1/15書籍購入:怪人二十面相・伝 北村想

怪人二十面相・伝怪人二十面相・伝 PART2を購入。現在公開中の映画「K-20怪人二十面相・伝」の原作になっているが、ストーリーは全然違う。主人公は二十面相で敵役は明智小五郎(+小林少年)というところが一緒か。大昔の活劇を見ている感じ。

1/13書籍購入:Amazon EC2/S3クラウド入門

何を買ったかわからなくなるので、書籍購入のメモを載せていきます。たまにはレビューも書くかもしれません。

Amazon EC2/S3クラウド入門

たまたま、本屋で平積みされているところを手にとって、おもしろそうだから購入。

もう、アマゾンから購入しないと書いておきながら、このサービスを利用しようか迷っている。専用サーバーを借りるより、とりあえず1台借りて、何かのプロジェクトをスタートしてみるにはいいかもしれない。S3は、大きなバックアップストレージにはいいかもしれないが、いろいろ計算してみないと、高くつきそう。

そういえば、著者の会社の方と青山事務所でお会いしたことがあります。もしかしたら、ご本人?

1/08マインドマップ - xmind

最近お付き合いしている会社の営業さんから、マインドマップでまとめられた資料が届く。その会社は、記事録から資料をマインドマップでまとめているようです。

マインドマップは何だかおもしろそうということで、を買い込み、試しに書いてみると、やはりおもしろい。そこで、簡単にマインドマップを書けるツールを探していましたら、ヒットしたのはFreeMindXMind

FreeMindが定番らしいのですが、XMindを選択。XMindは普通のアプリケーションだけではなく、Eclipseのプラグインでも提供されるのが気に入った。それと、EnterとTabキーでどんどんトピックを追加できるのが便利。ただ、トピックをマウスで移動するのがわかりにくい。

システムの要求仕様を頭から叩き出すに使えそうです。

娘にマインドマップをちょっと教えたら、自分でどんどん書き出した。彼女は絵が書くのが好きなので、イメージがほとんど占める楽しいマインドマップになっていました。

マインドマップは、登録商標らしいので、本来なら丸Rが必要? ちょっとこの辺りがやらしいところ。

1/07だんだんずれてきているかも。

正月のお笑い番組を見ていたときのこと。娘は大受けしているのに、こちらは全然おもしろくない。

これのどこがおもしろいのと、娘に聞いてもわからない。

これは自分がずれてきているをいうことなのか?

いまなら、1時間のお笑い番組で一回もクスとも笑わない自信がある・・・。