Emacsで指定範囲の文字を小文字にしたりする

Emacsには単語でも任意の長さのテキストでも,大文字,小文字を変換するコマンドがあります.
M-l
ポイントに続く単語を小文字に変換します(downcase-word).
M-u
ポイントに続く単語を大文字に変換します(upcase-word).
M-c
ポイントに続く単語を大文字で始めます(capitalize-word).
C-x C-l
リージョンを小文字にします(downcase-region).
C-x C-u
リージョンを大文字にします(upcase-region).
http://flex.ee.uec.ac.jp/texi/emacs-jp/emacs-jp_123.html
小文字にするコマンド名ってlower caseってのをよく見かけるからなんか変な気分。間違ってるんじゃないかと心配になります。

phpのクラス変数は大文字小文字区別する。

phpのメンバ変数は大文字小文字を区別する。ゲッターセッターを使ってもそのゲッターセッターの内部で引数で与えられた文字列をメンバ変数参照に利用するのであればはやり区別される。
ゲッターセッターでtoStrLowerとかしちゃうと問題なくなる。
var_dump($instance->hoge);
var_dump($instance->hoGe);
これは別々に用意しておかないと怒られる。
ちなみに関数名は区別できないという流れを汲んでか、メンバ関数、メソッドは大文字小文字区別しない。
配列の添え字は大文字小文字区別する。
$array = array
(‘hoge’ =>1,
‘hoGe’ =>2);
var_dump($array);
array(2) {
[“hoge”]=>
int(1)
[“hoGe”]=>
int(2)
}
.net界隈のページがヒットして出てきた。
プロパティ、アクセサ – public変数。インスタンスの利用者側で設定できるような意味合いが強いみたい
メンバ変数 – private変数。public変数もメンバ変数だと思ったんだけど、暗にprivateを刺すのかな?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=43470&forum=7&start=16

MySQLのSQL_CALC_FOUND_ROWSが遅い件

SQL_CALC_FOUND_ROWSを使うと70%ぐらいいいとか悪いとか、かのIPA様がおっしゃってました。
http://ossipedia.ipa.go.jp/capacity/EV0603280115/
でもなぜか遅いのです。
インデックスが利用できるwhereであれば、二度SQLを投げた方がいいかと思えるぐらいです。
force indexつけても早くならないです。explainしてindex使ってるようでもそれはresult setにしか使ってないんじゃねって感じです。バージョンアップで改善される気がしますが、とにかく今はSQL_CALC_FOUND_ROWSが遅いです。innodbならwhereなくてcount(*)するときはforce indexつけないと遅いです。innodbでwhereありなら大体index使うので(使ってないならそれ変えないとだめ)早いです。
myisamでwhereなしなら確か爆速。whereありならinnodbぐらい。
じゃーSQL_CALC_FOUND_ROWSが早くなるのはいつか、ってなれば、whereでインデックスをそもそも使っていないようなクエリに対してなら早くなるのではないでしょうか。ipa様もwhere使っていないようですし。
http://ossipedia.ipa.go.jp/capacity/CS0604140045/
そうなるとさすがに二度まともなクエリ投げる(SQL_CALC_FOUND_ROWS使わない)のと、一度のまともなクエリ+取り出しのみ(SQL_CALC_FOUND_ROWSと取り出し)なら後者に軍配かなぁ。
SQL_CALC_FOUND_ROWSの効果については以前から疑ってて、ipaのurlと共にこいつぁーいいぜ、ってページが多かったので信じていました。でも未だに信じています。
ぐぐったらかのMySQL Performance Blogが出てきました。
To SQL_CALC_FOUND_ROWS or not to SQL_CALC_FOUND_ROWS?
http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/
英語あまり読めないけど、気になったのは以下の文。
Here is why our count was much faster – MySQL accessed our table data when calculated result set size even when this was not needed (after the first 5 rows specified in LIMIT clause). With count(*) it used index scan inly which is much faster here.
それが必要じゃないとき(limitでとってくる最初の5行以降)でさえ、かるきゅれいてぃっどりざるとせっとがにアクセスするとかしないとか。
count(*)なら内部でインデックス使うからもっと早いよ!
最初の文がよくわからん。やっぱインデックス使ってないの?