JJUG CCC 2017 Fall - Timetable (非公式)

JJUG CCC のアンケートにご協力ください!
★:初級者向け ★★:中級者向け ★★★:上級者向け

Java SE

[Room M, 11:25-11:45] ★☆☆
次の一歩を踏み出そう! ーOCJPの知識でちょっといいJavaコーディングー

ぜろゆ

初心者向けの入門本では物足りない! けれど「次の一歩」はどうしたらいいかわからない… 上級者向けの本は難しすぎる…DDD? デザインパターン? いまいちピンとこない…そもそも使ってないし… 「作りたいものを作れ」と言われてもそんなにすぐ案は出てこない… そんな方に向けたセッション(予定)です。 このセッションでは、Oracle Certified Java Programmer(OCJP) SE 8という資格をきっかけに、自分が持つJavaの知識を整理してみた体験談が中心です。普段何気なく使っているけれど、実際これってどう動くの?どう定義されてるの?という基礎部分を見直し、今よりちょっといいコードが書けるようになれる…かもしれません。 OCJPを受けるかどうかはともかく、普段何気なく書いている「Java」という言語を見直してみませんか?

#ccc_m3

[Room G+H, 13:30-14:15] ★☆☆
Java 9を迎えた今こそ!Java本格(再)入門

岡田 拓也

Java 9がいよいよリリースされようとしていますが、新人研修や入門書で学んだ文法で学んだ古いバージョンのJavaを未だに使い続けている人も少なくないと思います。 新しいJavaの文法を学んだり、仕事で新しいバージョンのJavaを使う機会がないままになっている方、これからJavaを使う方を対象にしたセッションです。 書籍「Java本格入門」の内容を元に、古いバージョンと新しいバージョンでのJavaの書き方を比較しながら、ファイル操作やコレクションの操作、日付操作といった基本的な操作の他、Stream APIとLambda式の文法や代表的な機能を紹介していきます。

#ccc_g3

[Room E+F, 14:30-15:15] ★★☆
Java SE 9の紹介: モジュール・システムを中心に

宮川 拓

2017年9月にリリースされたJava SE 9では、言語組み込みのモジュール・システムが追加されました。また、標準ライブラリ・言語仕様に改善が加えられています。本セッションでは、アプリケーション基盤の構成に大きなインパクトがあるモジュール・システムを中心に、Java SE 9の全体像をお伝えします。

#ccc_e4

[Room A+B, 15:45-16:30]
JDKの新しいリリースモデル

伊藤 敬

このセッションでは、10月に開催されたJavaOne 2017 San Francisco以降、多くのメディアで取り上げられてきたJDKの新しいリリースモデルについて説明させていただきます。何が変更されるのか、その変更がもたらすメリットと影響についてご理解いただきます。JDKの新しいリリースモデルについてご存知ない方は是非ご参加ください。

#ccc_a5

[Room G+H, 15:45-16:30] ★☆☆
Javaが「書ける」から「できる」になれる!メモリ節約ノウハウ話

猪鼻哲也

Javaのオブジェクトは1つ1つ参照としてしか生成できず、単純に大量のインスタンスを生成するとメモリ使用量が増大してしまいます。自然言語処理や大規模データの高速処理でのメモリ節約ノウハウをお話しします。

#ccc_g5

Java EE

[Room M, 14:30-14:50] ★☆☆
Docker ではじめる Java EE アプリケーション開発

齋藤 耕平

担当するプロジェクトが変わる度に、開発環境をPCに構築するのって煩わしいですよね。プロジェクトによって使用するJDKもアプリケーションサーバもDBMSも異なるし。 そんな悩みをDockerを使って解決してみようと思います。 実際にDockerを使った開発環境の構築から、アプリの構築/変更、アプリケーションサーバへのデプロイまでの一連の作業のデモンストレーションを行ってみようというものです。

#ccc_m6

Alternate Languages

[Room G+H, 10:00-10:45] ★★☆
Backlog: Java から Scala への移行の歩み

谷本陽介 & 松本裕二

株式会社ヌーラボではプロジェクト管理ツール Backlog を Java / Webwork から Scala / Play Framework への段階的な移行を進めています。 10年間にわたって Java で開発されてきたプロダクトを、ユーザーへの影響をできるだけ小さくしつつ、 Scala へと段階的に移行させていく取り組みについて Backlog Play チームの2人がお話しします。 谷本が Play フレームワークへの段階的な移行の方法と手順について、 松本が Scala 初心者として、ソースコードを Java から移植したことについてお話しします。

#ccc_g1

[Room G+H, 11:00-11:45] ★☆☆
10年前のレガシーシステムをサーバーサイドKotlinでフルリニューアルした話し

前原 秀徳

Android開発言語として注目されているKotlin、その活躍の場はAndroidだけではありません。Kotlinはサーバーサイドでも使える言語です。私のチームでは10年前に作られたJavaとRubyの混在システムをサーバーサイドKotlinを用いてフルリニューアルしました。(WEBフレームワークにはSpring Boot、DBアクセスライブラリにはDoma2を使用)。本セッションでは、フルリニューアルに至った背景、そしてKotlinとSpring BootとDoma2を使ったAPIサーバー構築方法についてお話します。また、日本Kotlinユーザグループ代表 長澤太郎をはじめとするエムスリーのKotlinエンジニアが主催するイベント「どこでもKotlin」の活動についてもご紹介いたします。

#ccc_g2

[Room L, 11:00-11:45] ★★☆
JVM上で動くPython処理系実装のススメ

澁谷 典明(Yoshiaki Shibutani)

