Sessions / JJUG CCC 2015 Fall(11月28日開催)

InformationTimetableSessionSpeaker

Registration

keynote-1 基調講演1: 「Javaは守りに入らない、これが今のJavaだ」

谷本 心 (日本Javaユーザーグループ / Acroquest Technology株式会社)

Javaは登場から、今年は節目の20周年!
様々な業種や分野で利用され、またコミュニティも広がり続けるJavaの、今とこれからをご紹介します。

発表資料


keynote-2 基調講演2: Java EE 8 – Work in Progress

David Delabassee(Oracle Corporation)

JavaOne 2015においてJava EEのスペックリードであるLinda DeMichielが行った、Java EE 8に含まれる仕様の策定状況、提案内容などを要点を絞ってご紹介します。


AB-1「jOOQ と Flyway で立ち向かう、自社サービスの保守運用」(仮)

池田 裕(株式会社サイバーエージェント)

チーム開発において、成果物のバージョン管理やユニットテスト、CI(継続的インテグレーション)の重要性は認知されてきており、実際に実践されている現場も増えてきています。

そんな中、皆さんの現場ではデータベーススキーマのバージョン管理はしっかり出来ているでしょうか?また、新規ではなく既存に存在するデータベーススキーマを相手に、アプリケーションコードの保守に苦労されていないでしょうか? このセッションでは、自社サービスの運用保守や業務システムの保守開発において、なおざりにされがちなデータベーススキーマのバージョン管理をサポートするツールである Flyway と、既存のデータベーススキーマを相手にタイプセーフにコードを記述でき、コードの可読性を保ちつつ持続的な開発を行うことができる jOOQ という O/R マッパーを紹介しながら、それらを組み合わせた開発の流れをお伝えできればと思います。

Category:Development and operations

発表資料


CD-1 苦手克服!例外スタックトレースから読み解くバグ

山本 裕介

Java初・中級者の苦手なJavaの例外の仕組みを基本から説明します。
トピック:

  • 例外スタックトレースの読み方
  • 例外ブレークポイントによるデバッグ
  • スレッドダンプの取得/解析

Category:Development and operations


EF-1エバンジェリスト直伝!Kotlinを既存プロダクトで使う!

長澤 太郎(エムスリー株式会社)

今、世界中から注目を集めているJVM言語Kotlin(コトリン)の紹介をします。 Kotlinは静的型付けオブジェクト指向言語で、JetBrains社により開発されており、Javaプログラマには馴染みやすい文法が特徴です。

医療従事者向けポータルサイト「m3.com」のAndroidアプリはJavaで開発されていますが、これをKotlinで書き直すとどう改善されるかを具体例を交えながら解説していきます。 セッション終了時にはご自身のプロダクトもKotlinで書き直したい衝動に駆られるでしょう!

Category:JVM Languages

発表資料


GH-1 JAX-RS入門および実践

うらがみ

本セッションではまずJAX-RSとはどういったフレームワークなのか、同じJava EEのWebフレームワークであるServletやJSFとはどう違うのか、概要を簡単にお話しして聴講者の皆様にJAX-RSへ入門して頂きます。
それからJAX-RSのよく使う機能をコードを交えて解説し、コードの観点からどのようなフレームワークなのか知って頂きます。
最後に、私がこれまでJAX-RSを実践してきた中でハマった点や、より良いコードを書くためのポイント、他のJava EE技術(CDIやConcurrency Utilities for Java EEなど)との組み合わせ方をご紹介します。

Category:Java EE or Server Side Java

発表資料


I-1 開発者、インフラ技術者のための DevOps ハッカソン@JJUG CCC~ DevOps のすべてをエバンジェリストと体験し学べる 2 日間~

日本マイクロソフト

皆様は DevOps という言葉を聞いたことがありますでしょうか?
DevOps はソフトウエア デリバリのライフサイクルを早める考え方をさし、短期間で開発、運用を繰り返し、1 日に 5 回以上新しいサービスをリリースする企業も出てくるなど、DevOps のビジネス価値、効果は昨今大変注目されています。
しかし DevOps が何を指すのかは人やベンダーによって言うことがまちまちで、その多くはツールのみの話に終始していますが、ツールは DevOps の要素のひとつであり、実際は人、プロセス、さまざまな要素が関係します。

