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
230
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
130
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
200
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
350
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
What the customer really needed
kawaguti
PRO
3
200
Goodbye ShellScript, Hello File-based App
shunsock
0
110
Minecraft JavaのMODをSwiftで作る
1mash0
0
170
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
人間はどの意思決定を手放せるのか
kawasima
14
7.1k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
3
510
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
4
210
Screen Lens - 今見てる画面を翻訳する
komagata
0
320
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
500
AI時代、データエンジニアが一番おもろい
genshun9
0
620
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
110
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Deep Space Network (abreviated)
tonyrice
0
310
Exploring anti-patterns in Rails
aemeredith
4
510
Git: the NoSQL Database
bkeepers
PRO
432
67k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Writing Fast Ruby
sferik
630
63k
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