NINNO Tech Fest #2 データの可視化とGraphQLを学ぶモチベーション
NINNO Tech Fest #22021.10.22 גࣜձࣾKUNO ԼതوσʔλͷՄࢹԽͱGraphQLΛֶͿϞνϕʔγϣϯ
View Slide
Self IntroductionHiroki.KinoshitaגࣜձࣾKUNOਂֶशͱΫϥυΛۦ͢ΔDXاۀFront Engineer / DesignerPeacock Engineer Group ( PEG )OrganizerTwitter: @kinocoboy2
ͳͥσʔλΛՄࢹԽΛ͢Δͷ͔
݁ɺϝϦοτ͕ଟ͍͔ΒσʔλͷՄࢹԽΛ͢Δ͜ͱͷϝϦοτᶃ ؾ͚ͮΔᶄ அͰ͖Δᶅ Ԡ༻Ͱ͖Δᶆ etc…
σʔλͷՄࢹԽΛߦ͏ͨΊʹେࣄͳ͜ͱᶃ Ӿཡऀͷχʔζʹ߹Θͤͯ࡞͢ΔӾཡऀ͕ݟͯΘ͔Βͳ͍ใաଟͰٯʹࠞཚΛট͘ᶄ σʔλͷҙຯΛਂ͘ཧղ͢ΔͳΜͷҙຯΛ࣋ͭࢦඪͳͷ͔Λ͔ͬ͠ΓѲ͢Δඞཁ͕͋ΔؒҧͬͨσʔλΛूΊͯ͠·͏ɾҙຯΛؒҧ͑Δ
Ձ͋ΔՄࢹԽΛ͢ΔͨΊʹᶃ ࣮ݱ͍ͨ͠ͷͷݴޠԽΛపఈతʹߦ͏υϝΠϯۦಈઃܭϢʔβʔετʔϦʔϚοϐϯάɺϞσϦϯάͳͲ৭ʑʹͳΔͷ͕ଟ͘ͳ͍ͬͯΔɻᶄ ͱʹ͔͘ࢼߦࡨޡ͠࠷దղΛಈ͖ͳ͕Βݟ͚ͭΔέʔε͕ଟ͍ᶅ ํసͨΓલͷΑ͏ʹى͖Δͷ👆 ͜Ε͕ͱʹ͔͘Τά͍
ΫϥΠΞϯτ։ൃ͕ਏ͗͢Δ
RestAPI
REST API ͩͱɺͳͥΫϥΠΞϯτ͕ਏ͍͔ᶃ API ଆͷ ΠϯλʔϑΣʔε ͕ ֓೦ͷมԽʹΑͬͯॊೈʹมಈ͢ΔΠϯλʔϑΣʔε ͕มԽ͢ΔͨͼʹɺΫϥΠΞϯτଆͷ࣮͕ൃੜΠϯλʔϑΣʔε͕ఏڙ͞ΕΔ·ͰɺΫϥΠΞϯτԿͰ͖ͳ͍ᶄ ϑϩϯτଆͷ ը໘෦ ͷ߲Ճ͋ΔΠϯλʔϑΣʔεमਖ਼ґཔΛ͢Δඞཁ͕͋ΔΫϥΠΞϯτ͚ͩͰ߲Ճ͕݁͠ͳ͍
GraphQL
GraphQL ͱͬ͘͟Γݴ͏ͱᶃ GraphQL ΫϥΠΞϯτ͕ඞཁͳσʔλΛ API ͔ΒϑΣον͢ΔͨΊʹ ઃܭ͞Εͨݴޠᶄ GraphQL Λ༻͢ΔͱɺΫϥΠΞϯτ όοΫΤϯυ API ͔Β ඞཁͳσʔλͷܕͱγΣΠϓΛऔಘՄೳᶅ GraphQL ͰɺͲΜͳλΠϓͷϦΫΤετͰɺ ΫϥΠΞϯτ ΞϓϦέʔγϣϯ͕ݺͼग़͢ΤϯυϙΠϯτ 1 ͚ͭͩᶆ GraphQL SQL ͱΑ͘ࣅ͍ͯ·͕͢ɺϑϩϯτΤϯυͰػೳ͢Δ
GraphQL ͱతʹ͍͏ͱɺΫϥΠΞϯτ։ൃ ͱ όοΫΤϯυ։ൃͷΛతͱ͍ͯ͠ΔɻΤϯυϙΠϯτ͕̍ͭఏڙ͞ΕΕɺΫϥΠΞϯτଆ͕ཉ͍͠ใΛࣗ༝ʹҾ͖ग़͠ͳ͕Β։ൃ͢Δ͜ͱ͕ՄೳɻSQLΛΫϥΠΞϯτଆ͕ॻ͍ͯɺόοΫΤϯυʹ࣮ߦͤ͞ΔΠϝʔδ
·ͱΊᶃ ΤϯδχΞೲΛσϦόϦʔ͢ΔͷͰͳ͘ɺೲͰಘΒΕΔՁΛσϦόϦʔ͢ΔଘࡏʹͳΔᶄ ՁΛσϦόϦʔ͢Δ߹ɺDDDϞσϦϯάɺϢʔβʔετʔϦʔϚοϐϯάͳͲͷతۦಈઃܭ͕ඞཁʹͳͬͯ͘Δɻᶅ తۦಈઃܭͷ߹ɺैདྷͷRestAPI ͱ ΫϥΠΞϯτͷΈ߹ΘͤͩͱΫϥΠΞϯτ։ൃ͕ਏ͍ɻ(ࡾॏ;Γ͜ʣᶆ ͦͷͨΊʹɺΫϥΠΞϯτͱRestAPIΛͰ͖Δ GraphQL తۦಈઃܭʹ༗ޮɻᶇ ࢼߦࡨޡͰ͖ΔͷͰɺσʔλΛϢʔβʔͷχʔζʹ߹ΘͤͯՄࢹԽͰ͖ΔΑ͏ʹͳΔɻ
GraphQLɺ͋Γ͔ͳʔ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