PEAR :: PEPr :: Details :: PHPRPC

Description

PHPRPC is a RPC (Remote Procedure Calling) protocol. It uses PHP serialize representation to transfer data, so the complex object such as multidimensional array, associative array and instance of object can be transferred with little redundancy. It was allowed to transfer data in security using XXTEA encryption algorithm.

面白い。 そもそもserialize後のデータ、あれって何か形式/フォーマット名あるのかな?

PHP: セッション処理関数(session) – Manual

session.serialize_handler string

session.serialize_handler は、シリアル化または シリアル化データを復元するために使用されるハンドラの名前を 定義します。現在、( php という名前の) PHP 内部 フォーマットおよび (wddx という名前の) WDDX が サポートされています。WDDX は、PHP がWDDX サポート を有効にしてコンパイル されている場合のみ使用可能です。デフォルトは、 php です。

「phpという名前のPHP内部フォーマット」かよ! ※原文だと「a PHP internal format (name php)」

じゃあおれの中だけで勝手に名前付けます。APIF(a PHP internal format)。 気を付けろ!会話中、ふつーに使ってくぞ!?

他の言語から扱うのでいうと、Perlでかなり前のMiyagawa TatsuhikoさんのPHP::Sessionモジュールがありますが、そりゃ、「PHP default serialization」としか言いようがないわな。

このフォーマットを汎用データ形式として広めようって剛の者はいないかな?

