Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gatsbyで静的サイト生成/2019-12-14-yuruit-vol8
Search
Satoshi SAKAO
December 14, 2019
Technology
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gatsbyで静的サイト生成/2019-12-14-yuruit-vol8
ゆるゆるIT勉強会 feat.Reedex 8で発表した資料です.
Satoshi SAKAO
December 14, 2019
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
120
Pkl/2024-04-17-llt31
ottijp
0
140
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
200
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
360
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
190
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
230
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
190
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
130
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
130
Other Decks in Technology
See All in Technology
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
170
専門領域のAIをどう評価するか
bengo4com
2
220
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
go-sqletch
moznion
0
140
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
180
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
会社説明資料
persolserverworks
0
9.8k
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
170
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
560
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
260
Optunaの最新リリースv5.0について
pfn
PRO
0
120
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Mobile First: as difficult as doing things right
swwweet
225
10k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Utilizing Notion as your number one productivity tool
mfonobong
4
620
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
520
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
Gatsbyで静的サイト生成 Satoshi SAKAO ゆるゆるIT勉強会 Vol.8 2019/12/14 (Sat) 1
話すひと 2 インフォコム株式会社 品質マネジメント推進室 ソフトウェアエンジニア JS (ES6) / Node.js /
GCP / iOS (Swift) 猫,自作キーボード Satoshi SAKAO @ottijp
経緯 • はてなブログをカスタムドメイン化したかった • CMSサービスに頼らず自分のコンテンツを自分で持ちたい • WordPressは使ってみたけど辛かった • 会社の勉強会でGatsbyを紹介してた人がいた 3
4 を知ってる?
Gatsbyってなんぞ • 静的サイトジェネレータ • Node.jsのフレームワーク • データソースから取得したコンテンツをもとに ビルドして静的サイトを組み立ててくれる • JAMstackアーキテクチャ(後述)を実現できる
5 https://www.gatsbyjs.org/
適用 • ブログ • コーポレートサイト • イベントサイト • アーティストの公式Webサイト 6
→静的な特性が強いサイト
Gatsbyがやること 7 データソース ビルド デプロイ CMS Markdown データ Webサーバ HTML
CSS JavaScript GraphQL react
8 動的と静的
違い 9 API Webサーバ Webサーバ Appサーバ Markup (ビルド) 動的(e.g. WordPress)
静的(JAMstack) JS
静的であることの利点 • 高スケール • 高レスポンス • 高可用性 • 高セキュリティ 10
API Webサーバ Markup (ビルド) 静的(JAMstack) JS
静的であるがゆえの制約 • ビルド時間(1文字変更でもフルビルドが必要) • 現状80記事で2分くらい @Netlify • 動的機能に工夫が必要 • サイト内検索
→ Elastic Search, Googleカスタム検索 • コメント → DISQUS • 予約投稿 → 自前でGitHub + CloudFunctions 11
12 まとめ
まとめ • Gatsbyで静的サイト(JAMstack)を作れる • 静的サイトでパフォーマンスやセキュリティが向上する • 銀の弾丸ではないが,静的性が活かせるケースにおいて 使ってみてはどうでしょう! 13
14 Appendix
ブログURL 15 https://blog.ottijp.com/
WordPressが辛かったこと • Markdownプラグインの方言が合わない • 勝手に出力が変わる(何が悪さしてるのかトレースしづらい) • スタイルが思い通りにならない • 全体をコードで管理できない 16
Netlifyを使ったデプロイフロー 17
CloudFunctionsを使った予約投稿 18
JAMstack • JavaScript, API, Markup • サーバ側で処理せず,クライアントでJavaScriptで処理する • それ以外で必要なこととAPIを利用する •
データとテンプレートを使って事前にビルド(Markup)する 19
20 余談: 困っていること(SEO関係)
LightHouseとPageSpeedで全然スコアが違う 21 LightHouse PageSpeed (Desktop) PageSpeed (Mobile)
Search Consoleの「クロール済み - インデックス未登録」が徐々に増えちゃう 22
23 だれか教えてください
参考 • Building and Deploying for the Modern Web with
JAMstack - Guillermo Rauch | JSConf JP • https://jsconf.jp/2019/talk/guillermo-rauch • Twitter “#jsconfjp_a since:2019-11-30_15:30:00_JST until:2019-11-30_16:09:00_JST” • 今日から手を出すJAMstack • https://4rchiv3s.solit4ry.io/tech/marmalade/ 24