Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

JJUG CCC 2015 Springに行ってきました

昨日、ベルサール新宿グランドで行われたJJUG CCC 2015 Springに行ってきました。

JJUG CCC 2015 Spring(4月11日開催) | 日本Javaユーザーグループ

今や色んな方が参加レポとか書いてるからいいかなーと思ったのですが、振り返ってみると過去に参加した回で全て書いてたので…軽めですが書いておこう(^^!

  1. JJUG CCC 2012 Fall参加 - Challenge Java EE !
  2. JJUG CCC 2013 Springに参加しました~! - Challenge Java EE !
  3. JJUG CCC 2013 Fallに行ってきましたー - Challenge Java EE !
  4. #JJUG_CCC Spring 2014で「初めての Java EE 開発から学んだこと」というタイトルで発表させて頂きました! - Challenge Java EE !
  5. JJUG CCC 2014 Fallで感じたJavaの熱気 - Challenge Java EE !

セッションの発表資料などはこちらのブログでまとめられていました(>_<)はやい。後々、JJUG CCC 2015 Springのサイトにもあがる…かな。d.hatena.ne.jp
初参加から数えて今回で6回目でした。申し込みが1000人を超えていたとのことで、確かに今まで参加した中でも一番人が多かったです。

日本Javaユーザーグループ総会

JJUG会長の鈴木雄介さんから1年の活動報告がありました。
最初、いきなりの「Java!」連呼の挨拶にびっくり(^^;;

毎月行われるナイトセミナーや地方派のイベントなどなど、ホント活発な活動されているなぁと改めて。

CCCの参加者も初参加、という方の多さにびっくり。

新任幹事さんの紹介もありました(^^)

日本のJUG、益々大きくなっていきそうですね(^^)

Java 20年史

基調講演で、JJUG副会長をされている河村さんからお話がありました。

今年20歳となったJavaを振り返るもので、私自身はここ数年での関わりだったので、改めてまだまだ知らないことがあるなぁーと思って聞いてました。

紹介されていたAlan KayさんのThe best way to predict the future is to invent itという言葉が刺さりました(^^;

Java with Raspberry Pi

基調講演の2つ目はOracleのStephen Chinさんによるものでした。

参加者を楽しませるプレゼンのストーリーの流れ、魅せるデモ。ホントすごかったです。

おいしいコーヒーをJavaによって作ったり、ラインの上を正確に走るおもちゃの車をJavaで動かしたり、JavaのCADで3Dプリンタ使ってモノを作ったり…短い時間でJavaの可能性や魅力をたくさん紹介されていました。

冒頭Raspberry Piは持ってる?と質問されていて、私の場合は以下だったのですが…(^^;


また買います!

F-1 だれも教えてくれないJavaの世界。あと、ぼくが会社員になったわけ。

午後イチはきしださんのセッションへ。前半はJavaエンジニア養成読本で書かれていた話+αという感じで、丸レクとか知らなかったお話も聞けました(^^)後半はフリーランスから会社員になられた背景や経緯をお話されていて、なるほど…と非常に興味深かったです。

AB-2 Web開発における最新テスト手法

会場が超満員でした。やはりWeb開発でのテストって皆が気になるテーマなんだなぁと。テストの観点とかやり方など色々参考になりました。
AssertJとか知らなかったので触ってみたい。

AB-3 大規模な負荷でもドキドキしない為のJava EE

個人的に今回一番盛り上がったセッションでした。そもそもB to CなシステムでJPAを利用されてる時点で「すげー」って高まる感じが(^^;
前半は負荷テストのお話で、後半はJPAによるスケールアウトのお話。

自分も負荷テストではJMeterを利用していますが、独立したツールとしてずっと使ってたので、Mavenと統合したり、CIに組み込んだりのお話がすごく勉強になりました。

JPAのほうもEclipseLink使ってますが、そんなことできるんだ!的なことばかり(^^;どうやって調べられているんだろう。すごい。

スライドも綺麗だし、使われる写真も内容や言葉にあうもので、プレゼン自体も勉強になりました。

G-4 なたとAndroid!? 今すぐダウンロード!〜Android開発で変わる SIerのJava技術事情について〜

こざけさんの発表が聞きたくて参加しました。「XXってあれやろ、オレのXXみせつけてやるわー」で各所始まるのが面白くて最高でした。

笑いポイントだけでなく、発表内容自体もすごく面白くて、自分はAndroid開発やったことないのですが、やってみたくなりました。

とりあえず今度、趣味でAndroid Studio触ってみたいと思います!

G-5 Grails 第3章 進化したSpring-bootベースフレームワーク

どれ聞くか迷ったのですが、Grailsのセッションへ行きました。
そもそもGroovyを触ったことないので、色々知らなくてついていけない所が多かったですが、お話が面白くて楽しかったです。
下位互換性とか大変そうに感じたのですが…今から使うならいいのかな(^^;あまりあちこと手を広げられないので、Grailsはまたかなー。

参加したセッションは以上で、今回はここで引き揚げて懇親会も参加せず、でした。

初参加の方も多かったとのことで、懇親会行けば良かったなぁ…という気持ちもありつつ、最近堀北さん以来にどハマりしている乃木坂46の期間限定カフェの参加チケットが当たったので、そちらにいっていました(^^;

Java Day Tokyo 2015でJSFについてお話させて頂きました #javadaytokyo

昨日、有楽町の国際フォーラムで開催された「Java Day Tokyo 2015」に参加しました。

ブログをほじくりかえしてみたら、今年で3回目の参加(^^;時間の流れがはやいなぁ。kikutaro777.hatenablog.com
kikutaro777.hatenablog.com

今回のイベントでは、なんと…セッションでスピーカーを担当させて頂く機会を頂きました(^^;汗汗汗

今年はJavaが誕生して20周年という記念すべき年で、そんな年に自分なんぞが発表させて頂いていいものか、悩みもあったのですが…せっかくの機会ですし、前向きに考えて挑戦させて頂くことになりました。

発表は「Java EE 開発における JSF の活用について」でした。

普段仕事で使っているJSFに関して、(少し大げさですが)自分の持てる知識を全て出した感じです(^^;;

なお、資料に出てくるコードは全てではないですがGitHubのほうにもあげました。あまり準備時間がとれず、少し雑なコードだったりするのですが…今後少しずつ整備・追加していくかもしれません(特にスコープの所とか)github.com

Togetterもまとめて頂いてましたm(_ _)mtogetter.com

あとは感想などをつらつらと…。

発表準備

お話を受けたものの、開発の佳境やら何やら色々な仕事が重なってしまい……

調整能力が必要だなぁ、と痛感する日々でした。

後悔はしたくない、と出来る限りの時間を割きましたが、発表練習がほとんどできず、当日の喋りは微妙だったかと思います(-_-;少し悔しい感じです。

来週納品です。

他のセッション

基調講演の途中時間で接続確認やリハがあったので、基調講演をあまりちゃんと聞けませんでした(*´Д`)

その他のセッションも、自分の発表に向けた緊張がすごくて、スピーカー控室で練習してたり、ほとんど聞けずじまいでした(*´Д`)

自分の発表が終わったあとは気が楽になったので、楽天の岩崎さんのセッションを聞きにいきました。

岩崎さんのお話は力があって、いつも聞いていて楽しいです。私はStrutsや昔のJ2EEを全く知らないのですが、その辺りをよくご存じの上で比較しつつお話されるため、Java EEってホント進化してきてるんだなぁと改めて。

楽天さんがJSFのエキスパートグループに参加されてるのもすごいですね(^^)今後も色々と楽しみです。

おまつり

最後は大山さんと寺田さん司会の元、Javaのクイズ&LTがありました。

Javaはコミュニティが大事、ということで、名刺3枚を回りと交換という所から始まるという(^^;

めっちゃ楽しい時間でした。大山さんが楽しそうにJavaのあれこれを語るのは、みてるだけで楽しいですね。

そしてツッコミ所があるとすかさずツッコミを入れるJavaチャンピオンの櫻庭さん(^^;

こうした方々がずっと昔からJavaコミュニティを支えてて今に至るんだろうなぁー、20年ってすごいなぁと。

LTも1つ1つがとても印象的で良かったです。

勉強会やコミュニティに参加して、色々変わった、というのは私自身も同じなので、@syobochimさんやJava女子部の方、@zephiransasさん、@irofさんのお話は、それぞれとても共感するものでした。

懇親会

最後は東京駅近くのお店へ移動して、懇親会に参加させて頂きました。

ロジ子さんとお会いできて感動(^^)

Dukeケーキ!

f:id:kikutaro777:20150408212615j:plain

寺田さん櫻庭さんによるケーキ入刀でこんな姿にw

f:id:kikutaro777:20150408213503j:plain

大盛り上がりでした(^^)

じゃんけんでDukeキーホルダーゲットしました!そして、懇親会のお土産としてチロルチョコも!

f:id:kikutaro777:20150409141300j:plain

発表疲れもありましたが、吹っ飛ぶくらいに楽しかったです(^^)

これからもがんばろー。

レスポンスをgzip圧縮する

今の案件では海外からのアクセスもあるとのことで、通信のgzip圧縮入れた検証とかしようと思ってるのですが、そもそもどういう選択肢があるのか意外と知らなかったり…。

多分一番簡単なのは、フロント側のWebサーバ(ApacheやNginx)で設定する方法なのだと思います。

うちではイントラでユーザ数があまり多くない場合、フロント立てずに直接アプリケーションサーバ利用もあるのですが、GlassFishについて調べたらCompressionの設定がありました。

f:id:kikutaro777:20150325194749j:plain

以下のCompressionをonかforceにして、Mime Typesも必要に応じてtext/javascriptなど追加したり、圧縮する最低ラインを設定できたりするようです。

f:id:kikutaro777:20150325194755j:plain

ちょっと試してみたのですが、なんかうまくできなかった…orz
Stack Overflowのこの辺りも似た感じなのかなぁと(ここの話はcacheだけ?)

stackoverflow.com

で、もう1つ海外で結構引っかかったのは先日ブログでも紹介したOmniFacesを利用するというものでした。

kikutaro777.hatenablog.com

GzipResponseFilterという便利フィルタが用意されています。

GzipResponseFilter - OmniFaces Showcase

設定はweb.xmlに以下を追加するだけでした。

<filter>
    <filter-name>gzipResponseFilter</filter-name>
    <filter-class>org.omnifaces.filter.GzipResponseFilter</filter-class>
    <init-param>
        <description>圧縮かける閾値のバイト。0から9999が指定可能で、デフォは500。</description>
        <param-name>threshold</param-name>
        <param-value>500</param-value>
    </init-param>
    <init-param>
        <description>MIME TYPEの指定</description>
        <param-name>mimetypes</param-name>
        <param-value>
            text/plain, text/html, text/xml, text/css, text/javascript, text/csv, text/rtf,
            application/xml, application/xhtml+xml, application/javascript, application/json
        </param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>gzipResponseFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

Filterの適用前後を比べてみると次のような感じに。

gzip圧縮なし
f:id:kikutaro777:20150325200025j:plain

gzip圧縮あり
f:id:kikutaro777:20150325200117j:plain

以下辺りを参考に確認できるサイトでもみてみました。

syncer.jp
web-marketing.zako.org


f:id:kikutaro777:20150325200130j:plain

f:id:kikutaro777:20150325200137j:plain

計測した画面はPrimeFacesのコンポーネントを結構多く使ってる画面だったのですが、結構圧縮されるものだなぁと。

実際の効果や、逆にオーバーヘッドとかも気になるけど、とりあえずこれでいこうかなぁ…。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村
QLOOKアクセス解析