Quarkus による超音速な Spring アプリケーション開発

Chihiro Ito
Chihiro ItoOpenJDK Commiter, Application Services Solution Architect at Red Hat, ex-Oracle Groundbreaker Advocate
1
Quarkus による超音速な
Spring アプリケーション開発
Red Hat
Chihiro Ito(@chiroito)
2
スピーカー紹介
伊藤智博(いとうちひろ)
@chiroito
Middleware Solution Architect
OpenJDK Author
3
Supersonic. Subatomic. Java.
4
Javaアプリを作成するための
オープンソーススタック
Cloud Native, Microservices, Serverless
5
デモ
なぜQUARKUS?
7
モノリス
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
1 モノリス ≈ 20 マイクロサービス ≈ 200 ファンクション
モノリスから...へ
8
なぜこの痛みを経験するのか?
機敏性、拡張性、迅速なビジネス反応性
コンテナ・プラットフォーム
App 1
Data
App 2
Data
App 3
Data
App 4 App 5
Data
● スループットを考慮した設計 (リクエスト/秒)
● 起動時のオーバーヘッド
○ クラスの数, bytecode, JIT
● メモリオーバーヘッド
○ クラスの数, metadata, コンパイル
9
Java + コンテナについて隠された真実
RSS
Java ヒープメタスペース ネイティブコード 内部
10
コンテナ・プラットフォーム
ノード
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
ノード
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
ノード
HotSpot ヒープ
HotSpot ヒープ
HotSpot ヒープ
HotSpot ヒープ
Java + コンテナについて隠された真実
QUARKUSとは何か?
QUARK: 素粒子 / US: コンピュータ科学で最も難しいこと
12
developer joyに最適化された統合プラットフォーム :
● 設定なし、瞬時にライブ再ロード
● 標準に基づくが、制約はない
● 統合された構成
● 80%の共通使用に対応する合理化されたコード、
20%に対応する柔軟性
● ネイティブ実行可能ファイルの生成が不要
メリット1: Developer Joy
待って。保存するだけでコードが実行されるの?Javaで?!
そうでしょう?勝利のための超音速Java!
13
メリット2: Supersonic Subatomic Java
Quarkus + Native (GraalVMを使用)
12 MB
Quarkus + JDK (OpenJDKを使用)
73 MB
典型的なクラウドネイティブスタック
Traditional Cloud-Native Stack
136 MB
REST
Memory RSS
14
メリット2: Supersonic Subatomic Java
REST + CRUD
Quarkus + Native
(GraalVMを使用)
28 MB
Quarkus + JDK (OpenJDKを使用)
145 MB
典型的なクラウドネイティブスタック
209 MB
Memory RSS
15
メリット2: Supersonic Subatomic Java
Boot + First Response Time (in seconds)
Quarkus + AOT (GraalVMを使用) 0.016 Seconds
REST
REST + CRUD
Quarkus + JDK (OpenJDKを使用) 0.943 Seconds
Quarkus + AOT (GraalVMを使用) 0.042 Seconds
Quarkus + JDK (OpenJDKを使用) 2.033 Seconds
典型的なクラウドネイティブスタック9.5 Seconds
典型的なクラウドネイティブスタック4.3 Seconds
最初の応答までの時間
16
メリット3: 命令型とリアクティブ型を統合
● 命令型開発とリアクティブ開発の両方を同一アプリケーション内で統合
● ユースケースに適したテクノロジを使用する
● イベント駆動型アプリケーションに基づくリアクティブシステムの重要性
@Inject
SayService say;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return say.hello();
}
@Inject @Stream(”kafka”)
Publisher<String> reactiveSay;
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
public Publisher<String> stream() {
return reactiveSay;
}
17
メリット4: 最高の組み合わせのライブラリと標準
Eclipse Vert.x Eclipse MicroProfile Spring Compat Hibernate RESTEasy Apache Camel
Kubernetes OpenShift Jaeger Prometheus Apache Kafka Netty
どのように
QUARKUS は動くのか
19
フレームワークが起動時にすること
起動にかかる時間をビルド時間に移動
● 設定ファイルの解析
● クラスパスとクラスのスキャン
○ アノテーション、Getter、他のメタデータのため
● フレームワーク・メタモデル・オブジェクトを構築
● リフレクションの準備とプロキシの構築
● IO、スレッドなどを開始して開く
20
起動時に毎回やるのではなく一度だけやる
すべてのブートストラップクラスはロードされない
起動時間の短縮、メモリ使用量の削減
リフレクションやダイナミックプロキシを減らす
ビルド時間に移動する利点
21
事前作業, ビルド, ランタイム
コンパイル
準備
(収集・整理)
配線と組立
(補強)
AOT ネイティブコ
ンパイル
JDK Hotspot 実行可能イメージ
ネイティブ実行
イメージ
app.jar frameworks Runnable java app native-app
22
GraalVMが必要とするメタデータの収集を促進する
GraalVMのためにQuarkusが提供する利点
● フレームワークの知識に基づく
● リフレクション、リソースなどを使用するクラス
● エージェント+事前実行、長いJSONメタデータ、手動のコマンドラインは不要
依存関係の最小化
デッドコードの除去を助ける
エコシステムの100%がGraalVM上でサポートされている
23
JIT - OpenJDK HotSpot
いつどちらのVMをQuarkusと使うか
高メモリ密度の要件
メモリや秒あたりの高いリクエスト
速い起動時間
最高レベルのパフォーマンス (CPU)
最高のガベージコレクタ
ヒープサイズ使用量の増加
既知の監視ツール
一度コンパイルすればどこでも動く
標準JDKだけで動作するライブラリ
AOT - GraalVM native image
最高のメモリ密度要件
メモリや秒あたりの最高のリクエスト
小さなヒープ使用量のため
より速い起動時間
サーバレスでは10ms
さらなるQUARKUS
多ければ多いほど良い
25
@QuarkusTest
public class HelloResourceTest {
@Inject HelloService service;
@Test
public void testHelloEndpoint() {
assertEquals(
"Hello Quarkus",
service.greeting("Quarkus")
);
}
}
速い起動
全て起動
依存性注入
モック
GraalVMネイティブイメージテス
ト
テストを実行する
26
@Entity
public class Todo extends PanacheEntity {
// id is inherited
public String title;
public boolean completed;
public String url;
public static List<Todo> findNotCompleted() {
return list("completed", false);
}
}
@Path("/api")
public class TodoResource {
@GET
public List<Todo> getAll() {
return Todo.listAll(Sort.by("order"));
}
}
@Entity
public class Todo {
@Id @GeneratedValue public Long id;
public String title;
public boolean completed;
public String url;
}
@ApplicationScoped
public class TodoRepo extends PanacheRepository<Todo> {
public List<Todo> findNotCompleted() {
return list("completed", false);
}
}
@Path("/api")
public class TodoResource {
@Inject TodoRepo repo;
@GET
public List<Todo> getAll() {
return repo.listAll(Sort.by("order"));
}
}
ActiveRecord と Repository パターン
27
Open API と Swagger UI
メトリクス
ヘルスチェック
可観測性
28
メッセージング: Kafka, AMQP, など
29
JWT
Keycloak
ストアを選択する
...
セキュリティ: OIDC, JWT, Keycloak...
@Path(“api”) @Produces(MediaType.TEXT_PLAIN)
public class UsersResource {
@PermitAll
@NoCache
public String publicStuff() {
return “Hello world”;
}
@GET @Path("/admin")
@RolesAllowed("admin")
public String admin() {
return "Secret handshake baby!";
}
}
30
Spring 互換の拡張
31
あなたの依存関係を追加
私は依存性を追加できますか?
● JVM上で動く (OpenJDK)
● AOT上でも動くかも (GraalVM)
拡張を書こう
● 依存関係を追加するようなもの
● ビルド時間の起動とメモリの改善
● デッドコードの除去の向上
● Developer Joy
はい
32
Developer Joy
Quarkus のメリット
Supersonic Subatomic Java
命令型とリアクティブ型を統合 最高の組み合わせの
ライブラリと標準
発表
Quarkus
1.0
Quarkusを気に入ったら, GitHubで★を付けてね
https://github.com/quarkusio/quarkus
全体的な情報
● QUARKUS - GUIDES
○ https://quarkus.io/guides/
● Interactive Learning Portal
○ https://learn.openshift.com/middleware/courses/middleware-quarkus/
● Quarkus Tutorial
○ https://redhat-developer-demos.github.io/quarkus-tutorial
● Quarkusio チャネル
○ https://www.youtube.com/channel/UCaW8QG_QoIk_FnjLgr5eOqg
34
初心者向けの情報
● QUARKUS - GET STARTED
○ https://quarkus.io/get-started/
● Introduction to Quarkus
○ https://learn.openshift.com/middleware/courses/middleware-quarkus/getting-started
● Introduction to Quarkus: "Supersonic Subatomic Java"
○ https://youtu.be/DYcEQs-9sb0
35
Springユーザ向けの情報
● Quarkus for Spring Boot Developers
○ https://learn.openshift.com/middleware/courses/middleware-quarkus/spring
● Using the Quarkus Extension for Spring DI API
○ https://quarkus.io/guides/spring-di
● Using the Quarkus Extension for Spring Web API
○ https://quarkus.io/guides/spring-web
● Using the Quarkus Extension for Spring Data JPA API
○ https://quarkus.io/guides/spring-data-jpa
● Quarkus why, how and what by Emmanuel Bernard
○ https://youtu.be/SQDR34KoC-8
● ToDo アプリケーション
○ https://github.com/chiroito/quarkus-sample/tree/master/spring-todo
36
37
Thank you.
OpenShift.Run 2019 開催決定
OpenShift, Kubernetesに携わる技術者向けイベント
OpenShift.Run
2019
Powered by
OpenShift Japan User Group
#openshiftjp
日時: 2019年12月20日(金) 13:00
(13:30受付開始予定)
会場: イベントスペース「EBiS303」
〒150-0013
東京都渋谷区恵比寿 1-20-8
エビススバルビル 3F
定員: 400 名
主催: Japan OpenShift User Group
参加者: OpenShiftに関わる技術者
OpenShiftに関わるパートナー 他
概要:
•パートナー・スポンサー様 Session 
•Product Session/Technical Tips
•After Party
※予告なく変更になることがあります。
https://www.openshift.run
定員まで先着順。定員到達次第抽選です。
Red Hat39
アンケートにご協力よろしくお願いします
お手元の紙のQRコード、または
https://red.ht/Springfest2019
からフォームへ回答ください
⇨Red Hatロゴグッズをプレゼント!
40
https://quarkus.io
@quarkusio
https://quarkusio.zulipchat.com
1 of 40

