今日は研究室希望配属先の予備調査でした。
例によって、組み込みシステムなどを研究している
福田先生の研究室を希望したのだけど、
学年4位のK様とかぶってしまった~
ちなみに私の成績は25/170位とまあまあ。
とりあえずこのまま希望出しとくかな。
後は運次第。結果は11日発表。

ちなみに今日は九大の合格発表も外で行われていました。
外でワーワー歓声が上がってましたなぁ。
合格した人おめでとう!
i-mode,Vodafone,EzWeb の3つのキャリアを判定し、
キャリアごとのカウンタを表示するプログラムです。
PC: 10 i-mode: 5 EzWeb: 3 Vodafone: 1
↑このように表示されます。
preg_match関数を使ってみましょう。

<?php
$filename = "./count.dat"; // データファイル名
$keta = 5; //カウンタ表示桁数

$file = fopen($filename,"r+");
$buffer = fread($file,filesize ($filename));
list($pc,$imode,$ez,$vodafone,$ip) = explode("<>",$buffer);
$myip = getenv("REMOTE_ADDR");

if($myip != $ip){ //同一IPでなければカウントアップ
 if(preg_match("/DoCoMo/i",$_SERVER['HTTP_USER_AGENT'])){ // ドコモにマッチ
  $imode++;
 } else if(preg_match("/J-PHONE/i",$_SERVER['HTTP_USER_AGENT'])){ // Vodafoneにマッチ
  $vodafone++;
 } else if(preg_match("/UP\.Browser/i",$_SERVER['HTTP_USER_AGENT'])){ // auにマッチ
  $ez++;
 } else{
  $pc++;
 }
}

$pc = sprintf("%0".$keta."d",$pc);
$imode = sprintf("%0".$keta."d",$imode);
$ez = sprintf("%0".$keta."d",$ez);
$vodafone = sprintf("%0".$keta."d",$vodafone);

//表示部(編集してください)
echo "PC: $pc i-mode: $imode EzWeb: $ez Vodafone: $vodafone";

ftruncate($file,0);
rewind($file);

//ファイルロック処理
flock($file,LOCK_EX);
fwrite($file, $pc."<>".$imode."<>".$ez."<>".$vodafone."<>".$myip);
flock($file,LOCK_UN);
fclose($file);
?>
塾のバイトも昨日で終了しました!
新しいバイト探さなきゃな・・・

パソコンももはや一人1台の時代。
ほとんどの家庭にもインターネットに接続できる環境が整ってきました。
自宅でサーバーをたてている人も増えているようですね~
中にはサーバーって何!?という人も多いと思いますが。
HPのデータを配信したり、メールを送ったりそういう
サービスを提供するコンピュータのことですね。簡単に言えば。
そんなの高性能のコンピュータが必要で、お金もかかるじゃんと
思う人が多いかと思います。
実は家に眠っている型落ちのパソコンでも十分サーバーとして使えるのです。
気にするのは電気代くらいです。
押入れにしまった古いパソコンを引っ張り出してきましょう!
OSはWindowsではなくLinuxを使うとよいと思います。
おすすめはVineLinuxでインターネットから無料でダウンロードできます。
http://vinelinux.org/getvine.html#ViaFTP
上のFTPサイトから最新版のCDイメージファイルをダウンロードし、
ライティングソフトでCD-Rに焼いてください。
そして、パソコンのBIOSの設定をCDからBOOTするようにしてください。
あとは焼いたCDをドライブに入れてパソコンを立ち上げると
VineLinuxのインストール画面が現れます。
後は画面に従ってインストールするだけですね!
HPを配信したい人はWebサーバーを、メールアドレスを
作りたい人はSMTP、POPサーバーを立ち上げてみましょう。
昨日は高3のクラスの同窓会でした。
11人しか来なかったから少し寂しい感じでしたが。
旧友と話していると、香水についていろいろ勧められたので書いておきます。
ネットで調べてみると、男性に人気なのは

1位 ブルガリ・プールオム
2位 グッチ・ラッシュフォーメン
3位 ヴェルサーチ・ブルージーンズ

だそうです。
買うならミスター○ックスや天神ビブレとコアの間の地下街にある店が安いらしいです。
PHPではPerlの正規表現をサポートしており、
preg_matchやpreg_replace関数などで利用できます。
正規表現とは文字列のパターンを表す記号などの羅列です。
これにより、あるパターンに合致する文字列を検索・置換することが可能です。
非常に便利なものなので必ず覚えましょう!

メタキャラクター一覧

\  直後のメタキャラクターを文字として扱います
^  行の先頭にマッチします
.  任意のキャラクター(改行を除く)にマッチします
$  行の終端(もしくは行末の改行の直前)にマッチします
|  選択
()  グループ化をします
[]  文字の集合を表します

以下は直前の文字や集合に対して適用されます

*  ゼロ回以上の繰り返しにマッチします
+  一回以上の繰り返しにマッチします
?  ゼロ回もしくは一回の繰り返しにマッチします
{n}  n回の繰り返しにマッチします
{n,}  少なくともn回ある繰り返しにマッチします
{n,m}  n回からm回の間の繰り返しにマッチします

以下のような文字を表す表現が使えます

\w  キャラクタ(アルファベット、数字、“_”)にマッチします
\W  キャラクタでないものにマッチします
\s  空白(whitespace)キャラクタにマッチします
\S  非空白キャラクタにマッチします
\d  数字にマッチします
\D  非数字にマッチします

上記を参考に以下に例を示しましょう。
例:自動リンクスクリプト
$buffer中にURLがマッチしたらリンクをはります。
$buffer = preg_replace("!(https?|ftp)(://[\w\+\$\;\?\.%,\!#~*/:@&=_-]+)!","< a href="\\1\\2" target="_blank\" >\\1\\2</a>",$buffer);