SlideShare a Scribd company logo
IntelliJ IDEAとKotlinで作る
Spring 5アプリケーション
はじめに
今回ご紹介すること
IntelliJ IDEAを使った簡単なWebAPIの開発
開発言語:Kotlin 1.1
フレームワーク:Spring 5
Boot + WebFlux + Reactive MongoDB
ビルド・ツール:Gradle 4.4
TODO管理サービス
アジェンダ
Kotlin & Spring 5概要
Kotlinについて
Spring 5について
IntelliJ IDEAでWebAPI開発
Spring Initializrを利用したプロジェクトの作成
WebFluxに触れてみる
Reactive MongoDBに触れてみる
Kotlin & Spring 5概要
Kotlinについて
Kotlinとは?
Javaの代替言語としてJetBrains社が開発した
マルチプラットフォームの静的型付け言語
https://kotlinlang.org/
Kotlinの特徴
Javaと100%の相互運用性
マルチ・パラダイムでモダンな言語仕様
OSSライセンスのもとに公開
特徴1 Javaと100%の相互運用性
Kotlin
ソース・コード
(*.kt)
Java
バイト・コード
(*.class)コンパイル
Android
バイト・コード
(*.dex)
変換
Java SE
Java EE実行
Android
実行
JavaScript
ソース・コード
(*.js)
ネイティブ
バイナリ・コード
特徴2 マルチ・パラダイムでモダンな言語仕様
オブジェクト指向&関数型プログラミング
カプセル化、継承、高階関数、ラムダ式
効率と安全性の両立
型推論、スマートキャスト、Null安全
柔軟で強力な言語機能とライブラリ
レンジ、拡張関数、演算子オーバーロード、
デリゲート、etc.
特徴3 OSSライセンスのもとに公開
https://github.com/JetBrains/kotlin
Apache License 2.0
Spring 5について
Spring 5の新機能
Reactive Stackの導入
WebFlux、Reactive Repositories、Reactor
Kotlinサポート
DSL(WebFlux、Bean定義) 、Null安全、
Kotlin Script Templates
その他、盛りだくさん
Java SE 8+、HTTP2、etc.
Reactive Stackとは?
スケーラビリティを重視した新しいフレームワーク
大規模ユーザーによる同時アクセス
モバイル・デバイスのサポート
マイクロ・サービス・アーキテクチャーでの利用
非同期処理をベースとしたアーキテクチャー
ノンブロッキングI/O、イベント・ストリーム、バック
プレッシャー、etc.
従来型(同時アクセスのサポート)
サーバー
クライアント1
クライアントn
クライアントn-1
クライアント2
クライアント3
クライアントn-2
・
・
・
スレッド1
スレッド2
スレッド3
スレッドn-2
スレッドn-1
スレッドn
1万
クライアント
以上!
・
・
・
メモリー不足
スイッチング
コストの増大
:Controller :Service :Repository :DB:Client
従来型(処理モデル)
スレッドがメモリーを
占有している
データの受け渡しが
一括で行われる
送り側と受け取り側の
処理速度のギャップがある
Reactive Stack(同時アクセスのサポート)
サーバー
Reactive Stack
クライアント1
クライアントn
クライアントn-1
クライアント2
クライアント3
クライアントn-2
1万
クライアント
以上!
・
・
・
イベント イベント イベント イベント
スレッド1
イベント・ループ
最小限の
スイッチングコスト
Reactive Stack(処理モデル)
:Controller :Service :Repository :DB:Client
受け取り側の速度に合わせて
処理が行われる
(バックプレッシャー)
1件単位で
処理が実行される
必要最小限の
スレッド数に固定
IntelliJ IDEAでWebAPI開発
Spring Initializrを利用した
プロジェクトの作成
Project Metadataの指定
Type: Gradle Project
Language: Kotlin
Dependenciesの指定
Spring Boot: 2.0.0 M7下記項目にチェック
[Web]-[Reactive Web]
[NoSQL]-[Reactive MongoDB]
Import Module from Gradleの指定
Use auto-importにチェック
Gradleのバージョンを書き替える
#Fri Jul 28 13:37:07 BST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https¥://services.gradle.org/distributions/gradle-4.4-bin.zip
4.2 → 4.4に書き替える
Java 9のサポートは
Gradle 4.2.1から
DemoApplication.kt
package com.example.demo
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class DemoApplication
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args)
}
Kotlinアプリケーションの
エントリー・ポイント
(メイン関数)
Spring Bootアプリケーションのメインクラス
WebFluxに触れてみる
WebFluxの構成要素
Router
Handler A
Handler B
Handler Z
・・・
GET /todos HTTP/1.1
Host: localhost
・・・
HTTP/1.1 200 OK
Content-Type: application/json
・・・
データの入れ物(エンティティ・クラス)を作る
package com.example.demo.entity
import java.time.LocalDate
data class TodoItem(
val id: String? = null,
val done: Boolean = false,
val subject: String = "無題",
val deadline: LocalDate? = null
)
Handlerを作る
package com.example.demo.web
// import省略(次ページを参照)
val todoItems = Flux.just(
TodoItem(subject = "あああああ"),
TodoItem(subject = "いいいいい", deadline = LocalDate.now()),
TodoItem(subject = "ううううう", done = true)
)
class TodoHandler {
fun findAll(request: ServerRequest): Mono<ServerResponse> =
ok().contentType(APPLICATION_JSON_UTF8).body(todoItems)
}
ダミー・データ
(参考)Handlerのimport
import com.example.demo.entity.TodoItem
import org.springframework.http.MediaType.APPLICATION_JSON_UTF8
import org.springframework.web.reactive.function.server.ServerRequest
import org.springframework.web.reactive.function.server.ServerResponse
import org.springframework.web.reactive.function.server.ServerResponse.ok
import org.springframework.web.reactive.function.server.body
import reactor.core.publisher.Flux
import reactor.core.publisher.Mono
import java.time.LocalDate
MonoとFluxについて
Reactorにおけるイベント・ソース・オブジェクト
Mono
0または1個のイベントを生成
Flux
0個以上のイベントを生成
参考: https://projectreactor.io/
Routerを作る
package com.example.demo.web
import org.springframework.web.reactive.function.server.router
fun router(todoHandler: TodoHandler) = router {
"/todos".nest {
GET("/", todoHandler::findAll)
}
}
コンポーネントを登録する
fun main(args: Array<String>) {
runApplication<DemoApplication>(*args) {
addInitializers(beans {
bean<TodoHandler>()
bean {
router(ref<TodoHandler>())
}
})
}
}
(参考)DemoApplicationのimport
import com.example.demo.web.TodoHandler
import com.example.demo.web.router
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.support.beans
実行してみよう!
. ____ _ __ _ _
/¥¥ / ___'_ __ _ _(_)_ __ __ _ ¥ ¥ ¥ ¥
( ( )¥___ | '_ | '_| | '_ ¥/ _` | ¥ ¥ ¥ ¥
¥¥/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_¥__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.0.M7)
Reactive MongoDB
に触れてみる
リポジトリー・インターフェイスを定義する
package com.example.demo.repositories
import com.example.demo.entity.TodoItem
import org.springframework.data.repository.reactive.ReactiveCrudRepository
interface TodoItemRepository: ReactiveCrudRepository<TodoItem, String>
リポジトリを利用してデータを取得する
package com.example.demo.web
// import省略(次ページを参照)
class TodoHandler(private val todoItemRepository: TodoItemRepository) {
fun findAll(request: ServerRequest): Mono<ServerResponse> =
ok().contentType(APPLICATION_JSON_UTF8)
.body(todoItemRepository.findAll())
}
ここの部分を書き替える
(参考)Handlerのimport
import com.example.demo.repositories.TodoItemRepository
import org.springframework.http.MediaType.APPLICATION_JSON_UTF8
import org.springframework.web.reactive.function.server.ServerRequest
import org.springframework.web.reactive.function.server.ServerResponse
import org.springframework.web.reactive.function.server.ServerResponse.ok
import org.springframework.web.reactive.function.server.body
import reactor.core.publisher.Mono
データベース接続の設定を行う
package com.example.demo
// import省略(次ページを参照)
@SpringBootApplication
class DemoApplication: AbstractReactiveMongoConfiguration() {
override fun reactiveMongoClient(): MongoClient = MongoClients.create()
override fun getDatabaseName(): String = "todo"
}
(参考)DemoApplicationのimport
import com.example.demo.web.TodoHandler
import com.example.demo.web.router
import com.mongodb.reactivestreams.client.MongoClient
import com.mongodb.reactivestreams.client.MongoClients
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.support.beans
import org.springframework.data.mongodb.config
.AbstractReactiveMongoConfiguration
実行してみよう!
. ____ _ __ _ _
/¥¥ / ___'_ __ _ _(_)_ __ __ _ ¥ ¥ ¥ ¥
( ( )¥___ | '_ | '_| | '_ ¥/ _` | ¥ ¥ ¥ ¥
¥¥/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_¥__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.0.M7)
まとめ
KotlinとSpring 5 Reactive Stack
Reactive Stack
スケーラビリティーを重視したフレームワーク
WebFlux、Reactive Repositories、Reactor
Kotlin
シンプル、柔軟かつ安全な言語
Spring 5 Reactive Stackとの相性は抜群
【広告】関連コースのご案内
(仮称)
KotlinによるAndroidアプリケーション開発 応用編
Spring
(仮称)
KotlinとWebFluxによる
Spring 5 Webアプリケーション開発
準備中
準備中
【広告】関連コースのご案内
IntelliJ IDEAとKotlinで作るSpring 5アプリケーション

