Catalystのデータの更新って

Catalyst+CDBIでinsertはcreateメソッド呼び出すから、更新はupdateメソッドだろって勘違いしててデータ更新だけがうまくうごかないプログラムができてしまい、

キャッシュか?キャッシュなのか?もしや。

なんつって、しばらく悩んだ。

で、Shibuya Perl Mongersの Wiki作りの資料見ててやっとぼけてたことに気づく。

sub save : Global { my ( $self, $c ) = @_; my $title = $c->req->params->{'title'}; my $contents = $c->req->params->{'contents'}; unless(my $wiki = MyWiki::M::CDBI::Wiki->retrieve(title => $title)){ MyWiki::M::CDBI::Wiki->create({title => $title, contents => $contents}); }else{ $wiki->contents($contents); } $c->res->redirect($c->config->{base} . '?' . $title); }

O/Rマッピングで、オブジェクトとして扱ってんだから更新はセットすればいいだけじゃん。

いま思うと、そりゃそうだろうって感じだが。CDBIちゃんと理解しておかないといけなさげだな。

GeneRank

GoogleのPageRankをモジッてGeneRank。もちろんアルゴリズムを参考にしてます。PageRankはここみるとなんとなくわかるかも。

多分5年くらい前だと思うが、アレイのブームあたりで、どっかのベンチャーがGoogleのアルゴリズムを取り入れたいとか言っていたことを思い出したヨ。

さて、大雑把なGeneRankの式は

ランク = (1-d) x 発現変動率 + d x 結合度

みたいな感じ。PageRankだと左の項は(飽きて)他のページにいっちゃう項で、右項がリンクをたどる項か。要するに右の項は束縛なんだろうと思う。というわけで、GeneRankは発現変動率を、GOとか他のネットワークの情報である程度補正するイメージになるかな。程度はdで決める。

ちなみにPageRankはd=0.85らしい。が、そんなに大きい確率でリンク辿るか?ブログが多くなってくるとあんまりリンクを辿るという行為をしなくなるよな。

GeneRankでは、これをGOのネットワークとかで補正をかけて評価してます。が、あんま改善されてないっぽい。転写の制御被制御をGOで補正しようというところに無理があるのかな?と思ってみたりする。

同じシスエレメント持っているとかのネットワークを使ったほうがうまくいくのかも知れない。がそれって作るの大変ダヨナァ。というか、ネットワークをどう表現するかで、ランキングが改良されるかどうか決まるっぽいんだが。文献からNLPで作った、ネットワークは使えないんだろうかね。

16176585

PSI-BLAST-ISS

ホモロジーモデリングをするとき、一番気を使うのはテンプレートとなる結晶構造の選択と、それへの配列のアライメントではないかと思う。

というわけで、テンプレートの選択と配列アライメントのためには、類縁の遺伝子の機能とかモチーフとか進化的な素因とかきちんと理解したり、さらには立体構造アライメントによる、類似構造の機能と構造の相関とか地道に押さえることがいいモデル作成の秘訣だったりするため、トライアンドエラーは当たり前。

PSI-BLASTとcd-hitを組み合わせたPSI-BLAST-ISSを使えばここら辺の作業の効率化と迅速化がはかれるっぽいので、これってイイかもなんて思ったりする

16033659 11294794 11836214

文献もこっちで管理しよう

読んだ論文は別のblosxomメモッとことか思ってたが、最近pubmed版のdel.icio.usみたいなほうが調子いいのかもなんて思ってる。

ブックマークレット+一行コメントでお手軽だしね

これはそのうち作ってみよう。

あとは、文献のエントリもタグくっつけておけば、すぐに検索できるし、こっちのblosxomで一緒に管理しても困らんかもとか思ったのでそうしよう。

Catalystのテストサーバをいちいち再起動しなくていいことを知る

Catalystでものづくりな日々が続いてますが、モジュールとかのファイルを更新するたびに、Catalystのテストサーバ再起動すんの

キャッタリーーース

と、面倒くさがっていたら、

-r オプションつけて起動しとけば、自動的に再起動されるということを知った。

Lost-Season: CatalystのTestServerが自動再起動の機能を実装

catalyst.pl Demo で、プロジェクト作成 cd Demo script/demo_server.pl -r

というように、-r オプションを付けると自動再起動モードになります。 一秒ごとにチェックして、編集されたファイルがあると テストサーバが再起動されます。

ナイス、Catalyst。 素敵デス。

Perlでデザインパターン

HeadFirstみても、なかなかperlでのデザインパターンが飲み込めないぁと悩んでいたら、結城 浩さんの本をいろんな言語で書いてるのを見つけた。 で、その中にPerlでデザインパターンも発見。はてなのえらいヒト?だよね。

というわけで、買ってみた。

