java4月4日、5日に開催されたJavaOneTokyoに行ってきました。有給取って行ってきました。いった意味で今の現場はわりと恵まれてますね。Javaばっかり選んでて、後から変更すればいいかと思って忘れてたら埋まってました。会場はとにかく通路が狭いし、列んでるし、QR読み込んでからしか入れないので、環境的にはイマイチだったかなぁと思いますよ。あと、朝早いの苦手です。忘れ気味ですけど、覚えてること、思ったこと、メモってることを書いておきますね。遅れて行ったので・・・。Cloud押しですね。PaaSがターゲットのようです。Oracleさんの持ち物を考えたらそうなるでしょうな。PaaSが標準化されたら幸せだよね!ってことなんですけど、たぶん標準化のスピードよりも他が進化するスピードの方が早いんだと思うんですよね。ずっこけるんじゃないかなぁ・・・。HTML5はやっぱ考えてるようですが、JavaFX2.0もずっこけるんじゃないかなぁ・・・。その後もひとつもセッション聞いてないからわからないけども、そんな予感しかしない。この方向性もあってAndroid禁句なんじゃねーの?と思っちゃうくらい。別にクライアントサイドに乗り出さなければそこまで喧嘩する必要もないしね。丸山先生は去年末位からエンタープライズクラウドの現在と未来みたいなのをやってるから、覚悟は出来てるよ!Java6は今年でサポートが終了するので、Java7使おうね!資格試験は、Oracleらしく、ブロンズ、シルバー、ゴールドになるらしいです。NECさんのお話はニコチンが切れたのでげふんげふん。CloudServlet3.0のおさらいで、web-flagment.xmlをjarにぶち込めますと、ランタイムで登録出来ますと、staticリソースもjarにぶち込むと、そんな感じですね。Webフレームワークを作る時って結構共通の画面とかの配布とかで困ることがあるんで、staticなリソースを入れるのって結構良いんじゃないかなぁと思った。思ったけど、カスタマイズしたい!って時にはどうするんだろうね?EE7はCloud対応でPaaSやりまっせ、と。こけると思ってるけども。Serviceとして、サービスとサービスの連携を記述出来るっぽい。具体的にどうするのかはイメージつかめてない。面白いかも?とは思う。UDDIみたいにこけない?NIOではノンブロッキングIOだよ!node.jsっぽいのかな?ReadListenerとWriteListenerでやるらしい。WebSocketでJavaScriptと双方向でやれるっぽいね。node.jsあるのになんでわざわざ?って質問が出てたけど、JavaEEだからさ!Javaのエコシステム最高!みたいに言ってましたね。ライブラリとかは充実してるよね。セキュリティ機能は制約条件とか定義するとか行ってたけど、何のことか忘れた。認証してないとダメとかの話でしたっけ?あとは、CSRFとかXSSとかを予防する仕組みがあるとか言ってた。これは地味にうれしいかもね。Coinコードの可読性を良くして、シンプルにバグの入りにくい、保守しやすいのを目指してちっちゃな改善をするのがプロジェクトコインだ!ってことです。地味だけど影響範囲がデカイので大変らしいです。リフレクションの例外にSuperClassが出来たのは嬉しいね。今までのthrows句は変更しないでも、よしなにやってくれるらしい。考えてきたら、リフレクションの例外なんて全部Runtimeで良くね?って思っちゃうよね。変えるのも出来ないんだろうけど。Switch-case文でStringが使えるようになったけど、あれは実はコンパイラがintに書き換えてるのさアハハハ!デコンパイルしたらどうなんだろうね。AutoClosableを実装してれば、try-resourceで書けるよ!って話はまぁ、嬉しいっちゃ嬉しいかな。今でもIOUtilsでcloseしておけばそんなに問題にならないけど、それすらも書かなくて良いならいいよね。あと、ExceptionにaddSuppressedメソッドが追加されてて、2つの例外を投げることが出来なかったのを解決したね。catch句の中で発生した例外ってログ出力して無視してたのを付け足せる感じかな。Java8でラムダとかジグゾウとか入るから、またその時にProjectCoinで改善するから、Coin先生の次回作にご期待ください。GlassFish)IaaSはハードウェアを仮想化PaaSはミドルウェアを仮想化SaaSはソフトウェアの仮想化?なんか、睡魔が襲ってきた、わっ、何をするっ!ラップトップモード、ローカルモード、リモートモードがあるとか言ってたけど、何のことか記憶にない。Beyond司会のおねーさんがラムダをランバダって言ってて吹き出しそうになりましたけど、誰にでも空目ってあるから責めないよ、いや、攻められたいよ。並列処理になって色々加速すんぜ!ってことですね。ゴールはライブラリを進化させることなんですが、ライブラリ単体では限界があるよね。言語としては少数でじっくり変えていかなければならないから時間がかかるね。そこでライブラリの発展が限界にきつつある今、言語を進化させようとの事らしいです、なるほどね。MapReduceとかコールバック形式でかくと、無名クラスを書くのがだるいので、ラムダ式にしましょうってこと。するかと言うと、単一メソッドのインタフェースならラムダで書けるようにすると。型推論するんで、大丈夫ですってことですね。後、インタフェースにデフォルトの振る舞いを持てるようにしますと。Itarableに色々とメソッド追加して、MapReduce的なのを簡単にしますね、と。filterとか、intoとかって言ってたかな。パラレルにするには、流れるようなインタフェースのとこでパラレルっての呼んどけば良いみたいね。思うことが多かったですね。決定じゃないけど、まぁ、そうなんだろうなぁ、と。老害な人が読みづらいからラムダ禁止!とか言い出さないかだけが心配。JAX-RS2.0JAX-RS1.0はWebProfileに入ってなかったけど、2.0は入れるっぽい。クライアント、つまり、RESTの呼び出し側もサポートするようです。MVCはやらないので、勝手にすればいいじゃん!てスタンス。HTTPクライアントって標準化してなかったけど、これでされることになります。流れるようなインタフェースでやるみたい。FilterとIntercepterでカスタマイズしてください。PreMatchFilterはURLとリソースのマッピング前に実行されるから、認証してなかったら帰れ!とかはここでやるよろし。非同期にも対応しました。今までThreadでやるしか無かったけど、ThreadだとContextを引き継げないから問題でしたね。JVMHotSpotをベースにして、JRoketのいい部分だけを導入したよ。LT面白かった!!ポケットガイドにオールスターメンバーって書いてあったけど、まさにその通りでみんなおしゃべりじょうずですね。力尽きたので1日目でやめて、2日目はまた今度書くね。はてなブログProフリーでプロのグラマーしています。パターン別構築・運用ガイドを読みました。夫婦で人間ドックに行ってきたLifeLogをシェアしてみた。フットボールライフ・ログサービススターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。