Cloudflare Meet-up OnlineでAstroサイトをPagesで公開している話をしてきました

ブログ作者は最近の登壇報告について振り返りをするため、2023年7月26日に開催された「Cloudflare Meet-up Online!! ~日本全国ユーザー大集合LT~」でのLT登壇について述べました。資料はDocswellで公開されていることや、AstroとCloudflare Pagesを使用してサイトを運用する話題が取り上げられています。SSRとSSGの併用方法やAstroの「Hybrid Rendering」の魅力も言及され、またCloudflareに関心がある方はDiscordやMeet-upに参加することができると案内されています。関西在住の方は地元のCloudflare Meet-upに参加することをおすすめしています。

広告ここから
広告ここまで

目次

    登壇報告ブログを久しくやれていなかったので、直近のものから振り返っていこうと思います。

    2023年7月26日に開催された「Cloudflare Meet-up Online!! ~日本全国ユーザー大集合LT~」でLT登壇してきました。

    当日利用した資料

    当日の資料は、Docswellにて公開しています。

    Astro + Cloudflare Pagesで運用しているサイト

    このサイトはNext.js + Vercel & AWSですが、別で公開しているサイトがAstro + Cloudflare Pages構成です。

    https://hidetaka.dev/ja-JP/

    なぜSSRとSSGを併用しているか?

    これは「取得したいコンテンツの更新情報をどう取得するか」で判断しています。

    例えばWordPressやmicroCMSには、記事公開時にWebhookイベントを送る仕組みがある or 追加できます。

    Webhookイベントがある場合には、GitHub ActionやCloudflareのビルドWebhookと連携させてSSGさせる方向で実装します。

    一方で、npm.comやWordPress.orgに公開しているライブラリ・プラグインや、Qiita / Zennなどのプラットフォームに公開しているコンテンツでは、「都度最新情報を取得しにいく」しかありません。

    そのため、このケースではREST APIやRSS Feedをサーバー側で読み込ませています。

    https://hidetaka.dev/ja-JP/oss

    この辺りで、SSG / SSR両方でのページビルドができるフレームワークとして、Astroを魅力的に感じました。

    Astroは「Hybrid Rendering」と呼びます。
    https://astro.build/blog/hybrid-rendering/

    SSRをやらない方法 or 高速化する方法はあるのか?

    まだ試せていませんが、RSSやAPIで取得したコンテンツをKVにキャッシュすればよいかなと考えています。

    KVのデータにはTTLが設定できますので、「古くなったら、改めて取得する」もそこまで難しくなさそうです。

    https://developers.cloudflare.com/workers/runtime-apis/kv/

    Next.jsのISRのように、「裏側でfetchしてKVのデータを更新する」までいけるとアツい気もします。

    DiscordやMeet-upで、Cloudflareの話をやりましょー

    プレゼンでもあったように、今回の実装にはDiscordで半日近く相談した部分があります。

    こういう、「こうじゃない?」「試したらこうなったよ」みたいなワイワイ感が個人的にすごく好きで、こういう会話ができる場があるのはとてもありがたいなーと思っています。

    「さっきのイベント・セッションで聴いたXXなんですが・・・」みたいなやり取りもあったりするので、Cloudflareが気になる方はぜひご参加ください!

    https://discord.gg/47qTcupJ

    そして関西にお住まいの方は、ぜひお近くのCloudflare Meet-upでお会いしましょう!

    https://cfm-cts.connpass.com/

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark