SlideShare a Scribd company logo
1 of 21
Download to read offline
Spring Framework / Boot / Data 徹底活用
August 28, 2015
Spring in Summer 夏なのにSpring
!
Naohiro Yoshida
Recruit Technologies Co.,Ltd.
∼Spring Data Redis 編∼
自己紹介
(def	
  me	
  {:name	
  "吉田	
  尚弘"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  :job	
  "アーキテクト"	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  :lang	
  ["Java"	
  "Clojure"	
  "Scala"	
  "golang"]	
  
     :spring-­‐use	
  {"流通系企業基幹システム"	
  
	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  	
  	
  	
  "高校生向け学習アプリAPIサーバ"})
リクルートにおけるSpringへの取り組み
■ リクルートでは全社標準FWとしてSpringの採用を決定
■ 専門部隊で検証やサイトへの適用を進めている
学んだプラクティスについては随時ブログや勉強会等で公開予定
!
!
!
!
!
!
API/バックエンド
Spring Boot
Spring Framework
Spring XXX 独自LIB
!
フロントエンド
node.js
!
!
!
!
!
!
!
!
!
API/バックエンド
本日の内容
Spring BootでのSpring Data Redisの使い方と

プラクティス
Spring Boot
Spring Framework
Spring Rabbit
Spring Boot
Autoconfigure
Spring JMS
Spring Boot
Actuator
Spring Data
Redis
Spring Data
Elasticsearch
Spring ・・・
Spring Data Redis
■ SpringでRedisを操作するためのライブラリ
■ JedisのローレベルAPIを使うのではなく利用しやすいTemplateを提供している
!
@Autowired	
private RedisTemplate<Object, Object> redisTemplate;	
!
public void access() {	
	 // value	
redisTemplate.opsForValue().set(key, System.currentTimeMillis());	
Object value = redisWriterTemplate.opsForValue().get(key);	
	
// list 	
redisTemplate.opsForList().rightPush(key, value);	
value = redisWriterTemplate.opsForList().leftPop(key);	
	
// expire	
Date expireAt = DateUtils.addHours(dateSupplier.get(), 1);	
redisTemplate.expireAt(key, expireAt);	
}!
Spring Data Redis ∼Cache利用∼
■ RedisCacheManagerを利用することでspring-contextのCache機構と連携可
@Configuration	
@EnableCaching	
public class RedisConfiguration extends CachingConfigurerSupport {	
!
@Bean	
@Autowired	
public CacheManager cacheManager(	
	 	 	 	 	 	 RedisTemplate<Object,Object> redisTemplate){	
	
RedisCacheManager manager = new RedisCacheManager(redisTemplate);	
!
//有効期限設定 (not required)	
Map<String, Long> expires = new HashMap<String, Long>(); 	
expires.put("cache.expire.180", new Long(3 * 60));	
manager.setExpires(expires);	
return manager; 	
}	
}
Spring Data Redis ∼Cache利用∼
// RedisCacheManagerで指定したexpiresのkeyをvalue属性に	
 // 指定することにより有効期限が設定される、expiresにないvalue属性の場合は無期限	
@Override	
@Cacheable(value = "cache.expire.180", key = "'cache.master.seatTypes'")	
public List<CodeAndName> selectSeatTypes() {	
return selectList("sqlfilename");	
}	
!
// この場合redisでのkeyは	
//「cache.master.selectRailroad/ + 引数のrailroadCode値」	
@Cacheable(value = "cache.permanent.selectRailroad",	
key = "'cache.master.selectRailroad/' + #railroadCode")	
public CodeAndName selectRailroad(String railroadCode) {	
return selectOne("sqlfilename", railroadCode);	
}	
■ キャッシュとして戻り値を保持したいメソッドにCachableアノテーションを定義
■ Redisに存在しない場合のみメソッドの中身が呼び出される
■ 下のコードはSQL実行結果をキャッシュとしてRedisに乗せる例
Spring Boot Application
Spring Bootで利用するには
■ spring-boot-starter-redisとspring-boot-autoconfigureを依存関係に追加するだけ
■ RedisAutoConfigurationがRedisTemplate作成する
■ とりあえず使ってみるのは非常に簡単
Jedis
RedisTemplate
アプリケーションコード
Redis
Properties
RedisAuto
Configuration
Redis
spring:	
data:	
redis:	
host: localhost	
port: 6379 	
pool:	
	 	 	 max-active:20
application.yml
これだけでは実用には耐えられない
Redisの構成の選択肢 ∼Redis Cluster∼
■ 擬似的なMulti Master構成、最低3台のMaster Nodeが必要
■ データがシャーディングされNode毎に別のデータを保持
■ 可用性をちゃんと考慮すると6台のNodeが必要
Node1
!① ⑦ ⑨
Node2
!② ③ ⑥
Node 3
!④ ⑤ ⑧ 
それぞれ管理しているhash
slotを教え合っている
Node1
Slave
Node2
Slave
Node3
Slave
Client
1.CLUSTER
HINTS
2.hash slotと

nodeの対応
3.対象ノードからGET
Node 1 Node 2 Node 3
Redisの構成の選択肢 ∼Redis Sentinel∼
■ Master判定専用のプロセス(sentinel)を用いたMaster/Slave構成
■ 複数のsentinelによる投票によりMasterが決定される(複数クラスタ管理可)
■ 多数決によるMaster障害検知なので3台は必要
Redis
Master
Redis
Slave #1
Redis
Slave #2
Sentinel1 sentinel2 sentinel3
Client
1.Master
問い合わせ
2.Master Node
の場所返却
3.データSET
Redisの構成の選択肢 ∼Load Balancer∼
!
Load Balancer
VIP1 VIP 2
Redis
Master
Redis
Slave #2
Redis
Slave #1
■ LBにWrite用のVIPとRead用のVIPを用意
■ クライアントからはVIPにアクセスしノードダウン/Master昇格を意識しない
■ Master 1台 / Slave 1台でも構成可能
Client
SET GET
Sentinel1 sentinel2 sentinel3
Master障害検知と
昇格の1手段として
バックエンドで
sentinelを利用する
Springから使ってみる
Spring + Redis Cluster
■ Jedis 2.7.2からRedis Clusterにも安定版のRedis 3.0.Xに対応している
■ しかし現在Spring Data RedisはRedis Clusterに対応していない
Spring Boot Application
Spring + Redis Sentinel
RedisTemplate
Jedis Sentinel Pool
JedisConnectionFactory
Jedis Pool
sentinel1 sentinel2
sentinel3
Redis
Master
■ JedisSentinelPoolがsentinelプロセスからMasterのHostAndPort取得
■ MasterのHost And Portを取得してMasterに接続
全sentinelから定期的に
Maserの情報を取得
Maserに対してアクセス
Spring Boot Application
Spring + Redis Sentinel Master 判定
JedisSentinelPool
JedisConnectionFactory
■ 起動時にSentinelに対する専用のListenerを生成してMasterのAddrを取得
■ SentinelからのMaster変更を検知する毎にメモリ内のMasterのAddrを変更
■ 起動時に最低1つのsentinelにアクセスできる必要がある
Master
Listener
Master
Listener
Sentinel1 Sentinel2 Sentinel3
Master
Listener
Sentinelに対してsubscribe処理
Master情報を受け取る
Sentinel数分のMasterListenerを
それぞれ別スレッドで起動。
最初にget-master-addr-by-name
でsentinelから直接masterの
Host/Portを取得。ここで取得で
きないと無限ループ
Spring Boot Applicaton起動時
■ Master判定された後はsentinelから切断された場合でも暫定的に利用可
■ Masterが切り替わった時にはWriteが失敗する
■ sentinel復旧後は自動的に再接続
Spring + Redis Sentinel Sentinel停止
Spring Boot Application
Redis Template
JedisSentinelPool
JedisConnectionFactory
JedisPool
Redis
Master
MasterListenerが
デフォルトで5秒に
一回接続試行
Master
Listener
Master
Listener
Master
Listener
Sentinel1 Sentinel2 Sentinel3
Spring Boot Application
RedisTemplate
JedisConnectionFactory
JedisPool
Redis
Master
■ Slave用のJedisConnectionFactoryを用意する必要がある。
■ Slaveが複数になった場合の分散や生死状態の判定は別途仕組みが必要。
JedisConnection
JedisPool
Redis
Slave
Spring + Redis Sentinel Slaveへのアクセス
Jedis Sentinel Pool
sentinel1 sentinel2
sentinel3
ReadかWriteかに
よって利用する
ConnectionFactory
を切り替える
Spring Boot Application
Spring + VIP
JedisConnectionFactory
JedisPool
Redis
Master
Redis
Slave #1
Redis
Slave #2
Load Balancer
VIP1 VIP 2
RedisTemplate
JedisConnectionFactory
JedisPool
■ 死活監視やアクセス分散をLBに委譲する
■ 読取用と書込用のJedisConnectionFactoryはそれぞれ必要
キャッシュ用クラスタ
■ 複数Master/Slaveのクラスタ構成もRepository層以上からは透過
■ 将来的なRedis Clusterへの移行時の影響を低減
■ 標準では対応していないので拡張が必要 -> 現在RTCで開発中
Spring Boot Application
Master Slave #1 Slave #2
RedisTemplate
JedisConnection
Factory
JedisConnection
Factory
JedisConnection
Factory
JedisConnection
Factory
Load Balancer
VIP1 VIP 2 VIP 3 VIP 4
Master Slave #1 Slave #2
一時データ用クラスタ
・キーのprefixなどでクラスタ判定
・発行コマンドでWrite/Read判定
Spring + VIP Multiple JedisConnectionFactory
まとめ
■ Spring Data RedisのRedisTemplateによりRedis操作は簡単
■ Spring Data RedisでのRedis Clusterは直接サポートされていない
■ 実運用に耐えるRedis構成に合わせるとある程度のカスタマイズが必要

More Related Content

What's hot

Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsTakuya Iwatsuka
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 Hiroshi Ito
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Takashi Honda
 
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Takuya Iwatsuka
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-Takakiyo Tanaka
 
Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Toru Makabe
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&AKeiji Kamebuchi
 
GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウドHasegawa Yusuke
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~sugiyama koki
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかgree_tech
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。Akihiro Kuwano
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Chihiro Ito
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみたJiro Hiraiwa
 
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころsbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころKazuhiro Hara
 
Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springkounan13
 

What's hot (20)

Azure &lt;3 Openness
Azure &lt;3 OpennessAzure &lt;3 Openness
Azure &lt;3 Openness
 
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular SessionsSpring I/O 2016 報告 Test / Cloud / Other Popular Sessions
Spring I/O 2016 報告 Test / Cloud / Other Popular Sessions
 
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3 データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
 
Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応Spring I/O 2017 報告 ThymeleafのWebFlux対応
Spring I/O 2017 報告 ThymeleafのWebFlux対応
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
 
Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊
 
Azure How to Learn & ゆるふわ雑談Q&A
Azure How to Learn &ゆるふわ雑談Q&AAzure How to Learn &ゆるふわ雑談Q&A
Azure How to Learn & ゆるふわ雑談Q&A
 
GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウド
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
Spark Streamingを使ってみた ~Twitterリアルタイムトレンドランキング~
 
コンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのかコンテナ時代にインフラエンジニアは何をするのか
コンテナ時代にインフラエンジニアは何をするのか
 
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発
 
Spring I/O 2015 報告
Spring I/O 2015 報告Spring I/O 2015 報告
Spring I/O 2015 報告
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみた
 
sbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころsbtマルチプロジェクトビルドの使いどころ
sbtマルチプロジェクトビルドの使いどころ
 
Swagger jjug ccc 2018 spring
Swagger jjug ccc 2018 springSwagger jjug ccc 2018 spring
Swagger jjug ccc 2018 spring
 
Zabbix study
Zabbix studyZabbix study
Zabbix study
 

Similar to Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜

Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413Funato Takashi
 
Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Hiroshi Ito
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSAyumi Goto
 
20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなしTakayoshi Tanaka
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractTakeshi Ogawa
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理土岐 孝平
 
SPARQLとMashup環境 (年岡先生)
SPARQLとMashup環境 (年岡先生)SPARQLとMashup環境 (年岡先生)
SPARQLとMashup環境 (年岡先生)Shun Shiramatsu
 
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料Toshimichi Suekane
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Yuji Kubota
 
20141017 introduce razor
20141017 introduce razor20141017 introduce razor
20141017 introduce razordo_aki
 
Node.js勉強会 Framework Koa
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koakamiyam .
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDEdcubeio
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml ssuser3a4b8c
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼうyouku
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksqlMitsutoshi Kiuchi
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24Kazuhiro Sera
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)Iwana Chan
 
