メタモの早割

メタモの超早割 どうすっかなー。

多分行くと思うんだけど。

Xacti Vox

ふむーなかなかいいかも。ってか先週末Xacti買ったのでかなり気になる。

動画デジカメ「Xacti」新機種、CGMサービスと連携へ - @IT

シックス・アパートは、エントリーの公開範囲を家族や友達、趣味のグループなど、グループ単位で指定できる次世代ブログサービスの「Vox」において、Xactiのユーザーグループを作る。

Voxのアカウントとろうかな。

Flex2とCatalystをJSONでつないでみる

Creating a Flex application using the TurboGears frameworkを参考に。

JSONでやり取りしてるからflex2の部分はそのままでフレームワーク部分を変えるだけでいい。MVCフレームワークに小さいMVCフレームワークが乗っているという風にも取れるけど、かなり疎なので、自前でwebapiサービスを提供しつつ、サービスを受けるっていう感覚に近いかもしれん。

イメージにするとこんな感じ。 ファイルはココに置いておいた。

flex2_Catalyst

CatalystのviewはJSON。で、Flex2は受けとったJSONをmodelにしてASでロジック書いて、MXMLでUIのデザインをやればいい。 そのためすっきりとした感じはする。後は、チュートリアルみてたらFlex Builder2が欲しくなった。UIデザインするにはGUIのツールがやっぱ楽でいいと思う。

flex2に関してはCreating a Flex application using the TurboGears frameworkのオンラインチュートリアルを眺めてください。corelibを使うとJSONのシリアライズ/デシリアライズをやってくれるので必要。c:flex2extlibというフォルダをつくって放り込んでおいた。

コンパイルは

mxmlc -compiler.include-libraries c:\flex2\extlib\corelib.swc \
-- address.mxml

とやるとswfができるので、catalystプロジェクトの root/staticに放り込む。

flex2はこれで終了。続いて、というかメインのCatalystをいじるわけだけど、こっちも大して面倒なところはない。

TGはhttp://localhost:3000/からアドレスリストをJSONで受け取って(R)、http://localhost:3000/save,http://localhost:3000/deleteでそれぞれCU,Dという実装だったので、Catalystもこれに併せて、Catalyst::View::JSONとDBIC::Schema::Loaderを使ってつくることにした。

まず

catalyst.pl MyApp

でプロジェクトをつくって

script\myapp_create.pl view JSON JSON

でJSON用のviewを作成。モデルはSQLiteで。

まずSQLite

sqlite3 myapp.db < myapp.sql

ちなみにsqlはこれ。

CREATE TABLE address (
  id INTEGER PRIMARY KEY,
  full_name TEXT,
  phone TEXT
);

続いて、DBIC::Schema::Loader

いつも、明示的に書いてるので、触るのはほとんど初めてなんだけど、スキーマクラスって自分で書かないといけないんだろうか? こんなの。

use strict;
use base qw/DBIx::Class::Schema::Loader/

__PACKAGE__->loader_options
  (
   relationships => 1
  );

ヘルパーあんのかな?あとで調べる。こういう細かい部分はTGのSQLObjectはあんま考えないでいいので楽。データもcatwalkからブラウザでちょこちょこ入れられるし。

Root.pm,save.pm,delete.pm

Root.pmはアクセスするとアドレスリストのJSONを返す。

sub default : Private {
  my ( $self, $c ) = @_;

  my @result = $c->model('DBIC::Address')->search();
  $c->stash->{addresses} =
    [
     map {{fullName => $_->full_name, phone => $_->phone, id => $_->id}} @result
    ];
  $c->forward('MyApp::View::JSON');
}

save,deleteは普通にDBIC操作なので省略。

やるべきことをやったら動かしてみる。、

swf

こんな感じでflashが、、、なんかきもちいい。

あと今回手を動かしていく過程で以下の本がマイウィッシュリストに投入された。

ProductName Actionscript 3.0 Cookbook
Joey Lott
Oreilly & Associates Inc / 3034円 ( 2006-10 )


この時期頻発する送別会を2,3見送ればこの中の2冊は確実にゲットできるのになぁとちょこっと思ったヨ。っていうかかなり本気で悩む。

とりあえずTurboGearsの本は欲しいなぁ。買いかなぁ、見送りかなぁ?もし読んだヒトがいたらアドバイスなどください。

MSYS+cpanでエラー

WindowsXPのActivePerlのバージョンあげてcpanコマンドでモジュール入れようとしたら、

Error exit delayed from previous errors

とtarできねーっていうようなエラーが出てはまった。

どうもMSYSのtar,gzipが悪いみたいだと気付くのに1時間かかった。MSYSから他のgzipに変えたらさくっとなおった。

BioFlashってのがあるのね

ほう、こんなプロジェクトがあったとは。

BioFlash.org - Flash, Flex and ActionScript for biology and bioinformatics

BioFlash.org は Flash, Flex, ActionScript を利用することによりインタラクティブなバイオインフォマティクスソフトウェア、ウェブサイトの構築を推進するプロジェクトです。 現在バイオ関連データを ActionScript オブジェクトとして扱うための BioActionScript ライブラリを開発中です。

なんか面白そうなツールがあるので後でソース読もう。

このプロジェクトはRIAを目指すのかなと思ったのだけど、ASでBioActionScript ライブラリを創るメリットってのがイマイチ見えないナァ。biorubyとかbiopython,bioperlの既存のライブラリを活用する以上の何かが得られるんだろうか?ロジック書くのが楽になるのかな。

flex2でのエラーがわからん

