2008年 8月 15日 金曜日 |
JavaFX SDKのProject Nile + Illustrator CS3を試す English Translation: (Yahoo!) / (Google) ずいぶん、ネタ的にほったらかしにしていましたが、先月末に事前にアナウンスされていた通りぎりぎりJavaFX SDKのプレビュー版がリリースされました。JavaFX SDKについての記事はちらほら見かけるので、今回はちょっと敷居の高いProject Nileを試してみました。何が敷居が高いかというと、Project NileはPhotoshop CS3あるいはIllustrator CS3用のプラグインがメインだからです。Photoshop CS3やIllustrator CS3を手に入れるのが敷居が高いです(値段的意味で)。幸い、手元には昨年末のボーナスをはたいて買ったAdobe Creative Suite 3がありますので、早速チャレンジです。 Project Nileには他にもSVGからJavaFXへ変換するツールや、JavaFX Scriptのビューワもついているのでそれらは単体で利用することができます。現在のところ、利用できるのはWindowsまたはMac OS X (on Intel)のみのようです。Photoshop CS3 + Project Nile pluginは確かJavaOneでデモをしていたと思いますので、Illustrator CS3用のプラグインを試してみました。 ![]() 適当に絵を描きます。ま、ねこび〜んのSVGをそのままIllustratorに取り込んだだけですが・・。気になったのがフォントの扱い。なので、一応テキストも入れてみます。 ![]() JavaFX pluginは書き出しのためのプラグインのようですから、メニューのファイルから書き出しを選び、形式でJavaFX Script (.fx)を選んでみます。ところで、JavaFX ScriptはJavaクラスにコンパイルしてから実行されるようですのでスクリプト名はJavaクラス名として利用できるものに自動的に置き換えられます。 ![]() おっと・・。フォントも書き出されました。これ、フォントのライセンス上まずいような、そうでもないような・・・。一応、使っているフォントのみが選ばれて書き出されるようです。 ![]() まあ、普通Illustratorで入稿する場合にはフォントをアウトライン化するのが礼儀だろうと思いますので、そのように実行します。 ![]() あと、レイヤー名も英語にしておきます。どうやらレイヤ名が日本語だとおかしなことになるようです。
あとは、JavaFX Graphics Viewerというのでファイルを選択すればオッケーです。たまーに表示できない絵もありますが、まだプレビュー版ということで暖かく見守りましょう。
Java VM上で動作するSqueak実装、JSqueak English Translation: (Yahoo!) / (Google) Smalltalkのオープンソース実装であるSqueak(スクイーク)を、Javaで実装したJSqueakというのがSun LabsのDan Ingallsさんによって作られているそうです。Smalltalkを実際に使ったことも無いし、知識も無いので、いまのところ、個人的には使いどころが思いつきません・・・。もうちょっと勉強しないとなあ。 ![]() Scalaパズラー English Translation: (Yahoo!) / (Google) 今週水曜日に行いました、記念すべき20回目のJavaホットトピックセミナーの資料が公開されたようです。さて、Javaホットトピックセミナーでは、Javaパズラーという定番の人気コーナーを毎回やっています。毎回、問題を考えるのが難しいんですが・・・。さてそれは置いといて、Hittin' the edge casesでは、Scalaパズラーというのを始めたようです。Part 1とありますからシリーズ化されるんでしょうね〜。楽しみ。
参考: Scala (Wikipedia) ゆの in Javaというのが流行っているようです English Translation: (Yahoo!) / (Google) t_yanoさんのブログで知りましたが、ゆのin Javaという遊びが流行っているようです。元ネタは今ひとつ知らないのですが一つ考えてみました。ゆの in Java - d.y.d.にルールっぽいのが書いてます。うーん、いまひとつ修行不足です・・・。
package Hidamari;
import static Hidamari.Sketch.Yuno.*;
public class Sketch {
static enum Yuno {
ひだまりスケッチ, X365,
来週も見てくださいね;
void sketch() {
System.out.print(this.name() + " ");
}
}
public static void main(String[] args) {
int X = 1, _ = 1;
for (Yuno P : Yuno.values()) (
X / _ / X < _? 来週も見てくださいね
:P
).sketch();
}
}
残念なのが Xと _ が普通の定数として遊んでいるだけなところですね。d.y.d.さんのところだとちゃんとそれらも働いているので秀逸です。
参考リンク: ホットトピックセミナーとナイトセミナーのアーカイブ English Translation: (Yahoo!) / (Google) Javaホットトピックセミナー、OpenSolarisナイトセミナー、OpenSolarisホットトピックセミナーのこれまで開催したそれぞれの回の資料をアーカイブしたまとめページが出来上がりました!
![]() 数えてみたところ、Javaホットトピックセミナー 7月号は記念すべき第20回目ですね。20回目には鈴木さんによるOpen ESBの紹介と、cactusmanさんによるHudsonの紹介があります。お楽しみに! ホットトピック・セミナー(6月号) Podcast - JRubyとSailfin English Translation: (Yahoo!) / (Google) 先週水曜日に行いましたホットトピック・セミナー(6月号)のポッドキャストが出来上がりました。iTunesに登録いただいている方の場合は自動的にダウンロードされると思いますが、iTunes以外の方法を使って録音を聞きたい!という方は以下のリンクよりMP3をダウンロードしてみてください。
![]() おかげさまで今回も大盛況でした。 Podcastはじめました English Translation: (Yahoo!) / (Google) 6月12日(木)に行いましたセミナーIT サービス設計の新しい方法論のPDF資料がすべてのセッション部そろいました。さて、今回のセミナーからはマイ新ガジェット「ICレコーダ DS-40」を使って録音し、Podcastを始めることにしました。
![]() iTunesでご利用の場合にはiTunesから資料をダウンロードすることもできます。iTunes以外でご利用の方は下記のアドレスからMP3形式で配布しておりますのでそちらをご参照ください。
![]() セミナーの様子はJavaホットトピックセミナーなんかでは、UStream.tvでオンライン配信していますが、Webキャストではたまに音が聞き取りづらいところがあったり、そもそもスライドの文字なんかはWebカメラ経由ではつぶれていてほとんど読めないので、よっぽどデモの部分以外は音声だけで十分ではないかなと思ったりもしています。ということで今回からPodcast形式にしてみました。いかがでしょうか?Podcastだと、セッション資料をモバイル端末にいれたり、印刷たりして電車の中の時間を有効活用できるようにも思います。昨日のJavaホットトピックセミナー(JRubyとSailfin)も同様に録音しましたので、準備でき次第同様にPodcast形式で公開させていただきます。また、コメント欄にてUstream.tvでの配信がいい!とか、Podcastの方がいい!などご意見いただければ可能な限り対処いたします。 こぼれ話:まだPodcastもはじめてのことで、今のところPodcastのRSSは手書きです (^^ゞ JRubyを使ってPodcast用のDSLを作らねば。 GlassFishが買えるSunオンラインストア、オープン English Translation: (Yahoo!) / (Google) ![]() でっかくjp.sun.comのトップを飾っていますが、サン・オンラインストアの日本語サイトがオープンしたようです。 ![]() 最初は、SolarisとGlassFishのサブスクリプションライセンスの販売から。 ![]() お支払いは各種クレジットカードおよび、コンビニでもお支払いいただけます。 ![]() 我らがGlassFishは657,720円から。コンビニで65万も払うのを想像すると、すごい状況になりそう・・・。 ![]() さて、そのGlassFishですが、HADBというAdd-onソフトウエアと本体の部分に分かれています。通常の、Java EEアプリケーションを動作させるには本体のみでokです。一方、セッション情報の高可用性を実現するための選択肢としてHADBというコンポーネントががあり、これを使えばより信頼性の高いシステムが構築できます。なお、このAdd-OnのHADBだけではアプリケーションを動作させることはできませんので必ず本体の方をご購入ください。 ワクワク技術 BTrace English Translation: (Yahoo!) / (Google) The Aquarium日本語版にもBTraceの記事が出ていましたのでもうご覧になった方も多いかもしれませんが、SunはJava VM用に新しいトレース技術、BTraceを作っているようです。Solaris 10のDTrace (ディートレース)と絶対聞き間違えると思いますが、DTraceがDynamic Traceの略であるのに対し、BTrace (ビィートレース)はBytecode Tracingの略からきているようです。もうすこし紛らわしくないネーミングでも良かったような・・・。さて、なんだかいろいろ出てきましたが、Sunはほかにもパフォーマンスツールをいろいろ出しているんですがご存知でしたか?
DTraceSolaris 10を始めとして、いまはMac OS X Leopardでも使えたりFreeBSDでもそろそろ使えるらしかったりする画期的なデバッグツールです。D言語というスクリプト言語で、プロファイリングのポイント(=プローブと呼ばれています)を指定して、自在に統計情報をとることができます。D言語、など少し敷居が高い感じがしますが、使いこなせばこれほど強力なツールはないと思います。後述のD-Lightなんかを使えば視覚的に使えます。
D-LightDTrace用のユーザインタフェース。確か初お披露目は昨年のJavaOne 2007でのJames GoslingのGeneral Sessionだったと思います。D-Lightはその後、Sun Studio 12に統合されてリリースされています。この間、JavaOne 2008報告会で谷本さんがデモをされようとして、プロジェクターとの相性で実演できなかったやつですね。ブログにやり方を書かれているのでぜひ参照してみてください。
DProfile・・と、呼ばれていましたがいまはSun Studio 12のPerformance Analyzerの一機能として統合されたようですね。DProfileはDataspace Profiling(=今の正式名称)の略でした。Dataspace ProflilingはCPU内のキャッシュヒットミス(L1, L2, TLB)を統計的に調べるためのツールです。たいていのアプリケーションではキャッシュヒットミスが大きなパフォーマンスボトルネックとして顕著化することはありませんが、普通のプロファイラではなかなかここまでみれないので、どうしても原因が分からない!というときに最終兵器として登場していただきます。
NetBeans Profilerこれはご存知の方も多いかもしれません。もともとSun Labsのプロジェクトで、JFluidと呼ばれていた技術がコアとなり、JVMTI等を取り入れて強力なプロファイリング機能を提供している、NetBeansの売りの一つです。今は、NetBeansを使う以外にもVisual VMから利用することもできます。NetBeans 6.0からはHeapダンプの解析機能がついていて、hprofや-XX:+HeapDumpOnOutOfMemoryErrorで取得したダンプを解析してメモリリークの原因を解析することができます。Heapダンプ解析のいいところは、おのおののオブジェクトそれぞれについての参照関係をたどることができることです。これがないと、実際のメモリリークを起こしているオブジェクトにたどり着くのは結構しんどいのですが、これができたおかげで、しらみつぶしに探すのは大変なものの、かなりアタリをつけやすくなりました。同様にHeapダンプを解析するツールとしてはJDK 6等に標準添付されているjhatなんかもありますね。
BTrace - 今回のトピックBTraceは今回のJavaOne 2008ではBOFが一つあっただけのようで、あまりこれについて触れているブログ等も多くなかったのですが、ここ1〜2週間blogs.sun.comではじわじわと話題があがってきています。たとえば、Sailfinのデバッグでも活躍したそうです。ちなみに、このBTraceのBOF資料はダウンロード可能です。 BTraceは簡単に説明しておくと、Bytecode Instrumentationを使って、ターゲットとするJVM上で動作しているアプリケーションに動的にプローブを仕込み、Visual VMのBTraceプラグインやBTraceのコマンドラインツールから結果を取得するような仕組みになっています。利用方法で面白いのは、BTraceの開発者であるSundararajanが触れているように、Java上で生成したSQL文をトレースしたり、実行時間を取得するような使い方です。この手のトレースは今まで専用のツールが必要だったり、ログを大量に出力して掘り起こすなど結構大変な手間をかけていましたが、BTraceでやると結構シンプルに出来上がってしまいます。なお、このワクワク技術BTraceは残念ながらJDK 6以降専用で、自宅Macでは試せず・・・orz セミナー資料: IT サービス設計の新しい方法論 English Translation: (Yahoo!) / (Google) 本日行いましたセミナーの資料を公開します。IT サービス設計の新しい方法論で使用した資料です。
買ったばっかりのICレコーダーで録音しておりましたので、Podcastのようにして後ほど公開したいと思います。
JavaOne 2009へ行こう! English Translation: (Yahoo!) / (Google) JavaOne 2008報告会の大渕さんのセッションや、ライトニングトークではJavaOneに行ってうまくコミュニケーションをとる方法、とか、JavaOneへの行き方、上司の説得方法等いろいろ興味深い話題がありました。特にライトニングトークでいろんな方が話されていましたが、下準備が大事なようです。
では大渕さんが紹介されていた、スピーカーになる!方法をまず確認しておきましょう。JavaOneのスピーカーになるにはまずCall for Paper (テクニカルプレゼンテーションの募集)に応募して、書類審査を突破しなければなりません。このCall for Paperの時期は意外と早いので、うっかりしていると出しそびれた!となりがちです。では、時期を確認しておきましょう。JavaOne 2008のCall for PaperからKey Datesを見てみると次のような日程が示されています。
Call for Paper締め切りから、プレゼンテーション資料提出までは4ヶ月ほどあります。その辺りのスケジュール感を考えながら、作業することになりますから、たとえば4ヶ月後に自分の話そうとしているネタがどのぐらい進んでいるか、いろいろ整理する必要がありそうです。発表できそうな内容をベースに堅実路線でアブストラクトを書くか、採用されやすいようにややチャレンジングに書くかは迷うところですね。あれこれ考えているとやっぱり3週間ではとても書けないので、JavaOne 2009に参加されたい方は今から準備をはじめてみる!というのでも遅くないと思います。
続いて、普通に参加者として参加する場合のTIPSです。ジェネラルセッションやテクニカルセッション、ハンズオンラボについてはストリーミング配信があって後から確認できたり、資料を確認することができるのですが、BOFだけはまとまって資料が公開されることはありません。なぜか。BOFはいろんな仕様のスペックリードと、実際のユーザや開発者、関連するスペックリードの間で激しい議論が巻き起こったりする場で、単にJCPで公開されている仕様を読むだけでは読み取れない背景のコンテキストが聞ける場としてとても貴重です。上の写真は去年のJavaOne 2007でJBI 2についてのBOFに参加したときの写真です。プレゼン資料は3〜5枚で自己紹介+JBI 2の概要ぐらいで、残りの時間は全部Q&AというBOFでした。資料が無いので、誰かが質問していること、回答していること、それがすべてのコンテンツです。でも、朝早くから夜遅くまで毎日やっているので、英語が堪能ではない僕なんかは、わからない単語が気になって調べたりしているうちに話が変わっていたり、うっかり一瞬記憶がとんでいいところを聞き逃した、なんていうこともざらです。
そこで強力な味方となるのがICレコーダーです。音声でとっておいて、帰りの飛行機の中などでもう一回確認することができます。実はJavaOne 2007のときはパソコンの内蔵マイクで録音しながら聞いていたんですが、間違ってファイルを消してしまい、結局JBI 2のBOFなど貴重なネタが消えてしまいました・・・ orz さて、パソコンのマイクでも十分と言えば十分なのですが、やっぱり専用のICレコーダーがあった方がいいです。特にステレオで録音できる機種をオススメします。講師から一方的に喋られるようなセッションであればモノラルでもいいですが、参加者からの質問はどのへんのおっちゃんがこういう質問していた、とかそういう記憶と結びつけられると、記憶もよみがえりやすいからです。というわけで、実はこのあいだJavaOneには行ってませんが、ICレコーダーを買ってしまいました。OlympusのDS-40という機種です。内蔵メモリは512Mバイトで、最高音質で8時間ほど録音できます。電池は単四電池 x 2。まあ、選んで選んでこれ、というのではなくて、Olympus提供の英語Podcastを聞いていたときの宣伝のウケウリでそのまま買ってしまってますが・・・ (^^ゞ
来年のJavaOne 2009は6月2日〜5日とのことなのでちょうど一年後ですね。Seasar2の方々、JRubyやJythonをやっておられる方々、来年あたりは日本のコミュニティーパワーをJavaOneで発揮してみませんか? (^^ JavaOne 2008 報告会, 発表資料とストリーミング English Translation: (Yahoo!) / (Google) JavaOne 2008報告会の資料とストリーミング配信置き場のご紹介です。資料については、JJUGのページにあります。
ストリーミングについてはJJUGのUStream.tvにアップしてあります。タイトルとか、タグとか録画中につけたままなのでちょっと適当です・・。すいません。
その1 - 丸山会長 / 増月さん その2 - 野上さん(Java EE) その3 - 櫻庭さん(Java SE & JavaFX) その4 - 谷本さん(VisualVMなど) その5 - 大渕さん(ハンズオンラボ、パビリオン) その6 - ライトニングトーク Open ESBプロジェクトがGlassFishプロジェクト傘下に English Translation: (Yahoo!) / (Google) Open ESB joins the GlassFish community! (Andi Egloff's Weblog)より。
Open ESBプロジェクトおよびそのサブプロジェクトがGlassFishコミュニティーの一員になったそうです。これによってガバナンスモデルもGlassFishのGovernance Policyになるようです。 ODFDOMをベースとしたODFXSLTRunner English Translation: (Yahoo!) / (Google) ODFXSLTRunner - a new tool in the ODF Toolkit project (GullFOSS)より。この間紹介したODFDOMをベースとした新しいOpenDocument Format向けのツールODFXSLTRunnerが登場したようです。
自宅MacではJava SE 6がないので、ODFDOM/ODFXSLTRunnerとも動かないので試せていませんが、構造は簡単に想像がつきます。OpenOffice.orgなどで使われているOpenDocument Formatは大雑把にはcontent.xmlというXML記述の主ファイルと、画像データ(jpg等)などデータをひとまとめにzipで固めた書式です(確認されたい方は odpファイルやodsファイルをunzipしてみると簡単に確認できます)。メインのファイルはXMLなのでXSLTを適用することは雑作もない訳ですが、zip圧縮されているためにワンクッション置かなければ行けません。バッチ処理にするにしても、unzipして、xsltprocなどでXSLを適用し、もういっかいzipで固めて、作業用展開ファイルを削除、のように4ステップも書かないと行けない!まあ、書けばいいんですが、これがもっとスマートに一行でシェルスクリプトに組み込める訳です。 これでどんなことができそうかと言えば、たとえば、フォントの設定を一括でMS Pゴシックから、HG Pゴシックに変えてみたりとか、「Sun Java System Application Server」から「Sun GlassFish Enterprise Server」みたいに何か名称が変わったところを一括変換してみるとか。いろいろ想像は膨らみます。 Java CAPS 6とMDM Suiteリリース(米国) English Translation: (Yahoo!) / (Google) 待ちに待ったJava CAPS 6とMDM Suiteが米国で正式リリースとなりました。日本での発表/発売はもう少し先になると思いますが、2005年に発表されたJava Business Integration (JSR 208)を正式にサポートする製品がSunからもそろいました。ちょうど、今週木曜日(6月12日)にIT サービス設計の新しい方法論という弊社用賀オフィスでこのできたてほやほやのJava CAPS 6についてもご紹介させていただこうと思っています。
|
Today's Page Hits: 957 |