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

PHP Conference Sendai 2019 presentation slides

memory
January 26, 2019

PHP Conference Sendai 2019 presentation slides

PHP Conference Sendai / 2019
Presentation slides

memory

January 26, 2019
Tweet

More Decks by memory

Other Decks in Programming

Transcript

  1. ։ൃظؒ2ϲ݄Ͱ Elasticsearch ΛϓϩμΫτʹ
    ࢖ͬͯϦϦʔεͨ͠࿩
    PHPΧϯϑΝϨϯεઋ୆
    2019/01/26 Ί΋Γʔ(@m3m0r7)

    View full-size slide

  2. ͩΕʁ
    Ί΋Γʔ(@m3m0r7) Ͱ͢ɻ

    ը૾͸͏ͪͷϋϜελʔͷ Lily ͪΌΜͰ͢ɻ
    ౦ژͷ࿡ຊ໦ʹ͋Δ גࣜձࣾ GameWith ͱ͍͏

    ձࣾͰಇ͍ͯ·͢ɻ

    ͦͷੲɺPHPͰJavaͷόΠτίʔυΛ

    ಡΜͰͨͳͲ

    View full-size slide

  3. ͱ͜ΖͰɺΈͳ͞Μ GameWith ͸͝ଘ஌Ͱ͔͢ʁ

    View full-size slide

  4. GameWith ʹ͍ͭͯ

    View full-size slide

  5. ࠓ೔͸ήʔϜ߈ུʹ͍͓ͭͯ࿩͠·͢

    View full-size slide

  6. GameWith ʹ͍ͭͯ
    ήʔϜ߈ུʮGameWithʯͰ͕͢ɺ
    ࣮͸΢ΣϒαΠτҎ֎ʹ΋ΞϓϦ͕͋Γ·͢

    View full-size slide

  7. GameWith ʹ͍ͭͯ
    ήʔϜ߈ུʮGameWithʯͰ͕͢ɺ
    ࣮͸΢ΣϒαΠτҎ֎ʹ΋ΞϓϦ͕͋Γ·͢

    View full-size slide

  8. ࠓ೔͸͜͜ͷݕࡧػೳͷ
    όοΫΤϯυͷ։ൃͷ࿩Λ͠·͢

    View full-size slide

  9. θϩϕʔε͔Βͷ։ൃͰҙࣝͨ͜͠ͱ

    View full-size slide

  10. θϩϕʔε͔Βͷ։ൃͰҙࣝͨ͜͠ͱ
    • ҙࣝͨ͜͠ͱ͸5఺
    • ᶃ ୭Ͱ΋։ൃͰ͖ΔΑ͏ʹ͢ΔϝϯλϦςΟ
    • ᶄ ৽͍͜͠ͱʹ௅ઓ͢ΔϝϯλϦςΟ
    • ᶅ ࠳͚ͳ͍ϝϯλϦςΟ
    • ᶆ ਏ͍ঢ়گΛָ͠ΉϝϯλϦςΟ
    • ᶇ ࢒ۀ͸͠ͳ͍ͧͱ͍͏ڧ͍ϝϯλϦςΟ

    View full-size slide

  11. ͜ͷҙࣝΛ΋ͱʹ։ൃ͍͖ͯ͠·ͨ͠

    View full-size slide

  12. ٕज़બఆͱΠϯϑϥߏ੒

    View full-size slide

  13. ٕज़બఆͱΠϯϑϥߏ੒
    • શจݕࡧΤϯδϯ͸ࢥྀʹࢥྀΛॏͶElasticsearchΛબఆͨ͠
    • Groongaͱ͍͏બ୒ࢶ΋͋ͬͨ

    • ݕࡧੑೳ͸ Elasticsearch ΑΓ Groonga ͷ΄͏্͕Β͍͠

    • ࢀߟ: http://blog.createfield.com/entry/2014/04/21/120023

    • ৗ࣌઀ଓ͕਺ສ௒͑Δ͔΋஌Εͳ͍ͷͰݫ͍͔͠΋͠Εͳ͍ͱ͍͏ݒ೦
    ͕͋Γࠓճ͸আ֎

    • खܰʹεέʔϧ͔ͨͬͨ͠

    • ήʔϜͷ߈ུ৘ใΛऔΓѻ͍ͬͯΔͷͰήʔϜݻ༗ͷݻ༗໊ࢺ͕සग़͢Δ͜
    ͱΛߟྀͨ͠ઃܭʹ͢Δඞཁ͕͋ͬͨ

    View full-size slide

  14. ٕज़બఆͱΠϯϑϥߏ੒
    • ࠷ॳ͸৽ͨͳऔΓ૊ΈͱϝϦοτΛՃຯͯ͠GoΛબ୒͠Α͏ͱ͍ͯͨ͠
    • ݴޠࣗମͷύϑΥʔϚϯε͕Α͍

    • ίϯύΠϧͷ࣌ؒ΋ૣ͍͠

    • ͳʹΑΓॻ͘ͷָ͕

    • APIͷσβΠϯΛ͢ΔͨΊʹ goa ͱ͍͏ϑϨʔϜϫʔΫ͕༻ҙ͞Ε͍ͯΔ

    • ϚΠΫϩαʔϏεͱͯ͠ఏڙ͍ͨ͠ͷʹଧͬͯ෇͚ͩͬͨ

    • APIυΩϡϝϯτ (Swagger) ΋উखʹు͖ग़ͯ͘͠ΕΔͷͰ

    • υΩϡϝϯτ͸͋Μ·Γߟྀ͠ͳͯ͘΋Αͦ͞͏

    View full-size slide

  15. ͦ΋ͦ΋ฐࣾ Go ॻ͚Δਓ͕΄ͱΜͲ͍ͳ͔ͬͨ

    View full-size slide

  16. ٕज़બఆͱΠϯϑϥߏ੒
    • GameWith ͸ PHP ΛϝΠϯͱͯ͠ѻ͍ͬͯΔձࣾ

    • ͦ΋ͦ΋౰࣌͸ଞϝϯόʔ͕৽͍͠ݴޠΛֶͿ͕࣌ؒͳ͔ͬͨ

    • Կ͔͠ΒΠϯγσϯτ͕ൃੜͨ͠৔߹ʹରॲͰ͖Δϝϯόʔ͕ݶΒΕͯ͠
    ·͏ɻ

    • ࢒Γͷ։ൃظ͕ؒ͜ͷ࣌఺Ͱ 1.5 ϲ݄͘Β͍ʹͳ͍ͬͯͨ

    • ϨϏϡʔͰ͖Δϝϯόʔͷ͕࣌ؒऔΕͳ͍ɾϓϩδΣΫτʹδϣΠϯͰ͖
    ͳ͍

    • PHPͰ͋Ε͹୭Ͱ΋։ൃͰ͖Δ

    View full-size slide

  17. PHPɺࢲୡΛٹͬͯ͘ΕΔͷ͸Ωϛ͔͍͠ͳ͍

    View full-size slide

  18. ٕज़બఆͱΠϯϑϥߏ੒
    • GoͰ͸ͳ͘PHPΛબΜͩ

    • ͦ΋ͦ΋ElasticsearchͰPHP޲͚ϥΠϒϥϦ͕͋Γɺࠔͬͨͱ͖ʹࢀߟʹͳ
    Γͦ͏

    • Πϯγσϯτ͕ൃੜͨ͠ࡍʹαʔόʔαΠυΤϯδχΞͰ͋Ε͹ɺͲΜͳϝ
    ϯόʔͰ΋ରԠͰ͖ɺ࠷ѱͷࣗମ͕ى͖ͯ΋αʔϏεͷ෮چ΍ҡ͕࣋଎΍͔
    ʹͰ͖Δ

    • LaravelͰඞཁͦ͏ͳCRUDΛΧόʔͰ͖ΔͷͰ։ൃ޻਺ΛݮΒͤͦ͏

    • ݸਓతʹ pthreads ΍ Swoole ͳͲΛ࢖ͬͨฒྻɾඇಉظॲཧ΋ࢼ͔ͨͬͨ͠

    • ࢼͤ͸ͨ͠΋ͷͷύϑΥʔϚϯενϡʔχϯάʹ࣌ؒΛऔΒΕͦ͏Ͱɹ࣮ݱʹ͸ࢸ
    Βͣ…
    ݕࡧAPI͸ Elasticsearch + PHP 7.2 + Laravel 5.6 Ͱ։ൃ͢Δ͜ͱʹͳΓ·ͨ͠

    View full-size slide

  19. ͬ͘͟ΓΠϯϑϥͷߏ੒Λ
    ࢥ͍ු͔΂Δ

    View full-size slide

  20. ٕज़બఆͱΠϯϑϥߏ੒
    ※μογϡϘʔυͱ͸GameWithͷϥΠλʔ͕࢖༻͢Δ؅ཧը໘ͷ͜ͱͰ͢

    View full-size slide

  21. ٕज़બఆͱΠϯϑϥߏ੒
    • ͳͥ͜ͷߏ੒ʹ͠Α͏ͱͨ͠ͷ͔

    • શจݕࡧΤϯδϯ͸ΞϓϦ͔Β͸ࢀরɺμογϡϘʔυ͔Β͸ॻ͖ࠐΈ͕ߦ
    ΘΕΔɻ

    • ήʔϜͷ߈ུهࣄ͸සൟʹߋ৽͞ΕΔͨΊɺߋ৽৘ใ΍࡟আ৘ใΛΩϡʔ
    Ͱॲཧ͔ͨͬͨ͠ͷͰɺAmazon SQSΛՃ͑ͨ

    • Elasticsearchͷ৑௕ԽͷͨΊσʔλϊʔυ͕2୆Ҏ্ඞཁͩͬͨ

    • ࠓճͷϓϩμΫτͰ͸ͲΕ͚ͩͷΞΫηε਺͕͋Δ͔࢑ఆͰ͔͠ग़ͤͳ͔ͬ
    ͕ͨ1୆ͩͱϊʔυ͕յΕͨࡍͷରॲ͕Ͱ͖ͳͦ͞͏Ͱ͋ΔͨΊ

    View full-size slide

  22. ٕज़બఆͱΠϯϑϥߏ੒
    - ࣮ࡍͷߏ੒

    View full-size slide

  23. ͜ͷΠϯϑϥߏ੒Λ GameWith ͷ Tech ϒϩάʹ
    ॻ͍ͨͱ͜Ζɺelastic ͷํ͔ΒΠϯϑϥߏ੒ʹ͍ͭͯ
    ΞυόΠεΛ௖͚·ͨ͠ɻ

    View full-size slide

  24. ٕज़બఆͱΠϯϑϥߏ੒
    • ։ൃ؀ڥ͸DockerͰߏ੒ͨ͠
    • DockerΛ࢖͏͜ͱʹΑΓɺԿ͕؀ڥʹ͋Δͷ͔໌֬ʹΘ͔ΔΑ͏ʹͳͬͨ
    • GameWith ͸ Vagrant Λ࢖͏෩ை͕͋ΓɺͲ͏͍ͬͨϛυϧ΢ΣΞ͕͋
    Δ͔ɺͲ͏͍͏ߏ੒ʹͳ͍ͬͯΔͷ͔೺Ѳͮ͠Β͔ͬͨ
    • ։ൃ؀ڥͱϓϩμΫγϣϯ؀ڥͰඞཁͳ؀ڥͷࠩҟΛແ͔ͨͬͨ͘͠
    • ϓϩμΫγϣϯ؀ڥʹ͸͋Δ͕ɺ։ൃ؀ڥʹ͸ͳ͍ɺͱ͍͏ঢ়ଶΛ࡞Γ
    ͨ͘ͳ͔ͬͨ
    • ࣾ಺ͰDockerΛϓϩμΫγϣϯʹར༻͢Δͷ͸͜ͷϓϩδΣΫτ͕ॳΊͯ
    • ৽͍͠௅ઓΛ͢Δ͜ͱ͸͍͍͜ͱɻ৽͍͜͠ͱʹ௅ઓΛͨ͠ͱ͍͏લྫ
    Λ࡞ΓपΓͷϝϯόʔ΋ɺࣗΒਐΜͰ௅ઓ͍ͯ͘͠෩౔ʹ͍͖͔ͯͨͬ͠
    ͨ

    View full-size slide

  25. ٕज़બఆͱΠϯϑϥߏ੒
    • σϓϩΠ͸ Deployer Ͱ
    • ॻ͘ͷ؆୯ͦ͏

    • ։ൃ޻਺͕ 1.5 ϲ݄ͱ୹͍ͷͰɺ͘͢͝େࣄ

    • PHP ͱ૬ੑ͕ྑͦ͞͏

    • GameWith ࣗମ͸ rsync Ͱ͹Β·͘Α͏ʹͳ͍ͬͯͨ

    • Capistrano Ͱ΋͍͍ͷͰ͸ͱࢥ͕ͬͨ Ruby Λॻ͚Δϝϯόʔ͕গͳ͍

    • ࣮ࡍ͍ͯ͠Δͷ͸ pull ͚ͩ

    • ͨͩɺ Elasticsearch Ͱ࢖༻͢ΔϢʔβʔࣙॻͷϏϧυͳͲ΋σϓϩΠί
    Ϛϯυʹೖ͍ͬͯΔ

    View full-size slide

  26. ࣮ࡍͷ։ൃ

    View full-size slide

  27. ࣮ࡍͷ։ൃ
    • ݕࡧγεςϜࣗମͷνʔϜߏ੒͸4໊ମ੍
    • αʔόʔαΠυΤϯδχΞ × 1

    • GameWith ͷ΢Σϒ໘ͷ։ൃ΍վम΋݉຿

    • ΠϯϑϥΤϯδχΞ × 1

    • ଞͷΠϯϑϥ໘ͷλεΫ΋݉຿

    • σΟϨΫλʔ × 1

    • GameWith ͷ΢Σϒ໘ͷσΟϨΫγϣϯ΋݉຿

    • ίʔυϨϏϡϫʔ × 1

    • ෦௕

    • ଞʹiOS, AndroidΤϯδχΞ

    View full-size slide

  28. Ϧιʔεগͳ͗͢໰୊ʹ௚໘

    View full-size slide

  29. Ί͛ͳ͍΋Μ

    View full-size slide

  30. ࣮ࡍͷ։ൃ
    - ঢ়گ೺ѲΛԁ׈ʹਐΊΔͨΊʹࢥ͍͍ͭͨλεΫΛશͯ Issue Խ͓ͯ͘͠
    - ͲΜͳʹࠣࡉͳ͜ͱ΋ Issue ʹॻ͍ͯ๨Εͳ͍Α͏ʹ͍ͯͨ͠

    View full-size slide

  31. ࣮ࡍͷ։ൃ
    - ঢ়گ೺ѲΛԁ׈ʹਐΊΔͨΊʹࢥ͍͍ͭͨλεΫΛશͯ Issue Խ͓ͯ͘͠
    - ػೳͷઃܭΛߟ͑ͭͭಉ࣌ʹ։ൃΛ͍͖ͯ͠ɺࢥ͍͍ͭͨΒIssueʹίϝϯτ
    Λ͚ͭΔ

    View full-size slide

  32. API ͷσβΠϯ

    View full-size slide

  33. ࣮ࡍͷ։ൃ
    • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ
    • ݕࡧγεςϜଆ΋࢓༷Λ߹ΘͤΑ͏͔೰Μͩ΋ͷͷɺԼهͷ pros, cons ͔
    ΒɺಠࣗͰσβΠϯ͢Δ͜ͱʹ͠·ͨ͠ɻ

    • pros
    • Ϟμϯͳ API σβΠϯ͕Ͱ͖Δ

    • Laravel ͷϧʔςΟϯάָ͕ʹͳΔʢ㲈։ൃ޻਺ͷ୹ॖʣ

    • GameWith ຊମαΠτͱ͸ҧͬͨ΋ͷͱͯ͠ѻ͍͔ͨͬͨʢ㲈ϚΠΫ
    ϩαʔϏεԽʣ

    • cons
    • ϞϊϦγοΫʹͳͬͯ͠·͏ͱɺطʹ͋Δٕज़తෛ࠴ʹߋʹٕज़తෛ
    ࠴͕ੵΈॏͳͬͯख஗ΕʹͳΔ

    • ͜ͷͱ͖ɺಉ࣌ʹ GameWith ຊମαΠτ͸ PHP 7.x ʹҠߦ͢Δ४උ
    Λ͍ͯͨͨ͠Ίɺ৮Εͨ͘ͳ͔ͬͨ

    View full-size slide

  34. ࣮ࡍͷ։ൃ
    • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ
    • ݕࡧγεςϜͷ API ͷઃܭ͸͜͏͍ͨ͠ͱ͍͏***ҙࢥදࣔ***Λͯ͠ɺઃܭʹ
    ؔͯ͠ͷσΟεΧογϣϯΛۃྗݮΒ͠։ൃ޻਺ͷ࡟ݮΛߦ͏
    ※͋͘·ͰҙࢥදࣔͳͷͰɺͦͷ͋ͱ͍͔ͭ͘ͷ࣮૷Մ൱΍ຊ౰ʹAPI
    σβΠϯ͸Ϟμϯ͔ɺͳͲؚΊͯͷσΟεΧογϣϯ͸ߦͬͯ·͢

    View full-size slide

  35. Swagger Λ࢖ͬͯ API ͷυΩϡϝϯτΛੜ੒

    View full-size slide

  36. ࣮ࡍͷ։ൃ
    • Swagger Λ࢖ͬͯ API ͷυΩϡϝϯτΛੜ੒͍ͯͬͨ͠
    • ։ൃ޻਺͕ͲΜͳʹਏͯ͘΋υΩϡϝϯτΛॻ͘ͷ͚ͩ͸ଵΒͳ͔ͬͨ

    View full-size slide

  37. ࣮ࡍͷ։ൃ
    • Swagger Λ࢖ͬͯ API ͷυΩϡϝϯτΛੜ੒͍ͯͬͨ͠
    • Swagger ͷੜ੒ʹ͸ zircote/swagger-php Λ༻͍·ͨ͠

    View full-size slide

  38. Ϣχοτςετ

    View full-size slide

  39. ࣮ࡍͷ։ൃ
    • PHPUnit Λ࢖͍ϢχοτςετΛඞͣॻ͍ͨ
    • ϢχοτςετΛॻ͍ͯɺ࣮૷ͨ͠ API ͷΤϯυϙΠϯτ͕ઈରʹಈ࡞͢Δ
    อূ͕΄͔ͬͨ͠

    • ͨͩɺ޻਺ͷ໰୊΋͋Γॻ͍ͨͷ͸ϛογϣϯΫϦςΟΧϧͳՕॴͩ
    ͚ɻ

    • ͜ͷΤϯυϙΠϯτ͸ઈରʹಈ͘ͱ͍͏৺ཧత҆શੑɻ

    View full-size slide

  40. ϦϦʔε͢Δ·Ͱ

    View full-size slide

  41. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ
    • ϓϩμΫγϣϯ؀ڥ༻ͷίϚϯυΛ͍͔ͭ͘༻ҙͨ͠
    • هࣄΛ౤ೖ͢ΔͨΊͷ artisan ίϚϯυ

    • هࣄΛ࡟আ͢ΔͨΊͷ artisan ίϚϯυ

    • ϢʔβʔࣙॻΛϏϧυ͢ΔͨΊͷ artisan ίϚϯυ

    • etc…

    View full-size slide

  42. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ
    • ϓϩμΫγϣϯ؀ڥΛߏங
    • QA (Quality Assurance) Λ࣮ࢪ͢ΔͨΊʹϓϩμΫγϣϯ؀ڥͷߏஙΛ͢Δඞ
    ཁ͕͋ͬͨ

    • iOS, AndroidΤϯδχΞɺσΟϨΫλʔ͔Β࣮ࡍͷσʔλΛݟͯ֬ೝΛ͠
    ͍ͨཁ๬ʹ౴͑ΔͨΊ

    • ϓϩμΫγϣϯ؀ڥͷ Elasticsearch ʹهࣄΛ౤ೖ͍ͯ͘͠

    • هࣄͷ݅਺͕਺ेສ݅͋Γ͕͔͔࣌ؒΔ͠ɺࣦഊ͢Δͱ౤ೖ͠௚͠ͳͷ
    Ͱਏ͔ͬͨ

    View full-size slide

  43. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ
    • QA (Quality Assurance) ͷ࣮ࢪ
    • ΠϯςάϨʔγϣϯςετ ΋݉Ͷͯ iOS, Android ΤϯδχΞɺαʔόʔαΠ
    υΤϯδχΞɺσΟϨΫλʔɺ෦௕ͷશһ͕ू݁ͯ͠ɺ࣮ࡍʹεϚϗΛ৮Δɻ
    ͜͜Ͱग़ͨόά΍ػೳͷ࣮૷ʹ͍ͭͯͷϑΟʔυόοΫΛड͚ͯ
    ௐ੔Λ͍ͯ͘͠

    View full-size slide

  44. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ
    • ෛՙςετͷ࣮ࢪ
    • ΠϯϑϥΤϯδχΞʹґཔΛ͠ɺ Gatling Λ༻͍ͯෛՙςετͷ࣮ࢪΛߦͬ
    ͨɻ

    View full-size slide

  45. ϦϦʔε
    - ແࣄϦϦʔεʂ࠳͚ͳ͍ͰલʹਐΉ͜ͱେࣄʂ

    View full-size slide

  46. ϦϦʔεͨ͋͠ͱ

    View full-size slide

  47. ϦϦʔεͨ͋͠ͱ
    ৼΓฦΔͱ։ൃظؒ 1.5 ϲ݄΄ͲͰ͜Ε͚ͩͷίϛοτΛͯ͠͠·ͬͨ

    View full-size slide

  48. ϦϦʔεͨ͋͠ͱ
    ։ൃʹܞΘͬͨਓͰɺৼΓฦΓΛߦͬͨ

    View full-size slide

  49. ϦϦʔεͨ͋͠ͱ
    χΫΞβϒͰম೑৯΂ͨ

    View full-size slide

  50. ϦϦʔεͨ͋͠ͱ
    GameWith Tech Blog Ͱॻ͍ͯΈͨɻ͸ͯͿ͍ͬͺ͍͍ͭͯͯخ͍͠

    https://tech.gamewith.co.jp/entry/2018/09/21/122154

    View full-size slide

  51. ͦΕͰ΋ɺ͍Ζ͍Ζ໰୊ʹ௚໘ͨ͠

    View full-size slide

  52. ௚໘ͨ͠໰୊
    • ϦϦʔεͨ͋͠ͱʹ͍͔ͭ͘όά͕ग़͖ͯͨ໰୊

    • GameWith ຊମαΠτͷରԠ͕૿͑ͨ

    • ໘઀ͷԠื͕ଟ͍࣌ظʹॏͳͬͯɺ໘઀ϥογϡ໰୊

    • MTG͕ଟ͘ͳͬͨ໰୊

    • ϦϦʔεऴΘͬͨ͋ͱʹΞαΠϯͨ͢͠΂ͯͷλεΫͷܹࢗ
    ͕෺଍Γͳ͍ͱײ͡Δ໰୊

    View full-size slide

  53. ͦΕͰ΋ϦϦʔεͰ͖ͨͷͰΊͰͨ͠ΊͰͨ͠

    View full-size slide

  54. ·ͱΊ
    • ࠓճ͸։ൃʹҙࣝͨ͜͠ͱʹଇͬͯɺٕज़બఆͷࡍʹ୭Ͱ΋Ͱ͖Δ΋ͷΛબΜͩ
    • ͦͷ্Ͱͦͷ෼໺ͷ৽͍͠΋ͷΛऔΓೖΕ͍ͯͬͨʢDocker΍ PHP 7.2ͳͲʣ

    • ໌೔ɺࣗ෼͕ަ௨ࣄނʹ͋ͬͨΒʁͱ͍͏͜ͱΛߟ͑ͳ͕ΒਐΊΔͱࣗવͱ୭ʹͰ΋Ͱ
    ͖Δ΋ͷʹͳ͍ͬͯ͘ײ͕͋͡Δ

    • ඞཁͦ͏ͳλεΫ͸ Issue ʹϝϞΛ࢒ͨ͠΄͏͕͍͍
    • ಛʹ݉೚ͷ৔߹ͩͱ๨ΕΔ͜ͱ΋͋ͬͨΓ͢Δ

    • ͋Δఔ౓୭͔͕ਐΊͳ͍ͱϓϩδΣΫτ͸ਐ·ͳ͍
    • ୭ͷ࢓ࣄ͚ͩͬʁͱଞਓ͝ͱʹ͢ΔͷͰ͸ͳ͘ɺԼ஍Λࣗ෼͔Β཰ઌͯ͠࡞͍ͬͯ͘

    • APIσβΠϯΛઌʹܾΊ͍ͯͳ͚Ε͹ɺϓϩδΣΫτ͕੒ޭ͔ͨ͠Ͳ͏͔΋ո͍͠

    • Πϯϑϥͷߏ੒Λߟ͑ͭͭίʔυΛॻ͍͍ͯ͘
    • Πϯϑϥͷߏ੒ʹΑͬͯॻ͘ίʔυ͕ҟͳΔͷͰɺઌʹΠϯϑϥͷઃܭΛ಄ʹࢥ͍ු͔
    ΂Δ

    View full-size slide

  55. ·ͱΊ
    • ίʔυΛॻ͘͜ͱΛ᪳᪯͠ͳ͍
    • ᪳᪯͢ΔͱɺͦΕ͚ͩͰ͕࣌ؒͳ͘ͳͬͯ͠·͏ͷͰɺ᪳᪯͠ͳͯ͘΋͍͍Α͏ͳ࢓૊
    ΈΛ࡞ΔɻʢϢχοτςετΛॻ͘ͳΓɺQAΛ࣮ࢪ͢ΔͳΓʣ

    • ผνʔϜͱԁ׈ͳ࿈ܞΛ͢ΔͨΊʹυΩϡϝϯτΛॻ͘
    • API͕Ͳ͏ͳ͍ͬͯΔ͔͸ɺΞϓϦνʔϜ͸஌Βͳ͍ɻ͔ͩΒͦ͜ɺϢϏΩλ
    εݴޠͰ͋ΔυΩϡϝϯτ͸࢒͓ͯ͘͠ɻ

    • υΩϡϝϯτ͕ͳ͚Ε͹ΞϓϦνʔϜ͸αʔόʔαΠυͷίʔυΛಡΉɺฉ
    ͘ͱ͍͏ίετ͕ൃੜͯ͠͠·͍ɺ͕࣌ؒ΋͍ͬͨͳ͍

    • ͦΕʹɺ͋ͱ͔ΒಡΈฦͤΔ͠ɺ໌೔ަ௨ࣄނʹ͋ͬͯ΋҆৺Ͱ͖Δ

    • θϩϕʔεͷ։ൃʹ͸ෛՙςετ͸࣮ࢪ͠Α͏
    • ϦϦʔε௚ޙʹαʔόʔ͕མͪΔͷ͸൵͍͠ؾ࣋ͪʹͳΔͷͰ

    • MTG͸அࣺ཭͠Α͏

    View full-size slide

  56. ൃද͸Ҏ্Ͱ͢

    View full-size slide

  57. WE ARE HIRING !
    ࢲୡ͸ҰॹʹήʔϜۀքΛ੝Γ্͛ͯ͘ΕΔ
    ஥ؒΛ୳͍ͯ͠·͢ʂ
    ͝ڵຯ͕͋Δํ͸ @m3m0r7 ·Ͱ͝࿈བྷ͓ئ͍͠·͢

    View full-size slide