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

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

CognitoユーザープールにAWS SDK for JavaScript v3でアクセス

Windows 11にて

# AWS Cognitoユーザープール
1. aws.amazon.comにサインアップ/ログイン
1. コンソールのホームからCognitoサービスへ移動
1. [ユーザープールの管理]押下
1. [ユーザープールを作成する]押下
1. ステップ1 サインインエクスペリエンス
1. タイプ:Cognito ユーザープールのみ
1. サインインオプション:ユーザー名のみ
1. ユーザー名の要件
1. ユーザーが任意のユーザー名でサインインすることを許可:TRUE
1. ユーザー名の大文字と小文字を区別する:TRUE
1. ステップ2 セキュリティ要件
1. パスワードポリシー
1. 好きに選ぶ、ここではカスタムにして詳細が要件/移行元システムにマッチするか要確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/112363/d9f9eb44-93ca-5eb

元記事を表示

CircleCI に登録している secrets を確認する

## はじめに

最近、 CircleCI に登録していた secrets を確認することがありました。
CLI tool の [CircleCI-Env-Inspector] が公開されていたのでその使い方を記載します。

## [CircleCI-Env-Inspector] について

CircleCI に登録している secrets を出力する Node.js 制の CLI tool です。

https://github.com/CircleCI-Public/CircleCI-Env-Inspector

出力出来る secrets は以下 3つです。

– Organization に定義する “Context variables”
– Project に定義する “Project environment variables”, “Project SSH keys”

### 準備

[CircleCI-Env-Inspector] を実行するためには以下が必要です。

– (必須) CircleCI Personal API Token
– Docker, Shell

元記事を表示

オンラインゲーム開発に向けて

エンジニアになるために友人とゲーム開発をする計画を立てているが、全くの無知からのスタートである少しの段差でも躓いている。

ゲームと言ったらやはりオンラインでマルチプレイが出来るものを想像する。
友人と計画したゲームはネプリーグであるクイズに対して複数人で1文字ずつ答えるというマルチプレイを想定したものだ。

はじめはUnityでの実装を考えたが、Unityは多機能なゲーム開発が可能な分オンラインゲームを最初に開発しようと言うのは中々に愚かな話だ。

そこで、socket.ioを用いてJavaScriptで開発するという手段を取ることにした。

この手段に至る理由は大きく3つである。

・JavaScriptの学習が容易であるという点。
・我々が作成するゲームがJavaScriptで十分作成可能であるという点。
・socket.ioは比較的日本語の情報があるという点。

友人と私はJavaScriptの学習を済ませたばかりである。また、1から学ぶのはモチベーションにつながらない。
Unityは後々学ぶにしても1回ゲームを作りたいのである。
我々が目指すゲームが複雑な処理が不要であり、J

元記事を表示

GridDBを用いた小惑星の地球への距離の解析

今回は、小惑星が地球にとって危険かどうか、つまり、軌道を外れて地球に降り、住民に危害を加えるかどうかを科学者がどのように判断しているかをGridDBを使って解析してみます。

ソースコードの全文はこちらでご覧いただけます。

## GridDBを使ったデータセットのエクスポートとインポート

GridDBは、高いスケーラビリティと最適化を実現したインメモリNo SQLデータベースで、特に時系列データベースにおいて、より高いパフォーマンスと効率性を実現するための並列処理を可能にします。今回はGridDBのnode jsクライアントを使用し、GridDBとnode jsを接続し、リアルタイムにデータをインポートまたはエクスポートすることができます。

これらは、我々のデータセットに存在する列です。

1. id : NASAの科学者がつけた小惑星のID。
2. new_name : NASAの科学者がつけた小惑星の名前。
3. est_diameter_min :

元記事を表示

【Firebase】エミュレーターの忘備録

# 忘備録の趣旨

僕は普段、仕事のプロジェクトではReact NativeとFirebaseを使って開発を行っています。

React NativeとFirebaseを使って開発を行うときは、FirebaseのエミュレーターであるFirebase Local EmulatorSuiteを使って開発を行います。

