メイン

2008年05月04日

Javaで3次元幾何形状を扱うためのライブラリ『jgeom』

jgeom』は、Javaで3次元幾何形状をあつかうためのライブラリです。

幾何形状の論理演算ができるライブラリを探していたときに見つけました。

「さすがJava、何でもございますなぁ」と関心するばかりです。


実行スピードではC/C++やFortranに及びませんが、ライブラリがこれだけ豊富なJavaでは開発スピードがピカイチという強みがありますね。

2007年10月29日

情報の見える化ライブラリ 『prefuse』 & 『flare』

情報(データ)を視覚化するためのライブラリ『prefuse』と『flare』の紹介です。


与えられた情報は膨大だ。

そこからほしいデータをスムーズに取り出したい・・・

さぁ、どうする?

与えられた情報をうまく視覚化する事が一つの解法ではないかと思います。

情報をうまく視覚化することで、情報全体を俯瞰できるようになります。

俯瞰することによって、情報のどの集合のなかに、目的の情報がありそうか見当がつけやすくなるからです。


また、データをいろいろいじっているうちに、新しい発見があるかもしれませんね。

このデータ構造とこのデータ構造は似てるなぁとか、局所的には違うように見えるデータ構造でも、大局的見てみると似ているデータ構造があるぞ・・・なんてかんじで。


前置きが長くなりました。

prefuse』は、Java用のライブラリです。

ActionScript3用のライブラリとして『flare』が提供されています。

ライセンス形態は、「BSD license」です。


まずは、「visualization gallery」や「demonstration video」で、そのおもしろさを体験してみてください。


p.s.

あー、じっくりプログラミングしたいかも・・・

いろんなことが、Javaだけで簡潔できそうな雰囲気。

やってみないとわからないけどね(笑)

2007年07月08日

「Google Calendar Data API」でスケジュール(イベント)を操作する

Google Calendar」をスケジュール管理につかっている方も多いと思います。

携帯からも使えると、ちょっとしたスケジュールの管理や、メモがわりにも使えて便利かも。。。と考えて、
「Google Calendar」を自作メールアプリケーションに組み込むべく、「Google Calender Data API」に挑戦してみました。


今回、試してみたのは、次の5項目です。

  ○カレンダーリストの取得
  ○カレンダー内のイベント取得
  ○カレンダー内のイベント検索
  ○イベントの追加
  ○イベントの削除


これらの機能をJavaで実装する方法を紹介します。

続きを読む "「Google Calendar Data API」でスケジュール(イベント)を操作する" »

2007年07月01日

「JAMES」+「MySQL」 "mailet"実装編

メールを送ってユーザ登録をするメールアプリケーションを作成します。

これから開発するメールアプリケーションは、「rigster@loclhost」にメールを送信すると、送信者のメールアドレスがデータベースに登録されるといものです。


実際の作業は、次の3つです。

(1)データベース利用するmailetのスーパークラス(抽象クラス)「DBMailet」を実装する

(2)ユーザ登録を行うクラス「Registration」を実装する

(3)「JAMES」に「Registration」クラスをmailetとして登録する


では、それぞれの内容を順を追って紹介します。

続きを読む "「JAMES」+「MySQL」 "mailet"実装編" »

2007年06月30日

「JAMES」+「MySQL」 データベース設定編

「JAMES」でメールアプリケーションを作成するときに、データベースが利用できるとなにかと便利です。

データベースのデータを利用することで、各ユーザさんに特化したサービスを提供できますしね。


そこで、「JAMES」でデータベースを利用する方法について、説明したいと思います。

まずは、データベースを利用するための設定を紹介したいと思います。

今回利用するのは、「MySQL」です。


では、設定を方法を順に説明していきます。

続きを読む "「JAMES」+「MySQL」 データベース設定編" »

2007年06月27日

「JAMES 」で"matcher" & "mailet"を実装する

「JAMES」で"matcher"と"mailet"を実装したサンプルを紹介します。

