Slide 1

Slide 1 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 1 GraphQLαʔόʔ Λ࡞ͬͯຯΘͬͨ ఱࠃͱ஍ࠈ גࣜձࣾϏσΦϚʔέοτ ૣࡔ ྋ Kotlin Fest 2019 2019/08/24

Slide 2

Slide 2 text

2 ϓϩϑΟʔϧ ɾגࣜձࣾϏσΦϚʔέοτͷαʔόʔαΠυΤϯδχΞ ɾKotlinͱGraphQLΛ࢖ͬͨAPIΛઈࢍ։ൃதʢ9্݄०ʹ ฐࣾVODαʔϏεͷiOSΞϓϦΛϦχϡʔΞϧ༧ఆʣ ɾϚονϯάΞϓϦͰ஌Γ߹ͬͨ൴ঁͱ࠷ۙผΕͯই৺த Kotlin Java Go PHP Ryo Hayasaka @hayaboytech

Slide 3

Slide 3 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 3 GraphQLͱKotlinΛϓϩμΫτʹ࠾༻ͨ͠ཧ༝ ͸ͳ͢͜ͱ ఱࠃΈʢ3ͭʣ ஍ࠈΈʢ2ͭʣ

Slide 4

Slide 4 text

4 GraphQLͱKotlinΛϓϩμΫτʹ࠾༻ͨ͠ཧ༝ APIʹਫ਼௨͍ͯ͠ͳ͍ਓͰ΋؆୯ʹૢ࡞Մೳ ΫϥΠΞϯτπʔϧ͔Β௚ײతʹૢ࡞ GraphQLΫϥΠΞϯτͰӾཡͰ͖Δ = ࢓༷ ࢓༷ͱ࣮૷͕ζϨͳ͘ͳΔ Spring Boot༻ͷ΋͋Γ·͢ ϥΠϒϥϦΛ࢖ͬͯߴ଎ʹ։ൃ αʔόʔαΠυKotlinΛ࢖͏͜ͱͰ ΞϓϦΤϯδχΞͱ஥ྑ͠ʹ 02 03 04 01 ୭Ͱ΋࢖͍΍͍͢ ։ൃ͠΍͍͢

Slide 5

Slide 5 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 5 ࢼ͠ʹΫΤϦΛ౤͛ͯΈ͍ͨ৔ ߹ʹ͍͍ͪͪॻ͘ͷ͸໘౗ɻ ADD QUERY΍ADD FRAGMENT Ͱߴ଎ʹΫΤϦΛ࡞੒Ͱ͖Δɻ ⅰ) ΫΤϦͷࣗಈੜ੒͕Ͱ͖Δ LightɺDarkɺDraculaͷࡾͭͷ ςʔϚ͔Β޷͖ͳςʔϚΛઃఆ ͯ͠࢖͏͜ͱ͕Ͱ͖Δɻ ⅱ) ΧελϜςʔϚ͕ઃఆͰ͖Δ Mac΍WindowsΞϓϦɺChrome΍Firefoxͷ֦ுػೳ΋ఏڙ͍ͯ͠ΔAltair(ΞϧλΠϧ)ɻ https:/ /altair.sirmuel.design/ Altair(GraphQL ΫϥΠΞϯτ)͕༏ल ఱࠃΈ①

Slide 6

Slide 6 text

6 See You Next Time The Break! ͜͜Λԡ͚ͩ͢Ͱ ϦΫΤετ෦ʹ௥ Ճ͞ΕΔ ϦΫΤετ෦ Ϩεϙϯε෦ υΩϡϝϯτ෦

Slide 7

