Piece_ORMでSQLite3を使ってみる

Piece_ORMはPiece Frameworkのプロダクトのひとつであり、単体でも使えるO/Rマッパです。非常に使いやすく、Piece_Unityを使わない人にもおすすめです。使い方は公式サイトのほか、くまっち先生のブログでも紹介されています。(http://hatotech.org/kumatch/…

PantherでSennaを使う

Mac OS X 10.3.9でSenna 1.1.1がコンパイルできなかったので、やっつけパッチを書いてみた。 lib/com.cはstruct iovectorのため、lib/scm.cはgcc 3.3のバグかな?senna-darwin7-gcc33.patch Index: lib/com.c ==============================================…

1000speakers:3に参加します

1000speakers:3がPHP拡張勉強会の前日ぽいので申し込んでみました。id:takagimasahiroさんにそそのかされて(笑)、勢いでスライドの1ページ目を作りました。話す人の募集に間に合うかどうかはともかく。 PHPからQIQへ (表紙) posted by (C)rsk PHPからQIQへ (…

QIQエクステンションを更新

php_qiq-0.6.0.tgz PHP 5.2.6RC1に対応。 無名関数のシンタックスシュガー $(($arg){ return $result; }) を廃止。*1 連想配列のキーと値の区切り文字にコロンを使えるようにした。*2 *1:また復活するかも。 *2:=> との混在もあり。そうできないように制限す…

QIQの設計と実装

QIQエクステンションがやっていることについて。 PHPというかZend Engineでは、コンパイラとエクゼキュータが関数ポインタになっており、それぞれファイルの内容から実行コードを生成するzend_comiple_file、文字列から実行コードを生成するzend_compile_str…

続々・Zend Engine Hack (クロージャもあるよ) (拡張モジュールもあるよ)

PHP

php_qiq-0.5.0.tgz (PHP 5.2用拡張モジュール) php-5.2.5-rsky-080228.patch (PHP 5.2.5用パッチ) php-5.2.5-rsky-080228-win32.zip (Windows用バイナリ) 拡張モジュール版もできました。普通のPHP extensionとしても使えますし、Zend extensionとしてAPCやe…

続々・Zend Engine Hack (クロージャもあるよ)【予告編】

PHP

php-5.2.5-rsky-080216n.patch (PHP 5.2.5用パッチ) php-5.2.5-rsky-080216-win32.zip (Windows用バイナリ) ※このパッチ・バイナリでは下記の機能の一部は利用できません。 Windows版はid:shimookaさんのhttp://www.doyouphp.jp/inst/inst_win_vcxe.shtmlを…

php_iovm-0.6.0

php_iovm-0.6.0.tgz Io-2008-01-20で動作確認。 IoVectorクラスをチューニング、SPLへの依存を廃止。 ArrayAccess, Countableをimplementする代わりに独自のハンドラを実装。 []で要素を追加できるようになった。 RINIT_FUNCTION, RSHUTDOWN_FUNCTIONが値を…

TextMateでPHPプログラミング(PHP勉強会 at 大阪 発表資料)

いつもながらイベントのレポートが遅くて恐縮です。PHP勉強会 at 大阪の発表資料を公開します。 今回もSlideShareにはねられ、handsOutにもはねられたのでPDFの直DLです。CIDフォント(ロダン)は使わず、OTFとTTFだけ(ヒラギノ角ゴ Pro + Myriad Pro + ア…

諸君 私は珈琲が大好きだ

諸君 私はPHPが好きだ 諸君 私はPHPが大好きだ "諸君、私はPHPが大好きだ" - ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011) 昔、大学の卒論の中間発表のとき、壁紙を自作の「諸君 私は珈琲が大好きだ〜」にしていたのを思い出した。 いま思うと狂っていたとし…

今日のPEARニュース (1/31)

PHP

DB_DataObject 1.8.8とHTML_Template_Flexy 1.3.0がリリースされました。DB_DataObjectはバグ修正のみ、Flexyは新機能も追加されています。 New Features #7609 - support user defined compilers as compiler object #11741 - getOptions / clearOptions - …

qiq: immo quo

PHP

PHPの壁に当たったとき 素直にそこは代わりのものを使うのがよく訓練されたぺちぱー よーしおじさんextension書いちゃうぞーとなるのがぺくらー 本体へのパッチを書くのが僕 パッチがスルーされて切ないのも僕 ならば既成事実を作ってやろうとコンパイラを差…

憑き物ではなく

詰め物が落ちた。歯医者に行こう。 詰め物 posted by (C)rsk

寂寥感

Mac

エルゴソフト egword、egbridge パッケージソフト事業終了のお知らせ http://www.ergo.co.jp/news/withdrawal.html まだインターネット接続がダイヤルアップだったころ、ネットゴーランドのアンケートはがきを送ったらプレゼントに当選してEGWORD PUREをもら…

RSKit 0.2.0: RSKit, Scope, Klosure

php_rskit-0.2.0.tgz RSkit::mixin()で任意の数のクラスを一度にMix-inできるようにしたり、ScopeクラスにcallメソッドとcallWithArgumentsメソッドを追加したほか、実験的な抽象クラス“Klosure”を追加しました。 また、Scopeクラスでinclude_pathが指定でき…

ムラムラして作った。反省はしていない

我が家から直線距離にして約500km離れたサイボウズ・ラボでPHP拡張勉強会が行われている最中、Twitterとかid:shimookaさんの実況中継とか尾藤さんのUstream(主に音声)だけでは飽き足らず、自分も書いた。 PHPの配列操作関数は破壊的なものばかりなので、非…

Final App Added to MacHeist Bundle

Mac

MacHeistに14番目のアプリケーションが追加されました。 VectorDesigner。PixelmatorがPhotoshopのオルタナティブなら、こちらはIllustratorのオルタナティブですね。Canvasがバージョン11からWindows専用になってしまった今、これは貴重。 僕はちょうど、ど…

TextMateネタでLT希望

1月31日木曜日、大阪の心斎橋でPHPの勉強会をやってみたいと思います。id:ku-sukeが中心となり参加者と発表者を募集しています。初回なのでPHP初級者や他の言語を普段利用してるプログラマの方、 デザイナの方を主な対象に考えています。 2008-01-20 Event E…

rsk3段活用

アカウント名のはなし。 実名のabbreviationで、rsk → rsky → rskym と格変化します。*1 rsk: R**S*K* ******** rsky: R****** S*K*Y*** rskym: R****** S*K*Y*M* rsk(山陽放送ではありません)がベストなわけですが、アカウントが既に押さえられていてrsky…

Pannus iactus est.

PHP

件のパッチをRFCとしてphp.internalsに投げました。(高木さん、チェックありがとうございました) php.internals: [RFC] Square brackets shortcut php.internals: [RFC] Anonymous functions さて、どうなることやら...

gihyo.jpでPHP拡張モジュールの作り方の連載をはじめます

gihyo.jpでPHP拡張モジュールの作り方の連載をさせていただくことになりました。このエントリの執筆時点ではまだ公開されていきませんが、今日から隔週で掲載予定です。 まず第1回はCodeGen_PECLとautotoolsをインストール、第2回はHello, World!を表示する…

Piece Network 1 資料公開

PHP

かなり遅れてしまいましたが、Piece Network 1 の発表資料を公開します。 順番を差し換えたり、会場では紹介できなかったSPLのクラスの記述も追加しました。書き上げてから「単なる一覧で、解説のトークがないと分かりづらいのでは?」と思ったけど後の祭り…

TCHDBServerを修正

大晦日のエントリでPUTのリクエストエンティティ取得が遅いと書きましたが、原因はサーバの実装がRFC 2616/HTTP 1.1に準拠していなかったことでした。つまり全面的に僕が悪かった、と。orz pecl_http (というかcURL) はPUTメソッドのリクエストを送信すると…

そろそろケンタッキーのCMについて一言いっとくか

「むーしゃ、むーしゃ、しあわせ〜♪」 が 「むーざん、むーざん、しあわせ〜♪」 に聞こえて仕方ない。 フライドチキンは死狂ひなり。シグルイ 2 (チャンピオンREDコミックス)作者: 山口貴由,南條範夫出版社/メーカー: 秋田書店発売日: 2004/06/24メディア: …

新年あけましておめでとうございます

昨年は「ホップ・ステップ・ジャンプ」のうち「ホップ」する機会をいただいた年でした。 今年は自分で「ステップ」を踏み出し、「ジャンプ」します! 文字だけではさみしいので、今朝の逆氷柱など。 逆氷柱1 posted by (C)rsk 逆氷柱2 posted by (C)rsk 子年…

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…