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
Gatsbyで静的サイト生成/2019-12-14-yuruit-vol8
Search
Satoshi SAKAO
December 14, 2019
Technology
0
220
Gatsbyで静的サイト生成/2019-12-14-yuruit-vol8
ゆるゆるIT勉強会 feat.Reedex 8で発表した資料です.
Satoshi SAKAO
December 14, 2019
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
71
Pkl/2024-04-17-llt31
ottijp
0
100
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
170
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
300
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
170
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
190
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
170
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
100
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
110
Other Decks in Technology
See All in Technology
ESXi のAIOps だ!2025冬
unnowataru
0
400
LayerX QA Night#1
koyaman2
0
270
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
150
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
15k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
180
AI駆動開発の実践とその未来
eltociear
2
500
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
520
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
4k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
200
Claude Codeを使った情報整理術
knishioka
13
9.9k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
210
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
130
How GitHub (no longer) Works
holman
316
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
How Software Deployment tools have changed in the past 20 years
geshan
0
30k
Writing Fast Ruby
sferik
630
62k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
KATA
mclloyd
PRO
33
15k
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