PHP Conference Sendai 2019 presentation slides

218473ff7abad0fcd72865da2b23bb5b?s=47 memory
January 26, 2019

PHP Conference Sendai 2019 presentation slides

PHP Conference Sendai / 2019
Presentation slides

218473ff7abad0fcd72865da2b23bb5b?s=128

memory

January 26, 2019
Tweet

Transcript

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

  2. ͩΕʁ Ί΋Γʔ(@m3m0r7) Ͱ͢ɻ ը૾͸͏ͪͷϋϜελʔͷ Lily ͪΌΜͰ͢ɻ ౦ژͷ࿡ຊ໦ʹ͋Δ גࣜձࣾ GameWith ͱ͍͏

    ձࣾͰಇ͍ͯ·͢ɻ ͦͷੲɺPHPͰJavaͷόΠτίʔυΛ ಡΜͰͨͳͲ
  3. ͱ͜ΖͰɺΈͳ͞Μ GameWith ͸͝ଘ஌Ͱ͔͢ʁ

  4. GameWith ʹ͍ͭͯ

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

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

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

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

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

  10. θϩϕʔε͔Βͷ։ൃͰҙࣝͨ͜͠ͱ • ҙࣝͨ͜͠ͱ͸5఺ • ᶃ ୭Ͱ΋։ൃͰ͖ΔΑ͏ʹ͢ΔϝϯλϦςΟ • ᶄ ৽͍͜͠ͱʹ௅ઓ͢ΔϝϯλϦςΟ •

    ᶅ ࠳͚ͳ͍ϝϯλϦςΟ • ᶆ ਏ͍ঢ়گΛָ͠ΉϝϯλϦςΟ • ᶇ ࢒ۀ͸͠ͳ͍ͧͱ͍͏ڧ͍ϝϯλϦςΟ
  11. ͜ͷҙࣝΛ΋ͱʹ։ൃ͍͖ͯ͠·ͨ͠

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

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

    ͷ΄͏্͕Β͍͠ • ࢀߟ: http://blog.createfield.com/entry/2014/04/21/120023 • ৗ࣌઀ଓ͕਺ສ௒͑Δ͔΋஌Εͳ͍ͷͰݫ͍͔͠΋͠Εͳ͍ͱ͍͏ݒ೦ ͕͋Γࠓճ͸আ֎ • खܰʹεέʔϧ͔ͨͬͨ͠ • ήʔϜͷ߈ུ৘ใΛऔΓѻ͍ͬͯΔͷͰήʔϜݻ༗ͷݻ༗໊ࢺ͕සग़͢Δ͜ ͱΛߟྀͨ͠ઃܭʹ͢Δඞཁ͕͋ͬͨ
  14. ٕज़બఆͱΠϯϑϥߏ੒ • ࠷ॳ͸৽ͨͳऔΓ૊ΈͱϝϦοτΛՃຯͯ͠GoΛબ୒͠Α͏ͱ͍ͯͨ͠ • ݴޠࣗମͷύϑΥʔϚϯε͕Α͍ • ίϯύΠϧͷ࣌ؒ΋ૣ͍͠ • ͳʹΑΓॻ͘ͷָ͕ •

    APIͷσβΠϯΛ͢ΔͨΊʹ goa ͱ͍͏ϑϨʔϜϫʔΫ͕༻ҙ͞Ε͍ͯΔ • ϚΠΫϩαʔϏεͱͯ͠ఏڙ͍ͨ͠ͷʹଧͬͯ෇͚ͩͬͨ • APIυΩϡϝϯτ (Swagger) ΋উखʹు͖ग़ͯ͘͠ΕΔͷͰ • υΩϡϝϯτ͸͋Μ·Γߟྀ͠ͳͯ͘΋Αͦ͞͏
  15. ଴ͯΑ

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

  17. ٕज़બఆͱΠϯϑϥߏ੒ • GameWith ͸ PHP ΛϝΠϯͱͯ͠ѻ͍ͬͯΔձࣾ • ͦ΋ͦ΋౰࣌͸ଞϝϯόʔ͕৽͍͠ݴޠΛֶͿ͕࣌ؒͳ͔ͬͨ • Կ͔͠ΒΠϯγσϯτ͕ൃੜͨ͠৔߹ʹରॲͰ͖Δϝϯόʔ͕ݶΒΕͯ͠

    ·͏ɻ • ࢒Γͷ։ൃظ͕ؒ͜ͷ࣌఺Ͱ 1.5 ϲ݄͘Β͍ʹͳ͍ͬͯͨ • ϨϏϡʔͰ͖Δϝϯόʔͷ͕࣌ؒऔΕͳ͍ɾϓϩδΣΫτʹδϣΠϯͰ͖ ͳ͍ • PHPͰ͋Ε͹୭Ͱ΋։ൃͰ͖Δ
  18. PHPɺࢲୡΛٹͬͯ͘ΕΔͷ͸Ωϛ͔͍͠ͳ͍

  19. ٕज़બఆͱΠϯϑϥߏ੒ • GoͰ͸ͳ͘PHPΛબΜͩ • ͦ΋ͦ΋ElasticsearchͰPHP޲͚ϥΠϒϥϦ͕͋Γɺࠔͬͨͱ͖ʹࢀߟʹͳ Γͦ͏ • Πϯγσϯτ͕ൃੜͨ͠ࡍʹαʔόʔαΠυΤϯδχΞͰ͋Ε͹ɺͲΜͳϝ ϯόʔͰ΋ରԠͰ͖ɺ࠷ѱͷࣗମ͕ى͖ͯ΋αʔϏεͷ෮چ΍ҡ͕࣋଎΍͔ ʹͰ͖Δ

    • LaravelͰඞཁͦ͏ͳCRUDΛΧόʔͰ͖ΔͷͰ։ൃ޻਺ΛݮΒͤͦ͏ • ݸਓతʹ pthreads ΍ Swoole ͳͲΛ࢖ͬͨฒྻɾඇಉظॲཧ΋ࢼ͔ͨͬͨ͠ • ࢼͤ͸ͨ͠΋ͷͷύϑΥʔϚϯενϡʔχϯάʹ࣌ؒΛऔΒΕͦ͏Ͱɹ࣮ݱʹ͸ࢸ Βͣ… ݕࡧAPI͸ Elasticsearch + PHP 7.2 + Laravel 5.6 Ͱ։ൃ͢Δ͜ͱʹͳΓ·ͨ͠
  20. ͬ͘͟ΓΠϯϑϥͷߏ੒Λ ࢥ͍ු͔΂Δ

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

  22. ٕज़બఆͱΠϯϑϥߏ੒ • ͳͥ͜ͷߏ੒ʹ͠Α͏ͱͨ͠ͷ͔ • શจݕࡧΤϯδϯ͸ΞϓϦ͔Β͸ࢀরɺμογϡϘʔυ͔Β͸ॻ͖ࠐΈ͕ߦ ΘΕΔɻ • ήʔϜͷ߈ུهࣄ͸සൟʹߋ৽͞ΕΔͨΊɺߋ৽৘ใ΍࡟আ৘ใΛΩϡʔ Ͱॲཧ͔ͨͬͨ͠ͷͰɺAmazon SQSΛՃ͑ͨ

    • Elasticsearchͷ৑௕ԽͷͨΊσʔλϊʔυ͕2୆Ҏ্ඞཁͩͬͨ • ࠓճͷϓϩμΫτͰ͸ͲΕ͚ͩͷΞΫηε਺͕͋Δ͔࢑ఆͰ͔͠ग़ͤͳ͔ͬ ͕ͨ1୆ͩͱϊʔυ͕յΕͨࡍͷରॲ͕Ͱ͖ͳͦ͞͏Ͱ͋ΔͨΊ
  23. ٕज़બఆͱΠϯϑϥߏ੒ - ࣮ࡍͷߏ੒

  24. ༨ஊ

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

  26. ։ൃ؀ڥ

  27. ٕज़બఆͱΠϯϑϥߏ੒ • ։ൃ؀ڥ͸DockerͰߏ੒ͨ͠ • DockerΛ࢖͏͜ͱʹΑΓɺԿ͕؀ڥʹ͋Δͷ͔໌֬ʹΘ͔ΔΑ͏ʹͳͬͨ • GameWith ͸ Vagrant Λ࢖͏෩ை͕͋ΓɺͲ͏͍ͬͨϛυϧ΢ΣΞ͕͋

    Δ͔ɺͲ͏͍͏ߏ੒ʹͳ͍ͬͯΔͷ͔೺Ѳͮ͠Β͔ͬͨ • ։ൃ؀ڥͱϓϩμΫγϣϯ؀ڥͰඞཁͳ؀ڥͷࠩҟΛແ͔ͨͬͨ͘͠ • ϓϩμΫγϣϯ؀ڥʹ͸͋Δ͕ɺ։ൃ؀ڥʹ͸ͳ͍ɺͱ͍͏ঢ়ଶΛ࡞Γ ͨ͘ͳ͔ͬͨ • ࣾ಺ͰDockerΛϓϩμΫγϣϯʹར༻͢Δͷ͸͜ͷϓϩδΣΫτ͕ॳΊͯ • ৽͍͠௅ઓΛ͢Δ͜ͱ͸͍͍͜ͱɻ৽͍͜͠ͱʹ௅ઓΛͨ͠ͱ͍͏લྫ Λ࡞ΓपΓͷϝϯόʔ΋ɺࣗΒਐΜͰ௅ઓ͍ͯ͘͠෩౔ʹ͍͖͔ͯͨͬ͠ ͨ
  28. σϓϩΠ

  29. ٕज़બఆͱΠϯϑϥߏ੒ • σϓϩΠ͸ Deployer Ͱ • ॻ͘ͷ؆୯ͦ͏ • ։ൃ޻਺͕ 1.5

    ϲ݄ͱ୹͍ͷͰɺ͘͢͝େࣄ • PHP ͱ૬ੑ͕ྑͦ͞͏ • GameWith ࣗମ͸ rsync Ͱ͹Β·͘Α͏ʹͳ͍ͬͯͨ • Capistrano Ͱ΋͍͍ͷͰ͸ͱࢥ͕ͬͨ Ruby Λॻ͚Δϝϯόʔ͕গͳ͍ • ࣮ࡍ͍ͯ͠Δͷ͸ pull ͚ͩ • ͨͩɺ Elasticsearch Ͱ࢖༻͢ΔϢʔβʔࣙॻͷϏϧυͳͲ΋σϓϩΠί Ϛϯυʹೖ͍ͬͯΔ
  30. ࣮ࡍͷ։ൃ

  31. ࣮ࡍͷ։ൃ • ݕࡧγεςϜࣗମͷνʔϜߏ੒͸4໊ମ੍ • αʔόʔαΠυΤϯδχΞ × 1 • GameWith ͷ΢Σϒ໘ͷ։ൃ΍վम΋݉຿

    • ΠϯϑϥΤϯδχΞ × 1 • ଞͷΠϯϑϥ໘ͷλεΫ΋݉຿ • σΟϨΫλʔ × 1 • GameWith ͷ΢Σϒ໘ͷσΟϨΫγϣϯ΋݉຿ • ίʔυϨϏϡϫʔ × 1 • ෦௕ • ଞʹiOS, AndroidΤϯδχΞ
  32. Ϧιʔεগͳ͗͢໰୊ʹ௚໘

  33. Ί͛ͳ͍΋Μ

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

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

  36. API ͷσβΠϯ

  37. ࣮ࡍͷ։ൃ • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ • ݕࡧγεςϜଆ΋࢓༷Λ߹ΘͤΑ͏͔೰Μͩ΋ͷͷɺԼهͷ pros,

    cons ͔ ΒɺಠࣗͰσβΠϯ͢Δ͜ͱʹ͠·ͨ͠ɻ • pros • Ϟμϯͳ API σβΠϯ͕Ͱ͖Δ • Laravel ͷϧʔςΟϯάָ͕ʹͳΔʢ㲈։ൃ޻਺ͷ୹ॖʣ • GameWith ຊମαΠτͱ͸ҧͬͨ΋ͷͱͯ͠ѻ͍͔ͨͬͨʢ㲈ϚΠΫ ϩαʔϏεԽʣ • cons • ϞϊϦγοΫʹͳͬͯ͠·͏ͱɺطʹ͋Δٕज़తෛ࠴ʹߋʹٕज़తෛ ࠴͕ੵΈॏͳͬͯख஗ΕʹͳΔ • ͜ͷͱ͖ɺಉ࣌ʹ GameWith ຊମαΠτ͸ PHP 7.x ʹҠߦ͢Δ४උ Λ͍ͯͨͨ͠Ίɺ৮Εͨ͘ͳ͔ͬͨ
  38. ࣮ࡍͷ։ൃ • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ • ݕࡧγεςϜͷ API

    ͷઃܭ͸͜͏͍ͨ͠ͱ͍͏***ҙࢥදࣔ***Λͯ͠ɺઃܭʹ ؔͯ͠ͷσΟεΧογϣϯΛۃྗݮΒ͠։ൃ޻਺ͷ࡟ݮΛߦ͏ ※͋͘·ͰҙࢥදࣔͳͷͰɺͦͷ͋ͱ͍͔ͭ͘ͷ࣮૷Մ൱΍ຊ౰ʹAPI σβΠϯ͸Ϟμϯ͔ɺͳͲؚΊͯͷσΟεΧογϣϯ͸ߦͬͯ·͢
  39. Swagger Λ࢖ͬͯ API ͷυΩϡϝϯτΛੜ੒

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

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

    Λ༻͍·ͨ͠
  42. Ϣχοτςετ

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

    ͨͩɺ޻਺ͷ໰୊΋͋Γॻ͍ͨͷ͸ϛογϣϯΫϦςΟΧϧͳՕॴͩ ͚ɻ • ͜ͷΤϯυϙΠϯτ͸ઈରʹಈ͘ͱ͍͏৺ཧత҆શੑɻ
  44. ϦϦʔε͢Δ·Ͱ

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

    ίϚϯυ • ϢʔβʔࣙॻΛϏϧυ͢ΔͨΊͷ artisan ίϚϯυ • etc…
  46. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • ϓϩμΫγϣϯ؀ڥΛߏங • QA (Quality Assurance) Λ࣮ࢪ͢ΔͨΊʹϓϩμΫγϣϯ؀ڥͷߏஙΛ͢Δඞ ཁ͕͋ͬͨ •

    iOS, AndroidΤϯδχΞɺσΟϨΫλʔ͔Β࣮ࡍͷσʔλΛݟͯ֬ೝΛ͠ ͍ͨཁ๬ʹ౴͑ΔͨΊ • ϓϩμΫγϣϯ؀ڥͷ Elasticsearch ʹهࣄΛ౤ೖ͍ͯ͘͠ • هࣄͷ݅਺͕਺ेສ݅͋Γ͕͔͔࣌ؒΔ͠ɺࣦഊ͢Δͱ౤ೖ͠௚͠ͳͷ Ͱਏ͔ͬͨ
  47. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • QA (Quality Assurance) ͷ࣮ࢪ • ΠϯςάϨʔγϣϯςετ ΋݉Ͷͯ iOS,

    Android ΤϯδχΞɺαʔόʔαΠ υΤϯδχΞɺσΟϨΫλʔɺ෦௕ͷશһ͕ू݁ͯ͠ɺ࣮ࡍʹεϚϗΛ৮Δɻ ͜͜Ͱग़ͨόά΍ػೳͷ࣮૷ʹ͍ͭͯͷϑΟʔυόοΫΛड͚ͯ ௐ੔Λ͍ͯ͘͠
  48. ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • ෛՙςετͷ࣮ࢪ • ΠϯϑϥΤϯδχΞʹґཔΛ͠ɺ Gatling Λ༻͍ͯෛՙςετͷ࣮ࢪΛߦͬ ͨɻ

  49. ϦϦʔε

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

  51. ϦϦʔεͨ͋͠ͱ

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

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

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

  55. ϦϦʔεͨ͋͠ͱ GameWith Tech Blog Ͱॻ͍ͯΈͨɻ͸ͯͿ͍ͬͺ͍͍ͭͯͯخ͍͠ https://tech.gamewith.co.jp/entry/2018/09/21/122154

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

  57. ௚໘ͨ͠໰୊ • ϦϦʔεͨ͋͠ͱʹ͍͔ͭ͘όά͕ग़͖ͯͨ໰୊ • GameWith ຊମαΠτͷରԠ͕૿͑ͨ • ໘઀ͷԠื͕ଟ͍࣌ظʹॏͳͬͯɺ໘઀ϥογϡ໰୊ • MTG͕ଟ͘ͳͬͨ໰୊

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

  59. ·ͱΊ

  60. ·ͱΊ • ࠓճ͸։ൃʹҙࣝͨ͜͠ͱʹଇͬͯɺٕज़બఆͷࡍʹ୭Ͱ΋Ͱ͖Δ΋ͷΛબΜͩ • ͦͷ্Ͱͦͷ෼໺ͷ৽͍͠΋ͷΛऔΓೖΕ͍ͯͬͨʢDocker΍ PHP 7.2ͳͲʣ • ໌೔ɺࣗ෼͕ަ௨ࣄނʹ͋ͬͨΒʁͱ͍͏͜ͱΛߟ͑ͳ͕ΒਐΊΔͱࣗવͱ୭ʹͰ΋Ͱ ͖Δ΋ͷʹͳ͍ͬͯ͘ײ͕͋͡Δ

    • ඞཁͦ͏ͳλεΫ͸ Issue ʹϝϞΛ࢒ͨ͠΄͏͕͍͍ • ಛʹ݉೚ͷ৔߹ͩͱ๨ΕΔ͜ͱ΋͋ͬͨΓ͢Δ • ͋Δఔ౓୭͔͕ਐΊͳ͍ͱϓϩδΣΫτ͸ਐ·ͳ͍ • ୭ͷ࢓ࣄ͚ͩͬʁͱଞਓ͝ͱʹ͢ΔͷͰ͸ͳ͘ɺԼ஍Λࣗ෼͔Β཰ઌͯ͠࡞͍ͬͯ͘ • APIσβΠϯΛઌʹܾΊ͍ͯͳ͚Ε͹ɺϓϩδΣΫτ͕੒ޭ͔ͨ͠Ͳ͏͔΋ո͍͠ • Πϯϑϥͷߏ੒Λߟ͑ͭͭίʔυΛॻ͍͍ͯ͘ • Πϯϑϥͷߏ੒ʹΑͬͯॻ͘ίʔυ͕ҟͳΔͷͰɺઌʹΠϯϑϥͷઃܭΛ಄ʹࢥ͍ු͔ ΂Δ
  61. ·ͱΊ • ίʔυΛॻ͘͜ͱΛ᪳᪯͠ͳ͍ • ᪳᪯͢ΔͱɺͦΕ͚ͩͰ͕࣌ؒͳ͘ͳͬͯ͠·͏ͷͰɺ᪳᪯͠ͳͯ͘΋͍͍Α͏ͳ࢓૊ ΈΛ࡞ΔɻʢϢχοτςετΛॻ͘ͳΓɺQAΛ࣮ࢪ͢ΔͳΓʣ • ผνʔϜͱԁ׈ͳ࿈ܞΛ͢ΔͨΊʹυΩϡϝϯτΛॻ͘ • API͕Ͳ͏ͳ͍ͬͯΔ͔͸ɺΞϓϦνʔϜ͸஌Βͳ͍ɻ͔ͩΒͦ͜ɺϢϏΩλ

    εݴޠͰ͋ΔυΩϡϝϯτ͸࢒͓ͯ͘͠ɻ • υΩϡϝϯτ͕ͳ͚Ε͹ΞϓϦνʔϜ͸αʔόʔαΠυͷίʔυΛಡΉɺฉ ͘ͱ͍͏ίετ͕ൃੜͯ͠͠·͍ɺ͕࣌ؒ΋͍ͬͨͳ͍ • ͦΕʹɺ͋ͱ͔ΒಡΈฦͤΔ͠ɺ໌೔ަ௨ࣄނʹ͋ͬͯ΋҆৺Ͱ͖Δ • θϩϕʔεͷ։ൃʹ͸ෛՙςετ͸࣮ࢪ͠Α͏ • ϦϦʔε௚ޙʹαʔόʔ͕མͪΔͷ͸൵͍͠ؾ࣋ͪʹͳΔͷͰ • MTG͸அࣺ཭͠Α͏
  62. ൃද͸Ҏ্Ͱ͢

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

  64. THANK YOU