More Related Content

What's hot

ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
Kazuhiro Hara
 
Ss upload
Ss uploadSs upload
Ss upload
Cody Caster
 
Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]
Derek Lee Boire
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
健一 辰濱
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
Toshiaki Maki
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
Shinobu Okano
 

What's hot (6)

ClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろうClojureでElectronアプリを作ろう
ClojureでElectronアプリを作ろう
 
Ss upload
Ss uploadSs upload
Ss upload
 
Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]Effective BDD Testing 効果的なBDDテスト [iOS]
Effective BDD Testing 効果的なBDDテスト [iOS]
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
 

Similar to IntelliJ IDEAとKotlinで作るSpring 5アプリケーション

KotlinでROSノードを書いてみた
KotlinでROSノードを書いてみたKotlinでROSノードを書いてみた
KotlinでROSノードを書いてみた
Naoki Iwata
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
Ryosuke Hara
 
Driverについて
DriverについてDriverについて
Driverについて
幸雄 村上
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021
Hideki Saito
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
Kenjiro Kubota
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
 
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
yuichi kubota
 
Kotlinことはじめ -まずは触って動かしてみよう-
Kotlinことはじめ  -まずは触って動かしてみよう-Kotlinことはじめ  -まずは触って動かしてみよう-
Kotlinことはじめ -まずは触って動かしてみよう-
CASAREAL, Inc.
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるdavid9142
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
卓馬 三浦
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
 
