2007年2月アーカイブ

最近、仕事でFlex2を触り始めました。結構楽しいです。
Flashアプリケーションが無料で、しかもタイムラインとか意味不明なことを考えずに作れるのがとっても魅力です。

で、Fedora Core 6にインストールしたのでその手順のメモ。

まずはJavaの環境が必要なので整えます。
せっかくなのでJDK 6をインストール。(日本語フォントの設定などは今回関係ないので省きます。)

SUNからパッケージを持ってきてインストール。
$ sudo ./jdk-6-linux-i586-rpm.bin

Javaの環境設定。

.bash_profile
export JAVA_HOME=/usr/java/jdk1.6.0
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
既存のインストール済みVMの確認。
$ rpm -qi java-1.4.2-gcj-compat
java-1.4.2-gcj-compatパッケージが入ってる場合はalternatives機能を使ってVMをスイッチ。
$ sudo /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.6.0/bin/java 2
$ sudo /usr/sbin/alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
   2           /usr/java/jdk1.6.0/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
VMの確認。
$ java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

続いてFlex SDKのインストール。

AdobeからFlex SDKとFlex Language Packを適当なところにダウンロード(Adobe IDの登録が必要です)して適当なところに解凍。
$ mkdir -p ~/sdk/flex2
$ cd ~/sdk/flex2
$ unzip ~/tmp/flex_sdk_2.zip
$ unzip ~/tmp/flex_sdk_2_ja.zip

PATHにflex2/binを通しておく。

.bash_profile
export PATH=$PATH:$HOME/sdk/flex2/bin

ようやくアプリケーションの開発。とりあえずmxmlで書いてみました。

/home/hide/public_html/flex/hello.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml"
	width="300" height="150"
	>
    <mx:Script>
    <![CDATA[
        import mx.controls.Alert;
        private function initApp():void {
		}
        private function sayHello():void {
            Alert.show("Hello World");
        }
    ]]>
    </mx:Script>
    <mx:Button width="80" label="Say" click="sayHello()" />
</mx:Application>
コンパイル。
$ mxmlc hello.mxml
設定ファイル "/home/hide/sdk/flex2/frameworks/flex-config.xml" をロードしています
/home/hide/public_html/flex/hello.swf (138266 bytes)

hello.swfが出来てるのでブラウザから確認。

おぉ。初めてのFlash。

でもコンパイルが非常に遅い。ちょっと変更したくらいでいちいち時間かけてらんないのでsecondlifeさんのこの記事を見てfcshをインストール。

rlwrapでラップするとreadlineが効いてお得なので、ついでにインストール。
$ sudo yum install rlwrap
fschをここからダウンロードしてインストール。
$ cd ~/sdk/flex2
$ unzip ~/tmp/flex_compiler_shell_012307.zip
fcshでコンパイル
$ rlwrap fcsh
Adobe Flex Compiler SHell (fcsh)
Version 2.0.1 build 155542
Copyright (c) 2004-2006 Adobe Systems, Inc. All rights reserved.

(fcsh) mxmlc -benchmark hello.mxml
fcsh: Assigned 1 as the compile target id
設定ファイル "/home/hide/sdk/flex2/frameworks/flex-config.xml" をロードしています
最初の設定 : 479ms
8 個の SWC がロードされました : 887ms
ファイル :286 時間 : 3713ms
リンクしています... 79ms
最適化しています... 354ms
SWF エンコーディング中... 65ms
/home/hide/public_html/flex/hello.swf (138266 bytes)
合計時間 :5586ms
ピークメモリ使用量 :50 MB (ヒープ :27, ヒープ以外 :23)
以降は返されたtarget idを使用してコンパイル。
(fcsh) compile 1
設定ファイル "/home/hide/sdk/flex2/frameworks/flex-config.xml" をロードしています
最初の設定 : 7ms
8 個の SWC がロードされました : 36ms
Nothing has changed since the last compile. Skip...
合計時間 :57ms
ピークメモリ使用量 :51 MB (ヒープ :28, ヒープ以外 :23)
リンクしています... 22ms
最適化しています... 116ms
SWF エンコーディング中... 41ms
/home/hide/public_html/flex/hello.swf (138266 bytes)
合計時間 :183ms
ピークメモリ使用量 :53 MB (ヒープ :30, ヒープ以外 :23)
(fcsh)

んむ。速い。
vimから使えるようになるとさらに便利になりそうけど、この辺はいずれってことで。

AJAXも楽しくていいのですが、クロスブラウザなんかいちいち考えるのが非常に面倒だったりすするのでFlashもいいかなぁなんて最近思ったりします。

参考: WEB+DB PRESS Vol.37にFlex2の特集があります。
WEB+DB PRESS Vol.37
WEB+DB PRESS Vol.37
posted with amazlet on 07.02.25
WEB+DB PRESS 編集部
技術評論社 (2007/02/23)
売り上げランキング: 293

