notebook

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

Node

Jestの並列実行をGitLab-CIで行う

Jestの並列実行オプション Jestのv28から分割して実行できるオプションが追加された Jest CLI オプション · Jest jestjs.io --shard 1/3といった形式で実行できる 3分割する場合 --shard 1/3 --shard 2/3 --shard 3/3 というように3つコマンドを実行するとそ…

Chromeを起動して手動操作した状態からPuppeteerを実行する

Puppeteerで操作する前に手動で何かしらの操作をしてから操作したいというパターンのためのメモ Chromeの起動 コマンドラインからChromeを立ち上げる "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-di…

GitHub Actionsで使用するRubyやNodeのバージョンをRenovateで更新可能にする

GitHub Actionsのruby/setup-rubyやactions/setup-nodeなどで使う言語のバージョン指定をRenovateで随時更新できるようにする 自分はRuby, Nodeを使うことが多いので掲題の2つしか試していないが他の言語の~~envでもRenovateが対応していれば流用可能 node-v…

Node REPL+Puppeteerでの開発Tips

Puppeteerでスクレイピングしていてやっと「これ楽だわ」みたいな感じのやり方が定着してきた気がするのでアウトプットしておく ちなみにどこまでいってもなるべくClickなどの操作をせずにページ内容を読み取れるのがベターだと思っている あと、REPLにかん…

PuppeteerでXPathを扱う

サンプルやPuppeteerの記事でよく見る$evalや$$evalはCSSセレクタで対象の要素を指定してコールバックを渡したらその中ではブラウザのコンテキストで処理ができる(Elementが渡る)のでelement.hrefのように直接呼び出せる 便利ではあるがここ最近CSSセレクタ…

PuppeteerをNode REPLで使う

page.evalやpage.$xなどをreplで確認しながら開発したい 今までChromeのDevToolでCSSセレクタ確認しながら実行して…とやっていたがどうにも効率上がらない REPLで試行錯誤したものを落とし込めたら多少はらくできるかもということで調べてみた REPLでawaitを…

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

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

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

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