Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

Programming Self-Study Notebook:目次

目次

言語系


- 「Python関連のノート」のまとめ(作成中)

ミドルウェア

開発支援ツール

OS系

クラウドインフラ系

開発手法について

その他

「npm関連のノート」のまとめ

f:id:overworker:20200927105912p:plain:h150

overworker.hatenablog.jp

overworker.hatenablog.jp

Windows10にnodeをインストールしたときのメモ

f:id:overworker:20210221004420p:plain:h150


自宅PCでnpm installを実施しようとしたら、エラーになってしまいました、、、。 自宅PCが仕事に汚染されていないことにホッとしつつ、 nodeをインストールしたときのメモになります。(お勉強のために、結局インストールしました。)

node.jsがインストールされてないことを確認する

f:id:overworker:20210221005538p:plain:w400
  • Nodeのバージョン確認コマンドnode -vを実施することでインストールの有無、及びインストール中のバージョンが確認できます。
>node -v
'node' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

<参考>
node.jsがインストールされていない状態で
npm installを実施した際のエラーコメント

  • node.jsがインストールされていない状態でnpm installを実施した際のエラーコメントを掲載します。
>npm install
'npm' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

nodeのインストーラーを入手する

あまり考えずにインストールしたい場合(最新版LTS)

  • 以下をクリックするとnode-v14.15.5-x64.msiのダウンロードが開始しました。
f:id:overworker:20210221083006p:plain:w350

色々選びたい場合(過去のバージョン等)

f:id:overworker:20210221083449p:plain:w350
f:id:overworker:20210221084640p:plain:w350
f:id:overworker:20210221085234p:plain:w350
f:id:overworker:20210221085448p:plain:w350

インストーラーを起動する

  • 入手したnode-v14.15.5-x64.msiを任意の場所で実行(ダブルクリック)します。
f:id:overworker:20210223082257p:plain:w350
f:id:overworker:20210223082420p:plain:w350
f:id:overworker:20210223082540p:plain:w350
f:id:overworker:20210223082624p:plain:w350

自動インストールのためのToolのインストールについて

f:id:overworker:20210223084957p:plain:w350

Some npm modules need to be compiled from C/C++ when installing.
インストール時にC/C++からのコンパイルが必要なnpmモジュールがあります。

If you want to be able to install such modules, some tools (Python and Visual Studio Build Tools)need to be installed.
そのようなモジュールをインストールできるようにするには、いくつかのツール(Pythonやビジュアルスタジオビルドツール)をインストールする必要があります。

Automatically install the necessary tools.
必要なツールを自動的にインストールします。

Note that this will also install Chocolatey.
これでChocolateyもインストールされますので注意してください。

The script will pop-up in a new window after the installation completes.
インストールが完了すると、スクリプトが新しいウィンドウでポップアップします。

Alternatively, follow the instruction at https://github.com/nodejs/node-gyp#on-windows to install the dependencies yourself
または、リンクの指示に従って、依存関係を自分でインストールします

f:id:overworker:20210223085100p:plain:w350
f:id:overworker:20210223085450p:plain:w250
f:id:overworker:20210223085518p:plain:w350

Windows Power Shellが起動しインストールが始まる

f:id:overworker:20210223085620p:plain:w450

====================================================
Tools for Node.js Native Modules Installation Script
Node.jsネイティブモジュールインストールスクリプト用のツール
====================================================

This script will install Python and the Visual Studio Build Tools, necessary to compile Node.js native modules.
このスクリプトは、PythonとVisualStudioビルドツールをインストールし、必要に応じてNode.jsネイティブモジュールをコンパイルします。

Note that Chocolatey and required Windows updates will also be installed.
Chocolateyと必要なWindowsのアップデートもインストールされることに注意してください。

This will require about 3 Gb of free disk space, plus any space necessary to install Windows updates.
これには、約3 Gbの空きディスク容量に加えて、WindowsUpdateをインストールします。

This will take a while to run.
これは実行に時間がかかります。

Please close all open programs for the duration of the installation.
インストール中は、開いているすべてのプログラムを閉じてください。

If the installation fails, please ensure Windows is fully updated, reboot your computer and try to run this again.
インストールが失敗した場合は、Windowsが完全に更新されていることを確認し、再起動してからもう一度実行してみてください。

This script can be found in the Start menu under Node.js.
このスクリプトは、Node.jsの下のスタートメニューにあります。

You can close this window to stop now.
このウィンドウを閉じて、今すぐ停止できます。

Detailed instructions to install these tools manually are available at https://github.com/nodejs/node-gyp#on-windows
これらを手動でインストールするための詳細な手順はリンクから入手できます。

f:id:overworker:20210223085920p:plain:w450

Using this script downloads third party software
このスクリプトを使用すると、サードパーティのソフトウェアがダウンロードされます

This script will direct to Chocolatey to install packages.
このスクリプトは、Chocolateyにパッケージをインストールするように指示します。