DevOps の本質とは、一体何でしょうか?
本ハッカソンは、アプリケーション開発者そして、インフラ技術者でチームを構成し、DevOps のプラクティスを適用して、Infrastructure as Code の自動化技術を使いながら本物の DevOps が体験できるイベントです。

※ 本ハッカソンへの参加ご希望の方は別途下記サイトへの登録が必要です。
・開発者の方のお申込みはコチラから
・インフラ技術者の方のお申込みはコチラから


M-1 脱Struts&独自フレームワーク!今からでも遅くないJava EE Web開発入門ハンズオン!

多田 真敏

Struts 1のEOLから早2年が経過し、Seasar2が2016年9月に開発が終了する宣言が出されました。また、保守性や学習コストなどの問題から、社内独自のフレームワークではなく「標準的なフレームワークを使おう!」という機運が高まっています。そこで注目度が高まっているのが、Javaのエンタープライズ開発における標準仕様である「Java EE」です。
しかし、「Java EEって難しいんじゃない?」「今、Java EEを始めるべきなの?」「Springとどっちがいいの?」と、最初の一歩を踏み出せない方も多いのではないでしょうか。
本セッションでは、Java EEでのWeb開発について、実際にプログラムを作って体験していただきながら、基礎からの解説を行っていきます。開発も事前準備も簡単なので、ご心配なく!
今回扱うのは、Java EEの標準Webフレームワーク「 JSF」、REST Webサービス開発技術「JAX-RS」、JAX-RS実装のJersey独自機能である「Jersey MVC」です。
また、Java EE 8で導入されるアクションベースWebフレームワーク「MVC 1.0」を見越した上で、EE 7時代の今はどのようにWeb開発すべきか、僕なりの見解を解説します。

参加される方は以下のリンクから事前準備をお願い致します。
ハンズオン事前準備

Category:Java EE or Server Side Java


AB-2 Javaエンジニアに知っておいて欲しい「KDDIクラウドプラットフォームサービス mBaaS by Kii」によるアプリ開発

平川 恭宏(KDDI株式会社)

KDDI株式会社は、Kii株式会社と協業して、「KDDIクラウドプラットフォームサービス mBaaS by Kii」を提供しています。本サービスは、サーバ機能をAPIで提供することで、クライアントアプリを開発するだけで、サービス提供を可能にします。本セッションでは、mBaaS(mobile backend as a Service)で実現できることを機能面から説明します。サインアップのみで、無料トライアルが可能なサイトもありますので、本セッション後に、mBaaSを利用する契機になっていただければと思います。


CD-2 Java8移行から始めた技術的負債との戦い

清 大輔(株式会社ビズリーチ)

株式会社ビズリーチの主力事業「ビズリーチ」は、2015年夏から秋にかけJava6からJava8へ移行し、Spring等の各種のフレームワークなども最新版へと移行してます。

ところで、JavaやSpringFrameworkは下位互換が考えられている、とは言いますが、ただバージョンを上げるだけ終わることは基本ありません。ここでは、JDKやフレームワークの刷新に始まり、組み込みAPサーバ化、ビルド方式の調整まで含めた、実際に直面した問題や技術的負債との戦いについてお話しできればと思います。

発表資料


EF-2 How to speed up your application using JCache[通訳あり]

gregrluck

In this talk we will introduce you to JCache, the new caching standard for Java. There are six implementations of JCache, most of them open source.
In this talk we will introduce you to the theory of caching, to such things as Pareto distributions and cache efficiency, N Times problem and so on.

We will show you how you can use JCache directly or with Spring.

And how to get the benefits out of it such as microsecond data access and offload of processing from expensive mainframe systems and databases. We also show you how to use this technology in a complementary way with NoSQL for performance speedup.

