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.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
内製したSlack Appで頑張るIncident Response@Waroom Meetup #1 / Incident Response with Slack App in 10X
sota1235
0
1.1k
20220926_セキュリティチームの今_for_Drs._Prime_公開用.pdf
sota1235
0
75
再発防止策を考える技術 / #phpconsen
sota1235
10
3.7k
How to choose the best npm module for your team?
sota1235
9
550
Realtime Database for high traffic production application
sota1235
7
3.9k
Road to migrate JP Web as a microservice
sota1235
4
1.5k
インターフェース再入門 / Think Interface again
sota1235
6
10k
Update around Firebase #io18
sota1235
3
4.2k
Introduction for sonarwhal
sota1235
0
550
Other Decks in Technology
See All in Technology
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
The Rise of LLMOps
asei
8
1.7k
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
いざ、BSC討伐の旅
nikinusu
2
780
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
TypeScript、上達の瞬間
sadnessojisan
46
13k
AIチャットボット開発への生成AI活用
ryomrt
0
170
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
AGIについてChatGPTに聞いてみた
blueb
0
130
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
190
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
180
Featured
See All Featured
Become a Pro
speakerdeck
PRO
25
5k
It's Worth the Effort
3n
183
27k
Designing Experiences People Love
moore
138
23k
Making Projects Easy
brettharned
115
5.9k
Ruby is Unlike a Banana
tanoku
97
11k
Bash Introduction
62gerente
608
210k
Designing for humans not robots
tammielis
250
25k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A Philosophy of Restraint
colly
203
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Why Our Code Smells
bkeepers
PRO
334
57k
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