最近お仕事でJavascriptを触る羽目になったので練習がてらMake STAMP!をちょこっと改造してみました。

シートをブログに貼れるよ。

2007021901.png

誰かが新しいスタンプをシートに載せるたびに自動的に更新されます。
あまり意味ないけど、ブログパーツフェチなあなたのアクセサリにど~ぞ。

Yahoo!で画像検索できるよ。

2007021902.png

Yahoo!の画像検索をして検索結果から選んだ画像を直接指定できます。

というわけで、初めてまともにJavascriptを使ったので非常に中途半端なコードになってしまいました。Windows版のFirefox2.0とIE6.0で一応確認してます。Mac持ってないのでSafariは後日確認します。なんか挙動不審なところがあったら是非報告してください。
がんばって勉強します。

アインシュタイン150の言葉
ジェリー メイヤー ジョン・P. ホームズ Jerry Mayer John P. Holms ディスカヴァー21編集部
ディスカヴァー・トゥエンティワン
売り上げランキング: 20646

「私は先のことなど考えたことがありません。すぐに来てしまうから」

アインシュタインが残した言葉の中から150の言葉をテーマごとにまとめた本です。
すごく薄い本で30分もあれば読み終わりますが、何度も読み返しています。
装丁もかわいいです。原書が欲しくなりました。

150の言葉からわかるのは彼がユーモアに溢れ、ポジティブで、謙虚だということ。
元気になれる言葉がたくさんあるので凹んだ時にもお勧めです。

ザ・センチネル 陰謀の星条旗
20世紀フォックス・ホーム・エンターテイメント・ジャパン (2007/02/02)
売り上げランキング: 280

24大好き君なので見ました。

結構面白かったです・・・が、キャスティングが納得いかね~。

マイケル・ダグラスがシークレット・サービス・・・うん。
キーファー・サザーランドもシークレット・サービス・・・うん。
キム・ベイシンガーがファースト・レディー・・・えぇぇぇぇ。

ま、マイケル・ダグラスと不倫しちゃうファースト・レディなんで良しとしておきます。
あ、エヴァ・ロンゴリアは相変わらず綺麗でした。

物語自体はよくある陰謀物。シークレット・サービスの中に裏切り者がいるという噂が流れ、まんまと罠にかかって疑われてしまうマイケル・ダグラスとそれをおっかける同僚のキーファー・サザーランド。
こういうのが好きな人は普通に楽しめると思います。

ちなみに特典映像で24のシーズン5とシーズン6を結ぶシーズン5.5的なエピソードが含まれています。(シーズン4とシーズン5のブリッジもありましたね。)これがまた結構お金かかってそうな雰囲気。

こーゆーの見せられると
シーズン6もYouTubeで探して見ちまおうか・・・
と誘惑に駆られたりするのですが、そこは大人なので我慢しています。

マッチポイント 初回限定版 (特別ブックレット付)
角川エンタテインメント (2007/02/02)
売り上げランキング: 197

あまり運とか信じない方なんですが、それでも運が良い悪いってのは存在するわけです。

舞台はロンドン。ウッディ・アレンの映画でロンドンってのがかなり妙ですが、とにかくロンドン。
貧乏だけど野心家、でもテニスプレーヤーの道を半ば挫折した主人公クリスが勤め先のテニススクールで金持ちのトムと出会うところから物語りは始まります。

やがてクリスはトムの妹クロエと恋に落ちますが、トムの婚約者であるノラと出会い、徐々に歯車が狂っていきます。クロエの父の会社に就職して出世しているため、豊かな生活を捨てられない。でもノラも忘れられない・・・というジレンマの中で衝撃の結末が・・・

というのが、売り文句でしたが、正直最後には納得できなかったです。

とはいえ、映画冒頭のテニスボールがネットにかかり、ボールがどちらのコートに落ちるかは全て運だ・・・というシーンとクリスがあるものを河に投げ入れる時のシーンがうまく重なってて、ちょっと「おっ」と思いました。

このシーンがこの映画の全てのような気がします。ボクもすっかり騙されました。

普通の映画だと多分逆の展開なので、それがこの映画の面白さなんでしょうけど、心情的に納得できなかったです。うーん。ジレンマ。

調子ぶっこいてこんなん作りました。

Make STAMP!
2007020901.jpg

切手風に画像を加工します。
その日の消印を押します。
直近の切手12枚のシート置いてます。

こんな感じ
2007020902.jpg

ただ、ロリポに置いているのでちょっと重いです。
結構負荷高いのでロリポおじさんに怒られて公開中止になるかもしれません。
そんときはまた考えるっちゅーことで。

素のCGIで書いたので一日かかってもうた・・・
Catalystだったらもっと簡単なんですけどね。

最近、またImageMagickをさわる機会があったので、ちまたで人気のPolaroizeと同じことがPerkMagickでできんかとこの辺を参考に試してみました。

