Programming tutorial - IT technology blog

Goでゼロからつくるレートリミッター:Token BucketアルゴリズムによるAPI保護

レートリミッターをゼロから構築すると、普段使っているライブラリの内部で何が起きているかが明らかになる。このチュートリアルでは、GoでToken Bucketレートリミッターを並行安全に実装する方法を、コアアルゴリズムからHTTPミドルウェアまで解説し、本番環境向けの実践的なパラメータチューニングのアドバイスも紹介する。
DevOps tutorial - IT technology blog

KubernetesでGrafana Pyroscopeを使った継続的プロファイリング:本番環境のCPU・メモリボトルネックを特定する

Grafana PyroscopeはKubernetesに継続的プロファイリングをもたらし、本番アプリのCPU・メモリフレームグラフを24時間取得し続けることを可能にする。このガイドでは、HelmによるPyroscopeのデプロイ、プル型でのGoアプリのスクレイプ、SDKを使ったPythonの計装、そしてフレームグラフを読んで実際のボトルネックを特定する方法までを詳しく解説する。
Programming tutorial - IT technology blog

Go ジェネリクス完全解説:柔軟で再利用可能なコードと共有ライブラリの構築

Go 1.18(2022年3月)で導入されたジェネリクスは、静的型付けGoにおけるコード重複という長年の問題を解決する。本チュートリアルでは型パラメータ、制約、チルダ演算子を解説し、汎用Set・フィルター関数・TTLキャッシュなどの実践例を通じて、型安全性を保ちながら再利用可能な共有ライブラリを構築する方法を紹介する。
Programming tutorial - IT technology blog

GoにおけるClean Architecture:保守性とスケーラビリティの高いGoアプリケーションを構築する

GoにおけるClean Architectureは、ビジネスロジックをデータベースやHTTPフレームワークから切り離す厳格な依存関係ルールを強制する。本ガイドでは、高速でテスト可能かつ保守性の高いサービスを実現するための実践的なGoプロジェクト構造を、実際のコード例を交えて解説する。