Quantcast
Channel: Carpe Diem
Browsing latest articles
Browse All 518 View Live

Image may be NSFW.
Clik here to view.

データベースのコネクションプーリング

概要データベースを扱うと、パフォーマンス向上を考えた際に必ず出てくるコネクションプーリングについてです。今回はコネクションプーリングの種類とその特徴についてと、各データベースの特性に合わせてどんな選択を取るのが良いかを説明します。コネクションプーリングコネクションプーリングのメリットはコネクション作成時のオーバヘッドの削減リソースの再利用による効率化です。後述しますが、例えばPostgreSQLは1...

View Article


Image may be NSFW.
Clik here to view.

PreparedStatement とクエリキャッシュ

概要PreparedStatement はSQLを実行する際に「SQL文の構造」と「パラメータ」を分離して扱える仕組みです。それによってパフォーマンスの向上セキュリティの向上コードの可読性・保守性の向上を図ることが可能です。今回はその理由を説明します。PreparedStatementのメリット例えばMySQLの場合、通常のStatementでは、SELECT * FROM users WHERE...

View Article


Image may be NSFW.
Clik here to view.

screenshot-to-yoink でツールチップがスクリーンショットに含まれない

背景以前以下の対応を行いましたが、christina04.hatenablog.comツールチップがスクショできないという問題に遭遇しました。 期待する挙動は以下なのですが、実際はこのようにツールチップが消えてしまいます。そのため別の方法で実現する必要がありました。環境macOS 15.6.1原因以前の方法で使っているワークフローであるGitHub -...

View Article

proto-gen-validate を使う

概要HTTPやgRPCなどのAPIでvalidationを実装する際、次のような課題に直面することがよくあります。validationの実装を忘れる 正常系だけを考え、異常系のイメージがないvalidationがどこに実装されているか分からない クライアント側との認識がずれたり、テスト漏れが起きやすいvalidationをどこに実装するか悩む...

View Article

Image may be NSFW.
Clik here to view.

Data Clean Room によるプライバシー保護と効果測定の両立

課題従来広告の効果測定は、主にCookieやIPを使って以下の様にデータを突合していました。しかしながら最近はプライバシー保護のためGDPRなどによってCookieレスが進んだり、これまでメディア(媒体)から連携されていたIPも連携されないような流れが出てきました。これにより適切な広告効果が計測できない課題が生まれています。そこでプライバシーを保護しつつ、効果計測もできるようにするソリューションがD...

View Article


Image may be NSFW.
Clik here to view.

Notionの議事録の主要トピックをまとめる

概要Notionでデータベースに議事録を残す事はよくありますが、どこにどんな内容が書いてあったかを一覧の状態で見たいことがあります。そこでNotion...

View Article

glob によるパターンマッチング

概要glob はファイルシステムディレクトリ内の名前(パスなど)に対するパターンマッチングです。身近な例で言うと.gitignoreなどがglobを使っています。最近だとClaude Codeの権限管理であるRead()もこれを利用しています。globは正規表現とごっちゃになりやすいのでまとめておきます。構文glob の構文は以下ですが、主に *や...

View Article

Claude Codeの権限設定ルール