cafebabepyというJVM上で動くPython処理系を実装しています。 Pythonの言語仕様に悪戦苦闘し、どのように実装しているのかをお話します。 言語実装の楽しさ、どのように動いているかについてを共有をしたいと考えております。 cafebabepyのcafebabeとはJavaクラスファイルのマジックナンバーです。 pyはPythonのpyです。 JVM上で動くJythonは公式サイトでは2.7(2015年)で更新が止まっているため、じゃあ作るか! というのが実装している理由です。

#ccc_l2

[Room A+B, 13:30-14:15] ★☆☆
サーバサイドKotlin

大谷 弘喜

JVM言語であるKotlinがAndroidの開発言語として採用されました。Androidの開発言語として認識が高いですが、サーバサイドでの利用も注目されています。実際にサーバサイドでKotlinを利用して開発している話を通して、Kotlinの利用シーンや利用してみて感じたこと、チップスなどを伝えていきたいと思います。

#ccc_a3

[Room G+H, 16:45-17:30] ★☆☆
新しいプログラミング言語の学び方 ~ HTTPサーバーを作って学ぶJava, Scala, Clojure ~

田所 駿佑

ScalaやClojureなど、Javaとは異なるパラダイムを持つJVM言語が昨今注目を集めています。効率のよい学習のためには、「Hello world!」の次に何をするべきでしょうか?トレーニングの1つとして提案するのが、HTTPサーバーの実装です。このセッションでは簡易なHTTPサーバーの実装を通じて、文字列やバイト列の操作、正規表現、I/O、並列化など、Webアプリケーション開発に必要なテクニックをJava, Scala, Clojureの各言語ごとに学んでいきます。(各言語やHTTPサーバーの実装についての深い事前知識は必要ありません)

#ccc_g6

JVM

[Room C+D, 15:45-16:30] ★★☆
オレオレJVM言語を作ってみる(四則演算するだけだけど)

阪田 浩一

このセッションでは、四則演算するだけの簡単なJVM言語の作り方を紹介します。 言語はCode -(Lexer)-> Tokens -(Parser)-> AST -(Compiler)-> JVM bytecodeと変換して、JVMで実行します。今回Lexer/Parserの部分にANTLRを、それ以降の部分にTruffleを使います。とくにANTLRやTruffleについての事前知識は必要ありません。BNFを定義してANTLRを使ってASTを構築し、それをTruffleのASTに変換して渡すという実装部分について、各ライブラリの概要やAPIを紹介しながら説明します。すべてを丁寧に説明する時間はありませんので、このセッションで出たキーワードを各自あとで調べて学びを深めていただくことになるでしょう。この点をご了承いただいて、ぜひお越しください! なお、このセッションはDevoxxUS 2017でのOleg Šelajev-sanのセッション"How to Create a New JVM Language"にインスパイアされたセッションです (https://speakerdeck.com/shelajev/how-to-create-a-new-jvm-language-devoxx-us-17)。

#ccc_c5

[Room M, 16:45-17:05] ★☆☆
Javaで使えるもう一つのコンパイル方式 - AOT

西川 彰広

継続的なコンパイラの性能向上に伴い、JavaのパフォーマンスはC/C++のような低レベル言語と遜色ないところまで到達していますが、Java 9ではJEP-295によりAOT (Ahead-of-time、事前)コンパイラが導入され、コンパイル方法を選択できるようになりました。このセッションでは、AOTとJITの違い、これらの性能特性の違い、そして両者の使い分けについてご紹介します。

#ccc_m10

[Room C+D, 17:45-18:30] ★★★
CPUから見たG1GC

数村憲治

JDK9ではG1GCがデフォルトGCとなりましたが、 本セッションでは、ハードウェアの観点で、シリアルGCからG1GCまでの歴史を振り返ります。 また、G1GCをPA(ハードカウンタ)を用いて分析することで、ソフトウェアの観点だけでは分からない、 GCの特性を紐解き、主にパラレルGCと比較し、CPUの目から見てGCが何を行っているのかを考察します。 それと合わせ、G1GCの実装をJVMのコードレベルで見ていくことで、 G1GCを使用する場合に注意すべきJavaでのコーディングを考えていきます。

#ccc_c7

アルゴリズム

[Room A+B, 17:45-18:05] ★☆☆
Java でつくる本格形態素解析器

高岡 一馬

形態素解析器といえば MeCab やそのクローンの Kuromoji が有名ですが、辞書が古かったり前処理、後処理が必要だったりしていろいろ面倒があります。そこで全文検索をメインターゲットに、正規化や補正処理などのよく使われる処理が入って商業利用にも耐えうる形態素解析器をつくりはじめました。このセッションでは形態素解析器に要求される性能要件とそれを満たすための工夫についてお話しします。

#ccc_a7

[Room G+H, 17:45-18:30] ★☆☆
最近のDeep Learning事情とJava

EVGENIY(髙橋良貴)

なるべく最新のDeep Learning事情とその原理をJavaと関連づけて説明します。よく耳にするDeep Learningですが、ここでDeep Learningの仕組みを確認しましょう。Deep Learningの基本的な原理と、最近のDeep Learningがどうなっているかを紹介します。JavaのDeep LearningライブラリであるDL4Jの紹介もします。

#ccc_g7

[Room M, 15:45-16:05] ★☆☆
速いソートアルゴリズムを書こう!!

松原 正和

言語標準のソート(Arrays.sort()…TimSort)を超えるソートを書きたい!!。
  • Dual-pivot Quicksortをベースに安定ソート化、3-way partitionアルゴリズムも併用。
  • K-way Mergesort の少し変わった実装。if文だらけ。

#ccc_m8

[Room M, 16:10-16:30] ★★☆
Design Pattern in Presto source code

Shin So(曾臻)

PrestoはFacebookが開発・公開したOSSです。 中には大量のDesign Patternを使っているため、ソースコードは理解しやすいです。 Builder、Factory、Singleton、Iterator、Interpreter、Template Method、VisitorなどのDesign Patternを活用しています。 今回はInterpreter、Template Method、Visitorを中心に、この3つDesign Patternの概念・使い方・Prestoソースコードの実例を紹介します。

#ccc_m9

データベース

[Room M, 13:30-13:50] ★★☆
DDD × CQRS - コマンドとクエリでORMを使い分けた話

松岡 幸一郎

社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ CQRSはDDDと切り分けて単独でも適用することができるので、DDDについてご存知ない方もご覧いただけます。日本語の文献は意外と少ないので、この辺りの分野に興味がある人の参考になれば幸いです。

#ccc_m4

[Room M, 17:10-17:30] ★☆☆
DBのTCPプロトコルとJDBC

yohei yamana

2大OSS RDBMSのMySQL, PostgreSQLのクエリ実行時のTCPプロトコルの違いおよびドライバの実装を例に取り、JDBCとは何なのかを紹介したいと思います。また、JDBCドライバタイプ、JDBCバージョンごとのAPIの違い、様々なJDBCドライバ、Java10で提案されているノンブロッキングDB通信APIについても触れたいと思っています。

#ccc_m11

セキュリティ

[Room C+D, 16:45-17:30] ★★☆
Effects of SHAttered

Michael Demey

In early 2017 a team of researchers released their work "SHAttered", which announced the end of SHA-1 for many people. But was it really as surprising as some people made it out to be? We'll be talking about what SHAttered is and what the effects are on signatures. What are the real world consequences of SHA-1 being broken? And as a last topic we'll discuss what you can do to prevent this in the future.

#ccc_c6

改善事例

[Room M, 13:55-14:15] ★★☆
劇的改善 CI4時間から5分へ 〜私がやった10のこと〜

aha-oretama

ローカルのテストが遅い、CIでのテストが遅すぎてあまり回せていないことなどありませんか? 私のプロジェクトでは、1回のCIに4時間かかるようになってしまい、深夜に一度CIを回すような運用になっていました。 時間がかかりすぎるため、段々とCI自体が負債化していっていました。 今回はCI時間を劇的に短縮するまでにやった10のことをお話します。 SpringBootを使用して開発したため、いくつかはSpring特有の問題もありますが、 全体としてはJava共通のものが数多くあります。 ご興味があればぜひ聞きに来てください。

#ccc_m5

[Room E+F, 15:45-16:30] ★☆☆
入社してから運用しているサービスの運用改善奮闘記

佐藤慧太(Satoh Keita)

弊社フリューではピクトリンクというサービスを運用開発しています。2011年にリリースした弊社フリューのアプリケーションは、利用者が年々増加し、1000万人を超えました。しかし、陳腐化してしまった技術もあります。2017 SpringではSeasar2からSpringへの移行についてお話させていただきました。本セッションでは、その他にやってきた古くなってきた技術の改善、また、開発環境の改善についてお話しします。

#ccc_e5

[Room A+B, 18:10-18:30] ★★☆
【Serverspec】公共案件におけるWeblogicのテスト事例

佐々木 優太朗

日本の大規模SIの現場では、日々大量の設計書の作成、手動での構築、目視確認によるテストによって多くの労力が費やされていますが、働き方改革が求められる昨今、効率化が求められています。今回、大規模公共案件において、WeblogicのインフラテストをServerspecを用いて自動化する事例をご紹介します。具体的には、大量のパラメータシート(Excel)の値をPythonスクリプトでYAMLを出力し、Serverspecでのインフラテストで使用することで、転記ミス、入力ミスの無いテストを実現しました。

#ccc_a8

Spring

[Room L, 10:00-10:45] ★☆☆
SpringBootとMyBatisでデータベースを可視化する

Koji Sudo

レガシーで大規模なシステムを目の前にした時、まずデータ構造を抑えるのは最重要事項ともいえます。 しかしそういった現場ではドキュメントが追いついていないことも多く、情報のサルベージにそもそも時間を取られてしまうのが実情ではないでしょうか。 私が参画したプロジェクトにも、メンテナンスが行き届いているとはいえないExcelのエンティティ定義書があるだけでした。 ドキュメントは多くの場合プロダクト開発のインプットとして生まれますが、サービスが継続していくに従って現状を可視化する役割へと変化していきます。 現在は多くの可視化ツール・サービスがありますが、とはいえレガシーなシステムではそのスキームに乗れないことも数多くあります。 そんなとき、SpringBootは強力な味方になりえます。 私はSpringBootとMyBatisを使ってデータベースのメタ情報を可視化するWebアプリケーションを作成しました。 本発表ではその経験を元に、現状を技術で可視化することの重要性、SpringBootやMyBatisの強力さ、現場改善のヒントをお話できればと思います。

#ccc_l1

[Room C+D, 11:00-11:45] ★★☆
Apache Camel + hawtio + Spring Boot によるモダンなインテグレーション・マイクロサービス

佐藤 匡剛

マイクロサービスが注目され、エンタープライズ・アプリケーションの流行のアーキテクチャは、大掛かりなSOAから軽量なマイクロサービスに移行しつつあります。しかし、マイクロサービスに基いてアプリケーション開発をしていても、元々重量級のESBが担っていたようなシステム間統合のニーズは無くなるわけではありません。むしろ、細かな粒度のマイクロサービス同士を連携し合って1つのサービスを構築する以上、EIPに代表されるシステム間統合の技術はますます重要になっています。 このような「インテグレーション」マイクロサービスをJavaで開発するモダンな方法として、Apache Camelを紹介します。Apache CamelはEIP(エンタープライズ統合パターン)を実装した、軽量かつ高機能なインテグレーションフレームワークです。マイクロサービスやクラウドの時代を先取りし、Spring BootやWildFly Swarmに対応しています。また、インテグレーション・マイクロサービスの監視・管理ツールとしてhawtioも併せて紹介します。 - Apache Camel + hawtio + Spring Boot この組み合わせで、いかにすばやく簡単にインテグレーション・マイクロサービスが構築できるかをお見せします。

#ccc_c2

[Room E+F, 13:30-14:15] ★☆☆
Pivotal認定講師が徹底解説!Spring Bootの本当の理解ポイント

多田真敏

Spring Bootを使ってみたい、既に使っている、という方は多いと思います。でも、本当に理解して使っていますか?よく分からないけど何となくアノテーションを付けたりしていませんか?なかなか初心者レベルから脱することができず、苦労していませんか?実は、Spring Bootのベースとなっている「Springの基礎知識」を理解すれば、謎が全て解け、中級者にレベルアップすることができます。このセッションでは、Pivotal認定トレーニングでも教えている「Springの基礎知識」と、それがどのようにSpring Bootとつながっているのかを徹底解説します。SpringやSpring Bootを使ったことが無い方でも理解できる内容です。

#ccc_e3

[Room G+H, 14:30-15:15] ★☆☆
Spring Security にできること・できないこと

opengl-8080

Spring Security を導入すれば Web アプリのセキュリティについては一安心・・・なわけはなく、 Spring Security にもカバーしている範囲と、そうでない範囲があります。 本セッションでは、 IPA の出している「安全なウェブサイトの作り方」で挙げられているセキュリティ対策と照らし合わせながら、 Spring Security が保護してくれる範囲について私なりに整理した内容をお話しします。 実装の詳細な話はせずに、 Spring Security の機能に焦点を当てた内容になります。 なお、この内容は 2017-06-24 に関ジャバで行われた「KANJAVA PARTY 2017 !!!」と同じになります。

#ccc_g4

[Room E+F, 16:45-17:30] ★★☆
Spring BootとKafkaでCQRSなアプリを動かしてみる

椎葉 光行

CQRSってのをちらほら聞くけど何がおいしいの?実際にどんな風に作るの?って人向けに、実際にSpring BootとKafkaを使ってアプリを作ってみてお話したいなと思います。CQRSがどんな問題を解決してくれるのか、気をつける点は何か、どのような実装になるか、をコードをお見せしながらお話したいと思います。

#ccc_e6

ツール

[Room A+B, 10:00-10:45] ★★☆
AsciiDocとPlantUMLでドキュメント作成

梅澤 雄一郎

AsciiDocはMarkdownのような軽量マークアップ言語です。Markdownと同様に簡易な記法でありながらも表現力に優れ、複数ファイルで構成される本格的な技術ドキュメントを作成できます。HTMLやPDFに変換することも可能で、Spring Frameworkのドキュメントにも採用されています。 PlantUMLはクラス図やシーケンス図などのUMLをテキストベースで記述するDSL(ドメイン固有言語)で、PNGを出力できます。 いずれもAtomプラグインで出力結果をプレビューしながら執筆できますし、Maven/Gradleプラグインでビルドできます。また、テキストファイルなのでgitでの管理に向いています。 本セッションでは、AsciiDoc, PlantUML, Atom, Maven/Gradle, git, Jenkins を組み合わせて技術ドキュメントを作成する方法と、実際に採用して得られた知見を紹介します。

#ccc_a1

[Room C+D, 10:00-10:45] ★★☆
Selenide or Geb? あなたはそのときどちらを使う?

島根 義和 & 高橋 陽太郎

Seleniumでテスト自動化を検討したことがあるのであれば、ラッパーライブラリの利用は検討したことがあるでしょう。 本セッションでは、検討対象としてよく挙がるであろうSelenideGebを紹介します。ただし、両者のライブラリの表面をただ紹介するわけではありません。 実際に両者のフレームワークを利用してテスト自動化を実践している私たちが、「ぶっちゃけどっちを選べば良いの?」というのをそれぞれの目線から全力で語ります!
  • それぞれのフレームワークの推しポイントは?
  • どのような場合(チームやコードの状況、その他の制約)にどちらのフレームワークを使うべきなの?
  • 決めて導入してみたのはいいけど、どんな良さ・悪さがあった?
といったトピックを経験を交えてお伝えします。テスト自動化にこれから取り組もうと思っている人も、取り組んで苦しんだ人も味のあるセッションになると思います。 ぜひラッパーライブラリの使い分けをマスターして、幸せな自動化ライフを満喫しませんか!?

#ccc_c1

[Room M, 10:00-10:45] ★★☆
サーバーサイドでの非同期処理で色々試したよ。

Koji Lin

所属のプロジェクトがもともと同期から非同期化になり、ライブラリも Guava ListenableFuture、 Java 8 CompletableFuture で最後は RxJava にたどり着きました。進化(?)の過程と簡単な RxJava 紹介とその過程で感じた、使った物を紹介したいと思います。

#ccc_m1

[Room A+B, 11:00-11:45] ★★☆
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方

森下 雄貴

AppleのiCloudやSonyのPlaystationなど世界中で利用されているApache Cassandra。インターネット企業だけでなく、ハイパフォーマンス、スケーラビリティや耐障害性が求められる様々な場面で利用されています。本講演では、github上に公開されているサンプルアプリケーションのソースコードを紐解きながら、JavaのマイクロサービスアプリケーションからどのようにApache Cassandraを利用しているかを見ていきます。技術要素: Apache Cassandra、Spring Framework、gRPC、Docker

#ccc_a2

[Room M, 11:00-11:20] ★☆☆
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て

内立良介(うちたて りょうすけ)

ユニットテスト書いてますか?アサーションライブラリは何を使ってますか?AssertJは、Hamcrestと同じユニットテストのアサーションライブラリです。流れるようなインターフェースと言われており、メソッドチェーンでアサーション処理を書くことができます。Java8にも対応していたり、カスタムアサーションを作ったりできます。 ユニットテストめんどくさいなと思っている方も書くのが楽しくなること間違いなしです!「AssertJって何?」「気になってはいるんだけど」という方向けにお話します。

#ccc_m2

[Room C+D, 13:30-14:15] ★☆☆
Open Liberty:オープンソースになったWebSphere Liberty

田中孝清

2017年9月より,IBMのJava EEアプリケーションサーバーWebSphere Libertyがオープンソースとして公開されました。CloudやMicroservicesに最適な軽量・高速ランタイムが完全無料で利用できます。このセッションではOpen Libertyの特徴や使い方,商用版WebSphere Libertyとの違いなどを詳しく説明します。またOpen J9をはじめとしたIBMのオープンソースへの取り組みについてもご紹介します

#ccc_c3

[Room A+B, 14:30-15:15] ★★☆
ヤフー発のメッセージキュー「Pulsar」のご紹介

坂本 雅宏

Pulsarは昨年アメリカのYahoo! Inc. によって公開され、現在はApache Incubatorプロジェクトとして開発が進められているJava製のメッセージキューです。このセッションでは、Pulsarが持つ特徴や機能、アーキテクチャなどをヤフー社内のPulsarに対する取り組みや利用事例と併せてご紹介します。

#ccc_a4

[Room C+D, 14:30-15:15] ★☆☆
ゴールドマン・サックスにおけるCamundaを用いたビジネスプロセスの可視化とワークフローの自動化

福井達也、石井すみれ

ミッションクリティカルな金融業務において人為的なミスを防ぐことはとても重要です。そのためにゴールドマン・サックスではエンジニアがビジネスユーザーと密に接しニーズやワークフローを把握し、ビジネスプロセスモデリングを行い自動化することでミスが起きにくい効率的なシステム開発を行います。
本セッションではCamundaを用いたビジネスプロセスのモデリングと自動化を下記のポイントに触れながらご紹介します。
·ゴールドマン・サックスのエンジニアリング
·ビジネスプロセスモデリングとは
·Camundaフレームワーク
·ゴールドマン・サックスにおけるCamundaの応用

#ccc_c4

[Room M, 14:55-15:15] ★☆☆
Java 8 Stream APIの代わりにEclipse Collectionsを使って開発してみた

Nagahori Shota

U-NEXTではサーバサイドの開発にJava 8を使っていますが、その中でStream APIの代わりとしてEclipse Collectionsを採用し、1年と少々使い続けています。このセッションではEclipse CollectionsについてStream APIとの比較を交えて紹介しつつ、ユーザとして良いなと思ったことや不便に感じたこと、またサービスの一部において導入時既にStream APIでコードが書かれていた状態からEclipse Collectionsに置き換えていった時の話などこれまで使ってきた中であった四方山話をしたいと思います。

#ccc_m7

[Room A+B, 16:45-17:30] ★★☆
ついに来たリアルタイムSpark~ビッグデータ処理の新常識・SnappyDataの実力~

山河 征紀

ビッグデータの処理基盤をもっとシンプルにしたい。刻一刻と更新される大量のデータをリアルタイムに分析したい。そんな希望を叶えるのが「SnappyData」です。Apache Sparkやインメモリーデータグリッドを統合することにより、バッチ処理やストリームデータ処理だけでなく、SQLによるクエリ分析やトランザクションにも対応する“夢のデータベース”です。ビッグデータ処理の新たなスタンダード・SnappyDataの魅力を余すところなくお伝えします。

#ccc_a6

ハッカソン&ハンズオン

[Room I, 10:00-11:45] ★★☆
モブプロで実施する Cognitive Service & Bot ハッカソン #1

てらだよしお

マイクロソフトの Cognitive(認知) Service を利用すると、画像や音声、テキストなどを解析し、今までにない新しいサービスを簡単に作ることができるようになります。また LUIS (Language Understanding Intelligent Service) を利用する事でユーザから入力されたテキスト文章の語句解析ができ、対話型の Bot のようなサービスを作る事も可能です。本セッションは参加者同士でアイディアを出し、時間内に新しいサービスを作っていただきます。参加者は、基本的な REST によるプログラミングの知識が必要です。ハンズオン形式ではなく、自らが考え作っていただくセッションです。JAX-RS を利用したハンズオンは下記に記載しています。下記をのハンズオンをクリアされた方、もしくは同等の知識をお持ちの方にご参加いただければ幸いです。JAX-RS-Cognitive-HoL 今回、特別講師として楽天の及部さんをお招きし、いま話題のモブ・プログラミングについても紹介します。さらに本ハッカソンは参加者全員にモブプロとして実施していただきます。モブプロも体験できるこの貴重な機会にどうぞみなさまご参加ください。

#ccc_i1

[Room I, 13:30-15:15] ★★☆
モブプロで実施する Cognitive Service & Bot ハッカソン #2

てらだよしお

マイクロソフトの Cognitive(認知) Service を利用すると、画像や音声、テキストなどを解析し、今までにない新しいサービスを簡単に作ることができるようになります。また LUIS (Language Understanding Intelligent Service) を利用する事でユーザから入力されたテキスト文章の語句解析ができ、対話型の Bot のようなサービスを作る事も可能です。本セッションは参加者同士でアイディアを出し、時間内に新しいサービスを作っていただきます。参加者は、基本的な REST によるプログラミングの知識が必要です。ハンズオン形式ではなく、自らが考え作っていただくセッションです。JAX-RS を利用したハンズオンは下記に記載しています。下記をのハンズオンをクリアされた方、もしくは同等の知識をお持ちの方にご参加いただければ幸いです。JAX-RS-Cognitive-HoL 今回、特別講師として楽天の及部さんをお招きし、いま話題のモブ・プログラミングについても紹介します。さらに本ハッカソンは参加者全員にモブプロとして実施していただきます。モブプロも体験できるこの貴重な機会にどうぞみなさまご参加ください。

#ccc_i2

[Room I, 15:45-17:30] ★☆☆
Elastic 6.0 ハンズオン

樋口 慎

・Logstash Elasticsearch Kibanaを使ったハンズオンを行います。 ・全文検索というよりはログ分析寄りの内容になる予定です。 概要 1.Elastic Stack概要説明 2.こちらで用意するサンプルデータを、Logstashで収集しElasticsearchに入れる 3.KIbanaでElasticsearch内のデータを可視化する できるだけKibana6.0での新機能を中心に触っていただきます。 ※11/18時点でGAリリースされていない場合はrc版等で実施させていただきます。 ※ハンズオン形式の都合上、参加者の皆様の状況によって、一部機能を割愛させていただく可能性がございます。

#ccc_i3

その他

[Room E+F, 10:00-10:45] ★☆☆
年齢も経験も関係ない!ステップアップするためのJavaコミュニティ活用術

よこな

Java SE 9がリリースされ、多くの方が様々な向き合い方で新しいJavaをエンジョイしておられることでしょう!
そんな中、「Java SE 9 何それ?」「まだ基礎も分からないし、自分には関係ないかも」という方もいらっしゃるのではないでしょうか。少なくとも、4年前にJJUG CCCへ初参加した新卒2年目の私はそうでした。
しかし、今では少しずつ新しい情報にもリーチし、イベントでの登壇や海外カンファレンスへの参加などにも抵抗がなくなり、自分なりの楽しみ方を見つけつつあります。
すべては早いうちからJavaコミュニティに出会い、多少無茶もしつつ色々なことに挑戦してきたおかげです。
本セッションでは、これまでの経験やそこから感じたこと、これからのことについて若手目線で赤裸々に語ります!ぜひ一緒に、コミュニティを楽しく「活用」しながらステップアップするヒントを探しましょう!

#ccc_e1

[Room E+F, 11:00-11:45] ★☆☆
OpenJDK 参加入門

David Buck

OpenJDK プロジェクトはかなり注目されていますが、どうやって参加出来るかを悩んでいる方はいっぱいいらっしゃいます。このセッションで、OpenJDK のイロハをカバーします。ソースコードの入手から、バグの修正などの貢献まで簡単にプロセスをまとめます。OpenJDK のプロジェクトをより理解したい方、あるいは、自分で貢献したいと思う方は是非ご参加下さい。

#ccc_e2

[Room M, 17:45-18:30] ★☆☆
Java x ArduinoのIoT アーキテクチャパターン

Yusuke Yamamoto

Arduinoはモーターやセンサー、LEDなどを接続してプログラムから制御できるプロトタイピングボードです。手軽にフィジカルコンピューティングを始められる道具として近年人気を博しています。ArduinoはC言語をベースにしたシンプルな"Arduino language"をUSB経由で書き込んでプログラミングを行いますが、Javaと組み合わせることも可能です。 このセッションではArduinoを見たことも触ったこともない方でも「どのようにArduinoを始めれば良いのか」、「Arduinoでどんなことが出来るのか」、「Javaと組み合わせる場合はどのようなアーキテクチャ構成が可能なのか」を具体的にイメージ出来るように以下の構成でお話いたします。 ・Arduinoとは ・Arduinoを使ったLEDの点灯、センサー情報の読み取り ・ラップトップPCのUSBポートにArduinoを接続してJavaから制御する方法 ・Java x Arduinoの応用デモ(Jenkins連携、Twitter4JとArduino、セキュリティソリューションなど) ・Java x Arduinoのアーキテクチャパターン ・Arduinoを始めたくなった人にお勧めのキット、本の紹介(数千円で始められます)

#ccc_m12

LT (懇親会)

LT(5分) ★★☆
Markdown DBUnit

aha-oretama

データベースの参照や更新などを行うクラスの単体テスト、初期データはどうしていますか? いろんな方法がありますが、本LTではMarkdownでの方法とライブラリ、メリデメを紹介します。

#ccc_lt

LT(5分) ★☆☆
Spring Boot の容量を減らしてみた

opengl-8080

Spring Boot で作ったアプリケーションをビルドすると、 AP サーバも同梱した単一の jar が生成されます。 これはアプリケーションの配布や実行が楽になるというメリットがある一方、ちょっとしたアプリケーションでも jar サイズが大きくなるというデメリットがあります。 そこで、なんとか jar のサイズを小さくできないか試行錯誤してみた結果をご紹介します。

#ccc_lt

LT(5分) ★★★
Javaをはじめて1年たった話

呉屋成美

プログラミングという言葉すらよく知らなかった私が、昨年から「Java」を始めました。 環境設定でつまづくし、概念はつかめないしで山あり谷ありでしたが、 たくさんの方々に助けてもらいながらJavaを学んでいます。 現在学んでいるJavaを使って、いまでは趣味の森散策をもっと楽しめないかを試行錯誤しています。 Javaを始めて1年たった私の、「趣味×Java」の楽しみ方をお話できたらなと思っています。

#ccc_lt

LT(5分) ★★☆
Java Do定期報告

EVGENIY(髙橋良貴)

北海道で活動するJUGであるJava Doの活動報告をいたします。

#ccc_lt

のクリック」または「セッション名の長押し」で、お気に入りに設定できます。


このページは、非公式です。
お気づきの点は @YujiSoftware までご連絡いただくか、または この GitHub に Pull Request をお願いいたします。

1998年日本IBM入社。2000年より現職。クラウドソフトウェア事業部で WebSphere Application Server の技術者として日本でのWebSphere技術情報の広報活動およびセールス活動に携わっています。

ヤフー株式会社に入社して5年目のエンジニアです。社内では主にバックエンドシステムの開発・運用をしており、Apache PulsarをベースとしたPub-Subメッセージングシステムや、ユーザの属性情報を社内の様々なサービスに配信するシステムを担当しています。また、Apache Pulsarのコミッターとしても活動しています。

2001 年 サン・マイクロシステムズ株式会社に入社し GlassFish エバンジェリストとして活動。2010年 オラクルのサン買収後、日本オラクル株式会社で Java エバンジェリストとして活動。Java の最新技術情報の提供や、Java コミュニティ活動の活性化を、日本 Java ユーザ・グループ(JJUG)と共に行ってきた。2015年7月、日本マイクロソフト株式会社に移籍し、移籍後もなお Java エバンジェリストとして、マイクロソフト・プラットフォームにおける Java の利用促進・啓蒙活動を実施中。2016 年 7 月、日本人で 2 人目となる Java Champion に就任。JJUG 幹事の一員でもある。

Java EE / Springなど、サーバーサイドJavaを中心とした研修トレーナー。プライベートでは日本GlassFishユーザー会運営メンバー、日本Springユーザー会スタッフ、JJUGでの登壇など、コミュニティ活動を色々やってます。

Javaに関わって18年、現場の第一線に立ち続ける。BtoC、BtoB、サーバサイド、クライアントなど、幅広い商品に関わる。低レイヤーの実装まわりが好き。

エムスリーのエンジニア。チームリーダーやグループ会社の取締役を歴任。Kotlinの素晴らしさに触れ、サーバーサイドKotlinを導入。自慢は、自身のブログで「はてぶ1200超え」を達成したこと。最近はKotlinとVue.jsにはまってる。

フリュー株式会社に2012年に入社し、はや5年。Javaを使っているかと思えばJavaScriptをつかったりで、最近はちょっとしたことでサービスを良く出来ないかを常に考えています

株式会社ビズリーチのWebエンジニア。2015年4月に新卒入社。2015年2月より、求人検索エンジン「スタンバイ」の開発に携わる。主な使用言語はScala。文字コードと絵文字が好き。

Pythonとかが好きなプログラマ。仕事ではspring-bootとかでwebアプリケーションとか作っています。Javaはあまり好きではないです。

1978年、熊本県生まれ。ITシステム会社を経て、2007年にウルシステムズ株式会社に入社。分散処理、インメモリー処理などさまざまな技術を駆使して日々、業務ITに関する課題を解決している。「Japan Apache Geode User Group」の発足にも携わる。

役職:アソシエイト。ゴールドマン・サックス テクノロジー部オペレーションズ・テクノロジーに所属するJavaエンジニア。デリバティブトレードプロセッシングシステムを担当。2013年ゴールドマン・サックス新卒入社。

役職:ヴァイス・プレジデント。ゴールドマン・サックス テクノロジー部アセットマネジメントに所属するテクニカルアーキテクト/Javaエンジニア。シリコンバレーのIT企業を経て2007年ゴールドマン・サックス中途入社。

Principal Member of Technical Staff

JVM言語Kinkの開発者。

日本オラクルにてJavaおよびクラウド・ネイティブ系システム開発の製品マーケティングを担当。Java Day TokyoやOracle Code Tour、JOnsenなどの企画運営もやっています。JJUGの幹事もやらせてもらっています。ちなみにFOLIOの伊藤さん、日本オラクルコンサルの伊藤さんとの血縁関係はありません。

Java女子部の部長。FOLIOという証券会社でバックエンドエンジニアをやっています。仕事ではScalaがメイン。

自然言語処理業者。形態素解析、かな漢字変換などテキストまわりの要素技術の研究開発に従事。2016年よりワークス徳島人工知能NLP研究所勤務。

JVM lover。JUG(Java User Group)の1つ、関西Javaエンジニアの会(関ジャバ)の会長です。 最近転職しました。ポノス株式会社にてスマートフォン向けゲームのサーバサイドを開発しています。 趣味は海外カンファレンス(JavaOne/Devoxx)に参加すること!

SIerから2015年11月にヌーラボに転職。BacklogUIリニューアルプロジェクト終了後、現在BacklogのScala化プロジェクトに参加中。カピバラが好きなScalaを書くRubyist。

2016年3月に株式会社ヌーラボに入社。現在はBacklogのPlay Framework化チームに所属。毎週食べている京都のスイーツの情報を調べつつ、日々Scalaのコードと戦っているEmacs使い。

新横浜のIT企業アクロクエストテクノロジーで働いています。 Elastic Stackを用いたシステムの構築支援や開発をしています。 Acroquest、JJUG CCC 2016 spring, fall登壇、Elasticテクニカルワークショップ講師

Java EE アプリ開発/運用のサポート (WildFly/JBossEAP & WildFly Swarm) を中心に仕事してます。最近は Ansible とか Docker に興味があります。

元 Taiwan Java User Group オーガナイザー、今は福岡で仕事しているのでお手伝いだけしている。LINE Fukuoka では Java でサーバーサイド エンジニアをしています。

リクルートライフスタイルでR-SET活動中です。 SET is software engineering in test. R-SET is Recruit Lifestyle's SET.

2009年に株式会社NTTデータ入社。入社以来、金融、公共の大規模ミッションクリティカルシステムのインフラ開発・運用に従事。また、インフラのベストプラクティスを社内に普及展開する活動の中で、インフラ自動化技術を活用し、その効果を肌で実感。現在は、インフラ自動化の普及展開に奮闘中。

昔々携帯用2chブラウザGikoletを作ったときからJavaに魅せられており、Scalaも触ってます。 何の因果か言語を趣味で作ってた経験から、Pythonの処理系を作ってます。

Java, Scala, Groovyなどが好きなプログラマです。ファミコンプログラミングも齧っていました。

2003年からJava開発。 JSP ->Struts -> EJB ->Spring経験。 2011年ヤフーに中途入社。 広告システムの業務システム開発。 2015年末から現在の部署に移動。 PrestoのPoC、導入、開発を経験。

ITコンサルティング会社でアーキテクトとして活動後、2011年末よりDataStax, Inc.のエンジニアとしてApache Cassandraの開発を担当。2012年5月よりApache Cassandraコミッター。2017年2月に帰国し、現在はDataStax Japan合同会社のソリューションアーキテクトとして活動中。

SIerを卒業したJavaプログラマ。PlayFramework 関連で雑誌寄稿、デブサミ、JJUG ナイトセミナー、JJUG CCC登壇など。 クラフトビールが好きで、たまにドラムを叩く一児の父。

トラブルシューティングツールの侍や、Twitter4JといったOSSを開発しているJavaエンジニア。株式会社サムライズムという会社の社長で、海外のプログラマ向けツールの日本国内展開を手がけています。

2015年4月〜ビズリーチ勤務。基本Javaのサーバーサイドエンジニアですが、直近プロジェクトでVue.jsでSPA構築してモダンフロントにも入門。最近はDDD(ドメイン駆動設計)を布教するために細々と情報発信しています。

Javaと出会って1年。Javaと森との融合を考える新卒エンジニア(4月から社会人になりました)。

趣味で Spring や Java EE を触り、仕事で Struts を使う関西のSE。

Java VMの開発者。 JCP(Java Community Process)のExecutive Committeメンバ。

(o・д・)<めう! OCJP SE 8 Silver所持・Gold所持(予定) 作りたいものは特に思い浮かばないけれどJavaが好きなエンジニア

肌年齢17歳、外見年齢37歳のごくごく普通のプログラマ。25歳の頃、デスマーチを経験したことでソフトウェア工学に目覚め、開発プロセス、品質管理等を独学で勉強し続ける。がなかなか実践できない。好きな技術書はスティーブ・マコネルの「ラピッドデベロップメント」。2012年よりJaSST Tokyo実行委員。

株式会社リクルートジョブズでのアプリ開発のリーダーをやったり、自動テスト作成のお手伝いをしたり。好きな言語はGroovy、LeanとTDDを愛し、使うべきポイントで常に使っています!

Acroquest Technology 株式会社 シニアプロジェクトマネージャ。 開発マネジメントや,OSSプロダクトの調査/検証を経験。 技術者としての仕事の傍ら,10年以上に渡って,母校の東工大にて大学生を対象にした無料Javaセミナーを開催。ITエンジニアの裾野を広げるべく,活動してきた。 2014年からは,ミャンマー支社のAcroquest Myanmar Technologyにて,技術指導や支社運営に従事。現地のエンジニアが最新技術を勉強できる土壌を作るべく,コミュニティを立ち上げようと奮闘してきた。

シニアソフトウェアエンジニア。レッドハットのオープンソース・インテグレーションプラットフォームであるJBoss Fuseのメンテナンスチームに所属。JMXベースのJVM監視・管理ツールであるhawtioのコミッタ。Apache Camel / Apache CXF / Apache Karafなどのオープンソースプロジェクトにも貢献している。

北海道でDL4Jを使って研究をしている修士一年です。北海道のJUGであるJava Doの幹事の一人です。

ふだんはAPI管理やEDIなど、何かと何かをつなぐための仕組みを提案するお仕事をしています。時々、とあるキャラクターの中の人として働くことも。

Interested in Open Source software and licenses Michaël has been a developer at iText Software since 2011. Working closely together with its users he has a keen insight on how the real world uses PDF. He has been known to have short flings with other JVM languages, but at heart he's a Java Developer. When he's not looking at PDF syntax, he likes to play music and (tries to ) develop games. Twitter: @MyMilkedEek

A5:SQL Mk-2というフリーのWindows向けのSQL/ER図ツールを作成しています。(Javaじゃないけど) まあ、コードを書くのが大好きな人間。 4歳の双子の父親。育児に悪戦苦闘中。

Springを使って、Webアプリ開発を行ってます。GCP、Vue.js勉強中!エンジニアリングが好き、洋服が好き。

楽天の大阪支社でウェブアプリケーションエンジニアとして仕事をしている椎葉です。最近は部署内の色んなチームに入っていって一緒に問題解決なんかをやってみたりしてます。スクラムをベースにした開発プロセスや、ペアワークなどが好きです。あと、Spring BootとかThymeleafとかDDDとかGebとかも好きです。Thymeleafのドキュメントの日本語訳をしたりしました。でも、やっぱり娘が大好きです。

U-NEXTでJavaを書いたり書かなかったりしています。

PaDDエンジニア。 心はいつでもスクラムマスター。 もっと楽しく仕事をする「PaDD」こと「Passion Driven Development」を心情に、自分が今いる現場を少しでも改善しようと日々奮闘してます。 Web/Java/Agile/Scrum