2007年 9月 の投稿一覧

EthnaでAppObjectを使う

今までどうやってDBにアクセスしてたんだ?っとツッコミはさておき...。
EthnaではO/RマッパーとしてEthna_AppObjectが用意されているので、このオブジェクトを作ると用意にDBにアクセスできる様になる。
ethnaコマンドでオブジェクトを作る。
たとえば、personというテーブルがDB内にあったとき、そのテーブルにアクセスするオブジェクトを作るには、

% ethna add-app-object person

これで、プロジェクトディレクトリ内のAppディレクトリ内にファイルが生成される。
プロジェクト名が"sample"だと、app/Sample_Person.php が生成される。
これが生成されれば、後はインスタンスを生成して、そのインスタンスに対してsetメソッドで変数をセットした後、addメソッドを実行するとDBに反映される。
setメソッドの第一引数はプロパティ名で第二引数は値。

<?php
class Sample_Form_Main extends Sample_ActionForm
{
// 省略
}
class Sample_Action_Main extends Sample_ActionClass
{
function prepare()
{
return null;
}
function perform()
{
$person = $this->backend->getObject('person');
$person->set("name", "taro yamada");
$person->add();
return 'main';
}
}
?>

こんな感じで書けばActionが実行された際にpersonテーブルのnameカラムに"taro yamada"と設定されてDBが更新される。

リベンジ

涼しくなって部屋の中が常に30度より低い季節になってきたので自宅で料理再開することにした。
そして今日は学生時代に見事に失敗に散ったパエリアのリベンジ。今回はサフラン買ったぞ!(そして高い…びっくりした…)
なんか、作る前からただの炊き込みご飯になりそうな気配も漂っていますが、作ってみましょう。
なお学生の頃の様に作りながら飲むのは止めました…。

…結果。トマトリゾット(水分少なめ)が出来上がりました。
あまりにも見た目がパエリアではなく、トマトリゾットなので写真は省略。
悔しいなぁ。なんでかうまくいかない。でも、味が旨いところが、また妙に腹立つなぁ。旨いけど腹が立つ。不思議な感じだ。

寒すぎ。

昨日との気温差10度以上ってどうゆうことですか。

ヤングアニマル

発売日。毎度のことながら駅のキオスクで買う。いつも通り派手にグラビアアイドルが載った表紙だ。
バスに乗って、3月のライオンを読む。
停留所を数個過ぎるあたりで、3月のライオンは読み終わるので早々と鞄に雑誌はしまわれる。2週に一度の楽しみなのだけど、もうちょっと読みたいなぁ。

今週はウミノワールド炸裂。コマとコマの間の文章が泣かせる。
あと、出てきた「食べ合わせのトライアスロン」は激しく同意。田舎のお祭りごとの時って、ああいった感じになることが多い気がする。

あと、最終コマに「取材のため20号、21号とお休みします。連載再開は22号(11月9日発売)からです。」とある。
…ガクっ。一ヶ月お預けですか…。

質問

先日、研究室の後輩にあたる方からメールをもらった。
卒業研究にあたっての質問ということで、いくらかこちらから情報提供をしておいた。フレームワークEthnaが良いですよ。とか。
これで、また1ユーザゲット。(ナニカ間違っている)
ついでにエディタはvimが良いですよ。とかとも書いておこうかとも思ったが、あまりに道を反らすと怒られそうなのでやめておいた。
すごく丁寧なメールで、自分が学生のとき、ここまで丁寧にメール出せたかいな?と思ってしまうくらい感心してしまった。
間違いなく言えるのは、あの研究室に居るだけでいろいろと経験は積める*1 *2のは間違いないはず。と、おじさん私は思う訳だ。
しっかり頑張ってほしい。と、ここに書けば中の人がきっと適宜適切な形で助けてあげたりしてくれるだろう。

*1:校舎の前でサンマを焼いたり、床の上で寝袋に丸まって寝たり、パソコンの前で気を失って寝ていたりすることも含む

*2:いや、決して必須ではないと注意書き

電話応対

マンション買いませんか?だって。
しかも勧誘の仕方が余りにも腹が立つ誘い文句だったのだけど、ネタにすべく取っておく。
とりあえず受話器から耳を離して机に置くこと30秒。
それでも、まだ一方的にしゃべっていたので切ってあげた。

仕事だからしょうがないんだろうけどね。
もう少しスマートなやり方というのはないものだろうか。

と、愚痴を休憩中に書いたのでまた仕事に戻る。

System.arraycopy

さっきからJavaScriptをひたすら書いているのだが...。
JavaScriptJavaのSystem.arraycopyみたいなメソッドは無いのかしら?
普通にループ回すのみかねぇ。