notebook

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

sqlparseを使い特定のSQLを抽出する

クエリログの中から特定のクエリを取り出したいという状況になったことがあったのでその際のメモ 今回はsqlparseというライブラリを使った sqlparse Python製のSQLパース用のライブラリ、パースだけでなくフォーマットなども行える andialbrecht/sqlparse: A…

CloudTasksの再試行設定覚書

公式ドキュメントを読んでもあんまりピンとこなかったので実際に動かしてみて感覚をつかむ 適当な関数を用意してcreate-http-taskでタスクを生成しCloudTasksのログから再実行の間隔を見る 再試行設定 CloudTasksでは指数関数的に再試行間隔が増加していくが…

BigQueryのMERGE文で削除、更新、追加を同時に行う

MERGE文はUPSERT的な操作をしたいときに取り上げられることが多いイメージだったがもう少し込み入った要件でも活用できそうということで試してみた MERGE文についてのドキュメントは下記 データ操作言語の構文 | BigQuery | Google Cloud cloud.google.com …

じぶん Release Notes (ver 0.33.4)

swfz (ver 0.33.4) がリリースされました、更新内容は次のとおりです 技術 やったこと TypeScript CloudFunction BigQuery 開発環境にdeltaをいれた イベント 1月は次のイベントに参加した(視聴) Engineer Career Study #1 - スペシャリストとしてのキャリ…

スプレッド演算子でimmutableにreduceの処理を書く

