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

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

【Node Express】DBのデータをExcellで出力。

#使うもの

1)sheet.js
エクセルファイルの書き換え等ができる。
今回はオブジェクトをエクセルファイルに変換するのに使用した。
https://www.npmjs.com/package/xlsx

インストール:
npm install –save xlsx

2)moment.js
時間を扱うのに便利そうだったため。
https://www.npmjs.com/package/moment

インストール:
npm install –save moment

#実装

“` main.js
const express = require(‘express’)
const app = express()
const model = require(‘モデルのパス’)
const PREFS = require(‘定数ファイル’).PREFS
const xlsx = require(‘xlsx’)
const moment = require(‘moment’)

app.get(‘/get_excel’, async(req, res) => {
try {

元記事を表示

ElasticSearchのindexデータを移行する

# はじめに

今回、AWS ElasticSearchからローカルのElasticSearchにデータを移行したかったのでElasticDumpを使って、試しにやってみました。

ElasticSearchはVPCからしかアクセスできなかったので、踏み台のEC2から接続しています。

## 注意点

※他にいい方法はたくさんありますのであくまでも一つの方法です。

– index単位なので、indexが多いと面倒です。`*`などで一括でindexをdumpするなんてこともできません。

## EC2にNodeをインストール

[AWS公式のNodejsインストール手順](https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html)を元にnvmでインストールします。

“`bash
# EC2の中

# nvmインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/n

元記事を表示

[Node][Yarn] create-react-app したプロジェクトでyarn start でエラー

# 起こったこと

react.js の`create-react-app` コマンドで作成した新規プロジェクトで
`yarn start` ( `react-scripts start`) してみたが、以下エラー。

