Node.js
前提 expressをTypeScriptでバックエンドを実装している。 なぜ必要か コードを変更するたびに、手動でサーバーを再起動する手間を省き、開発の効率を上げるためにホットリロードを導入したい。 ホットリロードとは ホットリロード(Hot Reload)とは、コード…
csurfのパッケージを使用してcsrf対策をします。 注: パッケージ名はcsurf となる点に注目してください。csrf というパッケージも存在します。 csurf http://expressjs.com/en/resources/middleware/csurf.html csrf https://github.com/pillarjs/csrf 実装 …
CSRF対策 書き込みできるドメインを限定する 適切な画面遷移でデータ登録されている事を確認する(トークン制御を入れる) キャプチャ(画面認証を入れる) 今回は2の対策をしていきます。 パッケージ導入 yarn add csrf ミドルウェアとして組み込みではなく、必…
ルーティングとは リクエストに対して処理の振り分けを行う仕組みの事です。 expressの基本機能です。 ルーティングの実装 app.(path, callback) 関数名 METHOD ⇨ リクエストメソッド(get, post, put, deleteなど) path ⇨ 振り分けたいURL callback ⇨ pathマ…
ストリームインスタンス Node.jsによって提供される多くのストリームオブジェクトがあります。 例えば、HTTPサーバーへのリクエストとprocess.stdoutはどちらもストリームインスタンスです。 pipeイベント 読み取り可能なストリームでstream.pipe()メソッド…
同期処理を行うとNode.jsの良さがなくなってしまうため利用は避けるべきです。 非同期処理の方法を見ていきます。 非同期ファイル読み込みをする場合 ファイルサイズが小さく後続処理も簡易な場合に利用します。 Promise 非同期処理の読み書き時にコールバッ…
イベントループ 処理実行順のことです。 フェーズとキュー 6つフェーズと2つのキューがあります。 フェーズ Times pending callback idle poll check close callback キュー nextTickQueue microTaskQueue フェーズのみの場合はフェーズを順番に処理して回っ…
Node.jsとは スケーラブルなネットアプリケーションを構築するために設計された非同期型のイベント駆動のJavaScript環境です。 または JavaScriptで書かれたプログラムを実行するためのランタイムとも表現できます。 ランタイムとは 実行に必要なプログラム…