nodeでreduceを使って集計などを行う場合、スプレッド演算子を使ってimmutableに書けるのでメモとして残しておく 具体例でいうと次のような変数に対してname,dateごとにグループ化してvalueの値を足した計算結果を出したい場合 const rows = [ { name: "foo"…

2020年ブログの振り返り

2020年ブログの振り返り 総PV数 2020年は81444PVだった 2019年はいくつかバズった記事があったが、2020年はなかったのでそういうのを加味すると良い感じかなと思う 月ごとの推移 安定して前年よりか増えている ホットエントリ入りの記事は残念ながらなかった…

2020年の振り返り

全体的な総括のための振り返り 遅れてしまったが書いておかないと次の年末困りそうなので 2019年と同じような形で思い付くままに書いていく 2019年振り返り - notebook 生活 2020年は変化を余儀なくされたことが多かった 今まで週1のリモート勤務だったのが…

じぶん Release Notes (ver 0.33.3)

swfz (ver 0.33.3) がリリースされました、更新内容は次のとおりです 技術 やったこと TypeScript CloudFunction GraphQL CircleCI GCPのCD BigQuery MERGE構文など BigQueryのデータセットなどをTerraformで管理する サンプルリポジトリ terraform-sample/g…

ブログ周りの環境2020

この記事は write-blog-every-week Advent Calendar 202024日目の記事です(4日も遅れてしまった) ブログ環境 2020 - よしたく blog yoshitaku-jp.hatenablog.com を読んで自分もそれっぽいの書いてみようかなと思ったので書いてみる 運用 プライベートのリ…

VS Codeのスニペットで記事執筆を楽にする

この記事はVisual Studio Code Advent Calendar 2020の23日目の記事です Gatsbyなどの静的サイトジェネレータでブログ記事などを書く場合、Markdownのメタデータ(frontmatter)を最初に書くと思う ほぼ定形なので記事を書くたびに他の記事からコピーして…とい…

BigQuery+Togglで週ごとの作業時間予想をSQLだけで出してみる

この記事はBigQuery Advent Calendar 2020の14日目の記事です もともとTogglのデータをAPIから引っ張ってきてBigQueryに入れているのでそのデータを使って今スプリントの消化時間の着地想定を計算するクエリを書いてみた Toggl Track: Effortless Time-Track…

CircleCIでgcloudを使えるようにする(+Terraform)

この記事はCircleCI Advent Calendar 2020の13日目の記事です 2.1以上であればOrbを使うとechoで特定のファイルに書き出して…とかそういうのをよしなにやってくれるので楽できる CircleCI Developer Hub - circleci/gcp-cli circleci.com 準備 サービスアカ…

TerraformでCloudRun+CloudSchedulerを構築する

素振り目的でやってみた この記事はterraform Advent Calendar 2020の12日目の記事です 前提 用途はバッチ CloudRunは認証済みアクセスのみ許可する TerraformでCloudRunの設定周りを行う イメージのビルドは別途行いCloudRunのtfファイルで参照させる Cloud…

じぶん Release Notes (ver 0.33.2)

swfz (ver 0.33.2) がリリースされました、更新内容は次のとおりです 技術 やったこと Terraform AWS 主にログDataFirehoseやCloudWatchLogsなど GCP CloudScheduler + CloudRun terraform-sample/google/scheduler-run at master · swfz/terraform-sample G…

GCPのSecret Managerを使ってみる

この記事はGoogle Cloud Platform Advent Calendar 20203日目の記事です AWSだとParameterStoreなどがあるがGCPだとなんなんだろうということで調べて使ってみた Secret Manager 外部サービスのAPIキーやパスワードなどの秘匿情報を含むデータをGCP上で管理…

iPhoneヘルスケアの歩数データをPixelaに入れ込む

最近身の周りの数値を取って可視化する活動をコツコツ進めている 今回はiPhoneのヘルスケア(歩数)データをPixelaに投げて可視化する 前日分に関してはiPhoneのショートカットで毎朝前日分のデータを投げるようにしているが過去分のデータもせっかくなら見…

Windows Terminalでつないだサーバのキーバインドが効かない場合があるときのメモ

前提の環境 Windows Terminal Preview バージョン: 1.5.3142.0 Windows Terminalを使っていて普段の開発は WSLでtmuxを起動して開発 VagrantでVMを起動+WindowsTerminalからSSH接続してtmuxで開発 といった感じで行っている 自分はtmuxのpane間移動にCtrl+Al…

VS CodeのRemote-WSLでのターミナル設定箇所

Remote-WSLでターミナルを展開するとデフォルトでtmuxが起動するようになっていた 自分自身どこで設定したか正直覚えてないので勝手に設定された?と思っていたが特に不便がなかったので放置していた そして今までtmuxはaptで入るのでそれを使っていたがふと…

じぶん Release Notes (ver 0.33.1)

swfz (ver 0.33.1) がリリースされました、更新内容は次のとおりです 技術 やったこと CloudRun+Pub/Sub+Ruby swfz/cloud-run-ruby-sample Ansible dotfilesのAnsibleにAWSのcli v2をインストールするroleを追加した swfz/dotfiles#222 dependabotによるGitH…

GitHub Cliにpecoを組み合わせる

便利に使っているGitHub CLIだがissueやprの操作は番号が必要なのでいちいち確認が面倒 リストをpecoで選択すると番号が出てくるようにしたら楽できそうということで設定した zshの設定に下記関数を追加してタイトルなどから選択してghコマンドの入力補助を…

GitHub Actionsでworkflow全体の結果をSlackに通知する

GitHub ActionsでSlackに通知を送るならSlack Workflow Notificationsが良さそうですよという話 経緯はだらだら書いてしまったので忙しい方は試してみるから読んでいただければと思います 経緯 Actionsを使って色々やっているworkflowが増えてきたのでそろそ…

VS Codeのスニペットを使いtextlintのdisableを楽に行う

VS Codeで記事を書いていて、textlintでリアルタイムに校正しているが除外したい文言だったり言い回しだったりがある場合、設定で除外する方法の他にMarkdown内でコメントを挿入することで一時的にチェック対象から外せる 文章の癖というか、チェックはして…

じぶん Release Notes (ver 0.33.0)

swfz (ver 0.33.0) がリリースされました、更新内容は次のとおりです 技術 やったこと Rails, AWS 主に仕事 GitHub Actions workflowの通知を送れるようにした エゴサツイートの収集を自動化した(private repo) Gatsby All posts | >> swfz[:memo] RSSへのリ…

BigQueryのパーティション(日付と取り込み時間の違いについて)

取り込み時間パーティションと日付 / タイムスタンプ パーティションの違いについて しっかりしたドキュメントがあるのでそっち読むほうが断然良いと思います 実際に触ってみたら分かるがドキュメント読むだけだといまいちピンと来なかったので触りながら把…

BigQueryで特定パーティションへのデータ書き込み

BigQueryのパーティションについてのメモ やりたいこと BigQueryにレポートなどの日次データを持たせているテーブルで特定日付のバッチ処理のみ再実行できるようにしたい パーティション分割について そもそもBigQueryのパーティションには色々種類があるよ…

S3のPresigned URLで直接アップロードするときのAccessDenied対応

S3へフロントからPresigned URLを使って直接アップロードする記事は色々出ているので参考にすればサクッとできるかなと思っていたが権限周りでつまずいた 今回はその備忘録 想定ケース Presigned URLをRubyのサーバ側で生成 フロント側でPresigned URLの発行…

GrafanaとTimescaleDB使ってみる

TimescaleDB Time-series data simplified | Timescale www.timescale.com PostgreSQLベースで時系列データを扱うことができるらしい GrafanaなどはElasticsearchやInfluxDBなどをバックエンドにグラフ化できたりするがそれのうちの1つにTimescaleDB(Timesca…

じぶん Release Notes (ver 0.32.11)

swfz (ver 0.32.11) がリリースされました、更新内容は次のとおりです 技術 やったこと Rails, AWS 主に仕事 DataPortal + BigQuery + Embulk + TypeScript swfz/ga-event-flatten GAのAPIたたく -> よしなに整形 -> Embulk -> BigQueryというのを書いた Gat…

WSLでGitHub CliのWebオプションを使えるようにする

GitHubのCliではいくつかのコマンド(listやview)に--webオプションが付いていてコマンドラインからブラウザを開いて確認できる PRの詳細を読みたい場合やCIの結果を詳しく見に行きたいときなどどうしてもブラウザで確認したいときが出てくる Macのホストで実…

Windows Terminalを導入する

WSL2と一緒に入れようと思っていたものの別に一緒じゃなくても良いなということでとりあえず導入してみた 執筆時点のバージョン 1.2.2022.0(preview) 筆者の使用用途 主にVagrantでVMを立ててその中で開発 WSLでちょっとしたリポジトリの開発 microsoft/term…