2014年3月22日土曜日

Nashorn(Java 8のJavaScriptエンジン)の実力

Java 8 になって、JREに含まれるJavaScriptエンジンがRhinoからNashornに変わりました。
public class Inspector {
    public static void main(String[] args) {
        ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
        System.out.println("engine = " + engine);
    }
}
>engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b

速くなったのかなー。ということで、RhinoとNashhornの実行速度を比較してみます。
コードはこんなシンプルなものです。

public class Inspector {
    public static void main(String[] args) throws ScriptException {
        ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");
        System.out.println("engine = " + engine);
        long startTime = System.currentTimeMillis();
        engine.eval("var count = 0;for(var i=0;i<100000;i++){count += i}");
        System.out.println("finish "+(System.currentTimeMillis() - startTime));
    }
}

Rhinoで実行すると、
engine = com.sun.script.javascript.RhinoScriptEngine@4fb3c3d9
finish 367

Nashoneで実行すると、
engine = jdk.nashorn.api.scripting.NashornScriptEngine@548ad73b
finish 117

Nashoneはやーい。

2014年3月8日土曜日

EclipseにWildFlyを設定する。

WildFlyってご存じですか?Java EE準拠のアプリケーションサーバです。GlassFishがこんな状況なので、移行先としていいかも。

本記事ではEclipse Kepler に WildFly 8.0を設定する方法を記載します。

EclipseはJ2EEが入ったものを用意します。WildFly 8.0はこちらからダウンロードして解凍しておきます。

「環境設定」 → 「Server」 → 「Runtime」 で「Add」を選択します。

「Download additional server adaptors」を選択します。

「JBossAS Tools」を選択し「Finish」を押します。表示されるまで少し時間がかかります。

再起動後、もう一度、「環境設定」 → 「Server」 → 「Runtime」を選択すると、「JBoss Community」> 「WildFly 8.0 Runtime (Experimental)」を選択します。

あとは、解凍したWildFlyを設定するのみで、EclipseとWidlFlyの設定完了です。Webアプリケーションを右クリック→Run As → Run on Serverなどで使えるようになります。

起動も早くていい感じ。Java EE 7をお探しの方はぜひお試しあれ。

2013年7月22日月曜日

Google App Engine for Java(GAE4J) で、datanucleusのエラーが出た時の対策

Google App Engine for Javaでデータベース系、datanucleusのエラーが出た時は、SDKをアップデートし、Eclipseで新しいSDKを設定し直すと、治るかもしれません。
私は、「org.datanucleus.store.types.TypeManager loadJavaTypes: User-defined type mapping class "org.datanucleus.store.types.sco.simple.List" was not found.」というエラーが出た時にこれで治りました。


SDKのアップデートは2つ、プラグインのアップデートと、SDKのアップデートをします。
プラグインのアップデートはEclipseのHelp→Check for Updatesからできます。
SDKのアップデートは環境設定(WindowsやLinuxだと、window→preferenceだったかな?)→Google →App Engineでダウンロードボタンを押すと、ブラウザが立ち上がってダウンロードサイトが開きますので、そこからダウンロードして設定を行います。

あとはプロジェクトをリビルドすると、datanucleus系のjarファイルがアップデートされ、エラーが解消されるかもしれません。

お試しあれ。

2013年6月13日木曜日

EclipseでAndroidのログが出力されなくなった時の対応。

Eclipseでは、LogCatで、Androidの実機のログを見ることができます。
そのログが出なくなったときは、DDMSパースペクティブを開いて、Deviceビューからログを見たい端末を選択すると、ログが出ることがあります。

お試しあれ。

2013年6月1日土曜日

Apache OpenMeetingsでビデオ会議をしてみませんか?


ビデオ会議とは、簡単に説明するとみんなでテレビ電話することです。
離れた場所にいる、複数の相手の顔を画面上で見ながら、お話すること。

Apache OpenMeetingsを使うと、無料でビデオ会議環境がつくれます。
画面共有もできるので、「見たいプレゼンがあるんだけれど、離れた場所でやるからなー。」
という時にも、プレゼンする人に画面共有をお願いすれば、プレゼンを聞くことができます。

Apache OpenMeetingsはセットアップも簡単!
ビデオ会議、試してみませんか?

□サーバーセットアップ
2つのソフトウェアをインストールするだけです。Javaをインストールして、Apache OpenMeetings(zip)を解凍して、設定するだけです。
記録機能を使うためには他にもいろいろと必要ですが、
テレビ会議をするだけなら、すぐにセットアップできます。

サーバはWindowsでも、Linuxでも、Macでも大丈夫です。Java最高。
ちょっと試してみたい場合にはWindows、みんなで使うときにはLinuxを使うと良いと思います。

では、セットアップ手順。
1. Javaのダウンロードとインストール
2. Apache OpenMeetingsのダウンロードとインストール
3. Apache OpenMeetingsの設定と起動

1. Javaのダウンロードとインストール
http://java.com/ja/download/ からJavaをダウンロードします。
exeファイルがダウンロードされるので、ダブルクリックで実行してください。

