スクラム道.01

スクラム道.01に参加した。
遅刻してしまって西村さんのプレゼン聞きそびれた。
ただ、その後参加者のディスカッションが始まり、
様々な体験談が出てきて、とても勉強になった。
一言に振り返りといってもいろいろな方法で、
様々な目的のために行われることがあるんだなと。
最近少し、振り返りの意味を見失っていたような気がするので
すごくいい機会になった。
 
参加者の大半の方はスクラムマスターとして
活躍されている方のようで、いろいろためになる話をしていたが、
自分はまだスクラムを初めて半年。。。
なかなか発言するタイミングを見つけられなかった。
でも、参加者の話を聞いているだけでもだいぶ勉強になった。
 
次回参加できたらもっと発言できると良いな。
 
今日は風邪を引いてしまっていたので、
その後の懇親会は参加せず帰ってきてしまった。
次回は体調を整えて最初から最後まで参加したいなあ。


忘れがちになりそうなので書いとく。
アジャイルの目的は顧客満足の向上
→頻繁にリリース(顧客の競争力)
・そのためには自律的で強調性のあるチーム
→チームのパフォーマンス
→情報の伝達は会話

アジャイル開発

最近、アジャイルで開発を進めている。
手法としてはスクラムになる。
 
いままで、アジャイルを勉強していない訳ではないが、
ちゃんと学んだり、体験するのは今回が初めて。
さらにそれをチームのリーダーとして行えるという
とてもありがたい環境にある。
さらにさらに、外部からアジャイルコーチを呼んでもらえ、
いろいろ教わりながら進めている。
 
今までは、一つ一つプラクティスを教えてもらい、
それをこなしていくのに精一杯だった。
 
だが、半年以上やってきて、ここにきてやっと自分の中に
浸透し、もっといろんなことをやってみたいと
とらえられるようになってきた。
 
このままいくとアジャイルでの開発しか
出来なくなるのではという思いさえ出てきた。
 
今後もメイン言語はPHPだろう。
なので、今はPHPで上手にアジャイルをするために
必要なことをみつけ、自分のものにしていきたい。

file_existsでinclude_pathも含める。

Ethna_Utilクラスにfile_exists_exという関数があり、
それでやりたいことはできそう。
ただ、今回はスクラッチから作っているので、簡単に書いた。

<?php
$fp = @fopen($filename, "r", 1);
if(is_resource($fp) == true) {
    fclose($fp);
    require_once($filename);
    return true;
}

fopenの第3引数がinclude_pathを使用する、しないのフラグなのは知らなかった。
ほんとは"@"とか使いたくないんですけどね。。。
いい方法ありませんか。。。

エラーをブラウザ上に表示

二行目とかに一文追加。

use CGI::Carp qw(fatalsToBrowser);

特に指定しなければhttpdのログにかかれる。

use CGI::Carp;

ただし

Premature end of script headers: test.cgi

の場合はブラウザには表示されない。


■以下のソースをshellから実行した。

!#/usr/local/bin/perl
use CGI::Carp qw(fatalsToBrowser);
$foo = 10;
warn "$foo";

・実行結果(error_log)

[Fri Feb  6 17:02:16 2009] test.cgi: 10 at test.cgi line 4.

■以下のソースをブラウザから実行した。

!#/usr/local/bin/perl
use CGI::Carp qw(fatalsToBrowser);
$foo = 10;
warn "$foo";
print "Content-type: text/html\n\n";
print "test";

・実行結果(ブラウザ)

test

・実行結果(error_log)

[Fri Feb  6 17:02:16 2009] test.cgi: 10 at test.cgi line 4.

setcookie

ビビったのでメモ
Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/index.php) in /var/www/html/index.php on line 3

みたいなエラーがでた。
setcookieの前にエラーが出て、htmlが出力されたから。
setcookieとかhttpのheaderにかかわる関数の場合、display_errorsをonにしていると別のところでエラーが出た時にこのエラーが出る。
別のところのエラーを解消すると自分が考えた通りに処理が流れるため、出なくなる。

機種依存文字

以下の4文字をソースに含めるとエラーになった。

Ⅸ、硃、确、菑

・ソース

<?php
$str = "";

・エラーメッセージ

Parse error: syntax error, unexpected $end in C:\work\PlatformDependentCharacters.php on line 3

・環境
OS:WindowsXPSP3
WEB:apache 2.0.54
PHP:PHP5.2.6


CLIでもおなじエラーが出る。。。Windowsだからなのかな???

機種依存文字チェック

    // 13区 0x8740〜0x879F  NEC-IBM拡張 0xED40〜0xEEFC  IBM拡張 0xFA40〜0xFC4B  外字 0xF040〜F9FC
    if(preg_match("/([\x87][\x40-\x9F]|[\xED-\xEE][\x40-\xFF]|[\xFA-\xFB][\x40-\xFF]|[\xFC][\x40-\x4B]|[\xF0-\xF9][\x40-\xFF])/", $str)) {
        echo "機種依存文字あり";
    }

こんな感じでどうだろう??
ざっくりしたテストしかしてません。