週末はWindows上でflex2をTurbogearsでJSONを使ってDRUDさせるのに夢中になってた。で、なかなか面白かったので、じゃぁフレームワークをCatalystに変えてFC6上で動かしたろかと、ごそごそしてたら思わぬところで躓いた。swfがWindowsXPだとコンパイルできんのにFC6だとエラー吐くんですけど。

mxmlc -compiler.external-library-path /usr/local/flex2/extlib -- address.mxml
設定ファイル "/usr/local/flex2/frameworks/flex-config.xml" をロードしています \
/usr/local/flex2/bin/mxmlc: line 34:  5279 セグメンテーション違反です \
java $VMARGS -jar "$FLEX_HOME/lib/mxmlc.jar" +flexlib="$FLEX_HOME/frameworks" $*

むー。メモリが足らんのだろうか?

Xacti買った

U隊長の使っているEXILIM Z4だと、動画が汚くて気に入らないというので、もうちょっと気軽に(mpeg4で)動画の撮れるXactiを購入した。

スナップショット感覚で気軽に動画が取れるってのはかなり良いみたい。picasa使えば写真と一緒に管理してくれるので付属のCDからインストールするものはないかな。これでGPS機能とか内蔵されてれば更にヨサゲなんだけど。

ちゃんと撮りたい場合にはDVカメラを使えばいいけど、そういった場面は意外に少ないし、実際編集が楽しくてたまらんってのは少数派だろう。というわけで、Xactiみたいにそこそこの画質で手軽に動画を撮るっていうコンセプトはありだと思うんだけど、大型電気店でも以外に置いてるところは少なかった。DVDハンディカムとか買って大して編集しないんだったら、こっちの方が取り回しが楽な気がするんだけどなぁ。

あとは、結局うけるメタデータってなんじゃろかね。

ピタゴラ装置DVDブック

仕事から帰ってくると、ユッキー(一歳)と一緒にHDDに録画したNHK教育の番組を見ることが多くなったが、その中でピタゴラスイッチというコーナーがやたらと気になるんで、DVDを購入。

おーすげーと感心しながらみた。ドライヤー、磁石、トランポリンが面白かった。

ProductName ピタゴラ装置DVDブック1

ポニーキャニオン / 2312円 ( 2006-12-01 )


vol2も出るらしい。

ProductName ピタゴラ装置 DVDブック2

ポニーキャニオン / 2364円 ( 2007-04-18 )


まだユッキーは小さすぎて面白さがわからんみたいだけど、もう少し経ったら一緒に見れるかな。

CPAN JOCKY

最近、仕事で疲れてんのかどうか知らないけど、しょうもない事ばっか思いついて困る。今日も掃除してたら、懐かしいもんが出てきた。

昔京都にいたころ、ルイベガの時にVJっぽいことやらせてもらう機会があって、そんときにもらったサインだ。

で、CPANってレコードライブラリに似てるよなとか思って、ネットをゴソゴソしてたら、DJ選曲術なるものを見つけた。

ProductName DJ選曲術―何を考えながらDJは曲を選び、そしてつないでいるのか?
沖野 修也
リットーミュージック / 1260円 ( 2005-10 )


で、思いついた(ら、書かずにはおれん)。

CJ(CPAN JOCKY)にとって必要なのは、XSの知識でもハックなテクニックでもありません。どのようにモジュールを選び、どうやって並べ、つないでいるか……つまり「選モジュールの良さ」が一番重要なのです。本書『CJ選モジュール術』は、選モジュールの心構え、CPANの使い方、組み立て方などを解説すると共に、国内外のトップPerlerの選モジュールを事細かに解析し、実践的にノウハウを学んでいける世界初の「選モジュールガイドブック」。職場でのCJプレイはもちろん、MFPMなどのプレイリスト作成にも役立つ、“モジュールを選ぶ方法”をロジカルに紹介した究極の1冊です。~

こんな本が出ると嬉しい。

でまぁ、こんなレビューが付くと

セレクトすることで、あらたにクリエイションする、これがいまの時代であり、その代表格がCJという生き方だろう。 そしてそれは感覚的だけど、論理的に記述したこの本は、日ごろCJするとはなにか?を問いかけている人には、回答がここに!

そういえば、TurboGearsも搭載されているモジュールの選択が絶妙とか書いてあったし、実用Perlプログラミングも初版と第二版だとモジュールの選び方のほうにシフトしている気がすんね。

ProductName 実用 Perlプログラミング 第2版
Simon Cozens
オライリージャパン / 3360円 ( 2006-03-01 )


あと、京都のクラブ・カルチャー史もあったね。ハウスとかクラブジャスよりだけど。

実践Web Standards Design 三章まで

Catalyst使っているとTT+CSSのレイアウトまわりでつまづくことが多くなってきてたので、巷で噂の本を読んでみた。

3章までが基本的なことで、4章がfloatとかを使ったクックブック的な内容かな(4章以降はまだ読んでないのでわからん。)

3章までは、基本を体系的な観点から書いてあるので、プログラム書くヒトにもかなりわかりやすいです。てか、ためになった。3.2の視認性を高めるためにこころがけることの節なんてまるでPerlベストプラクティスみたいだなぁと。

という流れだと、やっぱcsstidyなんてあんのかなと思って探したらあった。

それから、作業の流れ的には、まずXHTML書いてcssは被せるべしとか書いてあったので、最近のフレームワークばりにXHTMLからcssのスキャフォールド作ってくれるジェネレータ(XMLの構造とか、class,id解析してね)とかもあるかなと思って探してみたけどこっちは無かった。なんか,textいじる代わりにcgiでやるやつしかみつからなかった。

TTからcssの雛形生成できれば楽なのにナァと思った。