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
270
コードゴルファー道
m3m0r7
PRO
0
350
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
250
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.2k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
220
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
150
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.7k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
2.8k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
890
Other Decks in Programming
See All in Programming
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
380
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
エンジニア向け採用ピッチ資料
inusan
0
160
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
380
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
230
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
Benchmark
sysong
0
270
エラーって何種類あるの?
kajitack
5
310
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
410
Featured
See All Featured
Scaling GitHub
holman
459
140k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
A designer walks into a library…
pauljervisheath
207
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Six Lessons from altMBA
skipperchong
28
3.8k
GitHub's CSS Performance
jonrohan
1031
460k
A Tale of Four Properties
chriscoyier
160
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
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