By using Chocolatey to install a package, you are accepting the license for the application, executable(s), or other artifacts delivered to your machine as a result of a Chocolatey install.
Chocolateyを使用してパッケージをインストールすることにより、Chocolateyのインストールの結果としてマシンに配信されるアプリケーション、実行可能ファイル、またはその他のアーティファクトのライセンスに同意したことになります。

This acceptance occurs whether you know the license terms or not.
この承認は、ライセンス条項を知っているかどうかに関係なく発生します。

Read and understand the license terms of the packages being installed and their dependencies prior to installation:
インストールする前に、インストールするパッケージのライセンス条項とそれらの依存関係を読んで理解してください。
- https://chocolatey.org/packages/chocolatey
- https://chocolatey.org/packages/python
- https://chocolatey.org/packages/visualstudio2017-workload-vctools

This script is provided AS-IS without any warranties of any kind
このスクリプトは現状のまま提供され、いかなる種類の保証もありません。

Chocolatey has implemented security safeguards in their process to help protect the community from malicious or pirated software, but any use of this script is at your own risk.
Chocolateyは、悪意のあるソフトウェアや海賊版ソフトウェアからコミュニティを保護するために、プロセスにセキュリティセーフガードを実装していますが、このスクリプトの使用はご自身の責任で行ってください。

Please read the Chocolatey's legal terms of use as well as how the community repository for Chocolatey.org is maintained.
Chocolateyの法的利用規約と、Chocolatey.orgのコミュニティリポジトリがどのように維持されているかをお読みください。

f:id:overworker:20210223113215p:plain:w450
  • Enterキーを押して処理を終了する。

node.jsがインストールされたことを確認する

f:id:overworker:20210223114658p:plain:w400
  • Nodeのバージョン確認コマンドnode -vを実施することでインストールの有無、及びインストール中のバージョンが確認できます。
>node -v
v14.15.5

「Jset関連のノート」のまとめ

f:id:overworker:20200916000438p:plain:h150


仕事でNode.js+Jestを使った時に、調べた内容のメモです。

前提

環境の構築

テストコードの作成

テストの実行

  • 全ファイル実行
  • ファイル指定での実行
  • テストコードを用いたデバッグ

カバレッジの計測

  • npm run coverage(コンソール出力の読み方)
  • コード上で確認する

参考文献

その他の記事へ

Node.js+Jestで単体テストを始める方法(環境構築)

f:id:overworker:20200916000438p:plain:h150


仕事でNode.js+Jestを使った時に、調べた内容のメモです。

前提

環境

  • OS:Windows10 Pro

インストール

  • node_modulesフォルダが存在する階層で以下のコマンドを実行します。
# npmなら
npm install --save-dev jest

package.jsonの変更

{
  "scripts": {
    "test": "jest"
  }
}

その他の記事へ

「ESLint関連のノート」のまとめ

f:id:overworker:20210220234900p:plain:h150


仕事でNode.js+ESLintを使った時に、調べた内容のメモです。

環境の構築

その他の記事へ

SNSのメトリクスについて調べてみた

f:id:overworker:20200812002527p:plain:h150

メトリクスを単位別にならげ変えてみました。

単位:USD(料金)

SMSMonthToDateSpentUSD

  • 今月の始めから今日までの SMS メッセージの送信料金。

  • 今月の始めから今日までの料金がアカウントの毎月の SMS 使用限度に近付いたことがわかるように、このメトリクスにアラームを設定できます。Amazon SNS が、SMS メッセージを送信するとこの限度を超えるコストが発生すると判断する場合、数分以内に SMS メッセージの発行を停止します。

  • SMS の毎月の使用料限度の設定の詳細、または AWS に対して限度の引き上げをリクエストする方法については、「SMS メッセージプリファレンスの設定」を参照してください。

  • 有効な統計: 最大

単位:バイト

PublishSize

  • 発行されたメッセージのサイズ。

  • 有効な統計: 最小、最大、平均、カウント

単位:Count

NumberOfMessagesPublished

  • Amazon SNS トピックに対して発行されたメッセージ数。

  • 有効な統計: 合計

NumberOfNotificationsDelivered

  • Amazon Amazon SNS トピックからそのトピックにサブスクライブしているエンドポイントに正常に配信されたメッセージ数。

  • 配信の試行が成功するには、エンドポイントのサブスクリプションでメッセージが許可されている必要があります。購読は、次の場合にメッセージを承諾します。a) フィルタ ポリシーがない、または b) そのフィルタ ポリシーには、メッセージに割り当てられた属性に一致する属性が含まれます。サブスクリプションでメッセージが拒否された場合、配信の試行はこのメトリクスに対してカウントされません。

  • 有効な統計: 合計

