<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://aoi-project.com/pblog/rss/style.css" type="text/css"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:content="http://purl.org/rss/1.0/modules/content/"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xml:lang="ja">
<channel rdf:about="http://aoi-project.com/pblog/rss/recent.php">
<title>くじらはんどぶろぐ</title>
<link>http://aoi-project.com/pblog/index.php</link>
<dc:date>2008-02-05T00:14:02+0900</dc:date>
<description>
くじらはんどぶろぐ - RSS (RDF Site Summary) Feed.
</description>
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://aoi-project.com/pblog/article.php?id=87" />
<rdf:li rdf:resource="http://aoi-project.com/pblog/article.php?id=86" />
<rdf:li rdf:resource="http://aoi-project.com/pblog/article.php?id=85" />
<rdf:li rdf:resource="http://aoi-project.com/pblog/article.php?id=84" />
<rdf:li rdf:resource="http://aoi-project.com/pblog/article.php?id=83" />
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://aoi-project.com/pblog/article.php?id=87">
<title>ブログ引越します</title>
<link>http://aoi-project.com/pblog/article.php?id=87</link>
<dc:date>2008-02-05T00:14:02+0900</dc:date>
<description>以下のサイトにブログを引っ越します。
自作の Wiki にブログ機能をつけたものです。


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