Telemetryについて
TelemetryについてTelemetryについて
Telemetryについてtetsusat
 

Similar to Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜 (20)

Springでdao 20070413
Springでdao 20070413Springでdao 20070413
Springでdao 20070413
 
Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks Reladomo in Scala #scala_ks
Reladomo in Scala #scala_ks
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし20170422 azure portal cli 使いこなし
20170422 azure portal cli 使いこなし
 
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理
 
SPARQLとMashup環境 (年岡先生)
SPARQLとMashup環境 (年岡先生)SPARQLとMashup環境 (年岡先生)
SPARQLとMashup環境 (年岡先生)
 
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
20141017 introduce razor
20141017 introduce razor20141017 introduce razor
20141017 introduce razor
 
Node.js勉強会 Framework Koa
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
 
React Native GUIDE
React Native GUIDEReact Native GUIDE
React Native GUIDE
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql9/16 Tokyo Apache Drill Meetup - drill vs sparksql
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
 
Python / R で使うSAS Viya
Python / R で使うSAS ViyaPython / R で使うSAS Viya
Python / R で使うSAS Viya
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 
社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)社内勉強会資料(Varnish Module)
社内勉強会資料(Varnish Module)
 
Telemetryについて
TelemetryについてTelemetryについて
Telemetryについて
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 

Spring Framework / Boot / Data 徹底活用 〜Spring Data Redis 編〜