金曜日 8 15, 2008

JavaFX SDKのProject Nile + Illustrator CS3を試す

ずいぶん、ネタ的にほったらかしにしていましたが、先月末に事前にアナウンスされていた通りぎりぎり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用のプラグインを試してみました。
Project Nile (JavaFX Illustrator plugin)
適当に絵を描きます。ま、ねこび〜んのSVGをそのままIllustratorに取り込んだだけですが・・。気になったのがフォントの扱い。なので、一応テキストも入れてみます。
Project Nile (JavaFX Illustrator plugin) : Export as JavaFX Script
JavaFX pluginは書き出しのためのプラグインのようですから、メニューのファイルから書き出しを選び、形式でJavaFX Script (.fx)を選んでみます。ところで、JavaFX ScriptはJavaクラスにコンパイルしてから実行されるようですのでスクリプト名はJavaクラス名として利用できるものに自動的に置き換えられます。
Project Nile (JavaFX Illustrator plugin) : Exported files
おっと・・。フォントも書き出されました。これ、フォントのライセンス上まずいような、そうでもないような・・・。一応、使っているフォントのみが選ばれて書き出されるようです。
Project Nile (JavaFX Illustrator plugin) : Outlining text
まあ、普通Illustratorで入稿する場合にはフォントをアウトライン化するのが礼儀だろうと思いますので、そのように実行します。
Project Nile (JavaFX Illustrator plugin) : Change layer name as english
あと、レイヤー名も英語にしておきます。どうやらレイヤ名が日本語だとおかしなことになるようです。
JavaFX Script Viewer あとは、JavaFX Graphics Viewerというのでファイルを選択すればオッケーです。たまーに表示できない絵もありますが、まだプレビュー版ということで暖かく見守りましょう。

月曜日 7 28, 2008

Java VM上で動作するSqueak実装、JSqueak

Smalltalkのオープンソース実装であるSqueak(スクイーク)を、Javaで実装したJSqueakというのがSun LabsのDan Ingallsさんによって作られているそうです。Smalltalkを実際に使ったことも無いし、知識も無いので、いまのところ、個人的には使いどころが思いつきません・・・。もうちょっと勉強しないとなあ。
JSqueak

金曜日 7 18, 2008

Scalaパズラー

今週水曜日に行いました、記念すべき20回目のJavaホットトピックセミナーの資料が公開されたようです。さて、Javaホットトピックセミナーでは、Javaパズラーという定番の人気コーナーを毎回やっています。毎回、問題を考えるのが難しいんですが・・・。さてそれは置いといて、Hittin' the edge casesでは、Scalaパズラーというのを始めたようです。Part 1とありますからシリーズ化されるんでしょうね〜。楽しみ。
参考: Scala (Wikipedia)

金曜日 7 11, 2008

ゆの in Javaというのが流行っているようです

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.さんのところだとちゃんとそれらも働いているので秀逸です。
参考リンク:

ホットトピックセミナーとナイトセミナーのアーカイブ

Javaホットトピックセミナー、OpenSolarisナイトセミナー、OpenSolarisホットトピックセミナーのこれまで開催したそれぞれの回の資料をアーカイブしたまとめページが出来上がりました!
SDCナイトセミナー
数えてみたところ、Javaホットトピックセミナー 7月号は記念すべき第20回目ですね。20回目には鈴木さんによるOpen ESBの紹介と、cactusmanさんによるHudsonの紹介があります。お楽しみに!

月曜日 6 23, 2008

ホットトピック・セミナー(6月号) Podcast - JRubyとSailfin

先週水曜日に行いましたホットトピック・セミナー(6月号)のポッドキャストが出来上がりました。iTunesに登録いただいている方の場合は自動的にダウンロードされると思いますが、iTunes以外の方法を使って録音を聞きたい!という方は以下のリンクよりMP3をダウンロードしてみてください。
ちなみにiTunes用のPodcast登録をする際にはこのブログに張ってあるPodcastアイコンからどうぞ。
  • SunホットトピックPodcast - SunホットトピックPodcast
_DSC7609
おかげさまで今回も大盛況でした。

木曜日 6 19, 2008

Podcastはじめました

