2021-01-01から1ヶ月間の記事一覧

implicit class を利用して Seq (とか)にメソッドを生やす

case class の Seq に対するメソッドを生やしたい時どうするか。例えば、下記のような case class があるとする。 case class Range( min: Int, max: Int ) これの Seq つまり、Seq[Range] に対して、含まれるRangeの中から、最小の min と 最大の max を取…

最近よくやるPlayFrameworkでのRequest Body(Json)の簡易Validation

業務では BodyParser での parse 時に 簡易的なValidationをすることが多い。以前は、型チェック程度の本当に簡易な Validation しかしていなかったが、最近はもう少し細かく Validation をしつつ、レスポンスを分けれるようにする書き方をすることが多いの…

ControllerComponents の中身を少し見てみる

PlayFrameworkを使っていると、まるで呪文のように何も考えずにControllerに書いている、これ。 class HomeController @Inject() ( cc: ControllerComponents )(implicit ec: ExecutionContext) extends AbstractController(cc) { この、ControllerComponent…

play.filters.headers で設定する contentSecurityPolicy は Play 2.7 から非推奨になっている

New Content Security Policy FilterThere is a new Content Security Policy filter available that supports CSP nonce and hashes for embedded content.The previous setting of enabling CSP by default and setting it to default-src 'self' was too …

IntelliJ に package prefix を省略してくれるPluginが追加されていた。

JetBrainsのブログ Enhanced Package Prefixes 試したいことがあり、新しく Scala のプロジェクトを作成しようとしたら、見慣れないものが追加されていた。 Package prefix なるものが追加されていたPackage prefix なるもの 以前からあったものを見落として…