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
マネージドクラウドのリリース速度を上げるお話 / Increase release speed...
Search
sunecosuri
May 23, 2018
Programming
2
330
マネージドクラウドのリリース速度を上げるお話 / Increase release speed for managed cloud
sunecosuri
May 23, 2018
Tweet
Share
More Decks by sunecosuri
See All by sunecosuri
'Securing Web Apps with Modern Platform Features' を意訳してみる / Translate Securing Web Apps with Modern Platform Features
sunecosuri
2
360
Vue.js × TypeScript でclass style componentを廃止した話 / migrated-class-style-component -for-vuejs-and-typescrpit
sunecosuri
2
4.4k
Nuxt.js のbuid速度が早くなるオプションのいくつかについて / Increase-build-speed-for-Nuxt.js
sunecosuri
1
1.4k
about-vue-hooks.pdf
sunecosuri
1
730
Nuxt.js におけるCSPの連携について / content security policy for Nuxt.js
sunecosuri
0
2.5k
ロリポップマネージドクラウドでAlexaスキルを開発しよう / let's development alexa skill by lolipop managed cloud
sunecosuri
1
220
Reconsider Content Security Policy for WEB Application
sunecosuri
0
100
Other Decks in Programming
See All in Programming
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
380
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
590
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.6k
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
580
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
520
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.4k
クラシルを支える技術と組織
rakutek
0
190
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
390
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Practical Orchestrator
shlominoach
190
11k
Building Applications with DynamoDB
mza
96
6.6k
Building Adaptive Systems
keathley
43
2.8k
Facilitating Awesome Meetings
lara
56
6.6k
How to Think Like a Performance Engineer
csswizardry
27
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
How GitHub (no longer) Works
holman
315
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Transcript
໐ւ߂ً(.01FQBCP *OD ϩϦϙοϓʂϚωʔδυΫϥυ::NFFUJOH ϚωʔδυΫϥυͷ ϦϦʔεΛ্͛Δ͓
ΤϯδχΞ ໐ւ߂ً!TVOFDPTVSJ ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓ ϚωʔδυΫϥυνʔϜ
ࠓճϚωʔδυΫϥυΛߏ͢Δ ϑϩϯτΤϯυʹযΛ͓ͯͯ͠·͢
ϚωʔδυΫϥυͷ ϑϩϯτΤϯυ
None
None
ͲͷΑ͏ͳ͜ͱΛߦ͍ͬͯΔͷ͔ 501ϖʔδ
ͲͷΑ͏ͳ͜ͱΛߦ͍ͬͯΔͷ͔ μογϡϘʔυ
ϑϩϯτΤϯυͰղܾ͍ͨ͠՝ͱٕज़ wϖʔδؒͷߴભҠͰϢʔβମݧΛߴΊ͍ͨ ˠ4FSWFS4JEF3FOEFSJOH 443 º4JOHMF1BHF"QQMJDBUJPO 41" wμογϡϘʔυܧଓͯ͠։ൃ͠ଓ͚ΔͨΊʹػೳ͕ෳࡶԽ͍͢͠ ˠ7VFKT w41"Ͱίϯςϯπʹ߹Θͤͯ)5.-Λग़ྗ͢Δ͜ͱͰదʹ0(1
ରԠΫϩʔϦϯά͞Ε͍ͨ ˠ/VYUKT
ϖʔδؒͷߴભҠͰ69ΛߴΊ͍ͨ
4JOHMF1BHF"QQMJDBUJPO 41" wϖʔδભҠϕʔεͰͳ͘ɺ+BWB4DSJQUͰ ΄΅ͯ͢ͷಈ͖Λ࣮ݱ͢Δ8FCΞϓϦέʔγϣϯ wϖʔδભҠΛ+BWB4DSJQUͷ੍ޚԼʹ͋ΔͷͰ ը໘͕มΘͬͯϦϩʔυΛൃੜͤ͞ͳ͍Α͏ʹͰ͖Δ wϒϥβͷڍಈʹറΒΕͳ͍6*69ͷ࣮ݱ͕Մೳ w5XJUUFS'BDFCPPLͷ8FCΞϓϦέʔγϣϯ41"
4FSWFS4JEF3FOEFSJOH 443 w8FCΞϓϦέʔγϣϯͷඳը %0.ͷੜ Λ༧ΊαʔόʔଆͰॲཧ ͔ͯ͠ΒΫϥΠΞϯτʹૹ৴͢Δٕज़ w1)13VCZͳͲͰ࡞ͬͨ41"Ͱͳ͍8FCΞϓϦέʔγϣϯ 8FCαΠταʔόʔαΠυϨϯμϦϯά͍ͯ͠Δͱݴ͑Δ
41"ɺ443ͷΠϝʔδ 1)1 )5.- +4 1)1 1)1 ϖʔδભҠ ϖʔδભҠ "KBYͰใΛऔಘ ඞཁʹԠͯ͡ը໘ͷߋ৽
443ͷ߹ 41"ͷ߹ "1*
41"º443ͷΠϝʔδ "KBYͰใΛऔಘ ඞཁʹԠͯ͡ը໘ͷߋ৽ 41"º443ͷ߹ "1* 1)1 ॳظදࣔ )5.- +4 )5.-
+4
μογϡϘʔυܧଓͯ͠։ൃ͠ଓ͚ ΔͨΊʹػೳ͕ෳࡶԽ͍͢͠
None
7VFKT w3FBDUɺ"OHVMBSʹଓ͘WJFXͷϑϨʔϜϫʔΫ wγϯϓϧͰڧྗͳ"1*ɺ7JSUVBM%0. ը໘ͷߋ৽͕ߴ w7VFY ঢ়ଶཧ ɺ7VF3PVUFS ϧʔςΟϯάཧ ͳͲ
ڧྗͳެࣜϥΠϒϥϦ w4JOHMF'JMF$PNQPOFOU 4'$ w7VFKTΛύʔπͱͯ͠ॻ͚ΔΈ
ʮ3FBDUʁʯ ʮ"OHVMBSʁʯ
ͳͥ7VFKTͳͷ͔ʁ wখ࢝͘͞Ίɺগͣͭ͛͠ΒΕΔΑ͏ͳઃܭ w4JOHMF'JMF$PNQPOFOU 4'$ wϩδοΫελΠϧͷݟ௨͕͘͢͠͠Ұ؏ੑͱอकੑ͕ߴ͍ wσβΠφʔ৽͘͠ೖͬͨΤϯδχΞͰ͠Έ͘͢ڠۀ͍͢͠ TUZMF TDSJQU UFNQMBUF
WVFϑΝΠϧ
7VFKTͷͳʹ͕خ͍͔͠ wίϯϙʔωϯτࢦͰ։ൃ͕Ͱ͖Δ w༷มߋ͕͋ͬͯखΓΛ࠷খݶʹ খ͞ͳ෦ͷू·ΓͰϖʔδΛߏ͢ΔͷͰӨڹൣғ͕গͳ͘ࡁΉ w࠶ར༻Ͱ͖Δ͜ͱͰ࣮ྔΛݮΒͤΔ w4'$ʹΑͬͯؔ৺͕Ͱ͖Δ ϑΝΠϧΛ͚Δ͜ͱͰૄͳঢ়ଶΛอ͍ͪ͢
ҰํͰʜ 7VFKTখճΓ͕͖͘໘ɺ ࣗ༝ʹॻ͚ͯ͠·͍͗͢Δ
None
/VYUKT w7VFKTͱपลπʔϧΛར༻ͨ͠41"ͷϑϨʔϜϫʔΫ wαʔόʔαΠυϨϯμϦϯάରԠ w7VFY ঢ়ଶཧ ɺ7VF3PVUFS ϧʔςΟϯάཧ ʹରԠ w1PTU$44ͳͲͷ֦ுػೳʹରԠ͠ɺ4'$ͱ࿈ܞͯ͠༻Մೳ wϚωʔδυΫϥυͰ/VYUW
OVYUFEHF ͰՔಇ͍ͯ͠Δ
ͳͥ/VYUKTͳͷ͔ʁ w7VFKTখճΓ͕͖͕͘ɺࣗ༝ʹॻ͚ͯ͠·͍͗͢Δ wࣗ༝ͳ͜ͱྑ͍͜ͱ͕ͩɺίʔυ͕ͯ͠ߦ͘ͱͦ͏ߦ͔ͳ͍ w/VYUKTԿΛͲ͜ʹஔ͠ɺͲ͏ॻ͚ྑ͍͔͕ެࣜυΩϡϝϯτ ʹ͋Δ w/PEFKTΛͬͨ4FSWFS4JEF3FOEFSJOHͷϊϋ͕ແ͔ͬͨ w/VYUKT443͕ػೳͱͯ͠༻ҙ͞Ε͍ͯΔͷͰͦͷ҆৺
/VYUKTͷجຊతͳྲྀΕ 7VFؔ࿈͢ΔεΫϦϓτ $44ɺը૾ͳͲͷΞηοτΛ࡞ /VYUKTͷఆ͢ΔσΟϨΫτϦʹஔ 8FCQBDLͰτϥϯεύΠϧ WVFMPBEFSͳͲΛར༻ )5.-+4ʹม͞ΕΔ αʔόʔͱͯ͠༻͢Δ߹443༗ޮ w ίϯύΠϧ͔Βઌͷॲཧ/VYUKT෦ͰΑ͠ͳʹߦͬͯ͘ΕΔ
w /VYUKT͚ͩͰαʔόʔͱͯ͠ಈ࡞͢Δଞɺ&YQSFTTͳͲͷαʔόʔΞϓϦέʔγϣϯͱ࿈ܞͰ͖Δ
ϧʔςΟϯάͷྫ QBHFTԼʹ4'$Λஔ͢Δ͚ͩͰ ϧʔςΟϯά͕ઃఆՄೳ wQBHFTJOEFYWVF wτοϓϖʔδ wQBHFTMPHJOWVF wϩάΠϯϖʔδ wQBHFTDPOTPMFQSPKFDU@OBNFJOEFYWVF wϓϩδΣΫτݸผͷৄࡉϖʔδ w@OBNFมͱ࣮ͯ͠ߦ࣌ʹड͚औΕΔ
σΟϨΫτϦͷߏΛݩʹࣗಈతʹ ϧʔςΟϯά͕ߏங͞ΕΔ ಈతϧʔςΟϯάઃఆՄೳ
/VYUKTͷͳʹ͕خ͍͔͠ wϧʔϧʹै͏͜ͱͰࣗવʹ443͢Δ͜ͱ͕Ͱ͖Δ wΫϥΠΞϯτଆͰͷը໘ͷॳظඳըΛܰݮ wσΟϨΫτϦͷߏ͕γϯϓϧͰ֦ு͍͢͠ wϑϩϯτͰαʔόαΠυͰಉ͡ίʔυͰӡ༻Ͱ͖Δ αʔόαΠυͰ&YQSFTTΛ࠾༻͍ͯ͠ΔͨΊɺॲཧΛڞ௨Խ͍͢͠
ЋϦϦʔεޙɺ·ͨ৽ͨͳ՝͕ʜ
৽ͨͳ՝ w։ൃ͕ਐΉʹ࿈ΕͯυΩϡϝϯτԽ͞Ε͍ͯͳ͍+BWB4DSJQU ˠ5ZQF4DSJQU wίϯϙʔωϯτʹ͓͚Δઃܭख๏͕ըҰԽ͞Ε͍ͯͳ͍ wಉׂ͡Λ࣋ͬͨࣅͨΑ͏ͳίϯϙʔωϯτΛੜΈग़ͯ͠Δ wؾ͕͚ͭίϯϙʔωϯτʹґଘͨ͠ઃܭʹͳͬͯΔ w໋໊ϧʔϧͳͲͳ͔ͬͨͨΊΧΦεʹʜ ˠ6*ϑϨʔϜϫʔΫ 7VFUJGZKT ͷಋೖ
։ൃ͕ਐΉʹ࿈Εͯ υΩϡϝϯτԽ͞Ε͍ͯͳ͍+BWB4DSJQU
5ZQF4DSJQU w.JDSPTPGUൃͷ੩తܕͷBMU+4 w੩తղੳʹΑΓཧΤϥʔ͕ݮΒͤΔ wίϯύΠϥʹΑΔίʔυิͰ࠶ར༻ੑͷߴ͍ίʔυΛॻ͖͍͢
5ZQF4DSJQUº7VFKTͷੑʹ͍ͭͯ w7VFKT͕ެࣜͰ5ZQF4DSJQUΛαϙʔτ ܕఆٛʹΑΔิ͕Ͱ͖Δ QMVHJOܕఆ͕ٛͳ͍ύοέʔδಠࣗͰఆٛ͢Δඞཁ͕͋Δ wܕʹΑΔ੍͕͋Δ͜ͱͰͲ͜Ͱͳʹ͕Ͱ͖Δ͔͙͢Θ͔ͬͯศར wઌɺࣾͷ5ZQF4DSJQUܯͷखʹΑΓ+BWB4DSJQUͷίʔυશͯΛ 5ZQF4DSJQUʹஔ͖͕͑ྃͨ͠
ίϯϙʔωϯτʹ͓͚Δઃܭख๏͕ ըҰԽ͞Ε͍ͯͳ͍
7VFUJGZKT wϞόΠϧσόΠεͷλονɺϑϦοΫૢ࡞ʹରԠ w(JUIVC4UBSɿ wυΩϡϝϯτҰ෦ຊޠԽ
छྨҎ্ͷ๛ͳίϯϙʔωϯτ
υΩϡϝϯτ͕උ͞Ε͍ͯΔ wඞཁͳύϥϝʔλΦϓγϣϯ͕Θ͔Γ͘͢ॻ͔Ε͍ͯΔ wαϯϓϧ͝ͱʹDPEFQFOʹͯσϞ͕ఏڙ ֤ίϯϙʔωϯτΛ࣮ࡍʹΧελϚΠζͯ͠ಈ͔͢͜ͱ͕Ͱ͖Δ
7VFUJGZͷಋೖͰؾʹͨ͠ wଟ༻͢ΔHSJEϨΠΞτͷΧελϚΠζ͕େม ΠϨΪϡϥʔͳௐΛ͍ͨ͠߹ɺࣗͨͪͰHSJEϨΠΞτΛ ͯ͠͠·͏ͱͭΒ͍ wڧ͗͢ΔσϑΥϧτελΠϧ ࡉ͔͍ͱ͜Ζ·Ͱ৭Λઃఆ͞Εͯ͠·͏ͷͰɺτʔϯˍϚφʔʹ߹Θ ͤΔͨΊʹফ͢Δ͔͠Εͳ͍
͜ΕΒͷʹཱ͔ͪ͏ͨΊʹ wҰؾʹಋೖ͢ΔͷͰͳ͘બతʹಋೖ͢Δ Ϙλϯɺݟग़͠ɺϥϕϧɺϦετΛࢼݧతʹஈ֊Λ͚ͯར༻͢Δ ྑ͚Ε࠾༻ɺѱ͚Ε͢ΔํͰνʔϜͰೝࣝΛ߹Θͤͨ wςʔϚػೳΛ༻͍Δ దʹࢦఆ͢Δ͜ͱͰσϑΥϧτελΠϧʹ֓ͶରԠͰ͖ͨ
6*ϑϨʔϜϫʔΫͷϝϦοτ wΠϨΪϡϥʔͳσβΠϯʹͩ͜ΘΒͳ͚Εָ͕Ͱ͖Δ ظతʹϝϯςφϯείετΛ͑ΒΕΔ wఏڙ͞Ε͍ͯΔίϯϙʔωϯτͷ༷͕ϓϩάϥϚϒϧ σβΠϯɺ࣮ʹ͓͍ͯ౷ҰײΛ࣋ͨͤΒΕΔ
6*ϑϨʔϜϫʔΫͷϝϦοτ wैདྷͷϫʔΫϑϩʔ ը໘ઃܭ σβΠφʔ ઃܭ σʔλόΠϯσΟϯά ΤϯδχΞ 6*ίʔσΟϯά ը໘ઃܭ σβΠφʔ
̲̲ͅ ઃܭ σʔλόΠϯσΟϯά ΤϯδχΞ 6*ίʔσΟϯά w6*ϑϨʔϜϫʔΫಋೖޙͷϫʔΫϑϩʔ
·ͱΊ wϚωʔδυΫϥυ7VFKTº/VYUKTº5ZQF4DSJQUͰͰ͖ͯΔ wίϯϙʔωϯτͰͷ։ൃσβΠϯΛΈԽ͢Δ͜ͱͰมߋʹڧ͘ɺ ฒߦͰ։ൃͰ͖࠶ར༻͍͢͠ͷͰޮԽͰ͖Δ w 6*ϑϨʔϜϫʔΫίʔυͷடংΛอͪ͘͢͢Δ͚ͩͰͳ͘ ΤϯδχΞ͔ΒͷϘτϜΞοϓతͳΞϓϩʔν͕ߦ͑Δ͜ͱͰσβΠ φͱͷ࿈ܞޮԽ ˠεϐʔυͱ࣭Λཱ྆͠ΧΦεʹؕΓʹ͘͘ͳΔ
ϫʔΫϑϩʔºઃܭͷ౷ҰԽ ʹ։ൃͷ্
ػೳͷཁΛΨϯΨϯөͰ͖ΔΑ͏ Ҿ͖ଓ͖վળ͍͖ͯ͠·͢ʂ