Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

過去ロゴ

via. http://blog.roshambo.org/archives/A-brief-history-of-PHP-logos.html

過去ログではなく、PHPの歴代のロゴが集められてます。丸付きの「3」付きとか懐かしい。。。そういえば、丸4もあった気がする:-)
個人的には、エイプリルフールの時だけ現れる

このぐにゃっとなったのが好きです。にしても、一番左にあるPHP3のロゴは記憶にないなぁ。。。

子育てマイアルバム

memokamiさんがケータイ向けの新しいサービスをされたようですので、その告知です;-)

テーマは 「家族」
目的は 「子育てを通じて夫婦の仲を良くする」サービスです。
サイト名は「子育てマイアルバム」〜夫婦で一緒につける子育て日記〜 です。

*************************
★子育てマイアルバム
http://fmob.jp
*************************

ブログと違って公開されず、夫婦だけのクローズドアルバムです。

ケータイだけで書き込みや写真を投稿できるように、
出来る限りシンプルにして、初めての方でもわかりやすいように、
チュートリアル(簡単な使い方)を充実しました。

いつも帰りが遅いお父さんや、
子育てを頑張っているお母さんが
気軽に使えるサイトを目指しました。

子どもが少しお昼寝したときにつけられる日記。
仕事の合間に、今日の様子が見れる日記。

そんなコンセプトで子育てマイアルバムを作りました。

もしよろしければ、使ってみてください!

(今回は開発以外のところにすごい時間がかかりました(>_<)) 

なんか、うちは完全にターゲットに入ってるみたいなんですがww

早速登録させてもらって嫁と使ってみましたが、確かにチュートリアル的要素が前面に出ていて、次に何をすればいいかが非常に分かりやすく、操作なども迷う事はありませんでした。最初の登録とかで躓いてしまうサービスはやはり使いにくい印象を与えてしまうと思うので、この辺はすごくいい感じですね。

ちょっとお話を伺ったところ、やはり「自分が欲しいサービスを作った」という事でした。まさに、必要は発明の母;-) また、今回のサービスは、コンセプト作りとか仕上げの部分でかなり時間を取ったようで、その辺りは画面や機能の細かいところにちゃんと出ている印象を受けました。

いつも技術的なところに目がいってしまいがちですが、コンセプトとか目指す方向とか、サービスに対する「こだわり」といった「テクニカルでない要素」がサービスの質に大きく影響するんだなぁ、とmemokamiさんの仕事に感心した次第です。

rar 1.0.0を試してみた

stable版がリリースされたので、試してみました。


PHP extension for reading Rar archives using bundled unRAR library.

PHPマニュアルに掲載されたサンプルにちょっと付け加えて、rar拡張モジュールで提供されているすべての関数・メソッドを一気に試すサンプルです。なお、test.rarには、以下の4ファイルが含まれています。

<?php
$fp = rar_open('test.rar') || die("アーカイブをオープンできません。");

$entries = rar_list($fp);

foreach ($entries as $entry) {
    echo 'ファイル名: ' . mb_convert_encoding($entry->getName(), mb_internal_encoding(), 'utf-8,sjis-win,eucjp-win') . "\n";
    echo '圧縮時のファイルサイズ  : ' . $entry->getPackedSize() . "\n";
    echo '展開後のファイルサイズ  : ' . $entry->getUnpackedSize() . "\n";
    echo 'ファイルのCRC           : ' . $entry->getCrc() . "\n";
    echo 'ファイルのタイムスタンプ: ' . $entry->getFileTime() . "\n";
    echo 'ファイルの属性          : ' . $entry->getAttr() . "\n";
    echo 'ファイルの圧縮方法      : ' . $entry->getMethod() . "\n";
    echo 'ファイルのホストOS      : ' . $entry->getHostOs() . "\n";
    echo "使用したRarのバージョン : " . $entry->getVersion() . "\n";

    $entry->extract('./extract/');
}

var_dump(rar_entry_get($fp, 'pr.htm'));
var_dump(rar_entry_get($fp, 'non_exist.html'));

rar_close($fp);

実行結果は次のような感じです。

$ php -v
PHP 5.2.5 (cli) (built: Feb 18 2008 19:23:28)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
    with Xdebug v2.0.2-dev, Copyright (c) 2002-2007, by Derick Rethans
    with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
$ ls
rar.php  test.rar
$ php rar.php
ファイル名: php_5_1_3-php_egg_logo.gif
圧縮時のファイルサイズ  : 3804
展開後のファイルサイズ  : 3810
ファイルのCRC           : f2fd6461
ファイルのタイムスタンプ: 2008-02-27 00:28:14
ファイルの属性          : 32
ファイルの圧縮方法      : 51
ファイルのホストOS      : 2
使用したRarのバージョン : 29
ファイル名: pukiwiki.css
圧縮時のファイルサイズ  : 1966
展開後のファイルサイズ  : 8742
ファイルのCRC           : 6c3ee619
ファイルのタイムスタンプ: 2008-02-08 20:17:12
ファイルの属性          : 32
ファイルの圧縮方法      : 51
ファイルのホストOS      : 2
使用したRarのバージョン : 29
ファイル名: pr.htm
圧縮時のファイルサイズ  : 3892
展開後のファイルサイズ  : 22136
ファイルのCRC           : 16c7b78d
ファイルのタイムスタンプ: 2008-01-28 00:56:06
ファイルの属性          : 32
ファイルの圧縮方法      : 51
ファイルのホストOS      : 2
使用したRarのバージョン : 29
ファイル名: tracのセットアップ.txt
圧縮時のファイルサイズ  : 5730
展開後のファイルサイズ  : 19922
ファイルのCRC           : 797e0b60
ファイルのタイムスタンプ: 2008-01-28 15:07:20
ファイルの属性          : 32
ファイルの圧縮方法      : 51
ファイルのホストOS      : 2
使用したRarのバージョン : 29
object(RarEntry)#5 (10) {
  ["rarfile"]=>
  resource(4) of type (Rar file)
  ["name"]=>
  string(6) "pr.htm"
  ["unpacked_size"]=>
  int(22136)
  ["packed_size"]=>
  int(3892)
  ["host_os"]=>
  int(2)
  ["file_time"]=>
  string(19) "2008-01-28 00:56:06"
  ["crc"]=>
  string(8) "16c7b78d"
  ["attr"]=>
  int(32)
  ["version"]=>
  int(29)
  ["method"]=>
  int(51)
}
NULL
$ ls extract/
php_5_1_3-php_egg_logo.gif  pr.htm  pukiwiki.css  tracのセットアップ.txt
$ 

まあ、今回試してみて分かった事が2つ。
1つ目は、最後のrar_entry_get関数でNULLが返ってきていますが、PHPマニュアルにはfalseが返されるとなっています。どっちが正しいんだ?
2つ目は、rarの作成って、ライセンスの都合で有償なんですね。。。道理で今までほとんど使わなかったわけだ。

顔文字で実行

PHP4限定ですが。
次のスクリプトを実行するとちゃんと「はろーわーるど」と出力されます。

<?php
function _($s) { echo "$s\n"; } define("・_・","はろーわーるど");_


         (・_・)

;

「・_・」の部分を「T-T」とか「^^」とか「T_T」とか全角の「^^」とか「><」に変えてもOKと思います。

追記(2008/02/27 18:32)

演算子(「-」とか)だとダメですねorz ヴぇくたーさん、指摘ありがとうございます。