Recommended

そんなトランザクションマネージャで大丈夫か? by
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?takezoe
24.6K views37 slides
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜 by
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜Takahiro Inoue
49.1K views91 slides
Open Liberty: オープンソースになったWebSphere Liberty by
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
6.1K views52 slides
Java EE から Quarkus による開発への移行について by
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてShigeru Tatsuta
840 views43 slides
Spring Boot ユーザの方のための Quarkus 入門 by
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門tsukasamannen
616 views102 slides
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3 by
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3Toshiaki Maki
34.9K views168 slides

More Related Content

What's hot

マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay by
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay都元ダイスケ Miyamoto
139.5K views58 slides
週末趣味のAWS VPC Traffic Mirroring by
週末趣味のAWS VPC Traffic Mirroring週末趣味のAWS VPC Traffic Mirroring
週末趣味のAWS VPC Traffic MirroringNamba Kazuo
1.5K views29 slides
単なるキャッシュじゃないよ!?infinispanの紹介 by
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
16K views37 slides
NGINXをBFF (Backend for Frontend)として利用した話 by
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話Hitachi, Ltd. OSS Solution Center.
1.2K views23 slides
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介 by
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
4.1K views36 slides
SpotBugs(FindBugs)による 大規模ERPのコード品質改善 by
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善Works Applications
14K views69 slides

