すべての記事

GitHub Actions 講座 #3 シークレット・変数・環境 — secrets と vars、environment の承認ゲート
読了 5分

GitHub Actions 講座 #3 シークレット・変数・環境 — secrets と vars、environment の承認ゲート

ワークフローに秘密の値と設定値を入れる 2 つの通路である secrets と vars の使い分けの基準と、組織、リポジトリ、environment という 3 階層の優先順位を整理します。ログのマスキングが守ってくれるものと過信してはいけない理由、environment の保護ルールでデプロイの前に承認者と待機時間を設ける方法、自動発行される GITHUB_TOKEN の正体まで扱います。

GitHub Actions 講座 #2 文法の核心 — コンテキストと式、if 条件、値の受け渡し
読了 5分

GitHub Actions 講座 #2 文法の核心 — コンテキストと式、if 条件、値の受け渡し

ワークフロー YAML の文法を体系的に押さえます。github、env、steps といったコンテキストと式の文法、if 条件と success・failure・always 関数でステップを選んで実行する方法を扱い、GITHUB_OUTPUT でステップ間に値を渡す方法と、needs・outputs でジョブ間の順序とデータをつなぐ方法まで整理します。

メモリが余っているのに OOM で死ぬ理由 — オーバーコミット、cgroup、OOM キラー
読了 5分

メモリが余っているのに OOM で死ぬ理由 — オーバーコミット、cgroup、OOM キラー

free で見るとメモリが残っているのにプロセスが OOM で死ぬパラドックスを解きほぐします。Linux がメモリを約束だけして後から支給するオーバーコミットの原理、free と available の違いとページキャッシュ、システム全体ではなく cgroup の上限に当たって死ぬコンテナ時代の OOM(137、OOMKilled)、犠牲者を選ぶ oom_score の計算、dmesg と kubectl で死因を確認する方法、そして上限・要求値の設計まで扱います。

GitHub Actions 講座 #1 ワークフローの構造 — イベント、ジョブ、ランナー、初めての実行
読了 5分

GitHub Actions 講座 #1 ワークフローの構造 — イベント、ジョブ、ランナー、初めての実行

プッシュのたびに手作業で繰り返していたテストとビルドを自動化する GitHub Actions の骨格をつかみます。ワークフロー、イベント、ジョブ、ステップ、ランナーという 5 つの概念の関係を整理し、Python のテストを実行する最初のワークフローを書いて、Actions タブでの結果の読み方とステータスバッジまで扱います。トリガーイベントの種類とランナーの無料枠も一緒に押さえます。

NumPy 入門 — 配列が Python のリストより速い理由と基本の使い方
読了 6分

NumPy 入門 — 配列が Python のリストより速い理由と基本の使い方

データ処理の基盤ライブラリ NumPy を原理から整理します。Python のリストが遅くならざるをえないメモリ構造と ndarray がそれを解決する仕組み、ループをなくすベクトル化演算、形の違う配列同士が計算できるブロードキャストのルール、スライスがコピーではなくビューであるがゆえの罠、axis の概念で読む集計、そして NumPy を使わないほうがよいケースまで扱います。

Teams ボット入門 — Bot Framework と Graph API の役割分担
読了 6分

Teams ボット入門 — Bot Framework と Graph API の役割分担

Teams で対話型ボットを作るときに必要な構成要素を整理します。Graph API だけではボットの代わりにならない理由(ボットのアイデンティティ・アプリ権限の制約)、Azure Bot リソースとメッセージングエンドポイントからなるボットの動作構造、ユーザーが先に話しかけなくてもメッセージを送るプロアクティブメッセージと会話参照・プロアクティブインストールという迂回、メンションなしでチャンネルメッセージを読む RSC 権限、アダプティブカードまで、通知ボットから対話型ボットへ進む道を扱います。

terraform.tfstate を消してしまったときの復旧 — バックアップファイル、S3 バージョニング、再 import の順で
読了 5分

terraform.tfstate を消してしまったときの復旧 — バックアップファイル、S3 バージョニング、再 import の順で

state ファイルが消えたときに現れる症状と、そのまま apply してはいけない理由から整理します。ローカルの terraform.tfstate.backup の確認、S3 バージョニングから以前のバージョンを復元するコマンド、バックアップが何もないときに import で state を再構築する最後のルートまで優先順位どおりに扱い、同じ事故を構造的に防ぐバックエンド設定をまとめます。

Power Automate vs Graph API — 業務自動化、いつどちらを使うか
読了 5分

Power Automate vs Graph API — 業務自動化、いつどちらを使うか

Microsoft 365 自動化の 2 つの道を比較します。コネクタを組み立てるローコードツール Power Automate と、コードで直接呼び出す Graph API のそれぞれが得意なこと、トリガー・承認フロー・市民開発という Power Automate の強みと、ボリューム・複雑さ・バージョン管理で現れる限界、プレミアムコネクタとライセンスという隠れた変数、そして 2 つの道具を混ぜて使う実務の分業基準まで扱います。

terraform import のやり方 — import ブロックで既存リソースをコードに取り込む
読了 5分

terraform import のやり方 — import ブロックで既存リソースをコードに取り込む

コンソールで作ったリソースを Terraform 管理下に取り込む手順を、import ブロック基準で整理します。リソースごとの import ID を探す場所、-generate-config-out でコードの下書きを生成する方法、plan が変更なしになるまでコードを実際に合わせるコツ、旧 CLI コマンド方式との違いと、複数リソースを一度に取り込むときの順序まで扱います。

Microsoft Graph で Excel レポート自動化 — セッション、テーブル、グラフ画像
読了 5分

Microsoft Graph で Excel レポート自動化 — セッション、テーブル、グラフ画像

Excel ファイルを開かずにコードで読み書きする Graph の workbook API を整理します。呼び出しのたびにファイルを開き直す非効率をなくすセッションの 3 モードと persistChanges の意味、usedRange とテーブルでデータを読み行を追加する方法、グラフを作って画像として取り出しレポートに入れる方法、委任権限中心という Excel API 特有の権限制約と実務の回避策、期限切れ・リトライといった運用上の注意点まで扱います。

terraform state lock エラーの解決 — 原因の確認と force-unlock の判断基準
読了 4分

terraform state lock エラーの解決 — 原因の確認と force-unlock の判断基準

Error acquiring the state lock エラーの Lock Info の読み方から整理します。同僚や CI が実行中という正常な状況と、異常終了でロックだけが残った状況を見分ける確認手順、force-unlock を使ってよい条件と誤って使うと state が壊れる理由、DynamoDB ロック方式の場合の確認場所と再発防止の設定まで扱います。

Terraform 運用 #7 OpenTofu とライセンス — BSL 転換、IBM による買収、選択基準
読了 6分

Terraform 運用 #7 OpenTofu とライセンス — BSL 転換、IBM による買収、選択基準

2023 年の BSL ライセンス転換と OpenTofu フォークの経緯から、CNCF への採択と IBM による HashiCorp 買収まで続いた勢力図の変化を時系列で整理します。BSL が実際に禁止していることと大半のユーザーには無関係な理由、2 つのツールの機能分岐の現状、組織の状況別の選択基準と移行時の確認事項を扱い、Associate 資格の案内とあわせて Terraform トラック全体を締めくくります。