notebook

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

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

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

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…

HTMLの中からSVGの部分を切り出す

テストカバレッジや静的コード解析ツールなどを使う場合、その時その時のスコアは分かりますが「数ヶ月前と比べてどうだったか」というのも知りたいですよね そうなると継続的に指標を取ってどこかに記録しておく必要があると思います イメージとしてはJenki…

ag-Gridで最初から知っておいたほうが良かったこと

かれこれ結構な年月かかわらせて頂いているので実装するにあたってのこれはーみたいなのが溜まってきたのでここいらで吐き出しておきます 簡単にできる割に体験が良いもの、軽い気持ちでやったら後々苦労するものなど tooltip 設定されたカラムでカーソルを…

TypeScriptの組み込み型関数

今回はTypeScriptの組み込み型関数について ※3.4時点 型をしっかり付け始めていろいろと直面する問題が多くそのたびに調べていった結果TypeScriptの組み込み型関数的なものが用意されていることを知りました これを知らずに自前で型を作ろうとしてむだに考え…

Conditional Typeのメモ書き

今更ながら頑張るTypeScript(strict: true)をやろうという事になったのでメモ書きをつらつらと書いていきます。 今までやりたい放題anyをぶちこんでた無法地帯に秩序をもたらすべくstrictに対応させていくのはなかなか大変です。 既存のコードに型を付けてい…