本セッションでは、Javaの新たなキャッシュの標準であるJCacheを紹介します。JCacheには6つの実装がオープンソースとして存在します。
キャッシュセオリーとしてパレート分布、キャッシュ効率、N Times問題などを紹介し、JCacheを単独あるいはSpringに統合してどのように使うのかをお見せします。

そして、どのようにマイクロ秒でのデータアクセス、高価なメインフレームやデータベースからのオフロードといったメリットを実現するか、また、この技術を使ってNoSQLのパフォーマンス向上を補助するといった使い方も紹介します。

Category:Java EE or Server Side Java

発表資料


GH-2セキュアコーディングトレーニングと資格認定サービスのご紹介

佐藤 紀彦(グローバルセキュリティエキスパート株式会社 (GSX))

GSXが昨今のセキュリティ人材不足にテコ入れすべく、2016年ローンチ予定のセキュアコーディングトレーニングと資格認定サービスについて、ご紹介します。

発表資料


AB-3 Payara Microをはじめよう

蓮沼 賢志

Java EE 7でマイクロサービスを公開したい、既存のWebアプリケーションをフットプリントの小さな環境に移植したい――そんな要望を実現してくれるのがPayara Microです。
GlassFishベースで簡単・コンパクトなPayara Microを使って、新しいJava EEの世界を体験してみませんか?
※Payara Microの開発環境にはPayara ServerもしくはGlassFishを使います。これらの最新事情についても補足でご紹介します。

Category:Java EE or Server Side Java

発表資料


CD-3 よくある業務開発の自動化事情

irof

自動テストやCIなどの言葉はよく聞きますが、実際はどの程度「自動化」は浸透しているのでしょうね。
JavaなWebアプリ開発における自動化の、導入から定着、はたまた放棄といった、綺麗な成功事例ではない泥臭い事情を踏まえた試行錯誤を話してみます。

Category:Development and operations

発表資料


EF-3 Reactive Webアプリケーション – そしてSpring 5へ

making

昨今バスワード気味のReactive ◯◯ですが、
マイクロサービスアーキテクチャーやIoTの波に乗ってサーバーサイドでも注目されてきています。

SpringOne2GX 2015ではSpring Framework 5でReactiveアーキテクチャーを導入することが発表されました

そこで本セッションでは

* Reactiveなアプローチが必要になってきた背景は?
* Reative Streams/Reactive Extensionsとは?
* Java WebアプリケーションをReactive対応するには?
* Spring 5のReactive対応とは?

について紹介します。

2015年6月に行われたJJUGナイトセミナーの「Reactive Streams入門」を事前に読むことをお勧めします。

本セッションは初心者向けではありません。
消化不良になることが予想されるため、Javaを始めたばかりの方は他のセッションに参加した方が良いと思います。

Category:Java EE or Server Side Java

発表資料


GH-3 マイクロサービスアーキテクチャ – アーキテクチャ設計と開発プロセスの歴史を背景に

鈴木 雄介

近年のソフトウェア開発は単に優れたアプリケーションを作りることだけではなく、複数のアプリケーションが存在する状態において、いかにサービスを継続しながらアプリケーションを刷新していくのかが重要なテーマとなっています。マイクロサービスアーキテクチャの登場はウェブ企業においてもレガシーが無視できない存在になったことを示しています。
本講演では、クラサバからSOAへ、あるいはWFからアジャイルへといったアーキテクチャ設計と開発プロセスの歴史を紐解きながら、現在において、どういった視点からアーキテクチャ設計を進めるべきかを考えていきます。

Category:アーキテクチャ設計

発表資料


M-3 プログラム初心者がWebサービスをリリースして運営するまで

岩崎 知亮

プログラム初心者だった自分が、Webサービスを立ち上げてそれを運用するようになるまでの話をします。

・プログラム初心者から見たJavaという言語
・フレームワークやツールなどの選び方
・Webサービスを運営することの楽しさ

など、初心者からプログラミングやWebサービスの世界がどのように見えたかをお伝えできればと思います。

Category:Java EE or Server Side Java

発表資料


