Node.js関連のことを調べてみた2021年02月14日

Node.js関連のことを調べてみた2021年02月14日
目次

nodejsでemailをparseするライブラリの比較

### 概要
– nodejsで受信したemailをparseしたいため現時点でのライブラリを調査した
– どのライブラリもMIME形式のemailのパースにしっかり対応
– 添付ファイル、テキストの文字コード変換(UTF-8)など基本的に必要なものは、ほぼどれも対応
– パフォーマンスまでは調査していない
– mailparserのみstreamベースのハンドラ登録をサポートしている
– DL数やメンテの頻度、ドキュメントの充実度などの観点から、2021/2時点ではmailparser一択っぽい

### 調査ログ
#### mailparser
– URL
– https://www.npmjs.com/package/mailparser
– https://nodemailer.com/extras/mailparser/
– 特徴
– 2010年頃から開発されているnodejs用の老舗メール送信ライブラリに追加された機能
– ドキュメントがしっかりしている
– メモ
– MITライセンス
– 2021/2/14時点で調査した上で

元記事を表示

DockerでUbuntuをベースにnodejsをインストールするときに困った話

# はじめに
DockerでUbuntuのミニマム環境を作っているときに、Node.jsのインストールに戸惑ったのでメモ書きとして残します。

# 何で困るか
apt-getを使ってインストールするとき、タイムゾーンがわからないので設定しろインタラクティブに聞いてきます。Dockerでコンテナを作るときはインタラクティブにされても困るのでどうしようってなります。

# 解決策
tzdataというのをインストールすればタイムゾーンがわからないということが起きません!
よってtzdateをインストールしましょう。

具体的には次のようにDockerfileを編集すればよさそうです。

“`Docker:Dockerfile
FROM ubuntu

RUN apt-get update && \
apt-get install tzdate -y
RUN apt-get install -y nodejs
“`

# おわりに
改善があれば追記します。

元記事を表示

create-react-appが失敗する理由・対処法

### 結論

**とりあえず指示に従って、CreateReactAppのバージョン上げて。。**

### 詳細

#### 発端

“`cmd:コマンドプロント
D:\directory>npx create-react-app hp –template typescript

You are running `create-react-app` 4.0.1, which is behind the latest release (4.0.2).

We no longer support global installation of Create React App.

Please remove any global installs with one of the following commands:
– npm uninstall -g create-react-app
– yarn global remove create-react-app

The latest instructions for creating a new app can be found h

元記事を表示

Node.js からC++関数への引数、返り値まとめ

## はじめに
– node.jsからC++関数を利用する際に、引数・返り値の渡し方について困ったことはありませんか?
– この記事では、`node-addon-api` を使う場合の、引数・返り値の受け渡し方をまとめています。

## 環境構築がまだの方は?
– この記事の内容をトライする前に、以下の記事で環境構築を完了させてください!
– [【Step-By-Step】Node.jsからC++クラスを利用する](https://qiita.com/NA_simple/items/dc31f9ae9519602f9f50)

## 目次
– [1. 関数の基本形](#1-関数の基本形)
– [2. 値の受け渡し](#2-値の受け渡し)
– [3. 配列の受け渡し](#3-配列の受け渡し)
– [4.(応用)異なるプリミティブ型を配列に入れて返却する](#4-応用異なるプリミティブ型を配列に入れて返却する)
– [5. 試してみよう](#5-試してみよう)

##1. 関数の基本形
– node-addon-apiを利用する場合、ラップされるC++の関数は以下のように

元記事を表示

Google CalendarにAPI連携(スケジュール一覧取得 / スケジュール作成 / スケジュール削除)する(Node.js)

GoogleカレンダーにNode.jsからAPI連携する機会があったので、手順をメモしておきます。

## GitHub

https://github.com/Thirosue/gcp-sample/tree/main/calendar

## 手順

1. カレンダーAPIの有効化
2. クレデンシャル作成
3. トークン生成 / スケジュール一覧取得
4. API連携(スケジュール作成 / スケジュール削除)

## 1. カレンダーAPIの有効化

GCPにログインし、検索フォームで「Calendar」と入力し、「Google Calendar API」をクリックします。

![1](https://thirosue.github.io/hosting-image2/gcp-sample/calendar/1.jpg)

APIを有効にします。

![2](https://thirosue.github.io/hosting-image2/gcp-sample/calendar/2.png)

## 2. クレデンシャル作成

次は、API連携に必要なクレデンシャルの作成です。

元記事を表示

M1 MacでLINE botをVS Codeで開発してAzure Functionsへデプロイする環境構築メモ (Node.js版)

# はじめに
M1 MacでLINE botをVS Codeで開発してAzure Functionsへデプロイするための環境構築メモです。

macOS Big Sur
バージョン: 11.2.1

### 1. VS Codeのインストール
バージョン: 1.53.2

### 2. VS CodeのAzure Functions extensionのインストール

### 3. Node.jsのインストール

Node.jsをインストールするためにnvmをインストールします。

ターミナルを開く(Rosettaは使用しない)

“`zsh
% curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
“`

.zshrcファイルに以下を追加する。(.zshrcファイルが無ければ作成する)

“`text
export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This lo