What's hot(20)

マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay by 都元ダイスケ Miyamoto
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDayマイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
週末趣味のAWS VPC Traffic Mirroring by Namba Kazuo
週末趣味のAWS VPC Traffic Mirroring週末趣味のAWS VPC Traffic Mirroring
週末趣味のAWS VPC Traffic Mirroring
Namba Kazuo1.5K views
単なるキャッシュじゃないよ!?infinispanの紹介 by AdvancedTechNight
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight16K views
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介 by Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SpotBugs(FindBugs)による 大規模ERPのコード品質改善 by Works Applications
SpotBugs(FindBugs)による 大規模ERPのコード品質改善SpotBugs(FindBugs)による 大規模ERPのコード品質改善
SpotBugs(FindBugs)による 大規模ERPのコード品質改善
Works Applications14K views
最近のやられアプリを試してみた by zaki4649
最近のやられアプリを試してみた最近のやられアプリを試してみた
最近のやられアプリを試してみた
zaki464924.6K views
マルチテナント化で知っておきたいデータベースのこと by Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
こんなに使える!今どきのAPIドキュメンテーションツール by dcubeio
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio25.9K views
Dockerからcontainerdへの移行 by Kohei Tokunaga
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga16.7K views
Java でつくる 低レイテンシ実装の技巧 by Ryosuke Yamazaki
Java でつくる低レイテンシ実装の技巧Java でつくる低レイテンシ実装の技巧
Java でつくる 低レイテンシ実装の技巧
Ryosuke Yamazaki10.8K views
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 by Lintaro Ina
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化
はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化
Lintaro Ina36.2K views
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online by Google Cloud Platform - Japan
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Unified JVM Logging by Yuji Kubota
Unified JVM LoggingUnified JVM Logging
Unified JVM Logging
Yuji Kubota12.9K views
CloudFront経由でのCORS利用 by Yuta Imai
CloudFront経由でのCORS利用CloudFront経由でのCORS利用
CloudFront経由でのCORS利用
Yuta Imai12.1K views
Python 3.9からの新定番zoneinfoを使いこなそう by Ryuji Tsutsui
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui6.9K views
Javaのログ出力: 道具と考え方 by Taku Miyakawa
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa74.3K views