この記事では、どのようにローカルでエミュレータを起動しているかと、どのようにアプリからエミュレータに接続するのかを、将来の自分のためにまとめようと思います。

# Firebase Local EmulatorSuiteを起動する手順

まずは、プロジェクトをビルドします。

“`shell
yarn build
“`

`GOOGLE_APPLICATION_CREDENTIALS`環境変数に、サービスアカウントファイルのパスを指定しながら、`firebase emulators:start`コマンドを実行してエミュレータを起動します。

“`shell
GOOGLE_APPLICATION_CREDENTIALS=’./path/to/serviceAccountK

元記事を表示

Rails(6系)のマイナーバージョンを上げる手法(メモ)

# はじめに
筆者の環境は以下のとおりです。(テンプレート)
 ・VSCodeを使用(CLIでWindows Terminalを利用する場合があります)
 ・Windows10にてWSL2でUbuntu20.04LTSを使用
 ・Bash、Git、asdfを使用

Rails6.0系からRails6.1系にマイグレーションする際、職場の先輩から教わった
Ruby(+bundler再インストール)及びNode.js(+yarn再インストール)のアップデート
+Railsマイグレーションの流れをメモ書きします。

あくまで __メモ書き__ なので過度な期待はしないでください。

■バージョンの呼称方法例
 ・〇〇(ツール名) XX(メジャー).XX(マイナー).XX(パッチ)

■バージョン読み方参考サイト

https://dev.classmethod.jp/articles/versoning-with-pictures/

## 共通する注意点
・「環境の変更」というリスクが高い作業を行うため、gitで管理している場合に
  main(master)ブランチやdevelopブ

元記事を表示

AWS SDK V3 のSNS(Simple Notification Service)で、いくつか動作確認した話(AWS SDK V2 → V3 移行Tips)

# はじめに

https://qiita.com/Syoji_Yonemoto/items/f96a4d10b05715e95d1c

引き続いて、今度は、SNS(Simple Notification Service)についても確認しました。
と言っても、それ程、確認したメソッドは多くありません。

# 結論
SNS(Simple Notification Service)に関しては、私が普段使うメソッド群については、問題ありませんでした。
やはり、Firehoseだけが罠だったのでしょうか、、、

# V2 と同じ使い方で問題なく動作確認できたメソッド

+ subscribe
+ publish

# 余談
subscribeが、「何故あるのか?」というネタ話。その昔、SNS(Simple Notification Service)にLambdaをsubscribeするのに管理コンソールからは、「一覧に表示された100件の中からしか選択できない。」というイケてないUIだった時代があって、LambdaからARNを指定して、subscribeを追加するという運用をしていた時期が

元記事を表示

node.jsでalexaスキル その4

# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。

# 練習問題
dynamodbを、使え。

# サンプルコード

“`
const LaunchRequestHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === ‘LaunchRequest’;
},
async handle(handlerInput) {
const attributesManager = handlerInput.attributesManager;
const attributes2 = await attributesManager.getPersistentAttributes() || {};
let counter = attributes2.hasOwnProperty(‘counter’) ? attributes2.counter : 0;
let speakOutput

元記事を表示

AWS LambdaでSSM RunCommandを実行する(AWS SDK for JavaScript v3)

# 概要
LambdaからSSMのRunCommandを実行する処理の作成方法について記述します。言語は`JavaScript`でSDKのv3(バージョン3)で書いてあります。

v3では、サービスのインスタンスを作成して、非同期で`send`メソッドを呼び出すというのが全サービス共通の書き方になります。`send`メソッドはPromise型を返します。何のアクションを行うかは`send`メソッドの引数の型によって判断されます。

## 公式ドキュメント

https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/

# サンプルプログラム

## 処理の流れ

SSMClient生成 → SendCommandCommand生成 → send実行 → ListCommandsCommand生成 → send実行 (RunCommandが終了するまで繰り返し) → send実行 → send実行 → …

注意点としては、RunCommandを実行した後その処理がサーバーで正常終了したのか異常終了したのかすぐにわからない点です。R

元記事を表示

Webサイトを画像でチェック「100デバイス」以上が簡単にチェックできるツールを作ってみた

普段、大学やプログラミングスクール等で教えてたりするのですが、
**「 1週間で何か作るっていう課題 」**
を学生にも出してたりします。私もやってみる!というスタンスで作ってみました。
創ることの大切さを改めて認識しました。以下スクリーンショットです。URLも掲載しております。

サイト名は「 Web shot!! 」
上記で**URLと機種**を選択してポチ、っと少し待つと以下のように表示されます。

**例)Laravel.com をスクショしてみました**
【表示】PCブラウザ ZOOM:100%
Notionを操作するシンプルなRaycast 拡張機能を作って色々学んだ

