Node.js関連のことを調べてみた2020年05月07日

Node.js関連のことを調べてみた2020年05月07日

Andoroid端末上でNodo.jsアプリを実行してみた

# 概要
コロナの関係で妻と二人在宅勤務を実施中。2階で仕事をしている妻が送ったメッセージ(コーヒーが飲みたい、など)を1階リビングのgoogle homeに喋らせるシステムをNode.js、Node-REDで作成した。自宅に‎Raspberry Piが無いためPC上でシステムを動作させていたが、PCの変わりにスマホ上で動作させられないかと考え、本対応を実施。
# 環境
* 端末
* Android 9
* Androidにインストールしたアプリ
* [Termux](https://play.google.com/store/apps/details?id=com.termux&hl=ja):Android上でLinuxターミナルを実行するためのアプリ。root化不要。無料アプリ。
* [WiFi Keyboard](https://play.google.com/store/apps/details?id=com.volosyukivan&hl=ja):PCのキーボードでスマホの入力が可能。
* [Termux:Boot](htt

元記事を表示

Nuxt×CloudFunctions×SendGridでメールを送信する

複雑な家庭の事情でどうしてもNuxt×CloudFunctions×SendGridでメールを送信する必要があったのでメモ。

## Functionsの実装
### ライブラリのインストール
Node.js用のライブラリがあるのでこれをインストールします。
https://github.com/sendgrid/sendgrid-nodejs

“`
cd functions
npm install –save @sendgrid/mail
“`

### SendGridのAPIキーをセット
APIキーはfirebaseプロジェクトの環境構成にセットしちゃいます。

“`
firebase functions:config:set sendgrid.apikey=”hogehoge”
“`

詳しく知りたい場合は[公式説明で](https://firebase.google.com/docs/functions/config-env?hl=ja)

### index.jsを編集
“`/functions/index.js
const sgMail = require

元記事を表示

Node.js とGoogle chartを使って新型コロナウィルス感染者数の推移をグラフ化した。

# はじめに
組み込みエンジニアがGWにNode.js の勉強をした。
本を読んで基本的なことが理解できたので、何か実践的に役に立つことに使えないかと思い
全国の新型コロナウィルス感染者数の推移をグラフ化してみた。
以下がその結果である。ニュースでみるグラフと同じようなものが得られた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535710/9ea0bb4b-309f-9d9f-15f2-44a33cf3431c.png)

# やったこと
1. 厚生労働省のホームページに掲載されている報道発表資料(https://www.mhlw.go.jp/stf/houdou/index.html) から、感染者数を取得する。

2. 取得した感染者数と一日の増加人数をデータベース(mySQL)に収納する。

3. Google Chart(https://developers.google.com/chart) を使って、感染者数の合計と増加人数をグラフ化する。

### Node.js

元記事を表示

⑧Rails + Docker環境から 脱Dockerをやってみた(2020.5時点)

#経緯
当方、某テ●クキャンプ卒の未経験初学者です。
就活のポートフォリオのRailsアプリを制作する途中でDocker環境に移行したので、AWS/ECSでデプロイしようとしていましたが、アプリのレベル、自身の理解度、経費等を考慮しCI/CDの学習に方針を変更しました。

本稿は、Docker環境のRailsアプリをgit clone(ソースのコピー)をして、Dockerを外してRails sで開発する状態に戻す作業です。
初学者の迷走ゆえ、ベストプラクティスではないと思いますが、こんなこともあるのね、という感じで見ていただけたら幸いです。

#前提
・Ruby on Rails 5.2.4.2
・Ruby 2.5.1
・MySQLl:5.6 の環境でアプリ開発していた

・ Docker version 19.03.8
・ docker-compose version 1.25.4 を途中から導入した
・ docker移行直前にgit cloneしていなかったため、git cloneでリポジトリ複製から始める

・ Githubリモートリポジトリがある

元記事を表示

複数バージョンのNode.jsをPowershellスクリプトでインストール&切り替え

#はじめに
Node.jsではモジュールをインストールすると小さなファイルがたくさんできるので、HDDだと動作が重く感じることがある。そこでNode.jsごとSSDにインストールし直したところ大分快適になった。

今回の再設定では、複数バージョンのNode.jsをPower Shellのスクリプトを使ってインストール(というよりダウンロード)した。というのも、複数バージョンのNode.jsのインストール・切り替えを行う便利なツールはあるものの、Windows非対応だったりMinGWが必要だったり、良く分からないExeファイルが必要だったりするため、職場の事情で使わせてもらえないかもしれないためだ。

# Powershellスクリプトを使ったインストール
[nodeswitch](https://github.com/stm32p103/nodeswitch) というスクリプトを作成した。中身はリンク先を見てもらうとわかるようにとても単純で、`Invoke-Webrequest`を使ってNode.jsのディストリビューションをダウンロードしたり、`Add-Item`でシンボリックリンク

元記事を表示

5分でできるSwaggerの環境構築とAPI開発・テスト

# 今回のゴール
APIの標準ドキュメントとして、またモックサーバーとしてSwaggerはとても便利です。
おそらく今やRESTful APIを利用するほとんどの開発現場におけるデファクトスタンダードではないでしょうか?

今回はそんなSwaggerを利用して、以下をやってみます

– Swaggerのローカルサーバーを立てる
– APIを追加する(モックです)
– APIをテストする

## 前提事項
npmやNodejsはインストールしておいてください。
今回は以下の環境で実施しました

“`
node -v
v10.16.0

npm -v
6.9.0
“`

## Swagger環境のインストール
今回はNode.jsを利用して構築していきます

### 1. Swaggerモジュールをインストール
“`
$ npm install -g swagger
“`

### 2. Swaggerプロジェクトを構築
“`
$ swagger project create hello-world
“`

フレームワークを聞かれます。今回はNode.jsなのでexpre

元記事を表示

win7 + gulp + babel + browsify 速効構築

## 1. ディレクトリを作成
~~~cmd.exe
mkdir gbb
cd gbb
~~~

## 2. パッケージを配置
~~~package.json
{
“name”: “gbb”,
“version”: “1.0.0”,
“description”: “GulpBabelBrowsify”,
“main”: “index.js”,
“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″,
“gulp”: “gulp”
},
“author”: “”,
“license”: “ISC”,
“dependencies”: {
“@babel/core”: “^7.9.6”,
“@babel/preset-env”: “^7.9.6”,
“babel-core”: “^6.26.3”,
“babel-preset-es2015”: “^6.24.1”,
“browser-sync”: “^2.26.7”,

元記事を表示

【Mac】VSCode 開発環境構築 (Java、Gradle、Node.js)

## 1. Java、Gradle、Nodeインストール
### brewインストール
1)以下を実行してインストールする。

“`shell:ターミナル
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
“`

### Javaインストール

1)下記のサイトからJava SE Development Kit *u*** → Mac OS X → jdk-*u***-macosx-x64.dmg をダウンロードし、インストーラを実行する。

[Java8(Archive)](https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html)
[Java9(Archive)](https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html)

元記事を表示

[Node.js + PostgreSQL]Node.js アプリから PostgreSQL DB に接続

### 書くこと
Node.js で作成したアプリから、PostgreSQL DB に接続する方法

### 前提条件
接続するDBは、下記記事で作成したものを利用する。
[[DB/SQL]要件をテーブルに落とし込む手法のメモ書き(複式簿記のテーブル設計を例に)](https://qiita.com/tanakadaichi_1989/items/09e0ce35f3ebc9afc352)

### フォルダ構成
“`
NodeJSSampleApp
┣ app.js
┣ node_modules
┣ package-lock.json
┣ package.json
┣ public
┗ views
┗ journal.ejs
“`

### コード

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

app.use(express.static(‘public’));

var {Client} = require(‘pg’);

var client = new Client(

元記事を表示

【Node.js】JTW生成処理をSAMで作る

[前回の続きです。](https://qiita.com/Shu3/items/edacbfbea4b1b6aaf877)
Zoom会議をSlackをお知らせするアプリにてZoom APIに必要なJWTを生成する処理をSAMで作成しました。(下図の赤枠)
時間ができたらやりたいと思っていましたが、思ったよりすぐやっちゃいました。さすがStayHome週間(笑)
※本記事ではSAM,SAM-CLIなどの詳述は割愛します。ご了承ください。
スクリーンショット 2020-05-06 11.28.57.png

# SAMを始める

[公式](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/server

元記事を表示

nodenvの環境構築

この記事では個人的にお勧めなnodenvのインストール方法と使い方について簡単に紹介していきたいと思います。

## nodenvのダウンロード

まず、nodenvのソースをGitHubからcloneしてきます。

“`sh
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
“`

## nodenvのビルド

ダウンロードしてきたソースからnodenvをビルドして実行可能な状態にしましょう。

“`sh
cd ~/.nodenv && src/configure && make -C src
“`

## pathを通す

コマンドを叩けるようにパスを通しましょう。

– bashの場合

“`sh
echo ‘export PATH=”$HOME/.nodenv/bin:$PATH”‘ >> ~/.bash_profile
echo ‘eval “$(nodenv init -)”‘ >> ~/.bash_profile
“`

– Ubuntu DesktopやWindows Subsystem f

元記事を表示

Puppteerでキャプチャ画像を取得 part2

## 概要
エンジニアもどき2年目に入りました。色々あって以下を行うLambda関数を作成することになりました。
色々学びがあったので備忘録がわり兼アウトプットのために書くことにしました。

1. 特定のページのキャプチャ取得
2. 取得したキャプチャをS3に保存
3. S3に保存したURLをDyanmoに記録

part2では`2. 取得したキャプチャをS3に保存`の実装とデプロイまで行います。
part2での実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part2)

## 前提

[前回(part1)](https://qiita.com/yimi_getu/items/4c0dca38f8f55e8e6d3d)の続きです。part1に引き続き以下の準備は完了している前提です。
前回(part1)の実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part1)

– nodejs
– ServerlessFramework
– yarn

元記事を表示

家庭内フードロスを減らそう。LINEbotを使ったレシピの提案

夏が近づき暖かくなってきました。
食品も傷みやすい季節になってきましたね!
また、在宅ワークも進み家でのお昼ご飯などのレシピにも困っているのではないでしょうか?

ということで、今回は家庭内でのフードロスが減るよう、余っている食材をメッセージするとレシピのリンクを返してくれるボットを作って見ました。

1 材料に関連したレシピがある場合:

tsoaを使ってAPIドキュメントを自動生成

## tsoa

[tsoa](https://tsoa-community.github.io/docs/)とは、TypeScriptとNodeを使用してOpenAPI準拠のREST APIを生成するためのモジュール。
2020-05-05時点の最新バージョンはv3.0.8。

– APIの唯一の信頼できる情報源としてのTypeScriptコントローラーとモデル
– Express、Hapi、Koa対応
– エンドポイントの説明などにはjsdocを使用

### メリット

– コメントと実装のずれがなくなる(JSDocで管理するモジュールもあるが、いつかずれる)
– ドキュメント上からリクエストが投げれる

### デメリット

– デコレーター祭り
– route.tsをプレコンパイルする必要があり、開発環境が少しだけ複雑に

## 導入方法

[Introduction \| tsoa](https://tsoa-community.github.io/docs/introduction.html#goal)を順に進めれば、以下のようなAPIドキュメントが `http://lo

元記事を表示

Node.jsで仮想通貨取引botを作るまで

###この記事で得られること
– Node.jsで仮想通貨取引bot(以下、bot)を作りたいときに参考にすると良いかもしれない資料
– 筆者が作っためっちゃ基本的なbotのソースコード
– 当たり前ですけどこの記事・ソースコードは実際の取引の参考にはしないでください。筆者はソースコードの内容でbotを短時間動かして普通に損失出しています(笑) 数百円ですが。
– コード見ればわかりますが取引所はbitFlyerを使っています。

###この記事の対象者
– JavascriptおよびNode.jsの基本を終えて、何か作りたいなと思ってる人。
– ここでいう基本は、Progateの関連するレッスンの内容は理解している、AtCoderのABCはJavascriptで解ける・ソースコード読めるレベルぐらいを想定しています。

###参照した資料と進め方
####[Udemy: Node.jsの基礎から学ぶ、ビットコイン自動売買プログラム](https://www.udemy.com/course/nodejs-trading-basic/)
– この教材が作られたのが2年前(?)とかなので

元記事を表示

【Node.js】Node.jsをインストールする方法

#Node.jsインストール

[Node.jsの公式サイト](https://nodejs.org/ja/)にアクセスする。

「推奨版」を押下する。

パッケージが開き、「続ける」を押下する。

「続ける」を押下する。

「同意する」を押下する。

「続ける」を押下する。

「インストール」を押下する。

パスワードを入力し、「ソフトウェアをインストール」を押下する。

「閉じる」を押下する。

#Node.jsインストール確認

ターミナルを開き、下記コマンドを入力し、バージョンが表示されれば確認OK。

“`
$ node -v
v12.16.3
$ npm -v
6.14.4
“`

元記事を表示

AWS AmplifyのチュートリアルでJavascript(React)の環境を構築する

いつも忘れないように、コンセプトから。

###コンセプト
・お金かけてまでやりたくないのでほぼ無料でAWSを勉強する
 →ちょっとしたサービスを起動すると結構高額になりやすい。
・高いレベルのセキュリティ確保を目指す
 →アカウントを不正に使われるととんでもない額を請求されるので防ぐ

前回は[「AWSサーバーレスのWebアプリケーションをもっと勉強する」](https://qiita.com/auf/items/f3a84ae3bbf0a3b5cbec)でいろいろ考察してみました。実際に触って試していきたいと思います。

###まずはクライアントサイドから
実際に触って確認していくのですが、クライアントサイドの実装を選択します。前回も書きましたが、Angular、React、Vue.jsから選択します。
https://note.com/erukiti/n/na654ad7bd9bb
↑のサイトが参考になりましたが、Angularって下火になっているんですね。Google=偉いみたいなイメージがあるので、有力候補になりそうな気がしますけど、今はReactが良さそうです。そもそもJa

元記事を表示

【Babel】の使い方(Javascript・node.js)

#専用のディレクトリ作成

“`bash
$ mkdir babeltest
“`

#カレントディレクトリを移動

“`bash
$ cd babeltest
“`

#package.jsonを作成

“`bash
$ npm init -y
“`

上記のコードは、対話環境で対話する事なく、プロジェクト名など適当につけてファイル「package.json」を作成してくれます。

#必要なライブラリをインストール

“`bash
$ npm install –save-dev babel-cli
$ npm install –save-dev babel-preset-es2015
“`

Babel CLIとES 2015のプリセットの2つをプロジェクトにインストールします。
その際、package.jsonに設定を保存する様に、「–save-dev」オプションをつけておきます。

#.babelrcを作成
プロジェクトフォルダに「.babelrc」というファイルを作成し、そこに下記の内容を書き込みます。

“`javascript
{ “prese

元記事を表示

Puppteerでキャプチャ画像を取得 part1

## 概要
エンジニアもどき2年目に入りました。色々あって以下を行うLambda関数を作成することになりました。
色々学びがあったので備忘録がわり兼アウトプットのために書くことにしました。

1. 特定のページのキャプチャ取得
2. 取得したキャプチャをS3に保存
3. S3に保存したURLをDyanmoに記録

part1では`1. 特定のページのキャプチャ取得`の実装とデプロイまで行います。
part1での実装内容は[こちら](https://github.com/syu-y/puppeteer-capture/tree/part1)

## 前提
以下の内容が出てきます。インストールなどの準備は完了している前提です。

– nodejs
– ServerlessFramework
– yarn
– webpack
– iamのユーザ作成済み

## 実装作業
### 1. 準備
フォルダとテンプレートの作成をします。

“`zsh
mkdir puppeteer-capture
cd puppeteer-capture
serverless create –template

元記事を表示

OTHERカテゴリの最新記事