notebook

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

2021-01-01から1年間の記事一覧

2021年の振り返り

全体的な総括のための振り返り 2020年と同じような形で思い付くままに書いていく 2020年の振り返り - notebook 生活 引っ越したばかりだったので習慣やルーティーンが変わった 新たに模索する段階だった気がするがやろうとしてたことはほとんど失敗した気も…

BigQueryの名前つきウィンドウでウィンドウ指定のあるクエリを読みやすくする

Window Frame句 SQL中にWINDOW ~~~と書くことでPARTITION BY ~~~やORDER BY ~~~などの指定に名前をつけることができOVER句で参照できる 分析関数のコンセプト | BigQuery | Google Cloud cloud.google.com 今までこの存在を知らず1つずつウィンドウ指定を書…

Reactでタイマーを作ってPicture in Pictureで表示する

この記事は Reactのカレンダー | Advent Calendar 2021 - Qiita 9日目の記事です 会議やワークなどでファシリテーションする際、「ちょっと時間取るのでこの作業しましょう」や「1人○分で意見を言いましょう」といったことが良くある Miroなどはタイマー機能…

GCPのWorkflowsで日付をフォーマットした値を生成する

この記事はGoogle Cloud Platform Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiita6日目の記事です qiita.com GCPのWorkflowsでtime.format, time.parseが使えるようになった 今まではWorkflowsから何かAPIへ対してリクエストを送る際に日…

Google Apps ScriptでDataportalのレポートを毎日Slackに配信する

この記事は Google Apps Script Advent Calendar 2021のカレンダー | Advent Calendar 2021 - Qiita 2日目の記事です qiita.com Dataportalのレポートをメール配信する機能が結構良かったのでGASと合わせてSlackに投稿する というのをやってみた 流れは次の…

じぶん Release Notes (ver 0.34.2)

swfz (ver 0.34.2) がリリースされました、更新内容は次のとおりです 技術 やったこと はてなブログのフィードを手動で生成するスクリプトを作った https://github.com/swfz/hatenablog-all-feed-generator Chrome Extension 画面のテーブルデータをCSVでDL…

CSVダウンロードがない画面でもCSVを落としたい

よくあるテーブル形式のコンテンツなどでデータを手元にダウンロードして使いたいとき、たいていはテーブル表示用のライブラリとCSVダウンロードがセットでありあまり困らない ただ、データが表示だけされているがダウンロード機能がないときも存在する 仕事…

NotionのFomulaで日付型と未入力を分岐で扱えるようにする

NotionのFomulaを使って特定の条件のときは日付、それ以外のときは未入力というのをやりたかったがさっとやろうとしたらエラーですんなり定義できなかった 具体的には下記のように日付型でTerm、FomulaでCompletedAtというカラムを用意 Termがstart,end両方…

じぶん Release Notes (ver 0.34.1)

swfz (ver 0.34.1) がリリースされました、更新内容は次のとおりです 技術 やったこと Athena ALBのログから色々調査した UNNESTとか書けるようになった(はず) 日付関連のINTERVALの書き方を把握した BigQuery 分析関数調べ直した 読んだ本 目標管理の教科…

GASを使ってメール添付されたCSVファイルをスプレッドシートへ転記する

なんかしらのレポートCSVをメールでは送れるけどAPIはない…などの場合にスプレッドシートまで落とし込めればGASでよしなに自動化できたりするので便利 あまりやりすぎると負債化しそうだが個人タスクの自動化レベルだったら十分活用できる カンペ的なサンプ…

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の…