“`
$ yarn start

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

“babel-loader”: “8.1.0”

Don’t try to install it manually: your package manager does it automatically.
However, a different version of babel-lo

元記事を表示

Webpackにてhtml-webpack-inline-source-pluginを利用する

# はじめに
webpackで出力する際に出力されたJavascriptをHTMLファイルに差し込みたいと思います。

が、html-webpack-inline-source-pluginを使えば良いという点までは辿り着いたものの、公式のやり方では素直に実現出来なかったので発生した問題とその解決方法を記載致します。

# 検証した環境
“`
– Node.js 13.13.0
– webpack 4.42.1
– webpack-cli 3.3.11
– ts-loader 6.2.2
– html-webpack-plugin 4.2.0
– html-webpack-inline-source-plugin 1.0.0-beta.2
“`

# 今回発生した問題
公開されている通常のhtml-webpack-inline-source-pluginを利用するとバンドル時に以下のようなエラーが発生してしまいます。

“`
Cannot read property ‘tapAsync’ of undefined
“`

調べた所対象Pl

元記事を表示

Node.js+mongoDBのDockerアプリをCircleCI+AWS Elastic BeanstalkでCI/CDできるようにする

# この記事について
「ローカル環境を汚さずにいろんなツールを入れて試して勉強・アプリを開発してみたい!」「本番環境にアプリをのせるときに、サーバーに直接接続して作業するのではなくて、イケてるデプロイフローを構築して使いたい!」と思う”目指せ初心者脱却マン”は多いと思います。

今回は、開発環境のコンテナ化+AWS Elastic BeanstalkとCircle CIを使った自動デプロイフローを構築するまでの一連の流れを紹介したいと思います。いろんな記事・本を行ったり来たりしないでこの記事だけで完結させることを目標にします。

## 使用する環境・バージョン
### 開発環境
– OS : macOS Mojave 10.14.5
– git : 2.20.1 (Apple Git-117)
– EB CLI 3.15.3 (Python 3.7.4)
– docker : 19.03.8, build afacb8b
– Docker.app : 2.2.0.5
– VS Code : 1.44.2
– VS Code Remote Development : 0.20.0

#

元記事を表示

人のTwitterアカウントを見つめるやつ

# 経緯
昔の知人X氏が何かの弾みで道を踏み外し、別の知人A氏やB氏に対して脅迫行為(結局本物の警察沙汰になりました)を始めたので、特定のTwitterアカウントの言動を監視するBOTを作りました。
技術的に特に難しいものではないのですが、せっかくなので公開します。

https://github.com/netebakari/twitter-serverless-watchdog

# やること
監視BOTのようなものは動かしていることを忘れてしまうぐらいがちょうどいいのでサーバーレスで実装します。

設定はDynamoDBに登録しておきます。
AWS Lambdaが定期的に対象アカウントのツイートを取得して、指定されたキーワードを検知したら次のようなツイートでお知らせします。

> 1000000000000000000以降のチェックを行い、N件の監視対象ツイートが見つかりました。 @null宛で引用RTします。
> 現在の監視アカウント: @kiken_na_hito, @abunai_hito, @kowai_hito
> 現在の監視キーワード: https://YOUR-BU

元記事を表示

React+Expressで本番環境へデプロイ

#はじめに

React+ExpressでWEBサービスを作るにあたって、
本番環境へのデプロイ方法がわからなかったので調べてみました。

###対象読者
Reactを導入してみたいけど、Expressでデプロイする場合どうすりゃいいんだ、と悩んでいる方。

#方法

ずばり、
**ReactプロジェクトでビルドしたファイルをExpressプロジェクトのpublicにぶち込む、です。**

**手順**
①Reactプロジェクトで本番用ファイル群を生成
②生成された/build以下のファイルをExpressプロジェクトの/public以下にデプロイ
③Expressのルーター操作をrenderによる描画からsendfileに変更(index.htmlをクライアントに返すだけにする)

詳細は以下で説明します。

##①Reactプロジェクトで本番用ファイル群を生成

まずはプロジェクト作成

“`
create-react-app client
“`

作成したプロジェクトに移動してビルド

“`
cd client
npm run build
“`

ビルドするとbui

元記事を表示

[Node][npm] sudoなしでMacOS/Linux に npm packeage をインストール

# Install `npm` packages globally without sudo on macOS and Linux

`npm` installs packages locally within your projects by default. You can also install packages globally (e.g. `npm install -g `) (useful for command-line apps). However the downside of this is that you need to be root (or use `sudo`) to be able to install globally.

Here is a way to install packages globally for a given user.

###### 1. Create a directory for global packages

“`sh
mkdir “${HOME}/.npm-packages”
“`

##

元記事を表示

【Node.js】request promise 使い方

自分が使っていて分からなかったことを備忘録として書き残しておきます。

## 使い方

request-promise自体は以下のgithubで公開されている。
https://github.com/request/request-promise

### インストール

npm経由でinstall

“`
npm install –save request
npm install –save request-promise
“`

javascriptで使うには、requireでrequest promiseを読みこむ。

“`js
const rp = require(‘request-promise’)
“`

### オプションを作る

– url

GETしたい挿し先のURLを記入する。queryを入れた状態でもいい。
例 ) https://sample.jp/sample/?query1=AAA

– method

GET

“`js
const option = {
url: ‘https://test.jp/test/’,

元記事を表示

LINEBotからRaspberryPiで写真を撮ってLINEにおくる!

### はじめに
LINEBotでRaspberryPiで写真を撮って送るという、カメラ装置です。
ハッカソンで作成した[ねこしぇるじゅ\-自慢の猫をとにかく拡散!\- \| ProtoPedia](https://protopedia.net/prototype/a07c2f3b3b907aaf8436a26c6d77f0a2)の一部をupdateしたものです。

### 概要
LINEBotからRaspberryPiを動かして写真を撮り、[Gyazo](https://gyazo.com/api?lang=ja)に送って写真をLINEに送るものです。
LINEBotでRaspberryPiを動かしています。
RaspberryPi node.js ngrok Gyazo API という感じです。

### できたもの

Node(npm)でTypescript導入メモ

# ざくっとインストール
“`bash
npm install typescript
“`

# tsconfig.json作成
“`bash
tsc –init
“`

以上。

元記事を表示

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)

元記事を表示

OTHERカテゴリの最新記事