東証のシステム停止

[日記]   Posted by: tanaka

東証でシステム障害、TOPIX先物など午後もいったん停止

しかし、この21世紀に何度目ですかという話。システムのキャパをどれくらいに設計してるんだろうか?

オープン系で作り直して、メンテにかかわる人間を増やす以外にどうしようもないんじゃないだろうか。それをやってみないってところが、結局日本という国の弱さなんだよなぁ。

一人合宿計画

[日記]   Posted by: tanaka

またどこかに一人合宿に行こうかと考えています。


海に行きたいのはヤマヤマですが、水着ギャルなんて見ちゃうとゼッタイ仕事しないので、山方面に行こうかなと考えてます。山の神様にとんでもない集中力をもらうことにしよう。そして、川が近いところがいいな。

したいことは、こんな感じ。

・行き帰りの移動中に集中的な読書時間をつくる
・現在進行中のプロジェクトの仕上げ作業
・もの書き作業
・自然に接することでの感受性の強化
・風呂につかって慢性的な疲労の回復


今はずっと籠もって仕事漬けなので、毎日が合宿のようなもんなんですが、さすがにコンピュータに向かい続けるとアイデアも出てこないので、山の空気を吸いに行きたいな、と。最低2泊、予定が許せば5日くらい行きたいな。

とはいっても、全然どこに行ったらいいかわからないなぁ。e-mobile がつながる場所ならどこでもいいんだけど、できれば無線LANが使えたらうれしいところ。どこがいいかなー。

トラックボールは手首によい?

[日記]   Posted by: tanaka

最近また右の手首が痛くなってきました。
マウスを持つ負担からくる腱鞘炎のような感じです。


これ、どうにかしたいなーと思ってるんですが、トラックボールが腱鞘炎の手首によい、というネットの情報をみて、ほんとのところどうなんだろうなーと思いまして。

トラックボール派の方、マウスと比べて手首への負担、どうですか?

[Akelos] options_from_collection_for_select の第2引数に id を指定すると動かない

[Akelos]   Posted by: tanaka

Akelos で、デフォルトのヘルパメソッドで form_options_helper というのがあります。

これは、HTML中のSELECTタグを効率的に出力することを助けてくれるヘルパですが、この中にある options_from_collection_for_select() というメソッドを使用するときにバグっぽいところを発見したのでさらします。

まず、このメソッドは次のように使用します。

たとえば foods テーブルがあって、次のようなスキーマだったとします。

+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+


これに、たとえば次のような値が入っているとします。

+-----+----------------+---------------------+------------+
| id | name | created_at | updated_at |
+-----+----------------+---------------------+------------+
| 1 | カレー | 2008-02-19 14:34:32 | NULL |
| 2 | ラーメン | 2008-02-19 14:34:32 | NULL |
| 3 | 牛丼 | 2008-02-19 14:34:32 | NULL |
| 4 | ナポリタン | 2008-02-19 14:34:32 | NULL |
| 5 | サンドイッチ | 2008-02-19 14:34:32 | NULL |
+-----+----------------+---------------------+------------+


このデータをHTMLのSELECTタグの中に表示させたい、とします。完成系の想定はこちら。

<select name="food_id">
<option value="">---</option>
<option value="1">カレー</option>
<option value="2">ラーメン</option>
<option value="3">牛丼</option>
<option value="4">ナポリタン</option>
<option value="5">サンドイッチ</option>
</select>


これをヘルパメソッドを使って実装してみる。

<select name="food_id">
<option value="">---</option>
<?php echo $form_options_helper->options_from_collection_for_select($Food->find(), 'id', 'name', $params['food_id']); ?>
</select>


options_from_collection_for_select() の引数の説明は次の通り。

第1引数

母体データオブジェクト。モデルをごっそりfind() した結果が入ってOK。

第2引数

OPTIONタグのvalueにセットするカラム。この場合はidをセットします。

第3引数

選択肢表示用の文字列。今回はフード名を表示したいので、nameをセット。

第4引数

デフォルトで SELECTED にするVALUE。



これで本来はうまく動くはずですが、実際には正しくSELECT〜OPTIONが生成されず、それどころかある件数(220件あたり)を超えるとPHPのfatal error でコードが途中終了してしまいました。ちなみに、第2引数を 'id' ではなく、'code' など別の文字列にすると、コードが途中で異常終了するようなことはなくなります。

これを修正するには、lib/AkActionView/helpers/form_options_helper.php の options_from_collection_for_select() を次のように修正する必要がありました。

lib/AkActionView/helpers/form_options_helper.php 194、195行目
■修正前

$name = method_exists($item,$text_column_name) ? $item->$text_column_name() : $item->get($text_column_name);
$collection_options[$name] = method_exists($item,$value_column_name) ? $item->$value_column_name() : $item->get($value_column_name);


■修正後

$name = method_exists($item,$text_column_name) ? $item->$text_column_name() : $item->get($text_column_name, false);
$collection_options[$name] = method_exists($item,$value_column_name) ? $item->$value_column_name() : $item->get($value_column_name, false);


最後の $item->get($value_column_name) の第二引数に false をつけた、というわけですね。どうもこの第二引数がtrueだと、再帰的になにかをしているようで、その何かの再帰呼び出しがPHPの上限数を超えて異常終了しているような感じ。

この修正方法が正しいかどうかを本家のフォーラムで問い合わせ中。問題なければ反映してもらおうかな、と思ってます。

モミダッシュPROを買ってみた

[日記]   Posted by: tanaka

最近抜け毛が・・・ということではなくて、単純になんかスッキリするものがほしいな、と思って買ってみた。



正直どうなんかなーと思うところは少々あるものの、それなりに満足。
風呂の時間がゆっくりになって、落ち着く時間ができたのはよいことだと思おう。


これやると、頭皮がやらかくなる気がする。
あと、目がしゃっきりする。

汗をかこう

[日記]   Posted by: tanaka

机仕事ばかりになるのは、ホントによくない。
自律神経をやられる気がする。


ということで、この夏は積極的に汗をかくことにした。
岩盤浴なんかで汗をかくととても調子よくなるし、運動でもどんどん汗をかこうというプラン。


最近は少し調子が出なくて走れていなかったので、まずは週末にじゅうぶん休養をとった。

今日の午前中は四ツ谷までハイペース散歩。長距離に慣れる必要があるからね。

病み上がりだったので心配だったが、ムリせずに無事に歩ききることができた。もうちょっと遠くまで行けたかな。今度は靖国神社あたりまで行ってみることにしよう。



街歩きは、いろんな発見があって楽しいね。