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

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

Discord botのglitchを使った常時起動でUptimerbotが使えなくなってしまった話。

ある日の筆者
茶番⤵︎ ︎は読みたくなけりゃ飛ばしておけ

「あれ?なんかdiscordのbotが落ちてるな……」
「しかもglitchでUptimerbot使って起動してる奴じゃん」
「あれー?前エラー治してから何もいじってないはずなんだけどなぁ」
「とりまエラー探すかぁ」
(数時間後……)
「どこにもエラーがねぇぇぇぇぇぇぇ」
(知人に相談したら…)
**uptimerobotはglitchからBANされて使えなくなったよ**
「なんだとぉぉぉぉぉ!?」

はい。

uptimerobotが使えなくなってしまった

Discord botの動作環境として結構使われているGlitchですが、glicthはタスクを閉じてから5分くらいたつとアプリケーションは落ちてしまいます。
それの回避方法として[UptimeRobot](https://uptimerobot.com/)というものがよくつかわれていました。
これは簡単に言ったらURL指定して定期的にリクエスト送る…的なやつだったはず

それが、glitch有料化が出てからから少しした後?UptimeRobotはglit

元記事を表示

npm と node.js のインストールから Hello World まで。

Linux もしくは Windows Subsystem for Linux のターミナルから以下のコマンドを実行し、npm と node.js をインストールする。

“`bash
sudo sed -i -e ‘s%http://.*.ubuntu.com%http://ftp.jaist.ac.jp/pub/Linux%g’ /etc/apt/sources.list
sudo apt update
sudo apt upgrade
sudo apt-get install -y nodejs
sudo apt install npm

“`

任意のフォルダを作成し、その中で npm init コマンドを実行し package.json を作成する。
expressのパッケージをインストールし、アプリケーションのエントリーポイントとして app.js を作成する。

“`bash
mkdir hoge
cd hoge
npm init
npm i express –save

touch app.js

元記事を表示

npmパッケージをオフラインインストールするためのツール

# はじめに

[【Yarn】パッケージをオフラインでインストールする](https://qiita.com/TakuyaHara/items/a2683c74c1827cb07583) という記事に触発されて、npmパッケージのオフラインインストール用のツール[yarn-offline](https://github.com/kannkyo/yarn-offline)を作った。

npm自体はオフラインインストールに対応していないのでyarnを使う。

# ディレクトリ構成

ツールのディレクトリ構成はこんな感じ。

“`shell
yarn-offline
├── .gitignore
├── .yarnrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── offline-cache
│ └── .gitkeep
└── package.json
“`

ツールのミソは[.yarnrc](https://github.com/kannkyo/yarn-offline/blob/master/.yarnrc)。プロジェクトディレク

元記事を表示

Node.jsのasync queueを使ってみた

## async queueについて
– 非同期処理を順番に実行してくれる
– async.queueの第一引数は非同期処理
– async.queueの第二引数はqueueを同時に実行する数
– async.queueの返り値はqueueを表すオブジェクト

## queueオブジェクトの中身
### push
– queueの最後尾にデータを追加

### unshift
– queueの最初にデータを追加

### length
– 待機しているqueueの数

### running
– 実行中のqueueの数

### pause
– queueの処理を一時停止

### resume
– queueの処理を再開

## サンプルコード
“`javascript=
const async = require(‘async’)

// 第一引数がqueueのパラメータ、第二引数が次のqueueの処理に入るトリガー
const q = async.queue((data, callback) => {
const obj = {
length: q.length()

元記事を表示

簡単レシート印刷 receiptline でサーマルロール紙に印刷してみた

日本発のオープンソース receiptline でレシート印刷に少しずつトライしています。
[前回](https://qiita.com/dopperi46/items/6043b936d28f6adf8cf4)まで開発ツールと仮想プリンターを利用していましたが、今回はいよいよ実機を使った印刷です。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/6527e949-12fc-d37f-869d-90e53ea4d7d4.png)

# レシートプリンター

落札に成功したレシートプリンターです。LAN 接続に対応しています。

## TM-T88V

海外旅行へ行くとレジでこれの黒色モデルをよく見かけるような気がします。
新品だと結構なお値段ですが、かなり使い込まれた中古品なので格安で入手。
それでも不具合なく現役バリバリで高速。お値段以上の耐久性はあると思います。

![02.jpg](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

node.js はじめ方

node.jsのはじめる時にやったことを簡単にまとめてみる。

コマンドラインでの準備

  1. mkdir,touchでそれぞれ新しいディレクトリとファイルを作る。
  2. npm init コマンドで、package.json ファイルを作成する。
    ※package.json・・・依存関係を記載するファイル。
    コマンド入力後、基本エンターキー連打でOK
  3. npm install 〜でnpmをインストールし、プロジェクト開始する。
    ※–saveはいらない
    このコマンドを入力することによって、package.jsonに依存関係の記載を行うことができる。
  4. node ファイル名.js
    node.jsのファイルを実行させる方法
  5. nodemon ファイル名.js
    こちらも実行させる方法であるが、実行させたまま、ファイルを更新しても、自動的にサーバが再起動が可能になる。
    ※nodemonを事前にインストールしておく必要あり。

ブラウザ側での準備

node.jsを実行させ

元記事を表示

LINE BOTとIFTTTでなんちゃってポケモンGO作ってみた

## はじめに

LINE BOTとIFTTTを組み合わせてポケモンGOのようなものを作ってみました

今回は新宿御苑に近づいたらLINEにポケモンの画像がpush通知してくる仕組みを作りました

本当はその後捕まえたいし、色んな場所に出現させたいんですけどね

[![Image from Gyazo](https://i.gyazo.com/1e82f73ab68d975ebd97b0a6b97fc5d1.png)](https://gyazo.com/1e82f73ab68d975ebd97b0a6b97fc5d1)

LINEではこんな見た目のがpushされます

## 開発環境
* Node.js v14.5.0
* express v4.17.1
* line/bot-sdk v7.0.0
* axios v0.19.2

ポケモンのAPIとして[こちら](https://pokeapi.co/)を利用しました。
利用したときはv2でした。

## 手順概要、目次

1. LINE BOT作成
1. LINE Developerに登録
2. LINE BOTの

元記事を表示

1日の仕事の振り返りで使えるコーチング用LINE BOTを作ろうとした

#はじめに

自社のWEBサイトのQ&Aで、LINE BOT作れたらなと考え、
とりあえず何か簡単なLINE BOTを作ってみようと思いました。

普段、人材開発の仕事に携わっているので、
自分の1日の振り返り用のLINE BOTだったら実用的かなと、
作ることにチャレンジしました。

#コーチング用LINE BOTの意図

振り返りで自動化したいことは、
・月間目標のリマインド
・月間の残り日数
・振り返りの質問
・PDCAを回す時の視点
です。

そのあたりを自動化しつつ、
明日の行動をイメージできるように、
明日の天気も自動で取得できるようにしてみました。

#結果できたLINE BOT

天気apiを使うまでのLINE BOTは作れた。

![8619_0.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664861/87faa404-4028-03cb-c371-cb141cc5ad2f.jpeg)

“`Javascript
“use strict”;

const express

元記事を表示

簡単レシート印刷 receiptline で仮想プリンターを使ってみた

日本発のオープンソース receiptline でレシート印刷に少しずつトライしています。

先日落札したレシートプリンターは、セルフテストして投稿用に写真撮影しました。
IP アドレス設定中のため、[前回](https://qiita.com/dopperi46/items/7f06d5125cc6755f8235)利用した開発ツールを引き続き使います。
今回は仮想プリンターを使った印刷です。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/3dc7f402-8084-b42a-0526-7dab62b8297f.png)

# ファイルのロード

receiptline に添付されているサンプルデータを開発ツールで読み込んでみましょう。
フォルダアイコンをクリックすると、ダイアログボックスが開きます。

![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/69114224-

元記事を表示

【LINE BOT】WebAPIを使用し自動返信BOTを作ってみた

###はじめに

LINE BOTを利用し、六曜日とその内容を自動で返信するものを作りをました。
入力文字を替えることで、NASA(非公式)の「今日の天文学写真」を楽しむこともできます。
###目的
六曜にこだわる人は少なくなってきていると思いますが、まだ大安などの吉日を好む人は多いと思います、個人的なイベントが発生すると「今日は大安だっけ?」「友引かな?」などとたまに気にすることがあるので、「今日は」と入力する今日の六曜日を自動返信するBOTを製作しました。

別で作ったほうがいいかと思いましたが、今回は練習も兼ねてで画像も取得したいと思いましたので、「今日の画像は」と入力するとNASA(非公式)より「今日の天文学写真」を取得し自動で表示します。宇宙の美しさ広さをみて、自分の小ささを感じます。

###作ったもの
[![Image from Gyazo](https://i.gyazo.com/91a89a2d1162de6394b784000408651a.gif)](https://gyazo.com/91a89a2d1162de6394b784000408651a)
#構成
#

元記事を表示

TensorFlow.jsノードをNode-REDで使ってみる

日立製作所OSSソリューションセンタの横井です。今回は、画像認識を行うNode-REDのTensorflow.jsノードの使い方をご紹介します。

# Tensorflow.jsとNode-RED
TensorFlow.jsとは、TensorFlowのJavaScript実装です。TensorFlow.jsを用いることで、ブラウザ上やサーバサイドのNode.jsで学習や推論処理をリアルタイムに実行できます。また、Node-REDは、主にIoT向けに開発されたピジュアルプログラミングツールです。[InfoQの記事](https://www.infoq.com/articles/javascript-web-development-trends-2020/)によると、2020年のトレンドとしてTensorlow.jsはEarly Majority、Node-REDはEarly Adoptersという流行っている/流行りつつあるOSSとして位置付けられています。

![infoq.jpg](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

Sassを今この瞬間から使えるようになるまでの手順

# はじめに
HP制作の段階で「CSSある程度理解して使えるようになったから、Sassを触ってみよう!」と思っても実際に使えるようになるまでにはいくつかの壁があります。
そのうちの1つが環境構築です。

HTMLファイルのheadタグ内にはcssを読み込ませる必要がありますね。
しかし、Sassを使ってサイトのスタイルを整えるためにはそのままHTMLに読み込ませる事はできず、Sass→CSSに変換する必要があります。(これをコンパイル)といいます。

そこで今回は、僕のような初心者向けに”Sass”を使って開発できるようになるまでの手順を示します。

## 目次
1.[Node.jsをインストールする](#anchor1)
2.[Node.jsがインストールされているかターミナル/コマンドプロンプトで確認](#anchor2)
3.[gulp-cliをインストールする](#anchor3)
4.[package.jsonを作成する](#anchor4)(←gulpインストール済みの人はここから)
5.[gulpとgulp-sassをローカル環境にインストール](#anchor5)
6.

元記事を表示

[AWS]Slack + AWS Chatbot + Lambdaで朝会のファシリテーター指名してみた

現職場では、デイリースタンドアップとして、朝会を実施している。
そして、いつも開始日時になると、

「え、今日・・・司会担当・・・だれ・・・?」

とTheWordになる。
※TheWord ・・・ リモート会議において、 無音が続き、最初に話した人がファシリテーターをしなければいけない空間のこと

一応、[SlackBot](https://slack.com/intl/ja-jp/help/articles/202026038-Slackbot-%E5%85%A5%E9%96%80)を使用して、それとなく機械的にファシリテーターを指名しているのだが、

「この人お休みだよ〜」 や 「昨日もやったんですけど〜」 とか

**いちいち面倒臭い。**

よし。朝会のファシリテーターをいい感じ(前回当たった人は当たらない、スムーズに再抽選ができる、~~自分が選ばれない~~)に決めるToolを作ろう。

# はじめに

コミュニケーションToolはSlack
プラットフォームはAWSとする。

# 構成

全体構成はこんな感じ。
![構成.png](https://qiita-image-s

元記事を表示

[Firebase] cloudFunctions node8から10に変更する手順

#背景
普段、SwiftとFirebaseでiOSアプリを作っている者ですが、
ある日FirebaseのCloudFunctionsのコンソールをみてみると、なにやら忠告が。。。
pic1.png

要は、「cloudFunctionsの関数のnodeバージョンを10にアップグレードしてね」ということ。

ではその備忘録です。お得な情報もあるのでどうぞ。

#方法
##手順①
まず、cloudFunctionsをNode.js10に対応させるには、
Firebaseの料金プランをSpark(無料)→Blaze(従量課金)に変更させる必要ありとのこと。
というわけで、Firebaseのコンソールの料金プランから料金プランをSpark(無料)→Blaze(従量課金)に変更。クレカ登録。

###お得な情報
ちなみに、

元記事を表示

Node.js でお手軽スクレイピング 2020 年夏(cheerio版) ポエム

まずは環境から。

“`bash
$ node -v
v12.16.1
“`

そしてプロジェクトの初期化を行って、2 つほどライブラリをインストールします。

“`bash
$ npm init -y
$ npm install node-fetch cheerio –save-dev
“`

必要なライブラリが揃ったところで早速スクリプトを書いていきましょう。サンプルに気象庁の東京都の週間天気予報のページを選びました。

“`index.js
#!/usr/bin/env node

const fetch = require(‘node-fetch’);
const cheerio = require(‘cheerio’);

const main = async () => {
const res = await fetch(‘https://www.jma.go.jp/jp/week/319.html’);

if (res.status !== 200) {
console.log(`error status:${res.status}`);

元記事を表示

node+nodemonのdockerコンテナ

node + nodemon の開発用コンテナを作成した。実行環境はwin10とdocker-machine

“`
.
├── app.js
├── docker-compose.yml
├── Dockerfile
├── package-lock.json
├── package.json
└── node_modules
“`

“`dockerfile
#Dockerfile

FROM node:12

WORKDIR /app

# ホストのpackage.jsonとpackage-lock.jsonを
# コンテナの/appにコピー
COPY ./package*.json ./

CMD bash -c “npm install && npm run dev”
“`

“`docker-compose.yml
version: ‘3.3’

volumes:
node_modules:

services:
app:
build: .
container_name: node
ports:
– ’80:808

元記事を表示

ジェイソン・ステイサムで妄想するのが日課になっていたので、いっそBOTにしてみた。

#ジェイソン・ステイサムとは?
イギリス出身のハリウッド俳優です。主にアクション映画に出演していて、代表作に「ワイルドスピード」シリーズ、「トランスポーター」シリーズなどがあります。スタントマンを使わず、自身でアクションシーンを演じることがほとんど。鍛えぬいた体が素晴らしいです。。。
(参照:https://ja.wikipedia.org/wiki/%E3%82%B8%E3%82%A7%E3%82%A4%E3%82%BD%E3%83%B3%E3%83%BB%E3%82%B9%E3%83%86%E3%82%A4%E3%82%B5%E3%83%A0 )

#なぜジェイソン・ステイサムのBOTを作るのか
ステイサムを好きになって10年ほど経ちました。ワイルドな顔とマッチョなボディはもちろんですが、彼の声と演技、そしてストイックなプロ意識が大好きなのです。近年その想いが加速し、やる気を出したいとき、疲れて癒されたいとき、キュンキュンしたいときなどに、__ステイサムの画像を検索して、妄想するのが日課__になってしまいました。
どうせなら、そんな妄想を具現化して、さらなる高みを目指したいと思い、

元記事を表示

[Node.js] 一時的ファイル(temp file)を使ってFirebase Storageへファイルをアップロードする

# 環境・バージョン

* node version v14.4.0
* “firebase-admin”: “^8.7.0”
* “tmp”: “^0.2.1”

# 実装

### Firebase Admin SDKの初期化

“`js:firebase-admin.js
var admin = require(‘firebase-admin’)

// Retrieve environment variables
const ServiceAccountFilePath = process.env.FIREBASE_SERVICEACCOUNT_FILEPATH
const StorageURL = process.env.FIREBASE_STORAGE_URL // xxxxx.appspot.com

const serviceAccount = require(ServiceAccountFilePath)

admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
st

元記事を表示

簡単レシート印刷 receiptline の API を調べてみた

日本発のオープンソース receiptline でレシート印刷に少しずつトライしています。
何と超速で[マクドナルドのレシートを再現](https://qiita.com/eggplants/items/be1dd4b14f4d032c7ba7)している方を発見!びっくりこ!

落札したレシートプリンターは無事届きました。
しかしまだ準備ができていないので、[前回](https://qiita.com/dopperi46/items/14faf9f6386f3620970d)利用した開発ツールを引き続き使います。
今回は receiptline の API です。

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/26622da2-0598-f053-2292-e3f43359fe39.png)

# 開発ツールは何をしている?

開発ツールの左側の編集エリアに文字を入力すると、右側のレシート用紙にプレビューが表示されます。
Web ブラウザーのデベロッパーツールを使って、開発ツー

元記事を表示

ESLint 7.5.0

前 [v7.4.0](https://qiita.com/mysticatea/items/abb2a71460b7d7d0dfba) | 次 (2020-08-01 JST)

ESLint `7.5.0` がリリースされ

元記事を表示

OTHERカテゴリの最新記事