Node.js関連のことを調べてみた

Node.js関連のことを調べてみた

Windows 11 に Node.js をインストール

# Windows 11 に Node.js をインストールしよう

## 目次
– [ダウンロード](#nodejsをダウンロードする)
– [インストール](#nodejsをインストールする)
– [確認](#インストールの確認)
– [まとめ](#まとめ)

## Node.jsをダウンロードする
まず、公式の [Node.js](https://nodejs.org/en) のウェブサイトにアクセスしてください。

最新の安定版をダウンロードするには、『Download Node.js(LTS)』をクリックしてください。

![node-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788028/8cf66780-8dbb-906a-d09f-49829a75edb9.png)

—–

## Node.jsをインストールする
ダウンロードされたインストーラを起動する。本的にインストーラに従って『 Next 』ボタンを押すだけでよい。

![node-install-1.png](h

元記事を表示

【Nodo.js】Macでnpmが使えなかった時の対処法

:::note warn
エンジニア初心者の投稿であるため、間違っている箇所が多くあるかと思います。
何かお気づきの点がありましたらご教授いただけると幸いです。
:::

## はじめに
Macにパソコンを変えてからNodo.jsを使用したかったため、Node.jsをインストールしようとコマンドと戦った出来事をまとめます。

## やってみたこと
ターミナルで以下のコマンドを入力した。
“`terminal:terminal
$ nodebrew install-binary stable
“`

以下のエラーがコマンドさんから返ってきた。
“`terminal:terminal
Fetching: https://nodejs.org/dist/v20.12.2/node-v20.12.2-darwin-arm64.tar.gz
Warning: Failed to open the file
Warning: /Users/ユーザー名/.nodebrew/src/v20.12.2/node-v20.12.2-darwin-arm64.tar
Warning: .gz: No

元記事を表示

Expressの起動方法(npm run ってなに?)

## npm run serve?

業務でモックサーバーのデータをもらい`README`を見ていると
見慣れないコマンドを発見。
“`
起動方法: npm run serve
“`

そのままコマンドをGoogle先生に聞いても`npm`コマンドに`run`はあるが
`serve`を指定しているものは見つからなかったので調べてみました。
※業務で見たモックサーバーはnodemonを利用していたため
今回の記事と少し状況が違いますが伝えたいことはnpm runの動作です

## 結論: package.jsonのscriptsに設定されたコマンドを実行している

説明のために以下の記事で作成したExpressサーバーを利用します。
[ExpressでWebサーバーを立ててみる](https://qiita.com/moody_engineer/items/f5773380ffc964cf10f3)

記事でも書いてますがExpressを起動するために以下のコマンドを実行すると記載し、実際に起動します。
“`
node app.js
“`

なら`npm run

元記事を表示

ExpressでWebサーバーを立ててみる

## Express

Node.jsのためのWebアプリケーションフレームになり
簡単にWebサーバーを作成できるので作っていく。
※外部APIを呼び出すことができないがAPI仕様書がある場合に
モックサーバーを作ってテストを行ったりしました。

今回はDockerを用いず自分のパソコンにWebサーバーを作成します。

### 実装してみる

Node.jsでプロジェクトを始める方法は下記ページを見てください。
[Node.jsを私用パソコンで始めてみる](https://qiita.com/moody_engineer/items/715a0783c3d9ae1caf06)

今回作成するフォルダ構成は以下になります。
“`
– src
|- app.js
|- package.json
|- package-lock.json
|- node_modules
“`

※もしNode.jsを私用パソコンで始めてみる、で`test`ディレクトリを作り、
`npm init -y`を実行していただいた場合は、`test`ディレクトリ直下に`

元記事を表示

Node.jsの対話環境

# Node.jsで対話環境を利用する

Node.jsにはJavaScriptのコードを対話的に実行ができる環境があります。

REPLは手軽にコードを実行できますので、簡単なテストやデバッグなどで使用可能です。

“`nodejs
node
“`

nodeコマンドを実行すると、「>」という表示がされます。
この状態でJavaScriptのコードを入力してエンターキーを押すとコードが実行されて戻り値が表示されます。

元記事を表示

Node.jsを私用パソコンで始めてみる

# Node.jsを始めてみる

2024年1月から開発業務未経験でSierに入社し、2月からNode.jsとAWSを用いた開発業務に関わっており、覚えてことを少しずつアウトプットしていきます。
※初歩的で浅い内容になると思いますが、未経験のときに欲しかった記事&自分が忘れないために記事としております。
もし誤った内容があればご指摘いただければ修正いたします。

最初はNode.jsを始めるための準備を行います。
※案外準備する段階って1回しかしないから忘れがち。。。

### Node.jsをインストールする

下記サイトからNode.jsのインストーラーをダウンロードしてください。
[Node.js](https://nodejs.org/en)

![スクリーンショット 2024-05-07 21.54.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763467/fbc1c191-86b9-4cee-4faf-dee8604ea02c.png)

四角で囲っている`LTS`とついているボ

元記事を表示

[Vite] Docker内でnpm run devしてもアクセスできない時の対処法

## 実現したいこと
ホストマシンから、Docker内で動く開発サーバへアクセスしたい。

## TL;DR
以下のコマンドを実行すると、開発サーバをexposeできる。
“`bash
npm run dev — –host
“`

## 環境
“`
npm == 10.7.0
vite == 5.2.11
“`

## 試したこと
とりあえず通常通りサーバを起動してみる。
“`bash
npm run dev
“`
すると、
“`bash
VITE v5.2.11 ready in 284 ms

➜ Local: http://localhost:5173/
➜ Network: use –host to expose
➜ press h + enter to show help
“`
このように表示された。このままでは、Dockerコンテナのローカルネットワークからでないと、開発サーバへアクセスできない。

そこで、言われたように`–host`を付して様子を見てみる。
“`bash
npm run dev –host
“`

元記事を表示

symbol-sdk@3.2.1で作るトランザクション

# はじめに

こんにちは。

symbol-sdkの3系、以前は3.0.7について書きました。
新たに、3.2.1がリリースされ、書き方が少し変わったので、ここに書き記しておきたいと思います。

https://www.npmjs.com/package/symbol-sdk/v/3.2.1

## 注意事項
書いてあるコードについて、正確性や完全性を保証するものではありません。あくまで参考程度として頂き、最新情報は公式ドキュメンテーションをご確認ください。

# 要点

## デッドライン

以前はこのような形でした。少し読むのが難しいですよね。

“`javascript
import symbolSdk from ‘symbol-sdk’;

const network = symbolSdk.symbol.Network.TESTNET;
const deadline = network.fromDatetime(new Date(Date.now() + 7200000)).timestamp;
“`

今回、新しくなって、すっきりしました。

“`javascrip

元記事を表示

fnmインストールした際にハマった「Node.js バイナリ”npm”が見つかりません:」

## 環境とバージョン
・windows10
・node 18.17.0
・npm 9.8.1

## エラー内容
Node.js バイナリ”npm”が見つかりません: パスが存在しません。Node.jsがインストールされていてPATHに含まれていることを確認するか、launch.jsonで”runtimeExecutable”を設定してください。

## 事象
vscodeを使用して起動しようとした時、上記エラーが発生して起動することができない

## 試してみたこと、確認したこと
・nodeやnpmは正常にインストールできていること
・fnmのインストールも正常にできていること
・launch.jsonの設定も問題なさそうなこと
(他メンバーとの差分を取って一致していることを確認)
・パスを正常に通せていること

## 原因、解決方法
**・vscodeを管理者権限で立ち上げる**
(権限不足周りで影響していたと思われる)
・次回以降vscodeがデフォルト管理者権限で立ち上がるように修正

## 参考記事
「Node.jsバージョン管理ツール「fnm」のインストール方法と使い方

元記事を表示

Node.js のExpressで学ぶミドルウェア

## ミドルウェア

#### ミドルウェアって何?

– コンピュータの分野で、コンピュータの基本的な制御を行うOSと書く業務処理を行うアプリケーションソフトウェアとの中間に入るソフトウェアのこと
– ある特定の分野に属するアプリケーションに対して、その分野に共通する機能や処理をアプリケーションに提供する

ググった結果、以上の説明がなされるが、あまり理解できない。

### 毎回行っている同一の処理を共通化し、再利用するためのしくみ

という説明に納得した。

“`sample.js
const express=require(‘express’),
app=express();

const logger=require(‘morgan’);

app.use(logger(‘dev’));
app.use(function(req,res,next){
console.log(‘this is middleware’);
next();
})

app.get(‘/hello’,function(req,res){
res.send(‘Hello W

元記事を表示

API Gateway + Lambda + Puppeteer で任意の Web ページのスクリーンショットを撮って S3 に保存する

## 背景
Lambda で Puppeteer 経由で Chromium を起動して任意の Web ページのスクリーンショットを撮り、画像として S3 に保存する処理を作りたい。

## 環境
– M1 MacOS Sonoma 14.4.1
– node v20.10.0
– typescript v5.4.5
– [@aws-sdk/client-s3](https://www.npmjs.com/package/@aws-sdk/client-s3) v3.569.0
– [@sparticuz/chromium](https://github.com/Sparticuz/chromium) v123.0.1
– [puppeteer-core](https://www.npmjs.com/package/puppeteer-core) v22.7.1

## 手順
– ローカル開発環境の構築
– handler を実装
– Lambda にデプロイ
– API Gateway の設定
– S3, CloudFront の設定

## ローカル開発環境の構築
### プロジェク

元記事を表示

MariaDBをnode.jsでMariaDBUtilクラスにしてみた。(メモ程度

# node.jsでmariadbを操作する基本的な記述

### 先頭でmariadbを使用するための宣言
“`javascript
const mariadb = require(‘mariadb’)
“`

### データベースを接続するために設定の記述
“`javascript
const pool = mariadb.createPool({
host: ‘localhost’,
user: ”, //データーベースを操作するユーザー名を記述する
password: ”, //操作するユーザーのパスワードを記述する
database: ”, //操作するデーターベース名を記述
// 同時接続数の制限(任意)をかけるために記述
//connectionLimit: 5
});
“`
###

“`javascript

pool.getConnection()
.then(conn => {
conn.quer

元記事を表示

Prismaジェネレーターは簡単に作れる

# はじめに

[Prisma](https://www.prisma.io/)ではスキーマから[ジェネレーター](https://www.prisma.io/docs/orm/prisma-schema/overview/generators)という機能を使ってコードやドキュメントを自動生成することができます。例えば、公式が提供する`prisma-client-js`をはじめとする各言語のクライアントはジェネレーターを使って生成されています。また、TypeGraphQLのリゾルバを生成する[`typegraphql-prisma`](https://www.npmjs.com/package/typegraphql-prisma)や、ER図を生成する[`prisma-erd-generator`](https://www.npmjs.com/package/prisma-erd-generator)などもあります。個人的なおすすめはダミーデータを作ってくれる[`@quramy/prisma-fabbrica`](https://github.com/Quramy/prisma-fa

元記事を表示

【小ネタ】Node.js と Mac の Sayコマンドでテキストの読み上げ(複数の文章を対象にしつつパラメータ変更も試す)

この記事では、「Node.js と Mac の Sayコマンドを組み合わせて、テキストの読み上げを行う」というものです。その際に、1回のコマンド実行で、複数の文章を読み上げるようにしつつ、さらに読み上げの速度の変更も試してみます。

今回の内容を行った背景は、以下のイベント参加時に試作したものが関係しています。
具体的には、Node.js で Vertex AI Gemini API を使った簡易なプログラムを作った際に、API で扱うリクエスト・レスポンスのテキストを、Mac上で簡易な方法で読み上げるようにしてみたい、というものでした。

●Build with AI – Python SDKを触ってみよう @ 仙台 – connpass
https://gdgishinomaki.connpass.com/event/315940/

ちなみに以下のポストの動画が、API でのリクエスト・レスポンスのテキストの内容を、Sayコマンドで読み上げる、という内容を Node.js で実装して動かしてみた時の様子です。

https://twitter.com/youtoy/status/

元記事を表示

Raspberry Pi GPIO Quick Start

(自分メモ)
ラズパイのI/O操作サンプル。

# 環境
– Raspberry Pi 4
– Ubuntu 20.04
– Node.js 22

# Javascript Project準備

https://qiita.com/shokkaa/items/6f83b3a107006ccc598b

“`sh
npm init -y
npm i node-web-gpio
“`

# I/O操作
“`js:main.js – サンプルコード
const { requestGPIOAccess } = require(“node-web-gpio”);
const { promisify } = require(“util”);
const sleep = promisify(setTimeout);

async function main() {
const gpioAccess = await requestGPIOAccess();
const port = gpioAccess.ports.get(26);

await port.export(“out

元記事を表示

nodeのオプションにmax-old-space-sizeに設定する値の算出方法

# 背景

viteで開発中にたまにこの「JavaScript heap out of memory」のエラーになり、落ちることがあった為調査しています。

“`
built in 15152ms.
[vite-plugin-static-copy] Copied 1 items.
build started…
<--- Last few GCs --->
[1764:0x120040000] 1724578 ms: Scavenge (reduce) 3845.4 (3929.1) -> 3845.0 (3929.4) MB, 2.3 / 0.0 ms (average mu = 0.076, current mu = 0.019) allocation failure;
[1764:0x120040000] 1724582 ms: Scavenge (reduce) 3845.7 (3929.4) -> 3845.2 (3929.9) MB, 3.2 / 0.0 ms (average mu = 0.076, current mu = 0.019) allocatio

元記事を表示

max-semi-space-sizeについて調べてみた

# 背景
`–max-old-space-size`について調べていた所、間違えて`–max-semi-space-size`を調べた為です。

# max-semi-space-sizeとは

`–max-semi-space-size=SIZE (in megabytes)`

https://nodejs.org/api/cli.html#–max-old-space-sizesize-in-megabytes

V8のscavengeガベージ・コレクタの最大半空間サイズを MB(メガバイト)で設定するオプションです。
これによって多くのメモリを消費する代償として、Node.jsのスループットが向上する可能性があります。

:::note
〜V8〜
Node.jsを動かすエンジンです。
JavaScriptはV8によって内部的にJIT(ジャスト・イン・タイム)コンパイルされ、実行速度を高めています。
[引用](https://nodejs.org/en/learn/getting-started/the-v8-javascript-engine#the-v8-javasc

元記事を表示

Express の静的ファイルの扱いがわからなくて困ったので整理する

# 困ったこと

Express の静的ファイルの扱いについてあまり理解していなくても、試行錯誤すれば何とか問題は解決できてしまっていました。
そのせいで、同じ問題が発生したときに、そのたびに毎回試行錯誤しないといけなくて、かなり効率が悪いと感じていたので、ちゃんとおさらいしてみようと思います。

# 解説

以下のようにサンプルアプリを作ってみます。

![2024-05-04-14-58-40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601978/cb3fd6bf-bc72-6ed0-5bdd-eb012250dc2a.png)

“`js
const express = require(“express”);
const app = express();

app.use(express.static(“./public”));
app.use(“/static/images”, express.static(“./assets/images”));

app.listen

元記事を表示

await sleep.js【async 1行JavaScript】コピペ可

“`javascript
const sleep = s => new Promise(resolve => setTimeout(resolve, 1000 * s))

// 1秒待つ
await sleep(1)

// 5秒待つ
await sleep(5)

// 500ミリ秒待つ
await sleep(.5)
“`

“`javascript
await new Promise(resolve => setTimeout(resolve, 3000)) // 3秒待つ
“`

https://qiita.com/asa-taka/items/888bc5a1d7f30ee7eda2

https://qiita.com/suin/items/99aa8641d06b5f819656

元記事を表示

ChatGPTとGASを使ってLINE Botを作った(WIP)

## 背景
先日、[BOT AWARDS 2024 ハッカソン@東京](https://linedevelopercommunity.connpass.com/event/313542/?utm_campaign=event_message_to_selected_participant&utm_source=notifications&utm_medium=email&utm_content=title_link)に参加し、その際、LINE Botに前日見た断片的な夢を投げると、それを元にストーリーと夢診断をしてくれるLINE Botアプリを作った。
また、今回はスプレッドシートをDBとして使った。
その備忘録。

全体は[こちら](https://github.com/TIshow/linebot-hackathon)

## やること

LINEアプリ(LIFF)を使ってみる。
LINEとChatGPTを連携し、Botを作る。
メッセージをGASを使ってスプレッドシートに格納する。

## LINE DevelopersやOpenAIの登録

LINE DevelopersやOp

元記事を表示

OTHERカテゴリの最新記事