notebook

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

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

RenovateでGitHub Actionsのアクションのバージョンを自動更新する

Renovateを使用して、GitHub Actionsで使用しているアクションのバージョンを自動で上げたい 少し調べてみるとIssueに上がっていた Add support to update action in GitHub Actions workflow · Issue #5733 · renovatebot/renovate github.com Dockerのバー…

Renovateで正規表現を使い独自フォーマットファイルの依存を自動更新をする

個人でも便利に使っているRenovateですが正規表現でよしなにできるようだったので記事を書きました Renovateとは プロジェクトの依存関係(Dependency)の更新を自動化するツール よくある事例では「npmモジュールのバージョン更新を自動でやってもらいPRまで…

じぶん Release Notes (ver 0.32.8)

swfz (ver 0.32.8) がリリースされました、更新内容は次のとおりです 技術 やったこと action-depupへのPRがマージされた add version pattern x.x by swfz · Pull Request #16 · haya14busa/action-depup はてなブログへの投稿をCLI化しGemとして公開した s…

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

小ネタ 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 T…

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月)は飛び抜けているがそれ以外はそんなに変化が…