6月12日(木)に行いましたセミナーIT サービス設計の新しい方法論のPDF資料がすべてのセッション部そろいました。さて、今回のセミナーからはマイ新ガジェット「ICレコーダ DS-40」を使って録音し、Podcastを始めることにしました。
  • SunホットトピックPodcast - SunホットトピックPodcast
Podcasting
iTunesでご利用の場合にはiTunesから資料をダウンロードすることもできます。iTunes以外でご利用の方は下記のアドレスからMP3形式で配布しておりますのでそちらをご参照ください。 img2008-114
セミナーの様子はJavaホットトピックセミナーなんかでは、UStream.tvでオンライン配信していますが、Webキャストではたまに音が聞き取りづらいところがあったり、そもそもスライドの文字なんかはWebカメラ経由ではつぶれていてほとんど読めないので、よっぽどデモの部分以外は音声だけで十分ではないかなと思ったりもしています。ということで今回からPodcast形式にしてみました。いかがでしょうか?Podcastだと、セッション資料をモバイル端末にいれたり、印刷たりして電車の中の時間を有効活用できるようにも思います。昨日のJavaホットトピックセミナー(JRubyとSailfin)も同様に録音しましたので、準備でき次第同様にPodcast形式で公開させていただきます。また、コメント欄にてUstream.tvでの配信がいい!とか、Podcastの方がいい!などご意見いただければ可能な限り対処いたします。
こぼれ話:まだPodcastもはじめてのことで、今のところPodcastのRSSは手書きです (\^\^ゞ JRubyを使ってPodcast用のDSLを作らねば。

GlassFishが買えるSunオンラインストア、オープン

Sun Online Store (Japan)
でっかくjp.sun.comのトップを飾っていますが、サン・オンラインストアの日本語サイトがオープンしたようです。
Sun Online Store (Japan)
最初は、SolarisとGlassFishのサブスクリプションライセンスの販売から。
Sun Online Store (Japan)
お支払いは各種クレジットカードおよび、コンビニでもお支払いいただけます。
Sun Online Store (Japan)
我らがGlassFishは657,720円から。コンビニで65万も払うのを想像すると、すごい状況になりそう・・・。
Sun Online Store (Japan)
さて、そのGlassFishですが、HADBというAdd-onソフトウエアと本体の部分に分かれています。通常の、Java EEアプリケーションを動作させるには本体のみでokです。一方、セッション情報の高可用性を実現するための選択肢としてHADBというコンポーネントががあり、これを使えばより信頼性の高いシステムが構築できます。なお、このAdd-OnのHADBだけではアプリケーションを動作させることはできませんので必ず本体の方をご購入ください。

火曜日 6 17, 2008

ワクワク技術 BTrace

The Aquarium日本語版にもBTraceの記事が出ていましたのでもうご覧になった方も多いかもしれませんが、SunはJava VM用に新しいトレース技術、BTraceを作っているようです。Solaris 10のDTrace (ディートレース)と絶対聞き間違えると思いますが、DTraceがDynamic Traceの略であるのに対し、BTrace (ビィートレース)はBytecode Tracingの略からきているようです。もうすこし紛らわしくないネーミングでも良かったような・・・。さて、なんだかいろいろ出てきましたが、Sunはほかにもパフォーマンスツールをいろいろ出しているんですがご存知でしたか?
_DSC6332-D

DTrace

Solaris 10を始めとして、いまはMac OS X Leopardでも使えたりFreeBSDでもそろそろ使えるらしかったりする画期的なデバッグツールです。D言語というスクリプト言語で、プロファイリングのポイント(=プローブと呼ばれています)を指定して、自在に統計情報をとることができます。D言語、など少し敷居が高い感じがしますが、使いこなせばこれほど強力なツールはないと思います。後述のD-Lightなんかを使えば視覚的に使えます。
_DSC6287-D

D-Light

DTrace用のユーザインタフェース。確か初お披露目は昨年のJavaOne 2007でのJames GoslingのGeneral Sessionだったと思います。D-Lightはその後、Sun Studio 12に統合されてリリースされています。この間、JavaOne 2008報告会で谷本さんがデモをされようとして、プロジェクターとの相性で実演できなかったやつですね。ブログにやり方を書かれているのでぜひ参照してみてください。 _DSC6160-R

DProfile

・・と、呼ばれていましたがいまはSun Studio 12のPerformance Analyzerの一機能として統合されたようですね。DProfileはDataspace Profiling(=今の正式名称)の略でした。Dataspace ProflilingはCPU内のキャッシュヒットミス(L1, L2, TLB)を統計的に調べるためのツールです。たいていのアプリケーションではキャッシュヒットミスが大きなパフォーマンスボトルネックとして顕著化することはありませんが、普通のプロファイラではなかなかここまでみれないので、どうしても原因が分からない!というときに最終兵器として登場していただきます。
_DSC6164-D

NetBeans Profiler

これはご存知の方も多いかもしれません。もともとSun Labsのプロジェクトで、JFluidと呼ばれていた技術がコアとなり、JVMTI等を取り入れて強力なプロファイリング機能を提供している、NetBeansの売りの一つです。今は、NetBeansを使う以外にもVisual VMから利用することもできます。NetBeans 6.0からはHeapダンプの解析機能がついていて、hprofや-XX:+HeapDumpOnOutOfMemoryErrorで取得したダンプを解析してメモリリークの原因を解析することができます。Heapダンプ解析のいいところは、おのおののオブジェクトそれぞれについての参照関係をたどることができることです。これがないと、実際のメモリリークを起こしているオブジェクトにたどり着くのは結構しんどいのですが、これができたおかげで、しらみつぶしに探すのは大変なものの、かなりアタリをつけやすくなりました。同様にHeapダンプを解析するツールとしてはJDK 6等に標準添付されているjhatなんかもありますね。
_DSC6167-D

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

木曜日 6 12, 2008

セミナー資料: IT サービス設計の新しい方法論

本日行いましたセミナーの資料を公開します。IT サービス設計の新しい方法論で使用した資料です。 買ったばっかりのICレコーダーで録音しておりましたので、Podcastのようにして後ほど公開したいと思います。

火曜日 6 10, 2008

JavaOne 2009へ行こう!

JavaOne 2008報告会大渕さんのセッションや、ライトニングトークではJavaOneに行ってうまくコミュニケーションをとる方法、とか、JavaOneへの行き方、上司の説得方法等いろいろ興味深い話題がありました。特にライトニングトークでいろんな方が話されていましたが、下準備が大事なようです。
R0012758.JPG
では大渕さんが紹介されていた、スピーカーになる!方法をまず確認しておきましょう。JavaOneのスピーカーになるにはまずCall for Paper (テクニカルプレゼンテーションの募集)に応募して、書類審査を突破しなければなりません。このCall for Paperの時期は意外と早いので、うっかりしていると出しそびれた!となりがちです。では、時期を確認しておきましょう。JavaOne 2008のCall for PaperからKey Datesを見てみると次のような日程が示されています。
  • 2007年10月26日(金) - Call for Paper募集開始
  • 2007年11月16日(金) - Call for Paper募集終了
  • 2008年1月下旬 - テクニカルセッションおよびBOFのCall for Paper応募者への結果通知完了
  • 2008年3月中旬 - プレゼンテーション資料提出期限
  • 2008年5月6日〜9日 - JavaOne 2008
このように、Call for Paperの募集は本番の半年以上前です。また応募期間も3週間ほどしかありません。応募の際に必要になる項目は大まかには、テクニカルセッション/BOFともにセッションタイトル、概要(アブストラクト)、内容の概要、前提として必要となる知識、カテゴリ、スピーカーの紹介などを記入することになります。セッション概要は4000時まで書けます(もちろん英語で)。ばっちり3週間このCall for Paperのために時間を割ければ良いのですがたいていそんな時間が取れないので、夏のうちにはネタを仕込んでおいて、9月あたりには下書きを始めておくと安心です。
R0012731.JPG
Call for Paper締め切りから、プレゼンテーション資料提出までは4ヶ月ほどあります。その辺りのスケジュール感を考えながら、作業することになりますから、たとえば4ヶ月後に自分の話そうとしているネタがどのぐらい進んでいるか、いろいろ整理する必要がありそうです。発表できそうな内容をベースに堅実路線でアブストラクトを書くか、採用されやすいようにややチャレンジングに書くかは迷うところですね。あれこれ考えているとやっぱり3週間ではとても書けないので、JavaOne 2009に参加されたい方は今から準備をはじめてみる!というのでも遅くないと思います。
R0013287.JPG
続いて、普通に参加者として参加する場合のTIPSです。ジェネラルセッションやテクニカルセッション、ハンズオンラボについてはストリーミング配信があって後から確認できたり、資料を確認することができるのですが、BOFだけはまとまって資料が公開されることはありません。なぜか。BOFはいろんな仕様のスペックリードと、実際のユーザや開発者、関連するスペックリードの間で激しい議論が巻き起こったりする場で、単にJCPで公開されている仕様を読むだけでは読み取れない背景のコンテキストが聞ける場としてとても貴重です。上の写真は去年のJavaOne 2007でJBI 2についてのBOFに参加したときの写真です。プレゼン資料は3〜5枚で自己紹介+JBI 2の概要ぐらいで、残りの時間は全部Q&AというBOFでした。資料が無いので、誰かが質問していること、回答していること、それがすべてのコンテンツです。でも、朝早くから夜遅くまで毎日やっているので、英語が堪能ではない僕なんかは、わからない単語が気になって調べたりしているうちに話が変わっていたり、うっかり一瞬記憶がとんでいいところを聞き逃した、なんていうこともざらです。
R0013326.JPG
そこで強力な味方となるのがICレコーダーです。音声でとっておいて、帰りの飛行機の中などでもう一回確認することができます。実はJavaOne 2007のときはパソコンの内蔵マイクで録音しながら聞いていたんですが、間違ってファイルを消してしまい、結局JBI 2のBOFなど貴重なネタが消えてしまいました・・・ orz
さて、パソコンのマイクでも十分と言えば十分なのですが、やっぱり専用のICレコーダーがあった方がいいです。特にステレオで録音できる機種をオススメします。講師から一方的に喋られるようなセッションであればモノラルでもいいですが、参加者からの質問はどのへんのおっちゃんがこういう質問していた、とかそういう記憶と結びつけられると、記憶もよみがえりやすいからです。というわけで、実はこのあいだJavaOneには行ってませんが、ICレコーダーを買ってしまいました。OlympusのDS-40という機種です。内蔵メモリは512Mバイトで、最高音質で8時間ほど録音できます。電池は単四電池 x 2。まあ、選んで選んでこれ、というのではなくて、Olympus提供の英語Podcastを聞いていたときの宣伝のウケウリでそのまま買ってしまってますが・・・ (\^\^ゞ
R0013730.JPG
来年のJavaOne 2009は6月2日〜5日とのことなのでちょうど一年後ですね。Seasar2の方々、JRubyやJythonをやっておられる方々、来年あたりは日本のコミュニティーパワーをJavaOneで発揮してみませんか? (\^\^

JavaOne 2008 報告会, 発表資料とストリーミング

JavaOne 2008報告会の資料とストリーミング配信置き場のご紹介です。資料については、JJUGのページにあります。 ストリーミングについてはJJUGのUStream.tvにアップしてあります。タイトルとか、タグとか録画中につけたままなのでちょっと適当です・・。すいません。
その1 - 丸山会長 / 増月さん

その2 - 野上さん(Java EE)

その3 - 櫻庭さん(Java SE & JavaFX)

その4 - 谷本さん(VisualVMなど)

その5 - 大渕さん(ハンズオンラボ、パビリオン)

その6 - ライトニングトーク

Open ESBプロジェクトがGlassFishプロジェクト傘下に

Open ESB joins the GlassFish community! (Andi Egloff's Weblog)より。
Open ESBプロジェクトおよびそのサブプロジェクトがGlassFishコミュニティーの一員になったそうです。これによってガバナンスモデルもGlassFishのGovernance Policyになるようです。

月曜日 6 09, 2008

ODFDOMをベースとしたODFXSLTRunner

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リリース(米国)

待ちに待ったJava CAPS 6とMDM Suiteが米国で正式リリースとなりました。日本での発表/発売はもう少し先になると思いますが、2005年に発表されたJava Business Integration (JSR 208)を正式にサポートする製品がSunからもそろいました。ちょうど、今週木曜日(6月12日)にIT サービス設計の新しい方法論という弊社用賀オフィスでこのできたてほやほやのJava CAPS 6についてもご紹介させていただこうと思っています。
About

okazaki

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日