ブログ
GPU・LLM・MLOps・Kubernetes、そしてマインドセット · 3516 件
#2026-03 764#japanese 587#deep-dive 254#kubernetes 249#culture 236#career 224#ai 217#llm 209#devops 196#2026-04 144#security 141#observability 113#database 110#communication 107#architecture 100#productivity 88#finance 87#mindset 80#ai-papers 79#history 79#it 78#psychology 78#english 75#networking 74#deep-learning 73#gpu 70#linux 70#performance 70#cs-fundamentals 63#ai-agent 61#postgresql 60#rag 59#economy 57#mlops 53#self-improvement 53#python 52#ai-platform 51#food 51#learning 51#travel 51
OOM Killer がプロセスを殺したとき — dmesg ログの読み解きから cgroup OOM の見分け方まで
プロセスが何のログも残さずに消え、終了コードは 137 です。カーネルの OOM Killer が残した dmesg リポートを 1 行ずつ読む方法、badness スコアが計算される仕組みと最も大きいプロセス以外が死ぬ理由、システム全体の OOM と cgroup v2 memory.max によるコンテナ OOM をログだけで見分ける方法を整理します。overcommitmemory 0/1/2 が実際に何を変えるのか、スワップがあ
2026-07-26 · 27 分で読めます #linux#memory#oom#cgroups#kubernetes一握りの胡椒が世界をつないだ — 香辛料貿易とグローバル化の原型
408年にローマを包囲したアラリックが要求した身代金の目録には、金と銀に並んで胡椒1360キログラムがありました。いまはスーパーで数百円のあの果実がなぜそこまで高かったのか、そして腐った肉の匂いを隠すために使ったというよくある説明がなぜ根拠に乏しいのかから始めます。1498年のヴァスコ・ダ・ガマのカリカット到達、1602年に世界初の株式会社となったオランダ東インド会社と1621年のバンダ諸島虐殺、1667年ブレダ条約でルン島とマンハッタ
2026-07-26 · 29 分で読めます #humanities#history#trade#globalization#colonialismKubernetes Pod Pending 状態の解決 — スケジューラーが残した拒否理由の読み方
Pod が Pending のまま数分間も先に進まないとき、スケジューラーはすでに拒否理由をイベントに残しています。0/5 nodes are available で始まるあの一文を正確に解読する方法から始めて、九つの原因を一つずつ排除していきます。リソース不足は実際の使用量ではなく requests の合計で判定されること、taint とトレランス、ノードセレクターとアフィニティの不一致、PVC の未バインドと WaitForFirs
2026-07-26 · 20 分で読めます #kubernetes#scheduler#pending#troubleshooting#autoscalingバウハウス、14年が100年を変えた — 事物の形を読む方法
1919年にワイマールで開校し、1933年にナチスの圧力で閉じたバウハウスは、ちょうど14年だけ存在しました。学生数はつねに数百人規模で、建築科ができたのは開校から8年後、最もよく売れた製品は有名なスチールパイプの椅子ではなく壁紙でした。予備課程と工房制度、「形態は機能に従う」が実はルイス・サリヴァンの言葉だという点、女子学生が織物工房へ集まらざるをえなかった構造、そして閉校が生んだ逆説的な世界化までを押さえ — ミニマリズムはつねに正
2026-07-26 · 27 分で読めます #humanities#design#architecture#design-history#modernismロードアベレージが CPU 使用率ではない理由 — load average 24 なのに CPU は 30% のとき
uptime の load average は 24 を超えているのに top の CPU は 30% にも届かない、という状況を扱います。Linux のロードアベレージは他の Unix と違い、実行待ち (R) のタスクだけでなく D 状態 (uninterruptible sleep) のタスクまで数えるため、ディスクや NFS の待ちだけでも数値が跳ね上がります。3 つの数字が 5 秒サンプリングと指数移動平均でどのように作られる
2026-07-26 · 21 分で読めます #linux#performance#load-average#psi#troubleshootinggitが遅くなったとき — 大規模リポジトリを速くする構造的な処方
リポジトリが遅くなる理由は1つではありません。コミット履歴が長いこと、ファイル数が多いこと、大きなバイナリが入っていることは別々の問題であり、処方も違います。この記事はまず原因を切り分ける測定命令から始め、浅いクローンと部分クローンがなぜ代替品ではなく用途の違う道具なのか、sparse-checkoutとファイル監視がstatusをどう縮めるのか、commit-graphがログとマージ基準点の計算をなぜあれほど大きく変えるのかを説明しま
2026-07-26 · 20 分で読めます #git#performance#monorepo#git-lfs#version-controlKubernetes CrashLoopBackOff の原因別診断と解決 — ログが空のとき何を見ればよいか
Pod が CrashLoopBackOff に陥っているのに kubectl logs が何も返さない状況を、最初から最後まで扱います。BackOff は原因ではなく 10 秒から 5 分まで伸びる再起動待ち時間だという正確な意味から、describe の Last State と Exit Code を読む順序、終了コード 0/1/127/137/139/143 がそれぞれ何を意味するかまで整理しました。アプリケーションの即時終了、
2026-07-26 · 20 分で読めます #kubernetes#crashloopbackoff#troubleshooting#kubectl#sregit merge vs rebase — 何をいつ使うのか、なぜ共有ブランチはリベースしないのか
mergeとrebaseの違いは、図ではなくコミットハッシュで見るのが正確です。リベースはコミットを移動させる命令ではなく、親が変わった新しいコミットを作る命令であり、ハッシュが変わるというその一点だけが、共有ブランチをリベースしないという黄金律の唯一の根拠です。この記事では実際のコミットハッシュとreflogの出力でその変化を示し、マージコミットはノイズだという通念をfirst-parentのログで反論し、スカッシュマージがbisec
2026-07-26 · 18 分で読めます #git#rebase#merge#version-control#workflow地図はなぜ嘘をつくのか — メルカトルから検索アルゴリズムまで
グリーンランドはアフリカの14分の1の大きさですが、教室の壁の世界地図ではほぼ同じに見えます。これはミスではなく設計です。球面を平面に伸ばすことは数学的に不可能だというガウスの証明から出発し、航海のために角度を守って面積を捨てた1569年のメルカトル図法、政治的抗議として登場しながらそれ自体が歪みを抱えていたペータース図法論争、中心と上をどこに置くかという政治、そして正確さではなく世界観を描いた中世のマッパ・ムンディまでをたどります。最
2026-07-26 · 26 分で読めます #humanities#history#cartography#geography#powerジャズはいかにして生まれたのか — コンゴ・スクエアからKind of Blueまで
ジャズ最初の伝説バディ・ボールデンは、録音を一枚も残しませんでした。そして1917年、世界初のジャズ・レコードを作ったのは白人バンドでした。フランスとスペインが交互に支配したニューオーリンズ、日曜ごとにアフリカの太鼓を叩くことができたコンゴ・スクエア、ヨーロッパ音楽を正式に学んだクレオールの奏者たち、そして彼らを黒人バンドへ押し込んだ1894年の人種法令まで — ブルースとラグタイムという二つの根から始まり、ルイ・アームストロングのソロ
2026-07-26 · 27 分で読めます #humanities#music#jazz#music-history#cultureDockerのビルドキャッシュが何度も壊れる理由 — レイヤーキャッシュキー、ARG、BuildKitのキャッシュマウント
コードを1行直しただけでnpm ciが5分もかけて再実行される問題の原因を、キャッシュキーのレベルで説明します。RUNのキャッシュキーはコマンド文字列で、COPYのキャッシュキーはファイル内容のハッシュだという違い、1つのレイヤーが壊れるとその下がすべて壊れるというルール、ARGがBuildKitと旧ビルダーで異なる動きをする箇所を扱います。CIランナーにはキャッシュが存在しないという事実とともに、キャッシュマウントがレジストリキャッシ
2026-07-26 · 16 分で読めます #docker#buildkit#build-cache#ci-cd#devopsGitの内部構造で理解する命令 — オブジェクト、リファレンス、インデックスで読み直すresetとrebase
Gitの命令を丸暗記すると毎回検索する羽目になりますが、データモデルを知っていれば命令の動作は推論できます。この記事ではblobとtreeとcommitとtagという4つのオブジェクト、同じ内容が常に同じハッシュを持つコンテンツアドレス指定、ブランチが41バイトのファイルにすぎないという事実、そしてインデックスが実際に何を収めているのかを、cat-fileとls-filesで直接開いて確かめます。このモデルを知っていれば、resetがな
2026-07-26 · 19 分で読めます #git#internals#git-objects#fundamentals#version-controlニュートンはなぜ世界を書き直したのか — リンゴ、プリンキピア、そして予測という試験台
リンゴはニュートンの頭に落ちませんでした。あの逸話の出典は1752年のウィリアム・ステュークリの回想録であり、八十三歳のニュートン自身が語って聞かせた話です。ペストでケンブリッジが閉じた1665年の「奇跡の年」は、実は20年にわたる作業を一年に圧縮した物語であり、「プリンキピア」(1687)はハレーが自費で出版費用を出した本でした。ライプニッツとの微積分の先取権戦争、ケインズが1936年の競売で買い集めた錬金術写本、巨人の肩という一文を
2026-07-26 · 27 分で読めます #humanities#science#history-of-science#newton#physicsコネクションプールを大きくすると損をする理由 — 待ち行列をどこに立てるか
コネクションプールを大きくしたらかえって遅くなる現象の原理を整理します。PostgreSQLのプロセスモデルでコネクションがなぜ高価なのか、ディスクとCPUの並列性が有限である以上、待ち行列をデータベースの中ではなくプールに立てるほうが良い理由、よく引用されるコア数ベースの公式の根拠と限界を扱います。マイクロサービスでインスタンス数とプールサイズの積が最大コネクション数を超える典型的な事故、PgBouncerの三つのモードとトランザクシ
2026-07-26 · 25 分で読めます #database#postgresql#connection-pool#pgbouncer#performanceDockerのネットワークモードと接続の問題 — bridge、host、overlay、そして127.0.0.1の罠
コンテナは起動しているのに接続できない状況を、モードごとの動作原理から解きほぐします。既定のbridgeでコンテナが互いを名前で見つけられない理由とユーザー定義ネットワークの内蔵DNS、ポート公開が実際に作るiptablesのDNATルール、バインドアドレスを127.0.0.1に制限することのセキュリティ上の意味を扱います。コンテナの中のループバックはホストではないという点とhost.docker.internal、アプリケーションがル
2026-07-26 · 20 分で読めます #docker#docker-network#iptables#networking#devopsコンテナとVMは何が違うのか — namespace、cgroup、そしてカーネル共有の請求書
「コンテナは軽量なVM」という説明がなぜ誤解を生むのかから整理します。コンテナは名前空間で視界が遮られ、cgroupで資源が制限された普通のLinuxプロセスにすぎず、ホストカーネルをそのまま共有します。pid/mnt/net/uts/ipc/user/cgroupの各名前空間が何を隔離するのか、cgroup v2が何を制限するのかを実際のコマンドで確認し、カーネル共有が生む結果であるsysctlの共有・カーネルバージョンへの依存・コン
2026-07-26 · 20 分で読めます #docker#container#linux-namespace#cgroup#virtualizationトランザクション分離レベルと実際の異常現象 — 標準の定義が実装と食い違う地点
トランザクション分離レベルの四つと、dirty read、non-repeatable read、phantom readを整理しますが、教科書の表一枚で終わらせません。PostgreSQLのRead Committedがなぜ最初からdirty readを作れないのか、Repeatable Readがなぜ実はスナップショット分離であり、直列化失敗をアプリケーションが再試行しなければならないのか、MySQL InnoDBのRepeatab
2026-07-26 · 22 分で読めます #database#postgresql#transaction#isolation-level#mysqlDockerfileで繰り返される失敗 — root実行、PID 1、イメージに残るシークレット
ビルドは通るのに運用でだけ壊れるDockerfileの問題を、原因から整理します。USERを指定せずrootで動くコンテナ、latestタグと再現性、ADDを避けるべき理由、shell formのCMDがSIGTERMを飲み込んでデプロイのたびに10秒を失い137で死ぬ仕組み、PID 1のゾンビ回収の責任とtini、ARGやENVで渡したトークンがdocker historyに残る問題とBuildKitのsecret mountを、実際
2026-07-26 · 19 分で読めます #docker#dockerfile#container-security#pid1#devopsデッドロックの診断と予防 — ログから二つのクエリを特定する方法
deadlock detectedエラーに出会ったとき何を見るべきかを順番に整理します。PostgreSQLのデッドロックレポートとMySQLのSHOW ENGINE INNODB STATUSの出力を一行ずつ解釈して、どの二つのクエリが絡んだのかを特定する方法、そして実務で繰り返される三つのパターンである更新順序の不一致、インデックス不在によるロック範囲の拡大、外部キーが引き起こす親行のロックを扱います。deadlocktimeout
2026-07-26 · 25 分で読めます #database#postgresql#deadlock#locking#mysqlインデックスを作ったのに使われない理由 — オプティマイザが正しく自分が間違っている場合
インデックスを作ったのに実行計画にSeq Scanがそのまま残る理由を、原因別に整理します。選択度が低くてオプティマイザがわざと無視する場合、カラムに関数や演算がかかってsargableでない場合、型の不一致で暗黙のキャストが起きる場合、LIKEの先頭ワイルドカード、OR条件、複合インデックスの先頭カラム規則、統計情報の老朽化、NULLの扱いまで、実際のSQLと実行計画で確認します。部分インデックスと式インデックスが答えになる地点、そし
2026-07-26 · 21 分で読めます #database#postgresql#index#query-optimization#mysql