Gws 20120521 gradle
Gws 20120521 gradleGws 20120521 gradle
Gws 20120521 gradleNobuhiro Sue
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
 
Spring native について
Spring native についてSpring native について
Spring native について
Takamasa Mitsuji
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
 
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発tomotoshi
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
豊明 尾古
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介david9142
 

Similar to IntelliJ IDEAとKotlinで作るSpring 5アプリケーション (20)

KotlinでROSノードを書いてみた
KotlinでROSノードを書いてみたKotlinでROSノードを書いてみた
KotlinでROSノードを書いてみた
 
React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発React Nativeで始めるアプリ開発
React Nativeで始めるアプリ開発
 
Driverについて
DriverについてDriverについて
Driverについて
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021
 
中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips中・大規模でLaravelを導入するTips
中・大規模でLaravelを導入するTips
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
 
React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発React Nativeで考えるクロスプラットフォーム開発
React Nativeで考えるクロスプラットフォーム開発
 
Kotlinことはじめ -まずは触って動かしてみよう-
Kotlinことはじめ  -まずは触って動かしてみよう-Kotlinことはじめ  -まずは触って動かしてみよう-
Kotlinことはじめ -まずは触って動かしてみよう-
 
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考えるNetラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
Netラボ2012年6月勉強会 マイクロソフトのオープンソース戦略を考える
 
Pre react native0504
Pre react native0504Pre react native0504
Pre react native0504
 
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデートデモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
 
Gws 20120521 gradle
Gws 20120521 gradleGws 20120521 gradle
Gws 20120521 gradle
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
Spring native について
Spring native についてSpring native について
Spring native について
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
VSUGDAY2012 - ASP.NET MVC 4 Deveoper Preview による モバイルWEBアプリケーション開発
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪Kotlinのwebフレームワーク探訪
Kotlinのwebフレームワーク探訪
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 

More from CASAREAL, Inc.

クラスターを分割するという運用の現実解
クラスターを分割するという運用の現実解クラスターを分割するという運用の現実解
クラスターを分割するという運用の現実解
CASAREAL, Inc.
 
とある研修講師から見たJavaScript動向
とある研修講師から見たJavaScript動向とある研修講師から見たJavaScript動向
とある研修講師から見たJavaScript動向
CASAREAL, Inc.
 
211117 microserviceswebinar
211117 microserviceswebinar211117 microserviceswebinar
211117 microserviceswebinar
CASAREAL, Inc.
 
Cndt2021 casareal
Cndt2021 casarealCndt2021 casareal
Cndt2021 casareal
CASAREAL, Inc.
 
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
CASAREAL, Inc.
 
