動かざることバグの如し

近づきたいよ 君の理想に

nodejs

Nodejsのasyncでリトライを行いたいなら「async-retry」

環境 nodejs v10 やりたいこと 例えばあるURLへHTTPリクエストして、失敗した場合にリトライしたい。けど失敗したときのレスポンスコードが500のときはやり直すけど、404のときは無駄なのでそのままエラーにしたい。 いいライブラリがないか探していたところ…

Puppeteerで一定回数スクロールしまくる

2022年7月30日追記 Puppeteerのpage._clientは非公開APIなのでcreateCDPSession()を使用してclientにアクセスしたほうがいいとのこと const client = await page.target().createCDPSession(); await client.send( 'Input.synthesizeScrollGesture', { x: 0,…

Nodejsで変数確認したりデバッグする方法

環境 nodejs 10 やりたいこと rubyのbinding.pryみたいにプログラムコードの途中で実行を止めて変数の中身とか参照したい やり方 例えば以下のようなjavascriptを用意する。 const val1 = 1; const val2 = 2; debugger console.log(val1 + val2); 1つ目のポ…

Node.jsでコマンドライン引数処理を行うならcommand-line-argsがよさげ

最近だとコマンドラインツールはGolangで書かれることが多くなっていたが、Nodejsでコマンドラインで処理を受け付けたい、ということも全然あると思う。 そのときに必ず当たる壁がコマンドライン引数の処理である。 引数のパース、必須項目の扱い、ヘルプの…

NodejsでファイルからMD5ハッシュを取得したい

md5はこういうの ~/tmp $md5 tmp.wav MD5 (tmp.wav) = a7b3e6a4865d0b5ae39db05371008c2a をNodejsで求めたい 環境 nodejs 8 けど見てる感じ4以上なら動きそう 10でも動いたし コード const crypto = require("crypto"); const fs = require("fs"); function…

NodejsでGoogle Cloud Storageへファイルをアップロードしてみる

環境 nodejs v8.8.1 ここではAWSでいうS3にあたるGoogle Cloud StorageへNodejsでローカルのファイルをアップロードしたりしてしてみる。 サービスアカウントの作成 まずは権限設定 アクセスに必要なキーを含むJSONファイルをゲットする必要がある。 GCPコン…

ヘッドレスブラウザPuppeteerで指定時間待たせる方法

いわゆるwait()とかsleep()とかdelay()って呼ばれてるやつ。 nightmareなら確かwait()だったかな? Puppeteerくんには残念ながら今のところそういった便利関数の実装はないので自分で作る必要がある。 const puppeteer = require('puppeteer'); async functi…

初心者がNodeJSでBabelとgulpをインストールする

ES2015とかなんぞいって奴がちゃんと1から環境の構築をしてみる 環境 bash-3.2$ node -v v5.12.0 bash-3.2$ npm -v 3.10.6 babelのインストール まずはbabelのインストールから始める。 npm install-D babel-cli 適当にa.jsでもつくって以下 const myfunc =…

Slackのbotを30秒で作成する

環境 mPro:botkit_test thr3a$ sw_vers ProductName: Mac OS X ProductVersion: 10.11.5 BuildVersion: 15F34 mPro:botkit_test thr3a$ npm -v 3.8.3 mPro:botkit_test thr3a$ node -v v5.10.0 APIキーの取得 ココからキーを取得して控えておく インストール…