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

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

symbol-sdk@3.2.1でオフラインでアグリゲートコンプリートを完成させる

# はじめに

今回は、オフラインで、自分と他者の署名が必要なアグリゲートコンプリートトランザクションを作成してみようと思います。

登場人物はこんな感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172833/95bee689-05a2-7e17-0ddd-519e8d8e88f1.png)

この場合、アリスとボブの署名が要ります。

今回のシナリオでは、アリスがトランザクションを作成してボブに渡し、ボブが連署してネットワークに送信するような感じでやっていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172833/c40d92bc-61cb-effa-2008-4d84f4161c30.png)

アリスからボブへ渡すデータの形式は、16進数文字列のトランザクションデータにします。

![image.png](https://qiita-image-store.

元記事を表示

Goでwebアプリケーションを作成してみよう! ~サーバーの立ち上げ~

この記事では4回に分けてwebアプリケーションの作り方を説明していく
第1回
[ webアプリケーションの構成、仕組み](https://qiita.com/Yutosaki/items/0c6f9349b427d4aee08e “第1回”)
第2回
 サーバー立ち上げ(この記事)
第3回
 フロントエンドの実装
第4回
  バックエンドの実装

実際に作ったアプリケーション

https://github.com/Yutosaki/WiFiRader
# やること
今回のではサーバーの立ち上げ、アプリケーションサーバー(Go)に情報を送る。そして、以下のような画面構成にする。これらについて解説していく。

![今回作成した画像](https://github.com/Yutosaki/WiFiRader/assets/129819607/ace28799-3184-4718-8f1d-dc611beeeb6e “今回作成した画像”)

# 実際に書いていく
まずサーバーの設定と立ち上げ、その後、地図の初期化やバックエンドの情報を送るためのコードを書いていく。

では、

元記事を表示

Node.jsによるHTTPサーバの基本

# 完成系

“`main.js
“use strict”;

const http = require(“http”);
const port = 3000;

const server = http.createServer((request, response) => {
response.writeHead(200, {
“Content-Type”: “text/html”
});

const responseMessage = “

Hello World!

“;
response.write(responseMessage);
response.end();
console.log(`Sent a response : ${responseMessage}`);
});

server.listen(port);
console.log(`The server has started and is listening on port number: ${port}`);
console.log(`

元記事を表示

複数のサーバーでobnizが動いてしまっている時

Node-REDでobnizを使っていると、obnizがこんな感じでconnecting…から動かないってことがたまにあります。

> ![スクリーンショット 2024-05-11 22.52.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/c133058c-8f59-15f8-9263-b19c8defa417.png “スクリーンショット 2024-05-11 22.52.29.png”)

他のサーバーを見てみるとつながっていることが分かりました。

> ![スクリーンショット 2024-05-11 22.52.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/fde3a773-7b8c-7dc4-1b2a-ad06d6e3e5b0.png “スクリーンショット 2024-05-11 22.52.32.png”)

これをどうやって見つけるか。

## obnizのコンソールか

元記事を表示

JavaScriptのコードをobnizノードで使えるように書き換える

Node-REDのobnizノードの使い方は少しクセがあるのでクセを把握しておきましょう。

## obnizノードの使い方概要

– 設定ノードという裏側のノードがいて、ここでピンアサイン(各ピンに何を設定するのか)などの初期化処理を記述すること
– 表側に見えて使えるノードは`obniz repeatノード`と`obniz functionノード`の2種類
– 2種類のノードは使い分けが必要で、それぞれのノードの中にJavaScriptノードを記載する
– センサーなどの数値を常に取得したいインプット系の処理はobniz repeatノードを使う
– LEDやスピーカーなどアクチュエーターやインジケーターを操作したいアウトプット系の場合は`obniz functionノード`を利用

といった流れです。

## 書き換え例

### 例1. スピーカーの利用

例えば以下のようなスピーカーを扱うコードがあった場合

#### 元のスピーカー利用のコード

[公式ドキュメント](https://docs.obniz.com/ja/sdk/parts/Speaker/README

元記事を表示

カニ🦀になって絵日記書くSNSつくったので技術まとめ

# カニ🦀になって絵日記書くSNS作ったので技術まとめ

## はじめに
タイトル通りのSNS作りました🦀
みなさまは、slackなんかで「たしかに」の意味合いで🦀のスタンプでリアクションとったりしませんか?そんな、エンジニアのみなさまに馴染みのあるカニのサービスをリリースしました!
– サービスURL: https://diary-crab.com
– 気が早いけど公式インスタは[こちら](https://www.instagram.com/diary_crab?igsh=MW9xd2R2ZG9kNmV2dw%3D%3D&utm_source=qr)
– 怪しい人じゃないことが分かるようにという意図もあります

どんなサービスか少しでも気になっていただけたら是非インスタ覗いてみてください🦀

## 技術まとめ
本サービスで活躍した技術たち🦀

– バックエンド
– TypeScript, Node.js, Express, prisma
– フロントエンド
– TypeScript, Next.js, tailwindcss
– インフラ
– AWS Copilot

元記事を表示

npm run(npm scripts)を経由すると200msから300msぐらい遅いので対策する

“`package.json
“scripts”: {
“sleep”: “sleep 1”,
“`

“`sh:npm run sleep
real 0m1.365s
user 0m0.238s
sys 0m0.066s
“`

“`sh: sleep 1
real 0m1.008s
user 0m0.001s
sys 0m0.004s
“`

環境によりますが200msから300ms程度オーバーヘッドが増えます
開発者体験のほか、CI/CDにも影響が出てきます。塵も積もればコストとなります

気になる方は自分たちのscriptsで検証してみましょう

# 対策

npm scriptsを使わず、直接実行しましょう。

単純なコマンドならscriptsに記述したものを直接実行する。
npmでインストールしたパッケージをcliで使う場合、
`./node_modules/.bin/各種パッケージ`で実行できます
もしくは`./node_modules/.bin`にPATHを通しましょう

もちろん高速化と引き換えに運用管理面で手間が増えるのでトレードオフです

元記事を表示

docker + nextjs + React + typescriptで開発環境を整える

# 開発環境を作る

## dockerでnodeの開発環境を作成する

### 任意のフォルダの以下のsrcディレクトリとdocker-compose.yamlを作成する

#### 以下の作業はWindows上の作業

├ src/
├ docker-compose.yaml

“`docker-compose.yaml
version: ‘3’

services:
app:
image: node:lts # バージョン指定も可能 ex. node:12.16.1
container_name: nextExpressTest # コンテナ名は任意
environment:
– DEBUG=app:*
tty: true
# ホスト側のポート:コンテナのポート
ports:
– ‘3000:3000’
# ホスト側のsrcをコンテナのappにマウント
volumes:
– ./src:/app
working_dir: “/app

元記事を表示

Node-REDでobnizが繋がらない時のトラブルシューティング

こんにちは、のびすけです。

某授業でNode-REDからobnizを制御しましたが、Node-REDでプログラムが動いてるはずなのにobnizが動いていない、逆にNode-REDでプログラムを切っているはずなのにobnizが稼働しっぱなしになっている。といった事象が多発してしまったのでトラブルシューティング記事を書いておきます。

> ![スクリーンショット 2024-05-11 1.29.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/cd5fe0d0-9c9c-2aba-117c-cef349516fe5.png “スクリーンショット 2024-05-11 1.29.54.png”)

## おさらい: obnizが起動しているかどうか

前提として、obnizはプログラムが起動して(しまって)いるときと、起動していない(正常に処理を止めらている)ときとでディスプレイの表示が違います。

– プログラムは起動していないけどWi-Fiには接続できている状態

これが通常に他のプロ

元記事を表示

obniz x Node-REDで停止処理

obnizをNode.jsで使う時は、毎回プログラムを起動してシャットダウンしてが行われますが、Node-REDの場合Node.jsのプロセスは起動し続ける仕様なため、プログラムの起動ではなく接続の解除を行って停止を行うという仕様になっています。

obnizノードを使ってプログラムの接続解除に使えるフローを置いておきます。

– コピペ参照用

“`json
[{“id”:”cb1d6d3a.017e1″,”type”:”debug”,”z”:”b3ffc87e7885414e”,”name”:””,”active”:true,”tosidebar”:true,”console”:false,”tostatus”:false,”complete”:”payload”,”targetType”:”msg”,”statusVal”:””,”statusType”:”auto”,”x”:490,”y”:320,”wires”:[]},{“id”:”11a346f0.5a4c19″,”type”:”obniz-function”,”z”:”b3ffc87e7885414e”,”obni

元記事を表示

Node.js 日時のフォーマット・妥当性チェック

# 日時の妥当性チェックしなくていいの?

ユーザーから送られてきたリクエストボディの日時のフォーマットを正規表現を用いてチェックする機能を追加したときに頂いたコメント。

確かに正規表現だけだと`2月30日`を`false`にすることやうるう年の判断が出来ない。
機能を追加しなければ!と調べた結果を忘れないようにまとめます。

### 前提
今回のリクエストボディは`YYYY/MM/DD HH:mm`の形式で送られてきます。
そのため日付のフォーマットが`/`区切りになっているかの判断も重要になってきます。
※今回実装している機能がリクエストボディの日付を外部APIに連携し、外部APIの指定で`/`区切りとなっているためリクエスト時点でこのフォーマットにして欲しいためフォーマットも固定にしております。

### Moment.isValid()
まず最初に見つけた方法は、`moment`パッケージに規定されているisValid関数を用いた方法。
参考にさせていただいた[stackOverflow](https://ja.stackoverflow.com/questions/6841

元記事を表示

nodebrewがinstallされているのにnode -vでエラーになる時

# はじめに

“`
$ node -v
“`

と打ったら

“`
zsh: command not found: node
“`

となった…。

“`
$ nodebrew -v

nodebrew 1.2.0


“`
nodebrewは入っているのに。。

# PCスペック

| 項目 | 情報 |
| — | — |
| OS | macOS Sonoma 14.4.1 |
| ハードウェア | MacBook Pro 16inc 2023 |
| プロセッサ | Apple M2 pro |
| メモリ | 32GB |

# 解決法

### patyを通せばOKです。

“`
$ cat ~/.zshrc
“`
と実行してみましょう。
中身が見えるはずです。

以下を実行して設定を追記します。

“`
$ echo ‘export PATH=$HOME/.nodebrew/current/bin:$PATH’ >> ~/.zshrc
$ source ~/.zshrc
“`

“`
$ node -v

v21.5.0
“`

元記事を表示

Mac Book Proでnodebrew installをしたらcurl: (23)エラーになった時

# はじめに

“`
$ nodebrew install v21.5.0
“`

コマンドを打ったらエラーになった。
その解消方法を紹介する。

# PCスペック

| 項目 | 情報 |
| — | — |
| OS | macOS Sonoma 14.4.1 |
| ハードウェア | MacBook Pro 16inc 2023 |
| プロセッサ | Apple M2 pro |
| メモリ | 32GB |

“`
$ nodebrew install v21.5.0
“`

実行すると

“`
Fetching: https://nodejs.org/dist/v21.5.0/node-v21.5.0-darwin-arm64.tar.gz
Warning: Failed to open the file
Warning: /Users/{ユーザーID}/.nodebrew/src/v21.5.0/node-v21.5.0-darwin-arm64.tar.gz:
Warning: No such file or directory
curl: (

元記事を表示

npm-check-updatesで簡単npm package管理生活

# はじめに

package.jsonに羅列されたnpm packageのバージョンを新しくしたい時に使用する**npm-check-updates**。

意外とやりたいタイミング多そうなユースケースの解説の記事がすぐ見つからなかったので、自分用メモ的に。

# 全ライブラリの更新

一番基本の使い方。
グローバルインストールしたくないのでnpxから。

“`bash
# チェック
npx -p npm-check-updates -c “ncu”

# 更新
npx -p npm-check-updates -c “ncu -u”
“`

# 特定ライブラリの指定

“`bash
npx -p npm-check-updates -c “ncu {パッケージ名}”
# e.g.
npx -p npm-check-updates -c “ncu prettier”
“`

# wildcardによる指定

アスタリスクを使用してwildcard指定が可能です。

“`bash
# e.g.
npx -p npm-check-updates -c “ncu aws

元記事を表示

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`とついているボ

元記事を表示

OTHERカテゴリの最新記事