これやったの誰?
これやったの誰?これやったの誰?
これやったの誰?
CASAREAL, Inc.
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法
CASAREAL, Inc.
 
これからの時代に求められるエンジニアの育成とは
これからの時代に求められるエンジニアの育成とはこれからの時代に求められるエンジニアの育成とは
これからの時代に求められるエンジニアの育成とは
CASAREAL, Inc.
 
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
CASAREAL, Inc.
 
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
CASAREAL, Inc.
 
DevRelConTokyo2019_CasarealLT
DevRelConTokyo2019_CasarealLTDevRelConTokyo2019_CasarealLT
DevRelConTokyo2019_CasarealLT
CASAREAL, Inc.
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3:  A First LookPivotal Cloud Foundry 2.3:  A First Look
Pivotal Cloud Foundry 2.3: A First Look
CASAREAL, Inc.
 
SpringOneでの3⽇間とSpring 5.1最新情報
SpringOneでの3⽇間とSpring 5.1最新情報SpringOneでの3⽇間とSpring 5.1最新情報
SpringOneでの3⽇間とSpring 5.1最新情報
CASAREAL, Inc.
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
CASAREAL, Inc.
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
CASAREAL, Inc.
 
SpringOne Platform について
SpringOne Platform についてSpringOne Platform について
SpringOne Platform について
CASAREAL, Inc.
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
CASAREAL, Inc.
 
エンジニアの育成に必要なこととは
エンジニアの育成に必要なこととはエンジニアの育成に必要なこととは
エンジニアの育成に必要なこととは
CASAREAL, Inc.
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
CASAREAL, Inc.
 
TypeScriptのすゝめ
TypeScriptのすゝめTypeScriptのすゝめ
TypeScriptのすゝめ
CASAREAL, Inc.
 

More from CASAREAL, Inc. (20)

クラスターを分割するという運用の現実解
クラスターを分割するという運用の現実解クラスターを分割するという運用の現実解
クラスターを分割するという運用の現実解
 
とある研修講師から見たJavaScript動向
とある研修講師から見たJavaScript動向とある研修講師から見たJavaScript動向
とある研修講師から見たJavaScript動向
 
211117 microserviceswebinar
211117 microserviceswebinar211117 microserviceswebinar
211117 microserviceswebinar
 
Cndt2021 casareal
Cndt2021 casarealCndt2021 casareal
Cndt2021 casareal
 
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
DevOpsの3.5次元的解釈に基づくCI/CDパイプライン設計
 
これやったの誰?
これやったの誰?これやったの誰?
これやったの誰?
 
DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法DevOpsに求められる様々な技術とその連携の学習方法
DevOpsに求められる様々な技術とその連携の学習方法
 
これからの時代に求められるエンジニアの育成とは
これからの時代に求められるエンジニアの育成とはこれからの時代に求められるエンジニアの育成とは
これからの時代に求められるエンジニアの育成とは
 
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
IT人材ラボ Day 2019 Summer 新人から変える!イマドキの顧客ニーズに適用する新人研修
 
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
JJUG会長と一緒に考えたSpring Boot x JavaScript x IntelliJ x アジャイルというモダンな新人研修を今まさにやっている話
 
DevRelConTokyo2019_CasarealLT
DevRelConTokyo2019_CasarealLTDevRelConTokyo2019_CasarealLT
DevRelConTokyo2019_CasarealLT
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3:  A First LookPivotal Cloud Foundry 2.3:  A First Look
Pivotal Cloud Foundry 2.3: A First Look
 
SpringOneでの3⽇間とSpring 5.1最新情報
SpringOneでの3⽇間とSpring 5.1最新情報SpringOneでの3⽇間とSpring 5.1最新情報
SpringOneでの3⽇間とSpring 5.1最新情報
 
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
日立ソリューションズの取り組みとプラットフォーム関連セション内容のご紹介
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
 
SpringOne Platform について
SpringOne Platform についてSpringOne Platform について
SpringOne Platform について
 
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?開発現場から考えるプロジェクトで活躍する新入社員の育て方とは?
開発現場から考える プロジェクトで活躍する 新入社員の育て方とは?
 
エンジニアの育成に必要なこととは
エンジニアの育成に必要なこととはエンジニアの育成に必要なこととは
エンジニアの育成に必要なこととは
 
2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介2018年度新入社員研修実績紹介
2018年度新入社員研修実績紹介
 
TypeScriptのすゝめ
TypeScriptのすゝめTypeScriptのすゝめ
TypeScriptのすゝめ
 

Recently uploaded

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 

Recently uploaded (10)

生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 

IntelliJ IDEAとKotlinで作るSpring 5アプリケーション