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
再発防止策を考える技術 #phpconfuk_rej
Search
Sota Sugiura
June 15, 2018
Technology
1
1k
再発防止策を考える技術 #phpconfuk_rej
2018/6/15 【非公式】PHPカンファレンス福岡2018前夜祭リジェクトコンにて発表しました
Sota Sugiura
June 15, 2018
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
39
再発防止策を考える技術 / #phpconsen
sota1235
10
3.5k
How to choose the best npm module for your team?
sota1235
9
450
Realtime Database for high traffic production application
sota1235
7
3.7k
Road to migrate JP Web as a microservice
sota1235
4
1.4k
インターフェース再入門 / Think Interface again
sota1235
6
10k
Update around Firebase #io18
sota1235
3
4.1k
Introduction for sonarwhal
sota1235
0
470
JavaScriptユニットテストの理想と現実
sota1235
13
7k
Other Decks in Technology
See All in Technology
どうやってWebサービスのページ表示速度を1/3にしたか / how-to-reduce-display-speed
pinkumohikan
2
470
皆がすなるカオスエンジアリングといふものを、ネットワークオペレーションでもしてみむとてするなり
tjmtrhs
0
120
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
hssh2_bin
4
590
自己完結な開発者組織を支える プラットフォーム作り
recruitengineers
PRO
2
230
Node-AI のリッチな WEB フロントエンドを支える技術
nenonaninu
2
970
実録_マルチテナント環境でのGmailガイドライン対応
ryuichi1208
7
1.5k
SREのキャリア、 あるいは生態 / #ya8
cohalz
10
1k
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
1
120
庁舎DX推進ガイドブック
senryakuka
0
1.7k
Uniting Rust Servers and Clients through OpenAPI
ahl
0
430
プレイヤーとしてのチームのテスト力UP/Improving team skills for testing
goyoki
2
220
『LeanとDevOpsの科学』をきちんと解読する 〜Four Keys だけじゃ絶対もったいなくなる話〜
bonotake
27
6.5k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
58
4.9k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
Facilitating Awesome Meetings
lara
39
5.5k
Writing Fast Ruby
sferik
619
59k
Practical Orchestrator
shlominoach
180
9.6k
Happy Clients
brianwarren
91
6.3k
Gamification - CAS2011
davidbonilla
76
4.5k
Designing with Data
zakiwarfel
94
4.8k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
18
1.8k
Transcript
࠶ൃࢭࡦΛߟ͑Δٕज़ @sota1235 PHPΧϯϑΝϨϯεԬ2018લࡇϦδΣΫτίϯ 2018/6/15
ͪͳڈ
https://twitter.com/hasegawayosuke/status/873390578678996992
ຯΛΊͨCfP • ࠶ൃࢭࡦΛߟ͑Δٕज़
ຯΛΊͨCfP • ࠶ൃࢭࡦΛߟ͑Δٕज़ • PHP͡Όͳͯ͘…
ຯΛΊͨCfP • ࠶ൃࢭࡦΛߟ͑Δٕज़ • PHP͡Όͳͯ͘… • JavaScriptϢχοτςετͷཧͱݱ࣮
ຯΛΊͨCfP • ࠶ൃࢭࡦΛߟ͑Δٕज़ • PHP͡Όͳͯ͘… • JavaScriptϢχοτςετͷཧͱݱ࣮ • JavaScriptPHPͩͬͨͷ͔
͍͢·ͤΜͰͨ͠ ྑ͍ൃද͢Δͧ
var_dump($me); • Sota Sugiura(͖ΓΜ) • @sota1235 • Mercari, Inc. •
কདྷͷເJavaScriptʹ ͳΔ͜ͱͰ͢
ձɺΓ্͕ͬͯ·͔͢ʁ
։ൃɺͯ͠·͔͢ʁ
γεςϜোɺى͖ͯ·͔͢ʁ
None
ςʔϚ γεςϜো
ςʔϚ γεςϜোʹཱ͔ͪ͏
ΞδΣϯμ • 1ষ ࠶ߟ γεςϜোͱ • 2ষ γεςϜোʹཱ͔ͪ͏ • 3ষ
࣮ફʂ࠶ൃࢭࡦ
1ষ ࠶ߟ γεςϜোͱ
ఆٛ “γεςϜোͱɺใγεςϜ͕ԿΒ͔ͷෆ ۩߹ʹΑͬͯͦͷػೳʹࢧোΛདྷͨ͠ɺຊདྷͷ ػೳ͕ར༻Ͱ͖ͳ͍ঢ়ଶͷ͜ͱͰ͋Δɻ” Ҿ༻: https://www.weblio.jp/content/γεςϜো
ఆٛ “γεςϜোͱɺใγεςϜ͕ԿΒ͔ͷෆ ۩߹ʹΑͬͯͦͷػೳʹࢧোΛདྷͨ͠ɺຊདྷͷ ػೳ͕ར༻Ͱ͖ͳ͍ঢ়ଶͷ͜ͱͰ͋Δɻ” Ҿ༻: https://www.weblio.jp/content/γεςϜো
୭͕ར༻͢Δػೳʁ • to CͳΒΞϓϦΛμϯϩʔυ͓ͨ͠٬͞· • to BαʔϏεͳΒܖઌͷࣾһ͞Μ • ࣾγεςϜͳΒࣗࣾࣾһ
ҙਤ͠ͳ͍ڍಈ
͓٬͞·ʹӨڹͷग़Δ ҙਤ͠ͳ͍ڍಈ
͜Εʁ • ΦϖϨʔγϣϯϛε • ༷௨Γ͕͓ͩ٬͞·ʹӨڹͷग़Δػೳ
γεςϜোͱɺ݁Ռ ݪҼ ɾγεςϜόά ɾΦϖϨʔγϣϯϛε ɾӡ༻ϛε ݁Ռ ɾը໘ʹΤϥʔ͕දࣔ ɾϨΠςϯγ͕̎ഒʹ ɾςετPush௨
͡Ό͋͜Εʁ • όά͚ͩͲӨڹൣғ֎ • ͓٬͞·ʹΤϥʔදࣔ͞Εͳ͍͕ϩά͕ߥ ΒͿΔ • ෆཁͳใ͕Ϩεϙϯεʹࠞͬͯ͟Δ
ηʔϑʁ https://giphy.com/gifs/wmwhitecaps-umpire-ump-david-gonzalez-3o6Zt4OIZEm5KE0DTi
Ξτ • Өڹ͕ͰΔՄೳੑ͕͋Δɺ͋ͬͨ͘͠ • જࡏతͳγεςϜো • ͨ·ͨ·ηʔϑ͚ͩͬͨͩ
ͳͥ݁ՌηʔϑͰ γεςϜোʁ
োऩଋͯ͠ αʔϏεଓ͔͘Β
1ষ·ͱΊ • γεςϜোͱ݁Ռͱͯ͠ • ͓٬͞·ʹӨڹ͕ͰΔͷ • Өڹ͕Ͱ͔ͨ͠Εͳ͍ͷ • ݪҼγεςϜతͳͷʹݶΒͳ͍
2ষ γεςϜোʹཱ͔ͪ͏
Ͳ͏ཱ͔ͪ͏ʁ • ͓٬͞·ʹӨڹΛग़͞ͳ͍ͨΊʹোΛग़ ͞ͳ͚Ε͍͍ • ͭ·ΓɺোΛग़͞ͳ͍։ൃΛ͢Ε͍͍ • ࠷ߴͰʁʁʁʁ
োग़ͣ͞ʹ։ൃͰ͖Δਓ
ݱ࣮ݫ͍͠+
ड͚ೖΕΔ͖ͨͬͨ1ͭͷࣄ࣮ ͲΜͳʹ༏लͳਓͰϛεΛ͢Δ
োʮى͖Δʯ • ਓ͕αʔϏεΛ࡞ΔݶΓɺ ϛεى͖Δ • ͭ·Γোແ͘ͳΒͳ͍ • োΛແ͘͢ํ๏։ൃΛ ΊΔ͜ͱ͚ͩ ը૾Ҿ༻:
http://cartoontester.blogspot.com/2013/10/field-of-dreams-rip-off.html
Ͳ͏͖͔͢ • ো͕ى͖Δ֬ΛݮΒ͢
Automation & Karakuri
Automation ਓ͕͠ͳ͍͍ͯ͘͜ͱΛ͠ͳ͍ Karakuri ਓ͕ϛε͍͍ͯ͠ΈΛͭ͘Δ
Automation • ੩తղੳʹΑΔࣗಈϨϏϡʔ • ࠶ൃࢭͷࣗಈςετ
Karakuri • PushπʔϧͷValidationڧԽ • ϓϩάϥϜ্ͷϩδοΫͰཧతʹى͖ͳ͍ Α͏վम͢Δ
Ҿ༻: https://qiita.com/hirokidaichi/items/f9f4549c88aaf8b38bda ਓؒͱ͍͏ίϯϙʔωϯτΛ ࠶ൃࢭʹೖΕͳ͍
2ষ·ͱΊ • ਓϛεΛ͢Δ • ࣦഊΛೝΊɺࣦഊ͔ΒֶͿ • ֶͼΛAutomation & KarakuriΛ࣠ʹ࣮ફͱ ঢ՚͢Δ
3ষ ࣮ફʂ࠶ൃࢭࡦ
ݱͷΛ͠·͢
ϝϧΧϦͷোରԠϑϩʔ োൃੜ ऩଋ ৼΓฦΓ ରԠ
ϝϧΧϦͷোରԠϑϩʔ োൃੜ ऩଋ ৼΓฦΓ ରԠ
ৼΓฦΓͰ͠ͳ͍͜ͱ • ͷٻ • লจͷಡΈ߹Θͤ
ৼΓฦΓͰ͢Δ͜ͱ • Automation & KarakuriΛ࣮ݱ͢Δ࠶ൃࢭ ͷݕ౼ • ͷਂ۷Γ
Who? োऩଋ • ऩଋޙɺରԠؔऀ ͰใࠂॻΛॻ͘ • ৼΓฦΓΛ͢ΔͨΊ ͷใΛॻ͘
Who? োऩଋ ࣄऀɺνʔϜͰߟ͑Δ • ·ͣࣄऀɺνʔ ϜͰ࠶ൃࢭࡦΛߟ ͑Δ
Who? োऩଋ ࣄऀɺνʔϜͰߟ͑Δ ΈΜͳͰߟ͑Δ • ߟ͑ͨͷΛΈΜͳ ͰϨϏϡʔ͢Δ • νʔϜͰग़ͯ͜ͳ͍ ΞΠσΟΞ͕ग़ͯ͘
Δ͜ͱ͋Δ
How? • िʹ1ɺSlack্ͰΦϯϥΠϯͰ࣮ࢪ • ୭ͰࢀՃͰ͖Δ • [ݕࡧ][ϝϧΧϦͷ3ͭͷValueͰऔΓΉΠϯ γσϯτରԠ] http://tech.mercari.com/entry/2018/04/10/090453
ΈΜͳͰݟΔඞཁ͋Δʁ • ࣾͷྺઓͷऀ͔Βݟ͕Β͑Δ • ผ৬छͷࢹ͕ಘΒΕΔ • OKͳΒOKͰ͓ർΕ༷Ͱͨ͠ͱͳΔ
࠶ൃࢭͷࢦඪ • ৽ਓ͕ಉ͜͡ͱΛͯ͠࠶ൃ͠ͳ͍͔ʁ • ਓ͕࡞ۀ͠ͳ͍Α͏ʹͰ͖Δ͔ʁ • ೋͱى͖ͳ͍Α͏ʹͰ͖Δ͔ʁ Karakuri Automation Karakuri
Backendͷྫ • ࣗಈςετͷՃ • ಠࣗνΣοΫεΫϦϓτΛCIͰ࣮ߦ • ϝϯςφϯεϞʔυͷ࣮
ࣾπʔϧͷྫ • ࣮ࡍͷোʹج͍ͮͨݖݶ੍ޚValidationॲ ཧͷՃ • खӡ༻Ͱ͍ͬͯͨ࡞ۀΛࣗಈԽ
ͦͷଞ • ϑΣʔϧιϑτͷࣗಈҠߦͷΈ࣮ • ΫϥυαʔϏεͷࡉ͔͍ϞχλϦϯά
શ෦࠶ൃࢭͰ͖Δͷʁ • ෆՄೳͰͳ͍(ͱ৴ͯ͡Δ) • ݱ࣮ɺίεύ͕ѱ͍ͷ͋Δ • ࠷খݶͷྗͷ݁Ռɺ࠷େݶʹਓؒͱ͍͏ί ϯϙʔωϯτ͕ؔΘΔՕॴΛڱ͘͢Δ
3ষ·ͱΊ • ϝϧΧϦͰ࠶ൃࢭʹՁΛݟग़ͯ͠Δ • Automation&KarakuriΛ࣠ʹि1ճɺΈΜͳͰ ৼΓฦΓΛ͢Δ
·ͱΊ
োใࠂॻࢿ࢈ • োαʔϏε͕ΔݶΓى͖ଓ͚Δ • ى͖ͨো͖ͪΜͱৼΓฦΓɺ࠶ൃࢭࡦ Λߟ͑ͯࢿ࢈ͱঢ՚ͤ͞Δ • େࣄͳͷະདྷͷ͓٬͞·ͷӨڹΛͲΕͩ ͚ݮΒͤΔ͔
࠶ൃࢭࡦਐԽ͕ඞཁ • Λଓ͚ΔαʔϏεͦͷɺো૿͑ ͍͢ • Microservicesٕज़ͷଟ༷Խ͕ਐΉͱ࠶ൃ ࢭͷқ্͕͍ͬͯ͘ • ࠶ൃࢭͷΈৗʹਐԽ͍ͯ͘͠ඞཁ͕ ͋Δ
Thank you