AB-4 タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-

田中孝清(日本IBM)

日本のIT企業は、Web系とSI系に分かれていると言われます。イノベージョンノ速度を優先する世界とリスクの最小化を優先する世界,二つの文化を持つIT業界が存在します。しかし,これら二つの世界はテクノロジー的に完全に分断されているわけではありません。多くの新らしい技術がWeb系企業で試され,その中で価値が確認されたものがSI系の企業,エンタープライズの世界へも普及していきます。Web系企業をみることで明日のエンタープライズが予想できるのです。

このセッションではJava SE 8/EE 7やDockerのような新技術,マイクロサービス・アーキテクチャーやInfrastructure as Codeという考え方など,まさにSI系の企業で普及が始まっている技術について,なぜその価値が認められたのか,どうやってエンタープライズの世界で取り入れて行くのかをお伝えします。また,これから普及が予想される技術についてもご紹介します。

Category:Java EE or Server Side Java

発表資料


CD-4 クラウドネイティブアプリケーションとSpring Framework

市村 友寛(Pivotalジャパン株式会社)

Twelve-factor appやマイクロサービスなど、クラウドへの展開を容易にするアーキテクチャが広まるにつれ、Springの重要性が増しております。
本セッションでは、ユーザ企業での展開も進むNetflix OSSやCloud Foundryも含めたフレームワーク、実行環境からプラットホームについてご紹介いたします。


EF-4 ソラコムでのJava/AWS活用 – SIM管理やAWS Lambda Javaなど –

片山 暁雄(株式会社ソラコム)

株式会社ソラコムは、NTT ドコモのモバイル回線とAWSをプラットフォームとして構築された、IoT向け通信サービス「SORACOM Air」「SORACOM Beam」を提供しています。

通信にAPIがついていますので、Javaから自由にモバイル通信を操ることができます。 本セッションでは、ソラコムが提供するサービスのご紹介やJavaを使った活用方法、またMVNE/MVNO事業者としてどのようにJava/AWSを活用しているかをご紹介します。

Category:Java SE

発表資料


GH-4 GS CollectionsからEclipse Collectionsへ - 機能豊富なオープンソースJavaコレクションフレームワーク

伊藤 博志(ゴールドマン・サックス)

今年のJavaOneにて、GS CollectionsがEclipse Foundationに移管され、Eclipse Collectionsとして生まれ変わることが発表されました。この動きにより、Eclipse Collectionsはこれまで以上にオープンソースとしての性質を高め、コミュニティで育てていくライブラリへと変遷していきます。本セッションでは、Eclipse Collectionsの機能をあらためて紹介すると共に、まだよく知られていない便利機能、バージョン7.0の新機能を紹介し、今後のロードマップについてご説明します。

Category:Java SE

発表資料


M-4 Lightweight Java Game Library (LWJGL)による3DCG入門

秋元 賢仁

3D化が進む現在の画像や映像技術。

リアリティのあるコンピュータグラフィックス(CG)は私たちを魅了しています。
もはや、現在では画像や映像技術が関連するアプリケーション等の開発において、
3DCGが欠かせないものであると言っても過言ではありません。

本セッションでは3DCG開発の経験はないが、興味がある方を対象としています。
3DCG開発の基礎を紹介した後、コンピュータゲーム向けのJavaプラットフォームの
オープンソースライブラリである、Lightweight Java Game Library(LWJGL)を用い
てレンダリングやシェーディングを行い、簡単な使い方を紹介したいと思います。

Category:Java SE


AB-5 Javaエンジニアに知ってほしい PostgreSQLアンチパターン

曽根 壮大

[内容]
PostgresSQLは高機能・高可用性。 非常に柔軟にかつ堅牢なデータベースを構築出来ます。
ですがその高機能さ、柔軟さ故にしばしばアンチパターンに陥りがちです。
そんなPostgreSQLアンチパターン(失敗あるある)をご紹介します。
※アンチパターン例 ・取り敢えず削除フラグ ・困ったときの配列型とJSON型
など

