こんにちは。Ameba 統括本部のポイントプラットフォーム事業室でサーバーサイドエンジニアをやっている山田です。
普段はスプラトゥーンというゲームで狙撃手を務めつつ、ドットマネーという Ameba のポイントサービスの保守・開発をしています。
さて、今日も昨日に引き続き、 SpringOne Platform のレポートになります。
このイベントについて詳細を知りたい方は、昨日の記事をご覧ください。
TimeLine
今日のスケジュールはこんな感じ。
朝から晩までみっちり予定が入ってます。
Main Stage
9:00am から Main Stage が始まりました。
広くて薄暗い会場に重低音の効いた心地よい電子音が響き、否が応にも気持ちが高揚しました。
Pivotal の錚々たる方々が、手の込んだ Keynote で会場を湧かせます。技術的な話というよりは開発プロセスやチームビルドの話がメインで、 Cloud Foundry や Spring Boot、 OSS によりもたらされる DevOps や Microservice、 Continuous delivery の恩恵の話が多かったです。
最後は Stephane Nicoll と Josh Long の2人が、 Spring Framework 4.3、 Spring Boot 1.4 の新機能を漫才形式(?)で紹介して笑いをとっていました。
Test ユーティリティが充実したり、 Actuator で Gitコミットが見れたり、 Cache を同期化できたりと、様々な新機能が紹介されましたが、一番盛り上がったのは起動時のログに好きなロゴを表示できる機能だったと思いますw
Main Stage は間違いなくこのカンファレンスの一番の見所で、スケールの大きさ、クオリティの高さに終始圧倒されました。
Modern Java Component Design with Spring Framework 4.3
Main Stage 以降は、複数のルームでセッションがあるので、自分で何に参加するかを選択します。
まず Modern Java Component Design with Spring Framework 4.3 に参加。
Spring Framework 4.3 の新機能を Java8 のモダンな書き方で紹介してくれました。見たこともない機能などはなかったので、4.3 の新機能は普通にここで確認すると良いでしょう。
ちなみにこの 4.3 は、 4系で最後のマイナーバージョンになり、2019年までサポートが続くそうです。 4.2 のサポートはまもなく終了。
VerUp の時期を見計らっていた人は頃合いですね。
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring Bootに途中参加。
このセッションはソースコードを見ながらの解説がメインでした。
Ratpack とは、 Netty ベースの新しい 軽量な Web アプリケーションフレームワークです。Java8 か Groovy で開発できます。
これと Spring Boot で 高性能な Microservice を、という題材なので、興味を惹かれますよね。
ソースコードは Github に上げてくれているので、ご覧になってみてはいかがでしょうか?
README.md に EC2 のインスタンス別でベンチマークが載っていますが、ちょっと信じられないような数字です。
Twelve Factor, or Cloud Native Apps
午後は、 Spring Boot と Cloud Native により Twelve Factor App を満たす、という内容のセッションでした。
が、私の英語力と前提知識がなさすぎて、今いち理解ができない部分が多かったため、説明を割愛します。
セッション自体も10分程度で終了し、後は質疑応答、という簡単なものでした。
Testing Spring Boot Applications
最後は Testing Spring Boot Applications
Spring Boot 1.4ではテスト関連の機能がたくさん追加されましたね。
- 新しくなった @SpringBootTest
- RANDOM_PORT で実際に起動した HTTP サーバーのテスト
- @MockBean によるモッキング
- @DataJpaTest による in-memory DB でのテスト
- JSON のアサーション
といった機能の説明と実演をしてくれました。JSON のアサーション、毎回自分でゴリゴリ書くのは辛いので、地味だけど嬉しい機能ですね。
講演後は質疑応答の時間ですが、やはりテストコードは身近な問題なので、盛り上がってディスカッションのようになっていたのが印象的でした。
こちらも GitHub でコードが公開されています。
testing-spring-boot-applications
所感
最後に、海外のカンファレンスに初めて参加した立場から、感じたことを綴ってみます。
意外と忙しい
懇親会などは遅い時間まであり、また朝も早いので、時間の余裕はありません。
時差ボケも相まって、カンファレンス中にウトウトしてしまうこともしばしば。
時間管理をしっかりしないと大変です。
実はこの記事を書いている今も既に 2:30am... orz
会場が寒い
真夏のラスベガスなので、日中の外気温は40℃にも達しますが、会場内は冷房が効きすぎていて寒いです。
事前に参加経験者から忠告を聞いて用心していましたが、想像を超える寒さでした。
しかし現地の人はみんな半袖...
お祭り感がすごい
日本で開催される大きめのカンファレンスと比べても、演出が派手だったり、懇親会が豪華だったり、コミュニティが活性化するための努力が半端じゃないと感じます。お祭り感があってとても楽しいです。
ちなみに食事は朝昼晩すべてカンファレンス側が用意してくれます。贅沢ですね。
夜はお酒も出ます。
写真は、格闘ゲームで他国のエンジニアと交流する池田です。楽しそうですね。
書きたいことが多すぎて、取りとめのないエントリになりましたが、とにかく充実した時間を過ごせています。
エモいことも書きたい気分ですが、最終日も書く予定なので、今日はこのくらいで。
明日は池田の素晴らしい記事がありますので、期待していてくださいね。