タグ

ブックマーク / zenn.dev/catnose99 (9)

  • CSSでフッターの下に隙間ができないようにメインコンテンツの高さを調整する

    メインコンテンツの高さが足りなくてもフッターが中途半端な位置に来ないようにしたい Webアプリケーションのレイアウトで、①ヘッダー②メインコンテンツ③フッターの3つで構成するというパターンはよくあると思うんですが、 👇 こんな感じでフッターの下に中途半端な隙間を作りたくないですよね。 これは困る 👇 メインコンテンツの高さが短くても、フッターがぴったりビューポートの下にくっつくようにしたいですよね。 良いね 👇 ただ、フッターが常に下に固定されているのではなくて、メインコンテンツがビューポートより高くなったときには、フッターは下にずれていってほしいんですよね。 良いね gridを使うと簡単 自分はこれをずっとflexで実現していたのですが、(メインコンテンツの)孫要素の高さを100%にしたいときなんかに色々ややこしくて、gridを使うのがいちばん楽だなーという結論に至りました。gri

    CSSでフッターの下に隙間ができないようにメインコンテンツの高さを調整する
  • Next.jsでrewritesを使うと全く関係ないページで再レンダリングが発生する

    【まとめ】Next.jsのrewritesは気軽に使わない方が良いかも 一つでもrewrites設定が書かれているとクライアントサイド含め色々な処理が発生する rewrites設定が一つでも書かれていると、rewritesのパターンにマッチしないページであっても再レンダリングが発生することがある JSのバンドルサイズが大きくなる可能性あり(next@v11.0.2 でrewriteをひとつ記述しnext buildしたところmain.jsが約4KB増えた)

    Next.jsでrewritesを使うと全く関係ないページで再レンダリングが発生する
  • JSでツイートを埋め込むときのベストプラクティス

    Webページでのツイートの埋め込みについて、パフォーマンス周りで色々と工夫できることが分かったのでまとめておきます。 いちばん基的なツイートの埋め込み方 最も基的な埋め込みの仕方は、ツイートのメニューから[ツイートを埋め込む]を選んで、出力されたHTMLを貼り付けることです。 具体的には以下のようなHTMLが出力されます。 <blockquote class="twitter-tweet"> <p lang="ja" dir="ltr">Zenn個人開発を脱却してクラスメソッド社のサービスとなりました。<br>僕は引き続きZennの開発を続けます。<br><br>🐥 ZennとClassmethod<a href="https://t.co/jpes7Kbdpz">https://t.co/jpes7Kbdpz</a></p>&mdash; catnose (@catnose99)

    JSでツイートを埋め込むときのベストプラクティス
  • Next.jsのISRで動的コンテンツをキャッシュするときの戦略

    最近Next.jsのISR(Incremental Static Regeneration)を耳にする機会が増えてきました。Zennでも2021/3/17時点で記事やなどの一部のページでISRを採用しています。 ISRとは何か ISRを使うことで、動的なコンテンツを含むページも静的ページとしてCDNにキャッシュすることが可能になります。Next.jsのISRはドキュメントに書かれているようにstale-while-revalidateという考え方でキャッシュが行われます。 具体的には、リクエスト時にページのキャッシュを作成し、次のアクセスではキャッシュされた古いデータを返します。その裏で次のアクセスに向けてキャッシュが再生成されるというイメージです。 これによりユーザー投稿コンテンツであってもCDNにキャッシュしやすくなるというわけです。 Next.jsでのISRの実装 デプロイ先がVe

    Next.jsのISRで動的コンテンツをキャッシュするときの戦略
  • Vercel以外でNext.jsのISRをできるのか問題

    Vercelはとても良いサービスなのだが、ProプランだとBandwidth 〜1TB/月の制限があり、それを超えるとEnterpriseプランに入る必要がある 追記: 従量課金が採用された!Vercel Proプランの料金体系の変更とNext.js での対策に関して Next.jsのget○○Propsの中で重い処理をやると制限に引っかかる可能性がある。Vercelが内部的にはAWS Lambdaで動いており、そもそもLambda側の制限が厳しいという側面がある。 とはいえNext.jsVercel以外で動かした場合にIncremental Static Regeneration(ISR)が実現できるのかあまり分かっていない そんなわけでVercel以外でNext.jsのISRをやるとどうなのかの情報をまとめてくスクラップ。 何かご存知の方はぜひコメントをお願いします🙏

    Vercel以外でNext.jsのISRをできるのか問題
  • Next.js の InferGetStaticPropsType が便利

    Next.jsのサンプルリポジトリを眺めていたらInferGetStaticPropsTypeというものを見つけました。これを使うと、getStaticPropsでreturnされた値をもとに、Pageに渡されるPropsの型を類推してくれます。 ↓ ドキュメントはこちら これまではこんな感じで書いていた これまではPropsの型宣言を自分で書いていました。 import { GetStaticProps } from 'next'; // 👇 type Props = { posts: Post[] }; export const getStaticProps: GetStaticProps<Props> = async () => { const { posts } = await getPosts(); return { props: { posts, }, revalidate:

    Next.js の InferGetStaticPropsType が便利
  • Next.jsのFont Optimizations(Webフォントの最適化)を試してみる

    追記) v10.2からデフォルトでGoogle Fontsの最適化が行われるように Next.js v10.2から自動でWebフォントの最適化が行われるようになりました。v10.2時点ではGoogle Fontsにのみ対応しているとのことです。特に設定は不要で、いつも通りGoogle Fontsを読み込めばOKです。 ↓ 詳細 これより下の解説は古い内容になります。実装の参考にしないようお願いします。 以前、Next.jsのリポジトリを眺めていたときにFont Optimizationsというプルリクエストを見つけました。 2020年12月時点ではExperimantalな機能のようですが、v10.0.4で既に使えるようになっていたので試してみました。 :::message alertz Next.js v10.0.4でのドキュメントに則っていない記録になります。 ::: Font Opt

    Next.jsのFont Optimizations(Webフォントの最適化)を試してみる
  • Next.jsのnext/imageコンポーネントの使い方と注意点

    2020/10/27にNext.js 10がリリースされました。変更点は公式のブログがとても分かりやすくまとまっています。Next.js Confの動画をチェックするのも良いかもしれません(演出が良い感じです)。 Next.js 10で特に注目すべきは、画像最適化をしてくれるnext/imageコンポーネント(next/image)のビルトインサポートだと思います。この記事ではnext/imageについてまとめます。 next/imageとは next/imageは、画像の表示を最適化してくれるコンポーネントです[1]。 画像の最適化 具体的には、以下のような最適化を行ってくれます。 画像を閲覧デバイスに応じてリサイズして表示してくれる(元画像が大きくともスマホでは小さくリサイズされた画像を表示) PNGやJPEGなどの形式の画像を自動でWebPにしてくれる(しかもWebP対応ブラウザでの

    Next.jsのnext/imageコンポーネントの使い方と注意点
  • チーム個々人のテックブログをRSSで集約するサイトを作った(Next.js)

    先日、こんな記事を見かけました。 テックブログは続かない - note.com 採用目的でテックブログを始めたものの、時間の経過とともに古い記事ばかりになる or すでに退職している社員の記事ばかりになる…というのはよく見かける光景です。 目の前のタスクが積み上がっている状況で、業務時間内にブログを書く時間を取るのはなかなか難しいと思います。 そうは言っても業務時間外に無償で会社のブログに書くのもなかなか気乗りしません。「数年以内に転職するかもしれない」という気持ちがあればなおさらです。記事が転職しても自分のものとして残るのであれば、書くモチベーションは上がるのかもしれません。 その後、こんなツイートを見かけました。 企業のテックブログと言えば「会社がひとつブログを作って、みんなでそこに投稿する」という形が当たり前になっていますが、たしかに個々人の投稿を集約する場所を用意するだけでも良いの

    チーム個々人のテックブログをRSSで集約するサイトを作った(Next.js)
  • 1