GA4

トラフィックソースに関するディメンションのスコープ

ユーザースコープ

  • ユーザースコープの各ディメンションに割り当てられた値は、そのユーザーが何度もページを訪れた後も変わらない
  • First User, というプリフィックスが付く

セッションスコープ

  • 新しいセッションを開始した新規orリピートユーザーの情報を確認できる
  • Sessionというディメンションがつく

ベントスコープ

参考

https://support.google.com/analytics/answer/11080067?sjid=13046614350603686674-AP#zippy=%2Cin-this-article

セッションについて

  • セッションのタイムアウトは30分
  • セッションが開始されると自動的にsession_startイベントが収集され、ga_session_id, ga_session_numberが生成される
  • セッションIDがsession_startイベントに付与されないことがある
  • GoogleAnalyticsのセッション数は推定値が計算されているため、BigQueryの数値と多少の差異が発生することがある
  • セッションが日付を跨ぐ場合は1つのセッションだが、各日で1回ずつカウントされる

イベントについて

  • 特定のイベントをコンバージョンイベントとしてマーク付けができる
  • イベントのほとんどは1件ずつ送信されるのではなく、グループ化またはバッチ処理される。
    • コンバージョンイベントはリアルタイムで送信される
    • ユーザーのデバイスで保持されるイベントは、ユーザーがページから離れた時点で送信される
    • sendBeaconAPIをサポートしていないブラウザ環境では、全てのイベントが即時送信される

参考

https://support.google.com/analytics/answer/9191807?sjid=2369625601677922354-AP#zippy=

https://support.google.com/analytics/answer/9322688?sjid=2369625601677922354-AP#

cloud loggingのクエリ言語が覚えられない

クエリ言語に限らずですが、使用頻度が少ないものって全然覚えられないです。 なのでメモしておきます。

比較のオペレーター

=           -- 一致
!=          -- 一致しない
> < >= <=   -- 大なり、小なり
:           -- "hogehoge" hogehogeに部分マッチするかどうか
=~          -- 正規表現マッチ
!~          -- 正規表現にマッチしないもの

参考

https://cloud.google.com/logging/docs/view/logging-query-language?hl=ja

Github Actionsの概要

コンポーネント

ワークフロー

  • 1つ以上のジョブを実行する自動化プロセス
  • イベントによるトリガー、手動トリガー、スケジュールトリガーが可能
  • 別のワークフローを参照することも可能

イベント

  • ワークフローをトリガーするリポジトリ内の特定のアクティビティ

ジョブ

  • 同じランナーで実行されるワークフロー内の一連のステップ
  • 実行されるシェルスクリプトもしくはアクション
  • 各ステップは同じランナーで実行されるため、データの共有が可能
  • デフォルトではジョブ同士に依存関係はなく並列で実行される。依存関係を持たせることも可能。

アクション

  • GithubActions用のカスタムアプリケーション。頻繁に繰り返されるタスクを実行する。
  • 独自のアクションを定義することも可能
  • Github公式アクション https://github.com/actions

ランナー

  • ワークフローが実行されるサーバー
  • 1つのランナーで一度に1つのジョブを実行できる
  • 独自のランナーをホストすることも可能

式・演算子

https://docs.github.com/ja/actions/learn-github-actions/expressions

コンテキスト

https://docs.github.com/ja/actions/learn-github-actions/contexts

ワークフローの手動実行

ワークフローを手動で実行するには、workflow_dispatchイベントで実行するように設定しておく必要がある また、ワークフローがデフォルトブランチに存在する必要がある

キャッシュ

  • キャッシュの保存は自動で行われる
    • ジョブの最後にPost Run actions/cacheが実行されて、そこで保存される

参考

Github Actionsドキュメント
https://docs.github.com/ja/actions

venvでPython仮想環境を作る

※Cloud Functionsはpipenvに対応していないため、venvで環境構築するのがよさそう

仮想環境内のpythonのバージョンは、仮想環境を作成した時のバージョンで固定される。

### 対象のディレクトリへ移動
cd some/venvs_dir/

### 必要に応じてPythonのバージョンを変える
pyenv install 3.11.6
pyenv shell 3.11.6

### 仮想環境を作る
### <my_env_name>は任意の仮想環境名
python -m venv my_env_name

### 仮想環境の有効化
source my_env_name/bin/activate

### パッケージのインストール
pip install <some_package>
pip install -r requirements.txt

### 仮想環境の終了
deactivate

参考情報

gcloud configを使いこなそう

### 現在の構成の設定(初期化)を行う。初期の構成は「default」になる。
gcloud init

### 特定の設定項目を設定する
gcloud config set project [project-name]
gcloud config set disable_prompts true

### 削除するときはunset
gcloud config unset project

default以外にも複数の構成を作って使い分けることができる

### 新しい構成を作成する
gcloud config configurations create [NAME]

### 作成済みの構成の一覧を表示する
gcloud config configurations list

### アクティブにする構成を切り替える
gcloud config configurations activate [NAME]


### コマンドの実行時にだけ特定の構成を使用する場合には、--configurationオプションで指定できる
gcloud auth list --configuration=[CONFIGURATION_NAME]
### 現在アクティブな構成のプロパティを表示する
gcloud config list

### 構成の名前を指定してプロパティを表示する
gcloud config configurations describe [NAME]
### 構成を削除する ※アクティブになっている構成は削除できない
gcloud config configurations delete [NAME]

どのようなプロパティが設定できるのか?

### 下記のどちらかを実行すると設定可能なプロパティの一覧が参照できる
gcloud topic configurations
gcloud config set --help

参考

https://cloud.google.com/sdk/docs/configurations?hl=ja

MacにHomebrewをインストールする

Homebrewのホームページに行き、手順に従ってインストールする

https://brew.sh/index_ja

※下記のようなコマンドを実行すればよい

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

インストールされたか確認する

$ brew help

各種インストールの例

$ brew install ripgrep