SlideShare a Scribd company logo
[R5-3] Spring Bootハンズオン
∼Spring Bootで作る
マイクロサービスアーキテクチャ!
槙 俊明 (@making)
JJUG CCC 2014 Fall 2014-11-15
ハッシュタグ
#jjug_ccc #ccc_r53
自己紹介
• @making
• http://blog.ik.am
• ガチSpringユーザー
http://www.kohgakusha.co.jp/books/detail/978-4-7775-1865-4
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
演習のゴール
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
Config
Repository
(Gitbucket)
演習のゴール
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
Config
Repository
(Gitbucket)
演習1
演習のゴール
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
Config
Repository
(Gitbucket)
演習2
演習1
演習のゴール
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
Config
Repository
(Gitbucket)
演習2
演習1
演習3
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
Spring Bootとは?
フレームワークというよりプラットフォーム
現在1.1.9.RELEASE
簡単に言うと、Spring Framework
でアプリケーションを簡単に作る
ための仕組み
もうすぐ1.2.0
Spring Bootを使うことで・・
モダンでいけてるJava
アプリケーションを
簡単に構築できる
Spring Bootの特徴
• あらかじめオススメの組み合わせが決
まる
• 依存ライブラリを同梱するだけで自動
で設定が決まる
• 組み込みサーバーを同梱し、アプリを
即実行可能 アプリケーション自体は
Spring MVCやSpring Batchで書く
Spring Bootの特徴
• あらかじめオススメの組み合わせが決
まる
• 依存ライブラリを同梱するだけで自動
で設定が決まる
• 組み込みサーバーを同梱し、アプリを
即実行可能 アプリケーション自体は
Spring MVCやSpring Batchで書く
小さなアプリを迅速に開発&
デプロイするのに向いている
(≠ 大きなアプリに向かない)
<parent>	
<groupId>org.springframework.boot</groupId>	
<artifactId>spring-boot-starter-parent</artifactId>	
<version>1.1.5.RELEASE</version>	
</parent>	
<dependencies>	
<dependency>	
<groupId>org.springframework.boot</groupId>	
<artifactId>spring-boot-starter-web</artifactId>	
</dependency>	
<dependency>	
<groupId>org.springframework.boot</groupId>	
<artifactId>spring-boot-starter-test</artifactId>	
<scope>test</scope>	
</dependency>	
</dependencies>	
<build>	
<plugins>	
<plugin>	
<groupId>org.springframework.boot</groupId>	
<artifactId>spring-boot-maven-plugin</artifactId>	
</plugin>	
</plugins>	
</build>	
<properties>	
<java.version>1.8</java.version>	
</properties>	
 
