DBICで(多対多)対多

相変わらずCatalyst,DBICと戯れてる。で、テーブルも複雑になってくると。

今回こんな感じのテーブルを扱ってみたが、なかなかうまく書けん。

m2m2m

User,Bookmarkからサーチする場合

うまい書き方が分からないので、リレーション張らんでもええような、ベタベタな構文になってしまう。

勝手に二重のイテレータみたいになってくれればいいのに。

Tagからサーチする場合

my $ub_it = $c->model('PblDB::Tag')->find($tag->id)->user_bookmarks;
while(my $user_bookmark =  $ub_it->next){
    $item->[$i]->{'title'} = $user_bookmark->bookmark->title;
    $item->[$i]->{'abstract'} = $user_bookmark->bookmark->abstract;

my $tag_it = $c->model('PblDB::UserBookmark')
    ->find($user_bookmark->id)->tags;

みたいにuser_bookmarksテーブルのイテレータをまわさないといけないのだろうか?

ここらへんのも参考にする。

幅田屋でカレー南蛮

沼津の西部の近くの蕎麦屋。カレー南蛮がなかなか。食券制でちょっとレトロっぽい。

幅田屋

カレー南蛮 カレー南蛮2

麺は手打ちらしいのだが、切りが機械なのかな?それとも小麦粉の量が多めなのかな?ちょっと食感が好きではないが、たまに食べるとこれはこれでいいかも。

幅田屋

それにしても、最近あんまり蕎麦食べてない。

Catalystでいくつかメモ

redirectではまった。

$c->response->redirect($c->uri_for('/'));

でdetachみたいに処理が戻ってこないと勘違いしてたので、気付くのに時間がかかった。

Regex,LocalRegex

Regexの受け取りが

$c->req->snippets

でなく、

$c->req->captures

になってた。

HTML::Widgetの使い方がいまいち

ちゃんと読む

/Manual/Tutorial/AdvancedCRUD

Yetiで初滑り

1月も半ばなのに未だ滑りに行ってねー

ってことで、この時期「Yetiスケートセンター」と揶揄されるぐらいガチガチコンディションのYetiに怪我を怖れずに初滑りを決行、、、もう我慢できん。

意気込んで出かけたものの、朝から雨だったらしく、コースはシャバ雪、12月か3月くらいのコンディションでこけても痛くなくていい感じ。正直拍子抜けした。今日は初滑りなので、軽く足慣らしのためAのコースをひたすらループ。ミニマルテクノな感じで、たまにブレーク(てけとうにまわす練習もいれてみたり)入れてかなり気持ちよかった。

あと、雨がぱらついて、天候が悪かったせいか、ほかのスキー場がオープンしたせいか知らんけど、やたら人が少なくて滑りやすかった。リフト待ちもゼロ。

20時半過ぎには完全に雪になり、いい感じになってきたのだけど、早く帰って来いと言われていたので、ラストまでは滑らずに、21時にはとっとと撤収。

帰りの坂道で撮った。今夜は結構積もるんではないかな?あー明日も行きたい。

で、この写メールのちょっと先で、1ジコリータ。

チェーン巻いたファンカーゴ(with若葉マーク)だったけど、下り坂だからスピード出過ぎたのかね。雪降ると事故が結構多いのもYetiクォリティだ。

今週末の苗場-カグラの今シーズン初トリップに向けてテンションあがってきたヨ。

馬蹄(アーチ)効果の除去

統計学関連なんでもあり

私見によれば、アーチ型になるのは冗長な次元が抽出されている ためであり、通常は逆U字型になる凸の次元を削除するだけでいい。 ということになりませんか。つまり線形の次元のみ有効。

統計学関連なんでもあり

馬蹄形がでてくるということは、ガットマン尺度できれいに1次元性を示しているということでしょう。他の因子は解釈する必要がないはずです。  もっとも数量化3類ではいいきることができますが、主成分分析だと、そのはずだという程度です。

ほう。わかったようなわからんような、いまいち掴みきれてない感じ。

後でちゃんと読む

PCRとかの場合はどうなるんだろうか?

CPAN::Reporter入れてテスト結果を送るようにした

use Perl | Become a CPAN Tester with CPAN::Reporter

CPAN::Reporter has had over 20 releases since I first announced it here on August 26. Now anyone with an up-to-date CPAN.pm can contribute to CPAN Testers -- no smoke server needed.

ちゃんとテストレポート送っとこうと思い立って設定した。

ChangeLogでメモを快適にとるためにチョコチョコいじった

changelogのメモがあちこちのコンピューターに分散してこまるので、svnで管理することにした。

おー、これは快適だ!ってことで、メモ環境をもっと快適にしようと、Meadowまわりをいじってみた。僕はChangelogのメモをblosxomの下書きに使ったりしているので、Emacs辞典を見ながらC-cC-pでplaggerを起動するように.emacsに書いてみた。

ProductName Emacs 辞典 (DESKTOP REFERENCE)
佐藤 竜一
翔泳社 / 3129円 ( 2006-05-11 )


;; plagger
(setq config-file "c:/plagger/blosxom.yaml")
(defun plagger-exec ()
(interactive)
(shell-command (concat "plagger -c " config-file)))

(global-set-key "\C-c\C-p" 'plagger-exec)

しかし、この設定だとどうもプロセスが死んでないらしくて、C-cC-pが一度しか効かない。plaggerを再度実行しようと思ったらMeadowを起動しなおさないといけない。

うーんなにがまずいんだろうか。ここらへん読めばいいのかなぁ。

Emacs辞典はおおむね気に入ってるんだけど、インデックスが貧弱すぎるのが欠点かな。

Meadowのshell-command(M-!)

いままで

M-x shell

と打って、シェルで作業してたのだけど

M-! command

で直接コマンドを実行できることが分かった。この差は結構でかかった。

MeadowでPythonの対話型シェルを使う

Meadowいじってて、補完機能使ってたら偶然見つけた。

M-x run-python

meadow_python

Meadowからpython使えると便利。

psvnのコミットの仕方忘れてたのでメモ

emacs/Meadow用subversionインターフェースの使い方忘れてる。

ので、メモしておく

M-x svn-status
m # コミットしたいファイルをマーク
c # コミット
# コメント入力
C-c C-c

こんな感じ