背景Claude Codeの権限の設定は自動化による効率化とリスクのガードレールを設計する上で非常に重要です。{"permissions": {"allow": ["Bash(find:*)", "Bash(grep:*)", "Bash(ls:*)", "Bash(cat:*)", "Read(~/.go/src)" ], "deny": ["Read(**/*env*)",...

View Article


Image may be NSFW.
Clik here to view.

bash-completion@2 の設定ファイルの置き方

背景ツールの補完を使う上でcompletionファイルの管理が必要です。ただ生成AIやネット上ではbash-completionのv1なのかv2なのか情報が混ざっており、よく分からないことがあったので自分で整理することにしました。環境macOS v15.7.2bash v5.3.8bash_completion...

View Article


Image may be NSFW.
Clik here to view.

Bitwardenでsshキーを管理する(2025年最新版)

背景以前次のようにライブラリを利用して、Bitwarden上でsshキーを管理するやり方を紹介しました。christina04.hatenablog.com2025年1月からに公式もsshキーをサポートしていたので、公式のやり方を紹介します。環境macOS(M2) v15.7.2Bitwardenデスクトップ v2025.11.2注意点サポートしているアルゴリズムはed25519のみ...

View Article

Image may be NSFW.
Clik here to view.

キャッシュアーキテクチャパターン

概要キャッシュにおけるアーキテクチャパターンをまとめておきます。表形式にすると次のようになります。パターン読み取り速度書き込み速度データ整合性主な用途 Cache Aside 高 中(キャッシュ層がオーバーヘッドにならない) 中(期限切れ考慮) 一般的なWebアプリ Read-Through 高 中(同上) 高 読み取り専用が多いデータ Write-Through 最高 低 最高...

View Article

Image may be NSFW.
Clik here to view.

ネガティブキャッシュによるデータベース負荷対策

概要通常データベースへの負荷を軽減するためにキャッシュレイヤを導入します。しかしよくあるのは正常系のみキャッシュしており、ゲームのイベント前でまだ404ゲームのイベント期間が終了して404動画の配信前でまだ404動画の配信期間が終了して404といった異常系が考慮されていないパターンです。サーバ上はデータの最新性から↑が正しいのですが、クライアントサイドにどこかしら導線が存在し、リクエストを送ってしま...

View Article

Image may be NSFW.
Clik here to view.

2025年買ってよかったものリスト

概要年の瀬なので2025年に買ってよかったものを挙げてきます。Osmo Pocket 3DJI vlogカメラ Osmo Pocket 3 1インチ CMOS 4K 120fps 動画対応 Vlog用デジカメ 3軸スタビライザー ジンバルカメラ アクションカメラ 高速フォーカス 顔 被写体トラッキング 回転式2インチ タッチスクリーンDJIAmazonGoogle Cloud Next...

View Article


Image may be NSFW.
Clik here to view.

Obsidian Web Clipper がいつの間にか画像ダウンロードできるようになっていた

概要Obsidianでは2024年末にWebクリップ機能が提供されました(Chrome拡張など)。obsidian.mdただEvernoteと違って画像はリンク状態なため、保存した先のサイトがクローズすると見れなくなっていました。ので自分は良い図で画像も残しておきたいときはしかたなくEvernoteを使っていました。しかしv1.8.3からWebクリップした記事の画像をローカルに保存できるようになりま...

View Article

Image may be NSFW.
Clik here to view.

Google Cloud → Snowflake の Workload Identity Federation を構築する

概要Google Cloud上でAtlantisというterraformのGitOpsツールを導入している状態で、Snowflakeもterraform管理したいと考えました。タイミング良く Snowflake Provider で v2.10.0 からWorkload Identity Federation が正式サポートされたので、これを使って実現します。環境Terraform...

View Article


Image may be NSFW.
Clik here to view.

Envoy, Istio で Outlier Detection を使う

概要EnvoyやIstio では Outlier Detection という、連鎖障害を起こさないように不具合のあるホストを切り離す仕組みがあります。ヘルスチェックで外されるほど完全に落ちてはいないしかしサービスとしては無視できないほどエラーレートが高いといった状況でうまく機能してくれます。今回はこの機能の説明と、具体的な設定・挙動について紹介します。環境Istio: 1.28.2Envoy:...

View Article

Image may be NSFW.
Clik here to view.

Outlier Detection と自動リトライを使ってデプロイ時・Podの再配置時のエラーを減らす

背景過去、デプロイ時やPodの再配置時のエラーはGoでGraceful Shutdown - Carpe DiemKubernetesのPodを安全に終了する - Carpe DiemKubernetesのPodを安全に終了する(istio-proxy編) - Carpe DiemGoでShutdown Hook - Carpe...

View Article


Image may be NSFW.
Clik here to view.

Snowflake で特定のユーザが使われているかを確認する(棚卸し)

概要Snowflake でユーザアカウントの棚卸しをする際に、そのユーザが直近使われているのかどうかを知りたいです。Snowflake では SNOWFLAKE.ACCOUNT_USAGEというデフォルトのスキーマにあるビューを使うことで簡単に把握することが可能です。以下を組み合わせることで判断します。知りたいことビューログインされているか LOGIN_HISTORYクエリを実行しているか...

View Article

Go で固定小数点数を扱う

概要小数を扱うときは浮動小数点数:float, double固定小数点数:numeric, decimalといった選択肢が出てきます。通常は前者を選ぶことが多いですが、丸め誤差や桁落ちが発生するため、金融系の処理では後者を選びます。今回はGoでの固定小数点数の扱い方について紹介します。環境go 1.25.7shopspring/decimal...

View Article

yabai で scripting-addition failed to load

背景以前、外部ディスプレイを付けたり外したりする度に、上記のアプリの配置を手動で直さないといけない手間を省くツールとして、yabaiを紹介しました。christina04.hatenablog.comこのツールが v7.1.16, v7.1.17 では、sudo yabai --load-saを実行した際に次のエラーが出るようになり、動かなくなりました。scripting-addition...

View Article

Image may be NSFW.
Clik here to view.

Google Cloud の PAM を使ってAIツールが安全に自律動作できるように

背景Claude CodeやCodexなど、生成AIがどんどん自律的に動けるようになった一方で、ガードレール自体の整備をしておかないとどこかで大きな障害を引き起こす可能性があります。特にパブリッククラウドの権限は、普段の開発で編集権限があると何か試したいときに便利な一方、AIツールがその権限を使うと大きなリスクになります。今回はそのガードレールとしてPrivileged Access...

View Article


Google Cloud IAMの基本ロールがアップデートされてた

概要従来のGoogle Cloudの基本ロールはOwner (roles/owner)Editor (roles/editor)Viewer (roles/viewer)でしたが、最近Admin (roles/admin)Writer (roles/writer)Reader...

View Article


Image may be NSFW.
Clik here to view.

OpenTelemetry Collector でtail based sampling

背景以前OpenTelemetryでSamplingについて紹介しました。christina04.hatenablog.com前回のHead based samplingではシンプルで軽量な反面、エラー時のデータがサンプリングによって欠損して調査が困難になるケースが発生しました。今回はOpenTelemetry Collectorによるtail based...

View Article

Image may be NSFW.
Clik here to view.

GAS のシークレット管理方法

背景生成AIの発達でデータインテグレーションの重要性がどんどん増しています。ビジネスデータなどはGoogle Workspaceで管理している企業も多く、そこにあるスプレッドシート情報であったりGoogleDriveのデータを内製のAIシステムに自動連携したい、といった要望が出てきます。ただ一方でセキュリティのためGoogle...

View Article

Google Cloud IAM と GKE 権限の関係

概要GKEの権限管理は、Google Cloud IAM(プロジェクトレベルの操作)と Kubernetes...

View Article


Image may be NSFW.
Clik here to view.

GKE → Snowflake の Workload Identity Federation を構築する

背景以前Google Cloud サービスアカウントのimpersonationを使った Workload Identity Federation の例を紹介しました。christina04.hatenablog.comただ最近は従来のWIFから、Direct Workload Identity...

View Article

Image may be NSFW.
Clik here to view.

GitHub Apps, GITHUB_TOKEN, OAuth Apps, PATの使い分けフローチャート

背景歴史的経緯もあり、GitHubでは様々な種類のトークンがあります。GitHub Apps によるトークンGithub Actions で使える GITHUB_TOKENOAuth Apps によるトークンPAT (Personal Access...

View Article

Image may be NSFW.
Clik here to view.

Release Please Actions を導入してモノリポでもリリース差分を自動で抽出できるようにする

背景モノリポでは1つのリポジトリで全てのサービス・コンポーネントを管理するため次のメリットがあります。オーナーシップを維持しやすい...

View Article

Image may be NSFW.
Clik here to view.

Release Please をモノリポに導入する際にハマったこと

背景前回のchristina04.hatenablog.comをチームのモノリポに導入する際にハマったことをまとめていきます。この記事はrelease-please を既に導入したmonorepo を運用しているconventional commits を使っている人向けです。環境Release Please Action v4.4.1ハマったこと1. 初回リリースは...

View Article



Image may be NSFW.
Clik here to view.

pull_request と pull_request_target の違いとセキュリティ上の注意点

背景依存しているライブラリに次のようなコードがありました。※簡単のためシンプルにしていますon: pull_request_target jobs:coverage:runs-on: ubuntu-latest steps:- uses: actions/checkout@v4 with:ref: ${{ github.event.pull_request.head.sha }} - run:...

View Article
Browsing latest articles
Browse All 518 View Live


Latest Images