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
320
マネージドクラウドのリリース速度を上げるお話 / 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
340
Vue.js × TypeScript でclass style componentを廃止した話 / migrated-class-style-component -for-vuejs-and-typescrpit
sunecosuri
2
4.3k
Nuxt.js のbuid速度が早くなるオプションのいくつかについて / Increase-build-speed-for-Nuxt.js
sunecosuri
1
1.3k
about-vue-hooks.pdf
sunecosuri
1
720
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
210
Reconsider Content Security Policy for WEB Application
sunecosuri
0
97
Other Decks in Programming
See All in Programming
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
12
6.4k
Interface vs Types ~型推論が過多推論~
hirokiomote
1
230
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
340
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
190
インターフェース設計のコツとツボ
togishima
2
490
Parallel::Pipesの紹介
skaji
2
870
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
630
Passkeys for Java Developers
ynojima
1
210
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
540
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
620
Reactive Thinking with Signals, Resource API, and httpResource @Devm.io Angular 20 Launch Party
manfredsteyer
PRO
0
130
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
46
14k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
It's Worth the Effort
3n
184
28k
Producing Creativity
orderedlist
PRO
346
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Designing Experiences People Love
moore
142
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
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*ϑϨʔϜϫʔΫίʔυͷடংΛอͪ͘͢͢Δ͚ͩͰͳ͘ ΤϯδχΞ͔ΒͷϘτϜΞοϓతͳΞϓϩʔν͕ߦ͑Δ͜ͱͰσβΠ φͱͷ࿈ܞޮԽ ˠεϐʔυͱ࣭Λཱ྆͠ΧΦεʹؕΓʹ͘͘ͳΔ
ϫʔΫϑϩʔºઃܭͷ౷ҰԽ ʹ։ൃͷ্
ػೳͷཁΛΨϯΨϯөͰ͖ΔΑ͏ Ҿ͖ଓ͖վળ͍͖ͯ͠·͢ʂ