[聴講者に求められるスキル]
現場で開発経験のあるエンジニア(初~中級者向け)

Category:Database

発表資料


CD-5 デバッガのしくみ(JDI)を学んでみよう

深井 康行

IDEのおかげで、デバッガのしくみとかを意識することはあまりないと思いますが、JDIを使えば割と手軽にアプリケーションの実行に介入したりできます。
本セッションでは、JDIと関連技術の基本を解説してから、JDIを使ったサンプルの実演をします。

Category:Development and operations

発表資料


EF-5 これからのコンピューティングの変化とJava

きしだなおき

ムーアの法則の終わりが見え始め、CPUだけを相手にすればいい時代が終わろうとしています。パフォーマンスを出すためにはGPUやFPGAなどさまざまな形態の計算機を使う必要がでてきます。
Javaでも、ネイティブの環境変化に対応できるよう、ValhallaやPanamaといったプロジェクトが始まっています。これらのプロジェクトでは、言語仕様の変更だけではなく、バイトコードの整理や配列のinterface化などJVMを含めた広い範囲での大きな変更が提案されています。
このセッションでは、どのような時代背景のもとにどのようなデバイスを触っていく必要があるか、そしてJavaはどのように変わっていくかを紹介したいと思います。

Category:Java SE


GH-5 サーバサイドのビュー処理エンジンForneusの開発秘話

井上 誠一郎

独自のサーバサイドのビュー処理エンジン(テンプレートエンジン)Forneusを開発しました。
と書くと、今さら新しいテンプレートエンジンなんて必要ない、と反論が返ってくるかもしれません。
JSP/JSTLも悪い選択肢ではありませんし、ThymeleafやFreeMarkerもあります。
そもそもサーバはJSON返すだけのAPIファースト戦略にすべきという考えもあります。
全部わかった上で、結局、作りました。
テンプレート処理の高速化以外にも、並列転送処理や圧縮、不要CSS除去やJavaScriptの遅延転送、最新Web技術(CSS3やHTTP/2)を前提にした設計、の特徴があります。
本セッションでは、Forneusの内部設計の話をします。
なお、Forneusはプロトタイプ実装ではなく、既に実用化しています。初期思想と現場の泥臭さをどうすり合わせてきたかの苦労話も話します。

Category:Java EE or Server Side Java


AB-6 【こっそり始める】Javaプログラマコーディングマイグレーション

yy_yank

いつまで経っても現れるレガシーコード。
どうにかしたい。

そうは言っても、私はプロジェクトを変革出来るような、大きな影響力は持っていない…。

しかし、右隣の席の1人のプログラマに対してはどうでしょう。
そしてまた左隣の席。向かいの席と。

そんな平凡なJava技術者が出来るアプローチを考えます。

例えば
・コレクション操作をStream APIに書き換えてもらう
・try-with-resourcesを利用してもらう
・Threadの実装をConcurrency Utilitiesに書き換えてもらう

そのために
・伝えやすい人から始める
・伝え方を工夫する

みなさんのチームのコーディング改善のきっかけとなるような発表となれば幸いです。

Category:Java SE

発表資料


CD-6 Garbage First Garbage Collector (G1 GC)

KUBOTA Yuji

巨大なヒープサイズに対応するために開発され、次のメジャーアップデート (JDK9) からはデフォルト GC となる予定の Garbage First GC (G1GC) について、大まかな動作概要から GC ログの読み方について、OpenJDK のソースコード等から確認した内容を紹介していきます。

本セッションでは、
・G1GC 動作概要
・G1GC 処理サイクル説明
・各処理に対応する G1GC ログの読み方
・G1GC を使う際に注意すべき状況 (Evacation Failure等)
等について紹介し、G1GC を利用する際に注意すべき問題の把握や、今後の調査の糸口として役立てられることを目的としています。

本セッションは以下の JJUG CCC 2014 Fall で講演した CMS GC セッションの G1GC 版を目指しています。聴講するかどうかの判断の一つにご利用下さい。
http://www.slideshare.net/YujiKubota/concurrent-marksweep-garbage-collection

