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

topがなかった

topコマンドが見当たらない!! prstat -a というコマンドを使うらしい。 作業の合間にクセのように指がtopとタイプして眺めてることがあるので、alias張るのもあり?

Vimでも

設定ファイルとかを弄る時は使ってたけど、Vimでもコーディングすることに。Ctrl-[ や Ctrl-c でもEscと同じように入力モードからコマンドモードへチェンジできることを知って、かなり楽になりました。 後、hjkl以外でも動けるんですね。 h, Backspace j, Ct…

第25回PHP勉強会

php

日曜日は第25回PHP勉強会に参加させていただきました。 会場は椅子が素敵だったオープンドリームさんです。会場提供ありがとうございます。自分がとったメモのせときます。所々間違ってたらごめんなさいです。 君もまたextensionか&簡単なサービスを作って…

Oracle DBA1復習

今度からOracle触るから復習ということで、2年半くらい前にDBの勉強ということで取得した9i Database DBA1の黒本を読んだ。10gじゃなくて9iオラクルマスター教科書Silver Oracle9i Database 【DBAI】編[CD-ROM付]作者: 林優子,當麻五月,日本オラクル株式会社…

Emacsのphp-modeでalignする

追記 2011-08-14 その2でgithubにあげてます。https://github.com/tetsujin/emacs-php-align 前回のエントリでphp-modeではM-x alignが使えなかったので、perlのalignを無理やりphp-modeに当ててみましたが、所々やっぱり不具合があるのでElisp全然わからん…

php-modeで無理やりM-x alignしてみる

元々自分はアラインメントしない人だったんですが、最近、職場でアラインメントされたコードを読んで(phpじゃないけど)、やっぱり読みやすいなーと感じ、郷に入れば郷に従おうということで最近EmacsのM-x align & M-x align-regexpにはまってます。 int foo …

DNUM, EXPONENT_DNUM

で、flexのマクロ定義を見てたら zend_language_scanner.l DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*) EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) となっているのを知り、下のような書き方でも動くっていうのを知りました。 まだまだ知らないこと沢…

bison/flex

phpのソースを読んでて一番躓いたのが構文解析の部分。 zend_language_scanner.l zend_language_parser.y 未だに数%程度しか理解できない。いや、数%も理解できているのかもわからない。 yyparseに入ったあたりでもうわけわからん。でも調べてみるとこの部分…

PHP5, PHP4 関数定義の違いあれこれ

zend_language_parser.y内の関数の引数定義の部分。php5.2.2とphp4.4.7で結構違う。php5.2.2 parameter_list: non_empty_parameter_list | /* empty */ ; non_empty_parameter_list: optional_class_type T_VARIABLE ... | optional_class_type '&' T_VARIAB…

リテラルの参照な部分

配列に突っ込む前に、SEPARATE_ZVAL()をかましたらコピーで入った。

謎の演算子

PHPへのオペレータ追加続き $ php -r '$users ||= "john"; echo $users[0];' johnおお!!!!!! var_dumpで確認 $ php -r '$users ||= "john"; var_dump($users); ' array(1) { [0]=> &string(4) "john" }え。文字列リテラルへの参照ってなに!? 数値を……

6/3 追記

メモ。zvalで突っ込むからだめなのか。下記のようにしてみた switch (Z_TYPE_P(op2)) { case IS_STRING: add_next_index_string(op1, Z_STRVAL_P(op2), 1); break; case IS_LONG: add_next_index_long(op1, Z_LVAL_P(op2)); break; }

勘違いなjohnさん

どこで間違えたらこうなるんだ。w opcodeレベルでの動作の理解がまだまだです。ようやく週末。がんばろー。