2026-01-01から1年間の記事一覧
背景 依存しているライブラリに次のようなコードがありました。 ※簡単のためシンプルにしています on: pull_request_target jobs: coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha…
背景 前回の christina04.hatenablog.com をチームのモノリポに導入する際にハマったことをまとめていきます。 この記事は release-please を既に導入した monorepo を運用している conventional commits を使っている 人向けです。 環境 Release Please Act…
背景 モノリポでは1つのリポジトリで全てのサービス・コンポーネントを管理するため次のメリットがあります。 オーナーシップを維持しやすい マルチリポは傍観者効果(自分がやらなくても誰かがやるだろう)・レビュー漏れが起きやすい 言語・ライブラリのバ…
背景 歴史的経緯もあり、GitHubでは様々な種類のトークンがあります。 GitHub Apps によるトークン Github Actions で使える GITHUB_TOKEN OAuth Apps によるトークン PAT (Personal Access Token) それぞれの特徴、使い分けが分かりにくかったので、フロー…
背景 以前Google Cloud サービスアカウントのimpersonationを使った Workload Identity Federation の例を紹介しました。 christina04.hatenablog.com ただ最近は従来のWIFから、Direct Workload Identity Federationと呼ばれるサービスアカウントを挟まず直…
概要 GKEの権限管理は、Google Cloud IAM(プロジェクトレベルの操作)と Kubernetes RBAC(クラスター内部のリソース操作)の組み合わせで決まります。 IAMの権限が多く、それぞれの違いがぱっと見分かりづらかったので、一覧化したり知っておくべき差分を…
背景 生成AIの発達でデータインテグレーションの重要性がどんどん増しています。 ビジネスデータなどはGoogle Workspaceで管理している企業も多く、そこにあるスプレッドシート情報であったりGoogleDriveのデータを内製のAIシステムに自動連携したい、といっ…
背景 以前OpenTelemetryでSamplingについて紹介しました。 christina04.hatenablog.com 前回のHead based samplingではシンプルで軽量な反面、エラー時のデータがサンプリングによって欠損して調査が困難になるケースが発生しました。 今回はOpenTelemetry C…
概要 従来のGoogle Cloudの基本ロールは Owner (roles/owner) Editor (roles/editor) Viewer (roles/viewer) でしたが、最近 Admin (roles/admin) Writer (roles/writer) Reader (roles/reader) が新しく登場していました。2026/03現在プレGAになっています…
背景 Claude CodeやCodexなど、生成AIがどんどん自律的に動けるようになった一方で、ガードレール自体の整備をしておかないとどこかで大きな障害を引き起こす可能性があります。 特にパブリッククラウドの権限は、普段の開発で編集権限があると何か試したい…
背景 以前、外部ディスプレイを付けたり外したりする度に、上記のアプリの配置を手動で直さないといけない手間を省くツールとして、yabaiを紹介しました。 christina04.hatenablog.com このツールが v7.1.16, v7.1.17 では、sudo yabai --load-saを実行した…
概要 小数を扱うときは 浮動小数点数:float, double 固定小数点数:numeric, decimal といった選択肢が出てきます。 通常は前者を選ぶことが多いですが、丸め誤差や桁落ちが発生するため、金融系の処理では後者を選びます。 今回はGoでの固定小数点数の扱い…
概要 Snowflake でユーザアカウントの棚卸しをする際に、そのユーザが直近使われているのかどうかを知りたいです。 Snowflake では SNOWFLAKE.ACCOUNT_USAGEというデフォルトのスキーマにあるビューを使うことで簡単に把握することが可能です。 以下を組み合…
背景 過去、デプロイ時やPodの再配置時のエラーは GoでGraceful Shutdown - Carpe Diem KubernetesのPodを安全に終了する - Carpe Diem KubernetesのPodを安全に終了する(istio-proxy編) - Carpe Diem GoでShutdown Hook - Carpe Diem といった対応を行っ…
概要 EnvoyやIstio では Outlier Detection という、連鎖障害を起こさないように不具合のあるホストを切り離す仕組みがあります。 ヘルスチェックで外されるほど完全に落ちてはいない しかしサービスとしては無視できないほどエラーレートが高い といった状…
概要 Google Cloud上でAtlantisというterraformのGitOpsツールを導入している状態で、Snowflakeもterraform管理したいと考えました。 タイミング良く Snowflake Provider で v2.10.0 からWorkload Identity Federation が正式サポートされたので、これを使っ…
概要 Obsidianでは2024年末にWebクリップ機能が提供されました(Chrome拡張など)。 obsidian.md ただEvernoteと違って画像はリンク状態なため、保存した先のサイトがクローズすると見れなくなっていました。 ので自分は良い図で画像も残しておきたいときは…