Category: Java VMs


EF-6 Real World Machine Learning in Java 8 at Fumankaitori.com

Mathieu Dumoulin

We hear more and more about machine learning in the news.
Of course from the internet giants like Google, Microsoft and Amazon,
but also from small startups. In this talk, I want to show how machine
learning with Java 8 was used to help automate operations for a user
opinion data collection web service called fumankaitori.com. In this way,
we are able to improve our customer experience, cut operation cost and
helped our existing staff to focus on improved data quality without hiring
new staff.

Category: Java SE

発表資料


GH-6 Java8 Stream APIとApache SparkとAsakusa Frameworkの類似点・相違点

ひしだま

Apache Sparkは複数のサーバーを使用して分散処理を行うフレームワークです。
Asakusa Frameworkは分散処理を行うバッチアプリケーションを作成する為のフレームワークです。
これらはプログラミングにDAG(有向非循環グラフ)を利用する点でJava8のStream APIと似ている面があります。
そこで、これらを比較しながらAsakusa Frameworkの紹介をしたいと思います。

Category: Development and operations

発表資料


AB-7 Forbidden API CheckerでJavaコードチェック

大谷 純

Policeman’s Forbidden API checkerの紹介と簡単な使い方、
どんなところで使うのか?どういったところで使われているのか?
をご紹介します。
https://github.com/policeman-tools/forbidden-apis/wiki

Luceneなどのプロジェクトで利用されており、コードのチェックに大活躍しています。

Category: Development and operations


CD-7 Javaにおけるネイティブコード連携の各種手法の紹介

久納 孝治

C/C++等で開発されたネイティブコードをJavaで使う意義と各種手法を紹介します。
最も基本となるJNIから、連携コードを大幅に削減できるJNA・JNR・JavaCPPまで、Remote TestKitやSkype4Javaでの利用経験を実際のコードと共にお話します。
合わせて、Emscripten(C/C++コードをJavaScriptに変換するツール) + Nashorn(Java 8に搭載されたJavaScriptエンジン)を用いて、ポータブルで安全なネイティブコード連携を実現するj2js2ncライブラリの紹介と内部の仕組みについて解説します。

Category:Java SE

発表資料


EF-7 コミュニティディスカッション~みんなもやろうコミュニティ運営~

まーや&たろう

様々なユーザコミュニティから運営を行っているみなさんをパネラーとして、コミュニティ運営についての知見や悩みなどをパネルディスカッション形式で発表します。
「これからコミュニティ運営やってみたい!」と密かに思っている方やコミュニティの運営に興味のある方、すでにコミュニティの運営をしているが課題を抱えているコミュティリーダーさん達。ぜひセッションにお越しください!

モデレーター:

パネラー:

Category:Community


GH-7 てらだよしおの赤裸々タイム

てらだよしお

今年の JavaDay Tokyo 2015 で日本における Java 20 周年イベントをおえ、マイクロソフトへ電撃的に移籍をしました。
このセッションでは、なぜマイクロソフトへ転職したのか?!そしてこれからの私の活動内容、さらには皆様からのご質問に対して答えられる範囲でなんでもお答えします。
どのようなご質問をいただくかわからないので、とても怖いですが、できる限りみなさまからのご質問にお応えしたいと思います。

Category:てらだよしおがんばれ


ブース出展

株式会社サムライズム

統合開発環境のIntelliJ IDEA、開発サイクル最適化ツールJRebel、コラボレーションツールJIRAなどをご紹介します。

アトラシアン株式会社

アトラシアンはチームのために。
大きなチーム、小さなチーム。バーチャルなチーム、そしてクリエイティブ、ビジネス、アカデミック、非営利なチーム。もしビジョンの実現に仲間の協力が必要ならば、アトラシアンがお役に立ちます。
企画から計画、開発、サービス提供のためにチームで使うソフトウェア/サービスをご紹介します。

Elastic

当日は、Kibana4を利用したデモ、ステッカーなどを用意する予定です。
ぜひ、お立ち寄りください。