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

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

Node.jsでLINEBOTを作ってみた②

#はじめに
[パート①][link-1]
[link-1]:https://qiita.com/hidesan4869/items/5f0e6bad6105cf7a742cz
前回までにやったこと
・Node.jsのインストール
・npmのインストール
・npm initによるpackage.jsonファイル作成
・expressのインストール

###Herokuにアプリを作成する
https://jp.heroku.com/home

上記よりHerokuの新規登録orログイン
ターミナルでHerokuを操作するためにCLIのインストールが必要となります。

下記の記事を参考にHeroku CLIをインストールしてください。
https://note.com/makoto0419/n/n113b55afa395

Heroku上にアプリを作成してみましょう。

“`ターミナル.
heroku create hogemarukun
“`

herokuのアプリ名は他の誰かが使っているアプリ名を指定した場合は、アプリが作成出来ませんので、違う名前で試してみてください。

###L

元記事を表示

Node.jsでLINEBOTを作ってみた①

#はじめに
JavaScriptの学習の中で、サーバー側を書いてみたいと思い、以前から興味のあったLINEBOTの制作をしてみようと考えました!

###作りたい予約システムを考える

1. 「予約」と入力すると予約に関するメッセージをリプライ
1. 予約は自動
1. 次回予約を確認
1. 予約のキャンセル
1. 予約が確定された時の、管理画面の制作