Slide 7 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 7 ϑΟʔϧυʹΞΫηε͚ͨ࣌ͩ͠औಘ ॲཧ͕૸ΔΑ͏ʹͰ͖Δɻ ϚΠΫϩαʔϏεͱ૬ੑ͕͍͍ɻ graphql-spring-bootͷϥΠϒϥϦΛ࢖ ͏ͱɺGraphQLResolverΛ࢖͏͚ͩͰ ؆୯ʹ࣮૷Ͱ͖Δɻ ແବͳ௨৴Λ૸Βͤͳ͍ ఱࠃΈ② ྫ ϙΠϯτऔಘॲཧ͕ ૸Δ ϙΠϯτऔಘॲཧ͕ ૸Βͳ͍

Slide 8

Slide 8 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 8 GraphQLΛ࢖ͬͯΈ͍ͨਓ͕݁ߏ͍ͨɻ ΫΤϦͷֶशίετ΋௿͘ɺAltairͷ࢖༻ײ΋޷ධɻ ΞϓϦΤϯδχΞ΍σβΠφʔ͔ΒϞςΔ ఱࠃΈ③

Slide 9

Slide 9 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 9 εΩʔϚϑΝΠϧҎ֎ͰAPIͷఆٛΛͯ͠͠·͏ͱɺυΩϡϝϯτͷೋॏ؅ཧʹͳͬͯ ͠·͏ɻ GraphQLͰ͸ଞͷυΩϡϝϯτπʔϧͰ؅ཧ͠Α͏ͱ͠ͳ͍͜ͱɻ ΞϓϦΤϯδχΞ͕࢖͑ΔMockαʔόʔ͸ૣΊʹ༻ҙ͠Α͏ɻ ࢓༷ͱ࣮૷͕ζϨͨʂʁʢΞϯνύλʔϯʣ ஍ࠈΈ①

Slide 10

Slide 10 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 10 ఱ ࠃ Έ ② Ͱ औ Γ ্ ͛ ͨ Α ͏ ͳ GraphQLResolverΛ࢖࣮ͬͨ૷Λ҆қ ʹͯ͠͠·͏ͱɺϨεϙϯεʹͦͷϑ Οʔϧυ͕ෳ਺ग़ݱ͢Δ͚ͩͰN+1ͷ ௨৴͕ൃੜͯ͠͠·͏ɻ σʔλϩʔμʔΛ࢖͓͏ɻ N+1໰୊ͷରॲ ஍ࠈΈ② ྫ ϦΫΤετ ෳ਺ͷϢʔβʔΛऔಘ Ϩεϙϯε ϙΠϯτͷ਺͚ͩ௨৴ ௨৴ ௨৴ ௨৴ ௨৴

Slide 11

Slide 11 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 11 ⅰ) ·ͱΊͯऔಘͰ͖ΔϏδωεϩδοΫΛ࡞੒͢Δ(όϧΫϑΣον) ஍ࠈΈ② - σʔλϩʔμʔ࣮૷खॱᾜ ʲࢀߟʳ

Slide 12

Slide 12 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 12 ⅱ) σʔλϩʔμʔʹϏδωεϩδοΫΛొ࿥͢Δ ஍ࠈΈ② - σʔλϩʔμʔ࣮૷खॱᾝ ʲࢀߟʳ

Slide 13

Slide 13 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 13 ⅲ) ొ࿥ͨ͠σʔλϩʔμʔΛݺͼग़͢ ஍ࠈΈ② - σʔλϩʔμʔ࣮૷खॱᾞ ʲࢀߟʳ

Slide 14

Slide 14 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 14 ·ͱΊ 9݄ʹiOSΞϓϦϦχϡʔΞϧ༧ఆ https:/ /creators.videomarket.co.jp/ ΫϦΤΠλʔζϒϩά ɾϥΠϒϥϦΛ࢖͑͹͙͢ʹ։ൃ͕Ͱ͖Δ ɾGraphQLαʔόʔΛ࡞Δͱت͹ΕΔ ɾN+1͸ཁ஫ҙ

Slide 15

Slide 15 text

www.companyname.com © 2016 Jetfabrik Multipurpose Theme. All Rights Reserved. 15 Thank You Ryo Hayasaka tw:@hayaboytech