Missing LocalVariableTable debug info for around advice
上記バグで一端作業が行われてるんだけど、AspectJが生成する内部メソッドに情報が移されただけで終わってる。しかもアドバイス対象のメソッドの情報については議論されてない。
なので新しいバグを登録してみました。
Missing LocalVariableTable for methods adviced by around execution.
100195のコメントの雰囲気では、なんとなく解決が難しそうだけど、現状ではaround executionを適用したメソッドをjava2wsdlに喰わせると、引数がin0、in1なんて悲しいことになるので、なんとか解決して欲しいんだけど。
2007/02/14
2007/02/13
Javaのためのクロージャ(v0.5)
Java What's Newより。
将来のJavaに入るかもしれない、クロージャ仕様の新版(v0.5)が公開されてます。
Closures for the Java Programming Language
クロージャとは、遅延実行されるパラメータ化されたコードブロックです(上記リンク先より)。クロージャがあることによって、今まで匿名クラスを作成して書いてたような処理がより簡単に書けます。ま、早い話が、特定のインターフェースを継承した匿名クラス定義の短縮構文です。
例えば、intを2つ引数にとり、それらを加算して返すものは次のように記述されます。
こいつも型を持っていて、その型は次のように表現されます。
なので、
てなことになります。
背後には当然Javaの型システムが働いていて、クロージャに対応するインターフェースがコンパイラにより生成され(synthetic付き)ます。
上記リンク先を深く見ていくと、いろいろニヤリとさせられるトピックが検討されてます。同じシグネチャのクロージャ間の互換性とか、例外のサポートとか、Unreachableとか、Genericsとの関係とか。Open Issues(v0.5)には、リフレクションやvolatile、末尾再帰はどうしようかみたいなことも挙げられてます。
いや、当初はまたXMLリテラル並のゴテゴテした機能追加だと思って嫌だったんだけど、仕様を見ると非常に興味深い議論が重ねられてて、俄然興味が沸いてきました。是非Java7に搭載して欲しい。
将来のJavaに入るかもしれない、クロージャ仕様の新版(v0.5)が公開されてます。
Closures for the Java Programming Language
クロージャとは、遅延実行されるパラメータ化されたコードブロックです(上記リンク先より)。クロージャがあることによって、今まで匿名クラスを作成して書いてたような処理がより簡単に書けます。ま、早い話が、特定のインターフェースを継承した匿名クラス定義の短縮構文です。
例えば、intを2つ引数にとり、それらを加算して返すものは次のように記述されます。
{int x, int y => x + y}
こいつも型を持っていて、その型は次のように表現されます。
{int, int => int}
なので、
{int, int => int} calc = {int x, int y => x + y};
calc.invoke(3, 5); // 8
calc = {int x, int y => x - y};
calc.invoke(3, 5); // -2
てなことになります。
背後には当然Javaの型システムが働いていて、クロージャに対応するインターフェースがコンパイラにより生成され(synthetic付き)ます。
上記リンク先を深く見ていくと、いろいろニヤリとさせられるトピックが検討されてます。同じシグネチャのクロージャ間の互換性とか、例外のサポートとか、Unreachableとか、Genericsとの関係とか。Open Issues(v0.5)には、リフレクションやvolatile、末尾再帰はどうしようかみたいなことも挙げられてます。
いや、当初はまたXMLリテラル並のゴテゴテした機能追加だと思って嫌だったんだけど、仕様を見ると非常に興味深い議論が重ねられてて、俄然興味が沸いてきました。是非Java7に搭載して欲しい。
2007/02/12
LG3Dの将来
http://forums.java.net/jive/thread.jspa?messageID=198544によると、MMOG基盤のProject Darkstarを使って分散共有ができるシーンマネージャを作り(Project Wonderland)、その上でデスクトップを共有させたりってなことを考えてるらしい。
LG3Dの世界の共有となると、ウィンドウやアプリケーションって単位だけではなくて、3D空間の共有を意識することになるんだな。おもしろい。
LG3Dの世界の共有となると、ウィンドウやアプリケーションって単位だけではなくて、3D空間の共有を意識することになるんだな。おもしろい。
2007/02/10
Yahoo! Pipes
安藤日記より。
Yahoo! Pipesが公開されたらしい。
サイトの説明は"Pipes is an interactive feed aggregator and manipulator."となってるので、インタラクティブに作成できるフィード生成エンジンといったところかな。GUIでいろんなサービスをマッシュアップして、簡単に作れるみたいです。
既にたくさんのPipeが登録されていて、New Your Timesのページからキーワードを抽出してFlickrから写真をとってくるもの(New york Times Thru Flickr)や、いろんなニュースをごちゃ混ぜにしたもの(Techcrunch Citations)、指定場所付近のアパートを探すもの(Apartment Near Somethingなんかも。
おもしろいのは、パラメータを与えてPipeを実行できたり、特定のPipeからコピーして自分のPipeを作成できるところかな。
Pipe作成に利用できるモジュールは、以下の通り(A Complete List of Pipes Modulesより)
Content Analysis
Count
Date Formatter
Date Input
Fetch URL
Filter
Flickr
For Each Replace
For Each Annotate
Google Base
Location Extractor
Location Input
Number Input
Sort
String Concatenate
Text Input
BabelFish
Truncate
Union
Unique
URLBuilder
URL Input
Yahoo! Local
Yahoo! Search
Yahoo! Pipesが公開されたらしい。
サイトの説明は"Pipes is an interactive feed aggregator and manipulator."となってるので、インタラクティブに作成できるフィード生成エンジンといったところかな。GUIでいろんなサービスをマッシュアップして、簡単に作れるみたいです。
既にたくさんのPipeが登録されていて、New Your Timesのページからキーワードを抽出してFlickrから写真をとってくるもの(New york Times Thru Flickr)や、いろんなニュースをごちゃ混ぜにしたもの(Techcrunch Citations)、指定場所付近のアパートを探すもの(Apartment Near Somethingなんかも。
おもしろいのは、パラメータを与えてPipeを実行できたり、特定のPipeからコピーして自分のPipeを作成できるところかな。
Pipe作成に利用できるモジュールは、以下の通り(A Complete List of Pipes Modulesより)
Content Analysis
Count
Date Formatter
Date Input
Fetch URL
Filter
Flickr
For Each Replace
For Each Annotate
Google Base
Location Extractor
Location Input
Number Input
Sort
String Concatenate
Text Input
BabelFish
Truncate
Union
Unique
URLBuilder
URL Input
Yahoo! Local
Yahoo! Search
2007/02/08
mozillaを使ったHTMLパーザ
JavaNews.JPより。
Mozillaのエンジンを使ったJava用HTMLパーザ.Windows,Linux,Mac用があります.
Mozilla Java Html Parser
Mozilla使ってるので強力で速い(JavaのDOMパーザと同程度)のはいいんだけど、Mozillaのモジュールが60MBもあるらしい。
Mozillaのエンジンを使ったJava用HTMLパーザ.Windows,Linux,Mac用があります.
Mozilla Java Html Parser
Mozilla使ってるので強力で速い(JavaのDOMパーザと同程度)のはいいんだけど、Mozillaのモジュールが60MBもあるらしい。
MacFUSE
やばい。便利すぎる。MacでNTFSに書き込めるようになります。
macfuse - Google Code
ここからMacFUSE Coreをダウンロード&インストールして、
MacFUSE : FUSE for Mac!
ここからMacFUSE ToolsとNTFS-3Gをダウンロード&インストールで使えます。
マウントは、ニテンイチリュウ: MacFUSEのとおり、
こんな感じで。
USBで繋いだディスクを難なく認識して、書き込むことができました(デバイスは/dev/disk4s1)。すげぇ。
macfuse - Google Code
ここからMacFUSE Coreをダウンロード&インストールして、
MacFUSE : FUSE for Mac!
ここからMacFUSE ToolsとNTFS-3Gをダウンロード&インストールで使えます。
マウントは、ニテンイチリュウ: MacFUSEのとおり、
$mkdir /Volumes/Windows
マウントポイントの作成。Windowsの部分は好きな名前で可。
$sudo /usr/local/bin/ntfs-3g /dev/disk0s3 /Volumes/"Windows" -o ping_diskarb,volname="Windows"
こんな感じで。
USBで繋いだディスクを難なく認識して、書き込むことができました(デバイスは/dev/disk4s1)。すげぇ。
LG3D上でPDFを表示するアプリケーション
JSaddle - PDF Viewer for LG3D : Prototype
JPedalを使ったLG3D用のPDFビューワ。Pedalに対してSaddle。次はHandle?
こういう、ぐるぐるしたインターフェース以外に何かないのかなぁ。
あと、LG3Dが3Dなのに立体感が無いのは、陰が無いからなんだろうな。
JPedalを使ったLG3D用のPDFビューワ。Pedalに対してSaddle。次はHandle?
こういう、ぐるぐるしたインターフェース以外に何かないのかなぁ。
あと、LG3Dが3Dなのに立体感が無いのは、陰が無いからなんだろうな。
2007/02/06
Lingrの新版リリース
お待たせしました、ガツンとLingrの新リリースです(CNET Japan)
Lingrの新版がリリースされました。
まだどういう位置づけのものなのかよくわかってないんですが、ユーザがAPIを利用していろんなアプリケーションを構築してるようです。Cometを利用しているので、HTTPベースで利用できるセッション管理サーバって感じなのかな。
Lingrの新版がリリースされました。
まだどういう位置づけのものなのかよくわかってないんですが、ユーザがAPIを利用していろんなアプリケーションを構築してるようです。Cometを利用しているので、HTTPベースで利用できるセッション管理サーバって感じなのかな。
2007/02/03
JRubyコンパイラはRuby Cより2倍高速
JRuby Byte Code Compiler Outperforming Ruby C
但し、まだまだコンパイルできないコードがある、現在開発中の新しいコンパイラでの話。
でもまぁ、かなり期待できるんじゃないでしょうか。
以前から松本さんは、誰かがRubyを再実装したら今より速いものができるはずって言ってたけど、まさかそれがJavaでの実装とはね。
但し、まだまだコンパイルできないコードがある、現在開発中の新しいコンパイラでの話。
でもまぁ、かなり期待できるんじゃないでしょうか。
以前から松本さんは、誰かがRubyを再実装したら今より速いものができるはずって言ってたけど、まさかそれがJavaでの実装とはね。
書籍へのリンク
調子に乗ってamazonアフィリエイトも追加してみた。
お薦めの本を常時2冊だけ載せときます。
結構縦に長いので、配置が難しい。あまりうるさくてもいけないし、あまり下にあっても意味が無いし。
ところで、adsenseにしばしば変な広告が出てる気がするんですが。
どのキーワードで出てきてるんだろ。
お薦めの本を常時2冊だけ載せときます。
結構縦に長いので、配置が難しい。あまりうるさくてもいけないし、あまり下にあっても意味が無いし。
ところで、adsenseにしばしば変な広告が出てる気がするんですが。
どのキーワードで出てきてるんだろ。
登録:
投稿 (Atom)