2007-12-01から1ヶ月間の記事一覧

PHPでTokyo Cabinetハッシュデータベースサーバを作ってみた

Tokyo Cabinetのデータベースは書き込みモードで開くと排他ロックがかかるので、Apache2 (prefork)+mod_phpやCGIのようなリクエストごとにPHPのプロセスが分かれているWebアプリケーションでTokyo Cabinetを読み書き両用で使うのは苦しいものがあります。(コ…

その道は私が一月前に通った道だ!

PHP

shimookaさんとこ経由で知ったのですが、僕がゆっくりしている間に(実際はいろいろあったわけですが)PHP 5.3に無名関数やらクロージャやらを実装する話が進んでいた模様。 ループで使えないとかopcode cacheとの相性が悪いとか言われていたので、拙作パッ…

php_yaml-0.3.0: 品質向上

php_yaml-0.3.0.tgz PHP6のUnicode文字列対応を改善。

php_unichar-0.3.0: 品質向上

php_unichar-0.3.0.tgz PHP6用コードを改善。 ZTSモードでの不具合を修正。

php_tokyocabinet-0.3.0: Tokyo Cabinet 1.1.x対応(専用)

php_tokyocabinet-0.3.0.tgz Tokyo Cabinet 1.1.0で加わったAPIを実装。 TCHDB::setcache() TCBDB::range() TCBDB::rangefwm() IDLに合わせてTCBDBクラスのメソッドを名称変更。古い名前も残しているが、非推奨。 putdupall→putlist, outall→outlist, getall…

php_speedy-0.2.0: t()とかpt()とか

php_speedy-0.2.0.tgz HTMLタグを生成する関数を追加。 string t(string $name[, string $content[, array $attributes[, bool $close]]]) タグを生成する。 void pt(string $name[, string $content[, array $attributes[, bool $close]]]) タグを出力する。

php_senna-0.2.0: SenContext::recv()を修正

php_senna-0.2.0.tgz id:tasukuchanに「sen_ctx_recv()のSEN_CTX_MOREは意味があるので連結しちゃダメ」と教えてもらったので修正。 SenContext::recv()は結果を連結せずに、最初に返ってきた結果だけを返す。 SenContext::has_more()で結果に続きがあるかを…

php_rskit-0.1.0: PHPでMix-in

php_rskit-0.1.0.tgz 新作。PHPでクラスをMix-inするRSKit::mixin()等のユーティリティクラス。詳細はあとで追記します。追記: バージョン0.2.0に関するエントリに使い方を書いています。

php_mecab-0.3.0: 某所より引っ越し

php_mecab-0.3.0.tgz PHP 5.3/6.0に対応。 PHP6のUnicode文字列とC文字列の相互変換をするエンコーディングを指定するためのphp.iniディレクティブmecab.internal_encodingを追加。 指定できる値はICUが対応しているエンコーディング名で、デフォルト値はUTF…

php_iovm-0.5.0: IoVector対応

php_iovm-0.5.0.tgz PHP6のUnicode文字列対応を改善。 IoのVectorオブジェクト互換のPHPクラスIoVectorを追加。 32bit浮動小数点数のベクトル演算を扱うクラス。(SIMD対応) IoStateとは別に単独で使用可能。 PHPの変数とIoの変数の相互変換にも使われる。 Io…

php_epeg-0.2.0: 某所より引っ越し

php_epeg-0.2.0.tgz PHP 5.3/6.0に対応。 必要最低限以外のJPEGマーカーを削除するコードを修正。

php_continuation-0.2.0: PHP6対応

php_continuation-0.2.0.tgz PHP6に対応。 未定義のクラスが指定された場合は__autoload()を使うように変更。

php_calias-0.1.0: __autoload()対応

php_calias-0.1.0.tgz 未定義のクラスが指定された場合は__autoload()を使うように変更。 実行時にCG(class_table)を参照していたのをEG(class_table)を参照するように修正。

PHP拡張モジュールの歳末大放出

溜まりに溜まっていたのをまとめてリリース。それぞれの詳細は個別のエントリで。 php_calias-0.1.0.tgz php_continuation-0.2.0.tgz php_epeg-0.2.0.tgz php_iovm-0.5.0.tgz php_mecab-0.3.0.tgz php_rskit-0.1.0.tgz php_senna-0.2.0.tgz → php_senna-0.2.…

周回遅れのPiece Network 1レポート

PHP

今更ですがPiece Network 1のレポートというか、発表しての感想をば。資料は来週末ぐらいを目標に、紹介しきれなかったSPLクラスの分も加筆して公開します。 SPL入門 「SPL入門」というタイトルで話させていただきました。 SPLは「これまでできなかったこと…