★ブックマークの変更などお願いします。
...</description>
<content:encoded>
<![CDATA[
<p>以下のサイトにブログを引っ越します。
自作の Wiki にブログ機能をつけたものです。</p>
<p>
<a href="http://d.aoikujira.com/blog/">
http://d.aoikujira.com/blog/</a>
</p>
<p>★ブックマークの変更などお願いします。</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://aoi-project.com/pblog/article.php?id=86">
<title>酒徳カンファレンス開催しました</title>
<link>http://aoi-project.com/pblog/article.php?id=86</link>
<dc:date>2008-01-28T10:42:21+0900</dc:date>
<description>今月26日、ウノウのもう一人の酒徳ちひろさんと私＋自称酒徳さん(多数)で、酒徳カンファレンスを開催しました。Flash + Flash Lite、ABC(ActionScript Binary Code)の話題で大いに盛り上がりました。
私...</description>
<content:encoded>
<![CDATA[
<p>今月26日、ウノウのもう一人の酒徳ちひろさんと私＋自称酒徳さん(多数)で、酒徳カンファレンスを開催しました。Flash + Flash Lite、ABC(ActionScript Binary Code)の話題で大いに盛り上がりました。</p>
<p>私は、Delphi/VB→Flash/Flex/AIR という話題で話したのですが、他の皆さんの話に比べたら、かなりつまらないものになってしまったと反省した次第です。やはり、酒徳暦がまだ短いので、修行が足りません(>_<)。</p>
<p>あと参加の皆さんは、技術勉強会によく出席される方が多く感心しました。今年は私も積極的に勉強会やイベントに出席して、多くの方と交流したり、意見交換をしたいと思っています。（ただ、締め切りがものすごい勢いで迫ってくるので、プログラム＆文章を書くスピードを数倍に高速化して対処したいと思います。）今年は、プログラミング技術に加えて、「心と絆」を磨きたいです。</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://aoi-project.com/pblog/article.php?id=85">
<title>AIR JS 初心者エディタ公開しました</title>
<link>http://aoi-project.com/pblog/article.php?id=85</link>
<dc:date>2008-01-20T02:10:57+0900</dc:date>
<description>Adobe AIR を手軽に使うための開発環境を公開しました
以下のエディタを使うと、面倒なパスの設定などが不要で、簡単に Adobe AIR の実行ができます。

AIR JS 初心者エディタ

http://aoikujira.com/...</description>
<content:encoded>
<![CDATA[
<p>Adobe AIR を手軽に使うための開発環境を公開しました</p>
<p>以下のエディタを使うと、面倒なパスの設定などが不要で、簡単に Adobe AIR の実行ができます。</p>
<ul>
<li>AIR JS 初心者エディタ</li>
<li>
<a href="http://aoikujira.com/download/airjs/">http://aoikujira.com/download/airjs/</a>
</ul>
<p>
<a href="http://photozou.jp/photo/show/6/6839122">
<img src="http://art3.photozou.jp/pub/6/6/photo/6839122.png" alt="AIR-JS-EDITOR" width="450" height="311" style="border:0" />
</a>
<br />
<a href="http://photozou.jp/photo/show/6/6839122">AIR-JS-EDITOR</a> posted by <a href="http://photozou.jp/mypage/top/6">(C)クジラ飛行机</a>
</p>

]]>
</content:encoded>
</item>
<item rdf:about="http://aoi-project.com/pblog/article.php?id=84">
<title>またつまらぬものを作ってしまった～メール通知スクリプト</title>
<link>http://aoi-project.com/pblog/article.php?id=84</link>
<dc:date>2008-01-16T14:39:38+0900</dc:date>
<description>PHPで「またつまらぬものを作ってしまった」シリーズ。
cron に登録しておくと、毎朝、メールで条件にあったデータを送信してくれるというもの。
毎朝のゴミだしを忘れるので、メールで通知されるようにしてみたのですが、
「そんなことしなくても...</description>
<content:encoded>
<![CDATA[
<p>PHPで「またつまらぬものを作ってしまった」シリーズ。
cron に登録しておくと、毎朝、メールで条件にあったデータを送信してくれるというもの。</p>
<p>毎朝のゴミだしを忘れるので、メールで通知されるようにしてみたのですが、
「そんなことしなくても、携帯のアラーム使えばいいじゃん」、という突っ込みもいただきました。</p>
<p>schedule.txt というファイルをSHIFT_JISで作り、そこに以下のようなデータを書きます。</p>
<pre>
;TYPE,CONDITION,TITLE,BODY
w,火木土,燃えるゴミ,燃えるゴミ
w,水,ゴミ:ビンカン,ビンカンゴミの日
w,金,ビニールゴミ,ビニールゴミの日
</pre>
<p>意味は、次の通り：</p>
<pre>
  - TYPE -- スケジュールタイプ
  -- r .. [yyyy-mm-dd] の日付、又は、正規表現を指定する
  -- w .. 月火水木金土日のどれか、複数指定可能
  -- e .. 今月n回目のw曜日を[3金]のように書く
  -- d .. 毎日
</pre>
<p>※正規表現は「/pattern/」のように書く。
利用例:</p>
<pre>
r,/\d+-10-01/, 誕生日, ｘｘの誕生日
w,月金,燃えるゴミ,朝ゴミを出すこと
d,,毎日,おはよう
</pre>
<p>そして、実際のプログラムは次の通り。</p>
<pre class="code">
#!/usr/local/bin/php
&lt;?php
/**
 * mynotice
 * batch file -- send mail
 */
mb_language(&quot;ja&quot;);
mb_internal_encoding(&quot;SJIS&quot;);
//
$SETTING_TXT = './schedule.txt';
$MAILTO      = &quot;xxx@example.com&quot;;
$MAILFROM    = &quot;xxx@example.com&quot;;
//
$date_fmt1 = date(&quot;Y-n-d&quot;);
$date_fmt2 = date(&quot;Y-m-d&quot;);
$week_num = intval(date(&quot;w&quot;)); // 0(sun)..6(sat)
$week_ary = array('日','月','火','水','木','金','土');
$week = $week_ary[$week_num];
$year = date(&quot;Y&quot;);
$mon  = date(&quot;n&quot;);
$day  = date(&quot;d&quot;);
$ym1  = mktime(0,0,0,$mon,1,$year);
$ym1_w = date(date(&quot;w&quot;, $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(&quot;\r\n&quot;, $f);
foreach ($f_ary as $line) {
    $d = split(&quot;\,&quot;, $line);
    list($type,$fmt,$title,$body) = $d;
    $type = strtolower($type);
    $res = FALSE;
    // 判定
    if ($type == &quot;w&quot;) {
        if (strpos($fmt,$week) !== FALSE) {
            $res = TRUE;
        }
    }
    else if ($type == &quot;r&quot;) {
        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 &amp;&amp; $wee == $week) {
            $res = TRUE;
        }
    }
    else if ($type == 'd') {
        $res = TRUE;
    }
    // 送る?
    if ($res) {
        send_now($MAILFROM, $MAILTO,$title,$body);
    }
}
echo &quot;ok.\n&quot;;
function send_now($from, $to, $title, $body)
{
    $raw_title = $title;
    $title = mb_encode_mimeheader($title);
    $body  = mb_convert_encoding($body,&quot;ISO-2022-JP&quot;);
    $headers =  'From: '.$from.&quot;\r\n&quot; .
                'Reply-To: '.$from;
    // send
    if (mail($to, $title, $body)) {
        echo '[mynotice] success to send mail=&gt;'.&quot;[$raw_title]\n&quot;;
    }
    else {
        echo '[mynotice] failed to send mail=&gt;'.&quot;[$raw_title]\n&quot;;
    }
}
?&gt;</pre>

]]>
</content:encoded>
</item>
<item rdf:about="http://aoi-project.com/pblog/article.php?id=83">
<title>祝!発売～すっきりわかったPHP</title>
<link>http://aoi-project.com/pblog/article.php?id=83</link>
<dc:date>2008-01-15T10:30:55+0900</dc:date>
<description>
先月まで執筆していました「すっきりわかったPHP」が
ついに発売されます。

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

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


フレームワー...</description>
<content:encoded>
<![CDATA[
<p>
先月まで執筆していました「すっきりわかったPHP」が
ついに発売されます。
</p>
<p>Amazonで予約可能になりました！</p>
<p>
PHPで何ができるのか、どんな感じで開発をしていくのかを、
広く浅く紹介するという内容になっています。
</p>
<p>
フレームワークや、テンプレートエンジンの紹介、<
文法の紹介から、PHPと他の言語の比較、
トレンドや周辺ツールやライブラリ、セキュリティーなど、
PHPのツボを押さえておきたい人に最適の内容です。
</p>
<p>PHPって、今、どうなっているの？の問いに答えています。</p>
<p>
PHPが気になっている人やPHPで開発をやってみたい人だけでなく、
Webアプリケーションの作成を、誰かに依頼しようと思っている人も必見です。
</p>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=text2musiccom-22&o=9&p=8&l=as1&asins=4756151019&IS1=1&fc1=000000&lt1=_blank&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0">
</iframe>

]]>
</content:encoded>
</item>

</rdf:RDF>