はじめに
ApitoreではSpringを大量に使っています。Pivotalさんで勉強会があったので参加してきました。資料も公開されているようなのでそちらを見たほうが良いと思いますが、一応メモを残します。
Spring 5.0 Reactive関連
本日のお話
– Reactor
– Spring5
– Reactive Metts Data Access
makingさんのまとめ資料がもっとわかりやすいらしい笑
Reactor
Reactiveとは
細切れ処理を優先度順にどんどんまわしていくイメージ(講演者の解釈)
Reactive Streamsとは
JDK9に取り込まれる予定。
データを送る量を相手の環境にあわせてコントロールする。
MonoとFlux
Reactive StreamsをStream API風にかける。
spring-webfluxが追加
基本的にはMVCの書き方でいける。新たにMonoとかFluxを指定できるようになる。
Functional Web Framework
RouterFunction
いわゆるルーター。
HundlerFunction
リクエストハンドラーに相当。
Spring Data
Reactive Template API
dataアクセスをFluxにかける。
ReactiveCrudRepository
MonoとかFluxが扱える。
JPA/JDBCはむり、reactiveにできない。
理由はhibernateとかblokingだから。
Thymeleaf
スライドとデモは公開されている。
Thymeleafもりあがってる(Spring bootだと)。
Reactive化するメリットってなんだろう?
→動的に値を変えられる。作り方によっては軽量。
なかやすみ
ピザだー!やったぜ!
この2週間で何枚のピザを食べたろうか笑
Spring IOに参加してわかったSpring Boot
FailureAnalyzerを使うとエラーがわかりやすくていいよ。
SpringBootによるユニットテスト
– @WebMvcTest
– @DataJpaTest
– @RestTemplateTest
拡張について
おしながき
– SpringCloudFunction
– Spring Auto REST Docs
SpringCloudFunction
サーバーレス
Amazon lambdaとかGoogle Cloud Functionに相当。
実際はlambdaから呼んでもらう。
※個人的にはEurekaからSpringCloudFunctionみたいなのを使えるといいな。マイクロサービス化したAPIを基本寝かせておいて、リクエストに応じて起こしに行くみたいな。
Spring Auto REST Docs
Swaggerとかあるけど、、、ガンガン開発していると必ずしも一致しない。
これはTestに紐づいたドキュメント作成ツール。
Spring REST Docsはドキュメントの元を作るツール。
Asciidoctor: markdown的な。
作り方
テストコードを書いて、ドキュメント用の記述を書く。
Spring Auto REST Docsはテストコードにすら書かない(なるべく)。Javadocとか使う。
※うーん、メリット感じないな。swaggerの方がよい。SpringFoxで簡単にできるし。
ゼロからはじめるオープンソース生活
プルリクとか送って見な。