データパイプライン

dbtのexternal tablesでGCSのファイルをBigQueryに読む

GCSに置いたNDJSONをBigQueryのexternal tablesとして読み、dbtで変換するまでの構成です。Hiveパーティションの切り方、起動時にスクリプトでテーブルを作る方法、merge前の一意化やunique_keyの決め方など、注意点もまとめました。
データパイプライン

GCP Secret Managerの料金は何で決まる?|versionの破棄で減らす

GCP Secret Managerの料金は、有効・無効のversion数とアクセス操作、ローテーション通知で決まります。実行のたびに247版まで増えた実例と実際の費用、無効化では止まらない課金、破棄の実装と確認方法を解説します。
データパイプライン

Withings APIの測定値をBigQueryへ取り込む|Cloud Runで取得する

Withings APIで体重計の測定値を取り、BigQueryに貯めるまでの手順です。連携のやり方3つの選び方、トークン更新で選べる署名、status=503の意味、Cloud Run Jobで呼ぶときの中身、入れ替わるトークンの保存順序、value×10のunit乗の扱いをまとめました。
環境構築

Zennの記事をGitHub連携で管理する|公開済み記事を壊さず移す手順

Zennの記事をGitHubリポジトリで管理する手順です。連携は最大2リポジトリまで、GitHub Appが初期状態で全リポジトリを選んでいる点、GitHub側だけ通ってZennが未連携のときの対処、公開済み記事をいいねごと移す順番をまとめました。
データパイプライン

Zaim APIでできることを提供終了前に実測した|ドキュメントとの差

Zaim APIでできることを、2026年12月の提供終了前に実際に叩いて確かめました。取得できるデータ、効かないlimitとpage、別の日付で保存される入力、BigQueryへのロードで分かった注意点をまとめます。
認証・IAM

OAuth 1.0aと2.0の違いを実装で比べる|署名とトークンの扱い

OAuth 1.0と2.0の違いを、自分で書いた4つのAPI連携の実装で比べました。OAuth 1.0aの署名と3段階のトークン取得、oobの扱い、OAuth 2.0のrefresh_tokenとの差をPythonのコードで解説します。
環境構築

エックスサーバーのPHP脆弱性対応は3つだけ|WordPressでの確認手順

PHPの脆弱性php2shellが出たとき、エックスサーバーのWordPressで何を確認したかをまとめました。サイトヘルスからPHPバージョンを読む手順、外からHTTPヘッダーを見ても読めないこと、共用サーバーで自分に残る作業の切り分けを書いています。
データパイプライン

dltHubが引き受けるETL処理の5つ|自分で書くか任せるかを見分ける

dltHub の dlt を GitHub REST API で使い、自分で書いていた抽出・スキーマ定義・増分取得・重複排除・中間ファイルの保存の 5 つが宣言だけで済むかを確かめました。エラーにならないまま失敗する 2 つの箇所と、選ぶ前に見る条件もまとめます。
AIエージェント

Open Knowledge Formatに手元のmd群を適合させる|必須はtypeだけ

Open Knowledge Formatに独自のmarkdown規約を適合させた記録です。必須フィールドはtypeだけで適合条件は3つという寛容さ、スラッシュ始まりのパスがバンドルルート基準になる点、okf-lint v0.0.1が何も検査しなかった結果をまとめました。
データパイプライン

Cloud FTPをTerraformで構築する|SFTPでファイルを置いて取るまで

Cloud FTPをTerraformで構築する手順です。google_storage_ftp_serverが使えるproviderのバージョン、東京・大阪が非対応なリージョン、転送0でも続く稼働時間課金、SFTPでGCSへ置いて取るまでを確かめました。