2020年5月3日のブックマーク (2件)

  • 難しいのは見た目だけ!?Haskellのモナドの「たった2つのルール」を簡単に理解する! - Qiita

    この記事は Wantedly Advent Calendar 25日目の記事です。 最終日です!気合いが入りますね!! Introduction 今回は Haskell のモナドの話をしたいと思います。 Haskell を学び始めた時、誰もが一度は経験するのが「モナドって何だ?」という疑問です。「Haskell モナド」で検索してみても、圏論を絡めた小難しい説明ばかりが出てきて、よく分からない事が往々にしてあります。 ところが、実は「Haskell におけるモナド」を理解する為に、圏論のモナドを理解する必要はありません。何故なら、「Haskell においてモナドである」為に必要なのは、「たった2つのルールを満たす事」だけだからです! この記事では、「モナドとは何か」を簡単に説明したいと思います!! Haskell におけるモナドとは? Haskell におけるモナドとは、誤解を恐れずに言え

    難しいのは見た目だけ!?Haskellのモナドの「たった2つのルール」を簡単に理解する! - Qiita
  • 副作用と参照透過性と冪等性を理解して、テストでドメインを磨く - Qiita

    朝でも夜でも mac でも windows でも商用環境でも日でもアメリカでも、add(2, 3)は5 透過的 ( transparency ) とは「存在するものを存在しないように見せる」感じらしい 透過の反対は仮想らしい 透過 → あるけど見えないガラス 仮想 → ないけど見えるホログラム つまり「参照透過性」は「参照があるけどないように見せる」ということ 変数の再代入やグローバル変数の参照が処理内になければ、処理内では変数の参照について心配する必要がないので、参照が透過的と言える 冪等性 処理を何回実行しても同じ結果になること 現状を気にせず叩けば良いので、chef やマイクロサービス等のたくさんの状態を更新する処理と相性が良い (一部が失敗しても全てが成功するまで叩き直せば良いから) 身近な例だと「オン | オフ」みたいなトグルボタンは冪等性がないけど「オフにする」ボタンは冪等性

    副作用と参照透過性と冪等性を理解して、テストでドメインを磨く - Qiita
    letitride
    letitride 2020/05/03
    scala