Similar to Quarkus による超音速な Spring アプリケーション開発

ハンズオン勉強会 はじめてのJavaScriptとSPARQL by
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQLTaisuke Fukuno
4K views50 slides
勉強会force#4 Chatter Integration by
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter IntegrationKazuki Nakajima
1.4K views27 slides
Rx java x retrofit by
Rx java x retrofitRx java x retrofit
Rx java x retrofitShun Nakahara
992 views49 slides
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines by
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesSpring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesJunya Katada
3.1K views50 slides
Spring I/O 2018 報告会 by
Spring I/O 2018 報告会Spring I/O 2018 報告会
Spring I/O 2018 報告会NTT Software Innovation Center
468 views50 slides
Spring integration概要 by
Spring integration概要Spring integration概要
Spring integration概要kuroiwa
6.9K views39 slides

Similar to Quarkus による超音速な Spring アプリケーション開発(20)

ハンズオン勉強会 はじめてのJavaScriptとSPARQL by Taisuke Fukuno
ハンズオン勉強会 はじめてのJavaScriptとSPARQLハンズオン勉強会 はじめてのJavaScriptとSPARQL
ハンズオン勉強会 はじめてのJavaScriptとSPARQL
Taisuke Fukuno4K views
勉強会force#4 Chatter Integration by Kazuki Nakajima
勉強会force#4 Chatter Integration勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
Kazuki Nakajima1.4K views
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines by Junya Katada
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesSpring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Junya Katada3.1K views
Spring integration概要 by kuroiwa
Spring integration概要Spring integration概要
Spring integration概要
kuroiwa6.9K views
第三回ありえる社内勉強会 「いわががのLombok」 by yoshiaki iwanaga
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga14.1K views
Spring Framework ふりかえりと4.3新機能 by kimulla
Spring Framework ふりかえりと4.3新機能Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla4.1K views
クラウド時代の並列分散処理技術 by Koichi Fujikawa
クラウド時代の並列分散処理技術クラウド時代の並列分散処理技術
クラウド時代の並列分散処理技術
Koichi Fujikawa3.1K views
Jvm internal by Go Tanaka
Jvm internalJvm internal
Jvm internal
Go Tanaka5.9K views
絶対落ちないアプリの作り方 by Fumihiko Shiroyama
絶対落ちないアプリの作り方絶対落ちないアプリの作り方
絶対落ちないアプリの作り方
Fumihiko Shiroyama52.9K views
Apache Torqueについて by tako pons
Apache TorqueについてApache Torqueについて
Apache Torqueについて
tako pons2.2K views
How to manage Cakephp @CakePHP_Fukuoka_2 by ichikaway
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway921 views
Head toward Java 15 and Java 16 by Yuji Kubota
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota465 views
Seasarプロジェクト徹底攻略 by takezoe
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe5.2K views

