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.3k
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
JVM の仕組みを理解して PHP で実装してみよう
m3m0r7
PRO
1
310
コードゴルファー道
m3m0r7
PRO
0
430
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
270
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
230
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
150
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.8k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
2.9k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
930
Other Decks in Programming
See All in Programming
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
980
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
500
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
370
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
CSC305 Lecture 04
javiergs
PRO
0
250
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
300
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
440
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
900
CSC305 Lecture 01
javiergs
PRO
1
400
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Context Engineering - Making Every Token Count
addyosmani
5
170
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.6k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Visualization
eitanlees
148
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Gamification - CAS2011
davidbonilla
81
5.5k
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