本題に戻ると、そもそもJSON-RPCの方がいいんじゃな(略。

今、気付いたんだけど、なんでおれ広告外してんだろう。 ニートでアサマシしたくない人がいようか。いやいまい。

広告の為だけにデザインをMTデフォルトに戻すこの通俗性。しびれます。 ちょうど今、他のサイトでスタイルシート書いたところで、こっちで作る気力が・・・。 CSSエナジーが回復したらやろうと思います。 副作用として過去記事に行けるようになりました。すごいね!

favicon.icoをページ内のimg要素として出したい時がある。

例えば、URLからfavicon auto-discovery(?)してそのサイトのアイコンとして出したい時とか。

good_favicon

こんな感じのヤツ。

ウザいことにIEだけが一部のfaviconが表示されない。なんでだ!

http://del.icio.us/favicon.ico はOK http://flickr.com/favicon.ico は駄目。 (はてなダイアリーはOK、フォトライフは駄目)

Firefoxなどでは拡張子がicoであれば中身はpngでもいいのでiconファイル形式かどうかが関係するんだと思ってた。でもどうやら違うらしい。

% HEAD http://flickr.com/favicon.ico
200 OK
Connection: close
Date: Mon, 07 Aug 2006 07:31:28 GMT
Accept-Ranges: bytes
ETag: "13e-c88f22c0" 
Server: Apache/2.0.52
Content-Length: 318
<strong>Content-Type: text/plain; charset=ISO-8859-1</strong>
Last-Modified: Sat, 03 Jul 2004 03:20:19 GMT
Client-Date: Mon, 07 Aug 2006 07:31:28 GMT
Client-Peer: 68.142.214.24:80
Client-Response-Num: 1

% HEAD http://del.icio.us/favicon.ico
200 OK
Connection: close
Date: Mon, 07 Aug 2006 07:31:39 GMT
Accept-Ranges: bytes
ETag: "18bc50a-57e-4250a771" 
Content-Length: 1406
<strong>Content-Type: image/x-icon</strong>
Last-Modified: Mon, 04 Apr 2005 02:33:21 GMT
Client-Date: Mon, 07 Aug 2006 07:31:40 GMT
Client-Peer: 206.190.56.150:80
Client-Response-Num: 1

Content-Typeを見てるみたいです。 相手のWebサーバの設定は変えようがないので、

&lt;?php
header('Content-Type: image/x-icon');
echo file_get_contents($_REQUEST['favicon']);
?&gt;

こんなのを作ってやって、

&lt;img src="favicon.php?favicon=http://flickr.com/favicon.ico /&gt;

こんな感じにする。 IE7ではどうなってるのかな。

昨日、チャリでコケて前輪が曲がった。

なるしま2号店に見せにいくと「応急処置はできるけど結局交換することになる」と言われたので交換することに。

2時間ぐらいかかるというのでそこら辺で時間潰してくるって言ったらチャリ(GIANTのMR-4)を貸してくれました。

MR4

ぐぁカッコいい…。

まて、これは欲しくさせていろいろ買わせる敵の罠だ! いや、しかし…。

PHP: 日付・時刻関数 – Manual

定義済み定数

以下の定数は PHP 5.1.1 以降で定義されており、標準的な日付の書式を表します。 日付フォーマット関数(date() など)で使用します。

DATE_ATOM (string) Atom (例: 2005-08-15T15:52:01 00:00)

DATE_COOKIE (string) HTTP クッキー (例: Mon, 15 Aug 2005 15:52:01 UTC)

DATE_ISO8601 (string) ISO-8601 (例: 2005-08-15T15:52:01 0000)

DATE_RFC822 (string) RSS (Mon, 15 Aug 2005 15:52:01 UTC)

DATE_W3C (string) World Wide Web コンソーシアム (例: 2005-08-15T15:52:01 00:00)

PHP5.1.1から時間マニアにはたまらない定数がたくさん追加されてる。

おかげで、

echo date(DATE_RFC822)

みたいに仕様名で書けて後から見てもわかりやすいコードがPEAR Dateを使わなくても出せるのが嬉しいです。 おれ的にはフィード関係を見てることもあって、DATE_ATOM, DATE_W3C辺りがこたえられません。(異常者)

しかし、PHP4の出番もまだまだ多いのでがっかり…と見せかけてPEAR PHP_CompatのCVSにはしっかり/Constant/DATE.phpが!!!

flickrss

ちょっとFlickrのRSSをユーザー名から取る必要があったのでいちいち作りました。

p0t::Flickrss

そんなんありそうだけどちょっと探して無かったので頭に来て作りました。 最初、切なくなる程遅かったんだけどphpFilckrはファイルにキャッシュできるそうなのでそれ使ったら速くなった。(時間+9されてないのは後で直す!)

ついでに以前作ったjsのFeed Parerもデモった。 (Descriptionが[Object]になってるのはごかんべんを!)

もっとアプリをカッとなってすぐ作ってしまえるように訓練したい。(結構時間がかかった)

% php -r '::';
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in Command line code on line 1

ってやると出るエラー。

PAAMAYIM_NEKUDOTAYIMってなに???

ぱあまいむねくどたいむ?ってなんだよっっ!

通るかっ!そんなもんっ!(カイジ)

…しかしっ、おれにはわかるぞ!偶然だが知っているぞ!

PHP: スコープ定義演算子 (::) – Manual

スコープ定義演算子 (Paamayim Nekudotayimとも呼ばれます)または より簡潔にダブルコロンはトークンで、 static, 定数および オーバーライドされたクラスのメンバやメソッドにアクセスすることができます。

これらの要素をクラス定義の外から参照する際には、 クラスの名前を使用してください。

Paamayim Nekudotayim は、まず、ダブルコロンの名前としては、奇妙に 思えるでしょう。しかし、Zend Engine 0.5 (PHP 3のエンジン)を 書いている時に、Zendチームはこう呼ぶと決めたのです。 これは、実際には、ヘブライ語でダブルコロンのことなのです!

「ふ・・・・・・ふざけるなっ・・・・・・!てめえっ・・・・・・・!」

「んなこと通るかっ・・・・・・・!変更するなら・・・・・・すぐ変更しろっ・・・・・・・!汚ねえぞ・・・・・・っ!」

「許せるかっ・・・・・!許せるかよっ・・・・・!そんなペテンっ・・・・・!」

safari-google

Safariでデザイン確認…はいいんだけどJSのデバッグはMac持ってないと無理…?

みんなどうしてんの?

mojavijapan

Mojavi本家がトンでるからよく考えたらソース自体が入手不能なんですよね。 ちょっとメール(というかmixiのメッセージ)頂いたのでMojaviJapanの方に分かり易く、2系・3系・4系のソースを置いておきました。

PEAR :: PEPr :: Details :: CAPTCHA

Description This package generates audio CAPTCHAs.

A CAPTCHA (see http://en.wikipedia.org/wiki/CAPTCHA) is a turing test to decide if a real person is accessing some resource and is typically a distorted image of some text. This package creates audio CAPTCHAS to help those who have difficulty reading this distorted text.

This package joins up multiple wav file recordings of individual letters/numbers being spoken, optionally adding distortion, creating an audio CAPTCHA.

proposalにAudio::CAPTCHAだって。へぇー。 たしかにTextのCAPTCHAってコンピューターと一緒に視覚障害者もブロックしちゃってたわけだ。