Weblog
ChatGPT Images 2.0と、ブログのカバー画像パイプライン更新
OpenAIが2026年4月21日にリリースしたChatGPT Images 2.0は、画像生成に推論能力を組み込んだ新世代のモデルです。1536x864/高品質で料金は約34%下がり、ネイティブ2K解像度や3:1から1:3までの自由なアスペクト比も使えるようになりました。本ブログのカバー画像生成パイプラインも、このタイミングで乗り換えました。
Cloudflare Workers AI + Vectorize で RAG
ブログ記事をナレッジベースにして、著者のペルソナで質問に答えるAI Q&Aページを Cloudflare Workers AI と Vectorize で構築しました。BGE-M3 による日本語 embedding、Llama 3.3 70B によるペルソナ付き回答生成、差分 ingest パイプラインまで、Cloudflare スタックだけで完結しています。
ブログ記事をBlueskyに自動投稿する — GitHub Actions + AT Protocol
ブログの新規記事をmainにpushするだけで、Blueskyに自動投稿される仕組みをGitHub ActionsとAT Protocol APIで構築しました。git diffによる新規記事の判定、リンクカード付き投稿、ハッシュタグのfacet生成まで、シェルスクリプト一本で実現しています。
CLS改善のためにZolaの画像ショートコードを自作した
Zolaで構築したブログのCLS(Cumulative Layout Shift)を改善するため、画像サイズを自動取得するショートコードを作成しました。実装の詳細と、caption対応によるfigure要素の出力まで解説します。
ZolaブログにPagefindで日本語検索を導入した
静的サイトジェネレーターZolaで運用しているこのブログに、 Pagefindを使った日本語対応のサイト内検索を導入しました。 選定の経緯から実装時のハマりどころまでを記録します。
Zolaテーマ「tabi」の活用機能を探る
Zolaの高機能テーマ「tabi」には、 普段使っていない便利な機能が数多く眠っています。 ショートコード、テンプレート、Frontmatterオプションまで、 見落としがちな機能をまとめて紹介します。
Cloudflare無料プランだけで個人サイトのセキュリティが完結した話
Cloudflareの無料プランで利用できるWAF・ボット対策・AIクローラー対策などのセキュリティ機能を、AWS AmplifyやGitHub Pagesと比較しながら紹介します。
Zolaブログを新ドメイン取得 + Cloudflare移転
GitHub PagesからCloudflare Workersへブログを移転した際の落とし穴と解決策を共有します。証明書更新やZolaビルド非対応など、3つのアプローチを検討した経験をまとめています。
ZolaブログにOGP画像自動生成を組み込んだ
静的サイトジェネレーターZolaとtabiテーマの組み合わせで 運用しているこのブログに、OGP画像の自動生成を導入しました。 Zolaに組み込みの仕組みがない中でどう対応したか、 検討から導入までの経緯を記録します。
ブログをZolaに移行、AWSの後始末
技術検証目的で1年ほど運用していたNext.js + Amazon Amplify 構成のブログを、静的サイトジェネレーターZolaに移行しました。 移行先の選定、200記事のMarkdown変換、そしてAWSリソースの 網羅的な削除作業まで、移行の記録を残します。
TypePad終了:ブログ革命の一時代の終焉
TypePadが2025年9月30日でサービス終了。2003年から22年間続いたブログプラットフォームの歴史を振り返り、初期ブログ文化からSNS時代、そして個人所有メディアへの回帰まで、Web発信環境の変遷を考察。
textlintで日本語ブログの品質を向上させよう
textlintを活用して日本語の技術ブログ記事の品質を向上させる方法を紹介します。特にこのブログではMarkdownでなくMDXを使用しているので、MDXファイルに対する最適な設定と導入手順を解説します。
エンジニア的ブログ再構築 : Next.js × Tailwind Plusで得る柔軟性
Micro.blogを利用したブログを運用していましたが、Next.js + Tailwind Plus(旧Tailwind UI)を使ってエンジニアから見て柔軟なブログを再構築してみました。
How to Configure Tinylytics Analytics for Production Environment Only
I have tried to prevent tinylytics stats from being retrieved outside of the production environment.
S3静的ウェブサイトのインデックス解決をCloudFront Functionsで修正
CloudFlareからブログを移行した際に、パスの指定で問題がでていたので修正しました。