More from Chihiro Ito

Red Hat Data Grid 8.2 新機能 by
Red Hat Data Grid 8.2 新機能Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能Chihiro Ito
419 views15 slides
Red Hat Data Grid 8.1 新機能 by
Red Hat Data Grid 8.1 新機能Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能Chihiro Ito
166 views10 slides
Quarkus Technical Deep Dive - Japanese by
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - JapaneseChihiro Ito
219 views40 slides
Advanced database monitoring in modern java by
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern javaChihiro Ito
3.8K views36 slides
システムのモダナイズ 落ちても良いアプリの作り方 by
システムのモダナイズ 落ちても良いアプリの作り方システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方Chihiro Ito
2.1K views45 slides
Quarkusのビジネスと技術的な価値 by
Quarkusのビジネスと技術的な価値Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値Chihiro Ito
1.2K views12 slides

More from Chihiro Ito(13)

Red Hat Data Grid 8.2 新機能 by Chihiro Ito
Red Hat Data Grid 8.2 新機能Red Hat Data Grid 8.2 新機能
Red Hat Data Grid 8.2 新機能
Chihiro Ito419 views
Red Hat Data Grid 8.1 新機能 by Chihiro Ito
Red Hat Data Grid 8.1 新機能Red Hat Data Grid 8.1 新機能
Red Hat Data Grid 8.1 新機能
Chihiro Ito166 views
Quarkus Technical Deep Dive - Japanese by Chihiro Ito
Quarkus Technical Deep Dive - JapaneseQuarkus Technical Deep Dive - Japanese
Quarkus Technical Deep Dive - Japanese
Chihiro Ito219 views
Advanced database monitoring in modern java by Chihiro Ito
Advanced database monitoring in modern javaAdvanced database monitoring in modern java
Advanced database monitoring in modern java
Chihiro Ito3.8K views
システムのモダナイズ 落ちても良いアプリの作り方 by Chihiro Ito
システムのモダナイズ 落ちても良いアプリの作り方システムのモダナイズ 落ちても良いアプリの作り方
システムのモダナイズ 落ちても良いアプリの作り方
Chihiro Ito2.1K views
Quarkusのビジネスと技術的な価値 by Chihiro Ito
Quarkusのビジネスと技術的な価値Quarkusのビジネスと技術的な価値
Quarkusのビジネスと技術的な価値
Chihiro Ito1.2K views
Oracle code one 2018 報告会概要 by Chihiro Ito
Oracle code one 2018 報告会概要Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
Chihiro Ito1.4K views
Getting started MySQL as Document Data Store by Chihiro Ito
Getting started MySQL as Document Data StoreGetting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito1.4K views
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか by Chihiro Ito
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Chihiro Ito10.1K views
Java Flight Recorderの紹介 at Java Day Tokyo 2015 by Chihiro Ito
Java Flight Recorderの紹介  at Java Day Tokyo 2015Java Flight Recorderの紹介  at Java Day Tokyo 2015
Java Flight Recorderの紹介 at Java Day Tokyo 2015
Chihiro Ito4K views
JPAのキャッシュを使ったアプリケーション高速化手法 by Chihiro Ito
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
Chihiro Ito14.2K views
Javaはどのように動くのか~スライドでわかるJVMの仕組み by Chihiro Ito
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito67.2K views

Recently uploaded

光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
30 views17 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
110 views26 slides
定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
154 views64 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 by
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
13 views22 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
68 views12 slides

Recently uploaded(7)

光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga30 views
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」

Quarkus による超音速な Spring アプリケーション開発