notebook

都内でWEB系エンジニアやってます。

Athenaで連続した日付のデータを生成して集計データと突き合わせる

BigQueryで連続した日付のデータを生成して集計データと突き合わせる - notebook swfz.hatenablog.com これのAthenaバージョン サンプルデータの生成などは下記あたりを参考にして生成した 配列のクエリ - Amazon Athena docs.aws.amazon.com SQL WITH repor…

PixelaのグラフをGatsby製のブログに埋め込む

PixelaのグラフをGatsby(React)で表示させたい 素直にsvgをobjectタグで読み込むだけだとツールチップが表示されないのでせっかくなら表示させたい (※前提の参考リンクをよく読めばiframeで良くないか?という話になるが、今回はmswを使って開発しているとき…

BigQueryの分析関数でGA4の過去7日、30日、合計のPV数を集計する

使わないとすぐ忘れるのでメモの意味で残しておく 題材はGA4でExportしたデータを使ってpagepathごとの過去7日間、30日間、合計のPV数を集計するという感じでやってみる 公式の解説 分析関数に関してのドキュメントは次にある 標準 SQL の分析関数のコンセプ…

じぶん Release Notes (ver 0.34.0)

swfz (ver 0.34.0) がリリースされました、更新内容は次のとおりです 技術 やったこと Google Apps Script >> swfz[:memo] PixelaのPV数を記録したグラフを追加した 数値の入れ込みはGASで行った(後で記事書く) CloudMonitoring 読んだ本 なし 勉強会 なし …

GA4のデータをGoogle Apps Script経由で取得する

個人所有のアカウントはGA4で計測するようになったので今まで使っていたGAの数値を取得するスクリプトも徐々に対応させていく必要があるので調べてみた まだbetaのようなので内容など変わる可能性があるが現時点でやったことを残しておく Analytics Data Ser…

CloudMonitoringでアラートを作成しSlackへ通知する

GCPでの通知でSlackが連携先として追加できるようになったみたいなのでちょっと触ってみるためにCloudMonitoringと合わせて使ってみた 流れ やることは以下 通知先の設定 GUIでSlack連携の設定 terraform import Alert Policyの設定 Monitoring指標の設定 GU…

Cloud LoggingからログデータをBigQueryへExportする

ログからBigQueryにExportできるのは知っていたのでとりあえず使ってみようかと思って触ってみたら思った以上に簡単だった Terraformで設定を定義する Terraformで表すとこんな感じ main.tf data "google_client_config" "current" { } iam.tf locals { logg…

じぶん Release Notes (ver 0.33.11)

swfz (ver 0.33.11) がリリースされました、更新内容は次のとおりです 技術 やったこと Google Apps Script GmailApp SpreadsheetApp FormApp 読んだ本 勉強会 BIツールカジュアル座談会 ~Googleデータポータル~ - connpass bitoollabo.connpass.com Datapor…

jqで特定リストの中のどれかにマッチするか?という条件を扱う

Rubyでいうinclude?的なことをやりたかったがさっとできなかったのでメモを残す サンプルはこんな感じ $ cat sample.json [ { "user": "hoge", "team": "" }, { "user": "fuga", "team": "" }, { "user": "piyo", "team": "" }, { "user": "foo", "team": ""…

CloudWatchLogs Insightsで色々集計してみる

AWS

CloudWatchLogsにログを流してInsightsでクエリ書いて集計してみた なお、本記事はクエリのメモがメインなので実行結果まで残っていないものもありあまり参考になるかはわからない 構文について CloudWatch Logs Insights クエリ構文 - Amazon CloudWatch Lo…

ブックマークレットを使ってGoogleSlideでの発表中にユーザーツールのコメントを流す

ちょうど社内の勉強会で発表する機会があったのと、もともとこんなことやりたいなーと思っていたので調べてみた GoogleSlideにはユーザーツールと言ってslidoのような見ているユーザーがスライドに対して質問を投稿できる機能がある(発表者がプレゼンターか…

じぶん Release Notes (ver 0.33.10)

swfz (ver 0.33.10) がリリースされました、更新内容は次のとおりです 技術 やったこと Jest, React TestingLibrary All posts | >> swfz[:memo]のテスト周りの整備をした Jestのスナップショットテスト TestingLibraryによるUIテスト GoogleCloudPlatform W…

GA3のデータをBigQueryに移す

本ブログで取っているGAの計測データをGA4に切り替えた(並行して数値は取得中) APIをたたくスクリプトを書いて集計してBigQueryに入れてDataPortalから日ごろのアクセスなどを見ているがGA4に完全移行するには過去のPVもやはり見たいよなーと思っていた GA4…

GCPのWorkflowsでBigQueryコネクタを使ってみる

掲題の通りWorkflowsにBigQueryコネクタが来たので使ってみる コネクタについてのドキュメントは下記 BigQuery API Connector Overview | ワークフロー | Google Cloud cloud.google.com 要はWorkflowsから他のGoogleCloud製品にアクセスするための仕組み 今…

じぶん Release Notes (ver 0.33.9)

swfz (ver 0.33.9) がリリースされました、更新内容は次のとおりです 技術 やったこと ブックマークレット GoogleSlideのユーザーツールを利用して発表中のスライドにコメントを流せるようにした(別途記事書く予定) swfz/bookmarklets 3. swfz/bookmarklets …

GitHubActionsでmatrixの値を動的に扱う

実際使うかと言うとどうなんだろうという気もするが、できるの知らなかったので残しておく いきなりサンプルコードだがこれだけで理解はできると思う .github/workflows/dynamic-matrix.yml name: dynamic matrix on: [push] jobs: set-matrix: runs-on: ubu…

BigQueryで重複を排除した最新レコードを取り出す

最近社内の勉強会でなるほどと思ったので試して備忘録として残しておく 色々調べた後だと頻出するイディオムだった感はある… BigQueryで重複を除いて最新状態のデータを出力する方法 データの取り込みもしくは入れ込む際にtimestampカラムを追加する timesta…

BigQuery+Dataportalでインタラクティブフィルタを活用する

プライベートでブログのPVなどを集計していて BigQueryにTwitterのエゴサやGoogleAnalyticsのPVなどを取り込んで、Dataportalから参照してグラフにして定期的に見るようにしている 記事についてのデータ(urlやタグ)はjsonで持っていてこちらもBigQueryに定期…

Node REPL+Puppeteerでの開発Tips

Puppeteerでスクレイピングしていてやっと「これ楽だわ」みたいな感じのやり方が定着してきた気がするのでアウトプットしておく ちなみにどこまでいってもなるべくClickなどの操作をせずにページ内容を読み取れるのがベターだと思っている あと、REPLにかん…

じぶん Release Notes (ver 0.33.8)

swfz (ver 0.33.8) がリリースされました、更新内容は次のとおりです 技術 やったこと BigQuery(Dataform) pocketのAPI+BigQuery+Dataportalで可視化 SearchConsoleの被リンク項目を一括で取得できるようなスクリプトを書いて収集→Dataformで整形 Twitterの…

jqで曜日判定をする

jqで土日を判定するみたいなことができる isoの日付からfromdateでunixタイムスタンプへ変換しそれをgmtimeへ渡すと日時に関する配列が返ってくる その中に曜日の情報も含まれている よくある2020-08-01のような形式のテキストを判定してみる $ echo '{"star…

jqで複数ハッシュのmergeをする

RubyでいうHash.merge的な処理をjqでもやりたいとき 集計結果をいくつかのファイルに出力しておき最後にサマリーとしてJSONにまとめたいときなどに使う 書いていて感じたけどあまりこういう機会はないかもしれない… 01.json { "hoge": 1, "fuga": 2 } 02.jso…

WSLからWindowsへ通知を送る

GitHub CLIを使ってターミナルでGitHub Actionsを操作する - GitHubブログ github.blog GitHubのCLIにworkflow,runが増えた記事を見て 記事の中でnotify-sendを用いてworkflowが終わったらデスクトップ通知するみたいなのを見た そういえばworkflow以外にも…

DataformでAPIからパイプラインを実行する

Dataformで個人プロジェクトのデータ整形を行ってみた そのときにAPIでパイプラインを実行したときのメモ REST API ドキュメントはこちら Use the REST API | Dataform docs.dataform.co まだREST API自体がBetaらしく今の段階ではプロダクション導入とかは…

じぶん Release Notes (ver 0.33.7)

swfz (ver 0.33.7) がリリースされました、更新内容は次のとおりです 技術 やったこと GCP Workflows CloudFunctions CloudLogging Pub/Sub これらを用いてエラーログからSlack通知するみたいなことをした Dataform 個人的にやっているTogglの集計作業をData…

GCPのCloud WorkflowsとCloud SchedulerでTogglの前日読書時間を自動でPixelaに記録する

今回の記事までにいくつかCloud Workflowsの記事を書いた GCPのCloud Workflowsを試す - notebook swfz.hatenablog.com Cloud Workflowsでランタイム引数のデフォルト値を設定する - notebook swfz.hatenablog.com これらで行ったことをもとに今回はテーマを…

CloudLoggingに流れたログをSlack通知する

すでにいろいろと記事も出ているが自分で触って試してみたため残しておく やったことはLogging -> 集約シンク -> Pub/Sub -> Functions -> Slack でWARNING以上のログをSlackに通知する 集約シンク AWSでいうCloudWatchLogsのロググループに対するkinesis da…

Cloud Workflowsでランタイム引数のデフォルト値を設定する

実行時に引数を渡すときにデフォルト値を設定したい というよくあるパターンをWorkflowsで行えるか試してみた 今回は失敗したパターンも書きながら流れを追って書いていく 結論だけ知りたい方は最後の方を見てください ランタイム引数の扱い Workflowsでラン…

GCPのCloud Workflowsを試す

ちょうど気になっていたので使ってみる Workflows ワークフロー | Google Cloud cloud.google.com サーバレスでHTTPベースのAPIサービスを組み合わせてワークフローを定義できる 外部APIも対応しているので色々できることはありそう 目次 こんな感じで試して…

じぶん Release Notes (ver 0.33.6)

swfz (ver 0.33.6) がリリースされました、更新内容は次のとおりです 技術 やったこと GCP CloudFunctions Workflows Sentry とりあえずGatsbyのブログと本ブログに入れてみた イベント 3月は次のイベントに参加した(視聴) Tech x Marketing #エンジニアリン…