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
1.2k
再発防止策を考える技術 #phpconfuk_rej
2018/6/15 【非公式】PHPカンファレンス福岡2018前夜祭リジェクトコンにて発表しました
Sota Sugiura
June 15, 2018
Tweet
Share
More Decks by Sota Sugiura
See All by Sota Sugiura
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
1.5k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
110
再発防止策を考える技術 / #phpconsen
sota1235
10
3.8k
How to choose the best npm module for your team?
sota1235
9
580
Realtime Database for high traffic production application
sota1235
7
4k
Road to migrate JP Web as a microservice
sota1235
4
1.6k
インターフェース再入門 / Think Interface again
sota1235
6
11k
Update around Firebase #io18
sota1235
3
4.3k
Introduction for sonarwhal
sota1235
0
580
Other Decks in Technology
See All in Technology
OpenSearchでレガシーな検索処理の大幅改善をやってやろう
dznbk
2
170
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
2.9k
サーバレス、コンテナ、データベース特化型機能をご紹介。CloudWatch をもっと使いこなそう!
o11yfes2023
0
150
AWSのマルチアカウント管理 ベストプラクティス最新版 2025 / Multi-Account management on AWS best practice 2025
ohmura
4
270
AWSで作るセキュアな認証基盤with OAuth mTLS / Secure Authentication Infrastructure with OAuth mTLS on AWS
kaminashi
0
120
.mdc駆動ナレッジマネジメント/.mdc-driven knowledge management
yodakeisuke
24
12k
Running JavaScript within Ruby
hmsk
3
300
LiteXとオレオレCPUで作る自作SoC奮闘記
msyksphinz
0
550
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
430
Road to Go Gem #rubykaigi
sue445
0
240
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
290
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
3
410
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Writing Fast Ruby
sferik
628
61k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A Tale of Four Properties
chriscoyier
158
23k
Scaling GitHub
holman
459
140k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
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