Node.js関連のことを調べてみた2023年08月24日

Node.js関連のことを調べてみた2023年08月24日

symbol-sdk@3.0.7で作るモザイクリストリクショントランザクション

# はじめに

こんにちは。

symbol-sdkの3系、トランザクションシリーズ第九弾です。

今回はモザイクのリストリクションをやっていきます。

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

## 注意事項

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

# 共通(前半)

まずは共通となる個所について。デッドラインと鍵ペアです。

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

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

const facade = new symbolSdk.facade.SymbolFacade(network.name);

const

元記事を表示

[Node.js] packeage.json、paceage-lock.jsonとは

# 目的
node.jsに必須なpackeage.json、packeage-lock.json、node_mudulesとは何かまとめる

## packeage.json
パッケージ(=プロジェクト)の詳細が書かれたファイル
例) sampleというRailsプロジェクトのpackeage.json
“` packeage.json
{
“name”: “sample”,
“private”: true,
“dependencies”: {
“@rails/actioncable”: “^6.0.0”,
“@rails/activestorage”: “^6.0.0”,
“@rails/ujs”: “^6.0.0”,
“@rails/webpacker”: “5.4.4”,
“turbolinks”: “^5.2.0”,
“webpack”: “^4.46.0”,
“webpack-cli”: “^3.3.12”
},
“version”: “0.1.0”,
“devDependencies”: {

元記事を表示

Node.js + Windows 環境に node-canvas を install + build する

# 環境

* Windows 11
* Node – v18.17.1
* node-canvas – v2.11.2
* node-gyp – v9.4.0
* Visual Stadio Build Tool 2022
* Python – v3.10.11, v2.7.18

# 1. (Option) Node.js のLTSをインストール

Node.js | https://nodejs.org/ja/download
※本稿では`Node.js`-`v18.17.1`を使用

::: note info
情報

比較的新しいバージョンの`Node.js`であれば[`windows-build-tools`](https://www.npmjs.com/package/windows-build-tools)は`Node.js`に同梱される為、インストール不要らしい

* 2023/8/23 現在 パブリックアーカイブされた模様

:::

::: note warn
注意

`FNM`+PowerShell環境だと(公式のsetup手順どおりにsetupしていれば)Po

元記事を表示

symbol-sdk@3.0.7で作るアカウントリストリクショントランザクション

# はじめに

こんにちは。

symbol-sdkの3系、トランザクションシリーズ第八弾です。

今回はアカウントリストリクションをやっていきます。

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

## 注意事項

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

# デッドラインと鍵ペア

まずは共通となる個所について。デッドラインと鍵ペアです。

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

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

const facade = new symbolSdk.facade.SymbolFacade(network.name);

co

元記事を表示

[TypeScript] CommonJSプロジェクトの型定義で”export default”を使ってはいけない?!

## はじめに

JavaScriptで実装されているライブラリにおいて、`index.d.ts`で型定義を公開しているものがある。その中で、package.jsonに`”type”: “module”`の設定がなくCommonJSの設定になっているプロジェクトにおいて、以下のような`export default`を利用した型定義がいくつか見られた(以下の例は[axios-retry](https://github.com/softonic/axios-retry/tree/master)のindex.d.tsを少しわかりやすくしたもの)。

“`ts:index.d.ts
import * as axios from ‘axios’

declare namespace IAxiosRetry {
export interface axiosRetryConfig {

}
}
export type axiosRetryConfig = IAxiosRetry.axiosRetryConfig;

