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
天下一 静的サイトホスティング 武道会 / World Static Site Hosting...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
did0es
February 07, 2020
Technology
0
400
天下一 静的サイトホスティング 武道会 / World Static Site Hosting Tournament
did0es
February 07, 2020
Tweet
Share
More Decks by did0es
See All by did0es
うわっ...私のSwagger、古すぎ...?grpc-gateway向けのSwaggerと向き合う
shuta13
0
120
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
330
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
8
820
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2.4k
5分でわかるPreactのVDOMで作るWebエディタ
shuta13
0
240
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
780
codemodとうまく付き合うには
shuta13
0
2.9k
プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話
shuta13
4
980
CyberAgent Developer Conference(CADC) 2023 LP開発の舞台裏
shuta13
0
290
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
170
AI時代のSaaSとETL
shoe116
1
190
Lambda Web AdapterでLambdaをWEBフレームワーク利用する
sahou909
0
180
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
130
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
200
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
370
JAWS DAYS 2026 AWS知識・技術力を使って隠された旗をゲットせよ!〜出張版「ごーとんカップ」〜 解説編
kaminashi
0
110
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
110
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
160
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
200
OCHaCafe S11 #2 コンテナ時代の次の一手:Wasm 最前線
oracle4engineer
PRO
2
150
GCASアップデート(202601-202603)
techniczna
0
220
Featured
See All Featured
Thoughts on Productivity
jonyablonski
75
5.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
220
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
640
Visualization
eitanlees
150
17k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
[SF Ruby Conf 2025] Rails X
palkan
2
840
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Transcript
ఱԼҰ੩తαΠτϗεςΟϯάಓձ UBNCPVSJOFJOD.FFU6Q גࣜձࣾλϯόϦϯΤϯδχΞΞϧόΠτ ฏҪඔଠ TIVUB
XIPBNJ ฏҪඔଠ TIVUB ͬͯΔ8FCϑϩϯτΤϯυΤϯδχΞɾσβΠφʔɾେֶੜ EJEFTNF!EJEFT
͜͏͍͏͜ͱͬͯ·͢ ɾ1PEDBTU։ൃ ɾ4MBDL#PU։ൃ ɾ8FCدΓͷҊ݅ॾʑʜ
ࠓ͢͜ͱ
ͱ͋Δ-5ͷϦεϖΫτΛ͍͖ͬͯ·͢ ͱ͋Δ-5 IUUQTTQFBLFSEFDLDPNQDI@KQXPSMEEFWTFSWFSUPVSOBNFOU
ఱԼҰ੩తαΠτϗεςΟϯάಓձ
ࢀՃࢿ֨ ੩తαΠτΛϗεςΟϯάͰ͖Δ
બखೖ
/P ;FJU/PX
/P (PPHMF"QQ&OHJOF
/P /FUMJGZ
/P 'JSFCBTF)PTUJOH
ิ "844 (PPHMF$MPVE4UPSBHF ͷ͓ࡒ͕ා͍ͷͰ༧બམͪͰ͢
ධՁํ๏ ɾ$*$%ͷΈ͢͞ ɾઃఆ͢͠͞ ɾͦͷଞ ɾΘ͔Γ͢͞ ίϚϯυͷ͞ ɾ(JU)VC͔ΒσϓϩΠ ͦΕͧΕຬͷܭຬͰ͢ ɾͦͷଞ
ճઓઃఆ͢͠͞
̍ճઓϗεςΟϯάͷઃఆ͕ Γ͍͔͢Ͳ͏͔ͷൺֱͰ͢
/VYUKT /FYUKTͷαΠτΛ ϗεςΟϯάΛ͢ΔલఏͰ͖ͬͯ·͢
ͦΕͧΕϗεςΟϯάͯ͠Έͯ Θ͔Γ͢͞ɺखܰ͞Λಘʹ͍͖ͯ͠·͢
/P ;FJU/PX ɾ४උ ɾ(JU)VCͰϩάΠϯ$-*ͰϩάΠϯ $ yarn global add $ now
άϩʔόϧԚછຊʹਃ͠༁ͳ͍
/P ;FJU/PX ɾ/FYUKT ɾOPXͬͯଧ͚ͭͩʂരʂ $ now ɾΑ͔ͬͨͶ
/P ;FJU/PX ɾ/VYUKT ɾOPXKTPOʹઃఆ͕ඞཁ W ɾ͋ͱOVYUΛJHOPSFOPXͬͯଧ͚ͭͩʂരʂ
/P ;FJU/PX ɾOPXͬͯଧ͚ͭͩͰ͍͍ ɾจࣈͳͷͰ͍֮͑͢ɺ ɾ ΄΅ θϩίϯϑΟά ɾͦ͏ͩͶɺ ɾ߹ܭ
/P (PPHMF"QQ&OHJOF ɾ४උ ɾ($1ʹϩάΠϯ ొ 4%,Πϯετʔϧ ɾ4%,μϯϩʔυͯ͠JOTUBMMTIΛ࣮ߦ ɾΊΜͲ͍͚͘͞ͲؤுΔ
/P (PPHMF"QQ&OHJOF ɾ/FYUKT ɾ("&ͰϓϩδΣΫτ࡞Δɺ*%ϝϞΔ $ gcloud init ɾJOJUɺϓϩδΣΫτ*%Λબ
/P (PPHMF"QQ&OHJOF ɾ/FYUKT ɾBQQZBNMΛ࡞
/P (PPHMF"QQ&OHJOF ɾ/FYUKT ɾOQNTDSJQUTͷOFYUTUBSUʹQ͚ͭΔ
/P (PPHMF"QQ&OHJOF ɾ/FYUKT ɾσϓϩΠ $ yarn build && gcloud app
deploy
/P (PPHMF"QQ&OHJOF ɾ/VYUKT ɾ("&ͰϓϩδΣΫτ࡞Δɺ*%ϝϞΔ $ gcloud init ɾJOJUɺϓϩδΣΫτ*%Λબ
/P (PPHMF"QQ&OHJOF ɾ/VYUKT ɾBQQZBNMΛ࡞
/P (PPHMF"QQ&OHJOF ɾ/VYUKT ɾσϓϩΠ $ gcloud app deploy
/P (PPHMF"QQ&OHJOF ɾHDMPVEೖΕΔͷ͕ͪΐͬͱΊΜͲ͍͘͞ ɾೖΕΕޙEPDT௨Γ ɾίϯϑΟάॻ͔ͳ͍ͱ͍͚ͳ͍ ɾ߹ܭ ɾͱΓ͋͑ͣ ɾ·͋ςϯϓϨʔτ͋Δ͍͔ͬ͠ʂ
/P /FUMJGZ ɾ४උ ɾ(JU)VCͰϩάΠϯ
/P /FUMJGZ ɾ/FYUKT ɾOQNTDSJQUTʹFYQPSUΛՃ ɾOVYUHFOFSBUFΈ͍ͨͳίϚϯυͷͣ
/P /FUMJGZ ɾ/FYUKT ɾޙ/FUMJGZଆͷઃఆΛ(6*Ͱϙνϙν
/P /FUMJGZ ɾ/VYUKT ɾ/FUMJGZଆͷઃఆΛ(6*Ͱϙνϙν
/P /FUMJGZ $ yarn global add netlify-cli ɾ༨ஊ ɾOPXΈ͍ͨʹ$-*ͰͰ͖Δɺ͠·ͤΜ͕ʜ $
netlify deploy -d dist # nuxt
/P /FUMJGZ ɾ(6*͕Θ͔Γ͍͢ɺ$-*͠Γ·Μ ɾ͍ɺ ɾ ΄΅ θϩίϯϑΟάOFUMJGZUPNMʹॻ࣌͋͘Δ ɾͦ͏ͩͶɺ ɾ߹ܭ
/P 'JSFCBTF)PTUJOH ɾ४උ ɾ(PPHMFͰϩάΠϯ$-*ͰϩάΠϯ $ yarn global add firebase-tools $
firebase login άϩʔόϧԚછ͜Μʹͪʂ
/P 'JSFCBTF)PTUJOH ɾ/FYUKT ɾެࣜFYBNQMFΛ͏ͷ͕Ұ൪खͬऔΓૣ͍ $ yarn create next-app ―example with-firebase-hosting
<hoge> $ yarn predeploy && yarn deploy ɾσϓϩΠ ɾطଘͷͷΛվम͢Δͱ͖ؤுΓ͕ඞཁ
/P 'JSFCBTF)PTUJOH ɾ/VYUKT $ firebase init ɾJOJU ɾEJTUΛࢦఆ $ yarn
build && yarn generate ɾEJTUͳ͔ͬͨΒੜ
/P 'JSFCBTF)PTUJOH ɾ/VYUKT $ firebase deploy ɾσϓϩΠ ɾOPXͷͪΐͬͱख͔͔ؒΔ൛
/P 'JSFCBTF)PTUJOH ɾOPXΈ͍ͨɻͰίϚϯυ͍ ɾ͏ʔΜɺ ɾ)PTUJOHͷΈͰ݁͠ʹ͍͘߹ଟ͍ ɾ/FYUKTͰ'JSFCBTF'VODUJPOTཁΔ ɾ߹ܭ ɾ·͋ςϯϓϨʔτ͋Δ͍͔ͬ͠ʂ
ճઓ$*$%ͷΈ͢͞
̎ճઓ$*$%ΛύοͱΊΔ͔Ͱ͢
ΈΜͳʙ
ίʔυཧʹԿ͍ͬͯ·͔͢ʁ
(JU)VCͰ͢ΑͶʁ
(JU)VCܦ༝Ͱ$*$%ΛΉ ྲྀΕͰ͍͖·͢
લ४උ ɾ༻πʔϧ(JU)VC"DUJPOT ɾඞཁʹͳͬͨΒ͏ɺZBNMॻ͘ ɾ$*ͰΔ͜ͱ ɾͱΓ͋͑ͣࠓճςετΛΒͤΔ ɾ$%ͰΔ͜ͱ ɾNBTUFSʹQVTI$*ύεͰσϓϩΠ
લ४උ ɾ(JU)VC"DUJPOTʹ͍ͭͯ ɾ6CVOUVMBUFTUίϯςφΛ͏ ɾ/PEFWYΛ͏ ɾ͍ͷͰ͜͜ΒΜͷهड़ը૾͔Βল͍ͯ·͢
ਐΊํ ɾ/FYUKT /VYUKTͰ$*$%Ή ɾઃఆͷΘ͔Γ͢͞ɺख͕ܰ͞ධՁର
/P ;FJU/PX ɾ$*$%४උ ɾ"DUJPOT͍͍͚ͬͯͲҧ͏Γํ ɾΛ͠Α͏ͱ͚ͨ͠Ͳ$%Ίͯ$*Ίͳ͍ ɾͳͷͰ"DUJPOT͏ ɾ/PXͰUPLFOऔಘ͠ͱ͘
/P ;FJU/PX ɾ/VYUKT ɾ;FJU/PX%FQMPZNFOU͕Կނ͔ྃ͠ͳ͍ ɾॿ͚ͯʢٽʣ
/P ;FJU/PX ɾ/FYUKT ɾͱΓ͋͑ͣZBNMॻ͘ɺͰ͖Δɺಈ͘
/P ;FJU/PX ɾ༨ஊ$% ɾEBTICPBSE͔Β(6*ϙνϙνઃఆՄ
/P ;FJU/PX ɾ"DUJPOTࣗମ;FJU/PX%FQMPZNFOU͚ͩͰࡁΉ ɾ$%(6*ͰҰԠઃఆͰ͖Δ ɾؤுͬͯཉ͍͠ͷͰ͋͛Δ ɾ߹ܭ ɾͨͩɺ/VYUKT͕࠷৽ͷ%FQMPZNFOUͰಈ͔ͳ͍
/P (PPHMF"QQ&OHJOF ɾ$*$%४උ ɾ"DUJPOT͍·͢ ɾΒ͔ͯ͠"DUJPOTͷఱҪ͕Έ͑ͨͷͰखॱ͚ͩʜ
/P (PPHMF"QQ&OHJOF ɾ/VYUKT ɾͱΓ͋͑ͣZBNMॻ͘ɺಈ͍ͯ΄͍͠
/P (PPHMF"QQ&OHJOF ɾ/FYUKT ɾͱΓ͋͑ͣZBNMॻ͘ɺಈ͍ͯ΄͍͠
/P (PPHMF"QQ&OHJOF ɾ͏ʔΜɺ ɾHDMPVETFSWJDFLFZKTPOͷѻ͍͕͍͠ ɾ߹ܭ
/P /FUMJGZ ɾ$*$%४උ ɾ"DUJPOT͍͍͚ͬͯͲҧ͏Γํ
/P /FUMJGZ ɾ$* ɾϏϧυίϚϯυʹZBSOUFTUՃ
/P /FUMJGZ ɾUFTUͪΌΜͱQBTTͨ͠ΒσϓϩΠͰ͖ͪΌ͏
/P /FUMJGZ ɾ$% ɾ(6*ϙνϙνͬͯऴΘΓ
/P /FUMJGZ ɾָɺ͋͛ͪΌ͏ ɾ͜ͷఔͳΒγϟοͬͯ(6*ૢ࡞ͰΊΔ ɾͬͺΓ͠ͱ͘ ɾMPHͱ͔ϫʔΫϑϩʔͷݟ࣮͢͞༻ੑՃຯ͢Δͱ ɾ߹ܭ
/P 'JSFCBTF)PTUJOH ɾ$*$%४උ ɾ"DUJPOT͍·͢
/P 'JSFCBTF)PTUJOH ɾ/VYUKT ɾͱΓ͋͑ͣZBNMॻ͘ɺͰ͖Δɺಈ͘
/P 'JSFCBTF)PTUJOH ɾ/FYUKT ɾͱΓ͋͑ͣZBNMॻ͘ɺͰ͖Δɺಈ͘
/P 'JSFCBTF)PTUJOH ɾ"DUJPOTϩʔΧϧͰΔ͜ͱͦͷ··ΒͤΔ ɾͪΌΜͱಈ͍ͯҒ͍ɺ ɾ߹ܭ
ճઓͦͷଞ
̏ճઓͰ͕͍͍Ͷ͏Ε͍͠Ͷ ͱࢥ͏ͱ͜ΖΛڍ͍͖͛ͯ·͢
/P ;FJU/PX ɾͦΕͦ͏ɺ ɾ/FYUKTͱͱͯ૬ੑ͕͍͍Ͱ͢ ɾׂͱ͏Ε͍͠ɺ ɾແྉϓϥϯͳΒແྉ ɾ߹ܭ
/P (PPHMF"QQ&OHJOF ɾͦ͏ͩͶɺ ɾελϯμʔυͳΒແྉͰ৭ʑͰ͖Δ ɾ(PPHMF͞ΜͰ͢ ɾ/PEF͕Wͱ͔Ͱ҆ఆ Β͍͠ ࠓճW ɾ߹ܭ
/P /FUMJGZ ɾ'PSNT ɾ੩తαΠτͰ͓͍߹ΘͤϑΥʔϜͰ͖ͪΌ͏ ɾ͍͢͝ɺ ɾ߹ܭ
/P 'JSFCBTF)PTUJOH ɾैྔ՝ۚͳͷͰ·͋ɺ͏ΜɺΈ͍ͨͳײ͡ ɾͳΜ͔/FUMJGZͱ͔ΑΓؾ࣋ͪૣ͍ ɾͦ͏ͩͶɺ ɾ(PPHMF͞ΜͰ͢ ɾ߹ܭ
݁Ռൃද
/FUMJGZ ;FJU/PX 'JSFCBTF)PTUJOH (PPHMF"QQ&OHJOF
ͱ͍͏͜ͱͰ
ఱԼҰ੩తαΠτϗεςΟϯάಓձ
༏উ/FUMJGZͰ͢
·ͱΊ ɾଞʹ͜Ε͍͍ͧʂ͑ʂʂΈ͍ͨͳͷ͋ͬͨΒ ɹڭ͑ͯԼ͍͞ɺͱ͍͏͔ୈճ։࠵͍ͯͩ͘͠͞ ɾࠓճͷ༏উ/FUMJGZʹܾఆ ɾ͍͢͞ɺػೳͷଟ͞తʹྑ͔ͬͨ ɾ/FYUKT /VYUKTҎ֎Ͱ৭ʑࢼͯ͠ΈͯԼ͍͞
͓ΘΓ