Flex2.0.1について

先週の木曜日、機会あって某金融系の企業にFlex2を利用したシステム構築の提案をしに行きました。久々にプレゼンもやりましたが、できはまあ及第といったところでしょうか。なんとか、これから提案をしていく土俵の上には上がらせてもらえたようなので、とりあえず良かったです。でも、土俵に上がるというのは勝負をするのに最低限必要なことなので、まだスタートラインに立ったようなものです。本当の戦いはこれからです。がんばらないと。

で、この企業ではすでにFlex2を利用したシステムが構築されているのですが、Flex2.0.1の致命的なバグがあるみたいで、正直、Flex2に対してあまり良い印象を持たれていないようでした。Flex2.0.1は、いくつか新機能も追加されていますが、基本的にはFlex2におけるバグフィックスのためのアップデートということになっています。

http://weblogs.macromedia.com/akamijo/archives/2007/01/flex_201.cfm

しかし、バグフィックスのための修正が、新たなバグを産んでしまうというまさにデグレードを引き起こしてしまったようです。確かに、自分もFlex2.0.1に上げた途端、今までバリデーションをかけていたテキストインプットの縁取りが黒くなるという現象が起こりました。これは、FlexのコミュニティであるFlex User Groupにも投稿があり、Adobeに問い合わせたところ既知のバグという答えが返ってきたと書いてありました。

http://www.fxug.net/modules/xhnewbb/viewtopic.php?viewmode=flat&topic_id=762&forum=16

もっとレアケースな場合で発現するバグであれば少し納得はできるのですが、今までバリデーションをかけていたTextInputの縁取りが黒くなるなんてのは、テストすればすぐにわかることではないのでしょうか。これは、テスト不足としか言いようがありません。せっかく、Flex2が盛り上がってきてもこういうところがきちんとされていないと正直、苗(萎え)てしまいます。こういうところで、評価を落とさないようAdobeには今後、気をつけて欲しいと思います。

もうすぐFUJI ROCK

気がつけば、もう5月。もうすぐ、夏です。夏といえば、FUJI ROCKです。一度も行ったことがないので、いつか行こうと思っているうちにもう4、5年経ってしまいました・・・。

http://www.fujirockfestival.com/

kemuriは、今年いっぱいで解散となるので最後のFUJI ROCKになりますね。

twitterとErlang

最近、良く耳にするtwitterですが、どうやらRonR(Ruby On Rails)を使っているようです。メッセージングシステムの部分には、Erlangという言語で書かれたejabberdというものを使っているようです。

http://www.atmarkit.co.jp/news/200704/27/erlang.html

Lingrなどをはじめ最近は、Cometを使ってプッシュ型のアーキテクチャを採用するサービスも増えてきていますが、Cometはその性質上、クライアントとサーバの間でHTTPセッションを張りっぱなしにするため、同時接続数が多くなればなるほどサーバには負荷がかかります。Erlangは、並列処理に適した言語ということなので、このようなところにErlangを使って、並列処理を効率化できればおもしろそうですね。まあ、Erlangをさわったことがないのでなんとも言えませんが。

あと、Erlang(アーラン)って聞くと、情報処理の試験に出てくる呼量を思い出すのは、ぼくだけでしょうか?

はじめてのRuby その3(変数・メソッド・クラス)

前回、はじめてのRuby その2(RDT)では、Eclipse上でRubyの開発を行えるようにするため、RDT(Ruby Development Tools)というEclipseプラグインのインストールを行いました。今回は、Hello Worldから一歩先に進み、変数やメソッド、クラスの定義方法を見ていきたいと思います。

変数

Rubyでの変数の使い方を見る前にJavaで変数を使う方法をまず見てみます。

// 宣言をせずに使用はできないのでこれは×
// num = 10;

// 宣言をして使用しているので○
int num = 10;
num = 20;

// 20が出力される
System.out.println(num);

このように、Javaでは変数は使う前に必ず宣言することが必要です。しかも、Javaは強く型付けされた言語(静的型言語)のため、変数を宣言する際には必ず型を指定する必要があります。
では、次にRubyの変数の使い方を見てみます。

// rubyでは変数は宣言せずにいきなり使える
num = 10;

// 20が出力される
num = 20;
puts num;

このように、Rubyでは変数は事前に宣言することなく使用することができます。また、Javaのように強く型付けされた言語ではない(動的型言語)ため、変数を使うときに型を指定しません。

DMC

いやー、久々にヒットするマンガを見つけてしまいました。その名は、「デトロイト・メタル・シティ」。デスメタルバンドで苦悩するボーカル(クラウザーさん)を描いた作品なんですが、中身はかなり強烈・・・です。(ここでは、言えないような言葉がたくさん飛びかってます。)

ふだんは、とてもまじめでポップスな音楽とかを聴いていて、本当はデスメタルじゃなく、こういう音楽がやりたいとか言ってるんですが、いざライブになると人が変わったようにテンションが上がって、やりたい放題になってしまいます。

バンドのメンバーは全部で3人いるんですが、中でも強烈なのがドラムの人(アキバ系)。この人のトレーナーに書いてある文言がこれまたおもしろくて笑えるんです。最近、おもしろいマンガないな〜と思っている人がいたら、是非この作品を!

デトロイト・メタル・シティ (1) (JETS COMICS (246))

デトロイト・メタル・シティ (1) (JETS COMICS (246))

はじめてのRuby その2(RDT)

前回、はじめてのRuby その1(インストール〜Hello World)では、Rubyのインストールと対話型実行環境(irb)やテキストエディタを使って、お決まりのHello Worldを表示するということを行いました。今回は、自分がJava野郎ということもあり、いつも慣れ親しんでいるEclipse上でRubyを開発できるようにしたいと思います。

RDTのインストール

Eclipseには、Eclipse上でRubyの開発を行うことのできるRDT(Ruby Development Tools)というプラグインがありますので、Ruby Development Tool - Browse Files at SourceForge.netからバージョン0.8.0をダウンロードして、インストールします。(0.9.0のRC版が出ているようですが、ここでは現時点での最新リリースである0.8.0を使います。)

インストールができたら、Eclipseを起動し、メニューバーのウィンドウ→設定を選択します。すると、設定のダイアログがでてきますので、Ruby→Installed Interpretersを選択し、Addボタンを押してrubyコマンドの場所を指定します。前回、デフォルトの設定でRubyをインストールしているので、Locationは、C:\ruby\bin\ruby.exeとなります。Nameは何でも良いので、ここではわかりやすくrubyとします。

Rubyプロジェクトの作成

ナビゲータやパッケージエクスプローラ上で右クリック→新規→プロジェクト→RubyRuby Projectを選択します。プロジェクトを作成すると、Rubyパースペクティブに切り替えるか聞かれるので、ここでは素直に応じておきます。

プログラムの作成と実行

プロジェクトができたらプロジェクト上で右クリック→新規→ファイルを選択し、hoge.rbなど適当なファイルを作成します。ファイルが作成できたら、プログラムを書いて保存します。 (以下は、前回のHello Worldのコード)

puts "Hello World"

保存したら、ファイル上で右クリック→実行→Ruby Applicationを選択します。すると、コンソールにHello Worldが出力されるはずです。

キーワードのコンテンツアシスト(Ctrl + スペース)や強調表示が可能になるので、メモ帳などのテキストエディタに比べてだいぶコーディングはしやすくなるかと思います。次回以降、このRDTをベースにRubyを使っていきたいと思います。