declare function axiosRetry(ax

元記事を表示

JavaScript の Selenium 実行環境 (Node.js (Mocha) から Selenium 実行)

JavaScript の Selenium 実行環境の構築する
Selenium のエクスポートでも選べる JavaScript のテストフレームワーク の Mocha を使ってやってみる
作った環境で使ったバージョンと手順の大枠はこんな感じ

– 環境、バージョン
– Windows11
– Node.js v18.15.0
– npm v9.5.0
– mocha v10.2.0
– selenium-webdriver v4.11.1
– chromedriver v116.0.0
– 手順
1. Node.jsインストール(Node Package Managerも一緒に)
1. Selenium実行環境構築
2-1. Mocha, selenium-webdriver, chromedriver インストール
2-2. 実行モジュール作成、実行

# Node.jsインストール(Node Package Managerも一緒に)

1. Node.js インストーラー取得(LTSの方を選択

元記事を表示

PipedreamでLINE BotのNode.js SDKを使う実験

`@line/bot-sdk`を読み込んで普通に実行することができました。

モジュールあるのでこんなことしなくてもいいんですけどね

> ![スクリーンショット 2023-08-22 14.37.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/4a193609-340c-f27d-0c71-7338e4058f4f.png “スクリーンショット 2023-08-22 14.37.55.png”)

## プッシュメッセージを試すコード

実験です

“`js
import line from ‘@line/bot-sdk’

const config = {
channelSecret: ”,
channelAccessToken: ”
};
const client = new line.Client(config);

const sendMsg = async (msg) => {

const messages = [{
typ

元記事を表示

ローカル環境で postgres と typeORM を使って SSL/TLS 通信する

あまり需要はないと思いますが意外と苦戦したので共有しておきます。

## 目次

* **環境**
* ホスト
* node コンテナ
* postgres コンテナ
* 初期ファイルとフォルダ構成
* **Dockerfile を作成**
* **docker-compose.yml を作成**
* **node コンテナを動かすための package と tsconfig を用意**
* **最終的に動かすソースコードの用意**
* **SSL/TLS 通信に向けて準備**
* 作業のコンテナを一時的に作成し立ち上げる
* postgres の設定ファイルをマウントフォルダ内にコピーする
* 証明書を作成する
* ルート証明書を作成する
* 中間証明書を作成する
* サーバー証明書を作成する
* postgres 用にサーバー証明書を作成 (中間証明書がある場合)
* サーバー証明書と中間証明書を結合する
* node コンテナから postgres に接続するための証明

元記事を表示

Nest.jsアプリケーションをEC2インスタンス上で永続的に起動させる

## pm2を利用した手順

1. `pm2`のインストール
“`
npm install -g pm2
“`

2. Nestjsを`pm2`で起動
“`
pm2 start npm –name your-app-name — run start
“`
3. `pm2` のプロセスリストを確認してアプリケーションが実行されていることを確認
“`
pm2 list
“`
4. `pm2` で起動したアプリケーションを自動的に再起動するように設定(コマンドを実行するように指示を受けるのでコピペして実行する)
“`
pm2 startup
“`
5. 現在の `pm2` のプロセスリストを保存
“`
pm2 save
“`
## pm2とは?
Node.jsをバックグラウンドで永続的に実行するためのプロセスマネージャ。
以下の特徴を持つ。
1. **永続性**: システムが再起動した後でも、`pm2` で管理されているアプリケーションは自動的に再起動されます。
2. **クラッシュリカバリ**: アプリケーションが何らかの理由で

元記事を表示

Next.js13 学習メモ

# 参考にしたサイトなど
https://reffect.co.jp/react/next-js-13/

# Next.13 のディレクトリ構造の特徴
– Next.js 13 は、12以前とはかなり仕様が異なっている
– 具体的には、これまでは `Pages Directory` だったものが `App Directory` になった。単に `Next.js` で検索すると、古い仕様の記事がヒットしてしまうため要注意。

| 関連ワード | page.tsxの配置 | Path | 備考 | 公式 |
|:-|:-|:-|:-|:-|
| App Directory | app/tasks/page.tsx | /tasks | page.tsxというファイル名は固定。 |-|
| ~~※Pages Directory~~ | ~~pages/tasks.tsx~~ | ~~/tasks~~ | ~~Next.jsでも使用できるが、非推奨。~~ |-|
| Route Group | app/tasks/[id]/(group1)/(group2)/page.t

元記事を表示

API Gateway の HTTP API を AWS CDK で作成する

CDKを使用してAPI GatewayのHTTP APIを作成するサンプルです。
認証はCognitoを使用して認可コードグラントを利用します。

## AWS CDK
“`console
% npm install @aws-cdk/aws-apigatewayv2-alpha @aws-cdk/aws-apigatewayv2-authorizers-alpha @aws-cdk/aws-apigatewayv2-integrations-alpha
“`

cognitoドメインのdomainPrefixはユニークな文字列である必要があります。cognitoドメインの代わりにカスタムドメインを使用することも可能です。

“`ts:bin/sample.ts
#!/usr/bin/env node
import ‘source-map-support/register’;
import * as cdk from ‘aws-cdk-lib’;
import { SampleStack } from ‘../lib/sample-stack’;

const app = new

元記事を表示

儂にはQiitaなんかに記事を書いてるような時間は無いのじゃ(色々とアプリを作りました)

## 8ヶ月ぶりにQiitaにログイン
デベロッパーのみなさんごきげんよう。
お待たせしました(誰も待っていない)。
以前の記事から実に8ヶ月、習慣とは恐ろしいもので、ちょっと離れると、ログインするのすら面倒になり、さらに、こんな所に駄文を書き散らして一体何になるのだと、最初の記事の冒頭に自分の勉強した事の備忘録として始めました。等と書いた事などすっかり忘れ、さらに、幾つかのqiitaイベントに申し込んだにも関わらず自動返信メールすら来ないという有様で、こんなユーザーフレンドリーではないプラットフォームはもういやだと、荷物をまとめて勝手に旅に出ていました。
さて、旅の道中で色々とアプリを作っていた訳ですが、孤独の中で一人黙々とアプリを作り、襲い来る幾多のバグや動作不良、寝不足、空腹と戦いながらようやく思うように動いてくれたアプリをモニター越しに見ながら、ニヤニヤし、アプリが出来ました と呟いたところで、自分以外に使う人nullであり、また、過去記事にもたまに書いてますが、海外でプログラミングとは全く関係ない仕事をしており、周りにプログラマーなど一人もいない状況で、周りの友人に見せたと

元記事を表示

Node.jsのバージョンをnode-sassのバージョンに合わせて下げた方法

自分のための備忘録です。

## エラー内容

いつものようにプロジェクトの開発環境を立ち上げようとすると、以下のエラーが出ました。
“`bash
$ npm run start

# 略
ERROR in ./src/css/style.sass (./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/css/style.sass)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Cannot find module ‘node-sass’
“`

`node-sass`が見つからないとのことですが、`package.json`には記載があります。

“`package.json
“dependencies”: {
// 略
“node-sass”: “^4.13.1”,
    // 略
}
“`

インストールを試みると、以下のエラーが出ました。

“`

元記事を表示

[Node.js] yarnとは何か

# 目的
rails6のアプリケーションを作成した際にyarnのインストールが必要だったため、yarnについて簡単にまとめた
# yarnとは
– npmと同じで、nodeのパッケージ管理マネージャー
– rails6ではWebpackerを標準で使い、Webpackerはyarnを使うのでインストールが必要になる。

# コマンド使用方法
#### 初期化
“`
# packeage.json作成
yarn init
“`

#### インストール
“`
yarn add パッケージ名
yarn add パッケージ名@x.y.z

# devDependenciesにインストール
yarn add パッケージ名 -dev

# グローバルインストール
yarn add global パッケージ名

# すべてインストール
yarn
“`

#### アップデート
“`
yarn upgrade パッケージ名
yarn upgrade
“`

#### アンインストール
“`
yarn remove パッケージ名
“`

#### 実行
“`
yarn パッケージ

元記事を表示

[Node.js] npmとはなんだろう

# 目的
アプリケーションを開発するにあたり、npmコマンドが多く使われているのでどのようなものか、その使い方をまとめる。

# npmとは
– nodeのパッケージを管理するためのツール
– node
サーバー上(ブラウザ外で)でJavascriptを動かせるプラットフォーム。
– パッケージのインストールやアンイストール、アップデートなどできる
– パッケージの依存関係を解決できる

# コマンド
#### 現在のバージョン確認
“`
npm -v
“`
#### 初期化
“`
npm init
“`
プロジェクトの作成。packeage.json作成。
– packeage.json
プロジェクトの詳細が書かれたファイル
インストールしたいパッケージなどを記載する

#### インストール
“`
npm install パッケージ名
npm i パッケージ名

# パッケージのバージョン指定
npm i パッケージ名@x.y.z
“`

“`
npm ci
“`

npm i はpackage.jsonに基づいてパッケージをインストール。
n

元記事を表示

環境変数周りの改善

# はじめに

Web系のプロジェクトで開発をしていると`.env` `.env.development.` `.env.test`などにシークレット情報や、環境ごとに異なる設定を書くことが多い

環境変数からデータを読み込めために(言語やフレームワークに関わらず)おおよそ下記のようなファイルを用意する

1 機密情報を格納するためのファイル(.env)の準備

“`.env
API_KEY=’xs9djq4iq’
DEBUG=’TRUE’
“`

2 当然.gitignoreで.envをバージョン管理から除外

“`.gitignore
.env
“`

3 バージョン管理から除外すると`.env`にどのような値が存在するかの管理が難しくなるので`.env.sample`を用意
“`.env.sample
API_KEY=’CHANGE ME’
DEBUG=’true’
“`

4 環境変数を取得するコードを書く(下記はnode.jsの場合)

“`env.ts
const API_KEY: string = process.env.API_KEY
const DE

元記事を表示

【2023年版】asdf でnodejs12系のインストール手順 ( zsh + homebrew )

## 実行環境

| OS | macOS Ventura 13.5 |
| — | — |
| shell | zsh 5.8.1 (x86_64-apple-darwin21.0) |
| middleware | homebrew(4.1.5) |
| | asdf(v0.11.3) |

## 本記事で得られる結果

– nodejs12系の実行環境

## 参考資料

[GitHub – asdf-vm/asdf-nodejs: Node.js plugin for asdf version manager](https://github.com/asdf-vm/asdf-nodejs/)

## 事前準備

– [Homebrew](https://brew.sh/index_ja)がインストール済みであること

https://qiita.com/naoto24kawa/items/59cdae4377f84d248a48

– [asdf](https://www.notion.so/asdf-zsh-homebrew-015f995ddc754a0dae1d

元記事を表示

slackチャンネルへシステムから通知を送る

## 概要
slackチャンネルに対してシステムから通知を送るコードを実装します

## slackアプリ画面にて設定
通知を実装するにあたってslackアプリを作る必要があります

https://api.slack.com/apps

### 1.Create New App
Create New Appからアプリ作成画面を開き、必要項目を入力
![スクリーンショット 2023-06-21 21.42.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254217/bd6f2a4a-bb45-0ded-e601-6c8808182cff.png)

### 2.アプリ情報を編集
サイドバーの「Basic Information」から遷移。Display Informationセクションにて編集しましょう
![スクリーンショット 2023-06-21 22.08.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2

元記事を表示

【2023年版】asdf のインストール手順( zsh + homebrew )

# 実行環境

| OS | macOS Ventura 13.5 |
|-|-|
| shell | zsh 5.9 (x86_64-apple-darwin22.0) |
| middleware | Homebrew 4.1.5 |

## 本記事で得られる結果

– asdfの実行環境

## 参考資料

[Getting Started | asdf](https://asdf-vm.com/guide/getting-started.html)

## 事前準備

1. [Homebrew](https://brew.sh/index_ja)がインストール済みであること

https://qiita.com/naoto24kawa/items/59cdae4377f84d248a48

## 手順

1. asdfが依存しているツール群のインストール

“`shell
brew install coreutils curl git
“`

2. asdfのダウンロード

“`shell
brew install as

元記事を表示

Ubuntu 22.04 に node v18 をインストールする

とある ubuntuベースのコンテナで nodejs とか npm とかを使おうとして単純に `apt install nodejs` したらその後 npm パッケージのインストールで deprecate 警告が出まくって何事かと思った。

デフォルトのリポジトリでは node v12 とかやたら古いものが入ってるのでv18 を使えるようにリポジトリを更新してからインストールしなければならない。

“`sh
curl -fsSL https://deb.nodesource.com/setup_18.x | bash –
# バージョンとか確認する
sudo apt show nodejs
apt-get install -y nodejs
“`

yarn もデフォルトだと古すぎて最近の symfony 開発だとはまってしまうし、なんだかなあって感じ。

元記事を表示

OTHERカテゴリの最新記事