mottox2 blog

Next.jsのStatic Generationを追う際に参考にしたページ

dev

Next.jsのStatic Generationを追っておく際に見たページをまとめた。簡単に要点をまとめてはいるが、詳しくはリンク先のオリジナルを見てほしい。

2019 in Review

  • Guillermo Rauch(@rauchg) ... Vercel社(元ZEIT)のCEO のブログ記事
  • 2019年はJamstackが伸びた年であること
  • Staticは高速で安定性が高い
  • SSGやClient JS/APIでdynamicを実現できること
  • Next.jsはJamstackの機能を網羅している
    • Static GenerationとかAPI RoutesとかDynamic Routing
  • Vercelを使えば便利だよと等々

Static Generation / SSG Improvements

  • ページ単位でSSG(静的生成)とSSRを出し分けられるようにする。
  • Next.js 9になってデータを必要としないページはhtmlとして出力されていた。(いわゆるAutomatic Static Optimization)
  • データを必要とする場合は既存のexportを使うことでStaticにできたが、すべてのページが静的になってSSRが使えない。
  • また、getInitialPropsではクライアントでの遷移時にデータを取得する必要がありDBやCMSへのアクセスが発生していた。
  • これらを解決するためにgetStaticProps、getStaticPropsを導入し、静的なデータを扱えるようにした。
  • (サーバーサイドで実行されるgetServerSidePropsも追加された)

RFC: Incremental Static Regeneration

  • 上記のStatic Generationが実装され、高速に低コストでウェブサイトを配信できるようになった。
  • 欠点として、静的に生成されたページのデータ更新された場合、完全な再ビルドが必要だった。
  • このリビルドを避けて、オンデマンドで新しいページを生成するのがIncremental Static Regeneration
  • 各ページにtimeoutを設定し、有効期限が切れると再レンダリングが走る。
  • Staticにツイートを表示するデモ https://static-tweet.now.sh/

Static Hoisting

  • Vercel社(元ZEIT) Guillermo Rauch氏のブログ記事
  • Hoisting(変数の巻き上げ)の説明し、Jamstackは計算結果を訪問者に巻き上げるものだと言っている。
  • CDNとJamstackの比較。JamstackはすべてのEdge Serverで共有される。
  • Next.jsはページ単位にアセットを生成するので静的な部分を巻き上げやすい構成になっている。
    • Dashboardのような一見動的な画面もClient JSでやるからデータの問い合わせをする静的ページ。
dev

ウェブ技術で縦書きを含む画像を生成したい

ここ最近、Web技術を利用した画像生成に興味があります。本記事では、日本語における表現の一種である縦書きに焦点を当て、Web技術を使った縦書きを含む画像生成方法についての調査をまとめました。 > 現

blog

Netlify Formsで問い合わせフォームを作ったら簡単だった

追記(2022/12/29): 問い合わせに対応する窓口をTwitterに統一したいので、フォームページは削除しました。 当ブログは静的サイトホスティングサービスのNetlifyでホスティングされ

netlify
dev

翻訳でHacktoberfestに参加しました

毎年10月に開催されるHacktoberfestに参加しました。このイベントはOSSへの貢献を行い、期間中に規定数(4つ)の貢献を行った人に特典がプレゼントされるものになっています。 自分はドキュメ

Copyright © 2023 @mottox2 All Rights Reserved.