Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHP Conference Sendai 2019 presentation slides
Search
memory
PRO
January 26, 2019
Programming
3
4.2k
PHP Conference Sendai 2019 presentation slides
PHP Conference Sendai / 2019
Presentation slides
memory
PRO
January 26, 2019
Tweet
Share
More Decks by memory
See All by memory
コードゴルファー道
m3m0r7
PRO
0
260
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
230
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.1k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
220
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
140
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.7k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
2.7k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
860
令和最新版 PHP メモリ管理術
m3m0r7
PRO
7
4.5k
Other Decks in Programming
See All in Programming
2ヶ月で生産性2倍、お買い物アプリ「カウシェ」4チーム同時改善の取り組み
ike002jp
1
110
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
140
MCP調べてみました! / Exploring MCP
uhzz
2
2.3k
AI時代の開発者評価について
ayumuu
0
230
Make Parsers Compatible Using Automata Learning
makenowjust
2
6.1k
Glue Studio Visual ETL実装時にハマったこと
kokitamura
0
100
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
180
エンジニアが挑む、限界までの越境
nealle
1
290
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
2
10k
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
230
파급효과: From AI to Android Development
l2hyunwoo
0
150
RubyKaigi Dev Meeting 2025
tenderlove
1
830
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Code Review Best Practice
trishagee
67
18k
Building an army of robots
kneath
305
45k
Agile that works and the tools we love
rasmusluckow
329
21k
KATA
mclloyd
29
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
157
25k
Transcript
։ൃظؒ2ϲ݄Ͱ Elasticsearch ΛϓϩμΫτʹ ͬͯϦϦʔεͨ͠ PHPΧϯϑΝϨϯεઋ 2019/01/26 ΊΓʔ(@m3m0r7)
ͩΕʁ ΊΓʔ(@m3m0r7) Ͱ͢ɻ ը૾͏ͪͷϋϜελʔͷ Lily ͪΌΜͰ͢ɻ ౦ژͷຊʹ͋Δ גࣜձࣾ GameWith ͱ͍͏
ձࣾͰಇ͍ͯ·͢ɻ ͦͷੲɺPHPͰJavaͷόΠτίʔυΛ ಡΜͰͨͳͲ
ͱ͜ΖͰɺΈͳ͞Μ GameWith ͝ଘͰ͔͢ʁ
GameWith ʹ͍ͭͯ
ࠓήʔϜ߈ུʹ͍͓ͭͯ͠·͢
GameWith ʹ͍ͭͯ ήʔϜ߈ུʮGameWithʯͰ͕͢ɺ ࣮ΣϒαΠτҎ֎ʹΞϓϦ͕͋Γ·͢
GameWith ʹ͍ͭͯ ήʔϜ߈ུʮGameWithʯͰ͕͢ɺ ࣮ΣϒαΠτҎ֎ʹΞϓϦ͕͋Γ·͢
ࠓ͜͜ͷݕࡧػೳͷ όοΫΤϯυͷ։ൃͷΛ͠·͢
θϩϕʔε͔Βͷ։ൃͰҙࣝͨ͜͠ͱ
θϩϕʔε͔Βͷ։ൃͰҙࣝͨ͜͠ͱ • ҙࣝͨ͜͠ͱ5 • ᶃ ୭Ͱ։ൃͰ͖ΔΑ͏ʹ͢ΔϝϯλϦςΟ • ᶄ ৽͍͜͠ͱʹઓ͢ΔϝϯλϦςΟ •
ᶅ ࠳͚ͳ͍ϝϯλϦςΟ • ᶆ ਏ͍ঢ়گΛָ͠ΉϝϯλϦςΟ • ᶇ ۀ͠ͳ͍ͧͱ͍͏ڧ͍ϝϯλϦςΟ
͜ͷҙࣝΛͱʹ։ൃ͍͖ͯ͠·ͨ͠
ٕज़બఆͱΠϯϑϥߏ
ٕज़બఆͱΠϯϑϥߏ • શจݕࡧΤϯδϯࢥྀʹࢥྀΛॏͶElasticsearchΛબఆͨ͠ • Groongaͱ͍͏બࢶ͋ͬͨ • ݕࡧੑೳ Elasticsearch ΑΓ Groonga
ͷ΄͏্͕Β͍͠ • ࢀߟ: http://blog.createfield.com/entry/2014/04/21/120023 • ৗ࣌ଓ͕ສ͑Δ͔Εͳ͍ͷͰݫ͍͔͠͠Εͳ͍ͱ͍͏ݒ೦ ͕͋Γࠓճআ֎ • खܰʹεέʔϧ͔ͨͬͨ͠ • ήʔϜͷ߈ུใΛऔΓѻ͍ͬͯΔͷͰήʔϜݻ༗ͷݻ༗໊ࢺ͕සग़͢Δ͜ ͱΛߟྀͨ͠ઃܭʹ͢Δඞཁ͕͋ͬͨ
ٕज़બఆͱΠϯϑϥߏ • ࠷ॳ৽ͨͳऔΓΈͱϝϦοτΛՃຯͯ͠GoΛબ͠Α͏ͱ͍ͯͨ͠ • ݴޠࣗମͷύϑΥʔϚϯε͕Α͍ • ίϯύΠϧͷ࣌ؒૣ͍͠ • ͳʹΑΓॻ͘ͷָ͕ •
APIͷσβΠϯΛ͢ΔͨΊʹ goa ͱ͍͏ϑϨʔϜϫʔΫ͕༻ҙ͞Ε͍ͯΔ • ϚΠΫϩαʔϏεͱͯ͠ఏڙ͍ͨ͠ͷʹଧ͚ͬͯͩͬͨ • APIυΩϡϝϯτ (Swagger) উखʹు͖ग़ͯ͘͠ΕΔͷͰ • υΩϡϝϯτ͋Μ·Γߟྀ͠ͳͯ͘Αͦ͞͏
ͯΑ
ͦͦฐࣾ Go ॻ͚Δਓ͕΄ͱΜͲ͍ͳ͔ͬͨ
ٕज़બఆͱΠϯϑϥߏ • GameWith PHP ΛϝΠϯͱͯ͠ѻ͍ͬͯΔձࣾ • ͦͦ࣌ଞϝϯόʔ͕৽͍͠ݴޠΛֶͿ͕࣌ؒͳ͔ͬͨ • Կ͔͠ΒΠϯγσϯτ͕ൃੜͨ͠߹ʹରॲͰ͖Δϝϯόʔ͕ݶΒΕͯ͠
·͏ɻ • Γͷ։ൃظ͕ؒ͜ͷ࣌Ͱ 1.5 ϲ݄͘Β͍ʹͳ͍ͬͯͨ • ϨϏϡʔͰ͖Δϝϯόʔͷ͕࣌ؒऔΕͳ͍ɾϓϩδΣΫτʹδϣΠϯͰ͖ ͳ͍ • PHPͰ͋Ε୭Ͱ։ൃͰ͖Δ
PHPɺࢲୡΛٹͬͯ͘ΕΔͷΩϛ͔͍͠ͳ͍
ٕज़બఆͱΠϯϑϥߏ • GoͰͳ͘PHPΛબΜͩ • ͦͦElasticsearchͰPHP͚ϥΠϒϥϦ͕͋Γɺࠔͬͨͱ͖ʹࢀߟʹͳ Γͦ͏ • Πϯγσϯτ͕ൃੜͨ͠ࡍʹαʔόʔαΠυΤϯδχΞͰ͋ΕɺͲΜͳϝ ϯόʔͰରԠͰ͖ɺ࠷ѱͷࣗମ͕ى͖ͯαʔϏεͷ෮چҡ͕͔࣋ ʹͰ͖Δ
• LaravelͰඞཁͦ͏ͳCRUDΛΧόʔͰ͖ΔͷͰ։ൃΛݮΒͤͦ͏ • ݸਓతʹ pthreads Swoole ͳͲΛͬͨฒྻɾඇಉظॲཧࢼ͔ͨͬͨ͠ • ࢼͤͨ͠ͷͷύϑΥʔϚϯενϡʔχϯάʹ࣌ؒΛऔΒΕͦ͏Ͱɹ࣮ݱʹࢸ Βͣ… ݕࡧAPI Elasticsearch + PHP 7.2 + Laravel 5.6 Ͱ։ൃ͢Δ͜ͱʹͳΓ·ͨ͠
ͬ͘͟ΓΠϯϑϥͷߏΛ ࢥ͍ු͔Δ
ٕज़બఆͱΠϯϑϥߏ ※μογϡϘʔυͱGameWithͷϥΠλʔ͕༻͢Δཧը໘ͷ͜ͱͰ͢
ٕज़બఆͱΠϯϑϥߏ • ͳͥ͜ͷߏʹ͠Α͏ͱͨ͠ͷ͔ • શจݕࡧΤϯδϯΞϓϦ͔ΒࢀরɺμογϡϘʔυ͔Βॻ͖ࠐΈ͕ߦ ΘΕΔɻ • ήʔϜͷ߈ུهࣄසൟʹߋ৽͞ΕΔͨΊɺߋ৽ใআใΛΩϡʔ Ͱॲཧ͔ͨͬͨ͠ͷͰɺAmazon SQSΛՃ͑ͨ
• ElasticsearchͷԽͷͨΊσʔλϊʔυ͕2Ҏ্ඞཁͩͬͨ • ࠓճͷϓϩμΫτͰͲΕ͚ͩͷΞΫηε͕͋Δ͔ఆͰ͔͠ग़ͤͳ͔ͬ ͕ͨ1ͩͱϊʔυ͕յΕͨࡍͷରॲ͕Ͱ͖ͳͦ͞͏Ͱ͋ΔͨΊ
ٕज़બఆͱΠϯϑϥߏ - ࣮ࡍͷߏ
༨ஊ
͜ͷΠϯϑϥߏΛ GameWith ͷ Tech ϒϩάʹ ॻ͍ͨͱ͜Ζɺelastic ͷํ͔ΒΠϯϑϥߏʹ͍ͭͯ ΞυόΠεΛ͚·ͨ͠ɻ
։ൃڥ
ٕज़બఆͱΠϯϑϥߏ • ։ൃڥDockerͰߏͨ͠ • DockerΛ͏͜ͱʹΑΓɺԿ͕ڥʹ͋Δͷ͔໌֬ʹΘ͔ΔΑ͏ʹͳͬͨ • GameWith Vagrant Λ͏෩ை͕͋ΓɺͲ͏͍ͬͨϛυϧΣΞ͕͋
Δ͔ɺͲ͏͍͏ߏʹͳ͍ͬͯΔͷ͔Ѳͮ͠Β͔ͬͨ • ։ൃڥͱϓϩμΫγϣϯڥͰඞཁͳڥͷࠩҟΛແ͔ͨͬͨ͘͠ • ϓϩμΫγϣϯڥʹ͋Δ͕ɺ։ൃڥʹͳ͍ɺͱ͍͏ঢ়ଶΛ࡞Γ ͨ͘ͳ͔ͬͨ • ࣾͰDockerΛϓϩμΫγϣϯʹར༻͢Δͷ͜ͷϓϩδΣΫτ͕ॳΊͯ • ৽͍͠ઓΛ͢Δ͜ͱ͍͍͜ͱɻ৽͍͜͠ͱʹઓΛͨ͠ͱ͍͏લྫ Λ࡞ΓपΓͷϝϯόʔɺࣗΒਐΜͰઓ͍ͯ͘͠෩ʹ͍͖͔ͯͨͬ͠ ͨ
σϓϩΠ
ٕज़બఆͱΠϯϑϥߏ • σϓϩΠ Deployer Ͱ • ॻ͘ͷ؆୯ͦ͏ • ։ൃ͕ 1.5
ϲ݄ͱ͍ͷͰɺ͘͢͝େࣄ • PHP ͱ૬ੑ͕ྑͦ͞͏ • GameWith ࣗମ rsync ͰΒ·͘Α͏ʹͳ͍ͬͯͨ • Capistrano Ͱ͍͍ͷͰͱࢥ͕ͬͨ Ruby Λॻ͚Δϝϯόʔ͕গͳ͍ • ࣮ࡍ͍ͯ͠Δͷ pull ͚ͩ • ͨͩɺ Elasticsearch Ͱ༻͢ΔϢʔβʔࣙॻͷϏϧυͳͲσϓϩΠί Ϛϯυʹೖ͍ͬͯΔ
࣮ࡍͷ։ൃ
࣮ࡍͷ։ൃ • ݕࡧγεςϜࣗମͷνʔϜߏ4໊ମ੍ • αʔόʔαΠυΤϯδχΞ × 1 • GameWith ͷΣϒ໘ͷ։ൃվम݉
• ΠϯϑϥΤϯδχΞ × 1 • ଞͷΠϯϑϥ໘ͷλεΫ݉ • σΟϨΫλʔ × 1 • GameWith ͷΣϒ໘ͷσΟϨΫγϣϯ݉ • ίʔυϨϏϡϫʔ × 1 • ෦ • ଞʹiOS, AndroidΤϯδχΞ
Ϧιʔεগͳ͗͢ʹ໘
Ί͛ͳ͍Μ
࣮ࡍͷ։ൃ - ঢ়گѲΛԁʹਐΊΔͨΊʹࢥ͍͍ͭͨλεΫΛશͯ Issue Խ͓ͯ͘͠ - ͲΜͳʹࠣࡉͳ͜ͱ Issue ʹॻ͍ͯΕͳ͍Α͏ʹ͍ͯͨ͠
࣮ࡍͷ։ൃ - ঢ়گѲΛԁʹਐΊΔͨΊʹࢥ͍͍ͭͨλεΫΛશͯ Issue Խ͓ͯ͘͠ - ػೳͷઃܭΛߟ͑ͭͭಉ࣌ʹ։ൃΛ͍͖ͯ͠ɺࢥ͍͍ͭͨΒIssueʹίϝϯτ Λ͚ͭΔ
API ͷσβΠϯ
࣮ࡍͷ։ൃ • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ • ݕࡧγεςϜଆ༷Λ߹ΘͤΑ͏͔ΜͩͷͷɺԼهͷ pros,
cons ͔ ΒɺಠࣗͰσβΠϯ͢Δ͜ͱʹ͠·ͨ͠ɻ • pros • Ϟμϯͳ API σβΠϯ͕Ͱ͖Δ • Laravel ͷϧʔςΟϯάָ͕ʹͳΔʢ㲈։ൃͷॖʣ • GameWith ຊମαΠτͱҧͬͨͷͱͯ͠ѻ͍͔ͨͬͨʢ㲈ϚΠΫ ϩαʔϏεԽʣ • cons • ϞϊϦγοΫʹͳͬͯ͠·͏ͱɺطʹ͋Δٕज़తෛ࠴ʹߋʹٕज़తෛ ࠴͕ੵΈॏͳͬͯखΕʹͳΔ • ͜ͷͱ͖ɺಉ࣌ʹ GameWith ຊମαΠτ PHP 7.x ʹҠߦ͢Δ४උ Λ͍ͯͨͨ͠Ίɺ৮Εͨ͘ͳ͔ͬͨ
࣮ࡍͷ։ൃ • طʹ GameWith ΞϓϦಠࣗͷ API ͕ଘࡏ͍ͯ͠Δ • ݕࡧγεςϜͷ API
ͷઃܭ͜͏͍ͨ͠ͱ͍͏***ҙࢥදࣔ***Λͯ͠ɺઃܭʹ ؔͯ͠ͷσΟεΧογϣϯΛۃྗݮΒ͠։ൃͷݮΛߦ͏ ※͋͘·ͰҙࢥදࣔͳͷͰɺͦͷ͋ͱ͍͔ͭ͘ͷ࣮Մ൱ຊʹAPI σβΠϯϞμϯ͔ɺͳͲؚΊͯͷσΟεΧογϣϯߦͬͯ·͢
Swagger Λͬͯ API ͷυΩϡϝϯτΛੜ
࣮ࡍͷ։ൃ • Swagger Λͬͯ API ͷυΩϡϝϯτΛੜ͍ͯͬͨ͠ • ։ൃ͕ͲΜͳʹਏͯ͘υΩϡϝϯτΛॻ͘ͷ͚ͩଵΒͳ͔ͬͨ
࣮ࡍͷ։ൃ • Swagger Λͬͯ API ͷυΩϡϝϯτΛੜ͍ͯͬͨ͠ • Swagger ͷੜʹ zircote/swagger-php
Λ༻͍·ͨ͠
Ϣχοτςετ
࣮ࡍͷ։ൃ • PHPUnit Λ͍ϢχοτςετΛඞͣॻ͍ͨ • ϢχοτςετΛॻ͍ͯɺ࣮ͨ͠ API ͷΤϯυϙΠϯτ͕ઈରʹಈ࡞͢Δ อূ͕΄͔ͬͨ͠ •
ͨͩɺͷ͋Γॻ͍ͨͷϛογϣϯΫϦςΟΧϧͳՕॴͩ ͚ɻ • ͜ͷΤϯυϙΠϯτઈରʹಈ͘ͱ͍͏৺ཧత҆શੑɻ
ϦϦʔε͢Δ·Ͱ
ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • ϓϩμΫγϣϯڥ༻ͷίϚϯυΛ͍͔ͭ͘༻ҙͨ͠ • هࣄΛೖ͢ΔͨΊͷ artisan ίϚϯυ • هࣄΛআ͢ΔͨΊͷ artisan
ίϚϯυ • ϢʔβʔࣙॻΛϏϧυ͢ΔͨΊͷ artisan ίϚϯυ • etc…
ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • ϓϩμΫγϣϯڥΛߏங • QA (Quality Assurance) Λ࣮ࢪ͢ΔͨΊʹϓϩμΫγϣϯڥͷߏஙΛ͢Δඞ ཁ͕͋ͬͨ •
iOS, AndroidΤϯδχΞɺσΟϨΫλʔ͔Β࣮ࡍͷσʔλΛݟͯ֬ೝΛ͠ ͍ͨཁʹ͑ΔͨΊ • ϓϩμΫγϣϯڥͷ Elasticsearch ʹهࣄΛೖ͍ͯ͘͠ • هࣄͷ͕݅ेສ݅͋Γ͕͔͔࣌ؒΔ͠ɺࣦഊ͢Δͱೖ͠͠ͳͷ Ͱਏ͔ͬͨ
ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • QA (Quality Assurance) ͷ࣮ࢪ • ΠϯςάϨʔγϣϯςετ ݉Ͷͯ iOS,
Android ΤϯδχΞɺαʔόʔαΠ υΤϯδχΞɺσΟϨΫλʔɺ෦ͷશһ͕ू݁ͯ͠ɺ࣮ࡍʹεϚϗΛ৮Δɻ ͜͜Ͱग़ͨόάػೳͷ࣮ʹ͍ͭͯͷϑΟʔυόοΫΛड͚ͯ ௐΛ͍ͯ͘͠
ϓϩμΫγϣϯʹϦϦʔε͢Δ·Ͱ • ෛՙςετͷ࣮ࢪ • ΠϯϑϥΤϯδχΞʹґཔΛ͠ɺ Gatling Λ༻͍ͯෛՙςετͷ࣮ࢪΛߦͬ ͨɻ
ϦϦʔε
ϦϦʔε - ແࣄϦϦʔεʂ࠳͚ͳ͍ͰલʹਐΉ͜ͱେࣄʂ
ϦϦʔεͨ͋͠ͱ
ϦϦʔεͨ͋͠ͱ ৼΓฦΔͱ։ൃظؒ 1.5 ϲ݄΄ͲͰ͜Ε͚ͩͷίϛοτΛͯ͠͠·ͬͨ
ϦϦʔεͨ͋͠ͱ ։ൃʹܞΘͬͨਓͰɺৼΓฦΓΛߦͬͨ
ϦϦʔεͨ͋͠ͱ χΫΞβϒͰম৯ͨ
ϦϦʔεͨ͋͠ͱ GameWith Tech Blog Ͱॻ͍ͯΈͨɻͯͿ͍ͬͺ͍͍ͭͯͯخ͍͠ https://tech.gamewith.co.jp/entry/2018/09/21/122154
ͦΕͰɺ͍Ζ͍Ζʹ໘ͨ͠
໘ͨ͠ • ϦϦʔεͨ͋͠ͱʹ͍͔ͭ͘όά͕ग़͖ͯͨ • GameWith ຊମαΠτͷରԠ͕૿͑ͨ • ໘ͷԠื͕ଟ͍࣌ظʹॏͳͬͯɺ໘ϥογϡ • MTG͕ଟ͘ͳͬͨ
• ϦϦʔεऴΘͬͨ͋ͱʹΞαΠϯͨͯ͢͠ͷλεΫͷܹ ͕Γͳ͍ͱײ͡Δ
ͦΕͰϦϦʔεͰ͖ͨͷͰΊͰͨ͠ΊͰͨ͠
·ͱΊ
·ͱΊ • ࠓճ։ൃʹҙࣝͨ͜͠ͱʹଇͬͯɺٕज़બఆͷࡍʹ୭ͰͰ͖ΔͷΛબΜͩ • ͦͷ্Ͱͦͷͷ৽͍͠ͷΛऔΓೖΕ͍ͯͬͨʢDocker PHP 7.2ͳͲʣ • ໌ɺ͕ࣗަ௨ࣄނʹ͋ͬͨΒʁͱ͍͏͜ͱΛߟ͑ͳ͕ΒਐΊΔͱࣗવͱ୭ʹͰͰ ͖Δͷʹͳ͍ͬͯ͘ײ͕͋͡Δ
• ඞཁͦ͏ͳλεΫ Issue ʹϝϞΛͨ͠΄͏͕͍͍ • ಛʹ݉ͷ߹ͩͱΕΔ͜ͱ͋ͬͨΓ͢Δ • ͋Δఔ୭͔͕ਐΊͳ͍ͱϓϩδΣΫτਐ·ͳ͍ • ୭ͷࣄ͚ͩͬʁͱଞਓ͝ͱʹ͢ΔͷͰͳ͘ɺԼΛ͔ࣗΒઌͯ͠࡞͍ͬͯ͘ • APIσβΠϯΛઌʹܾΊ͍ͯͳ͚ΕɺϓϩδΣΫτ͕ޭ͔ͨ͠Ͳ͏͔ո͍͠ • ΠϯϑϥͷߏΛߟ͑ͭͭίʔυΛॻ͍͍ͯ͘ • ΠϯϑϥͷߏʹΑͬͯॻ͘ίʔυ͕ҟͳΔͷͰɺઌʹΠϯϑϥͷઃܭΛ಄ʹࢥ͍ු͔ Δ
·ͱΊ • ίʔυΛॻ͘͜ͱΛ᪳͠ͳ͍ • ᪳͢ΔͱɺͦΕ͚ͩͰ͕࣌ؒͳ͘ͳͬͯ͠·͏ͷͰɺ᪳͠ͳ͍͍ͯ͘Α͏ͳ ΈΛ࡞ΔɻʢϢχοτςετΛॻ͘ͳΓɺQAΛ࣮ࢪ͢ΔͳΓʣ • ผνʔϜͱԁͳ࿈ܞΛ͢ΔͨΊʹυΩϡϝϯτΛॻ͘ • API͕Ͳ͏ͳ͍ͬͯΔ͔ɺΞϓϦνʔϜΒͳ͍ɻ͔ͩΒͦ͜ɺϢϏΩλ
εݴޠͰ͋ΔυΩϡϝϯτ͓ͯ͘͠ɻ • υΩϡϝϯτ͕ͳ͚ΕΞϓϦνʔϜαʔόʔαΠυͷίʔυΛಡΉɺฉ ͘ͱ͍͏ίετ͕ൃੜͯ͠͠·͍ɺ͕͍࣌ؒͬͨͳ͍ • ͦΕʹɺ͋ͱ͔ΒಡΈฦͤΔ͠ɺ໌ަ௨ࣄނʹ͋ͬͯ҆৺Ͱ͖Δ • θϩϕʔεͷ։ൃʹෛՙςετ࣮ࢪ͠Α͏ • ϦϦʔεޙʹαʔόʔ͕མͪΔͷ൵͍͠ؾ࣋ͪʹͳΔͷͰ • MTGஅࣺ͠Α͏
ൃදҎ্Ͱ͢
WE ARE HIRING ! ࢲୡҰॹʹήʔϜۀքΛΓ্͛ͯ͘ΕΔ ؒΛ୳͍ͯ͠·͢ʂ ͝ڵຯ͕͋Δํ @m3m0r7 ·Ͱ͝࿈བྷ͓ئ͍͠·͢
THANK YOU