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

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

nodist

# はじめに
開発するシステム毎に特定のNode.jsのバージョンが指定されている場合がある。
nodistを使うとバージョンを切り替えられるので便利でした。
しっかし、最新バージョンで動くようにメンテしておいて欲しいですわ!
ダウンロードサイトと基本的なコマンドを記録しておきます。

# ダウンロードサイト
https://github.com/nullivex/nodist/releases

# コマンド

“`bash
nodist
nodist -v
nodist install バージョン
nodist npm match
nodist rm バージョン
“`

元記事を表示

家計簿のデータをNode.jsでスプレッドシート連携してみた

この記事は[レコチョク Advent Calendar 2021](https://qiita.com/advent-calendar/2021/recochoku)の11日目の記事となります。

# はじめに
はじめまして、最近サウナにどハマりしている株式会社レコチョクの酒見です。
サ活こそ正義ですね。
私も音楽が好きで有名どころしか知らないかもですが、学生時代からいろんな名曲や
アーティストの音楽と共に過ごしてきました。
BUMP OF CHICKEN / ELLEGARDEN / ONE OK ROCK / UVERworldあたりが大好きで、泣かされたり背中を押されたりテンションを上げてもらったりと、思い入れが特に強いです。(世代がわかってしまうかもですね)

そんな私は、普段はサーバサイドエンジニアとしてPHPを触る機会が多いんですが
今回はNode.jsを使用して、Google スプレッドシートへのデータ連携を作ったことを書きたいと思います。

# 前提として
私はスプレッドシートを家計簿代わりに使っています。
PCから入力する分には気にならなかったのですが、スマホからの

元記事を表示

NodejsからArduino IoT Cloudを操作するためのメモ

# はじめに
Arduino IoT Cloudを課金プランにすることでNode-REDで操作できることを確認したので、今回はNode.jsからそのまま操作できるか確かめた。

# 結論
wrapperコードを使いつつもLチカで動作確認できた。

# 準備

**重要:APIキーを取得する都合から、今回はArduino IoT Cloudの課金プランを使用する。最低でも400円/月弱の課金が必要。**一応課金プランからFreeプランに戻すのは可能。

– Arduino IoT Cloudアカウント(Entryプラン以上)
– [Arduino MKR Wifi 1010](https://www.switch-science.com/catalog/7384/)
– ブレッドボード
– [抵抗付きLED(秋月電子通商)](https://akizukidenshi.com/catalog/g/gI-16687/)
– node.jsが使える環境(今回はv14.17.3を使用した。nodebrew/nodist等で切り替えて使用してもOK)

# 知識的な前提

– Freeプランでも

元記事を表示

AzureAppServiceにVueやReactのアプリがうまくデプロイできない問題

# はじめに

こんにちは。先日、[ハッカソンリーグ2021 -ルーキーリーグ](https://mashupawards.connpass.com/event/225670/)というハッカソンに参加してきました。
「azure製品を使いたおして、”ポストコロナの〇〇”をつくりだそう!」というハッカソンです!
シェアハウスの友達と4人でwebサービスを作成し、なんと、優秀賞をいただくことができました!!! ?????

今回は、サービスを作成するにあたって,デプロイ時に**どハマった**ことを記事にしました。
同じ問題で時間を食い潰される方がでないように祈りを込めて……

# 要約

– 表題の問題が出たときは、以下のコマンドを、スタートアップ コマンド に設定しよう

“`shell
pm2 serve /home/site/wwwroot –no-daemon –spa
# or
pm2 serve /home/site/wwwroot/build –no-daemon –spa
“`

# 何が起こったか

– いつも通りvueプロジェクトを作成、ローカ

元記事を表示

まいばすけっとのレシートをtesseract.jsでOCR読み込みしてみる

スーパーといえばレシートが発行されると思いますが、このデータを上手く読み込んでテキスト情報にできないか試してみたいと思ったのでトライしてみます。

調べるとよく出てくるtesseract.jsを使ってみたいモチベもありつつ、アドベントカレンダー間に合わせよう的な勢いで執筆しています。

https://www.npmjs.com/package/tesseract.js

## レシートの写真はグーグル先生がいっぱい持っている

もう最寄りのまいばすけっとが閉まっている(現在23:30)のでグーグル先生に画像を貸してもらいます。

> ![スクリーンショット 2021-12-10 23.27.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/cd362447-b348-690d-224a-e3848d381606.png “スクリーンショット 2021-12-10 23.27.49.png”)

## tesseract.jsを試す

無料で試せるのが良いですね!

“`
npm i

元記事を表示

ibm cloud functionsを使ってみた(決まった時間に、ローカルで動いているAPIをコール)

# はじめに
メールの定期送信を行いたいという要件があり、ibm cloud functionsを使ってみたのでその覚書を記しておきます。

今回はfunctionsを使って決まった時間に、ローカルで動いているAPIをコールする部分を作りたいと思います。

## ibm cloud functions

サービスからfunctionsを選択し、「作成の開始」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227613/2396082e-3d54-b9b5-6bbc-37df3b4c2a5d.png)

おそらく初めて使う場合は、名前空間を作成することになりますが、ここでは割愛します。

この画面で、fuctionsのコンポーネントを作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227613/8a43e956-559a-9018-41d9-ead1bb0ff

元記事を表示

Node.js + TypeScript からC++のライブラリを呼び出す

# 目的
– Node.jsからC++のライブラリをコールしたい
– node-gypを使えばできるっぽいが、どのサンプルも動かない・・・(当方intel Mac / Big Sur)
– v8のAPIが色々変更してるっぽい。最新環境で動作確認できるサンプルが欲しい

# 成果物
とりあえず作ってみたサンプル一式は以下です。
https://github.com/swmokyun/sample-node-gyp

# 環境
– intel Mac
– macOS Big Sur (11.6)
– Node.js 14

# Cまわりのセットアップ
以下を参考にCをビルドできる環境を作っておく
https://github.com/nodejs/node-gyp#installation

# nodeまわりのセットアップ
– Node.js 14 を動作できるようにする。自分はnodebrewを使って切り替えています。
– 以下をyarnで追加

 ”@types/node”: “^16.11.12″,
 ”node-gyp”: “^8.4.1″,
 ”ts-node-dev”: “

元記事を表示

Node.js + fastify + TypeScript + SwaggerでRESTサーバを構築する

# 概要
Node.js、fastify、TypeScript、Swaggerで簡単なサンプルを作ってみたので共有します。
サンプルコード: https://github.com/swmokyun/sample-fastify-typescript-swagger

# 目的
– とにかくラクにRESTサーバを作りたい
– pythonでもいいけどフロントエンドでNext.jsとかつかうからNode.jsで言語を統一したい
– TypeScriptで型の恩恵を受けたい
– SwaggerでRESTスキーマまわりのあれこれをラクしたい

# expressよりfastifyがいいらしい
Node.jsでサーバといえばexpressと思ってたけど、最近ではKoa.jsとかfastifyが有力候補らしい。fastifyの方がtypescriptまわりがいい感じにサポートされているっぽいのでこっちをチョイス。

https://www.fastify.io/docs/latest/Getting-Started/

# fastify-swaggerがいい感じ
調べた感じではfastify-s

元記事を表示

DIY Mini PCB Ruler(DIYミニPCB定規)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/4ba46783-0ae5-716f-b8c7-64140dda8d50.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/1e196c04-19a9-60b6-c6a7-a57602f1e061.png)

![s

元記事を表示

Shopify App CLIとNode.jsを使用してShopifyアプリを構築する

## この記事を書こうと思った背景と、記事を読ん得られるもの
 - Shopifyアプリを構築する必要があったので、その手順と備忘録です。
 - ハマった箇所があったのでその説明
  – 結論だけいってしまうと、Node 17で構築しようとするとエラーがでるので、公式推奨の16.13.1にすべき(21年12月時点)
 - Nodeバージョン変更するのに便利なツールを紹介します

## 記事の対象者
– Shopifyアプリ構築者
– 未来の自分 

## 環境
– MacOS 10.15.6
– Node 17.2.0 => 16.13.1に変更
– Homebrew 3.3.7

## 参考にした記事・動画
#### Shopify Japanが出してる動画
– 2021年12月現在で、少し古い内容だが全体像をつかむのにためになる。動画内で叩くShopifyAppCLIコマンドが少し古いので、その場合は公式ドキュメントを読んで確認をする。
– https://www.youtube.com/watch?v=2zDFNS6r1aQ&t=4259s
– https://www.

元記事を表示

【BTP】SAP Feature Flags Serviceを使ってみた

この記事は [SAP Advent Calendar 2021](https://adventar.org/calendars/6252) の12月10日分の記事として執筆しています。

# はじめに

今回、SAP BTP Trialで利用できるサービスのなかからSAP Feature Flags Serviceを使ってみました。
Help Portalのドキュメントは[こちら](https://help.sap.com/viewer/2250efa12769480299a1acd282b615cf/Cloud/en-US/d485374a71a149a7ba96b7403985a1a6.html)

## Feature Flagとは?
> アプリケーションを再デプロイまたは再起動せずに新しい機能を有効または無効にできます。

とあるように、「コードを書き換えることなく動的にシステムの振る舞いを変更できる」開発手法です。
アプリケーションの外部にフラグを持つことで機能のON/OFFを切り替えることができます。

あらかじめアプリケーションからFeature Flagの状態を参照する

元記事を表示

【Node.js】ExpressとPassport.jsで認証機能を実装する

#はじめに
普段はVue.js, Nuxt.jsに使っている者です。最近バックエンド側の知見も得ようということでExpressで個人アプリを作っているのですが、ログイン・ログアウトの実装において初めてPassport.jsというモジュールを使ったので忘れないうちにメモします。

実装の過程で躓いた箇所や不明で調べた箇所を実装コードとともに解説をしていきます。

“`javascript:server.js
if (process.env.NODE_ENV !== “production”) {
require(“dotenv”).config();
}
const express = require(“express”);
const app = express();
const bcrypt = require(“bcrypt”);
const passport = require(“passport”);
const methodOverride = require(“method-override”);
const flash = require(“express-flas

元記事を表示

AWS初心者がNodejsで作ったLineBotのインフラを構築してみた

# AWS初心者がNodejsで作ったLineBotのインフラを構築してみた

## 概要
専門学生1年生なので大目にみてください…。
今回は、ApiGatewayをトリガーにLambdaを動かしてその結果をApiGatewayに返してくれるという単純なものです。

## インフラ構築
### Lambda作成
linebotという名前で関数を作ります。
![eb4f8059-38e4-467e-98a3-b3f28c195817.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2286850/d58e184f-3845-ad54-e768-0d1a45c260d4.jpeg)

作成できたら、LineBotのプログラムをzipファイルにして上げます。
ちなみに作成した初期の呼び出す関数は、indexのhandlerになっているので適切に設定する必要があります。

### ApiGateway作成
ApiGatewayのHTTP APIを作成します。
名前はLineBotApiにしました。
![e0

元記事を表示

opnizでつくる「CO2センサ(MH-Z19C)データのGoogle Spreadsheetsロギングシステム」

![image](https://user-images.githubusercontent.com/22117028/145237900-e3b310b2-dbff-4a48-be62-bf1ab709a4a1.png)

# はじめに

こんにちは。田中みそです。
**「[opniz](https://github.com/miso-develop/opniz)」**という[obniz](https://obniz.com/ja/how_obniz_works)っぽいことができるオープンソースIoTフレームワークを作って公開しています。

![image](https://user-images.githubusercontent.com/22117028/145335374-e809e1ec-b614-44a5-9d21-b45bd01f5b72.png)

最近WebSocketに対応したv0.2を公開し、家でopnizにて実際に運用しているおうちハックデバイスのv0.2化対応を行いました。
そのうちのひとつをopnizの作例として紹介したいと思います。

# CO2センサ

元記事を表示

nodeでhttpサーバーが立ち上がらなくて四苦八苦した話

#概要
同僚とWebアプリを開発しているときに、環境差分でトラブルに見舞われることはよくあると思うのですが、自分の場合なかなか原因が掴みづらかったので、解決に至った手順を書こうと思います。

#エラー内容

“`
Error: listen EADDRINUSE: address already in use 0.0.0.0:8081
“`
8081ポートがすでに使われているから、nodeでサーバー立ち上げられないよ。というエラー。
ですが、ここの問題に取り組む前にnodeの環境揃えとかんと話にならないということで、nodenvを使ってバージョンを揃えます。

#nodenv導入
MacOSを利用しているので、zshで実行しています。

“`terminal
brew install nodenv
“`
nodenvをインストールしてから以下のコマンドを実行します。

“`terminal
eval “$(nodenv init -)”
“`

次に、カールでこちらを実行します。

“`terminal
$ curl -fsSL https://github.com/no

元記事を表示

Raspberry PiにNode.jsのインストールをして起動時に自動実行させるまで

[Node.jsアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/nodejs)の9日目の記事です。

ラズパイでNode.jsを動かすをたまにやりますが、久々に触った時に忘れてることが多いので久々に触る時用にまとめておきます。

[昔書いてた記事](https://qiita.com/n0bisuke/items/2c89610fd704e806c758)よりもシンプルでした。

ラズパイにNode.jsをインストール -> 永続化 -> 自動起動 みたいなところまでをやります。

## 事前準備

vimは使いたいのでインストールしておきます。

“`bash
$ sudo apt update -y
$ sudo apt upgrate -y
$ sudo apt install vim -y
“`

## nodebrewでNode.jsのインストール

Node.jsをnodebrew経由でインストールします。

### nodebrewのインストール

“`bash
$ curl -L git.io/nod

元記事を表示

Vuetifyで速攻でTodoアプリを作るチュートリアル

# 初めに

はじめましてKouと申します。
仕事でVuetifyを使う機会があったので備忘録と共有を含めて簡単なTodoアプリを作る方法を紹介します!

これでVuetifyの便利さが伝わったらいいなという思いを込めていきます!

完成リポジトリ:https://github.com/KouWakai/VuetifyTodo

### 完成イメージ

これが大体30分くらいで作れます

![822e1060d6778fa606f510a0cb801a75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763385/ba17f265-64d0-d81b-a415-77d7cf3ec988.png)

# このチュートリアルで必要なもの

Vue-cliとVuetifyのcliパッケージのみです。
次の環境構築でインストール方法は解説します。
nodejsはOSによって違うのと先人がわかりやすいやり方を解説してくださっているのでそちらでお願いいたします

以下リンクです。

・[nodejs](https

元記事を表示

使いたいポートが既に使用されている場合の犯人探しと対処法

## まず結論

以下のコマンドを実行すればOK ※実行環境はUbuntu(Linux)です

“`sh
lsof -i:<対象のポート>
# ex.)
lsof -i:4324

# 実行結果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 19053 user 24u IPv4 61691518 0t0 TCP localhost:4324 (LISTEN)

# プロセスを削除
kill 19053
“`

## 発生した経緯

開発中にNode.js(nodemon経由)のアプリがバックグラウンドで実行されてしまった。

気がつかずに新たにNode.jsのアプリを実行したところ、以下のエラーが発生

“`
Starting inspector on 127.0.0.1:4324 failed: address already in use
“`

割とやってしまうのでメモとして残します。

元記事を表示

【Typescript】tscコンパイル時のエラー

TypeScriptの勉強をしようと、
nodeのバージョンが12だったので、グローバルで16に上げたんですが、
tscコンパイラ時に下記のエラーが出てしまいました。

“`
../../../node_modules/@types/react/index.d.ts:239:10 – error TS2456: Type alias ‘ReactFragment’ circularly references itself.

239 type ReactFragment = {} | Iterable;
~~~~~~~~~~~~~

../../../node_modules/@types/react/index.d.ts:239:31 – error TS2304: Cannot find name ‘Iterable’.

239 type ReactFragment = {} | Iterable;
~~~~~~~~

../

元記事を表示

REST APIをExpressで実装する際にrequestのスキーマvalidation・sanitizationをするには?

## 以下の記事を参照して頂ければと思います

https://note.com/shift_tech/n/n1ab6813fdcbc

**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**

元記事を表示

OTHERカテゴリの最新記事