かっけー。僕もprintfデバッグの技を書かねば。
うーん。ソースコードを読むとなんとなく怪しいところがわかるので、そこにvar_dumpを仕込むと変数がnullだったりして、debug_print_backtraceで呼び出し元を探すとか。
でもそれは本質じゃなくて、なんで怪しいところがわかるかが謎なんだ。実際に手を動かしてvar_dumpを仕込んでるとわかるんだけど、ペアプロのナビゲーター的な立ち位置だとわからなくてイライラする。そういうときは相方も間抜けに見えるし。
MySQLがおかしい!あなたならどうしますか? MySQL Casual Advent Calendar 2011 - As a Futurist...
先日、二重に腐った実装をしてしまって反省している。
(1) 仮引数が悪い
function doSomethig($logLevel = PEAR_LOG_ERR) { ... }
って関数があったとしましょうよ。
細かいログが必要なときは doSomething(PEAR_LOG_INFO) とか渡すんですよ。
っておかしいでしょ、これ。
1ヶ月前の自分は酔ってたのか?
だって、doSomething() がどういうときにどういうレベルのログを吐くかを
呼び出し側が知ってないと駄目なんですよ。
(2) 実引数が悪い
doSomething(PEAR_LOG_INFO) だとエラー出すぎだからなんとかしようと思ったとして
$logLevel = PEAR_LOG_ERR;
if (! 条件1) {
// ログ抑制のため
$logLevel = PEAR_LOG_INFO;
}
if (条件2) {
// ログ抑制のため
$logLevel = PEAR_LOG_ERR;
}
doSomethig($logLevel);
って意味わかります? なんでこんな実装をしたんですかね、先日の自分は。
ここはせめて
$logLevel = PEAR_LOG_INFO;
if (条件1 || 条件2) {
// この条件のときはログ出すぎなので抑制
$logLevel = PEAR_LOG_ERR;
}
doSomethig($logLevel);
と書くべきでしたね。
というかやっぱり(1)の仮引数が悪いのですよ。
デフォルトでは細かいログが必要、特定の条件のときには不要、
というニュアンスがif文や前後から伝わりますか?
コメントがなかったとして。
僕は無理だと思う。
function doSomethig($verboseLog = false) { ... }
$verboseLog = true;
if (条件1 || 条件2) {
$verboseLog = false;
}
doSomethig($verboseLog);
が落としどころかな。
説明のためにみんな知ってる定数を使ったので、なんでログレベルを渡すんだみたいなツッコミはなしで。
デフォルトがあって例外があって、
例外を指定する場合のデフォルトがあって、さらにその例外を指定する場合がある、
みたいな要件自体がおかしいという説もある。
1979年生まれ。非デジタルネイティブ。
・ネット接続したのはWindows95だから、この辺は10歳差あっても変わんないな
・ダイヤルQ2のプロバイダーとかあって、3分とか時間決めて繋いでた
・でもネットではほとんど何もしてなかったはず
・当時はフリーソフトとかを集めたCD-ROMつきの雑誌があって、それでゲームやってた
・1998年に大学入って、大学のサーバーに置いたのが初めてのホームページ
・家では無料プロバイダーFREECOM使ってた
・この頃からオフで会うこと前提のコミュニティにいたので、実名活動なんだよね
・携帯電話持ったのは2001年だっけか。TU-KAの通話とメールのみの機種
・i-modeサイトとか、メル友とか当然なし
・このあたりで2chにはまってかなあ
・2003年に新月作り初めたのか。2chは訴訟で潰されると本気で思ってた
・2004年頃にSNSというものの存在を知ってmixiとGREEアカウント作ったけど、会員限定なのでホームページの替わりにはならず、未だに放置状態
・このちょい前くらいにブログの存在を知ったんだっけか
うん。いつか文章にまとめたい。
デジタルネイティブじゃない1989年生まれのわたしの話 - インターネットもぐもぐ
腰痛について。
「腰痛」というカテゴリで括っちゃってるけど、実際に痛いのは股関節のあたりだったり、太股だったり、膝だったりする。股関節のあたりが痛いのが腰痛の一種なのは整形外科で聞いたからたぶん合ってる。膝が痛いのは経験的にそう思ってるだけだから本当はよくわからないが…
いろいろ試してみたところ、腰を曲げると膝が痛くなるし、腰を反らすと股関節が痛くなる、というものらしい。腰と一言でいってもいろいろな骨とか筋肉とかあるから、曲げる反らすといっても動きを正確に表現しているわけではないのだけど。
では腰を曲げる姿勢と反らす姿勢の中間に「よい姿勢」があるかというとどうもそういう気はしなくて、直感的には腰は反らせておいて、その他の部分で釣り合いを取っていくのが適切なように思う。
そういえば武道必修化ということで、
どうやって剣道を教えるべきかという本があって、本屋さんで立ち読みしたのだけど、
今までの部活や道場や選択科目では、剣道をやりたい生徒に剣道を教えていたが、
これからは剣道に興味がない生徒に対しても、
興味を持たせ、興味を維持させなければならないということで、大変だなあと。
武道に限らずスポーツの種目は、
本人の興味があるものを教えた方がいいのではないかと思うのだけど、
他のバレーボール(中高ではなぜか球技というとほとんどこれだった)とか、
陸上競技とかは、本人の興味に関わらず体育のカリキュラムでやってたなあ。
みんな同じような苦労があったのだろうか。
数学とかの科目もそうだよね。
逆の発想で数学好きの生徒だけを対象にした数学の教え方とかがあったとすると、
数学好きにはたまらなく面白いんだろうか。
Fuktommyはこんな本を読んでいます。 - 剣道好きをつくる指導 上―武道必修化対応!
そういえば #甲野善紀 先生のメルマガの #杖術 の動画で「こうやってもいいし、こっちの方向でもいいし」みたいに説明しながら杖を振っている箇所があるのだけど、そんな高速で動かしてるわけでもないのに、どういう動きをしているかまったくわからなかった。
杖の場合、両端が入れ替わることもあるし、右手を前にすることも左手を前にすることもあるし、親指側が前になることも小指側が前になることもあるので、手順を追うだけでも大変で、それが杖術の魅力でもあるんですけどね。
スロー再生して、杖の片方の先端に注目したり、手の向きに注目したりして、自分でも振ってみたりして、それでやっと手順がわかったけど、こんなスムーズには動かせないよ…
Vol.016 風の先、風の跡「<風向問答 特別編 田口慎也氏からの手紙 (下)と甲野善紀による返答>ほか」 - 甲野善紀のメールマガジン