この設定を追加
するだけ
いろいろな依存関係が追加され
ている
package com.example;	
!
import org.springframework.boot.SpringApplication;	
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;	
import org.springframework.web.bind.annotation.RequestMapping;	
import org.springframework.web.bind.annotation.RestController;	
!
@RestController	
@EnableAutoConfiguration	
public class App {	
!
@RequestMapping("/")	
String home() {	
return "Hello World!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
魔法のアノテーション
mainメソッドでアプリ実行
まずは実行
• 実行方法は2通り
または
$ mvn spring-boot:run
$ gradle bootRun Gradleの場合
http://localhost:8080 にアクセス
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
マイクロサービスアーキテクチャ
• 小さなサービスを組み合わせて1つ
のアプリケーションを作成するア
プローチ
• サービス間はメッセージング
(HTTP/AMQP等)で通信
• James Lewisが2012年に発表した
「Java, the Unix way」
という発表がマイクロサービスアーキテク
チャの始まり。
• http://2012.33degree.org/talk/show/67
マイクロサービスアーキテクチャの出典
マイクロサービスアーキテクチャの出典
• Martin Fowler氏と共著で書いた記
事「Microservices」で有名に
• http://martinfowler.com/articles/microservices.html
Java, the Unix way (1/4)
• 1つの機能だけ持つ、多くの小さなア
プリケーションで構成
• 全て頭に入っている/使い捨てできるく
らいに十分小さいサイズ
Small with Single Responsibility
http://www.slideshare.net/SpringCentral/springboot-groovyより
Java, the Unix way (2/4)
•組み込みコンテナ(APサーバー)
•実行可能jar
•パッケージマネージャ(RPM等)でインストール
•Unixのサービススクリプトで実行
Containerless Unix Process
http://www.slideshare.net/SpringCentral/springboot-groovyより
Java, the Unix way (3/4)
•1アプリ1リポジトリ
•共通モジュールは外出し(OSSラ
イブラリのような扱い)
Dedicated VCS roots
http://www.slideshare.net/SpringCentral/springboot-groovyより
Java, the Unix way (4/4)
•アプリ内メトリクス
•ヘルスチェック
•外部のウォッチドッグプロセス
•必要に応じてスケール
Status Aware and Auto-Scaling
http://www.slideshare.net/SpringCentral/springboot-groovyより
Spring Bootは
「Java, the Unix way」
のほとんどの要素を満
たしている!
http://techlife.cookpad.com/entry/2014/09/08/093000
http://www.publickey1.jp/blog/14/post_246.html
2014年バスワード大賞
有力候補(適当)
IoTと良い争い?(笑)
伝統的なアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
モノリシックアーキテクチャ
伝統的なアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
モノリシックアーキテクチャ
システムが大きくなると、全体
を把握するのが大変で、保守が
難しい。
伝統的なアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
モノリシックアーキテクチャ
システムが大きくなると、全体
を把握するのが大変で、保守が
難しい。
技術の変更は難しい(リスキー)
=ほぼ全体書き換え
伝統的なアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
モノリシックアーキテクチャ
システムが大きくなると、全体
を把握するのが大変で、保守が
難しい。
技術の変更は難しい(リスキー)
=ほぼ全体書き換え
技術的に発展的成長が難しい
アーキテクチャ
マイクロサービスアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
Single Responsibility Principle (SRP)
に基づきドメイン単位でサービスを分割す
マイクロサービスアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
Single Responsibility Principle (SRP)
に基づきドメイン単位でサービスを分割す
HTTPやAMQPで通信
マイクロサービスアーキテクチャ
http://www.infoq.com/articles/microservices-intro より図を拝借
Single Responsibility Principle (SRP)
に基づきドメイン単位でサービスを分割す
HTTPやAMQPで通信
Amazon
Netfilx
eBay
などが採用
マイクロサービスアーキテクチャの
メリット・デメリット
メリット デメリット
自担当のサービスのコードを
理解しやすい
システム全体を見なくなる
新しい技術を採用しやすい・
失敗してもやり直しやすい
分散システムの整合をとる
のが難しい
サービス単位でスケールできる
サービス間の通信オーバー
ヘッドがある
1
ーク等
他サービスの障害をふまえ
た設計が必要
IDE
マイクロサービスアーキテクチャの
メリット・デメリット
メリット デメリット
自担当のサービスのコードを
理解しやすい
システム全体を見なくなる
新しい技術を採用しやすい・
失敗してもやり直しやすい
分散システムの整合をとる
のが難しい
サービス単位でスケールできる
サービス間の通信オーバー
ヘッドがある
1
ーク等
他サービスの障害をふまえ
た設計が必要
IDE
Service Registration and Discovery
Distributed Configuration
Load Balancing
Circuit Breaker
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
Netflix社の例
• すでにマイクロサービスアーキテクチャを用いてサービス
を運用
• マイクロサービスアーキテクチャに必要ないくつかのデザ
インパターンを実装してOSSに公開
• Service registration and discovery
• Routing
• Load balancing
• Circuit Breaker
• …
Netflix OSS
http://netflix.github.io/
Eureka
各サービスの登録・検出を担う。各サービスはそれぞ
れのサービスのIP/PORTを知らなくて良くなる。
負荷分散やフェールオバー等に用いられる。
https://github.com/Netflix/eureka
AWSのELBはフロントエンドの負荷分散向けであるが、
Eurekaはミドルウェア間の負荷分散に対応
AWSのマルチAZで複製可能
30秒毎のheartbeat
AWSのELBはフロントエンドの負荷分散向けであるが、
Eurekaはミドルウェア間の負荷分散に対応
AWSのマルチAZで複製可能
Hystrix
Circuit Breakerパターンを実現する処理を
コマンドパターンで実装するライブラリ
https://github.com/Netflix/Hystrix
Circuit Breakerパターン
• 障害が起きているサービスにアク
セスし続けることで、他のサービ
スへの障害へ伝播することを防ぐ。
→ 一定期間でエラーやタイムア
ウトのしきい値を超えたら、そ
の処理を常にエラーにする。
http://springinpractice.com/2010/07/06/annotation-based-circuit-breakers-with-spring
正常
エラーやタイムアウトがしきい
値を超えるとリクエストを遮断
する状態に移行する
時間が経過すると、正常
に戻っているか確認
Hystrix Dashboard
Hystrix Dashboard
Turbine
Hystrixのイベントストリームを集約する
https://github.com/Netflix/turbine
Ribbon
クライアントサイドでロードバランス(ラウンドロ
ビン)するためのライブラリ。EurekaやHTTP/TCP/
UDPクライアントと連携する。
https://github.com/Netflix/ribbon
Zuul
Java製ルーター&サーバーサイドロードバランサ
https://github.com/Netflix/zuul
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
マイクロサービス界のFizzBuzz
• 「URL短縮サービス」をいかに簡単
に作成できるか?がフレームワーク
のベンチマークとなっている?
• bit.lyやgoo.glみたいなやつ。
課題1: TODOを埋めてプログラム
を完成させてください
String hash = ""/* TODO (1) URLをハッシュ化。ハッシュアル
ゴリズムには 32-bit murmur3 algorithm を使用する。 */;	
// ヒント: com.google.common.hash.Hashing.murmur3_32()
// TODO (2) urlMapにhashに紐づくURLを追加する。
demo.UrlShortenerクラスを編集してください。
35行目
37行目
exercise/01-urlshortener/urlshortener
課題2: Redisを使ってConcurrentHashMap
使用部分を書き換えましょう
$ cd software/redis-2.8.17	
$ make	
$ ./src/redis-server
Redisのビルド&起動
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
Spring Cloud
• 分散システムの共通的なパターンを簡単に使え
るようにしたプロジェクト
• Spring Cloud Config
• Spring Cloud Netflix
• Spring Cloud for Amazon Web Services
• Spring Cloud Connectors 等
• 現在1.0.0.M2バージョン(正式版はまだ)
http://projects.spring.io/spring-cloud/
Spring Cloud Config
• 分散システムにおけるコンフィギュレーション
の仕組み(Distributed Configuration
Management)を提供するプロジェクト
• ClientとServerで構成される。
• コンフィギュレーションを再読み込みする仕
組みも提供する。
Spring Cloud Configの最小構成
@EnableConfigServer@EnableAutoConfiguration
foo
Main Application (Client)
port:8888port:8080
Config Server
Git
Properties
Config Repository
Spring Cloud
Config Client
Spring Cloud
Config Server
設定の取得元をGitま
たはPropertiesファイル
を選択できる
Config Serverの作り方
package demo;	
!
import org.springframework.boot.SpringApplication;	
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;	
import org.springframework.cloud.config.server.EnableConfigServer;	
import org.springframework.context.annotation.ComponentScan;	
!
@EnableConfigServer 	
@EnableAutoConfiguration	
@ComponentScan	
public class ConfigServer {	
!
public static void main(String[] args) {	
SpringApplication.run(ConfigServer.class, args);	
}	
}
Config Serverの作り方
package demo;	
!
import org.springframework.boot.SpringApplication;	
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;	
import org.springframework.cloud.config.server.EnableConfigServer;	
import org.springframework.context.annotation.ComponentScan;	
!
@EnableConfigServer 	
@EnableAutoConfiguration	
@ComponentScan	
public class ConfigServer {	
!
public static void main(String[] args) {	
SpringApplication.run(ConfigServer.class, args);	
}	
}
アノテーションつけるだけ
Config Serverの作り方
• org.springframework.cloud.c
onfig.server.ConfigServerAp
plicationクラスが用意されている
ため、実はConfigServerクラスを作
成する必要が無い。
Config Repositoryの指定方法
spring:	
platform:	
config:	
server.uri: https://github.com/making/config-repo
Config Repositoryの指定方法
spring:	
platform:	
config:	
server.uri: https://github.com/making/config-repo
Server側のbootstrap.ymlに
spring.platform.config.server.uriプロパティ指定
コンフィギュレーション取得方法
http://localhost:8888/{app}/{env}/{label}
にアクセスすることでアプリケーション毎の環境(profile)毎
のコンフィギュレーションを取得できる
• app=アプリケーション名
• env=profile名 (デフォルトはdefault)
• label=branch名 (デフォルトはmaster, 省略可)
Githubでの設定例
https://github.com/making/config-repo
Githubでの設定例
https://github.com/making/config-repohttp://localhost:8888/foo/default で取得できる
Githubでの設定例
https://github.com/making/config-repohttp://localhost:8888/foo/default で取得できる
http://localhost:8888/foo/development
で取得できる(defaultの値を上書き)
Githubでの設定例
https://github.com/making/config-repohttp://localhost:8888/foo/default で取得できる
http://localhost:8888/foo/development
で取得できる(defaultの値を上書き)
演習で試しましょう
Config Serverのセキュリティ
• http://cloud.spring.io/spring-cloud-
config/spring-cloud-
config.html#_spring_cloud_config_server
• Spring Securityによる認証/認可やプロパ
ティの暗号化/復号にも対応
Clientの作り方
!
<dependency>	
<groupId>org.springframework.cloud</groupId>	
<artifactId>spring-cloud-config-client</artifactId>	
</dependency>	
!
Clientの作り方
!
<dependency>	
<groupId>org.springframework.cloud</groupId>	
<artifactId>spring-cloud-config-client</artifactId>	
</dependency>	
!
依存関係いれるだけ
Clientの使い方
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(ClientApp.class, args);	
}	
}
Clientの使い方
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(ClientApp.class, args);	
}	
}
Springの普通の
プロパティ解決の仕組み
アプリケーション名の指定
spring.application.name: foo
アプリケーション名の指定
spring.application.name: foo
Client側のbootstrap.ymlに
spring.application.nameプロパティ指定
設定例
設定例
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
設定例
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello 123456!
設定変更
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
設定変更
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello 123456!
設定変更
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello 123456!
反映されていない!?
Refreshエンドポイント
$ curl -X POST http://localhost:8080/refresh	
["bar"]	
$ curl -X GET http://localhost:8080/env/bar	
Spring Boot
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Refreshエンドポイント
$ curl -X POST http://localhost:8080/refresh	
["bar"]	
$ curl -X GET http://localhost:8080/env/bar	
Spring Boot
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello 123456!
Refreshエンドポイント
$ curl -X POST http://localhost:8080/refresh	
["bar"]	
$ curl -X GET http://localhost:8080/env/bar	
Spring Boot
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello 123456!
DI済みのプロパティには
反映されない!?
Restartエンドポイント
$ curl -X POST http://localhost:8080/restart	
{"message":"Restarting"}
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
DIコンテナを再起動
Restartエンドポイント
$ curl -X POST http://localhost:8080/restart	
{"message":"Restarting"}
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello Spring Boot!
DIコンテナを再起動
Restartエンドポイント
$ curl -X POST http://localhost:8080/restart	
{"message":"Restarting"}
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}
Hello Spring Boot!
再DIによりプロパティが
反映された。
(でも、起動に時間がかかる)
DIコンテナを再起動
Adhocな
コンフィギュレーション変更
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud"	
{"bar":"Spring Cloud"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud
EnvエンドポイントにPOST
Adhocな
コンフィギュレーション変更
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud"	
{"bar":"Spring Cloud"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud
EnvエンドポイントにPOST
$ curl -X POST http://localhost:8080/refresh	
[]	
$ curl -X GET http://localhost:8080	
Hello Spring Boot!
Adhocな
コンフィギュレーション変更
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud"	
{"bar":"Spring Cloud"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud
EnvエンドポイントにPOST
$ curl -X POST http://localhost:8080/refresh	
[]	
$ curl -X GET http://localhost:8080	
Hello Spring Boot!
Refreshしてもやはり変わらず
Refreshスコープ
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
@RefreshScope	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
BeanのスコープをSpring Cloud
Configで追加されたRefreshスコープ
に変更
Refreshスコープ
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
@RefreshScope	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
BeanのスコープをSpring Cloud
Configで追加されたRefreshスコープ
に変更
設定例
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud Config"	
{"bar":"Spring Cloud Config"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud Config
設定例
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud Config"	
{"bar":"Spring Cloud Config"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud Config
$ curl -X POST http://localhost:8080/refresh	
[]	
$ curl -X GET http://localhost:8080	
Hello Spring Cloud Config!
設定例
$ curl -X POST http://localhost:8080/env -d bar="Spring
Cloud Config"	
{"bar":"Spring Cloud Config"}	
$ curl http://localhost:8080/env/bar	
Spring Cloud Config
$ curl -X POST http://localhost:8080/refresh	
[]	
$ curl -X GET http://localhost:8080	
Hello Spring Cloud Config!
Refreshでプロパティが
即再DIされた
Spring Cloud Netflix
• Netflix OSS群とSpringとの連携モジュール
• Eureka
• Hystrix
• Turbine
• Ribbon
• Feign
• Zuul
• Archaius
@ComponentScan	
@EnableAutoConfiguration	
@EnableEurekaServer	
public class EurekaServer {	
!
public static void main(String[] args) {	
SpringApplication.run(EurekaServer.class, args);	
}	
}
Eureka (Server)
@ComponentScan	
@EnableAutoConfiguration	
@EnableEurekaServer	
public class EurekaServer {	
!
public static void main(String[] args) {	
SpringApplication.run(EurekaServer.class, args);	
}	
}
Eureka (Server)
Eureka (Client)
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
@RefreshScope	
@EnableEurekaClient	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(ClientApp.class, args);	
}	
}
Eureka (Client)
@RestController	
@ComponentScan	
@EnableAutoConfiguration	
@RefreshScope	
@EnableEurekaClient	
public class ClientApp {	
@Value("${bar:World}")	
String bar;	
!
@RequestMapping("/")	
String home() {	
return "Hello " + bar + "!";	
}	
!
public static void main(String[] args) {	
SpringApplication.run(ClientApp.class, args);	
}	
}
Eureka(Server)のダッシュボード
Eureka(Server)のダッシュボード
Eureka Serverに登録し
ているサービス(Client)
Hystrix
@ComponentScan	
@EnableAutoConfiguration	
@EnableEurekaClient	
@EnableHystrix	
public class App {	
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
@Component	
public class StoreIntegration {	
!
@HystrixCommand(fallbackMethod = "defaultStores")	
public Object getStores(Map<String, Object> parameters) {	
// do stuff that might fail	
}	
!
public Object defaultStores(Map<String, Object> parameters) {	
return /* something useful */;	
}	
}
Circuitが
Openな状態
に実行するメ
ソッド
Circuit Breakerパターンに対
応したコマンドを作成できる
Hystrix
@ComponentScan	
@EnableAutoConfiguration	
@EnableEurekaClient	
@EnableHystrix	
public class App {	
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
@Component	
public class StoreIntegration {	
!
@HystrixCommand(fallbackMethod = "defaultStores")	
public Object getStores(Map<String, Object> parameters) {	
// do stuff that might fail	
}	
!
public Object defaultStores(Map<String, Object> parameters) {	
return /* something useful */;	
}	
}
Circuitが
Openな状態
に実行するメ
ソッド
Circuit Breakerパターンに対
応したコマンドを作成できる
Hystrix Dashboard
@ComponentScan	
@EnableAutoConfiguration	
@EnableHystrixDashboard	
public class App {	
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
Hystrix Dashboard
@ComponentScan	
@EnableAutoConfiguration	
@EnableHystrixDashboard	
public class App {	
public static void main(String[] args) {	
SpringApplication.run(App.class, args);	
}	
}
Hystrix Dashboard
@EnableHystrixをつけたアプ
リのevent-streamを登録
Hystrix Dashboard
Ribbon@Component	
public class MyClass {	
@Autowired	
LoadBalancerClient loadBalancer;	
!
public Object getStores(Map<String, Object> parameters) {	
ServiceInstance instance = loadBalancer.choose("stores");	
URI storesUri = URI.create(String.format("http://%s:%s", instance.getHost(),
instance.getPort()));	
// do something with the URI	
}	
}
Eurekaに登録したサービス名
@Component	
public class MyClass {	
@Autowired	
RestTemplate restTemplate;	
!
public Object getStores(Map<String, Object> parameters) {	
String results = restTemplate.getForObject("http://stores", String.class);	
return results;	
}	
}
RestTemplateにRibbonを使用した
Interceptorが埋め込まれている
hostname:port指定不要
Spring Cloudを用いたマイクロサー
ビスアーキテクチャのBoilerplate
UI
Service B
Config
Server
Service
Discovery
Circuit Breaker
Monitor
Service A
load balancer
load balancer
Browser
Spring Cloudを用いたマイクロサー
ビスアーキテクチャのBoilerplate
UI
Service B
Config
Server
Service
Discovery
Circuit Breaker
Monitor
Service A
load balancer
load balancer
Browser
Spring Cloud Config Eureka
Ribbon
Hystrix
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
演習で扱うシステムの
アーキテクチャ
Config
Server
(Spring
Cloud
Config)
URL Shortener
Config
Repository
(Gitbucket)
8080
8888
8081
Config Client
コンテンツ
• Spring Bootとは?
• マイクロサービスアーキテクチャとは?
• マイクロサービスアーキテクチャのためのNetflix OSS群
• 演習1 Spring Bootで「URL短縮サービス」を作る
• Spring Cloudとは?
• 演習2 Spring Cloud Configで動的コンフィギュレーション
• 演習3 Spring Cloud Netflixでマイクロサービスアーキテク
チャ構築
演習で扱うシステムの
アーキテクチャ
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
Config
Repository
(Gitbucket)
URL Shortener UI
Config
Server
(Spring
Cloud
Config) Service
Discovery
(Eureka)
Circuit Breaker
Monitor (Hystrix)
URL Shortener
load balancer(Ribbon)
Browser
URL Shortener
URL Shortener
Redis
9999
Config
Repository
(Gitbucket)
8080
8888 8761
63797979
8083
8082
8081
演習で扱うシステムの
アーキテクチャ
まとめ
• 後で書く

More Related Content

What's hot

Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
日本マイクロソフト株式会社
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Kazuya Sugimoto
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
Recruit Lifestyle Co., Ltd.
 
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
Yuki Hattori
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
tsukasamannen
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
dcubeio
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
Hitachi, Ltd. OSS Solution Center.
 
Raft
RaftRaft
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
yoku0825
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 

What's hot (20)

Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。 【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発Microsoft Graph APIを活用した社内アプリケーション開発
Microsoft Graph APIを活用した社内アプリケーション開発
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門Spring Boot ユーザの方のための Quarkus 入門
Spring Boot ユーザの方のための Quarkus 入門
 
こんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツールこんなに使える!今どきのAPIドキュメンテーションツール
こんなに使える!今どきのAPIドキュメンテーションツール
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
 
Raft
RaftRaft
Raft
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 

Viewers also liked

マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
Yusuke Suzuki
 
マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015
Yusuke Suzuki
 
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3devマイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
心 谷本
 
Spring Cloud Servicesの紹介 #pcf_tokyo
Spring Cloud Servicesの紹介 #pcf_tokyoSpring Cloud Servicesの紹介 #pcf_tokyo
Spring Cloud Servicesの紹介 #pcf_tokyo
Toshiaki Maki
 
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフターSpring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
orekyuu
 
Spring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsugSpring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsug
Toshiaki Maki
 

Viewers also liked (7)

マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景にマイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
マイクロサービスアーキテクチャ - アーキテクチャ設計の歴史を背景に
 
マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015マイクロサービスアーキテクチャの設計 - JUG2015
マイクロサービスアーキテクチャの設計 - JUG2015
 
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3devマイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
Spring Cloud Servicesの紹介 #pcf_tokyo
Spring Cloud Servicesの紹介 #pcf_tokyoSpring Cloud Servicesの紹介 #pcf_tokyo
Spring Cloud Servicesの紹介 #pcf_tokyo
 
Spring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフターSpring boot劇的ビフォーアフター
Spring boot劇的ビフォーアフター
 
Spring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsugSpring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsug
 

Similar to Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53

[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
Masanori Ishigami
 
How to face the Kubernetes ?
How to face the Kubernetes ? How to face the Kubernetes ?
How to face the Kubernetes ?
Yoshio Terada
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuber
Takaaki Suzuki
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
Yuta Matsumura
 
30min serverless-x tuber
30min serverless-x tuber30min serverless-x tuber
30min serverless-x tuber
c-mitsuba
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update Summary
Tomoyuki Obi
 
.NET Micro Framework で IoT
.NET Micro Framework で IoT.NET Micro Framework で IoT
.NET Micro Framework で IoT
Yoshitaka Seo
 
20230728_VMUG_cisco.pptx
20230728_VMUG_cisco.pptx20230728_VMUG_cisco.pptx
20230728_VMUG_cisco.pptx
unemotoakihiro
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
Toshiaki Maki
 
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Masahiko Ebisuda
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on Azure
Masaki Yamamoto
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
Oda Shinsuke
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design Pattern
Takekazu Omi
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
Shigeru Tatsuta
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
shojiro-tanaka
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
典子 松本
 
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Takashi Ushigami
 
データから価値を生み続けるには
データから価値を生み続けるにはデータから価値を生み続けるには
データから価値を生み続けるには
Recruit Lifestyle Co., Ltd.
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Akira Inoue
 

Similar to Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53 (20)

[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
How to face the Kubernetes ?
How to face the Kubernetes ? How to face the Kubernetes ?
How to face the Kubernetes ?
 
30min Serverless xTuber
30min Serverless xTuber30min Serverless xTuber
30min Serverless xTuber
 
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
サーバーレスやマイクロサービスへの"チャレンジ"を後押ししてくれるセッションを紹介
 
30min serverless-x tuber
30min serverless-x tuber30min serverless-x tuber
30min serverless-x tuber
 
Logic Apps/Flow Update Summary
Logic Apps/Flow Update SummaryLogic Apps/Flow Update Summary
Logic Apps/Flow Update Summary
 
.NET Micro Framework で IoT
.NET Micro Framework で IoT.NET Micro Framework で IoT
.NET Micro Framework で IoT
 
20230728_VMUG_cisco.pptx
20230728_VMUG_cisco.pptx20230728_VMUG_cisco.pptx
20230728_VMUG_cisco.pptx
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
 
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
Azure Hybrid/Infra Updates! Azureからオンプレ仮想基盤の管理もできるようになってます!
 
Running Kubernetes on Azure
Running Kubernetes on AzureRunning Kubernetes on Azure
Running Kubernetes on Azure
 
~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~~初心者がこれから Web アプリの開発をするために~
~初心者がこれから Web アプリの開発をするために~
 
Servcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design PatternServcie Fabric and Cloud Design Pattern
Servcie Fabric and Cloud Design Pattern
 
ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現ソフトバンクにおける Java による クラウドネイティブの実現
ソフトバンクにおける Java による クラウドネイティブの実現
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)Cloud impact on IT industry (in Japanese)
Cloud impact on IT industry (in Japanese)
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
 
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
Virtual WAN × Citrix SD-WAN の衝撃! Azure ネットワーク革命を体験せよ!
 
データから価値を生み続けるには
データから価値を生み続けるにはデータから価値を生み続けるには
データから価値を生み続けるには
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 

More from Toshiaki Maki

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
Toshiaki Maki
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyo
Toshiaki Maki
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Toshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Toshiaki Maki
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
Toshiaki Maki
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Toshiaki Maki
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
Toshiaki Maki
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
Toshiaki Maki
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
Toshiaki Maki
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
Toshiaki Maki
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
Toshiaki Maki
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Toshiaki Maki
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
Toshiaki Maki
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjug
Toshiaki Maki
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Toshiaki Maki
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
Toshiaki Maki
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Toshiaki Maki
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
Toshiaki Maki
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k
Toshiaki Maki
 

More from Toshiaki Maki (20)

From Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsugFrom Spring Boot 2.2 to Spring Boot 2.3 #jsug
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
 
Concourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyoConcourse x Spinnaker #concourse_tokyo
Concourse x Spinnaker #concourse_tokyo
 
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1tServerless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
 
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
 
Spring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & MicrometerSpring Boot Actuator 2.0 & Micrometer
Spring Boot Actuator 2.0 & Micrometer
 
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjpOpen Service Broker APIとKubernetes Service Catalog #k8sjp
Open Service Broker APIとKubernetes Service Catalog #k8sjp
 
Spring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsugSpring Cloud Function & Project riff #jsug
Spring Cloud Function & Project riff #jsug
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
BOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyoBOSH / CF Deployment in modern ways #cf_tokyo
BOSH / CF Deployment in modern ways #cf_tokyo
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
 
Zipkin Components #zipkin_jp
Zipkin Components #zipkin_jpZipkin Components #zipkin_jp
Zipkin Components #zipkin_jp
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
 
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyoSpring Framework 5.0による Reactive Web Application #JavaDayTokyo
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
Spring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjugSpring ❤️ Kotlin #jjug
Spring ❤️ Kotlin #jjug
 
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
 
Managing your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CIManaging your Docker image continuously with Concourse CI
Managing your Docker image continuously with Concourse CI
 
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...Data Microservices with Spring Cloud Stream, Task,  and Data Flow #jsug #spri...
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
 
Short Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyoShort Lived Tasks in Cloud Foundry #cfdtokyo
Short Lived Tasks in Cloud Foundry #cfdtokyo
 
今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k今すぐ始めるCloud Foundry #hackt #hackt_k
今すぐ始めるCloud Foundry #hackt #hackt_k
 

Recently uploaded

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 

Recently uploaded (15)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 

Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53