こんにちは、Androidエンジニア志望のHalkoです。

最近、Raycastというランチャーツールを使用し始めました。
Raycastは自分で拡張機能を保存できます。
そこで、普段Notionに記録している作業記録を、Raycastから保存できるような拡張機能を作ってみました。

# 準備
インストールすべきもの
– Raycast 1.26.0 またはそれ以上のバージョン
– Node.js 16.10 or またはそれ以上のバージョン
nvmのインストールが推奨されているようです
– Visual Studio Codeをコードエディタとして使用します。

## 新しく拡張機能を作る
代替テキスト

Raycastを開いて、create Extensionと入力します

作成画面が出てくるので、

元記事を表示

dockerでnodeを立ち上げる

Dockerに関しては業務である程度触ってはいるが、自分で立ち上げたことはなかったため、やってみることにした。
expressを利用したプロジェクトのディレクトリの作成から、Dockerfileを使ってdockerイメージを作成するところまで。

### Dockerfileとは?
Dockerイメージを構築するために必要なコマンドを記述するファイル。
– 「使用するnodeのバージョン」「Dockerイメージ内に作成するファイル」などのコマンドを記述する。
– `docker build –tag [name-tag] .` (`[name-tag]`は任意のタグ名)を実行すると、`Dockerfile`に記述されたコマンドを上から1つずつ実行し、Docker イメージを作成してくれる。

### 手順
1. プロジェクトのディレクトリを作成する。
1. 作成したディレクトリ下に`server/src/index.ts`を作成する。
1. `cd server`でディレクトリを移動した後、 `npm init -y` を実行して `package.json`を作成する。
1.

元記事を表示

AWS Lambda Node18.xでSystem Manager(Paramter Store)にアクセスする方法

### はじめに

AWS Lambda, Node.js(18.x), System Manager(Paramter Store)で簡単なサーバーレスバックエンドを構築した時、Node.js 16.x以前とParamter Storeにアクセスする記述が変わったので変更点をまとめます。

### 対象となる読者

– AWS Lambda初心者の方
– AWS System Manager初心者の方

### Lambda実行環境

– Node.js 18.x

### ポリシーの作成とLambda関数の実装

AWS LambdaのデフォルトではParamter Storeにアクセスする権限がありません。そのためParamter Storeにアクセスするにはポリシーを設定し、そのポリシーを対象のLambda関数にアタッチ(権限付与)する必要があります。以下はParameter Storeにアクセスするポリシーのサンプルです。

