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

GraphQL放談

cockscomb
March 03, 2022

 GraphQL放談

cockscomb

March 03, 2022
Tweet

More Decks by cockscomb

Other Decks in Programming

Transcript

  1. (SBQI2-์ஊ
    ύλʔϯ
    (SBQI2-ʹ͍ͭͯ࿩͢ͷʹ๞͖͖͍ͯͯΔͷͰ޷͖ͳ͜ͱ࿩͍ͤͯͩ͘͞͞

    View full-size slide

  2. ٕज़Λྺ࢙͔ΒΈΔͱ͓΋͠Ζ͍
    ͍͖ͳΓࡶஊͰ͢

    View full-size slide

  3. 8FC"1*೥ද
    Š)551
    Š9.-31$ 40"1
    Š9.-)5513FRVFTU *&

    Š3&45࿦จ
    Šגࣜձࣾ͸ͯͳ૑ۀ
    ͜ͷ͜Ζ+40/͕࢖ΘΕ࢝ΊΔ
    Š͸ͯͳμΠΞϦʔ
    Š(NBJM͕ϕʔλϦϦʔε
    ͜ͷ͜Ζ·Ͱʹ9.-)5513FRVFTUͷ࣮૷
    ͕ग़ἧ͏
    Š͸ͯͳϒοΫϚʔΫ "KBY
    +40/1
    +40/31$ 3BJMT
    ŠK2VFSZ "84

    View full-size slide

  4. 8FC"1*೥ද
    ŠJ1IPOF "UPN1VC 5ISJGU
    Š"OESPJE 1SPUPDPM#V
    ff
    FST
    )5.-%SBGU
    Š+40/31$ &$."4DSJQU
    +40/4DIFNB
    Š"OHVMBS+4 #BDLCPOFKT
    ,OPDLPVU
    Š͸ͯͳϒϩά 4XBHHFS
    8FC4PDLFU 'JSFCBTF
    Š3FBDU
    Š)551 1SPNJTF 'FUDI"1*
    18" (SBQI2- 3FMBZ
    ŠH31$
    Š(SBQI2-'PVOEBUJPO

    View full-size slide

  5. 8FC"1*ͷྺ࢙
    w ೥ࠒ·Ͱ͸9.-ظ
    w ೥୅ॳ಄ʹ8FCϒϥ΢β͔Βͷඇಉظ)551ݺͼग़͠ͷཁૉٕज़͕ἧ͏
    w ೥ʹ"KBYͱͯ͠ମܥ͚ͮΒΕΔ
    w ೥୅ޙ൒ʹ͔͚ͯ8FC"1*ͷ֓೦͕୆಄
    w ೥୅ʹ͸εϚʔτϑΥϯΞϓϦͱ41"ͷ։ൃ͕੝Μʹͳ͍ͬͯ͘

    View full-size slide

  6. (SBQI2-ͷྺ࢙
    w ೥ʹ'BDFCPPL͕εϚϗΞϓϦΛ)5.-ϕʔε͔ΒωΠςΟϒ΁స׵
    w χϡʔεϑΟʔυͷදݱͷͨΊʹ(SBQI2-ͷݪܕ͕ੜ·ΕΔ
    w ೥ʹ(SBQI2-͕ϓϨϏϡʔɻಉ೥ʹ3FMBZ΋ެ։
    w ೥ʹ(SBQI2-͕ਖ਼ࣜϦϦʔεɻ(JU)VC͕࠾༻
    w ೥ʹ(SBQI2-'PVOEBUJPO΁Ҡ؅

    View full-size slide

  7. ݡऀ͸ྺ࢙ʹֶͿ
    w 8FC"1*ͷྺ࢙͸8FCαʔϏεͷΫϥΠΞϯτ͕ෳࡶԽ͍ͯ͘͠ྺ࢙
    w Ϧονͳମݧ͕Ͱ͖Δ
    w εςʔτϑϧ
    w ΦϒδΣΫτάϥϑͷҰ෦ΛΫϥΠΞϯτʹࣸ૾͢Δͷ͕(SBQI2-
    w Ұํ3BJMT͸΋ͬͱ୯७Խ͠Α͏ͱ͍ͯ͠Δ

    View full-size slide

  8. ෳࡶԽͨ͠ΫϥΠΞϯτͷͨΊͷ(SBQI2-
    w ΫϥΠΞϯτͷཁٻ͕ຬͨ͞ΕΔΑ͏ͳϨεϙϯε͕ฦΔ
    w ΫϥΠΞϯτ͸ฦ͖ͬͯͨσʔλΛදࣔ͢Δ͚ͩͰ͍͍ʢએݴతʣ
    w ϏδωεϩδοΫ͸αʔόαΠυ
    w ΦϒδΣΫτάϥϑ͕දݱͰ͖Δ

    View full-size slide

  9. ϑϥάϝϯτίϩέʔγϣϯ͕ศར
    w ʢ3FBDUͳͲͷʣίϯϙʔωϯτͱ(SBQI2-ΫΤϦͷഁยΛ·ͱΊΔख๏
    w ίϯϙʔωϯτ͕ඞཁͱ͢ΔσʔλΛએݴͰ͖Δʢએݴతʣ
    w ૆ઌίϯϙʔωϯτ͕ࢠଙͷඞཁͱ͢ΔσʔλͷৄࡉΛ஌Βͳͯ͘ࡁΉ
    w 3FMBZ͕͏·͘αϙʔτ͍ͯ͠Δ

    View full-size slide

  10. (SBQI2-Λ࢖͏΂͖͔
    ྺ࢙ʹֶΜͩͷͰ(SBQI2-Λ࢖͏΂͖Ͱ͠ΐ͏͔

    View full-size slide

  11. ͍ͭͰ΋(SBQI2-Λ࢖͏΂͖
    w Ϧιʔεʹܕ͕ͭ͘
    w ඞཁͳσʔλ͚ͩΛऔಘͰ͖Δ
    w ෳ਺ͷϦιʔεΛҰ౓ʹऔಘͰ͖Δ
    w ෳࡶͳϖʔδΛ࡞ΔͷʹԿ౓΋"1*Λݺͼग़ͣ͞ʹࡁΉ

    View full-size slide

  12. 3&45"1*Ͱ΋Ͱ͖Δ͜ͱ΋͋Δ
    w 0QFO"1*ͰεΩʔϚΛॻ͚͹ܕΛ͚ͭΒΕΔ
    w 4FSWFS4JEF3FOEFSJOHͳΒԿ౓΋"1*Λݺͼग़ͯ͠΋

    ϨΠςϯγ͕ؾʹͳΒͳ͍
    w όονͰϦΫΤετͰ͖ΔΤϯυϙΠϯτ͸΄͘͠ͳΔ͔΋

    View full-size slide

  13. 3&45"1*Ͱ΋Ͱ͖Δ͜ͱ΋͋Δ
    4FSWFS4JEF3FOEFSJOHʹྨ͢Δٕज़ͷબ୒ࢶ͕૿͑ͭͭ͋Δ
    w /FYUKTͷHFU4FSWFS4JEF1SPQT
    w 3FBDUʹΑΔ4USFBNJOH443 BMQIB

    w 3FBDUʹΑΔ3FBDU4FSWFS$PNQPOFOUT BMQIB

    w )PUXJSF
    w 3&45"1*͢Βͳͯ͘΋͍͍ύλʔϯͰ͸͋Δ

    View full-size slide

  14. (SBQI2-΋ਐา͢Δ
    ϨΠςϯγΛվળ͢Δ࢓૊Έ͕ݕ౼த
    w ݱࡏ͸ͻͱͭͷΫΤϦશମ͕ղܾ͞ΕΔͷΛ଴͍ͬͯΔ
    w *NQSPWJOH-BUFODZXJUI!EFGFSBOE!TUSFBN%JSFDUJWFT
    w (SBQI2-KTͷ&YQFSJNFOUBMGFBUVSFTͱ࣮ͯ͠૷͞Ε͍ͯΔ
    w WͰʢΦϓτΠϯͰʣ༗ޮʹͳΔ͔΋
    w 3FMBZ΋४උத

    View full-size slide

  15. αʔόαΠυʹͱͬͯ͸ؾ߹ͷ໰୊
    w ґવͱͯ͠(SBQI2-ʹ༏Ґੑ͕͋Δ
    w ϑϥάϝϯτίϩέʔγϣϯ
    w ωΠςΟϒΞϓϦͰͷར༻
    w ࢖͍΍͍͢ϥΠϒϥϦ͑͋͞Ε͹ಛผ೉͘͠͸ͳ͍
    w ࣗ෼Ͱؾʹ͢Δ͜ͱ΋ͦΕͳΓʹ͋Δ

    View full-size slide

  16. (SBQI2-Λ࢖͏΂͖͔
    3&45͕)551ͷηϚϯςΟΫεʹै͍ͬͯΔ͜ͱͰड͚ΒΕΔԸܙ
    w ΞΫηεϩάͷ৘ใྔ͕ଟ͍
    w ΤϯυϙΠϯτ͝ͱͷ౷ܭ৘ใ͕ಘΒΕΔʢϨΠςϯγͳͲʣ
    w )551ϝιουʹΑͬͯΩϟογϡͤ͞΍͍͢
    w (SBQI2-Λ࢖͏ͱ͖͸ࣗ෼ͨͪͰέΞ͢Δ
    w τϨʔγϯάͷ࢓૊ΈΛೖΕͨΓ͢Δ

    View full-size slide

  17. αʔόαΠυͱϑϩϯτΤϯυͷ෼୲
    εΩʔϚΛڥքʹͯ͠෼୲͠΍͍͢͸ͣ

    View full-size slide

  18. ྆ํͻͱΓͰ΍ͬͯ͠·͏
    w ػೳ୯ҐͰΞαΠϯͯ͠΋ΒͬͯΨοͱ࡞Δ
    w εΩʔϚ্ͷͲ͔͜ʹϑΟʔϧυΛ௥Ճ͢Δ
    w αʔόαΠυͷ࣮૷͢Δ
    w ϑϩϯτΤϯυͷ࣮૷͢Δ
    w Ͱ͖͕͋Γʂ

    View full-size slide

  19. ৗࣝతʹ͸1VMM3FRVFTUΛ෼͚Δ
    w εΩʔϚͷมߋ͚ͩͰ·ͣϨϏϡʔͯ͠΋Β͏
    w ͕͜͜มͩͱυϝΠϯͷཧղ͔Βո͍͠
    w αʔόαΠυΛมߋͯ͠1VMM3FRVFTU
    w ϑϩϯτΤϯυΛมߋͯ͠1VMM3FRVFTU
    w εΩʔϚͰ߹ҙ͍ͯ͠Ε͹ͦΜͳʹख໭Γ΋ͳ͍͸ͣ

    View full-size slide

  20. ͱ͍͏͜ͱ͸෼୲Ͱ͖Δ
    w εΩʔϚͷมߋͰ߹ҙͰ͖ͨΒ͋ͱ͸୭͕࣮૷ͯ͠΋ಉ͡͸ͣ
    w ෼୲Ͱ͖Δͱཧ࿦্͸εέʔϧ͢Δ
    w ݱ࣮తʹ͸αʔόαΠυͷ࣮૷଴ͪʹͳΔ͜ͱ͕ଟ͍ͷͰظؒ͸୹͘ͳΒͳ͍
    w ΫϥΠΞϯτଆͰϞοΫ͢ΔςΫχοΫ΋͋Δ
    w αʔόαΠυͰԾͷ஋Λฦ͢
    Α͏ʹ͢Δ৔߹΋͋Δ

    View full-size slide

  21. ΫϥΠΞϯταΠυ(SBQI2-
    ΫϥΠΞϯτଆ͚ͩͰεΩʔϚΛ֦ுͰ͖Δ
    w 3FMBZͷ$MJFOU4DIFNB&YUFOTJPOT
    w "QPMMPͷ-PDBM4UBUF
    w VSRMͷʢ(SBQIDBDIFͷʣ-PDBM3FTPMWFST

    View full-size slide

  22. (SBQI2-ͷԠ༻ࣄྫ
    3&45"1*Λఏڙ͢Δ͚ͩͳΒ(SBQI2-͸ඞཁͳ͍ʁ

    View full-size slide

  23. 5XJUUFS"1*W͸(SBQI2-Λ࢖͍ͬͯΔ
    w 3FCVJMEJOH5XJUUFS`TQVCMJD"1*
    w 5XJUUFS"1*W͸3&45
    w ཪଆͰ͸ʢ୯७ͳέʔεͰ͸ʣ(SBQI2-Λݺͼग़͍ͯ͠Δ͚ͩ
    w (SBQI2-͕"1*ήʔτ΢ΣΠͷ໾ׂΛ୲͍ͬͯΔ
    w "1*HBUFXBZQBUUFSO

    View full-size slide

  24. /FUGMJYͷ(SBQI2-'FEFSBUJPOࣄྫ
    w )PX/FU
    fl
    JY4DBMFTJUT"1*XJUI(SBQI2-'FEFSBUJPO 1BSU

    w ϚΠΫϩαʔϏεͦΕͧΕ͕(SBQI2-εΩʔϚͷҰ෦Λ෼୲͢Δ

    View full-size slide

  25. (SBQI2-ͷԠ༻ࣄྫ͸෯޿͍
    w ͱ͸͍͑͜͏͍͏͜ͱ͕ඞཁʹͳΔ΄Ͳͷن໛ͷαʔϏε͸ك
    w ࠷ॳ͔Βؾʹ͠ͳͯ͘΋Αͦ͞͏
    w ࠷ॳ͔ΒϚΠΫϩαʔϏεΛ࡞Ζ͏ͱ͢Δͷ͕ѱखͰ͋Δͷͱಉ༷

    View full-size slide

  26. (SBQI2-Ͱ#''ʹ͍ͭͯ
    NJDSPTFSWJDFTJPͷύλʔϯΛΈͯΈΔ
    1BUUFSO"1*(BUFXBZ#BDLFOETGPS'SPOUFOET

    View full-size slide

  27. "1*(BUFXBZύλʔϯ

    View full-size slide

  28. #BDLFOETGPS'SPOUFOET
    "1*(BUFXBZͷ೿ੜύλʔϯ

    View full-size slide

  29. (SBQI2-"1*͸ʁ

    View full-size slide

  30. (SBQI2-͸#''͔
    w #''ͱ͍͏ݴ༿ΛॳΊͯ঺հͨ͠ݩ4PVOE$MPVEͷ1IJM$BMÇBEP͞Μ
    w 5IF#BDLFOEGPS'SPOUFOE1BUUFSO #''


    w 4PNFUIPVHIUTPO(SBQI2-WT#''

    w #''ͱ͍͏ݴ༿͸0OF4J[F'JUT"MM"1*͔Ͳ͏͔Λয఺ʹ͍ͯ͠Δ
    w ΫϥΠΞϯτͱҰମͱͳΓΫϥΠΞϯτνʔϜʹΑͬͯ։ൃ͞ΕΔͷ͕#''

    View full-size slide

  31. (SBQI2-͸#''Ͱ͸ͳ͍
    গͳ͘ͱ΋౰ॳͷҙຯͰ͸
    w ཧ࿦্͸(SBQI2-Ͱ͋Δ͜ͱͱ0OF4J[F'JUT"MM"1*͔Ͳ͏͔͸௚ߦ͢Δ
    w ͱ͸͍͑0OF4J[F'JUT"MM"1*Λࢤ޲͢Δ܏޲ʹ͋Δ
    w "1*ήʔτ΢ΣΠͱݺͿͷ͕Ժ౰
    w 'SPOUFOEͷͨΊͷ#BDLFOEͷҙຯͰ#''ͱ࢖͏৔߹΋͋Δ͔΋͠Εͳ͍
    w (SBQI2-͸"1*ήʔτ΢ΣΠʹ޲͍͍ͯΔ

    View full-size slide

  32. ͍͔͕Ͱ͔ͨ͠

    View full-size slide

  33. ͍͔͕Ͱ͔ͨ͠
    w ໾ʹཱͨͳ͍ࡶஊΛத৺ʹ͓ಧ͚͠·ͨ͠
    w ࣾ಺ͷษڧձ΍ಉ྅ͱͷࡶஊΛϕʔεʹ͍ͯ͠·͢
    w ˠIBUFOBDPSQKQSFDSVJUFOHJOFFS
    w ໾ʹཱͭ಺༰͸ʮ8%#13&447PMʯ͕͓͢͢ΊͰ͢
    w ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View full-size slide