BigQuery GENERATE_ARRAY でバケットを作って集計

昨日やった作業。 例えばこういうテーブルがあったとして count timestmap 3 2020-07-07 10:30:00 5 2020-07-07 12:34:50 7 2020-07-07 21:07:10 11 2020-07-07 21:10:00 1時間ごとの count の合計値を出したい場合以下みたいなクエリを書く WITH data AS ( …

TSDoc を書きたい & TSDoc で使えるタグ一覧

いつも TypeScript 書いてるんですよ、そしたら function の前にコメント書くじゃないですか、/** ... */ で書いてるけど正直のところ中身は勘で書いている。@returns や @deprecated とかよく見るし、雰囲気で使っているけど、本来なんのタグが使えるかあん…

DataStudio で条件付きの割合スコアカードを作る

こういうやつ Google DataStudio1 でこういう表示をしたい場合は多い。目標の達成割合とか、アプリケーションログから何らかのアクションを取ったユーザの割合を出したりだとか。とりあえず使うだけなら簡単に使える DataStudio だけど、これはシンプルな表…

Next.js を Google App Engine にデプロイする

GAE 便利さに気づいてからめちゃくちゃ気に入っている。 最近開発が活発な Cloud Run や、Firebase のバックエンド実行環境でもある Cloud Functions が話題に登りがちだけど、2nd gen になってからの GAE はめちゃめちゃいいです。 トラフィック分割などの…

.gcloudignore で全部無視して必要なものだけ指定する

App Engine や Cloud Function や Firebase プロジェクトのデプロイ時などでしばしばやる。 TypeScirpt などトランスパイルが必要な言語をデプロイする際に、実行に必要ないファイルをたくさんアップロードしていることがある。 .gcloudignore で全部 ignore…

BigQuery スケジュールされたクエリを設定する際の動作確認コマンド

Scheduling queries または Scheduled queries と呼ばれているもの、日本語だといまいちしっくりこない名前。定期的にクエリを実行して結果を宛先テーブルへ書き込んでくれる。メールで通知したり Pub/Sub イベントを投げたりもできる。 クエリのスケジュー…

Cloud Functions でログをグルーピングする

または Cloud Functions で httpRequest ログを書く方法。 Cloud Logging (もう Stackdriver ブランドなくなりましたね)の好きな機能に、リクエスト内のログをまとめて表示する機能がある。アプリケーション内での一連のログをまとめて追えてとても便利。 me…