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

PHP 5.3/6.0のpreg_replace_callback

PHP

最新snapshotにオレオレパッチを当てようとして気付いたのですが、PHP 5.3からはpreg_replace_callback()で名前付き捕獲式集合が使えるようになってます。 foo)/', 'cb', 'foobar'); 上記コードの結果はPHP 5.2までは array(2) { [0]=> string(3) "foo" [1]=…

php_iovm 0.3.0 について

http://blog.xole.net/article.php?id=625 で紹介していただいたphp_iovm 0.3.0ですが、10/16のエントリの影響をモロに受けるので、PHP 5.3/6.0ではコンパイルできません。来月中にはこの点の修正と、名前空間をサポートした0.4.0を出す予定です。 あとIoSeq…

MacPorts WikiJPでSenna関連のPortfileを更新

(一応)メンテナの僕がサボっている間はid:Voluntasさんが更新してくださっていました。ありがとうございます。 Senna 1.0.9 Tritonn 1.0.6 & MySQL 5.0.45 Ludia 1.3.1 for PostgreSQL 8.1.x Ludia 1.3.1 for PostgreSQL 8.2.x ところでSourceForge.JPからソ…

Core Graphicsでサムネイル作成

php_cgthumbnail-071023.zip php_cgthumbnail-071025.zip Photoshop出力で落ちるバグを修正。 Core GraphicsではQuickTime Imageフォーマットは読み込み専用だったので、出力フォーマットから除外。 オプションのパージングにいくつか問題があったのを修正。…

PHP5.3/6.0で参照カウンタを操作するマクロが変更されている件

PHP

いきなりIoバインディングのコンパイルが通らなくなって何事かと思いきや、最新snapshotではZVAL_ADDREF, ZVAL_DELREF, ZVAL_REFCOUNTがなくなり、代わりに以下のようなマクロ郡が追加されていました。PZVAL_IS_REFは残っていますが、後述する理由により、PZ…

黄龍レベル20

レベル20で黄龍がでっかくなった。しかしレベル12あたりからCPUがやたら強力になってきたような。 黄龍 Lv.20 posted by (C)rsk

サルベージ

紛失したものとばかり思っていたプロフィール画像のオリジナルを発見。 蛍光灯の写り込みがひどかったのでPixelmatorの試用版でちょっと補正してみました。起動の速さには驚き。操作感も良好。・・・でも現時点では買わないかなぁ。 ホワイトボードの落書き …

pyqr-0.2.0

pyqr-0.2.0.tgz qrcode()の第二引数がファイルオブジェクトだけでなく、cStringIOなどのファイル風オブジェクトを受け付けるようになりました。また、GD (GIF, JPEG, PNG, WBMP出力に使用) やzlib (TIFF出力に使用) に依存しないようにビルドするためのsetup…

Objective-CでPHPエクステンションを書いてみる

PHP

マカーかつ ぺちばー な僕としてはPHPにもPerlのCamelBones、PythonのPyObjC、RubyのRubyCocoaのようにスクリプトからCocoaを叩けるようなものがあれば嬉しいのですが、存在しない。しかもそれらと同等のものをつくるのはちょっと大変。 ならば次善の策とし…

PHP 5.3/6.0の名前空間とは

PHP

ぶっちゃけ本当の意味での名前空間ではありません。ちょうどPHPの無名関数が実はナル文字で始まる名前付きの関数であるように、ある名前空間において定義されたクラスや関数は、普通にスクリプトに記述するとパーズエラーとなる名前で共通のシンボルテーブル…

php_iovm 0.3.0

php_iovm-0.3.0.tgz説明を書く前にバージョンアップしてしまいました。 ビルドにはIoの最新版、Io-2007-10-03かgitの開発版が必要です。IoStatePrintCallbackの引数が変わったのでIo-2007-05-28ではビルドできません。 変更箇所は下記のとおりです。 PHP/Io…

エクステンションでforeachを簡単に書くには: イテレータ対応版

PHP

zval_foreach.h (ヘッダのみ) zval_foreach_example.tgz (CodeGen_PECLで生成したコードとサンプルスクリプトつき) IoでPHPのイテレータに対してforeachさせたかったので、イテレータ用のITER_FOREACHマクロを作成しました。マクロの内容はこのようになって…

エクステンションでforeachを簡単に書くには: PHP6対応版

PHP

PHP6ではUnicode対応のためハッシュテーブルのキーなどで引数の型が char ** から zstr * になっており、以前のHASH_FOREACHマクロは使えませんでした。 今回のものはIS_UNICODEが定義されていればUnicode対応のHASH_FOREACHマクロを定義します。 hash_forea…

php_iovm-0.2.0: IoでのPHPサポートを強化

php_iovm-0.2.0.tgz説明は後で書く予定なので概要だけ。 IoでPHPのクラス定数、スタティック変数、スタティックメソッド、インスタンス変数、インスタンスメソッドが利用できるようになりました。(少々ダサい使い方になりますが) 逆にPHPでIoObjectのスロッ…

現在の段位は

黄龍Lv.4です。朱雀マスターから黄龍に昇格するのにてこずりました。 基本的に個人対戦の麻雀格闘倶楽部ルールで遊んでます。

php_iovm-0.1.1: echoが要らない子に

php_iovm-0.1.1.tgz Ioは組み込み指向の言語であるわけで。ということは出力用コールバック関数が定義できて当たり前なわけで。 IoState_printCallback_でphp_body_writeのラッパーを指定するようになったので、PHP echoは、ほとんどの場合において不要にな…

php_iovm-0.1.0: PHPとIoの連携を強化

php_iovm-0.1.0.tgz ポインタ、intptr_t、longの大きさが異なる環境でも使えるようになった IoからPHPの定数・変数・関数が利用できるようになった IoからPHPの"echo"が利用できるようになった IoStateクラスにメソッドを追加 IoからPHPの定数・変数・関数を…