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

Node.js関連のことを調べてみた2019年12月26日
目次

Node.jsの”Error: Cannot find module ‘cfn-response'”の解決方法

# Error: Cannot find module ‘cfn-response’
Lambda-Backedカスタムリソースにおいて、Node.js 8がEOLとなるため、コードはそのままでランタイムの指定だけをNode.js 12.xに変更したところ、このようなエラーが発生しました。

“`エラーメッセージ
Response:
{
“errorType”: “Runtime.ImportModuleError”,
“errorMessage”: “Error: Cannot find module ‘cfn-response'”,
“trace”: [
“Runtime.ImportModuleError: Error: Cannot find module ‘cfn-response'”,
云々
“`

Node.js 8では以下の指定で同じ階層のファイルrequireできるのですが、

“`Node.js8:
const response = require(‘cfn-response’);
“`

Node.js 12では、パスを明記する必

元記事を表示

超短納期開発Tips vol.1 – JEST駆動開発で辛い試行錯誤フェーズを素早く心穏やかに終わらせる

# はじめに

今年も[ヒーローズ・リーグ](https://hl2019.we-are-ma.jp/)に参戦させて頂きました。例年通り素敵な体験をさせていただけた思う一方、戦績としては決勝ステージには進出しつつも、何も賞を獲得することが出来きませんでした。ここ数年何かしらの賞を頂いていたことが、いつのまにか自分のアイデンティティになっていたんだなぁと思ってしまった次第です。
この寂しくも悔しい気持ちを沈めたいという想いをこめつつ、散っていったアイデア達を作るうえで学習したことを言語化してアウトプットすることで、次の挑戦への糧とすると共に、来年の締め切り当日になんらかのアイディアを思いついてしまう多くの方が諦めずに応募まで進める助けにができば幸いです。

# 超短納期開発Tipsって何?

[ヒーローズ・リーグ](https://hl2019.we-are-ma.jp/)応募やハッカソン参加など、比較的短時間でアイディアを練ってプロトタイプを仕上げる必要があるときの開発Tipsです。ハッカソンTipsと読み替えても差し支えありません。

具体的な規模と速度間としては、**[こういうも

元記事を表示

Webサービスのe2eテスト  〜メール認証編〜

## はじめに
この記事は [Goodpatch Advent Calendar 2019](https://qiita.com/advent-calendar/2019/goodpatch) の22日目です.

私が現在担当しているWebサービスの開発において、Puppeteerを用いたe2eテストを用いてQAの効率化を図っています。
この記事では Node.js と Gmail API を使い、アカウント作成時のメール認証を自動化する方法について共有したいと思います。

注:この記事ではPuppeteerには触れません!

## 環境準備

メールをNode.jsで取得するためには、Gmail APIの設定と、各種ファイルの取得・生成が必要です。
基本的には[Node.js Quickstart](https://developers.google.com/gmail/api/quickstart/nodejs)に従って作業します。

### フォルダの準備
あらかじめ、各種ファイルを保存するフォルダの準備しておきま

元記事を表示

Elastic Beanstalkで、Node.js+expressアプリを動かそう [ハマりポイント説明]

#? はじめに
Lambdaの方が使い勝手がいいので、あまり使わないElastic Beanstalkですが、いざ使おうと思うと、いくつか躓くポイントがあるので、その点も含めて、Node.js+expressで作ったサンプルアプリを動かすまでの手順を紹介します。

##? Elastic Beanstalk
https://aws.amazon.com/jp/elasticbeanstalk/
Java、.NET、PHP、Node.js、Python、Ruby、Go、Dockerなどで作られたプログラムをデプロイ、実行する環境。
実態としては、EC2の上にApacheやNginx等のサーバーを立てて提供してくれる。

#? 作業手順
大きくは以下の手順になります。

1. Node.js+expressでアプリを用意する。
2. ソースコード+node.jsモジュールをZIPファイルにまとめる。
3. Elastic Beanstalk実行環境構築、デプロイ。
4. 実行。

##? Node.js+expressでアプリを用意する
今回は、`express myapp`コマンド作成さ

元記事を表示

花粉症の重症度を判定し自分に合う市販薬を教えてくれるLINE Botの作成

##概要
プログラムの勉強を始めて半年ほどの開業医です。

そろそろスギ花粉の季節ですね。
2月の中旬ごろからスギ花粉は飛散開始します。花粉症の方はその前にお薬を準備しておくといいですね。

医療費削減のため一部の花粉症の薬が今後医療機関で処方できなくなるかもしれないといわれています。そうすると市販の薬で対応しなけらばならない花粉症患者さんが少なからず出てきそうです。そのような時に患者さんが困らないように、自分の花粉症の重症度が分かったり、自分に合った市販の花粉症薬が探せるサービスがあれば良いかと思い今回「花粉症の重症度を判定し自分に合う市販薬を教えてくれるLINE Bot」を作ってみました。

以前作ったWEBアプリはこちら
[花粉症の重症度が分かるWEBアプリの作成~Auth0でユーザー認証~](https://qiita.com/doikatsuyuki/items/b79378f6d7a30bbe5e87)
[自分に合った市販の花粉症薬を探すアプリの作成]
(https://qiita.com/doikatsuyuki/items/69b95169cb4d152d8cd7)

元記事を表示

【Node.js + Sheets API v4】Googleスプレッドシートを読み書きする

# はじめに
Node.jsでGoogleスプレッドシートを読み書きする。

使うもの:

* Node.js v10.16.0
* Google Sheets API v4
* Visual Studio Code

# Google Sheets API を使えるようにする

[Node.js Quickstart  |  Sheets API  |  Google Developers](https://developers.google.com/sheets/api/quickstart/nodejs)

上記サイトを参考に、まず Google Sheets API を使えるようにする。「Enable the Google Sheets API」のボタンを押してしばらく待つと、Google Cloud Platformに`Quickstart`という名前のプロジェクトが作成され、Client IDやシークレットと共に設定ファイルをダウンロードできるようになる。

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

元記事を表示

Auth0ラボ – その2 : Calling an API

# はじめに
この記事はAuth0のハンズオンラボで[Auth0 Identity Labs](https://auth0.com/docs/identity-labs)を元に作成しています。Node.js + Express.jsで作成されたSample ApplicationとAPIを利用して、Auth0から払い出された認可情報を元にApplicationからAPIを呼び出します。[Auth0ラボ – その1 : Web Sign-In](https://qiita.com/hisashiyamaguchi/items/0e5d764c267eacc50769)が完了していることが前提となっているため、未だの方は[こちら](https://qiita.com/hisashiyamaguchi/items/0e5d764c267eacc50769)からお試しお願いします。

# 検証環境
– **OS** : `macOS Catalina 10.15.2`
– **node** : `10.15.3`
– **npm** : `6.13.2`
– **Git** : `2.23.

元記事を表示

自分に合った市販の花粉症薬を探すアプリの作成

##概要
プログラムの勉強を始めて5か月ほどの開業医です。

そろそろスギ花粉の季節ですね。

医療費を削減する目的で一部の花粉症の薬が今後医療機関で処方できなくなるかもしれないといわれています。そうすると市販の薬で対応しなけらばならない花粉症患者さんが少なからず出てきそうです。そのような時に自分に合った花粉症の薬が探せるアプリがあれば良いかと思い作ってみました。

今回Electronでデスクトップアプリを作成する勉強をしたので、先日勉強したAuth0のユーザー認証も実装して自分に最適な花粉症薬を探すことが出来るデスクトップアプリを作成してみようと思いました。

[花粉症の重症度が分かるWEBアプリの作成~Auth0でユーザー認証~](https://qiita.com/doikatsuyuki/items/b79378f6d7a30bbe5e87)

##動作確認
今回デスクトップアプリは出来ましたが、Auth0によるユーザー認証が実装できませんでした。

元記事を表示

Node.js / Denoで始める手書きWebAssembly

# Node.js / Denoで始める手書きWebAssembly

この記事は Deno Advent Calendar 2019 10 日目の記事(大遅刻)です。
最近 WebAssembly(以下、Wasm)の text format (wat) を少しだけ勉強しています。

Wasm を動かす環境として、一番ベーシックなのはブラウザ (Chrome / Firefox など) ですが、気軽に書いて試すにはやはり Terminal 上で完結させたいと思いました。
Terminal 上で Wasm を動かすにあたっての選択肢は、下記の 2 つがあります。

– Node.js (フラグ付き)
– Deno

本記事では、手書きWasmをコンパイルして上記の2つの環境で動かす方法を紹介します。

## 用意するもの

– Node.js v13
– Deno
– [wabt](https://github.com/WebAssembly/wabt)
– WebAssembly のツールキット
– wat を Wasm に変換する wat2wasm を使います

## 参考文

元記事を表示

Webpackerが提供しているコマンドの内部処理を追ってみた

[食べログ Advent Calendar 2019 ](https://qiita.com/advent-calendar/2019/tabelog)24日目の記事です。

はじめまして。
好きな筋トレはバーベルシュラッグ。
好きな小説家は宮内悠介。
食べログのフロントエンドチームに所属している@sn_____です。
クリスマスイヴなのでWebpackerの話をします。

皆さんWebpacker使ってます?
個人的にはWebpackerは好みではありません。

Webpackerは面倒なwebpack回りの設定をやってくれるので、Railsアプリケーション開発では重宝されるケースも多いと思います。
しかし、提供されるコマンドの内部処理はブラックボックス化されており、詳細を把握していない人も多いのではないでしょうか。
フロントエンドエンジニア的にはそこらへんも抑えておきたいので、Webpackerが提供しているコマンドの内部処理を調査してみました。

### 調査対象
– webpacker@4.2.2(2019/12/24時点での最新版)

### 調査対象コマンド

– `./b

元記事を表示

【fly.io】愛を込めて花束を

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6102/d4434532-d8af-d461-a53e-b6da744d78f2.png)

タイトルは [Superfly](http://www.superfly-web.com/) の[名曲](https://www.youtube.com/watch?v=ccPIoaKod_I)ですが、本記事はネタ記事でもなく釣り記事でもなく、もちろんポエム記事でもありません。node の PaaS 環境である fly.io の真面目なお話です。

え?なぜこのタイトルかって?

 **fly.io**
  ↓
 **フライ.アイオー**
  ↓
 Super **fly 愛を** 込めて…

ハイ!Merry Christmas!?  Σd(゚∀゚d) オゥイェ!!!

# これはなに?
fly.io は、node.js に特化した PaaS で独自の CDN を持ち Edge サーバによるキャッシュで高速なレスポンスを提供するフルマネージ

元記事を表示

tsconfig の path alias 解決に tsconfig-paths/register を node で使う方法と TS 依存の分離方法

この記事は [TypeScript アドベントカレンダー 2019](https://qiita.com/advent-calendar/2019/typescript) の 24 日目です。

## はじめに

Webpack 等でビルドせずに node で実行する際に tsconfig の path alias が解決されなくて困る方も多いと思います。
一方 ts-node じゃなくても tsconfig-paths/register で path alias が解決できることは意外と知られておらず、実は `$ node -r tsconfig-paths/register dist/main.js` で解決します。
しかし、 Production で動く node に TypeScript 由来の何かに依存しているのは怖いということもあるので、 tsconfig-paths の中身を読んだので何をしているかを説明します。

## サンプルプロジェクト構成

以下の構成で実行します。サンプルリポジトリは以下になります。

https://github.com/euxn23/how-

元記事を表示

NodeでAPIを使わずにYouTubeLiveのチャットを取得する

本記事は[VTuber Tech #1 Advent Calendar 2019](https://qiita.com/advent-calendar/2019/vtuber)の24日目の記事です。

# YouTubeLiveのチャットを取得するやつを作った話
そういうことです。YouTube、クリスマスカラーっぽいでしょ。
非公式手法なので自己責任重点な。

## TL;DR
作ったので使って、どうぞ。
[youtube-chat](https://www.npmjs.com/package/youtube-chat)
[GitHub](https://github.com/LinaTsukusu/youtube-chat)

## 何故作ったのか
自分で配信するようのコメビュを作っていろいろやろうと思い、最初は普通にAPIで取得すればいいやと考えていた。が、ウカツ!
毎秒取得したら数分でAPI上限に達してしまうではないか!ブッダシット!

## 使用技術
– Node.js
– TypeScript

## 使い方
1. 普通にインストールする

“`bash

元記事を表示

【Node.js】NW.jsでnodeなしで動くアプリを作りたい!

大幅に遅れましたが、この記事は [株式会社ピーアールオー(あったらいいな!を作ります) Advent Calendar 2019](https://qiita.com/advent-calendar/2019/pro-japan1) の19日目の記事です。

# はじめに
最近、お仕事でもNode.jsを使うことが増えてきました。
JSベースなので結構雑にツールを作れてありがたいのですが、そのツールを誰かに連携する時に相手方もNode.jsを入れてもらう必要があって連携は中々ハードル高めです。
という訳で、今回はWindowsでNode.jsで作成したものをスタンドアロンアプリとして出力できるNW.jsを触ってみました。

# 実行環境
OS: Windows 10 Pro v1903
node.js: v10.13.0
NW.js: 0.43.2
NW-Builder: 3.5.7

# 導入手順…と言いたいところですが
NW.jsの導入についてはQiita上にかなりしっかりまとめていただいている記事が存在します。

[NW.jsでデスクトップアプリの夢を見る!](https://q

元記事を表示

[Heroku Postgres] Herokuを使って無料でデータベースを利用する

# はじめに?
メリークリスマス!!!!??
クリスマスいかがお過ごしでしょうか???
ふっけです。今回はNitKitアドベントカレンダーということで、高専祭のクラス展示で入退場システムを作成したときにHerokuのPostgresSQLを使用したので、その方法について書きます。

# 環境?
Node.js v12.8.0

# データベースの導入?
Herokuでのプロジェクトの作成は省略します。
Herokuでプロジェクトを作成したあとResourcesのAdd-onsからHeroku Postgresを追加します。
![スクリーンショット 2019-12-24 15.20.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264742/7eee5910-3f63-781d-e4c1-3ae104a7d376.png)
追加後 Heroku Postgresのリンクから管理画面に飛ぶことができます。
![スクリーンショット 2019-12-24 15.28.10.png](https://qii

元記事を表示

LINE WORKS Bot APIをひと通り触ってみる(node.js)#2

LINEWORKS Advent Calendar 2019 / 25日目の最終日の記事です。

本記事では、LINE WORKS Bot の[メッセージ送信 API](https://developers.worksmobile.com/jp/document/1005008?lang=ja) をnode.jsでひと通り触ってみたいと思います。

前回:[LINE WORKS Bot APIをひと通り触ってみる(node.js)#1](https://qiita.com/shotamaco/items/bd510729adc0497d7d0b)

#0. はじめに
記事の流れになります。

1. こんなの作ります
2. 環境準備
3. 作ってみる
4. 動かしてみる
5. 気づいたこと
6. まとめ

#1. こんなの作ります
LINE WORKS Botのメッセージ送信には下表のタイプが存在し、そのタイプをすべて網羅するBotを作ります。
また、quick reply (クイックリプライ)も使用します。

| 送信タイプ | 説明 |
|:–|:–|
| [text](http

元記事を表示

obniz-nobleでnoble使ってるプロジェクトをreplaceしてみる

# サマリ
遠隔地のBLEデバイスをnobleで動かせるよ with **obniz-noble**

# 背景

最近BLE周りしか触ってないじゃないか!?っていうぐらいBLEのことばっかやってますが、先日、[obniz-noble](https://github.com/obniz/obniz-noble)なるものをリリースしました

どういうものかというと、**nobleでobnizを操作しようよ!**っていうものです。

node.jsでBLEといえばnoble一択、というほど強いんですが、このnoble、なんとnodejsのバージョン8でしか動きません。

正確にはnobleはバージョン依存していないのですが、nobleが使ってるライブラリがバージョン依存で動きません。nobleのgithubも2年以上放置されてますし、メンテナンスする予定ないんですかね・・・

いろいろなかたがこれに対応してnode12でも動くnobleとかを作っていたりシますが、ここはやっぱりobnizでしょ!ということで**obnizで動くnoble

元記事を表示

Hubotを使ったslack botの作り方【2020年版】

# Hubotとは
HubotとはGithub社が開発したNode.js上で動くBotアプリケーションを作成するためのフレームワークです。

Hubotは、`Hubot本体`、`アダプター`、`拡張スクリプト`から構成されます。
Hubot本体とチャットアプリの間を仲介するアダプターが存在するため、slack、chatworkなどの様々なチャットツールとHubotを連携することが可能です。
Bot作成フレームワークはHubot以外にも存在しますが、Hubotは様々なチャットツールと連携できる点が他のものと比べて大きな特徴です。

![TH800_001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/149122/722e3cf6-d581-e3d6-db1e-c4313746ba4c.png)
[GitHub社謹製! bot開発・実行フレームワーク「Hubot」](https://gihyo.jp/dev/serial/01/hubot/0001)より引用

Hubotを使うことにより、複雑な振る舞い

元記事を表示

expressメモ

# サニタイズするとは
HTMLフォームなどから悪意のあるスクリプトコードが入力されたとしても単なる文字列として扱うようにして無力化してしまうこと。

# mongooseでdb接続
connect成功と失敗でlogを出力させた。

“`
// Set up Default mongoose connection
var mongoDB = require(‘./.db_url’);
var DB_URL = mongoDB.LOCAL_DB;
// connect mongoDB
mongoose
.connect(DB_URL, {
useUnifiedTopology: true,
useNewUrlParser: true,
})
.then(() => console.log(‘DB Connected!’))
.catch(err => {
console.log(`DB Connection Error:${err.message}`);
});
“`

元記事を表示

【ヒーローズ・リーグ 駅すぱあと賞受賞】みんなの現在地から集合場所を決めてくれる機能、他。飲み会幹事おたすけ LINE BOT 「鯨飲くん」を作った

# はじめに
飲み会幹事の仕事って、なかなか大変ですよね。
みんな飲み会はやりたいけど、幹事はやりたくない。そんな幹事の負担を少しでも軽減してくれるサービスがあったら、もっと気軽に飲み会を開催できるようになって、みんなの繋がりをより広く、深くできるのではないか…
そんな思いを形にした LINE Bot「鯨飲くん」を作りました。

ProtoPedia はこちら。
>https://protopedia.net/node/1899

この作品はヒーローズ・リーグ 2019 のハッカソン予選で制作したものです。ありがたいことに、「駅すぱあと賞」を頂くことができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154885/d7067d29-5ff4-617b-35e2-4b8014c3db21.png)

2日間のハッカソンを通しての制作プロセスや、制作時にやってよかったこと、反省点などを後半でご紹介いたします。

# 作ったもの
LINE のグループチャットに参加させて利用する LI

元記事を表示

OTHERカテゴリの最新記事