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. ࣗݾ঺հ • CTO @ גࣜձࣾδΣΠςοΫδϟύϯ • ΧϦϑΥϧχΞभϩϯάϏʔνࡏॅ🥱 • ϏδωεΞϓϦέʔγϣϯ։ൃ +

    iOS։ൃ • झຯɿࣗ࡞ΩʔϘʔυɺࣗ࡞τϥοΫϘʔϧ • ࠷ۙ͸C#ͰͷόοΫΤϯυ։ൃ • ΠϕϯτιʔγϯάϑϨʔϜϫʔΫ Sekiban ( C# + Azure Cosmos DB ) ։ൃத
  2. ্ه͸SEKIBANΛ࢖༻ͯ͠ΠϕϯτιʔγϯάΛ࣮૷͢Δํ๏Ͱ͢ɻ ্هΛࢀߟʹͯ͠ɺҎԼͷू໿Λ࣮૷ͯ͠Լ͍͞ɻ γϣοϐϯάΧʔτͷू໿ ShoppingCart ͜ͷΫϥεʹShoppingCartId ͸ෆཁ Ͱ͢ɻ ҎԼͷίϚϯυ͓ΑͼίϚϯυϋϯυϥʔ - ΞΠςϜ௥Ճ

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