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
did0es
February 07, 2020
Technology
0
370
天下一 静的サイトホスティング 武道会 / World Static Site Hosting Tournament
did0es
February 07, 2020
Tweet
Share
More Decks by did0es
See All by did0es
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
660
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2.4k
5分でわかるPreactのVDOMで作るWebエディタ
shuta13
0
190
TailwindCSSでUIライブラリを作る際のハマりどころ
shuta13
0
690
codemodとうまく付き合うには
shuta13
0
2.5k
プライベートクラウドのコンソール画面をNext.jsのApp Routerでフルリプレイスした話
shuta13
4
940
CyberAgent Developer Conference(CADC) 2023 LP開発の舞台裏
shuta13
0
250
Turborepo Code Generationによる、サイバーエージェントグループのフロントエンド開発の効率化
shuta13
4
2.6k
CADC 2023 LPにおけるライブ配信の裏側 | Momento Meetup #3
shuta13
0
160
Other Decks in Technology
See All in Technology
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
160
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
3
590
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
550
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
120
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
人工衛星のファームウェアをRustで書く理由
koba789
15
8.3k
組織を巻き込む大規模プラットフォーム移行戦略 〜50+サービスのマルチリージョン・マルチプロダクト化で学んだステークホルダー協働の実践〜 / Platform migration strategy engaging all stakeholders
toshi0607
2
190
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
970
Featured
See All Featured
Balancing Empowerment & Direction
lara
3
620
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Context Engineering - Making Every Token Count
addyosmani
3
62
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Optimizing for Happiness
mojombo
379
70k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Done Done
chrislema
185
16k
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Ҏ֎Ͱ৭ʑࢼͯ͠ΈͯԼ͍͞
͓ΘΓ