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

Piece Framework勉強会に参加してきました

先週末のことになりますが、第8回Piece Framework勉強会に参加してきました。 こちらのミスで飛び入り参加のようなかたちになってしまいましたが、快く迎えてくださってありがとうございました。>all (あとで申し込みのメールを見直してみたら、サブジェク…

php_qr 0.2.2: OO-APIのバグ修正

php_qr-0.2.2.tgz QRCodeクラスでmaxnum=1のとき、finalize()をコールしても内部的にfinalizeしたことになっていなかったのを修正しました。

業務(?)連絡

名古屋止まりらしいので乗り過ごす心配はなさそうです。 追記: 名駅では無事に降車。 在来線に乗り換えて目が覚めたら三河安城を一駅過ぎて安城だったのはたぶん気のせい。 少なくとも(高校時代)目が覚めると県境のトンネルを越えてそこは岡山だったのに比べ…

オレオレパッチ

PHP

ちょっとだけ便利になるパッチたち。PHP 5.2.3 向けです。 php-5_2_3-config-file-scan-dir.patch CLI とその他 SAPI で config_file_scan_dir を分ける。 CLI 用の config_file_scan_dir は configure --with-config-file-scan-dir で設定したパスに接尾辞 …

jQuery で MochiKit ライクな DOM 生成

車輪の再発明である可能性はひじょーに高いですが、この程度なら探すより書くほうが早いので作ってみました。 MochiKit のように H1([attributes[, node(s)[, ...]]) で jQuery オブジェクトが生成できます。 あえて jQuery.fn.extend() せず、window オブジ…

ブログアプリケーションの作成ですと!

技術評論社のサイトで連載 Piece Frameworkによるブログアプリケーションの作成 が始まりました。 Piece Frameworkは,本質的な開発の実践のためのアプリケーションフレームワークです。この連載では,簡単なブログアプリケーションの作成を通して,ステート…

php_qr 0.2.1 & php_yaml 0.0.4

いずれもメンテナンスリリースで、新機能等はありません。php_qr-0.2.1.tgz 標準で読み込まれるヘッダで TRUE および FALSE が定義されていないとコンパイルできない問題を修正。 JSON 出力時、ダブルクォートで囲まないように変更。 php_yaml-0.0.4.tgz コ…

QDBM のユーティリティ API : Cabin

便利そうな関数がいっぱいあったので、その中から cbxmlbreak & cbxmlattrs を使った単機能エクステンションの習作を。 XML (ていうか SGML) のテキストデータを配列に分割する関数です。DOM や正規表現でゴリゴリするよりシンプルな処理に。 普段は CodeGen…

Parallels 導入

Mac

IE で Web サイトの確認をするために Parallels Desktop for Mac 3.0 と Windows XP を購入しました。 インストールは難なく終了し、あとは Parallels Tools をインストールして Coherence モードにすれば驚くほどシームレスに動作します。 さらに AppleK fo…

コルーチンもどき by 継続

php_continuation-0.0.5.tgz 既存の関数をクロージャ化する関数を追加しました。 string co_enclose(callback $func[, array $env_vars[, int $flags]]) これは co_make_callable(co_create($func, $env_vars, $flags)) を短く書けるようにしたものです。 引…

CVS の python 拡張モジュールが良さげな件

PECL のサイトでは放置されてると思いきや、CVS のログを見ると先月末あたりから開発が再開されている模様。 Python クラス専用の zend_object_handlers 構造体のメンバを全て書き下ろして、マジックメソッド相当のことをよりネイティブに実装されています。…

マジックメソッドで遊んでみる

PHP

__call(), __get(), __toString() を使って実験。 _name = (string)$name; } public function __call($name, $args) { return new MagicChain(sprintf('%s::%s(%s)', $this->_name, $name, serialize($args))); } public function…

Continuation 0.0.4

php_continuation-0.0.4devel.tgz 一昨日書いた以下の項目を実装。 配列で continuation に渡す引数リストを指定する方法はダサいしミスの元になりやすいので、次のバージョンでは後方互換性を無視して可変長引数にしようと思います。 今は実行時にローカル…

スレッディング拡張モジュールは断念

PHP

APR を使えばプラットフォームごとのスレッドの実装に気を遣わなくていいじゃーん! ってことでクラス図を書いたりなんかしてやる気マンマンだったのですが、関数のコールスタック EG(argument_stack) とかその他諸々のスレッド間で独立していないと困る情報…

Teaser

PHP

Class Chart of AtThread, Draft 2 posted by (C)rsk Class Chart of AtThread, Draft 2.1 posted by (C)rsk

Continuation 0.0.3

php_continuation-0.0.3devel.tgz 昨日予告してたやつです。 array co_inspect(resource continuation $co) continuation にバインドされている変数のコピーを取得する。 アーカイブに付属の使用例だと何が嬉しいのかよく分からないと思うので、別の例をば。…

Continuation 0.0.2

php_continuation-0.0.2devel.tgz コールバック関数がコードによっては予期しない動作をする可能性があったので、修正版をリリースします。 次のバージョンでは、continuation にバインドされている変数をエクスポートする関数を実装する予定です。

コルーチン改め継続

php_continuation-0.0.1devel.tgz 別に C言語レベルでコンテキストスイッチしなくても、関数が呼び出される際の状態を保存・復元すれば似たようなことができるじゃん! と思いつき、変数のシンボルテーブルの複製をリソースにすることでコルーチンっぽい操作…

OpenDogs Extension 0.4.0

php_opendogs-0.4.0.tgz IEEE754 に基づいた浮動小数点数/16進表記文字列の変換をする関数を追加。 string od_float2hex(float $num[, bool $as_single = false]) 浮動小数点数の16進表記を得る。$as_single が true かつ $num が単精度で表現可能な値なら8…

素数探索

PHP

予め生成しておいたテーブルから素数を探索するクラスを作ってみました。 31ビットで表せる素数は 2 から 2147483647 (0x7fffffff も素数!) までの約1億500万個あるのですが、二分探索法を使って高速・省メモリに素数を調べることができます。 ダウンロード …

コルーチン実装失敗

PHP

ここ二日ほど某イベント用に PHP でコルーチンを実現するエクステンションを作ってました。 ・・・が、どうも ZendEngine の VM と、コルーチンを呼び出す/コルーチンから復帰する際のコンテキスト切り替えの相性が悪いらしく、特定の条件でしかまともに動か…