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
42
再発防止策を考える技術 / #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
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
0
520
Oracle Database で機械学習を始めよう! Oracle Machine Learning
oracle4engineer
PRO
1
140
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
210
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
380
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
バッチ処理のSLOをどう設計するか
rynsuke
7
570
大規模データとの戦い方
knih
1
470
Challenges - Open Farming Hackdays 2024
loleg
0
570
GraphQLに入門してみた
chiroruxx
2
130
OpenTelemetry実践 はじめの一歩
taxin
0
320
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
HoneycombとOpenTelemetryでオブザーバビリティに入門してみる
sumiren
2
160
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
Docker and Python
trallard
33
2.6k
Navigating Team Friction
lara
177
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
Thoughts on Productivity
jonyablonski
57
3.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
58
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
111
35k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Embracing the Ebb and Flow
colly
78
4.1k
Debugging Ruby Performance
tmm1
68
11k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Robots, Beer and Maslow
schacon
PRO
154
7.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