ProductName 増補改訂版Java言語で学ぶデザインパターン入門
結城 浩
ソフトバンククリエイティブ / 3990円 ( 2004-06-19 )


AbstractFactoryくらいまで読んだが、名著の予感。

だって面白いんだもん

そして、perlのサンプル素敵、全部消化してから次のパターンに移ってる。で、もちろんjavaも書いて実行している(eclipseで)。

当分、この本の追っかけメモになるかも。本に関して一言いうならば、イタリック体はもうちょいイタリックっぽくして欲しかったね。いまんとこそれだけ。

神亀 ひやおろし

今夜は、久々に雪がちらついていて寒い。明日はちょっとは積もるかな?って感じ。

で、こんな寒い晩には、燗つけた日本酒が恋しいってことで、昨日に行った帰りにヨコゼキで買っておいたひやおろしを燗で。

神亀 ひやおろし

神亀ってちょっときついっていうかあれなんで、ひやで呑むのはあんま好きくない。若干熱めの燗つけるのがいいかな。そこら辺のスーパーで買った鮭を焼いたのでやってみた。

鮭あんまうまくない

カネトモかどっかで干物を買っておくべきだったと後悔。

日守山

三つ割り菊に蕎麦喰いにいったついでに、Foodiosに寄って酒でも眺めてたら、山が恋しくなって(?)日守山へ。

ほんとは、釣りに行くたびに通るので気になっていただけなんだけどね。

小汚いお兄ちゃんがリュックを背負って笑顔でお出迎え。

ちょっと上がるとアジサイが咲いてます。これからが見頃かも。道は整備されていて、階段がついてます。大体20分ぐらいで登りきれるが、頂上に長い滑り台がついていて、九分くらい登ったところに滑り台の降り口がアル。

まぁ、何がいいたいかというと、降り口付近に、ダンボールとかウレタンの敷物が置いてあって、滑り台を滑りたければそいつを持って登れということだ。

頂上で一休み。富士山の方を向いて撮ってみたが、生憎曇り。

帰りは、滑り台にチャレンジ。下が細かいローラーになっていて、 滑るとギュゴーーーズガーーーービビーとか凄い音がする。抱えてたワンコがその音を聞いて大興奮して暴れるので、僕は滑り台よりもワンコを押さえつけるのに必死でそれはそれでスリルがあったゾ。

愛鷹山(池の平)

愛鷹水神社からワンコ(はな)を連れて池の平の展望台までハイキング。

途中、サワガニが道を横切って、それを追いかけるはなを撮ってみた。

池の平までは水神社の駐車場からは一時間くらい。

淡島から原の海岸がずっと見渡せます。というか、望遠鏡がついていて、それがまたよく見えるんで面白い。

http://map.livedoor.com/map/?ZM=6&CNT=1&COL=1&OPT=e0000011&SZ=500%2C400&MAP=E138.50.20.6N35.11.56.7&KN=1

Kwiki+WikiwygでWYSIWYGなWIKI

僕はどっちかというとPukiWiki派で、Wikiはコレばっかしを使っています。さて先日、MOONGIFTで、WikiをWYSIWYG化というエントリを読んで、いっちょPukiWikiにいれたろかと思ったが、ちょっと調べてみるとKwikiなるWikiだとプラグインでwikiwygを簡単に入れられそうだということを突き止めた。

しかもperl -MCPANで入れるあたりが素敵!

というわけで、このKwikiを入れてみたというわけだ。

perl -MCPAN -e shell cpan> install Template cpan> force install Spiffy cpan> install I/IN/INGY/IO-All-0.33.tar.gz cpan> install Spoon cpan> install Kwiki

Kwikiを設置するディレクトリに移動して、kwikiコマンドを打つ。-updateはたぶん必要(そうしないとエラーを吐く).htaccessは必要に応じて用意する。cgiなので普通は必要だと思うヨ。

kwiki -new kwiki -update

これで、一応Kwikiが動くことを確認。ごく普通のWikiですな。

さてここから、プラグインをガシガシ詰め込む。が、Wikiwygを入れるのが今回の目的なので、Kwiki::WikiwygをCPANからインストールして、プラグインをaddします。addするときはKwikiを設置するディレクトリに移動するのを忘れずに

perl -MCPAN -e 'install Kwiki::Wikiwyg' kwiki -add Kwiki::Wikiwyg

これで、KwikiでWikiwygがダブルクリックで起動するようになり、WYSIWYGなWIKI環境が出来上がりますゾ。他のプラグインも同じように入れればOK

Kwiki-Wikiwyg

エディタもいい感じに立ち上がりますぞ。ややこしい記法を覚えなくても、Wikiれるってのは、それだけで、とっつきにくさを解消するので、かなりいいかも。

あーでもIEだとWikiwyg立ち上がらないみたい