Node.js関連のことを調べてみた2022年05月12日

Node.js関連のことを調べてみた2022年05月12日
目次

Node.js でマルチアカウントの AWS リソース情報をファイル出力してみた

使用している AWS リソース情報を一覧で確認したいことってありますよね。
単一アカウントであれば、以下の方法があります。

https://dev.classmethod.jp/articles/tag-editor-seach-allregion/

https://dev.classmethod.jp/articles/cli-resource-search/

今回は、上記の方法のうち 2 つ目の記事を参考に、マルチアカウントの AWS リソース情報を json ファイルとして出力する Node.js プログラムを作成してみました。

# 前提
・AWS マルチアカウント構成である
・各アカウントにはスイッチロールすることができる
・スイッチロールの権限は `AdministratorAccess`
・[AWS CLI でスイッチロール](https://zenn.dev/mn87/articles/338b163a2f81cd)ができる状態である
・CLI からの呼び出しで MFA は使用していない

なお、今回はマルチリージョンでの出力は行っていませんのでご注意ください。

元記事を表示

Node.jsの雛形の作り方

# Next.jsの雛形の作り方
Node.jsで基本的な操作である雛形の作成を忘れないように残しておく。

## Next.jsの雛形とは(完成品)
雛形とはこのようになっている
この雛形をいじっていくことによって、作りたい形に変化させていく。

## 雛形のフォルダの作り方
* 事前準備として、**node.js**のインストールと**npx**と**yarn**のパッケージをインストールしておく必要がある。
* 雛形のフォルダを下のコマンドを入力して自動作成する。
“`
$ npx create -next -app [フォルダ名]
“`

このようなフォルダが作成される。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

* 作成後フォルダの中に入り、

元記事を表示

Node.jsのバージョンが元に戻る事象のトラブルシュート

## 環境
Ubuntu 20.4

## はじめに
自分の環境に入っているNode.jsのバージョンは、v10.19.0(system)とv16.14.0の2種類。systemとなっているバージョンは、aptでインストールしているはず。そして、v16.14.0は、nvmでインストールしているはずです。

nvmを使って、Node.jsのバージョンをv16.14.0に上げたのだが、OSに再度ログインし直すと、必ず、元のバージョンであるv10.19.0(system)に戻ってしまう現象が発生しているため、そのトラブルシューティングの記事。

## やったこと
OS起動直後のNode.jsのバージョンです。
“`
$node -v
v10.19.0
“`

バージョンをv16.14に変更しました。
“`
$node use v16.14
$node -v
v16.14.0
“`

しかし、この後、OSにログインし直すと、Node.jsのバージョンがv10.19に戻ってしまいます。原因は、defaultのエイリアスの設定ができていないことでした。
“`
$ nvm ls
->

元記事を表示

nextronでcontextbridgeを使おうと思ったら詰まった

詰まったのでまとめておきます.
# 環境
– PC
– macOS Monterey バージョン12.2.1
– MackBook Air (M1, 2020)
– package.json
“`json

“dependencies”: {
“electron-serve”: “^1.1.0”,
“electron-store”: “^8.0.1”,
“node-fetch”: “2”
},
“devDependencies”: {
“@material-ui/core”: “^4.12.4”,
“@material-ui/data-grid”: “^4.0.0-alpha.37”,
“@types/node”: “^16.11.7”,
“@types/react”: “^18.0.8”,
“electron”: “^18.2.0”,
“electron-builder”: “^23.0.3”,
“next”: “^12.1.6”,
“nextron”: “^8.1.0”,

元記事を表示

P2P地震情報のWebSocketを使って地震情報BOTをつくろう!

:::note warn
見にくい記事に気を付けてください(?)
:::

## はじめに
(Discord.jsとか使ってリアルタイムで情報更新するやつ作りたいなぁ)
(せや!WebSocketのやつとかあるか探してみよ!)
(あった!!これでやってみよう!)

と、こんな感じで作り始めました。

## どういうやつ?
地震情報を送ったり~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2594613/d351c6fe-7b11-7bc5-bb22-40ecfc6cc440.png)
震源情報を送ったり~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2594613/b1cbd471-bfa3-271f-9387-a501616f47e8.png)
緊急地震速報をお知らせするのもあるぞ!
![image.png](https://qiita-image-store.s3.ap-nor

元記事を表示

jschardetを使って、ファイルの文字コードを判断する

## 環境
node.js v16.14
Ubuntu 20.4

## はじめに
Node.jsでテキストファイルを読み込む場合、読み込み元ファイルの文字コードが、UTF-8以外のとき、全角日本語が文字化けすることになります。テキストファイルを読み込んだ後、ファイルの文字コードを判断できないだろうかと思って、調べていたところ、**jschardet**というライブラリを見つけたため、試してみることにした。

## 解説
用意したテキストファイルは以下の4種類です。4種類のファイルの読み込みは、関数の引数で判断させています。

– UTF-8
– UTF-16
– UTF-16BE
– S-JIS

ファイルの文字コードが、UTF-8以外であった場合、エラーと判断してコンソールログを表示します。

**jschardet.detect**に読み込んだファイルの内容を文字列で渡すと、**encoding**と**confidence**の2つのキーを持つ連想配列を返します。**encodeing**はライブラリが判断した文字列がセットされ、**confidence**にはライブラリーが判

元記事を表示

【Ubuntu22.04】React開発環境構築手順【React】

# はじめに

以下にUbuntu22.04環境におけるReact開発環境構築手順を纏める。
Ubuntu22.04では2022年5月9現在、aptリポジトリのnodejsバージョンは12.22.9である。
本記事では最新版のnode.jsをインストールするための手順を含む。

:::note warn
**「4. node.jsの最新版のリポジトリをインポート」** を実施しない場合は最新版のnodejsがインストールされないので注意する。
:::

# インストール手順
1. パッケージ一覧の更新
“`bash
$ sudo apt update -y
“`

2. パッケージ更新
“`bash
$ sudo apt upgrade -y
“`

3. curlのインストール
“`bash
$ sudo apt install curl -y
“`

4. node.jsの最新版のリポジトリをインポート
“`bash
$ curl -fsSL https://deb.nodeso

元記事を表示

npmのCLIコードリーディングをできるようになるためにnpm packageを作ってみる

# はじめに
先日、TypeORM(TypeScript製のORM)のCLIを使ってデータベースの migration を公式ドキュメントに従って進めていたところ途中でエラーが出て進めなくなりました。そこでTypeORMのCLIのコードの中身を読もうとしたところ、エントリーポイントが分からずどこを読めばいいのか分かりませんでした。

今後同じような状況に陥った際にCLIのコードリーディングがある程度できた方がいいと思い、npm のpackageを作って公開し、使ってみることにしました。CLIコードリーディングのとっかかりを掴むことができることを本記事では目的としています。

# 対象読者
– 自作のnpm packageの作り方が分からない
– CLIのコードリーディングの仕方が分からない
– npxコマンドを実行するとライブラリのどのコードが実行されるのか分からない

# 最小構成のnpm packageを公開する
コマンドラインで`hello`というコマンドを実行すると、`hello world!!`と表示されるコマンドラインツールを作成したいと思います。

npm でコマンドライ

元記事を表示

【実用編】discord.js v13 ユーザー・メンバーをBAN・KICK・UNBAN

## 前書き
Discordは世界的に有名なンスタントメッセージ・ビデオ通話・音声通話・VoIPフリーウェアです。
そのため、日々いろいろな個性あふれるユーザーが使用します。
中には、**毎日自分の性癖を暴露するのが趣味な方**、**小学3年生レベルの下ネタを1秒に数十件も送るのが興奮してやまない方**。
などなど様々な方がいます。自分のサーバーに**危険な危ないデンジャラスなユーザーを入れない、追放するためのコマンド**の作成方法を解説します。

## ユーザーとメンバー、おいしいのどっち?
タイトルに「ユーザー・メンバー」とありますが、「**ユーザーとメンバーなんて何が違うねん、ちょっと辛いのがユーザーって感じだけじゃね?**」と思う方も多いことでしょう。
discord.jsでは**ユーザーとメンバーには明確な違い**があります。スパイスだけの違いではありません。

### ユーザー
* Discordを使用しているアカウント(ユーザー)を指す
* 基本的なアカウント情報(ユーザーネーム、ユーザーID等)を取得できる
* **インド産のスパイスを使用**

### メンバー
*

元記事を表示

Electron から Nightmare を使う

Electron アプリケーションから Nightmare を使いたい時の方法。
スクレイピング中に動的HTMLが取れない場合などに。

## Eramthgin を使う

Eramthgin を使うとちゃんと動く。
https://www.npmjs.com/package/eramthgin

`npm install eramthgin`

## メインプロセスで呼び出す

基本的に nightmare と同じ。

“`main.js
const nightmare = require(‘eramthgin’);
const n = new nightmare({
show: true
});
“`

## preload.js に渡して処理を書く

main.js で global を経由して preload.js に渡す。

“`main.js
const mainWindow = new BrowserWindow({
width: 1200,
height: 600,
webPreferences: {
preload: path.join(__dirn

元記事を表示

[Tauri]アーキテクチャまとめ

# Tauriのアーキテクチャまとめ
Electronのようにフロントエンド技術を用いてデスクトップアプリケーションを作成できる[Tauri](https://tauri.studio/)ですが、2022年4月にStable版をリリース予定です。
と思ってこの記事を作っておいてリリースされたら投稿しようと思っていたのですが、記事投稿の2020/5/8時点でrc10で待ってられないので、リリース前の確認ということで、公式サイトの[Docs](https://tauri.studio/docs/getting-started/prerequisites)にあるアーキテクチャをまとめて確認しまておきしょう。

## Tauriアーキテクチャ
ここでいう「アーキテクチャ」とは、Tauri自身のTauri CoreやWryなどといったTauriの構成を指すものではなく、Tauriを用いたデスクトップアプリケーションを作成する手法のことを言います。
PatternsとRecipesからなり、PatternsはTauriのRustサイド(Tauri Core)とJavaScriptフロントエンドとの

元記事を表示

Windowsでnodejsの環境構築【安定感抜群】

# あらすじ

Windowsのローカル環境でnodejsを使って開発を行いたいときのベストプラクティスを紹介します。

dockerやWSLを使うのが理想ですが、「マシンスペック的にVMを起動すること自体がおっくうな場合」もしくは、「Windows Server Core などを本番環境に使用する予定」などのための記事とします。

::: note info
2022年4月現在の最新情報です。
:::

# 前提

下記ソフトウェアがインストール済みとします。

– Windows 10 or Later
– Powershell 7 or Later

::: note warn
もし、他のnodejs用のバージョン完了ツールや、nodejs公式のインストーラーを使用したインストールが行われている場合、事前に全て消しましょう。特に、環境変数は厄介なので、慎重に確認して消しましょう。筆者は、ProgramFilesが2個あることに気が付かず時間を無駄にしました。
:::

# やること

やることは、下記の通りです。

– `nvm`のインストール
– `node`のインストール

元記事を表示

Node 18 に Test Runner なるものがあったので試してみた(Experimental)

Devon Govett さんのツイートに「おおっ!😲」となったので Test Runner を試してみました。

構成の話などは、「[【概要編】の記事](https://qiita.com/youtoy/items/db6d34a9985eb182042f)」をご参照ください。 

## 準備手順
この後に、いくつかのプログラムのソースコード等が出てくるのですが、それらをどのような順番で動作させていく

元記事を表示

Python の input( ) と同様の挙動を JavaScript, Node.js で再現する

私と同じ悩みを持つ方のために、共有させていただきます。
以下のQAにてご指導頂いた内容ですので、経緯等は以下のページを参照ください。

https://qiita.com/watanabe-tsubasa/questions/07131f97fa0a48897ab2#answer-7d6b619e11e5876f6023

## 動作

実行すると数字1を聞かれます(今回は10を入力)。

入力すると数字2を聞かれます(今回は20を入力)。

元記事を表示

OTHERカテゴリの最新記事