Carpe Diem

備忘録

2022-04-01から1ヶ月間の記事一覧

Workload Identity Federationを図で理解する

概要 GCPのWorkload Identity連携はサービスアカウントで秘密鍵を作らずともGCPリソースへのアクセス権を他の環境(オンプレ、別パブリッククラウド)に付与することができます。 これにより AWSからGCPリソースにアクセスする GitHub ActionsからGCRにDocke…

BigQueryのIAM設定をアーキテクチャから理解する

概要 BigQueryはIAMロールを設定する際にハマる事が多いので、アーキテクチャを理解しておくときちんと権限付与することができます。 BigQueryのアーキテクチャ BigQueryのアーキテクチャは以下のように ストレージ コンピュート の大きく2つに分かれていま…

CircleCIのsshで困ったこと

概要 CircleCIにはビルドが失敗した際のデバッグ手段としてRerun Job with SSHが提供されてます。 これを押すとEnable SSHというステップが挟まれ、そこに書いてあるsshコマンドをターミナルで実行することでCircleCIで実行中のジョブ内に入ることができます…

CircleCIのDynamic Configで差分ビルド

概要 CircleCIのDynamic Configでconfig.ymlを分割管理する - Carpe Diem ↑ではファイルを分割管理する方法を説明しました。 今回はpath filteringを使って差分ビルド(変更のあるディレクトリのみビルド)する方法を説明します。 環境 CircleCI 2.1 circlec…

CircleCIのDynamic Configでconfig.ymlを分割管理する

背景 CircleCIを使っているのですが 多数のリポジトリを管理している config.ymlが肥大化している。けれど殆どは似たような記述 といった背景がある上で、新しいjobやworkflowを各リポジトリに適用していく際に コピペ漏れが起きやすい レビューがつらい と…

FastAPIでPath Operationに def と async def どちらを使うべきか

背景 FastAPIでは以下のようにデコレータ関数を使うことでHTTPサーバのpathを設定することができ、これをPath Operationと呼びます。 from fastapi import FastAPI app = FastAPI() @app.get("/") async def read_root(): return {"Hello": "World"} @app.ge…

技術ブログを書くための心構えやツール

概要 技術ブログを書くための心構えや使っているツールを紹介します。 心構え まずは意識していることから 人に説明できなきゃ理解してるとは言えない 教えることは二度学ぶこと 人に教えるにはn倍理解してないといけない など色々いい方はありますが、誰か…