Slide 10
Slide 10 text
Tips: 関数型プログラミングや IO はどうしてる?
❖ FP: Cats 使ってます
➢ 目的の9割は cats.data.Validated, NonEmptyList を使いたかったから
➢ ごく一部、cats.data.EitherT を採用
■ Future[Either[E, A]] を for 式でうまく扱うため
■ 基本的には public メソッドのシグネチャに登場させないルール
➢ ごく一部、cats.data.ContT を採用
■ ただし、Controller での処理を合成/ハンドリングするくらい
❖ IO: scala.concurrent.Future 使ってます
➢ Scala 標準ライブラリにあること、 Play Framework との親和性を優先
➢ 3rd party 製よりも学習コストの低さや中長期的なメンテナンス性も考慮