###システムの全体像
![Line Messaging API (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/705266/0d5c02d0-2a28-5cdf-212b-88a52b0bdf95.png)

###開発環境
1. MacBook
1. macOS Catalina 10.15.7
1. Visual Studio Code

###技術選択
1. Node.js(Express)
1. JavaScript
1. Heroku
1. PostgresSQL
1. LINE MessagingAPI

LINEを使ったBOT構築

元記事を表示

[メモ]Cloud Functions + Node.jsでさくっとAPI開発

たまには`firebase`でAPIを作りたくなったので、作ってみました。
次気が向いたとき、さくっと作れるように。

“`
firebase –version
9.1.0
“`

## プロジェクトを作成する

まずGUIでプロジェクトを作成し、課金モードにしておくのが楽。

“`
https://console.firebase.google.com/u/0/
“`

“`
cd desktop
mkdir api
cd api
“`
## 連携/初期化
### 必要に応じて、有効化する。ひとまずFunctionsだけ有効化してみる。
“`
$ mkdir api
$ cd api
$ firebase init

######## #### ######## ######## ######## ### ###### ########
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## #

元記事を表示

Node.jsでAWSのパラメータストアから値を取得する

# はじめに
シークレット系の情報をAWSのパラメータストアに格納し,それをNode.jsで呼び出してみました。
この記事はその際の備忘録になります。
誤っている箇所や修正したほうがいい箇所などありましたらコメントいただけますと幸いです。

# AWSのパラメータストアとは
**AWS System Manager** の機能の一つ。
パスワードなどのシークレット系の情報をセキュアに保存することができます。

公式ページ : [https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html)

# 必要なモジュールのインストール
[**AWS SDK for JavaScript**](https://docs.aws.amazon.co

元記事を表示

音声データからのキーワードを可視化する

## **はじめに**
音声認識を使って何かアプリを作ってみたかったで、音声データからそのキーワードを抽出しすることができるツールを作ってみました。

平凡なアイデアかもしれないですが、、
録画・録音されたファイルから、その要約(キーワード)を抽出することができれば、情報のキャッチアップの効率が少しでも上がるのではないかと思います。
![スクリーンショット 2021-03-24 7.12.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/432562/c692a430-4fd7-0c8b-f679-db047831b06c.png)

### **前提**

Node.js(Express)で実装

## **事前調査**

### **使用API**

– Google Cloud Speech-to-Text API
– COTOHA API

### [Google Cloud Speech-to-Text API](https://cloud.google.com/speech-to-text

元記事を表示

[AWS][nodejs] S3にある JPEG ファイルの EXIF 情報を削除して書き戻す

必要な npm パッケージは `aws-sdk`, `file-type`, `piexif`

`S3.getObject` でデータ取得して、`file-type` で JPEG 画像かチェックして、`piexif` で EXIF を削除して、`S3.putObject` で書き戻す感じです。

“`javascript
const AWS = require(‘aws-sdk’);
const FyleType = require(‘file-type’);
const piexif = require(‘piexif’);

const removeExif = (region, bucket, key) => {
const S3 = new AWS.S3({region: region});

return Promise.resolve({Bucket: bucket, Key: key})
.then(params => S3.getObject(params).promise())
.then(data => new Promise(

元記事を表示

Cloud Foundry(IBM Cloud)でNode.jsの最新バージョンを利用する

IBM CloudのCloud Foundry、Node.jsの新しいバージョンを使うときに少し工夫が必要でした。

`ibmcloud cf push`でデプロイした際のログから辿ってると、IBM Cloud側の対応状況と、Cloud Foundry側のドキュメントの対応状況が若干異なるみたいですね。

Cloud Foundryって元々独立してたけどIBMに吸収されたとかでしたっけ…

## まずはNode.jsのバージョン指定無しの場合

特にバージョンを指定せずにデプロイすると以下のような警告が出ました。

デフォルトがNode.js v10系らしいです。流石に古いので警告が出てます。

“`
Downloading app package…
Downloaded app package (635.9K)
—–> IBM SDK for Node.js Buildpack v4.6-20210305-2036
Based on Cloud Foundry Node.js Buildpack 1.7.44
—–>

元記事を表示

Lambda関数から別アカウントのDynamoDBに接続

## 記事を書いた経緯
– 初めてAWSを触った!記録取っておこう!
– Lamdba関数から他アカウントのDynamoDBにアクセスを経験!個人的に詰まったところもあったので、同じミスはしないように記録として残そう!
– ナレッジ化して共有できればいいなー

って感じです。初投稿なので、「ん?」って思うところがあるかもしれないですが、参考になれば幸いです。

## 環境
– Typescript
– DynamoDB
– Lambda

## まず驚いたこと
Lamdba関数からただ単に`aws-sdk`の`DynamoDB Client`を作ってアクセスをしたら`ResourceNotFoundException`になった。。。
なぜだ。。。

### NGコード
“`typescript
import {DynamoDB} from “aws-sdk”

const client = new DynamoDB.DocumentClient()
const param = {
TableName: “sample”,
Key: {
‘id’: 1
},
}
c

元記事を表示

Firestore: Reference型をJSONにするときの挙動を変える

#前置き

例えば以下のようなデータを**Functionsで**Firestoreのドキュメント`users/12345`に入れたとする.

“`json
{
“display_name”: String,

“userDetail”: Reference
}
“`

Functionsでこのデータを取ってきてJSONでクライアントに返すAPIを作る(`error()`とか`success()`は別で作ってあるって言う体で…).

“`JavaScript
app.get(“/users/:id”, async (req, res, next) => {
const users = await db.doc(`accounts/${req.params.id}`).get();
if (!users.exists) {
error(res, 404, “users_created”, “You’ve not created first user.”);
return;
}
succ

元記事を表示

IBM CloudでNode.jsアプリケーションをデプロイするまでの流れ

IBM Cloudを使ってみようと思い触ってみたので主に自分用に残します。

終わってみるとそこまでハマる感じではないと思いますが、僕はハマったところがありました苦笑

## 1. Web上の管理画面側の設定

### アカウントの作成

ライトアカウントという無料で作れるアカウントがあり、クレジットカード登録無しで登録できます。

> https://www.ibm.com/jp-ja/cloud
> ![スクリーンショット 2021-03-24 1.47.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/b86d9ff3-aa79-c9f8-5ff1-11ebb6ef1b78.png “スクリーンショット 2021-03-24 1.47.58.png”)

アカウント登録をしていきましょう。

### アプリケーション作成まで

AWSやAzure、GCPなどと同様にIBM Cloudは色々なサービスの集合体の名称です。 今回はCloud Foundryというサービスを使っていきま

元記事を表示

express-sessionをMongodbで。

#初めに
今回の記事は対して裏取りをしておりませんので憶測で物をいうことが多いと思います。気になりすぎて夜も眠れネェヨクソが!という方は”フッザケンじゃねぇよ!”を接頭辞にコメントを寄せてもらえればと思います。

#connect-mongo
バージョンがアップしたのかどうなのかこちらのモジュールを日本語の記事を参考に使おうと思えば使えませんでした。というわけで、[公式のページ](https://www.npmjs.com/package/connect-mongo#usage)を参考にちょこっとだけ覚書していきます。解説はしません。というかできません。(まだべんきょうちゅー)

“`node.js
var session = require(‘express-session’);
var MongoStore = require(‘connect-mongo’)(session);

⇓⇓⇓

var session = require(‘express-session’);
var MongoStore = require(‘connect-mongo’);
“`
上のようにし

元記事を表示

Jest –watch Error: EMFILE: too many open files, watch

急に`jest –watch`ができなくなったので、調べてみた。

## 現象
“`console
❯ yarn test:watch
yarn run v1.22.10
$ cross-env NODE_ENV=test jest –config=jest.config.json –watch
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_

元記事を表示

IBM CloudのCloud Foundryデプロイの無料枠のメモリ制限

IBM Cloudを試してみてます。

無料枠を使って試してましたが2個目のアプリケーションのデプロイを試そうとしたら下記エラーでした。

`You have exceeded your organization’s memory limit: app requested more memory than available`

無料枠の制限を超えたようですね。

“`bash
$ ibmcloud cf push
‘cf push’ を起動しています…

nobisuke@xxxx.xxx.xxx としてマニフェストから組織 n0bisuke / スペース dev にプッシュしています…
マニフェスト・ファイル /Users/n0bisuke/playground/get-started-node/manifest.yml を使用しています
アプリ情報を取得しています…
これらの属性でアプリを作成しています…
+ 名前: n0bisuke-testapp2
パス: /Users/n0bisuke/playground/get-s

元記事を表示

git mv で expressアプリケーションのディレクトリを移動しようとしたらpermission deniedでつまづいた話

## 問題
expressアプリケーションのディレクトリ構成を変更するため、
`git mv`でディレクトリを移動しようしたが
`permission denied`により移動できなかった。
パーミッションを確認したが問題はなかった。

## 解決方法
node_modulesを含むディレクトリを`git mv`で移動しようとすると
`permission denied`エラーになるため、
一度node_modulesを削除してから`git mv`で移動する。
最後に`yarn install`でnode_modulesを復元する。

## くわしく

“`
.
├── express_nextjs
│ └── app
│ ├── express
│ │ ├── node_modules
│ │ └── その他
│ └── Dockerfile

└── その他
“`

“`
.
├─ app
│ ├── express
│ │ ├── node_modules
│ │

元記事を表示

Alexaスキル開発チュートリアル(AWS Lamda, node.js)

# Alexaスキル開発チュートリアル(AWS Lamda, node.js)
個人で開発した、Alexaスキル開発チュートリアルを記載します。

**今回は自分の目標設定をAlexaに記憶させて、次回起動時に目標期限を自動で算出して教えてくれるAlexaスキルを開発してみようと思います。**

### 完成イメージ

“`
◼︎ 初回起動時
(自分)アレクサ、目標リマインダーを開いて
(Alexa)こんにちは、目標リマインダーへようこそ。目標達成希望日時を教えてください。
(自分)2020年10月9日
(Alexa)ありがとうございます。目標達成日時は2020年10月9日ですね。

◼︎ 次回起動時
(自分)アレクサ、目標リマインダー
(Alexa)おかえりなさい、次の目標達成日時まで1年、残り12日です。目標達成に向けて本日も頑張りましょう
“`

### 前提知識
“`
1. AWS Lambdaについての最低限の知識
2. JavsaScriptについての最低限の知識
3. Alexa(スマートスピーカー)についての最低限の知識
“`

## STEP1 「ログイン」

元記事を表示

Beginner’s Series to: Node.js – 今から始める Node.js

新型コロナウイルスによるパンデミックが始まってかれこれ1年ちょっとが経過しましたが、皆さんいかがお過ごしでしょうか。

私はサンフランシスコに住んでいるのですが、もうずっと WFH (Working from home) 生活でオフィスのフリー・フードやドリンクが懐かしいというか、遠い昔のような気さえします。以前まで通っていたテック系企業が密集するオフィス街は今はまるでゴーストタウンのようになっています。本当に以前のような活気が戻ってくるのかはわかりません。

## 初心者向け Node.js 動画シリーズの日本語版を作ってみた

さて、私は猫 x2 ??‍⬛ に邪魔されつつ、この狭い自宅で毎日仕事をしているわけですが、時間がフレキシブルになった分、自由時間も多いので、髪を変な色に染めたりしていたのですが、もっと有意義なことをしたかったこともあり、マイクロソフトの同僚たちがやっていた [**Beginner’s Series to: Node.js**](https://channel9.msdn.com/Series/Beginners-Series-to-NodeJS) プロジェク

元記事を表示

TypeScript + express-graphql + TypeORM on Node.js ( for MySQL ) 環境を構築したった

# はじめに

はじめまして。突然ですが、[GraphQL](https://graphql.org/)、めちゃくちゃ良い技術です。
Rails に載った GraphQL を業務で使ってますが、フロントエンド開発がフッ軽になります。

もっと GraphQL に詳しくなりたい。でも、現在、フロントエンドエンジニアとして勤務中の私には、実務で GraphQL を触ることができたとしても せいぜい Type をちょろっと修正するくらい。

そこで、趣味で書いてる Vue.js 製 WEB アプリの API に GraphQL を採用することにしました。
導入から API として動かすところまでを勉強がてら実装したので、せっかくだし最小限の構成をご紹介します。備忘録も兼ねて。

・・・Rails に対してのモチベーションが高くない ☺️ ので、今回は express に載せてます。

# 実際にやってみた

TypeScript 使ってますが、サンプルコードの中では ~~面倒臭いので~~ 厳密に取り扱っていない箇所があります。そーりー。

## 下準備

### package.json を

元記事を表示

Node.jsについて調べてみた

「JavaScript」の勉強をしているとターミナルにNode.jsに関して入力することがあったりしましたがそもそも「Nodeってなに?」と思ったので調べてみました。

その前に、JavaScriptとNodeについても簡単におさらいしてみます。

JavaScriptとは

元々はブラウザやHTMLページを操作するためのプログラミング言語として1995年に誕生。
当初はブラウザ間の互換性が低くて普及しませんでしたが、「Ajax」という機能が発明されてから人気が高まった。

“`Ajax“` とはJavaScriptとサーバーの通信を非同期に行い、動的なデータを一部だけ書き換える方法のことですが、詳しくは下記参考
参考①:( http://pikawaka.com/word/ajax )

現在は殆どのサイトでJavaScriptは採用されており、画像を切り替えたり動かしたりする時にJavaScriptは書かれている。

特に重要な役割を端的に書くと下記3点になる。
“`・ブラウザで表示されているHTMLやCSSを書き換える。“`
“`・ブラウザに表示され

元記事を表示

discordjs/rpcを使ってPCのDiscordをスマホからミュートにしたい

## 動機
コロナ渦の大学生なので,ずっと家にいて暇です.常に仲間とDiscordのVCをつないで作業をしています.

ふとトイレに行くときに,PCのマイクをミュートにし忘れることがあります.
イヤホンはBluetoothなので音は聞こえているのですが,トイレとかキッチンに行った時とかにミュートにし忘れることがあって不便です.
そこで,離れたところからスマホでPCのDiscordをミュートにできたらと思っていたのですが,DiscordのRPCなAPIで実現できそうだったので試してみました.

## 環境
– ThinkPad X270
– Arch Linux
– Node.js v14.16.0
– [discord-rpc](https://github.com/discordjs/RPC) v3.2.0
– express
– Discord

Discordのアプリを,Node.jsで動くエージェントサーバーで操作する感じです.
Node.jsのサーバー上で,ExpressによるWebサーバーとDiscordRPCクライアントが走っています.
Webサーバーがリクエストを受け取

元記事を表示

初めてのLINEbot作成【Node.js + heroku】

# はじめに
Qiita初投稿になります
Node.jsによるLINEbot製作を行ってみたく、自学のために行った流れをまとめていきます
Node.js、npmのインストール、Herokuのアカウント登録などは省きます
成果物としては、「ありがとう」と送信すると、「どういたしまして」、それ以外は「こんにちは」と返ってくるLINEbotを制作します

#動作環境
・MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
・mac OS Catalina バージョン 10.15.7
・node v15.3.0
・npm 7.0.14
・git 2.23.0

# 目次

1. [LINE側の準備](#Chapter1)
1. [Node.js側の準備](#Chapter2)
1. [コードの作成](#Chapter3)
1. [応答テスト](#Chapter4)
1. [本番環境(heroku)にデプロイ](#Chapter5)
1. [参考文献](#reference)

OTHERカテゴリの最新記事