2. Apache OpenMeetingsのダウンロードとインストール
http://incubator.apache.org/openmeetings/downloads.html から Apache OpenMeetingsをダウンロードします。
zipファイルがダウンロードされるので、右クリックで解凍してください。

3. Apache OpenMeetingsの設定と起動
 Apache OpenMeetingsを解凍したフォルダにできる、binフォルダに移動します。
以下のコマンドをコマンドプロンプトにコピー&ペーストします。(下の行を選択して、右クリック→コピーした後に、コマンドプロンプトで右クリック。)
./admin.sh -i -email admin@example.com -group mygroup -tz "Asia/Tokyo" -user myadmin --password mypassword
↑のコマンドでは初期ユーザを作っています。メールアドレスがadmin@example.com, 会議室を共有するグループがmygroup、時間が東京時間、ログインIDがmyadmin、passwordがmypasswordのユーザを作っています。

最後に起動。
red5.sh
これだけ。
あとは、ブラウザで http://{hostname}:5080 にアクセスしてみてください。
ブラウザにFlash Playerが入っていれば、openmeetingsを使用することができます。
ブラウザはChromeで使用すると、音が割れる(というか、ぶつぶつになるというか。。。)ことがあるのでFirefoxやSafari等をおすすめします。
停止は
でできます。

テレビ会議、お楽しみあれ。

2013年3月16日土曜日

HomeBrewで環境を汚さずにRuby2.0をインストール

HomeBrewとは、Rubyで書かれたMac用パッケージ管理ツールです。
一番簡単なHomeBrewのイントールは、ターミナルから
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
でインストール出来ますが、/usr/local/binなどにいろいろインストールされます。
私は知らないファイルを知らない場所にいろいろインストールされるのには耐えられないので、場所指定でインストールします。
今回は/Applications/homebrewを作って、その中にインストールします。
事前にCommand Line Tools for Xcode か Xcodeをインストールしてください。

ではインストールをはじめます。
cd /Applications
mkdir homebrew && curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew
認証Proxyを超える場合は、上記コマンド前に、
export http_proxy=http://{USER}:{PASS}@{PROXY}:{PORT}
export ALL_PROXY=$http_proxy
を設定しておきます。

これでhomebrewがインストールされるので、.bash_profileでPATHを設定しておきます。
echo "export PATH=/Applications/homebrew/bin:\$PATH" >> ~/.bash_profile
source ~/.bash_profile

brew のインストールは以上で終わりです。
あとはRubyのインストールを行います。
ruby install ruby

これでRubyが/Applications/homebrew/binにインストールされます。

2013年2月16日土曜日

Herokuにwarをデプロイ(With Eclipse)

Herokuって知ってますか?良い感じのPaaSです。Tomcatがセットアップされていて、作ったWebアプリケーションを動かすことができます。すでに有名なサービスなのですが、日本語でJavaのWebアプリをデプロイする方法を説明しているサイトが無かったので、ここで公開。

HerokuにJavaのWebアプリを載せる方法は、コマンドライン、Eclipseとあるのですが、ここでは一番簡単だとおもうEclipseの手順を載せます。

事前準備
Eclipse3.7以上を用意します。
Herokuでアカウントを作っておきます。

■ Eclipseのセットアップ
1. EclipseにHeroku用プラグインをインストールします。
ツールバーのHelp > Install new Software →Work with に https://eclipse-plugin.herokuapp.com/install を入れて、Enterキーを押します。

Heroku Eclipse Integrationが表示されるので、チェックを入れてNext>ボタンを押します。

あとは道なりでプラグインがインストールされます。

2. プラグインの設定
プラグインのインストールが終了したら、ツールバーのPreference(Eclipseなら、Eclipse→環境設定)→HerokuでHerokuのアカウント情報を入力して、Loginボタンを押します。

すると、API Keyに値が入ります。
続いて、General → Network Connections → SSH2で、Key ManagementからGenerate RSA Keyを押します。鍵が表示されるので、Save Private Keyを押します。

再びHerokuの設定画面に戻って、Load SSH keyボタンを押して、生成した.pubファイルを指定します。
OKボタンを押して、設定完了です。

■WARのデプロイ
1. Heroku Viewの表示
Window → Show View → OtherからHeroku→My Heroku Applicationsを選択します。My Heroku Application Viewが表示されます。

Herokuを使うのが初めてでしたら、ビューのテーブルには何も常時されません。

2. アプリケーションの作成
デプロイするアプリケーションをHerokuに作成します。ローカルにもWebアプリが作られますが、作られたWebアプリを使う必要はありません。手元にwarがあれば、それを使うことができます。
ツールバーのFile → Other から Heroku → Create Heroku App From Templateを選択します。

Application Nameに任意の名前(世界でユニークにする必要があります。)を選んで、左下の欄でどれか(なんでもいいです。)を選んで、Finishボタンを押します。
My Heroku Application Viewにアプリケーションが表示されるので、右クリック→Deployで、お好きなwarファイルを指定すれば、デプロイ完了です。

http://{Application Name}.heroku.com にアクセスすると、アプリケーションを確認することができます。