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

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

node.js製のlambdaアプリをコマンド一発でアップロードする方法

node.jsでlambdaのアプリを作っているのですが、コードやパッケージが増えてくるとインライン編集出来なくなったり、zipでアップロードする必要が出てきます。ちょっとした変更でもわざわざawsのサイトに行ってアップロードするのは面倒ですし、複数のlambdaアプリを作っていたら間違えて別の関数にアップロードしてしまった、といった事故も起きるかもしれません。そこで、コンソールからコマンドでアップロードできるようにする方法を書きます。

※動作確認環境: macOS 10.14.6

# aws CLIの設定

まずawsのCLIをインストールします。バージョンが出ればOKです。

“`
$ brew install python3
$ pip3 install aws
$ aws –version
“`

次にawsのユーザー情報を設定する必要がありますが、アクセスキーが必要になります。IAMでAdministratorAccessポリシーを持ったユーザーを作成しておきます。

[AWS]はじめてのIAMユーザ作成

アクセスキー、シーク

元記事を表示

CentOS 8にNode.js 10をインストール(AppStream)

# はじめに

Application Stream(AppStream)を利用してCentOS8にNode.js 10をインストール
参考:[RHEL8のパッケージ構成 – BaseOSとApplication Stream – 赤帽エンジニアブログ]( https://rheb.hatenablog.com/entry/rhel8_baseos_and_appstream)

## サポート

本手法で導入した場合、[Red Hat Enterprise Linux 8 Application Streams Life Cycle – Red Hat Customer Portal](https://access.redhat.com/node/4079021)より、2021-04がEOLだと思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

## LOG

### インストール

“`shell-session
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

# y

元記事を表示

CentOS 8にNode.js 12をインストール(AppStream)

# はじめに

Application Stream(AppStream)を利用してCentOS8にNode.js 12をインストール
参考:[RHEL8のパッケージ構成 – BaseOSとApplication Stream – 赤帽エンジニアブログ]( https://rheb.hatenablog.com/entry/rhel8_baseos_and_appstream)

## サポート

本手法で導入した場合、[Red Hat Enterprise Linux 8 Application Streams Life Cycle – Red Hat Customer Portal](https://access.redhat.com/node/4079021)より、2021-11がEOLだと思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

## LOG

### インストール

“`shell-session
# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

# y

元記事を表示

Express で簡単な WebAPI を作成

フォルダー構造

“`text
$ tree
.
├── app.js
└── routes
└── index.js
“`

“`js:app.js
//————————————————————————-
// app.js
//
// Jan/18/2020
//————————————————————————-
var express = require(‘express’)
var routes = require(‘./routes’)
var bodyParser = require(“body-parser”)
var cfenv = require(‘cfenv’)

var app = express()
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())

元記事を表示

Nuxt を winser でサービス化する

Nuxt で作成したアプリケーションを WinSer でWindowsサービス化しようとしたらいろいろはまったので備忘録として対処を残しておく。

#背景
nodejs で作成したアプリケーションを Windows環境でサービス化するためのツールとして、 [WinSer](https://www.npmjs.com/package/winser) がある。
start コマンドとして「node index.js」のように node.exe を直接叩く場合は特に設定をする必要はないが、 NuxtJS のような専用の起動コマンドが存在するような場合に、npm や yarn からは起動できてもWindowsサービスとして起動できないということが発生する。

#対策
WinSer (で使用される nssm)は絶対パスか、パスが通ったコマンド出なければ実行できない(ように見える)。また「.cmd」拡張子のファイルは拡張子込みで記述する必要がある。
##1. WinSer をインストールする
npm に上がっている WinSer は[バグっている](https://github.com/jfrom

元記事を表示

Node.js の基礎とそのフレームワーク Express

## Node.js とは何なのか

Node.js とは、簡単にいうと JavaScript をサーバーサイドで実行させてくれる存在です。フロントエンドも、バックエンドも1つの言語で実行でき、WEBサービス、スマートフォンアプリ、IoT関連の開発にも使用することができるみたいです。

## インストール

まず Node.jsをインストールしていない人は、[Node.js公式サイト](https://nodejs.org/en/) から、LTS版をダウンロードしてインストール。

## 『node』 でJavaScriptを実行させる

コマンドラインでindex.jsが格納されているフォルダにpwdで移動し、そのフォルダ内のindex.jsを実行する。

“`
node index.js
“`

nodeだけでEnter押すと、JavaScriptコンソールで色々なコードを試せるようになるみたい。やめるときは .exit と入力するか、control + C を2回押すと終了します。

## Node.js のいろんなAPI

Node.jsには様々な機能があり、そ

元記事を表示

初めての Azure Bot Service – Sample code と local test 編 –

# はじめに
今回は Azure Bot Service を使用して連続した対話に対応できる Bot を作成します.
Azure Bot Service を初めて使用する人を(できる限り)想定してます.
(熟練の方々からしたら退屈するかと思います.)

また,今回は Bot の sample を local test するところまでで
Azure への Deploy については次回行います.

(訂正や指摘などあれば,温かく教えていただけると助かります.)

# 私の開発環境
– PC : surface laptop2 (windows 10)
– Editor : VS Code

PC に関しては何でも大丈夫です.
Editor に関しては 本記事を参考にされる場合は VS Code をご使用ください.
(後程お話しますが, Azure への deploy 時に VS Code の Extension を使用しています)

# Azure Bot Service の概要
Azure Bot Service とは,Microsoft 社のクラウドサービスである Azure のサー

元記事を表示

nodenvを使ったNode.jsのインストール手順

#はじめに
これまではNode.jsのバージョン管理ツールとして、
nodebrewを使っていたのですが、
ディレクトリごとにNode.jsのバージョンを分けたくなったので、
nodenvのインストール手順を記録として残します。

[nodenv](https://github.com/nodenv/nodenv)はこちらから。
[今回参考にしたQiitaの記事](https://qiita.com/YuukiMiyoshi/items/080b6cde332d8d4e06f3)はこちらから(ありがとうございます)。

詳しくは調べてませんが、pyenvと同様の管理方法ができるらしいですね。

今回はHomebrewを使ってnodenvを入れていきます。

# 環境
– MacBook Air (Retina 13-inch 2018)
– OS
– macOS Mojave バージョン 10.14.6
– メモリ
– 16GB
– シェル
– bash

#手順
## 前提
`$`はターミナルでの入力を示しま

元記事を表示

JSON Serverでオブジェクト以外を返す方法

# JSON Serverで文字列を返す方法

公式の[Getting started](https://github.com/typicode/json-server#getting-started)をもとに、
/profileにリクエストが来た場合、nameの値を文字列として返却する方法を紹介する。
文字列として返したい箇所には、**”type”: “string”**を記載している。

“`json:db.json
{
“posts”: [
{ “id”: 1, “title”: “json-server”, “author”: “typicode” }
],
“comments”: [
{ “id”: 1, “body”: “some comment”, “postId”: 1 }
],
“profile”: { “type”: “string”, “name”: “typicode” }
}
“`

以下のように、JSON Serverをモジュールとして使用することで、上記内容を返却する前に後処理を行え

元記事を表示

VS CodeでDocker開発コンテナを便利に使おう

# はじめに

– ローカル環境で開発し、Linux環境にデプロイしてテストするのが面倒
– Dockerを使っていい感じに開発環境を作りたい
– しかし色々設定や構築が面倒

そんな方のためにDockerコンテナを用いた開発環境をVS Codeから便利に構築、運用できる拡張機能「Remote-Containers」の使い方のご紹介です。

# この拡張機能の素晴らしさ

VS Codeの拡張機能「Remote-Containers」はコンテナ内でVS Codeを立ち上げ、ホストマシンのVS Codeと通信させることであたかもローカル環境で開発しているような操作感でコンテナ内開発が行えるというものです。

詳しい構成は公式ドキュメントに図があります。

![](https://code.visualstudio.com/assets/docs/remote/containers/architecture-containers.png)
(https://code.visualstudio.com/assets/docs/remote/containers/)

また、複数の開発環境をV

元記事を表示

JSON.Stringifyで循環オブジェクト参照構造体が処理できないのをcycle.jsで処理した

#概要
https://qiita.com/saitoeku3/items/9e9a608e53029d541a8f
と同じエラーにあったので、cycle.jsで処理したサンプルコードを紹介するよというお話

##cycle.js
https://github.com/douglascrockford/JSON-js/blob/master/cycle.js

##インストール
“`
npm install json-cyclic
“`

##サンプルコード
“`
//import
const decycle = require(‘json-decycle’).decycle;
const retrocycle = require(‘json-decycle’).retrocycle;


//文字列に変換
receiveNewAcString = JSON.stringify(receiveNewJson, decycle());

//JSONオブジェクトに変換
receiveNewAc = JSON.parse(receiveNewAcString, retr

元記事を表示

toioとTwitterAPIを合わせて使ってみた!

# toio.jsとTwitter APIを合わせて使ってみた

久しぶりの記事投稿。今回は[toio](https://toio.io/#four-attracts)をJavascriptで制御するのとTwitterAPIを合わせて使っていく。

## toioとは
toioとはソニーインタラクティブエンタテインメントより発売されているロボットトイである。詳しくは公式サイトを見てほしいが、子供から大人まで楽しめるモノになっている。公式から[toio.js](https://github.com/toio/toio.js)というNode.js(サーバサイドで動くJavaScript環境)のライブラリが公開されているので今回をそちらを利用していく。

## 今回やること
toioの最大の特徴は主役であるデバイスのキューブ(下図)の光学センサーを用いて、付属のマットやシールに施されている特殊印刷を読み取り、キューブの絶対座標やIDを取得できる点だ。
Node.js で Redis のキーの一覧を取得

ライブラリーのインストール

“`bash
sudo npm install -g redis
“`

“`js:redis_list.js
#! /usr/bin/node
// —————————————————————
// redis_list.js
//
// Jan/17/2020
//
// —————————————————————
console.error (“*** 開始 ***”)
//
const redis = require(“redis”)
const client = redis.createClient(6379,’localhost’)

client.on (“error”, function (err)
{
console.log (“Redis connection error to ”
+ client.host + “:” + clien

元記事を表示

Windows 10へNode.jsをインストールする

# 概要
– Node.jsをNode.jsのサイトからダウンロードしてインストールします。
– Node.jsの利用方法を説明します。

# Node.jsのインストール

1. インストーラをNode.jsのダウンロードサイトを開きます。
1. [Node.js – ダウンロード](https://nodejs.org/ja/download/)

1. 「LTS版」の《Windows Installer》をクリックしてダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520689/54727cbc-3a9a-0b19-85d9-891375f9c1a1.png)

1. ダウンロードしたインストールファイルをクリックしてインストーラーを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520689/898d4005-c802-4cfc-dda2-6

元記事を表示

Slackからメールに自動送信してみた

# はじめに
社内コミュツールとしてSlackが導入され、社内のコミュニケーションが多少なりとも活性化してきました。
SlackのAppやワークフロービルダーを使って既存プロセスを楽にしようと考える人も出てきて、ツールが変われば人も変わるなーと実感しています。

そんな中でも依頼は「社内メール」という文化は残っており、最後は誰かがメールを送らないといけません。。。
なのでSlackで簡素化した申請プロセスの申請内容をSlackから社内メールに自動送信するようにしてみました。

# 環境
今回は以下の環境を利用しました。

Slack(Outgoing Webhook)
Sendgrid
Google Apps Script(Node.js)

順番に設定内容を記載します。

# 1.Slack
チャンネルで特定のキーワードに対して反応するOutgoing Webhookを設定します。
Outgoing WebhookはSlackのApp管理ページから「App ディレクトリを検索」で検索できます。

## 1-1.設定内容
チャンネル:Outgoing Webhookを動かすチャンネル

元記事を表示

JSのプログラムでincludeするコンパイラ的な何かをかいたお話

どうも、フミです。
京都の上のほうから市内に向かう電車の中で書いているので、誤字はお許しください…

普段からC系の言語とJavascriptを二刀使いしている皆さん、皆さんはJavascriptをかいていて、あ~、include文使えたらいいのにな…
って思ったことありませんか?

いや、いやいや、シンキングフェイスをしたそこのあなた、あなたの気持ちはよ~くわかりますとも!ええ、ええ、そうでしょうね!importを使えばいいだろう!でしょうね!!

使いこなせるのであればいいのですが、importは少し書き方が特殊になる上に、スコープ的にめんどくさいんです(個人の感想です。)

そこで、JSでもinclude文が使えるようになるためのプログラムを作りました!!
5分くおりてぃなので悪しからず…

# やったこと
Nodejsを使って既存のファイルを解析し、include文を適用したjsファイルをa.jsとしてカレントディレクトリに出力します。

多分コード読んだほうがわかるので…

“`js:cmp.js
const main_file=process.argv[2

元記事を表示

Swagger-codegenを使おうと思ったが、エラーで使えなかった件

## 発生した問題
swagger-codegenでnodejs-serverを選択し、モックサーバーを立てようとしたら以下のエラーが出た。

“`
Error: Cannot find module ‘./middleware/swagger.router’
“`
パッケージの中を確認すると、確かにswagger.routerがない。
issueが立ってた。パッケージに間違いがあるらしい。
https://github.com/bug-hunters/oas3-tools/issues/17

## 解決策
Swagger-codegenのバージョンを下げて、
swagger-codegen@2で対応した。

“`bash
$ brew install swagger-codegen@2
“`

## 学んだこと
パッケージも間違っていることがある。
npmのサイトにissuesが上がっていることがある。
Weekly downloadsとかが多いものは信頼性が**ちょっと**高い。

元記事を表示

Ubuntu18.04 開発環境作成メモ

# how to use

“`
cd ~
chmod +x setup.sh
./setup.sh
“`

# setup.sh
“`setup.sh
sudo apt update
sudo apt -y upgrade
sudo apt -y install vim
sudo apt -y install git
sudo apt -y install guake
sudo apt -y install curl
sudo apt-get -y install xsel

# pyenv
sudo apt -y install build-essential libffi-dev libssl-dev zlib1g-dev liblzma-dev libbz2-dev libreadline-dev libsqlite3-dev
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.bashrc
echo ‘export PA

元記事を表示

Node.jsを用いた定期ツイートbot作成メモ

すぐ忘れるのでメモ。

もっと無駄の少ないやり方なんて知りません、、、
#まずTwitterAPIの取得
申請の際の作文はbotにしか使わないという趣旨を書けばすぐに通るはずです。

API keyとToken keyが得られれば勝ち。
#ツイート内容のコードを作る
用意するのは`npm i Twitter`と`npm i node-schedule`

ツイート
https://yukimonkey.com/js-application/twitter-bot-2/

画像ツイート
https://qiita.com/n0bisuke/items/6b269f61152e9f336c35

時間指定はNode-scheduleを使う

#Heroku
###アカウント作成

タイムゾーンについて、途中で気づいてめんどくさかったのでソースコードの時間を-9hしました。

###Herokuへデプロイ

コマンドはこの記事を参考にしました。
https://qiita.com/daiki7nohe/items/035c39c1e538551b1f6c#git%E3%82%B3%E3

元記事を表示

【文系新卒が】出来立てご飯を食べたかった話【GoogleHome LINE Node-RED】

# 事の始まり
僕はご飯が大好きな文系新卒君です。
僕はありがたいことに、家に帰るとご飯が毎日用意されています。
しかし学生時代のように出来立てのホカホカご飯を食べれる機会は減ってしまいました。
そう…社会人は学生とは違い帰る時間がバラバラ。
帰る時間を連絡しても、1日中ケータイを触ってるわけじゃないのでご飯の完成にラグが起きてしまう。

…..だったら帰宅時間を教えることのできるシステムを作ればいいじゃないか!!

## 全体図
どうすれば帰宅時間を知らせることができるか考えた結果、
**「物理的」**に知らせるのが一番じゃないかと考えました。
![100.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469819/93452af2-a96c-4513-4276-248d6403e395.png)

こんな感じで実装すれば、ラインメッセージと自宅へ音声送信両方が実現ができるはず!

## 実装
それでは実装していきますよ!!
事前準備は4つ

– Node-REDのインストール
– LINE

元記事を表示

OTHERカテゴリの最新記事