「JAMES」ってなんぞや?というかたは、これまでの記事をご覧ください。


ここで紹介するサンプルは、ユーザ名"kazuhiro"宛てのを受信したら、「メッセージネーム」と「メールの本文」を表示するというものです。

メールの本文は、マイムタイプが"text/plain"であるとします。


実装するのは、次の二つのクラスです。

○「MyMatcher.java」
  受信したメールのあて先がユーザ名"kazuhiro"かどうか判断するためのクラス

○「MyMailet.java」
  「メッセージネーム」と「メールの本文」を表示するためのクラス


では、実装したコードを示します。


続きを読む "「JAMES 」で"matcher" & "mailet"を実装する" »

2007年06月24日

「JAMES」で"matcher"&"mailet"の実装から設定までの流れを紹介

メールアプリケーションは楽しそう!と思い、「JAMES」をつかってメールアプリケーションを作成しています。


さてはじめるかと思って、はじめてみると気づくと思いますが、「JAMES」のドキュメントは不親切&不十分ですね(笑)


メールの種類を振り分けるための"matcher"と振り分けたメールの処理を定義する"mailet"の実装方法と、実装したクラスを「JAMES」で利用するための設定方法について、簡単に順を追って説明したいと思います。


超早足です。

続きを読む "「JAMES」で"matcher"&"mailet"の実装から設定までの流れを紹介" »

2007年06月17日

メールアプリケーションをつくろう 「JAMES Server」のインストール 

メールひとつで、ブログにエントリーを投稿したり、画像をアップロードできたりと、いろいろなことができますよね。

また、アイディアややらなければならない仕事、ちょっとしたメモにして自分にメールをすることで、備忘録として利用するなんて使い方もあります。


本来のメッセージを誰かに送るという目的以外にも、工夫するといろいろなことに役立ちそうです。

なんといっても、さっと書いてどこからでも送れるという、お手軽感がいいですよね。


そんなお手軽なメールを利用したサービス/アプリケーションの作成って、おもしろそうじゃないですか?

そのためには、

 ○メールを受け取る
 ○メールの内容によって処理を振り分ける
 ○メールを処理する

といった仕組みが必要です。

で、上に上げたような要求を満たすフレームワークのようなものがないか探してみました。

続きを読む "メールアプリケーションをつくろう 「JAMES Server」のインストール " »

2007年04月28日

Javaで手軽にフィード(RSS、Atom)を扱うライブラリ 「ROME」

ROME

情報収集にフィードリーダを使っているという方が、多いのではないでしょうか。
フィードリーダを利用すると、それぞれのサイトを回る手間を省ける、
情報が更新されたことを通知してくれるといったメリットありますね。


情報を配信する側にとってもフィードを提供することは、
不可欠な要素となってきているのではないでしょうか。


そんな便利なフィードですが、さまざまなフォーマットが乱立している状態です。
フィードを利用して新しいサービスを提供しようとする人にとっては、悩みのたねです。

そんななか、Google は
「Google AJAX Feed API」の提供を始めました。これによって、JavaScriptから簡単に
フィード情報を取得することができるようになりました。
「Google AJAX Feed API」の使い方については、「「Google AJAX Feed API」で一段上の情報収集を目指そう!(簡単チュートリアル編)」を参考にしてください。


今日は、Javaからフィードを扱うためのライブラリ「ROME」を紹介します。

「ROME」を利用すると「Google AJAX Feed API」が提供している、あるフィードを統一フォーマットで取得するといるという機能も、簡単に実装できそうです。


では、さっそく「ROME」を使ってみましょう。

続きを読む "Javaで手軽にフィード(RSS、Atom)を扱うライブラリ 「ROME」" »

2007年03月26日

「Guice」 -Google発のJava用DIコンテナ- を使ってみる

Guice

久々にJavaの話題です。

Googleから提供されているDI(Dependency Injection)コンテナ「Guice」をつかったプログラミングについて、説明します。

