notebook

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

commit --fixupでコミットログをきれいにする

Git

小ネタ git commit --fixupとgit rebase -i --autosquashを組み合わせることで簡単にコミットを混ぜられる --fixup git commit --fixup ${HASH} とすることで対象のコミットハッシュと同様のコメントの前にfixup!というコメントが付く rebase -i --autosquas…

jqで任意の件数だけ出力する

簡単にできるやろと思ったらそんなことなかったのでメモしておく 件数指定する 単純に件数を指定するだけであればlimitでOK $ echo '[1,2,3,4,5,6,7,8,9,10]' | jq 'limit(3; .[])' 1 2 3 これは簡単 絞り込みや並び替え後に件数指定する 上記のような単純な…

TogglAPI+BigQuery+DataPortalでお手軽ダッシュボードを作成する

ここ数ヵ月Togglを用いて仕事、プライベートの勉強時間、睡眠時間のトラッキングを続けています Togglにもレポートはあるのですが無料プランだと次の点で不満がありました workspaceをまたいだデータが閲覧できない projectごとのデータをレポート画面で見る…

じぶん Release Notes (ver 0.32.7)

swfz (ver 0.32.7) がリリースされました、更新内容は次のとおりです 技術 やったこと GCPチュートリアル Dataflow GCP素振り GCS + BigQuery + DataPortalでToogleのデータを可視化した 別途記事書くかも BigQuery Schedule Query swfz/shared-count: share…

Cloud Dataflowを使ってみる

とりあえず触ってみようという感じのノリで使ってみた Python自体初学なので勉強含めてやってみる Cloud Dataflow Dataflow: ストリーム処理とバッチ処理 | Google Cloud cloud.google.com ETLなどで使う感じ AWSだとGlueみたいな感じの立ち位置なのかな? …

google-api-nodejs-client+GCPサービスアカウントで認証してGoogleAnalyticsReportingAPI(v4)を使う

定期的にやっている気がするけど現時点で良さそうと思えるGoogleAnalyticsAPIをNodeクライアントでたたくための方法 GoogleCloudPlatformを使っているとサービスアカウントを作ってキーのパスを環境変数にセットすればよしなにやってくれるので便利でいいな…

GitHub ActionsでJobのOutputの値を後続Jobで参照する

今までJob内限定でStep間でのoutputの参照はできたがJobをまたぐと参照する方法がなかった なので細かくJobを作って後続Jobで参照したいといったパターンに対応できず1つのJobにまとめてしまうくらいしか対応できなかった それが、先日のリリースでできるよ…

Functions Frameworkを使ってCloud Functionsに入門する

4月はGCP素振り月間と銘打っていろいろと触り始めたのでまぁそうだよねみたいな話多めですがやったこと残しておきます Cloud Functions + Pub/Sub + GCS Functions Framework Cloud Functionsなどの関数を開発するためのフレームワーク 公式の説明は下記 Fun…

じぶん Release Notes (ver 0.32.6)

月ごとに振り返る時間を設けるため、「じぶんリリースノート」を始めてみます swfz (ver 0.32.6) がリリースされました、更新内容は次のとおりです 技術 やったこと GCPチュートリアル CloudRun Pub/Sub Storage BigQuery Angular素振り V9へのマイグレーシ…

AWS RunCommandを使いEC2にSSH鍵不要で任意のコマンドを実行する

AWS

以前SessionManagerを試してみて「コマンド実行も行いたい」ということで今回はRunCommandに関して実際に試してみる AWS Session Managerお試し - notebook swfz.hatenablog.com Run Command sshなどを使用せずSSMエージェント経由で特定のコマンドをインス…

ZLEに登録したコマンドを直接シェルから呼び出す

zshのZLEでキーバインドを設定したコマンドに関してはコンソールから直接呼ぼうとするとエラーになる peco-select-history:zle:11: widgets can only be called when ZLE is active どうしても直接呼び出したいパターンがあったので調べたら下記で回答がされ…

AWS Session Managerお試し

AWS

SessionManagerを使えばSSH経由でなくてもEC2に接続できるということで試しも兼ねて調べた SessionManagerを使うにあたっての前提として対象のインスタンスにSSMエージェントがインストールされている必要がある SSMエージェントとは SystemManager経由で各…

Togglでタイムトラッキングを始めた

タイムトラッキングを始めた 動機 ここ半年ほど仕事が会議だらけで作業する時間がまったく取れないということが増えたので実際どのくらい会議しているのか? を図ってみようというのが始まりでTogglタイムトラッキングを行っている Toggl Toggl - Free Time …

Reactでpropsの型を取得する

Reactの勉強を始めたので覚えたことを残していく ComponentProps コンポーネントの型注釈を取得できる const Hoge = (props: {p1: string, p2: string}) => { return <div></div> } type HogeProps = ComponentProps<typeof Hoge> const Fuga = (props: HogeProps) => { return <div></div> } こ</typeof>…

ansible-lintを入れてみる

入れる機会があったのでメモしておく dotfilesで使っているAnsibleに入れた ansible/ansible-lint: Best practices checker for Ansible github.com インストール pip install ansible-lint 設定 .ansible-lint parseable: true quiet: true use_default_rul…

