2008年12月2日火曜日

SunTechDays 12/2に行って来た

SunTechDaysに行ってきました。
ほくほくの勝利品は以下。



基調講演に間に合うように会場について、dukeの時計をGET!
セッション毎に投げられるdukeのぬいぐるみとTシャツは...幸運なことにぬいぐるみをGET!
あとは、セッション終了後にくれた dukeどらやき(ほんのりとdukeの姿が焼き印されてる) と、最後のアンケートに答えて貰ったカバンです。
いやぁ〜dukeぬいぐるみ嬉しいっすっ!

喜びのあまり戦利品が先走ってしまいましたが、感想をば。

まずは来ていた人ですが...おじさま方が多かったように思います。
技術者向けのイベントにしたかったようなのですが、それだったら、そもそも平日にやる時点でズレてますよね。
私も、有給消化期間じゃなかったら行ってなかったでしょうしぃ。
おじさま方が多いイベント=開発者が少ないイベント は、女性の人も増える傾向があるような気がするんですが...今回もそこそこいたかな。30人くらいは...?

イベントの内容自体もなんか中途半端になっちゃってる感がありました。
開発者と、管理のおじさまと...両方とも分かるようなセッションにしたのか?という感じ。
難しいのは分かるけど、ちゃんと絞ってくれたほうが嬉しいんですけどもね。

さて。

まずは基調講演。
DemoShowcaseとしてJavaFXのライブコーディングや、3D眼鏡を使った3D体験、スクリーンを移動してもプロジェクターがスクリーンを追っていって常に投影してくれる(Wiiリモコンのセンサーを使ったもの)..とかがありました。
んでもって、Sun Country Manager Introductionでは、なんか出張中とかでビデオを見させられた。あらら。力入ってないのかしら?
んで、KeynoteではGosling登場。でも、あんまり元気がなかったように思うのは気のせい?
Gosは最後にねこび〜んのTシャツを貰い、emacsはSTOP!ゆーって去って行きました(笑)

各セッションの内容をかいつまんで。

1-M-1
JavaSE6 Update10 and Development
荻布 真也

JavaKernelでインストール時間の短縮を行なっている
始めのインストールはCore部分のみをDownloadして、アプリ起動。
それ以外のものはバックグラウンドでDownload/Installする。
これによって14Mが5Mになった。

DeploymentToolkit
JREの検出を行い必要に応じてインストールをしてくれる。
アプレットはブラウザプロセス内でのJVMではなく、別VMとして起動。
そのおかげで、1つのHTMLに複数のJVMを起動するようなものも作れちゃう。
アプレットをD&Dでブラウザの外に移動しても単体の画面として動作する。この状態でブラウザを落としてもOK!

組み込みJNLP
<applet>
<param name="jnlp-href"
value="my-applet.jnlp">
みたいな感じで、アプレットでJNLPのパスを書いて、詳細はJWSのJNLPファイルで記述ができる。
これらのおかげでアプレットの制限も少なくなり、Vistaの保護モードのIEでの制限の問題も解決し、JavaFXも動かせる。署名なしでもcrossdomain.xmlを公開しているWEBサービスも使える。

今後は、ビデオ/オーディオなどオーディオサポートを行なって行く。


1-J-2
Java Persistence APIs
Chuk-Munn Lee

fetchのlazyとeagerの説明と使いどころ。両方の良い所どり?のLEFT JOIN FETCHをおすすめしてた。

MERGEの話。親子だけでなく、孫、ひ孫...と続いて行くような階層構造の場合には、何処までMERGEにするかはバランスが重要。全部やろうとせず、手動でやる方が良い場合もある。

継承の話。
SINGLE_TABLE...一つのテーブルにまとめちゃう方法。Fetchも早くなるが、使わない項目では内容が空になってしまうのと、量が多いと、どでかいテーブルになっちゃう。ということで、必要に応じて使うべし。
JOINED...各テーブルに親のIDを持たせる方法。つまり正規化した方法。たくさんの継承、データがある時は処理コストがかかってしまうし、Queryが複雑になってしまうデメリットはあり。
TABLE_PER_CLASS...JPA1.0では正式対応ではない。。

EntityManagerの話。
スレッドセーフではないので、例えばServletのクラス変数としてEntityManagerを保持しておくのはダメよ。Factoryはいいけど。
doPostとかのメソッド内でEntityManagerを作成して、終わったら廃棄するべし。

Versionとロックの話。
@Versionでバージョン管理下になる。
em.lock(d1, WRITER);
em.flash();
をすれば、データは変更してなくてもバージョン番号を上げれる。
BulkUpdate...早いけど、Versionが効かない。だから、やるなら誰も触らない夜中にしな!
FashModeをCOMMITにすれば、コミットしたデータのみ取得できるよ。

SQLは値を式に埋め込まず、パラメータ化しようね。


1-J-3
Ajax and Frameworks
Joey Shen

jQuery,Dojoなどのライブラリの話。ということで省略。。(笑)


1-M-4
RIA using JavaFX
Sridhar Reddy

12/4(2日後)にリリース。
来年の春にはモバイル、来年の夏にはTVについて対応して行く予定。
デザイン系ソフトでよくある、合体、ぼかし、ミラーリング、Glow、Lightingなどの効果や動画作成時につかうKeyFrameやTimelineの説明....という事について説明が多く割かれていました。
冒頭に、デザイナーの方でも使える...とか、デザイニングソフトのように...とかって言葉が出て来たのですが、そっちの方に力を入れて行きたいって感じがひしひしと伝わってきました。


1-J-5
Social Computing using Zembly and SocialSite
Joey Shen

zemblyについての紹介でした。
このサービス、正直私は全然知らなかったです。
内容は、FaceBook,OpenSocial,Gadget,iPhoneなどのSocialApplicationを作成するための環境とホスティングサービスのようです。
WEBベースでIDEがあるようでコード補完もしてくれるらしい。
他の人のアプリをコピーして自分なりのカスタマイズをする...でみんなで開発しよー!って感じみたい。


1-J-6
NetBeans New and Cool
片貝 正紀

NetBeans6.5の新機能
・PHPサポート
・JSライブラリのデバッグ(IE,FireFox)
・DBエクスプローラー、SQLクエリ
  DBエクスプローラーのTABLEのSwingのJTable上にドラッグすると、
  JTableの列にテーブルの項目が設定され、Entityクラスが自動作成される。
・Eclipseプロジェクトインポート機能
・保存時にコンパイル、自動配備

最後におなじみの方々の写真が一同に!




さて、明日は15時くらいからいってきます〜。
• • •