Upgrade to Pro — share decks privately, control downloads, hide ads and more …

関数型で表現するイベントソーシングの実装とその教育

 関数型で表現するイベントソーシングの実装とその教育

2023/3/24
株式会社ジェイテックジャパン
Tomohisa Takaoka
第四回関数型プログラミング(仮)の会

イベントソーシングがなぜ関数型と相性がよいのか、Greg Young の言葉とイベントソーシングの概念から説明します

Tomohisa Takaoka

March 24, 2023
Tweet

More Decks by Tomohisa Takaoka

Other Decks in Technology

Transcript

  1. View Slide

  2. ࣗݾ঺հ
    • CTO @ גࣜձࣾδΣΠςοΫδϟύϯ
    • ΧϦϑΥϧχΞभϩϯάϏʔνࡏॅ🥱
    • ϏδωεΞϓϦέʔγϣϯ։ൃ + iOS։ൃ
    • झຯɿࣗ࡞ΩʔϘʔυɺࣗ࡞τϥοΫϘʔϧ
    • ࠷ۙ͸C#ͰͷόοΫΤϯυ։ൃ
    • ΠϕϯτιʔγϯάϑϨʔϜϫʔΫ Sekiban ( C# + Azure Cosmos DB ) ։ൃத

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. ্ه͸SEKIBANΛ࢖༻ͯ͠ΠϕϯτιʔγϯάΛ࣮૷͢Δํ๏Ͱ͢ɻ
    ্هΛࢀߟʹͯ͠ɺҎԼͷू໿Λ࣮૷ͯ͠Լ͍͞ɻ
    γϣοϐϯάΧʔτͷू໿ ShoppingCart ͜ͷΫϥεʹShoppingCartId ͸ෆཁ
    Ͱ͢ɻ
    ҎԼͷίϚϯυ͓ΑͼίϚϯυϋϯυϥʔ
    - ΞΠςϜ௥Ճ
    - ΞΠςϜ࡟আ
    - ΫϨδοτΧʔυ௥Ճɹ
    - ൃૹઌॅॴ௥Ճ
    ֤ίϚϯυʹ͸ ShoppingCartId͕ඞཁͰ͢ɻ
    ্هʹඞཁͳΠϕϯτ΋ఆٛͯ͠Լ͍͞
    υϝΠϯґଘؔ܎Λઃఆͨ͠Ϋϥε΋࡞੒ͯ͠Լ͍͞
    ΞΠςϜ͸ ProductCodeΛΩʔͱͯ͠Լ͍͞
    ੥ٻॅॴʹ͸ҎԼͷ߲໨ΛؚΈ·͢
    - ༣ศ൪߸
    - ౎ಓ෎ݝ
    - ࢢ۠ொଜ
    - ࢢ۠ொଜҎ߱ͷॅॴ
    ϚϯγϣϯɺΞύʔτͳͲͷ໊લٴͼ෦԰൪߸
    ΫϨδοτΧʔυʹ͸ҎԼͷ৘ใ͕ඞཁͰ͢ɻ
    - ΫϨδοτΧʔυ൪߸
    - ༗ޮظݶɹ೥ɺ݄
    - CVV
    - ໊લ
    - ੥ٻઌॅॴ
    ੥ٻઌॅॴͱɺൃૹઌॅॴ͸ผͷrecordͱͯ͠ఆٛͯ͠Լ͍͞ɻ
    ౎ಓ෎ݝ͸೔ຊͷ̐̓౎ಓ෎ݝΛenumͰఆٛͯ͠࢖༻ͯ͠Լ͍͞ɻ
    ֤ίϚϯυʹର͢Δू໿ςετAggregateTestΛܧঝͯ͠ॻ͍ͯԼ͍͞ɻ
    Θ͔Βͳ͍͜ͱ͕͋ͬͨΒ࣭໰ͯ͠Լ͍͞ɻ
    ΫϨδοτΧʔυʹ͸ҎԼͷ৘ใ͕ඞཁͰ͢ɻ
    - ΫϨδοτΧʔυ൪߸
    - ༗ޮظݶɹ೥ɺ݄
    - CVV
    - ໊લ
    - ੥ٻઌॅॴ
    ੥ٻઌॅॴͱɺൃૹઌॅॴ͸ผͷrecordͱͯ͠ఆٛͯ͠Լ͍͞ɻ
    ౎ಓ෎ݝ͸೔ຊͷ̐̓౎ಓ෎ݝΛenumͰఆٛͯ͠࢖༻ͯ͠Լ͍͞ɻ
    ֤ίϚϯυʹର͢Δू໿ςετAggregateTestΛܧঝͯ͠ॻ͍ͯԼ͍͞ɻ
    Θ͔Βͳ͍͜ͱ͕͋ͬͨΒ࣭໰ͯ͠Լ͍͞ɻ
    GPT-4 ΁ͷίϚϯυ

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. The End.


    Questions?

    View Slide