手元にまともなImageMagickが使える公開サーバーがなかったのでスクリプトだけ。
Fedora Core 6の
ImageMagick-6.2.8.0-3.fc6.1
ImageMagick-perl-6.2.8.0-3.fc6.1
で試しました。

poralize.pl
use strict;

use Image::Magick;

my $input  = 'image.jpg';
my $output = 'polaroid.jpg';

my $img = Image::Magick->new;
$img->Read($input);
$img->Border( width => 10, height => 10, color => '#f0f0ff' );
$img->Set( 'background' => 'none');
my $amplitude  = $img->Get('columns') * 0.01;
my $wavelength = $img->Get('rows') * 2;
$img->Rotate(90);
$img->Wave( amplitude => $amplitude, wavelength => $wavelength );
$img->Rotate(-90);

my $shadow = $img->Clone;
$shadow->Flop;
$shadow->Colorize( fill => 'grey75', opacity => '100%' );
$shadow->Set( background => 'white' );
$shadow->Border( width => 10, height => 10, color => 'white' );
$shadow->Blur( radius => 0, sigma => 3 );

$shadow->Composite(
    image   => $img,
    x       => ( $amplitude / 2 ) * -1,
    y       => 5,
    compose => 'Over'
);
$shadow->Rotate(-5);
$shadow->Trim;

$shadow->Write($output);

結果、これが

2007020601.jpg

こんな感じ。

polaroid.jpg

あまりに古いImageMagickだと動かないかもしれません。

ちなみにImageMagick6.3.2以降だとPolaroidメソッドが追加されていて、こんな面倒なことをしなくても一発でポラロイドなエフェクトをかけられ、しかも文字まで入れれるようです。

が・・・手元ではうまいこと動かなかったので割愛。
誰か試してください。

Catalyst::Plugin::Upload::MIMEを使ってるのですが、このモジュールはMIMEタイプを見つけるのにFile::MimeInfo::Magicを使っています。

use strict;
use warnings;

use File::MimeInfo::Magic;
my $file = 'test';
my $mime = File::MimeInfo::Magic::magic($file);
my $ext =  File::MimeInfo::Magic::extensions($mime);

print "$mime\n";
print "$ext\n";

とかやれば指定されたファイル名に関わらずMIMEタイプやそれに対応する拡張子を取得することができるのですが、JPEGの場合

image/jpeg
jpeg

とかなって嫌な感じ。拡張子はjpgにしたいっ。

で、Fedora(他のLinuxパッケージも?)では

/usr/share/mime/globs

のファイルに書かれている順番で配列につっこまれます。
で、デフォルトでは

image/jpeg:*.jpeg
image/jpeg:*.jpe
image/jpeg:*.jpg

になってるのでこれの順番を

image/jpeg:*.jpg
image/jpeg:*.jpeg
image/jpeg:*.jpe

に変えればいい。
常識なのかもしれないけど、いつも忘れるのでメモ。

ジンガ The soul of brasilian football
レントラックジャパン (2006/10/18)
売り上げランキング: 1278

ワールドカップを唯一5度制覇している国、ブラジル。
世界各国のリーグに素晴らしい選手を輩出し続ける国、ブラジル。
そんなブラジル人の心のよりどころが「ジンガ」だそうです。

もともとはポルトガル語で揺れるという意味だそうで、格闘技カポエラの基本動作やサッカーのフェイントの足さばきから、広くはブラジル人特有のしなやかな身体性から精神性までを表す言葉だそうです。

そんなジンガをテーマに10人の若者を取り上げたドキュメンタリー映画です。
出てくる若者は貧困の中でプロサッカー選手を目指す少年から、片足を失ってもパラリンピックを目指す少年、フットバレーに熱をあげる少女、30分間で3300回のリフティングをこなす少女、カポエラの指導者としてジンガの重要性を説く青年、フットサル世界最優秀選手ファルカン、そしていまやレアル・マドリッドの10番をつけるロビーニョとさまざま。

とにかく全員テクニックがすごい!しかも、ゲーム中でそれを実現してしまう。
そして、そこに共通するキーワードがジンガ。

もう国民性なんでしょう。そして文化であり歴史であるんだと思います。
確かに環境(経済的にだけではなく)に恵まれていない子が多く出演していますが、彼らはみんなプライドを持っていて、そこに歓びを見出そうとしています。

正直、こんな国に日本が追いつくんだろうか・・・と凹みましたが、日本は日本なりのアイデンティティを築いていけばいいのかなとも思いました。
そこでオシムが言っていた「日本らしいサッカー」。
たった数年、しかも1人の監督の力で作れるとは思えませんが、是非頑張って欲しいと思いました。

とにかくフットボールファンには絶対お勧めの一本です。

あ、そうそう音楽も最高にかっこいいです。

プロフィール

このアーカイブについて

このページには、2007年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年1月です。

次のアーカイブは2007年3月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。