PHPのシステムをHHVMに載せた時に動かなくて直した所一覧

PHPの既存システムをHHVMに載せ、その後サービスを維持しつつHackに変え、静的型付けやモダンな書き方により、堅牢なものに変えていくことを目的に試験環境を構築しハマりつつも大体動いたレベルの所まで行ったのでここに残しておく。 phpconには行ってない…

技術的負債がいかに問題かをどう伝えるといいのか

沢山の方がチャレンジしては上手く行ったんだが行ってないんだがみたいな結果に終わるコレに自分もチャレンジしてみようと思う。上手く行ってるか分からないのは自分が技術者だからなんだけど。まず技術的負債って言葉で、何か悪いものがたまって行くのはわ…

Scala.jsで各種コードの変換結果を見てみる

どんな形で変換されるのかが知りたいケースがあったので調べた。 (主にjsのフレームワークのサンプルをScala.jsで書くとどうなるか等の用途) 変換後にはオブジェクト宣言部とかオーバーヘッド的なものが沢山生成されるが、今回の描きたい所ではないので省い…

便利だった赤ちゃんグッズを忘れないうちに書いておく

スイマーバ 赤ちゃんのクビにつける浮き輪。赤ちゃんがフワフワ浮いている状態になっていて可愛い。 お風呂に入れる際も親が両手を使えるので、実用面でも便利な模様。 ただ、ちょっとしたことで外れる可能性もあるので必ず目を離さないこと。 ミラーレス一…

jberkel/android-app.g8を使ってハマった所メモ

大して今更書く成果は無いんだけど誰かのお役に立てば Windowsでプロジェクト作成を行おうとすると死ぬ ディレクトリ関係の問題の模様。自分のとこだけかも。 プロジェクトさえ別OSで作ってしまえばその後はWindowsでも使える sbtの0.12系以上じゃないとsbt…

Smarty側に特に手を入れずにQuercus上で動かしたった

前回話しに上げた変更の property_existsの内部でissetFieldを使わせない getFieldでnullの時に次の候補(staticとか__get)とかに行かせずにnullを返す と言うものでまず最初の爆死がなくなり、次はnullオブジェクトに対してisTrustedTagを呼ぼうとして死、と…

Quercus上でのproperty_existsと__get

ソースを追ってみたところ、property_existsの方はClassesModuleと言うクラスにあり、内部的にはissetFieldと言う関数を参照していた。 名前から察する通りisset系なのでnullの場合はfalseになるようになっていた。 修正するとしたらissetFieldではなくhasFi…

SmartyがQuercusで動かない

しょっぱなから躓いた。ここにある理由の通り。 https://gist.github.com/4086394 property_existsはnullでもプロパティーが存在していればtrueなのにQuercusはそうなっていない。 Smartは__getや__callを結構駆使してるのでしょっぱなでコケる。 しょうがな…

Quercus調査はじめる

半分趣味的な部分もあり、Quercusでどのくらい近くにあるPHPがそのまま動くか、動かないかを調べ始めようと思う。 目的は既存PHPシステムの脱PHP。 ほぼそのまま動くのであれば既存システムが動く状態を維持しながら別のJVM上で動く言語に少しずつ切り替えて…