NumberOfNotificationsFailed

  • Amazon SNS が配信に失敗したメッセージの数。

  • Amazon SQS、E メール、SMS、またはモバイルプッシュエンドポイントの場合、Amazon SNS がメッセージ配信の試行を停止すると、このメトリクスが 1 増分されます。HTTP または HTTPS エンドポイントの場合、失敗した配信の試行がすべて、初回試行に続く再試行を含め、このメトリクスに対してカウントされます。その他のすべてのエンドポイントの場合、メッセージが配信されないと、カウントが 1 増加します (試行回数には関係ありません)。

  • サブスクリプションフィルタポリシーによって拒否されたメッセージは、このメトリクスに対してカウントされません。

  • HTTP エンドポイントの再試行回数をコントロールできます。詳細については、を参照してください Amazon SNSメッセージ配信の再試行。

  • 有効な統計: 合計、平均

NumberOfNotificationsFilteredOut

  • サブスクリプションフィルタポリシーによって拒否されたメッセージの数。メッセージの属性がポリシーの属性と一致しない場合、フィルタポリシーによってメッセージは拒否されます。

  • 有効な統計: 合計、平均

NumberOfNotificationsFilteredOut-InvalidAttributes

  • メッセージの属性が無効であるため、たとえば属性の JSON 形式が正しくないため、サブスクリプションフィルタポリシーによって拒否されたメッセージの数。–

  • 有効な統計: 合計、平均

NumberOfNotificationsFilteredOut-NoMessageAttributes

  • メッセージに属性がないため、サブスクリプションフィルタポリシーによって拒否されたメッセージの数。

  • 有効な統計: 合計、平均

NumberOfNotificationsRedrivenToDlq

  • デッドレターキューに移動されたメッセージの数。

  • 有効な統計: 合計、平均

NumberOfNotificationsFailedToRedriveToDlq

  • デッドレターキューに移動できなかったメッセージの数。

  • 有効な統計: 合計、平均

SMSSuccessRate

  • 正常な SMS メッセージ配信のレート

  • 有効な統計: 合計、平均、データ サンプル

その他の記事へ

SQSのメトリクスについて調べてみた

f:id:overworker:20200812002527p:plain:h150

メトリクスを単位別にならげ変えてみました。

単位:時間(秒)

ApproximateAgeOfOldestMessage

  • キューで最も古い削除されていないメッセージのおおよその経過期間。

    • 注記
      • メッセージを 3 回 (またはそれ以上) 受信して処理しないと、メッセージはキューの後ろに移動され、ApproximateAgeOfOldestMessage メトリクスは 3 回以上受信されていない 2 番目に古いメッセージを指します。このアクションは、キューに再処理ポリシーがある場合でも発生します。

      • 1 つのポイズンピルメッセージ (複数回受信されても削除されないメッセージ) がこのメトリクスを歪める可能性があるため、ポイズンピルメッセージが正常に消費されるまで、ポイズンピルメッセージの経過時間はメトリクスに含まれません。

      • キューに再処理ポリシーがある場合、設定された最大受信数を超えると、メッセージはデッドレターキューに移動されます。メッセージがデッドレターキューに移動されると、デッドレターキューの ApproximateAgeOfOldestMessage メトリクスは、メッセージがデッドレターキューに移動された時間を表します (メッセージが送信された元の時間ではありません)。

  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

単位:バイト

SentMessageSize

  • キューに追加されたメッセージのサイズ。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

  • 注記

    • SentMessageSize は、最低 1 つのメッセージがその対応するキューに送信されるまでは、CloudWatch コンソールに使用可能なメトリクスとして表示されません。

単位:Count

ApproximateNumberOfMessagesDelayed

  • 遅延が発生したため、すぐに読み取ることのできない、キューのメッセージ数。これは、キューが遅延キューとして設定されている場合、またはメッセージが遅延パラメータとともに送信された場合に発生することがあります。

  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

ApproximateNumberOfMessagesNotVisible

  • 処理中のメッセージの数。メッセージがクライアントに送信されたが、まだ削除されていない場合、または表示期限に達していない場合、メッセージは処理中とみなされます。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

ApproximateNumberOfMessagesVisible

  • キューから取得可能なメッセージの数。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

NumberOfEmptyReceives

  • メッセージを返さなかった ReceiveMessage API 呼び出しの数。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

NumberOfMessagesDeleted

  • キューから削除されたメッセージの数。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

  • Amazon SQS は、有効な受信ハンドル を使用した削除オペレーション (重複の削除など) が成功するたびに NumberOfMessagesDeleted メトリクスを出力します。以下の場合は、NumberOfMessagesDeleted メトリクスの値が予想より高くなる場合があります。

NumberOfMessagesReceived

  • ReceiveMessage アクションへの呼び出しで返されたメッセージの数。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

NumberOfMessagesSent

  • キューに追加されたメッセージの数。
  • 報告条件: キューがアクティブの場合は、負でない値が報告されます。

  • 有効な統計: Average、Minimum、Maximum、Sum、Data Samples (Amazon SQS コンソールにサンプル数として表示されます)

その他の記事へ