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

ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Mode...

ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design

Object-Oriented Conference 2024 の登壇資料です。

suzushin54

March 24, 2024
Tweet

More Decks by suzushin54

Other Decks in Programming

Transcript

  1. 👨💻 whoami Intro • Shinichiro Mikami • ϕʔεϑʔυגࣜձࣾ 🍞 •

    γχΞιϑτ΢ΣΞΤϯδχΞ • ܦྺɿSIer -> ࣄۀձࣾ ਺ࣾ • Gopher ʕ◔ϖ◔ʔ 2 mikami.bsky.social suzushin54
  2. 🗣 ࠓճͷτʔΫʹ͍ͭͯ Intro • γεςϜ։ൃͷݱ৔ʹ͓͍ͯɺ“Ϟσϧ” ͕ᐆດʹѻΘΕ͍ͯΔͱײ͡Δ • ϞσϧΛద੾ʹઃܭɾ࣮૷͢Δ͜ͱ͸ɺڝ૪ྗͷݯઘͱͳΔ • ༗໊ͳઃܭݪଇ΍։ൃख๏ɺΑ͘ݟฉ͖͢ΔɻԿ΍Β͍͍΋ͷΒ͍͠

    • ຊ౰ʹͦ͏ͳͷ͔ʁΈΜͳෲམͪͯ͠࢖͍ͬͯΔͷͩΖ͏͔ʁ • ͦ͜Ͱ͜Ε·Ͱʹ௚໘ͨ͠Ϟσϧʹؔ͢Δ՝୊΍ΞϯνύλʔϯΛ֬ೝ • ໰୊ղܾʹ໾ཱͭϞσϧͱ͸ɺͲͷΑ͏ͳ΋ͷ͔ʁΛߟ࡯ • ࣄ৅ͷઆ໌΍ίʔυͷஅยͷ঺հʹཹΊΔ͜ͱͳ͘ɺ
 ͳͥෳࡶ͕ͭ͘͞ΒΕͯ͠·͏ͷ͔ɺܦҢ΍ྲྀΕͱڞʹݟ͍ͯ͘ 3
  3. 📝 Ϟσϧͱ͸ʁ Intro 7 https://www.agilealliance.org/resources/experience-reports/towards-autonomous-aligned-teams-with-domain-driven-design/ Ϟσϧͱ͸ɺ͋Δࣄ෺΍ݱ৅ͷ୯७Խ͞ΕͨදݱͰ͋Γɺ ҙਤతʹಛఆͷଆ໘Λڧௐ͠ɺଞͷଆ໘Λແࢹͨ͠΋ͷɻ ಛఆͷ༻్Λߟྀͨ͠ந৅Խɻ “A model

    is a simplified representation of a thing or phenomenon that intentionally emphasizes certain aspects while ignoring others. Abstraction with a specific use in mind.” - Rebecca Wires-Brock ※ ҙ༁ͨ͠΋ͷ ࢀߟ:ʰLearning Domain-Driven Designʱ
  4. ✅ Ϟσϧ͸ݱ࣮ੈքͷ෺ࣄ΍ࣄ৅ͷίϐʔͰ͸ͳ͍ Intro • ͢΂ͯͷϞσϧʹ͸ʮ໨తʯ͕͋Γɺͦͷୡ੒ʹඞཁͳ৘ใͷΈΛؚΉ • ຊ࣭తʹɺϞσϧԽ͸ந৅ԽͰ͋Δ • ෆඞཁͳࡉ෦͸লུͯ͠ɺ໰୊ղܾʹඞཁͳ΋ͷ͚ͩΛ࢒͢ •

    ʢOOP ͷΫϥεͷઆ໌ʹʮࣸ૾ʯͱ͍͏ݴ༿͕࢖ΘΕΔ͜ͱ͕͋Γɺ
 ɹ͜Ε͸ޡղΛট͘දݱͰ΋͋Δͱߟ͍͑ͯ·͢ʣ • ந৅Խͷ໨త͸ɺᐆດʹ͢Δ͜ͱͰ͸ͳ͍ • ͋Δ࣮ମΛ؆ུԽͯ͠ɺॏཁͰͳ͍ৄࡉΛলུͨ͠΋ͷ • ෳࡶͳ΋ͷʹ͍ͭͯߟ͑ͨΓૢ࡞ͨ͠Γ͢ΔͷΛ༰қʹ͢Δ 9
  5. υϝΠϯϞσϧ Ϟσϧʹ͍ͭͯ • ۀ຿υϝΠϯʹಛԽͨ͠ιϑτ΢ΣΞϞσϧͷ͜ͱ • ΦϒδΣΫτϞσϧͱ࣮ͯ͠૷͞ΕΔ͜ͱ͕ଟ͘ɺ
 ѻ͏σʔλ΍ৼΔ෣͍Λɺۀ຿తʹਖ਼֬ͳҙຯ߹͍Ͱอ࣋͢Δ 12 ࢀߟ:ʰ࣮ફυϝΠϯۦಈઃܭʱ -

    υϝΠϯϞσϧͱ͸ 👉 σʔλͷߏ଄΍ؔ܎ੑʹ஫໨ͨ͠σʔλϞσϧͱ͸ҟͳΓɺ
 γεςϜ͕ର৅ͱ͢Δ໰୊ྖҬͷ৘ใʹϑΥʔΧε͍ͯ͠Δ ந৅Խ͞ΕͨϞσϧ͕࣮૷͞Εͯ
 υϝΠϯΦϒδΣΫτͱͳΔ
  6. υϝΠϯΦϒδΣΫτ Ϟσϧʹ͍ͭͯ • όʔτϥϯυɾϝΠϠʔ͸ΦϒδΣΫτͷݪଇͱͯ͠ɺ
 ʮ͢΂ͯͷΦϒδΣΫτ͸ԿΒ͔ͷΫϥεͷΠϯελϯεͰ͋Δɻʯͱ ఆ͍ٛͯ͠Δ ※ Go ݴޠͳͲ͸Ϋϥεߏ଄Λ࣋ͨͳ͍͕ɺҟͳΔํ๏Ͱ OOP

    Λ࣮ݱ͍ͯ͠ΔͨΊɺ͜͜Ͱ͸࿦͡ͳ͍ • DTO ͷΑ͏ʹ୯ʹσʔλΛอ࣋͢Δ͚ͩͰͳ͘ɺͦͷσʔλʹؔ࿈͢ ΔৼΔ෣͍ʢϝιουɾؔ਺ʣ΋߹Θͤͯ࣋ͭʢந৅σʔλܕʣ 13 ࢀߟ:ʰΦϒδΣΫτࢦ޲ೖ໳ ୈ2൛ ݪଇɾίϯηϓτʱ 👉 ΦϒδΣΫτࢦ޲ϓϩάϥϛϯάͷಛੑΛ׆͔ͨ͠ϓϥΫςΟε
 ͔͠͠ɺ։ൃͷݱ৔ʹ͓͍ͯ͸ᐆດʹଊ͑ΒΕΔ͜ͱ΋ଟ͍
  7. σʔλϞσϧͱυϝΠϯϞσϧͷҧ͍͕ᐆດʹͳΔݪҼͷߟ࡯ Ϟσϧʹ͍ͭͯ 1. DB ઃܭ͔Β࢝ΊΔ։ൃΞϓϩʔν • DB ઃܭΛߦ͍ɺσʔλΛ֨ೲ͠ɺͦΕΛѻ͏࣮૷Λͯ͠͠·͏ 2. ORMͷར༻ʢ

    ※ Active Record ύλʔϯʣ • DB ͷϨίʔυΛϥοϓͨ͠ΦϒδΣΫτ͸DB ΞΫηεͱυϝΠϯϩδοΫΛ࣋ͭ 3. εΩʔϚۦಈ։ൃͷҰൠԽͷӨڹ • Ϧιʔεʹର͢ΔCRUD ૢ࡞͕ڧௐ͞ΕɺΑΓσʔλʹҙ͕ࣝҾ͖دͤΒΕΔ
 ʢϦιʔεࢤ޲Ͱ͋Δ REST API ͸ಛʹݦஶʣ 4. ։ൃऀͷυϝΠϯ஌ࣝෆ଍ • Ϗδωεϧʔϧ΍ۀ຿্ൃੜ͢ΔΠϕϯτΛ෼ੳͰ͖͍ͯͳ͍ͨΊɺ
 طʹݟ͍͑ͯΔϦιʔεҎ֎ͷϞσϧΛఆٛͰ͖ͳ͍ • ͜͜·ͰͰΠϯλʔϑΣΠε͕ݻ·͓ͬͯΓɺͦΕͰ΋࣮૷Ͱ͖ͯ͠·͏ 14 ※ https://www.martinfowler.com/eaaCatalog/activeRecord.html
  8. ECαΠτ: OOC Shop Online ͷ։ൃ EC αΠτͷ۩ମྫ • Սۭͷձࣾ OOC

    inc. Ͱ͸ɺECαΠτΛ։ઃ͢Δ͜ͱʹɻ • ωοτγϣοϓͷ࡞੒αʔϏεΛ࢖͏Ҋ΋͕͋ͬͨɺ
 ΧελϚΠζੑΛٻΊͯ಺੡։ൃΛܾஅ • PjM ͱϑϩϯτΤϯυΤϯδχΞ, 
 όοΫΤϯυΤϯδχΞͷ3ਓͰ։ൃΛ։࢝ 17
  9. ٕज़ελοΫͱΞʔΩςΫνϟ EC αΠτͷ۩ମྫ • C#, ASP.NET • REST API •

    Layered Architecture • Repository pattern (DIP) • RDB 18 Controller ApplicationService Domain Infrastructure DB
  10. ⚡ Ӣߦ͖͕ո͘͠ͳͬͯͨ EC αΠτͷ۩ମྫ • ECαΠτͷੑೳྼԽ͕ݦஶʹɻCore Web Vitals ͷείΞ΋௿ௐ •

    ػೳ௥Ճͷ଎౓΋མ͖ͪͯͯɺڝ߹ଞࣾͱൺ΂ͯ΋ػೳམ͕ͪ໨ཱͭ • ίʔυ΍ϩδοΫ͕ෳࡶԽ͠ɺΤϯδχΞ͔Β΋ٕज़తෛ࠴ͷ੠͕ • ͦΜͳ࣌ɺෆ۩߹͕ݪҼͱͳΓ SNS ͰԌ্͢Δࣄ͕݅ൃੜ 🔥 • νʔϜ͸Ұ౓ཱͪࢭ·Γɺઃܭ΍࣮૷Λݟ௚͢͜ͱʹͨ͠🕵 23
  11. αϒυϝΠϯͷൃݟͱཧղ վળͷಓے 26 Ϧʔυ֫ಘࢪࡦ EC system ஫จ ঎඼Χλϩά ίϯςϯπ؅ཧ ސ٬؅ཧ

    ࡏݿ؅ཧ 👨💻 👩💻 🧑💻 👩🏭 Ϛʔέ ஫จ 👤 ސ٬ ঎඼ݟΔ Ωϟϯϖʔϯ Ϋʔϙϯ ΤϯδχΞ ӡ༻อक ΧελϚʔ αϙʔτ αϓϥΠ νΣʔϯ ࡏݿ؅ཧ ঎඼ൃૹ αϙʔτ • γεςϜͰ͸ͳ͘ɺϏδωεͷ؍఺͔Β෼ੳ͠௚ͨ͠ • ௚઀ૢ࡞͢ΔҎ֎ʹ΋ɺ࣮ࡍʹ͸ଟ͘ͷࣄۀ׆ಈྖҬ͕ଘࡏ͢Δ͜ͱʹؾͮ͘ ϩόετωε෼ੳ,
 Πϕϯτετʔϛϯά …etc
  12. αϒυϝΠϯʹରԠ͢Δڥք͚ͮΒΕͨίϯςΩετͷઃܭ վળͷಓے 27 Ϧʔυ֫ಘࢪࡦ EC system ஫จ ঎඼Χλϩά ίϯςϯπ؅ཧ ސ٬؅ཧ

    ࡏݿ؅ཧ 👨💻 👩💻 🧑💻 👩🏭 Ϛʔέ ஫จ 👤 ސ٬ ঎඼ݟΔ Ωϟϯϖʔϯ Ϋʔϙϯ ΤϯδχΞ ӡ༻อक ΧελϚʔ αϙʔτ αϓϥΠ νΣʔϯ ࡏݿ؅ཧ ঎඼ൃૹ αϙʔτ • ࣄۀ׆ಈྖҬʹରԠ͢ΔܗͰαϒγεςϜΛݕ౼ • ࠓճ͸׬શʹ 1:1 ͰରԠ͢ΔΑ͏ʹ Ordering context Catalog context Inventory context Support context CMS context
  13. ໾ׂ݉຿ͷ Product Ϟσϧ վળͷಓے • ࠶ઃܭޙʹվΊͯݟΔͱɺ
 จ຺ͷࠞࡏΛೝࣝͰ͖ͨ • ෳ਺ͷ੹຿Λ࣋ͬͨ͜ͱͰɺ
 Fat

    Model ʹͳͬͯ͠·͍ͬͯͨ 28 👈 Inventory EC system Product 👈 Catalog 👈 Ordering 😵💫
  14. վળޙͷ Product Ϟσϧ վળͷಓے 29 EC system Ordering context Catalog

    context Inventory context Support context CMS context Product • Catalog context ͱͯ͠ඞཁͳ
 ଐੑɾৼΔ෣͍ʹݶఆ
  15. Ordering context ઐ༻ͷϞσϧ վળͷಓے 30 EC system Ordering context Catalog

    context Inventory context Support context CMS context OrderProduct Product • αϓϥΠνΣʔϯͷ୲౰ऀ͸ʮ஫จ঎඼ʯͱݺΜͰ͍ͨ • OrderProduct ͱͯ͠ఆٛͨ͠ • ໾ׂ͕໌֬ʹ͢Δ͜ͱͰݟ௨͕͠
 ྑ͘ͳΓɺςετ༰қੑ΋޲্
  16. վળલͷ Customer Ϟσϧ վળͷಓے • SNS Ԍ্ࣄ݅ͷݪҼ͸ɺαϙʔτͷϝϞ͕ސ٬ͷϚΠϖʔδͰ
 ϒϥ΢βͷ։ൃऀπʔϧʹදࣔ͞Εͯ͠·͍ͬͯͨ͜ͱͱ൑໌ • 1ͭͷڥք෇͚ΒΕͨίϯςΩετ͓ΑͼυϝΠϯϞσϧΛෳ਺νʔϜ͕ϝϯς͍ͯͨ͠

    31 👤 ސ٬ 🧑💻 ΧελϚʔ αϙʔτ ໰߹͕ͤଟ͍ސ٬Λ ʮཁ஫ҙ٬ʯͱϝϞ { "mypage": { "customer": { "name": "John Doe", "email": "jogndoe@example.com", "address": "123 Main Street, Anytown, CA", "orders": null, "rank": 3, "memo": "ཁ஫ҙ٬", "inquiryCount": 13, "lastLogin": "2024-03-23T18:40:58" } 😡 API ͸શͯͷ߲໨Λฦ͍ͯͨ͠
  17. ReadModel ͷಋೖʢCQRSʣ վળͷಓے 32 • ސ٬ͷϚΠϖʔδʹඞཁͳ৘ใͷΈ Λอ࣋ͨ͠ ReadModel Λઃܭͨ͠ •

    ϦʔυϞσϧͷ৚݅ • QueryMethodͷΈΛ࣋ͭ
 (ΠϛϡʔλϒϧͰ͋Δ) • ͋ΔϢʔεέʔεʹಛԽ͍ͯ͠Δ • ඞཁͳσʔλ͕ΦϒδΣΫτऔಘ࣌ ʹར༻ՄೳͰ͋Δ͜ͱ Controller Domain Infrastructure Customer ApplicationService Customer MyPage ࢀߟɿʰΦϒδΣΫτઃܭελΠϧΨΠυʱ
  18. 33 ReadModel ͷಋೖʢCQRSʣ վળͷಓے ϚΠϖʔδදࣔʹ ඞཁͳσʔλͷΈ Customer Ϟσϧ CustomerMyPage Ϟσϧ

    • දࣔͷͨΊ͚ͩͷଐੑ΍ৼΔ෣͍ΛυϝΠϯϞσϧ͔ΒऔΓআ͘͜ ͱ͕Ͱ͖ɺ͞Βʹݟ௨͕͠ྑ͘ͳͬͨ ૯஫จճ਺ͳͲಋग़͍ͯͨ͠ ৘ใ΋࠷ॳ͔Β࣋ͨͤΔ
  19. ઓज़తϓϩάϥϛϯάͱ͸ͲͷΑ͏ͳ΋ͷ͔ ઓज़తϓϩάϥϛϯά • ػೳΛಈ࡞ͤ͞Δ͜ͱʹয఺Λ౰ͯͨϓϩάϥϛϯάͷ͜ͱ • ʮԿΛղܾ͍ͨ͠ͷ͔ʯͰ͸ͳ͘ɺ
 ʮͲ͏͢Ε͹࣮ݱͰ͖Δͷ͔ʯͱߟ͑ͯ͠·͏ • طʹ͋ΔϦιʔεΛݩʹԿͱ͔͠Α͏ͱ͢Δ܏޲ •

    ٕज़తͳղܾํ๏΁ͷؔ৺΋ҰҼ • ʮఆظόονͰಉظ͢Δඞཁ͕͋ΔͷͰ͸…ʯ🤔 36 ࢀߟ: ʰA Philosophy of Software Designʱ 👉 ઓज़తϓϩάϥϛϯάͷੵΈॏͶ͕ෳࡶ͞ΛੜΉ
  20. ઓज़తϓϩάϥϛϯάͷྫ 1 - খن໛ͷվम ઓज़తϓϩάϥϛϯά • ཁ݅ɿ৽঎඼ΛఆՁͷ10%Ҿ͖Ͱൢച͠·͢ • ΤϯδχΞɿ •

    Product ʹ IsNewRelease ϑϥάΛ͚ͭͯɺtrue ͩͬͨΒׂҾ͠Α͏ • Products ςʔϒϧʹΧϥϜΛ௥Ճͯ͠ • Product Ϟσϧʹ΋ bool ͷϓϩύςΟΛ௥Ճ͢Ε͹ OK 37
  21. ઓज़తϓϩάϥϛϯάͷྫ 2 - ػೳ௥Ճ ઓज़తϓϩάϥϛϯά • ཁ݅ɿ঎඼ͷϨϏϡʔػೳΛ௥Ճ͠·͢ • ΤϯδχΞɿ •

    ProductReviews ςʔϒϧΛ࡞Ζ͏ • ProductId Λ֎෦Ωʔͱͯ࣋ͬͯ͠ඥ͚ͮΔ • Product Ϟσϧʹ Reviews ഑ྻΛ௥Ճͯ࣋ͨͤ͠Ε͹͍͍ 38
  22. ઓུతϓϩάϥϛϯάͷྫ 1 - খن໛ͷվम ઓུతϓϩάϥϛϯά 43 • ཁ݅ɿ৽঎඼ΛఆՁͷ10%Ҿ͖Ͱൢച͠·͢ • ϚʔέςΟϯάνʔϜʹΑΔͱɺࠓޙ΋༷ʑͳΩϟϯϖʔϯΛల։͍ͨ͠Β͍͠

    • ͢ͰʹܭըࡁΈͷ΋ͷ΍ɺۀքͰҰൠతͳΩϟϯϖʔϯʹ͍ͭͯݕ౼ͨ͠ • ஋ׂҾΛ؅ཧ͢Δ࢓૊ΈΛઃܭͯ͠ɺͦͷϩδοΫΛผ్࣮૷͢Δ • ஫จͷλΠϛϯάͰΩϟϯϖʔϯΛద༻ͯ͠ɺׂҾΛ࣮ݱ͢Δ • ͦͷޙɺΞ΢τϨοτ඼Λ30%Ҿ͖Ͱൢച͢Δࡍ΋গ͠ͷվमͰ࣮ݱͰ͖ͨ ੜ੒ AI Λ࢖͏৔߹΋
 ઃܭίϯηϓτΛ఻͑ͯนଧͪʹ
  23. ઓུతϓϩάϥϛϯάͷྫ 2 - ػೳ௥Ճ ઓུతϓϩάϥϛϯά • ཁ݅ɿ঎඼ͷϨϏϡʔػೳΛ௥Ճ͠·͢ • Review ϞσϧΛఆٛͯ͠ɺѻ͏Α͏ʹͨ͠

    • ਓؾ঎඼͸େྔͷϨϏϡʔ͕͋ͬͯ঎඼ද͕ࣔ஗͘ͳΔ͜ͱ͕
 ݒ೦͞Ε͕ͨɺಠཱͯ͠ѻ͑ͨͨΊ஗ԆಡΈࠐΈ͢Δ͜ͱ͕Ͱ͖ͨ • ݸʑͷϨϏϡʔʹରͯ͠΋ෆద੾ͳ಺༰ΛϑΟϧλϦϯά͢ΔͳͲɺ
 αϙʔτνʔϜ͔Βͷཁ๬ʹ΋ૉૣ͘Ԡ͑Δ͜ͱ͕Ͱ͖ͨ 44
  24. ઓज़తϓϩάϥϛϯά͸ѱ͔ʁ ઓज़తϓϩάϥϛϯάͱઓུతϓϩάϥϛϯά ϦεΫड༰ͯ͠બ୒͢Δ৔߹΋͋ΔʢͦΕ͕ྑ͍ͱ͸ݴ͍ͬͯͳ͍ʣ 1. ڝ߹ΑΓ΋ઌʹࢢ৔΁αʔϏεΛ౤ೖ͍ͨ͠ 💨 2. PoC ͱͯ͠ͷ࣮૷Ͱ͋Γɺ࣮֬ʹ࢖͍ࣺͯͷίʔυͰ͋Δ •

    ʢԟʑʹͯͦ͠ͷ··ϩʔϯν͞ΕΔͱ͍͏࿩͸͋Δ🙉 ʣ 3. Hot fi x 🚑 45 ࢀߟ: ʰA Philosophy of Software Designʱ ͕࣌ؒܦͭʹͭΕɺઓུతΞϓϩʔνͷਐḿ͕ٯస͢Δ
  25. υϝΠϯϑΝʔετͱ͸ ·ͱΊ • ٕज़తͳ՝୊΍DBઃܭΑΓ΋ઌʹɺղܾ͍ͨ͠໰୊ྖҬʢυϝΠϯʣͱͦ ͷෳࡶੑʹֶ͍ͭͯͼɺͦͷ஌ࣝΛத৺ʹઃܭ͢ΔΞϓϩʔν • αϒυϝΠϯΛ෼ੳͯ͠ɺڥք෇͚ΒΕͨίϯςΩετΛઃܭ͢Δ • ͦͷதͰར༻͢ΔυϝΠϯϞσϧΛઃܭ͢Δ •

    ద੾ͳۀ຿ཧղͷޙʹɺΑΓྑ͍ઃܭ͕ՄೳʹͳΔʢ՝୊ͷղ૾౓Λ্͛Δʣ • શ͘ҟͳΔઃܭʹͳΔ͜ͱ͑͋͞Δ • DDD ͷઓज़తઃܭͷϓϥΫςΟεͷΈΛઌʹಋೖ͢Δέʔε͸… • ੔ཧ΍ந৅΁ͷґଘɺִ཭ͳͲɺݟ௨͠ΛΑ͘͢Δҙຯ͸͋Δ • ෆ۩߹ΛੜΈग़͢γεςϜɺϞσϧʹͳΔϦεΫΛΑΓଟ๊͑͘Δ 49
  26. ͍͞͝ʹ ·ͱΊ • AI͕ίʔυΛಡΜͰɺॻ͍ͯɺϨϏϡʔ·Ͱ͢Δ࣌୅ɻࢲ͕ͨͪશͯΛख ͰରԠ͢Δػձ͸ݮ͖ͬͯ·ͨ͠ɻ͜ͷઌ΋ͬͱݮΔͰ͠ΐ͏ɻ • ࠓճͷྫͷΑ͏ʹɺAI ʹطଘͷϦιʔεΛఏڙͯ͠ɺ͜͏͍ͬͨ໰୊Λ ղܾ͍ͨ͠ͱ఻͑Δͱɺଟ͘ͷ৔߹ʹઓज़తϓϩάϥϛϯάΛ࢝Ί·͢ •

    ࣮ࡍʹಈ࡞͢Δ΋ͷͷɺͬͪ͜ΛཱͯΔͱཱ͕͋ͬͪͨͣɺόάΛ௵ͯ͠ ΋·ͨผͷՕॴͰόάΔɺͱ͍ͬͨঢ়گʹͳΓ͕ͪͰ͢ɻݱ࣌఺Ͱ͸ɻ • ࢲ͕ͨͪυϝΠϯΛ෼ੳͯ͠ɺઃܭ͢Ε͹ɺ΋ͬͱ AI Λ׆༻Ͱ͖·͢ • AI ͱγεςϜΛ࡞Δ࣌ɺԿΛղܾ͍ͨ͠ͷ͔Λؾʹͯ͠Έ͍ͯͩ͘͞ 50