タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

zioに関するkrrrrのブックマーク (3)

  • ZIOのZLayerについて - takatori

    この記事はただの集団 Advent Calendar 2020の23日目の記事です。 adventar.org 記事では、ZIOのDI機能であるZLayerの使い方を説明します。 対象読者はZIOをある程度知っている方を想定しています。 ZIOについて詳しく知らない方はまず公式ページのドキュメントを読むことをお勧めします。 zio.dev ZIOとは ZIOは純粋な関数型プログラミングを促進する非同期・並行プログラミング用ライブラリです。 モナドなどを知らなくても、ZIOを使うことで関数型プログラミングを始めることができます。 ZIOには便利なデータ型が複数存在しますが、中心となるのはeffectを表すデータ型であるZIO[-R, +E, +A]です。 このデータ型はの3つの型パラメータを持ちます。 R: Environment Type => 実行に必要な環境の型, Anyの場合は環境

    ZIOのZLayerについて - takatori
  • ZIOのエラー・モデルとエラー処理 - Qiita

    ZIOは実行の失敗(=エラー)をCause[E]という代数的データ型で表現します。Cause[E]の型パラメータEはZIO[R, E, A]の2番目の型パラメータEと同じ型でアプリケーション・ロジックに関する失敗を表現する型です。Cause[E]は概念的にはアプリケーション内の失敗Eとアプリケーション外の失敗Throwableの直和型です。 例えばユーザ管理を行っているサービスがあります。指定したユーザuserIdのアイコンを更新するロジックupdateUserIconは以下のように記述できます。指定されたユーザが見つからずアイコンの更新が失敗する可能性をロジックのシグネチャでZIO[R, E, A]のEにUserNotFound.type型を指定して表現します。対応するCause[E]はCause[UserNotFound.type]になります。”ユーザが見つからない”といったアプリケー

    ZIOのエラー・モデルとエラー処理 - Qiita
  • Debuggable IO [DIO] by neko-kai · Pull Request #849 · zio/zio

  • 1