2008-02-05

ブログ引越します

ポスト @ 0:14:02 | 人生

以下のサイトにブログを引っ越します。 自作の Wiki にブログ機能をつけたものです。

http://d.aoikujira.com/blog/

★ブックマークの変更などお願いします。

2008-01-28

酒徳カンファレンス開催しました

ポスト @ 10:42:21 | 人生

今月26日、ウノウのもう一人の酒徳ちひろさんと私+自称酒徳さん(多数)で、酒徳カンファレンスを開催しました。Flash + Flash Lite、ABC(ActionScript Binary Code)の話題で大いに盛り上がりました。

私は、Delphi/VB→Flash/Flex/AIR という話題で話したのですが、他の皆さんの話に比べたら、かなりつまらないものになってしまったと反省した次第です。やはり、酒徳暦がまだ短いので、修行が足りません(>_<)。

あと参加の皆さんは、技術勉強会によく出席される方が多く感心しました。今年は私も積極的に勉強会やイベントに出席して、多くの方と交流したり、意見交換をしたいと思っています。(ただ、締め切りがものすごい勢いで迫ってくるので、プログラム&文章を書くスピードを数倍に高速化して対処したいと思います。)今年は、プログラミング技術に加えて、「心と絆」を磨きたいです。

2008-01-20

AIR JS 初心者エディタ公開しました

ポスト @ 2:10:57 | AIR, プログラミング

Adobe AIR を手軽に使うための開発環境を公開しました

以下のエディタを使うと、面倒なパスの設定などが不要で、簡単に Adobe AIR の実行ができます。

AIR-JS-EDITOR
AIR-JS-EDITOR posted by (C)クジラ飛行机

2008-01-16

またつまらぬものを作ってしまった~メール通知スクリプト

ポスト @ 14:39:38 | PHP

PHPで「またつまらぬものを作ってしまった」シリーズ。 cron に登録しておくと、毎朝、メールで条件にあったデータを送信してくれるというもの。

毎朝のゴミだしを忘れるので、メールで通知されるようにしてみたのですが、 「そんなことしなくても、携帯のアラーム使えばいいじゃん」、という突っ込みもいただきました。

schedule.txt というファイルをSHIFT_JISで作り、そこに以下のようなデータを書きます。

;TYPE,CONDITION,TITLE,BODY
w,火木土,燃えるゴミ,燃えるゴミ
w,水,ゴミ:ビンカン,ビンカンゴミの日
w,金,ビニールゴミ,ビニールゴミの日

意味は、次の通り:

  - TYPE -- スケジュールタイプ
  -- r .. [yyyy-mm-dd] の日付、又は、正規表現を指定する
  -- w .. 月火水木金土日のどれか、複数指定可能
  -- e .. 今月n回目のw曜日を[3金]のように書く
  -- d .. 毎日

※正規表現は「/pattern/」のように書く。 利用例:

r,/\d+-10-01/, 誕生日, xxの誕生日
w,月金,燃えるゴミ,朝ゴミを出すこと
d,,毎日,おはよう

そして、実際のプログラムは次の通り。

#!/usr/local/bin/php
<?php
/**
 * mynotice
 * batch file -- send mail
 */
mb_language("ja");
mb_internal_encoding("SJIS");
//
$SETTING_TXT = './schedule.txt';
$MAILTO      = "xxx@example.com";
$MAILFROM    = "xxx@example.com";
//
$date_fmt1 = date("Y-n-d");
$date_fmt2 = date("Y-m-d");
$week_num = intval(date("w")); // 0(sun)..6(sat)
$week_ary = array('日','月','火','水','木','金','土');
$week = $week_ary[$week_num];
$year = date("Y");
$mon  = date("n");
$day  = date("d");
$ym1  = mktime(0,0,0,$mon,1,$year);
$ym1_w = date(date("w", $ym1));
$week_c = 1 + intval((($day - 1) + $ym1_w)/7);//今月何回目?
//echo $date_fmt1;
//echo $date_fmt2;
//echo $week;
$f = file_get_contents($SETTING_TXT);
$f_ary = split("\r\n", $f);
foreach ($f_ary as $line) {
    $d = split("\,", $line);
    list($type,$fmt,$title,$body) = $d;
    $type = strtolower($type);
    $res = FALSE;
    // 判定
    if ($type == "w") {
        if (strpos($fmt,$week) !== FALSE) {
            $res = TRUE;
        }
    }
    else if ($type == "r") {
        if (
            $fmt == $date_fmt1 ||
            $fmt == $date_fmt2 ||
            @preg_match($fmt, $date_fmt1) ||
            @preg_match($fmt, $date_fmt2)
        ) {
            $res = TRUE;
        }
    }
    else if ($type == 'e') {
        $num = mb_substr($fmt, 0, 1);
        $wee = mb_substr($fmt, 1, 1);
        if ($num == $week_c && $wee == $week) {
            $res = TRUE;
        }
    }
    else if ($type == 'd') {
        $res = TRUE;
    }
    // 送る?
    if ($res) {
        send_now($MAILFROM, $MAILTO,$title,$body);
    }
}
echo "ok.\n";
function send_now($from, $to, $title, $body)
{
    $raw_title = $title;
    $title = mb_encode_mimeheader($title);
    $body  = mb_convert_encoding($body,"ISO-2022-JP");
    $headers =  'From: '.$from."\r\n" .
                'Reply-To: '.$from;
    // send
    if (mail($to, $title, $body)) {
        echo '[mynotice] success to send mail=>'."[$raw_title]\n";
    }
    else {
        echo '[mynotice] failed to send mail=>'."[$raw_title]\n";
    }
}
?>

2008-01-15

祝!発売~すっきりわかったPHP

ポスト @ 10:30:55 | PHP

先月まで執筆していました「すっきりわかったPHP」が ついに発売されます。

Amazonで予約可能になりました!

PHPで何ができるのか、どんな感じで開発をしていくのかを、 広く浅く紹介するという内容になっています。

フレームワークや、テンプレートエンジンの紹介、< 文法の紹介から、PHPと他の言語の比較、 トレンドや周辺ツールやライブラリ、セキュリティーなど、 PHPのツボを押さえておきたい人に最適の内容です。

PHPって、今、どうなっているの?の問いに答えています。

PHPが気になっている人やPHPで開発をやってみたい人だけでなく、 Webアプリケーションの作成を、誰かに依頼しようと思っている人も必見です。

以前のログ