JavaScript
npmではパッケージのインストール元として公式リポジトリ以外に、別フォルダやGitを選択することができます。 package.jsonのdependenciesを見てみると、以下の例のように、公式のリポジトリの場合にはバージョン番号が書かれており、Gitを用いている場合に…
前に書いた記事の補足、追加で調べた内容です。 s1r-j.hatenablog.com utilモジュールを使って文字列化する場合、オブジェクトのプロパティが自分自身を参照していると[Circular *1]に変換されると書きました。 自分自身を参照しているオブジェクトは、下のm…
Node.jsを使っているとき、ログ出力やデバッグのためにオブジェクトを文字列に変換したいことがあります。今回、組み込みモジュールであるutilを使うことで、ちょっと強引ながらオブジェクトを文字列に変える方法を知ったので書き残しておきます。 この記事…
Node.jsではBabelを使ってトランスパイルをおこなって、どのWebブラウザでも動作するようにしたり、まだ仕様化されていないJavaScriptの機能を使ったりすることがあります。 Babelによってトランスパイルされる前のファイルに存在するクラスとトランスパイル…
AWS LambdaのランタイムでNode.js 18を選ぶとAWS SDK for JavaScriptのバージョンが3になっています。 (LambdaのランタイムとしてNode.js 18が利用できるようになったのは2022年11月なのでこの記事は今更過ぎますね。) Lambdaではaws-sdkモジュールが内部…
Node.jsはシングルスレッドで動作するため、スレッドセーフや排他制御については考慮しなくてよいと思っていました。イベントループによって実行される処理は1つだけであり、途中で他のスレッドなどから割り込まれることはないからです。 しかし、実際にはI/…
dotenvはNode.jsで利用される環境変数を読み込むためによく使われているライブラリ。 .envファイルに書き込んだ環境変数を読み込んで、JSファイルでprocess.envから取得できるようになります。 簡単な例としては以下のとおりです。 .envファイル MY_ENV=myva…
Expressのミドルウェアの挙動、特に非同期処理をおこなうにエラーが発生した場合の挙動が気になったので試してみた。 ミドルウェアで非同期処理をするのは前処理でデータベースに登録するケース等を想定している。 挙動を確認した実装はGitHubにおいた:node…
Node.jsでnode-forgeを使って証明書チェーンの検証をおこなう実装を前に書きました(Node.jsで証明書チェーンの検証をおこなう - Qiita)が、jsrsasignを使うことが多くなったのでその方法についてもメモしておく。 実装は例によってjsrsasignのGitHubリポジ…
下記のQiitaの記事と同じです。Gistがうまく貼れなかったのでこちらにも転載。 Node.jsで証明書チェーンの検証をおこなう - Qiita Node.jsで証明書チェーンの検証をおこなうソースコードを実装したので、メモとして残しておく。 調べ方がわるかったのか、実…
最近、JavaScriptを使ったArrayBufferとBase64URLの変換をちょくちょくおこなうようになりました。 調べてみるとやり方はちゃんと書いてあるものの、色々な実装方法があったり、サイトが散らばっていたりと毎回調べ直すのが面倒くさかったので、この記事でま…