notebook

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

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を入れて色んな人に使ってもらいだすとほぼ言われるであろう 「期間指定って今週とか今月とかってで…

新しくなったGitHubActionsを試す

yamlの記述になってから試してみたかったものの題材がなかったのと割と忙しくて試せていなかったため今更ながら試してみた、記事的には目新しいことはなさそうなので完全なチラシの裏 とりあえず下記のリポジトリでいくつか実践してみた swfz/ngx-libraries:…

Angularでライブラリを作成しnpmに公開する

前から気になっていたng generate libraryを使ってライブラリを作ってnpmに公開するところまでやってみる 以前は下記記事でやったようにng-packagrを使って色々設定して公開までこぎつけた 自作コンポーネントをnpmに公開する - notebook swfz.hatenablog.co…

AngularでGoogleAnalyticsの計測コードを埋め込む

今回はGoogleAnalyticsのコードをAngularのプロジェクトに埋め込む話 SPAなので単に計測コードを貼り付けただけでは計測できないのでよしなにする必要がある ライブラリも探せばあったがあまり頻繁に更新されてなかったりとちょっと不安要素があったので今回…

ServerlessFramework(Node.js)のプロジェクトをTypeScriptで書き換える

ServerlessFrameworkでTypeScriptを書こうとすると最初からテンプレートaws-nodejs-typescriptを使えばよかったっぽい。 プラグインはSserverless-webpackを使ってとりあえず試してみた が、すでに書いてしまったプロジェクトだったので新規で雛形だけ作って…

patch-packageでpatchをコード管理する

ちょうどプライベートで開発しているものでモジュール側のソースをどうしてもいじらないといけなそうな場面に遭遇したためすこししらべたら面白そうなモジュールを見つけたので使ってみた話 patch-package ds300/patch-package: Fix broken node modules ins…

TypeScript化時に遭遇したコンパイルエラーその1

素のJavaScriptで書いてたコードをTypeScript化させていたときに遭遇したコンパイルエラー 続くかわからないが後で思い出すように残しておく buffer' is not assignable to parameter of type 'string' 書いていたコードは下記 import * as fs from 'fs'; co…

Husky + lint-stagedでCIの前にprettierを適用する

仕事で見ていいなと思ったので自分でもやってみる 方法は色々ありそうなのでとりあえずメモとして残しておく CIでlintやprettierなどをチェックしてコーディングスタイルなどを保っていたが CIでprettierチェックするとpushした結果prettier掛け忘れてた場合…

lambda layerと関数を1つの設定で行う

Lambda Layerを使うときのメモ 以前Serverless FrameworkでLambdaLayerを使ってみたがその時はLayer用にディレクトリを切って設定ファイルも関数とは別であとからARNで参照させる感じだった ディレクトリ構成 - プロジェクトルート - Layer用のディレクトリ …

自宅の仕事環境を整える

今週どうにもモチベーションが上がってこないので箸休め ここ数ヶ月プライベートで2人目の子供が生まれる前後だったので公私とも色々と制限がかかりなかなか思うように作業ができなかったりしたのでせっかく確保できた時間は効率よく使いたい+リモートワーク…

はてなブログ、フォトライフのAPIを使って投稿を自動化する

ふと思い立ってめちゃくちゃ今更だけど当ブログ(はてなブログ)への記事投稿に関わる作業を自動化した 自分は現在MkDocsではてなブログに書く記事、下書き、ただのメモ書きとすべて保存してプライベートリポジトリに持っています(後で見返す時用にいつもMk…

Angularでng deployコマンドを使ってみる

angular-cli@8.3.0からdeployコマンドが使えるようになったみたいなので早速使ってみたいと思います ng deploy angular cliのコマンドserveやgenerateなどに加えてdeployというコマンドが使えるようになりました プロジェクトにng addでライブラリを追加する…

Googleデータポータル(旧DataStudio)でグラフ間のフィルターを適用する

いつの間にかグラフ間で特定の行や指標を使ったフィルターが適用できる様になったみたいです インタラクションフィルターと言われているようです グラフ インタラクション フィルタを追加する - データポータルのヘルプ support.google.com tableauだとこの…

特定の条件のときのみ経由する踏み台を追加する

ssh

よくあるパターンだが環境によってSSHの踏み台の経由を変えたいパターンの備忘録 serverに対してsshする際に社内からの場合と社外からの場合で経由内容を変えたい 例としては下記 社外から local -> proxy-a -> proxy-aws -> server 社内から local -> proxy…

jqでエラーを無視する

最近までまったく知らなかったのですがここまでできるのか!という感じだったので残しておく ?オペレータ tryのショートハンド、式の実行を行いエラーの場合は無視してくれる テキストファイルからjsonの値だけ扱う -Rオプションでrawテキストから読み込むこ…

jqで配列に値を追加する

jqで配列に対して値を追加したい場合 pushなどの関数は提供されていないため配列の添字に対して|=で値をアサインする方法で同じようなことを実現できる 末尾の添字を取得するためには配列の数を変数化してあとで参照させてあげれば良い 式の結果をexp as $ho…

GitHub Actionsでスケジューリング

いつの間にかGitHub Actionsで(待望の!!!)スケジュールトリガーが設定できるようになったみたいです GitHub Actions Changelog | GitHub Developer Guide developer.github.com Creating and cancelling a workflow | GitHub Developer Guide developer…

Angular Ivyでのテンプレート型チェック

ちょうどTypeScriptでstrict: trueやっていこう!という時期だったところに「AngularってTemplateTypeCheckできないんですね」 ということを言われて調べてみたところできなそうだったので落胆していたのですがIvyで実現されていたようです ng --version _ _…

curlを使うときのデータの渡し方

shellscriptなどでcurlを使ってjsonをPOSTする場合 エスケープや変数展開だったりと気にすることが多く毎度躓いてるなーと思っていたのですが@ + ファイルorヒアドキュメントを使って書くと良さそうです もっと早く気づきたかった・・・ 参考 bash - Curl wi…