');mask-size:cover;white-space:pre-wrap}div#\:\$p > svg > foreignObject > :where(section):not([\20 root])::after{--marpit-root-font-size: 24px;}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).title{display:flex;flex-direction:column;justify-content:center;background:var(--color-main);color:white;font-size:42px;text-align:center}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).title{--marpit-root-font-size: 42px;}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).title::before{position:absolute;right:0px;bottom:0px;width:253px;height:89.125px;background:no-repeat url('../themes/assets/images/cc_by.svg');background-size:contain;content:''}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).title::after{display:none}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading{display:flex;flex-direction:column;justify-content:center;text-align:center}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading :is(h2, marp-h2){color:var(--color-main);font-size:100px}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading--color_inverted{background:var(--color-main);color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading--color_inverted::after{background:none}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading--color_inverted :is(h2, marp-h2){color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body{padding:0 133px 0}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body :is(h2, marp-h2){margin:125px 0 100px;color:var(--color-main);font-size:66px}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--references{font-size:32px}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--references{--marpit-root-font-size: 32px;}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--references ol li{margin-bottom:calc(var(--marpit-root-font-size, 1rem) * 0.3);word-break:break-all}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--color_inverted{background:var(--color-main);color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--color_inverted :is(h2, marp-h2){color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).heading_and_body--color_inverted::after{background:none}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen{display:flex;flex-direction:column;justify-content:center;padding-top:calc(50px * 1.5)}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen :is(h2, marp-h2), div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen :is(h2, marp-h2) a{color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen :is(h2, marp-h2){position:absolute;top:0;width:100%;height:calc(50px * 1.5);margin-top:0px;background:var(--color-sub);font-size:50px;text-align:center}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen--source_code{background-color:var(--color-code-block)}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen--source_code code{color:#f8f8f2}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).full_screen--source_code :is(pre, marp-pre){padding:0 133px 0}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).colored_footer::after{background:none}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).colored_footer.full_screen{padding-bottom:calc( 32px * 1.5 + 5px * 2 )}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).colored_footer footer, div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).colored_footer footer a{color:white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).colored_footer footer{background:var(--color-sub)}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]).ol-style-alpha ol{list-style-type:upper-alpha}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon{position:relative;display:block;width:fit-content;padding:20px;border:solid 3px;border-radius:10px;background-color:#fff;font-size:38px}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) div#\:\$p > svg > foreignObject > section section.balloon{--marpit-root-font-size: 38px;}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) [class*='balloon-']::before, div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) [class*='balloon-']::after{position:absolute;border-style:solid;content:''}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) [class*='balloon-']::before{z-index:2}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) [class*='balloon-']::after{z-index:1}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--top::before{bottom:calc(100% - 1px);left:calc(50% - 20px);border-width:0px calc(40px / 2) 40px calc(40px / 2);border-color:transparent transparent white transparent}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--top::after{bottom:100%;left:calc(50% - (40px / 2 + 3px));border-width:0px calc(40px / 2 + 3px) calc(40px + 3px * 2) calc(40px / 2 + 3px);border-color:transparent transparent black transparent}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--right::before{top:calc(50% - 20px);left:calc(100% - 1px);border-width:calc(40px / 2) 0px calc(40px / 2) 40px;border-color:transparent transparent transparent white}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--right::after{top:calc(50% - (40px / 2 + 3px));left:100%;border-width:calc(40px / 2 + 3px) 0px calc(40px / 2 + 3px) calc(40px + 3px * 2);border-color:transparent transparent transparent black}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--bottom::before{top:calc(100% - 1px);left:calc(50% - 20px);border-width:40px calc(40px / 2) 0px calc(40px / 2);border-color:white transparent transparent transparent}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--bottom::after{top:100%;left:calc(50% - (40px / 2 + 3px));border-width:calc(40px + 3px * 2) calc(40px / 2 + 3px) 0px calc(40px / 2 + 3px);border-color:black transparent transparent transparent}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--left::before{top:calc(50% - 20px);right:calc(100% - 1px);border-width:calc(40px / 2) 40px calc(40px / 2) 0px;border-color:transparent white transparent transparent}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]) .balloon--left::after{top:calc(50% - (40px / 2 + 3px));right:100%;border-width:calc(40px / 2 + 3px) calc(40px + 3px * 2) calc(40px / 2 + 3px) 0px;border-color:transparent black transparent transparent}div#\:\$p > svg > foreignObject > :where(section){container-type:size}div#\:\$p > svg > foreignObject > section img[data-marp-twemoji]{background:transparent;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}@font-face {font-display:swap;font-family:"Cal Sans";font-weight:bold;src:url("../themes/assets/fonts/CalSans-SemiBold.woff2") format("woff2");unicode-range:U+0000-007f, U+00AE, U+2248, U+201C, U+201D}@font-face {font-display:swap;font-family:"Inter";src:url("../themes/assets/fonts/Inter-Light.woff2") format("woff2");unicode-range:U+0000-007f, U+00AE}@font-face {font-display:swap;font-family:"Inter";font-style:italic;src:url("../themes/assets/fonts/Inter-LightItalic.woff2") format("woff2");unicode-range:U+0000-007f}div#\:\$p > svg > foreignObject > :where(section):not([\20 root]){--color-main: rgb(9, 9, 11);--color-sub: rgb(94, 36, 221);--color-pagination-block: var(--color-main);--color-code-block: #0d1117;--font-family-body-normal: 'Inter';--font-family-body-strong: 'Cal Sans';}div#\:\$p > svg > foreignObject > section :not(:is(pre, marp-pre)) code{padding:0.2em 0.3em;border-radius:0.3em;background-color:rgb(175 184 193 / 20%);white-space:break-spaces}div#\:\$p > svg > foreignObject > section :is(h2, marp-h2) code{font-size:calc(var(--marpit-root-font-size, 1rem) * 1.2)}div#\:\$p > svg > foreignObject > section :not(:is(pre, marp-pre), :is(h2, marp-h2)) code{font-size:calc(var(--marpit-root-font-size, 1rem) * 0.85)}div#\:\$p > svg > foreignObject > section.heading_and_body{display:flex;flex-direction:column;justify-content:center}div#\:\$p > svg > foreignObject > section.heading_and_body > :is(h2, marp-h2){flex:1 0 auto;padding:0;margin:0;order:-999999}div#\:\$p > svg > foreignObject > section.heading_and_body:has(> :is(h2, marp-h2))::before{flex:5 0 auto;display:block;content:'';order:999999}div#\:\$p > svg > foreignObject > section[data-marpit-scope-3sow2wjX] ul{list-style-type:none;padding-left:0}div#\:\$p > svg > foreignObject > section[data-marpit-scope-3sow2wjX] :is(span, marp-span){margin-left:calc(var(--marpit-root-font-size, 1rem) * 0.5);margin-right:calc(var(--marpit-root-font-size, 1rem) * 0.5)}div#\:\$p > svg > foreignObject > section[data-marpit-scope-3sow2wjX] .img--circle{border-radius:50%;object-fit:cover}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Kk9hwBIp] ul{list-style-type:none;padding-left:0}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Kk9hwBIp] :is(span, marp-span){margin-left:calc(var(--marpit-root-font-size, 1rem) * 0.5);margin-right:calc(var(--marpit-root-font-size, 1rem) * 0.5)}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Kk9hwBIp] .img--circle{border-radius:50%;object-fit:cover}div#\:\$p > svg > foreignObject > section[data-marpit-scope-Df9A6TJh]{background-color:var(--color-sub)!important}div#\:\$p > svg > foreignObject > section[data-marpit-scope-uNgWNH4q]{background-color:var(--color-sub)!important}div#\:\$p > svg > foreignObject > section[data-marpit-scope-9vhEbxFf]{background-color:var(--color-sub)!important}div#\:\$p > svg > foreignObject > section[data-marpit-scope-ZomgofaR] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-lsi317Tn] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-rgM2LOFD] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-HrgZMW8x] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-DqPqwZmO] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-nVbgvlZs] code{font-size:34px}div#\:\$p > svg > foreignObject > section[data-marpit-scope-QGZqUReK]{background-color:var(--color-sub)!important}div#\:\$p > svg > foreignObject > section[data-marpit-scope-AEnhBrOH] footer{color:#8b949e}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"]::after, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::before, div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"]::after{display:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction="vertical"]{flex-direction:column}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split] > div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split, 50%)}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split="right"] > div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="background"] > div[data-marpit-advanced-background-container] > figure > figcaption{position:absolute;border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="content"], div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"]{background:transparent!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background="pseudo"], div#\:\$p > svg[data-marpit-svg] > foreignObject[data-marpit-advanced-background="pseudo"]{pointer-events:none!important}div#\:\$p > svg > foreignObject > section[data-marpit-advanced-background-split]{width:100%;height:100%}
Effect Schemaによる型安全な軽量DDDの実践
https://excalidraw.com/#json=qil3vXGPlmguecb7M6LLr,UQqg9IGYkMVWjQ4f-eh_Pw
https://excalidraw.com/#json=C6JJ9MemngR6ZO_DSbAKT,cJsRzp1D3zkYiLS5qchqPA
https://excalidraw.com/#json=nPaiW1QZx_q0oMQ5MuNPC,xf5oBAm6YPXJbHk4iq23fw