Next.js は、React ベースの Web アプリケーションフレームワークで、SSR(Server Side Rendering)等のフロントエンド開発に必要な機能を十分に備えています。 2022 年 10 月には、App Directory(App Router)というルーティングエンジンを beta 版として導入した Next.js 13 がリリースされました。今回のブログでは、Next.js 13 の基本的な考え方と使い方について整理してみたいと思います。
- Published on
技術・日常 ブログ
Next.js は、React ベースの Web アプリケーションフレームワークで、SSR(Server Side Rendering)等のフロントエンド開発に必要な機能を十分に備えています。 2022 年 10 月には、App Directory(App Router)というルーティングエンジンを beta 版として導入した Next.js 13 がリリースされました。今回のブログでは、Next.js 13 の基本的な考え方と使い方について整理してみたいと思います。
従来、Kubernetes では秘匿情報を管理するコンポーネントとして KES(Kubernetes External Secrets) が広く利用されており、Secret リソースを管理するツールとしてデファクトスタンダートとなっていました。 しかし、2021 年 11 月 KES の非推奨化が発表され、2022 年 7 月時点でアーカイブされました。KES が非推奨になった背景としては、アクティブなメンテナがいなかったことや、プロジェクト内で抱えていた技術負債を解消しきれず、メンテナンスのモチベーションを維持できなかったことが言及されています。KES の非推奨化に伴う後継ツールの一つとして ESO(External Secrets Operator) が注目を集めています。 ESO は KES を開発していたコミュニティによってホスティングされており、Go でリファクタリングされています。 ESO は KES との互換性を維持しつつ、メンテナンス性を重視した機能豊富なサービスとなっており、移行ツールも用意されています。今回のブログでは、KES の非推奨化に伴う ESO への移行について、ツールの特徴を交えながら紹介したいと思います。
Ubuntu 22.04(LTS)がリリースされたのでインストールしてみましたが、そのまま放置して数ヶ月が経っていました。 久しぶりに使用する場面が来たので、いつも通り apt update しようとしたところ、『Warning: apt-key is deprecated』というメッセージが表示されました。Debian 12 からは、apt パッケージの署名に利用している apt-key が非推奨・廃止になるとのことです。しかし、今のところ、apt-key に変わる、apt リポジトリの署名に使用する GPG 公開鍵の管理手法におけるベストプラクティス的なものが無かったので、とりあえず、GnuPG(gnupg + signed-by) で移行してみました。
Go 1.18 は「our biggest change ever to the language」と言われるほど、Go 言語誕生以来、最大の仕様拡張が行われました。中でも、netip パッケージの登場は Go でネットワークプロトコルを書いている身として非常に画期的だと思いました。今回のブログでは、netip の導入背景を踏まえ、パッケージの特徴、互換性、メソッドの使い方等、従来の net パッケージと何が変わったのかを紹介したいと思います。
ゲーマー向けのテキストチャットサービスとして有名な Discord は、内部コンポーネントの一つである「Read States」を Go から Rust に再実装し、パフォーマンスが大幅に向上したことを発表しました。Discord のホットパスである「Read States」は、特に膨大なリクエストを捌く必要があり、システム自体に高いパフォーマンスが要求されるコンポーネントだそうです。 これまで、Discord の大部分は Go で実装されていましたが、2020 年初頭に Rust へ移行したことが明らかになりました。最近、Rust のキャッチアップをしていることもあり、なぜ、Discord は Go から撤退して Rust を採用したのか気になったので、公式ブログ を参考にまとめてみたいと思います。