きしだです。 12月15日に開催された国内最大のJavaコミュニティイベントJJUG CCC 2018 FallでLINEはGoldスポンサーとして協賛し、またSushiスポンサーとして懇親会で回る寿司を提供しました。 LINEからは、スポンサーセッションとして藤原 聖さんが登壇してKotlinの話をしたほか、松野 徳大さんも広告プラットフォームで利用している技術の紹介を行いました。また、実はこの日からLINE社員になっていた久保田 祐史さんもJava8からJava11への移行の注意点について登壇しています。きしだも、基調講演でのパネルディスカッション、Java 11 APIについてのセッション、懇親会でのSushiスポンサーLTと、3枠で登壇を行いました。このエントリーでは、それぞれのセッションの内容の紹介と、SushiスポンサーLTで出題したクイズの解説を行います。 【JJUG基調講演】Javaの未来を考えよう 概要に名前は載っていませんでしたが、「Javaの未来を考えよう」というテーマで、谷本 心さん、阪田 浩一さんとともにパネルディスカッションを行いました。モデレータの鈴木 雄介さんが子どもをあやしながら司会を行うという、ほのぼのとした見た目のセッションになりました。 パネルディスカッションのテーマとしては、写真には3つのテーマが出ていますが、「Javaに限らず世の中で注目は?」の部分も結局Javaの話になっていたので技術の話とコミュニティの話になりました。 技術的な話として、ぼくはGraalVMのネイティブイメージの話をしました。 GraalVMは、Javaで書かれたJITコンパイラであるGraalと、その最適化機構を動的型付け言語から利用するフレームワークであるTruffleを中心とした、多言語実行環境です。この中に、JITコンパイラであるGraalをAOTコンパイラとして使って、Javaのバイトコードをネイティブコードに変換して実行バイナリを作成する機能があります。そうするとJVMの起動やクラスの読み込みがなくなり、Javaの欠点である起動時間の遅さが解消されます。そうして利用範囲が広まることで、Javaの未来として新しい道が開けるんではないかと思っています。また、Micronautという、GroovyフレームワークのGrailsを開発していたチームが新しく作ったフレームワークがあるのですが、DIをコンパイル時に解決することで、Spring Frameworkのように実行時にDIを解決して起動時間が長くなるという問題を解決しています。また、フレームワークとしてGraalVMのネイティブイメージに対応していて、ネイティブ化することでさらに起動時間が速くなります。このような、起動時間を速くするという方向性が生まれているのが、面白い進化だなと思っていて、紹介させてもらいました。 他には、リリースサイクルの話になったときに、たぶん谷本さんだったと思うのですがリリースサイクルが早くなることで強制的に勉強する必要がでて、コミュニティが活性化するのがよいということを話していて、面白い視点だなと思いました。 そしてコミュニティの話につながるのですが、谷本さんは東京でJJUGの幹事であり、阪田さんは関西で関ジャバというコミュニティの代表で、そして きしだも福岡でJavaのコミュニティを運営しています。このように3人ともコミュニティ運営を行なっているということもあって、いろいろな議論が飛び交いました。 コミュニティへの貢献をどうするか、という話について、発表など情報を受け取るだけでなく発信もしてほしいという話題もありましたが、参加したら参加者カウントがあがるというのが大きいという話をしました。特に地方や話題が絞られたコミュニティでは人数が少なく、自分が参加することで1人が2人に、2人が3人にと1人ふえることの影響力が大きいので、好きな技術のコミュニティにはぜひ参加して欲しいと思います。大きなコミュニティでも、たとえば地方の参加者が0から1人に、のように、自分の属性についてカウントがひとつあがるというのは、コミュニティが自分に都合のいい方向に動くきっかけになります。情報発信をすると、自分の都合のいい方向に世の中がかわってくれます。技術の世界でいうと、こういう不具合が延々発生するのは嫌だとか、こういう知識は前提として次の話をしたい、この話題について一緒に話せる人を増やしたい、とか、そういった方向には情報発信を続けることで結構変わってくれると思っています。 あと、Javaへの貢献という話題で例に出したのが、Strutsの事例です。Strutsは日本では多く使われていたけど開発コミュニティへの参加が少なかったのでStrutsのサポート終了を覆せなかった、という話ですが、こちらの日経コンピュータの記事をもとにしています。オープンソースソフトウエアにも寿命がある | 日経 xTECH(クロステック)これは逆に、情報発信をしなかったことで、自分の都合の悪い方向に世の中が変わったという話ですね。17:45から海外からの参加者も交えたCommunity Leader Meetupというアンカンファレンスがあったのですが、海外では利用しているオープンソースプロダクトへのコミットが少ないことはリスクになるということで、株価が下がることもあるという話をされている方もいました。いまだと、5月からの新しい元号への対応がJavaに入ってる最中で、この機能はほとんど日本人にしか影響がないと思うのですが、メーリングリスト上でほとんど日本人による議論がほとんど行われていません。その結果、元号を扱うときに必要な機能が実装されない可能性があります。このブログを読んでる人には元号を扱うシステムを作っている人の割合が少ないかもしれませんが、もし元号を扱うシステムをJavaで作っているのであれば今からでもOpenJDKのCoreライブラリ開発者や国際化対応のメーリングリストでの議論に参加してみてはどうでしょうか? LINE で広告プラットフォームを Java + Golang で立ち上げた話 セッションとしてLINEで最初に登壇したのは松野さんです。@tokuhirom として有名ですね。 LINEのサービスに広告を配信するプラットフォームであるLINE Ads Platformの紹介と、ポリグロット(多言語)環境を踏まえてどのようなアーキテクチャを構築したかという話をしていました。 資料の中でSSP、DSP、DMPという用語がありますが、それぞれ次のようになっています。 SSP(Supply Side Platform) 広告掲載メディア側のプラットフォーム DSP(Demand Side Platform) 広告出稿側のプラットフォーム DMP(Data Management Platform) データを分析してSSPやDSPに最適化のための情報をあたえるプラットフォーム これらがどのようなやりとりを行うかというのは、IABというオンライン広告の業界団体でOpenRTBとして決められていて、だいたいどこでも同じような構成になるとのこと。 […]
#Event Report #Java