すべての記事

Django上級 #3 クエリ最適化 — N+1、select_related、EXPLAIN、インデックス
読了 9分

Django上級 #3 クエリ最適化 — N+1、select_related、EXPLAIN、インデックス

N+1 の正体から select_related/prefetch_related、only/defer、EXPLAIN、インデックス、bulk_*、select_for_update まで — Django ORM のパフォーマンス道具箱。

Docker 実戦 #4 CI でのイメージビルド — GitHub Actions と BuildKit キャッシュ
読了 8分

Docker 実戦 #4 CI でのイメージビルド — GitHub Actions と BuildKit キャッシュ

GitHub Actions で Docker イメージをビルドして push する定石。docker/build-push-action、BuildKit の GHA キャッシュ (type=gha)、マルチアーキ (amd64+arm64) ビルド、ビルド時 secrets、ビルド時間最適化 — 一ワークフローファイルに整理します。

K8s 中級 #7 RBAC / NetworkPolicy / ResourceQuota — セキュリティとリソースポリシー
読了 23分

K8s 中級 #7 RBAC / NetworkPolicy / ResourceQuota — セキュリティとリソースポリシー

K8s 中級シリーズの最後の記事です。[#6](/ja/posts/k8s-intermediate-6) までワークロード運用モデル — コントローラ、永続データ、外部入口、リソースモデル、ヘルスチェック、オートスケーリング — まで整理しました。この記事では 1 つのクラスタの上に複数のチーム・環境が一緒に住むマルチテナント運用の最後の空白を埋める 3 つのオブジェクト `RBAC`、`NetworkPolicy`、`ResourceQuota` を整理します。誰がオブジェクトを作れるか、どんなトラフィックが通るか、どれくらい作れるかの 3 つの次元がすべて namespace 単位ポリシーとして束ねられ、[基礎 #7](/ja/posts/k8s-basics-7) で短く触れた Namespace の本当の価値がこの 3 つで解かれます。シリーズ最後の記事なので、7 編の振り返りと次のトラック(K8s 上級)の予告も合わせて入れます。

LLMはどうやって次の単語を予測するのか — 非エンジニアのためのAI解説
読了 7分

LLMはどうやって次の単語を予測するのか — 非エンジニアのためのAI解説

ChatGPTのような大規模言語モデルは文章を理解しているのではなく、次に来る単語を確率で予測する機械だという原理を、専門知識がない方でも理解できるように解説します。

RHEL 上級 #3 パフォーマンス分析 — sar、top/htop、iostat、vmstat、perf
読了 9分

RHEL 上級 #3 パフォーマンス分析 — sar、top/htop、iostat、vmstat、perf

RHEL マシンが遅くなったときにどこから見るかを整理します。top/htop で最初の視野を取り、vmstat で CPU・メモリ・IO を 1 画面で見て、iostat でディスクを詳しく見て、sar で時間の流れを追い、perf で CPU ホットスポットを取る流れを USE (Utilization・Saturation・Errors) 方法論に沿って 1 サイクルで扱います。

TypeScript上級講座 #1 keyofとtypeof
読了 7分

TypeScript上級講座 #1 keyofとtypeof

型を作る最も基本的な道具二つ — keyofでキーを集め、typeofで値から型を引き出す方法、そして二つが出会うと可能になるパターン。

モダンPython上級 #5 GILと並行性 — threading vs multiprocessing vs asyncio
読了 8分

モダンPython上級 #5 GILと並行性 — threading vs multiprocessing vs asyncio

GIL の正体、threading/multiprocessing/asyncio という 3 つの道具のポジション、そして Python 3.13~3.14 の free-threaded ビルド (PEP 703/779) までを一カ所に整理します。

Angular上級 #2 Signals 深掘り — computed、effect、model
読了 10分

Angular上級 #2 Signals 深掘り — computed、effect、model

Angular の新しいリアクティブモデルである Signals を本格的に覗き込みます。computed、effect、input/output/model、linkedSignal、RxJS との連携まで一箇所に整理します。

AWS上級 #3 Lambda 基礎
読了 10分

AWS上級 #3 Lambda 基礎

Lambda の使いどころ (vs ECS / EC2)、runtime / handler / event / context、同期 vs 非同期呼び出し、コールドスタートと Provisioned Concurrency、並行性 / 上限、ロギングとモニタリングまで — AWS サーバーレスの最初の一歩。

Django上級 #2 Custom management commands
読了 8分

Django上級 #2 Custom management commands

manage.py の正体から、BaseCommand 継承、引数処理、cron 連携、call_command、テストまで — Django 運用の一翼を担うカスタムコマンドを整理します。

Docker 実戦 #3 React/Next.js ビルドコンテナ — standalone と NEXT_PUBLIC の扱い
読了 8分

Docker 実戦 #3 React/Next.js ビルドコンテナ — standalone と NEXT_PUBLIC の扱い

Next.js アプリをコンテナに収める流れ。standalone output を使った deps → build → runner の三 stage、NEXT_PUBLIC 環境変数のビルド時刻まれ問題、静的 export オプション、Vite のような SPA を nginx でホスティングする方法まで。

K8s 中級 #6 オートスケーリング — HPA / VPA / Cluster Autoscaler
読了 24分

K8s 中級 #6 オートスケーリング — HPA / VPA / Cluster Autoscaler

[#5](/ja/posts/k8s-intermediate-5) まで扱ったモデルは単一 Pod のリソースと健康信号の次元でした。しかし運用の負荷は時間帯・ユーザーパターン・イベントに従って揺れ、人が毎回 `replicas` 値を手で合わせることはすぐに限界にぶつかります。この記事ではその空白を埋める 3 つの次元のオートスケーリング — Pod 個数を自動で増減する `HPA`、Pod のリソース要求・上限を自動で推奨・調整する `VPA`、そしてノード自体を自動で追加・削除する `Cluster Autoscaler` を 1 サイクルでまとめます。metrics-server という前提、HPA の `autoscaling/v2` マニフェストとアルゴリズム、scale up・down 非対称の `behavior`、custom metric と KEDA、VPA の 3 コンポーネント、HPA・VPA の衝突、Karpenter まで扱います。