DI自体については、あまり詳しくないので(^^;、プログラムを作りながら勉強していくつもりです。


まずは、「Guice」のインストールからです。
「Guice」は、こちらのサイトからダウンロードします。

ダウンロードしたら、ファイルを解凍して、ライブラリをパスの通ったディレクトリに配置してください。
以上でインストールは完了です。

続きを読む "「Guice」 -Google発のJava用DIコンテナ- を使ってみる" »

2007年03月22日

Jakarta Regexp 1.5 リリース

Jakarta Regexp 1.5がリリースされました。

「Jakarta Regexp」は、Apache Jakarta Projectで開発されているJavaの正規表現ライブラリです。

全バージョンからの変更点は、こちら
バグの修正とパフォーマンス最適化が行われているようです。


(ネタ元)
  「Apacheライセンスの正規表現ライブラリ"Jakarta Regexp 1.5"登場

2007年01月25日

Java SE 6の機能を利用してスクリプト言語をJavaから利用する

「Java SE 6」には、Javaプログラムからスクリプト言語を実行するための機能(JSR 223)があります。


一番面白そうなこの機能に、これまで触れていませんでしたので、今回は満を持してJavaからスクリプト言語を実行してみたいと思います。


実行するスクリプト言語として、「Ruby」を選んでみました。


続きを読む "Java SE 6の機能を利用してスクリプト言語をJavaから利用する" »

2007年01月16日

「Lucene」で日本語検索に挑戦

「Lucene」を使って、日本語を検索する方法を紹介します。

「Lucene」は、Javaで実装された全文検索エンジンですが、デフォルトで用意されているアナライザー「StandardAnalyzer」では、日本語を正確にうまく扱うことができません。


そこで、"アナライザー”として「JapaneseAnalyzer」を利用します。

「JapaneseAnalyzer」では、「Sen」と呼ばれる形態素解析プログラムと日本語辞書を利用して、「Lucene」で日本語を扱うことを"ある程度"可能にしています。

(注)
  ここで、あえて"ある程度"と表記したのは、日本語辞書にない日本語は、
  扱えないという制限があるからです。


以下、順を追って説明していきます。


続きを読む "「Lucene」で日本語検索に挑戦" »

2007年01月12日

「Nutch」ですいすい情報収集 (クローリング機能を試す)

Nutch」でウェブサイトをクローリングする方法を説明します。

クローリングとは、簡単にいえば「ウェブサイトの情報を集めるてくれる仕組み」でしょうか。


(注)
  nutchを利用するには、unixがお勧めです。
  私は、「CentOS 4」をOSとし用いました。

  最初はwindowsでがんばろうと試行錯誤しましたが
  多くの無駄な時間をつかってしまうという結果に終わりました(TT)。


「Nutch」利用したクローリングの方法には、

(A)ある特定のネットワーク(intranet)をクローリングする方法
(B)ウェブ全体(whole-web)をクローリングする方法

の2つがあります。


今回は、このblogサイト「http://kazuhiro.ty.land.to/blog/」を起点にして
(A)の方法でクローリングする方法を紹介します。

続きを読む "「Nutch」ですいすい情報収集 (クローリング機能を試す)" »

2006年12月29日

生体認証機能付きキャッシュカード(Part2)&「JavaWorld」休刊

<キャッシュカードについて>

生体認証機能付きキャッシュカード」のエントリーで紹介したとおり、キャッシュカードの生体認証がうまくいません。


そこで、いろいろ確認してもらおうと思い、銀行の窓口に行ってきました。

いきなり結果ですが、「カードの再発行」になりました(TT)。

一度登録した情報は、書き換えたり、調査したりすることができないとのことでした。

セキュリティ上の仕様なんだと思います。SuicaなどのICカードでは、何度でも書き換えたりできるのでICカードの仕様ではないと勝手に判断しました。


続きを読む "生体認証機能付きキャッシュカード(Part2)&「JavaWorld」休刊" »

2006年12月18日

「Lucene」で自分専用の情報ピックアップエンジンをつくりませんか?

日々、膨大に提供される情報のなかから、できるだけ多くの情報を見比べて、経験や勘でよさそうなものをピックアップして読むといったことを繰り返していると思います。

この作業、さすがに疲れます。


そこで、ピックアップ作業を任せられる自分コピー、あるいは秘書プログラムをつくるべく活動を開始しました(笑)。

続きを読む "「Lucene」で自分専用の情報ピックアップエンジンをつくりませんか?" »

2006年12月17日

「Quick JUnit Plugin」でコーディング効率がぐんとアップ!

Quick JUnit Plugin」は、「JUnit」の起動やテストコードと実装コード間の切り替えを簡単に行うための「eclipse」のプラグインです。

「Quick JUnit Plugin」を利用すると、「JUnit」を利用したプログラミングを効率良く行うことができるようになります。


続きを読む "「Quick JUnit Plugin」でコーディング効率がぐんとアップ!" »

2006年12月12日

「Java SE 6」 リリース!

ついに、「Java SE 6」の正式版がリリースされました。当初の予定では、11月上旬にリリースとされていましたが、約1ヶ月遅れのリリースとなりました。

”Sun”からすこし早めのクリスマスプレゼントといったところでしょうか?


Downloadサイトより、「JDK 6」を入手して、インストールしました。

続きを読む "「Java SE 6」 リリース!" »

2006年11月08日

JOGLをつかってJavaでOpenGL

ある周期でやってくる「3Dコンピュータグラフィックスやってみたいな病」がひょうんなことから再発(w。
理由は、JOGLのバージョン1.0.0がリリースされたためです。いつ正式リリースされたのでしょうか?

待ち続けているときにはなかなかリリースされず、忘れたことにリリースされているとは、なんとも肩透かしを食らったような気分です(w。

JOGLはJavaからネイティブのOpenGL APIを利用するためのライブラリです。


joglを利用するためには、JOGLのサイトから入手したライブラリをコピーするだけです。早速、導入開始です。

続きを読む "JOGLをつかってJavaでOpenGL" »

2006年02月20日

深いぞ例外!浅いぞオレ!

Javaの例外処理というと、まずtry、catch、finallyブロックが頭に浮かぶとおもいます。
よくみかけるのは、下のようなコードではないでしょうか?

catch( Exception e ) {
    e.printStackTrace();
}

これは、例外処理をプログラムのデバッグに利用した、例外の使い方の一側面にすぎません。


つくづく、例外の種類や利用の仕方(たとえば、どこで、どのような例外を発生させ、どこで発生した捕まえて適切に処理するかという点)についてはあまり深く考えてないことに気づかされました。また、アプリケーションとシステムをつくる場合で例外の扱い方が違うとか・・・?(未確認情報)深いぞ例外、とことん浅いぞオレTT。


そこで、検索エンジンと「プログラミング言語Java」第3版、そしてJavaのソースコードを片手に一から例外について勉強です。


参考URL:
http://www.nextindex.net/java/error.html
http://www-06.ibm.com/jp/developerworks/java/020802/j_j-ejbexcept.html


p.s.
良い情報源をご存知の方がいらっしゃいましたら、コメントをよろしくおねがいします。

2006年02月17日

JUnit 4.0 公開

JUnit 4.0 公開のNewsをPCWEBで発見し、早速JUnitのホームページへ。
なかなかJUnit4.0にたどり着けません。

そこで、
JUnit Yahoo GroupJUnit 4.0 is available http://sourceforge.net/projects/junit/→Download JUnit
とたどって、なんとかJUnit4.0の入手に成功しました。

たどり着くだけでつかれ果ててしまってのは私だけ?w。


いま、気づいたんですが、
JUnitのホームページ→Overviewの項目のSorceForge
ですぐ入手できるようですTT。

早速、ためしてみたいと思います。


注)JUnitは、Javaで書かれたプログラムに対して単体テストを実施するためのフレームワークです。