スクリプトや設定ファイルをテンプレート化して環境変数を埋め込むenvsubstコマンド

簡単なスクリプトや設定ファイルなど、環境変数を埋め込んたファイルを生成したいみたいなパターンのときにenvsubstコマンドが使えます 今まで知らなかったことがもったいない ということでメモ残しておきます インストール gettextを入れると使えるようにな…

GitHub Actionsで定期的にmilestoneを作成する

個人的にタスクの管理をGitHubのIssueで管理していて、週や月ごとにマイルストーンを作って管理しています スクラムイベントみたいなことまでは行っていませんがおおよそどのくらい時間を掛けたかといった意味でポイントをつけています ZenHubと組み合わせる…

jqのreduceを使ってカジュアルに集計する

今回はjqのreduceを使ってさくさく集計を行ってみます サンプル hoge.json [ { "value": 1, "label": "hoge" }, { "value": 3, "label": "fuga" }, { "value": 2, "label": "hoge" }, { "value": 2, "label": "hoge" } ] サンプルのjson APIのレスポンスなど…

GitHubActionsのrepository_dispatchを使い特定ブランチでWorkflowを実行する

背景 任意のタイミング、ブランチでworkflowを実行したい push時にも同じworkflowを実行したい repository_dispatch GitHubActionsを使って任意のタイミングでworkflowを実行するためにはrepository_dispatcheventを指定すればよい Events that trigger work…

jqで条件にマッチしないデータをnotとselectで除外する

jqを使っていて「特定の文字列を含んでない」レコードをselectしたいみたいなケースの話 感覚的には条件式に!をつけて否定したものを条件として使いたかったがそういう書き方はできない 調べてみたら次のスレッドで言及されていた jq - How to filter a json…

GitLab-CIで複数のJobを異なるスケジュールで実行したい

GitLab-CIで複数のJobをスケジューリングして実行したい場合のメモ 単純にスケジュールで実行させるには次のような設定になる .gitlab-ci.yml job1: stage: test script: echo 'hello! job1' only: - schedules job2: stage: test script: echo 'hello! job2…

2019年ブログ活動の振り返り

あけましておめでとうございます 今回は数字をみながら2019年のブログ活動に関して振り返ります PV 年間のPV 去年より大幅増となった 月ごとの推移(前年比) 月毎の推移を見るとバズった月(2018年12月,2019年3月)は飛び抜けているがそれ以外はそんなに変化が…

2019年振り返り

この記事はwrite-blog-every-week Advent Calendar 2019 - Adventarの23日目の記事です 22日目はざきさんのwrite-blog-every-week (週1ブログコミュニティ) に入り、ブログを書き始めて変わったことでした この記事では2019年の振り返りを思いつくまま書い…

GitHubActionsでdotfilesのAnsibleが実行できるかチェックする

この記事は GitHub Actions Advent Calendar 2019 の17日目の記事です dotfilesのAnsibleスクリプトの実行をGitHubActionsでチェックできるようにした話です 経緯 前提 開発はWin機でCentOSのVMを立ち上げている ubuntu(WSL)でも開発する(予定) プライベー…

AngularのライブラリのテストにJestを使ってみる

この記事は Angular #2 Advent Calendar 2019 7日目の記事です ng g libraryで作成したAngularのライブラリに対してjestでテストを回せるようにしたのでやったことを書いていく 経緯 「テキストボックスの入力に関して指定秒数入力がなかった場合にイベント…

dotfilesの構成、運用、コマンドの紹介

この記事はdotfiles Advent Calendar 2019 - Qiitaの6日目の記事です 数年前に作り込んだけどそれ以来あまりメンテできていないので思い出すのも兼ねて構成とかを書き出してみる 開発で使うマシンがCentOSのため基本的にCentOSを前提とした作りになっている …

テスト結果の可視化にAllureFrameworkを使ってみる

allure-framework/allure2: Allure Framework is a flexible lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process extract maximum of information from everyd…

git管理外のファイル間やコマンド実行結果間でdiffを見やすくする

git管理外のファイル間もしくはコマンド実行結果(標準入力)間での差分表示 git管理のファイルであればデフォルトでもそれなりのdiff表示をしてくれるけどdiffコマンドで比較した場合どうするのが良いのかと思って調べた gitでのdiff表示に慣れてしまったた…

PCスリープ後のVirtualBoxのマシンのネットワークを復帰させる

最近会議が増えたのでPC(Windows)を閉じて移動→開いて作業が増えたのですがPCを閉じるとスリープになります 筆者はVagrantでVirtualBoxのマシンを用意してその中でDockerなりの環境を立てて開発しています PCを開いて復帰後にVagrantで起動したVirtualBox…

Redash v8で期間のパラメータで動的指定ができるようになった

タイトル通りで本当これだけなのですがv8で「先週」や「直近7日」など相対的な日付パラメーターを設定できるようになりました 個人的にとてもいい! Redashを入れて色んな人に使ってもらいだすとほぼ言われるであろう 「期間指定って今週とか今月とかってで…