“`
{
“Version”: “2012-10-17”,
“Statement”: [

元記事を表示

node.jsでalexaスキル その3

# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。

# 練習問題
「キヨシを開いて」で、zundokoを返せ。

# サンプルコード

“`
const LaunchRequestHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === ‘LaunchRequest’;
},
handle(handlerInput) {
let speakOutput = ”;
let j = 0;
while (j < 4) { if (Math.floor(Math.random() * 2) < 1) { j++; speakOutput += "ズン "; } else { j = 0; speakOutput += "ドコ "; } } speakOutput += "ドコ キヨシ"; return handler

元記事を表示

RaspberryPi 2にNodejs をインストール

最近、RaspberryPi2 に node.js をインストールする必要が出たのですが、CPUがARM、しかもv6(古い)であるためかWebに情報が少なく苦労しました。
同じ苦労をする人が1人でも減れば、と普段助けられている Qiita に初の投稿をしてみようと思います。

まず、ラズパイへのNode.js のインストールには以下の方法があるようです。

| 方法 | 備考/個人的な感想 |
| —- | —- |
| 公式スクリプト | ARMv7, ARMv8(RaspberryPi3以降)が対象|
| バイナリをダウンロード | 公式がコンパイルしたバイナリを利用 |
| nvm | 却ってややこしいような? |
| apt | 一番手軽に見えて、実は一番厄介らしい|

色々試しましたが、aptは上手く行かない、nvm は Node.js に不慣れな自分には分かりにくい…。
結果的にはRaspberryPi2、又はzeroには**バイナリをダウンロード**が一番良い方法なように思いましたので、その

元記事を表示

node.jsでalexaスキル その2

# 概要
node.jsでalexaスキル、やってみた。
サンプルを日本語化してみた。

# サンプルコード

“`
const Alexa = require(‘ask-sdk-core’);

const LaunchRequestHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === ‘LaunchRequest’;
},
handle(handlerInput) {
const speakOutput = ‘ようこそ、こんにちは、または説明と言ってください。 どれにしますか?’;
return handlerInput.responseBuilder.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
}
};
const HelloWorldIntentHandler = {
canHandle(handlerInput) {
re

元記事を表示

SwitchBotとESP32と汎用リモコンで作るスマート家電

SwitchBotとESP32と汎用リモコンで、スマート家電システムを作成します。
全体構成は以下の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/6a9fe029-6981-214b-98dd-aa477d162ad8.png)

いくつか補足します。
SwitchBotハブミニには、任意の赤外線信号を記憶し、送信することができます。また、AlexaやActions on Googleのようなスマートスピーカにも対応しているため、それだけで発話やスマホから連携して家電を制御できます。
汎用赤外線リモコンからも、任意の家電を操作できるようにしました。そのために、ESP32を仲介させています。SwitchBotは、WebAPIも公開しているため、ESP32→Node.jsサーバ→SwitchBotという流れが実現できます。
ちなみに、ESP32にGrove端子で接続できる赤外線送受信ユニットを使う場合は、赤外線信号の送信・受信の範囲が狭いため、赤外線受信リピータを

元記事を表示

npm ERR! code EACC発生時の対処法

– エラー内容
`npm install -g` コマンド実行時にエラーになる
“`shell:エラー内容
$ npm install -g json-server
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/json-server
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/json-server’
npm ERR! [Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/json-server’] {
npm ERR! errno: -13,
npm ERR! code: ‘EACCES’,
npm ERR! syscall: ‘mkdir’,
npm ERR! path: ‘/usr/local/lib/

元記事を表示

Angular + NestJS 開発環境サンプル2

# はじめに
以前作成した Angular + NestJS の開発環境サンプルを改善したので公開。

【ソースコード(GitHub)】
[angular-nest-example2](https://github.com/kyv28v/angular-nest-example2)

DBはPostgreSQLを使用しています。
最低限の構成で、簡単なCRUD機能のサンプルを動作させることができます。
デモ用などに簡単なWEBアプリを作りたい時とかに、ベースにできればと。
![angular-nest-example2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285246/7942f454-2b32-49cc-e858-dea860c54f03.png)

# 構成
Nxを使ってフロントエンドとバックエンドをmonorepo管理しています。
`npm start`によってフロントエンド(web)とバックエンド(api)を同時に起動するようにしています。
“`package.json
“scr

元記事を表示

【AWS】API Gatewayで配列パラメーターを受取る

API Gateway(REST API)で配列のクエリパラメーターを受け取れませんでしたので、その解決方法をメモします。

# 前提
API GatewayとLambdaプロキシ統合で使用

# multiValueQueryStringParametersを受取る(node.js)
ローカルの場合リクエストからクエリパラメーター配列を受け取れますが、API gateway経由で配列を受け取れないそうです。そのため、eventのmultiValueQueryStringParametersから配列パラメーターを受け取ります。
“`js
const express = require(‘express’)
const router = express.Router()
router.get(‘/demo’, [
], (req, res, nex

元記事を表示

OTHERカテゴリの最新記事