元記事を表示

【Step-By-Step】Node.jsからC++クラスを利用する

## はじめに
この記事は、javascriptからC++を呼び出す処理が必要になった時の備忘録です。
[node-addon-api](https://www.npmjs.com/package/node-addon-api)というラッピングライブラリを活用します。
この記事の内容を「マネすれば動く」ように意識して書いています。
Electronなどのデスクトップアプリに応用できます。

#### 事前準備
– 下記のパッケージは事前にインストールしておいてください
– npm
– node.js

## 応用記事はこちら!
#### 1. [Node.js からC++関数への引数、返り値まとめ](https://qiita.com/NA_simple/items/21deb835a12a6027bb11)
#### 2. Coming soon…

## 目次
– [1. プロジェクトの新規作成](#1-プロジェクトの新規作成)
– [2. Cppファイルを追加する](#2-cppファイルを追加する)
– [3. Cppファイルをビルドする](#3-cppフ

元記事を表示

M1 MacでAzure Functions Core Tools (Node.js版)が動かない件 (※ワークアラウンド)

# はじめに

LINE botをVS Codeで開発してAzure Functionsへデプロイするメモ (Node.js版)
を書いたのですが、M1 Macで実行したところローカル環境で動作しませんでした。

Start Debugging[F5]で実行するとgrpc関連でエラーが出力されます。

“`zsh
[2021-02-13T01:32:12.816Z] Debugger listening on ws://127.0.0.1:9229/f28a6986-09d1-4104-aae4-aa4ce42a3c82
[2021-02-13T01:32:12.824Z] For help, see: https://nodejs.org/en/docs/inspector
[2021-02-13T01:32:12.824Z] internal/modules/cjs/loader.js:883
[2021-02-13T01:32:12.824Z]

元記事を表示

50行でちゃんと動くリマインダーアプリ「Notification-CLI」をリリースしました

50行でちゃんと動くリマインダーアプリ「[Notification-CLI](https://github.com/yuis-ice/notification-cli)」をリリースしました

以下かんたんな日本語版クイックスタートになります。

> Minimalistic Command Line Notification Application under 50 Lines

50行で実装のシンプルなコマンドラインベースのリマインダーアプリケーション。

## クイックスタート Quick Start

> This will nofity you when 2021 February 20, PM 6:00.

以下で2021年2月20日18時に通知をします。

“`
./noc.js -d 2021022018 –desktop
“`

> Very much minimalistic.

とてもミニマリスティック。

## インストール Installation

“`
git clone https://github.com/yuis-ice/notificat

元記事を表示

ESP32でお気に入りの写真チェンジャーを作る

ちょっとだけ脱線して、ESP32でお気に入りの写真チェンジャーを作ってみます。
よく、Googleで単語での検索に加えて、画像やイラストを検索していますよね。
そこで、お気に入りの有名人の写真画像を検索して、それをESP32のLCDに表示し、しかもそれを定期的に別の画像に切り替えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/2e853c2a-0f21-3d19-c550-b3659521772a.png)

もろもろのソースコードをGitHubに置いておきました。

poruruba/FavoriteGallery
 https://github.com/poruruba/FavoriteGallery

# Google Custom Searchの取得

まずは、カスタム検索エンジンを作成します。

Google Programmable Search
 https://cse.google.com/cse/all

![image.png](https:/

元記事を表示

cb.apply is not a function というエラーが出た時

nodistを使ってnodeのバージョンを切り替えてると以下のようなエラーが出ます。

“`
cb.apply is not a function
“`

いろいろ調べるとnodistやめてピュアにインストールしろなどのものがありますが、そもそもこのエラーが出るのは単にnpmがnodeとのバージョンで不整合がおきてるからです。
なので、npmを最新にしましょう!

と思っても

“`
npm i -g npm
“`

とアップデート作業しても、そもそもnpm iでエラーが出るのでできません。
悲しいけど無限ループ状態。
その場合は以下のようにnodist経由でnpmのバージョンを変更すると解決します。

“`
nodist npm 6.14.11
“`

元記事を表示

macOS + Docker + Node.js で bcryptが使えない。

## 経緯
UdemyでNest.jsの講義中にパスワードをハッシュ化させようと`bcrypt`をインストールしたらNest.jsが下記のようなエラーを吐き出した。
エラー解法の日本語版がなかったので、作成。

## 各ミドルウェア
– Docker-Engine: 20.10.2
– node:15.4(元イメージ)
– macOS Catalina 10.15.7(ストレージが足りなくてアップデートできない…)

## エラー内容
“`console
node:internal/modules/cjs/loader:1167
return process.dlopen(module, path.toNamespacedPath(filename));
^

Error: /app/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header
at Object.Module._extensions..node (node:internal/modules/cjs/loader:1167:

元記事を表示

Node-RED(初級):芝犬の画像をランダムに取り出すデモを作成する方法

#node-REDを使ってみる
Node.jsを少し触るようになってから、興味のあったローコードであるnode-REDについて学ぶ機会があったので、健忘録がてら使用方法についてまとめました。

#node-REDの初期設定
##ローカルで実行するための準備
###インストール

“`:ターミナル
$ sudo npm install -g node-red
“`

###node-redを実行

“`:ターミナル
$ node-red
“`

下記のような表示が出れば成功
![スクリーンショット 2021-02-11 21.42.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/581193/f3a5dc37-0f2f-6aab-355f-060be69d741e.png)

###ブラウザで起動
今回の場合、http://127.0.0.1:1880/をブラウザに直接入力

![スクリーンショット 2021-02-11 21.45.55.png](https://qiita-image-st

元記事を表示

Node.jsでファイル一覧取って一括リネームする

## 経緯
録音して貯めているラジオ番組のファイル名が長すぎてモヤモヤ。
カッとなったのでパッと見て誰のいつの放送か、わかりやすくするため一括でリネームさせることにしました。

## 要件

– 録音ファイル名は `_` アンダースコアで区切られている
– リネーム後は`[番組名]_日付.拡張子` にしたい
– ディレクトリ内の特定の拡張子だけ選択
– 一括でリネーム
– コマンドオプションで下位ディレクトリも指定できるようにしておく

つまりこういうのを
![スクリーンショット 2021-02-11 21.56.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30278/398c5d93-a31e-5022-6997-dce35beeca8b.png)

こういうことに
![スクリーンショット 2021-02-11 21.57.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30278/50c14153-10

元記事を表示

【node】MacOSにインストール

## 概要
新端末にnodeをインストールする際に若干ハマったので解決方法を記します。

## 手順

### HomebrewでNodebrewをインストール

“`.sh
brew install nodebrew
“`

早速、エラーが出ます。

“`
Error: Your CLT does not support macOS 11.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.
Update them from Software Update in System Preferences or run:
softwareupdate –all –install –force

If that doesn’t show you any updates, run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select —

元記事を表示

React環境構築【Node.jsのインストールからCreate React Appまで】~macOS編~

本記事はmacOSでの、Reactの環境構築を解説した記事です。

Windowsを利用している方はこちらを御覧ください。
[React環境構築【Node.jsのインストールからCreate React Appまで】~Windows編~](https://qiita.com/techpit-jp/items/984b80a795b7a6f6dd60)

他にもプログラミング学習に役立つような情報を発信しています![アカウントをフォロー](https://qiita.com/techpit-jp)してお待ちください!

# Node.jsの環境構築(macOS)
Webアプリケーションの開発を始めるにあたって、Node.jsをインストールしていきます。

すでにNode.jsがインストールされているかどうかは下記コマンドで確認できます。ターミナルを開いて下記コマンドを入力してみましょう。

“`
$ node -v
“`

下記のようにインストールされているNode.jsのバージョンが表示されれば、すでにインストール済みですので、本パートは読み飛ばしてください。

“`
v12.

元記事を表示

React環境構築【Node.jsのインストールからCreate React Appまで】~Windows編~

本記事はmacOSでの、Reactの環境構築を解説した記事です。

Windowsを利用している方はこちらを御覧ください。
[React環境構築【Node.jsのインストールからCreate React Appまで】~macOS編~](https://qiita.com/techpit-jp/items/b4792f22ddc1155a1cb3)

他にもプログラミング学習に役立つような情報を発信しています![アカウントをフォロー](https://qiita.com/techpit-jp)してお待ちください!

# Node.jsの環境構築(Windows)

Webアプリケーションの開発を始めるにあたって、Node.jsをインストールしていきます。

もし既にお手元のPCにNode.jsの環境があれば、このパートは読み飛ばしても大丈夫です。

注意)このパートで環境構築する対応のPCはWindowsになります。

すでにNode.jsがインストールされているかどうかは下記コマンドで確認できます。ターミナルを開いて下記コマンドを入力してみましょう。

“`
$ node -v
`

元記事を表示

【AWS】EC2でExpressアプリケーションを動かす

# はじめに
趣味でAWSを触ってみようと思いその時調べたことを一通りまとめておこうと思います

# 環境
### AWS側

| 種類 | バージョン |
|:–:|:–:|
| Linux/UNIX | Amazon Linux 2 AMI |
| Git | 2.23.3 |
| nvm | 0.37.2 |
| Node | 14.15.5 |
– nvm(Node Version Manager) ・・・ Nodeのバージョンを手軽に変更できるもの

### ローカル
| 種類 | バージョン |
|:–:|:–:|
| Windows | Pro |
| Tera Term | 4.97 |

# インスタンスの作成
今回はAmazon Linux 2を選択します
![ap-northeast-1.console.aws.amazon.com_ec2_v2_home_region=ap-northeast-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310163/86954f6

元記事を表示

Netflixの日本での全配信タイトル一覧を作る

[アクシス Advent Calendar 2020](https://qiita.com/advent-calendar/2020/mediaxis) 3日目です!
休日は Netflix 三昧のシネフィルの皆さんなら、こんなことが気になったことはありませんか?

– 映画が好きすぎて、Netflix のレコメンドに満足できない。
– Netflixの一覧はレコメンドエンジンに基づいていて[フィルターバブル](https://www.axion.zone/what-filter-bubble-is-like/)を起こしそう。
– 本屋に行き、知らない本と出逢う感覚で新しい映画と出逢いたい。
– 見たことのある作品が多くてタイトルが分かればサムネイルはいらないから、Reactのレンダリングを待つのがだるい。

そこで、Netflix Japan で配信しているタイトルテキストの一覧をサムネイル無しでスクリーンスクレイピングにより収集する方法を模索します。

## スクレイピングと法律
スクレイピングで著作権を侵したり、サイトの価値を損なったりしないか調べました。

##### スクレイ

元記事を表示

Reactの2大SSGフレームワークを変わった角度から比べてみようとしたデブリ記事

# この記事はデブリです
デブリ
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%83%87%E3%83%96%E3%83%AA

「なぜGatsby.jsを推すか」の通り、Apache単体で配信できるGatsby.jsが良いという趣旨で記事化したところ
わずか3時間後に「Next.jsもNode.js無しでOK」という情報を頂戴し、めでたくデブリ記事と化しました。

独力で見つけられなかった結構重要な情報が手を動かさずに3時間で得られることもあるので
アウトプットは大事!ということで。

それぞれのフレームワークでHTML生成した場合の流れが知りたい方は
「Next.js の環境を作成する」から読み進めて、最後にnext.js側で以下の手順を追加してください。

“`shell:shell
nano docker-compose.yml
“`

“`yml:dcoker-compose.yml
version: ‘3’

services:
next:
build:

元記事を表示

OTHERカテゴリの最新記事