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

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

ローカルでデバッグ&テスト可能なLINEチャットボット開発環境(Node.js Express LINESimulator )を作成する

#ローカルでデバッグ&テスト可能なLINEチャットボット開発環境(Node.js Express LINESimulator )を作成する

 
※本記事は最終的にQ&Aチャットボットを構築するための一部分となります。
[本編はこちら](https://qiita.com/abemaki/items/8c611cc63ec109ab3835)

※前段の記事で作成したオウム返しチャットボットベースとなります。
[まだ未作成の方はこちら](https://qiita.com/abemaki/items/44d2015561c31ea9628e)

###DEBUG環境を作成する

####1.DEBUG環境を作成します

構成の追加からlaunch.jsonを生成します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524081/060d9888-c146-2b7a-ea9f-d90c8764bb14.png)

DEBUG用の設定情報を追加します。DEBUG時はシュミレータ

元記事を表示

Heroku + LINE + node.js (Express.js)でオウム返しボットを作成する

#Heroku + LINE + node.js (Express.js)でオウム返しボットを作成する

 
※本記事は最終的にQ&Aチャットボットを構築するための一部分となります。
[本編はこちら](https://qiita.com/abemaki/items/8c611cc63ec109ab3835)

##何故、オウム返しなのか?

オウム返しはチャットボット構築の基礎中の基礎になります。
オウム返しすることで以下の3点が確認・理解できます。

①単純な疎通確認
 ・今回だと、スマホ ←→ LINE ←→ メッセージングAPI ←→ Herokuで稼働するアプリまでの疎通確認になります

②単純な動作確認
 ・LINEで発話した内容を正常に受信できることの確認
 ・アプリケーションから発話した内容がLINEで正常に受信できることの確認

③疎通に必要な手順の理解、メッセージのやりとりに必要な手順の理解

はじめて使う技術でWebアプリケーション作成するときに最初にやるhello worldと同じですね。
単純なことですがこれらを最初にやるかやらないかでは技術の習得レベル

元記事を表示

Node.jsでBASIC認証.

# Node.jsでBASIC認証

Node.jsでexpressを使ったWebサーバでBASIC認証を導入する場合の実装方法について紹介します.
本記事上では,パスワードを暗号化・ハッシュ化せずにソースコード上に記載しております.セキュリティ上望ましくない点にご注意ください.

# BASIC認証の導入
expressでBASIC認証を導入するには[express-basic-auth](https://www.npmjs.com/package/express-basic-auth)を使用します.下記がそのサンプルコードです.

“`javascript
const express = require(“express”)
const basicAuth = require(“express-basic-auth”)

// 正解のユーザ名とパスワード
const correctUserName = “hiroyky”
cosnt correctPassword = “password”

const app = express();
app.use(basicAuth({

元記事を表示

Expressコマンドがありません(Windows)

# 一週間悩んだ・・・
“`bash
bash: express: command not found
“`

#ググり、そして出版会社にもメールを投げた
パスが通ってないっていうのがかなり記事としてあがっていたが、どうも違う。
出版会社に問い合わせたらnpm install -g express-generator をsudoで実行するというのもあったが、
そもそもsudoの時点でコマンドがありません。お手上げ。

#もしかしてnode.jsのバージョンが古いのでは?
一旦アンインストールし、最新版をインストールしてからnpm install -g express-generator

#そして・・・expressコマンド実行

“`bash
$ express -e ex-gen-app
“`

#コマンドが通った!

“`
$ express -e ex-gen-app

warning: option `–ejs’ has been renamed to `–view=ejs’

create : ex-gen-app\
create : ex-g

元記事を表示

コマンドラインからスマートLEDランプ(TP-Link KL110/KL130)をつける

TP-Link社のWifiスマートLEDランプ KL110/KL130 を使って、同一ネットワーク内にあるmacbookからランプをコマンドライン制御します。

color-temp

このランプの良いところは、電灯のON/OFFだけでなく色温度や輝度を調節できる点です。
例えば

– 暖色系の色で輝度を落として落ち着いた雰囲気で集中作業する
– 手元でモノを探すときに輝度を上げる
– 物理本を読むときに色温度を変える(Kindleの背景の白とセピアくらい紙の色味が変わる)

といったことが手元でできるのが良いです。

特に色温度を変えるとだいぶ色味が変わります。
↓実際にランプの色温度最低値と最高値で見比べた写真:2500K<--->9000K
color-temp</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Node.js</div>
<div class='tag-cloud-link'>IoT</div>
<div class='tag-cloud-link'>TP-LINK</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/ksksue@github/items/c3444b2e0dc1ec22fad5'>元記事を表示</a></div>
<h3 id=【Node.js】zxcvbnを使ってパスワード強度をチェックする

「パスワード強度チェックするようなライブラリって何かあるのかな?」
と興味本位で調べてみたら`zxcvbn`というものが見つかったので、ご紹介。

# zxcvbnとは

Dropbox社製のパスワード強度チェッカーです。
Node.js以外にも色々な言語に対応したライブラリが作られています。

[dropbox/zxcvbn: Low\-Budget Password Strength Estimation](https://github.com/dropbox/zxcvbn)

# 準備

“`bash
$ npm i zxcvbn
“`

# 基本的な使い方

とりあえず`hogehoge`という文字列に対してパスワード強度をチェックしてみましょう。

“`javascript
const zxcvbn = require(‘zxcvbn’);

const result = zxcvbn(‘hogehoge’);
console.log(result);
“`

基本的な使い方はとても簡単ですね。
第2引数に入力を渡して更に細かい設定をすることも可能なようですが、今回は

元記事を表示

React で eject せずに Scoped SASS (.scss) を使う

## 概要
– scoped sass (ファイル内限定で適用されるスタイル) を使いたいでござる
– でも`npm run eject`はしたくないでござる
– `cra-sass` を導入するとかんたんにできるでござる

## 参考文献
– [How to use Sass and CSS Modules with create-react-app](https://blog.bitsrc.io/how-to-use-sass-and-css-modules-with-create-react-app-83fa8b805e5e)
– [leighs-hammer/cra-sass](https://github.com/leighs-hammer/cra-sass)

## 実行環境
– `create-react-app` で作った react project
– 既存プロジェクトなのでversionわからん すまん
– TypeScript

## サンプルコード (変更前)
`node-sass` を入れてふつーにscssを使うとこうなる。

### Sample.t

元記事を表示

はじめてのGitHubActionsMarketplace公開 – PRにマイルストーンをつけるActionをつくってみた

Actions使ってなにかするworkflowをつくるんじゃなくてAction自体をつくる話。

なにか簡単にGitHubActionsをつくってみたいと思い、GitHub公式の[actions/labeler](https://github.com/actions/labeler)を参考にPRにラベルじゃなくてマイルストーンをつけるActionをつくろうと考えた。
[Marketplace](https://github.com/marketplace?utf8=%E2%9C%93&type=actions&query=milestone)で検索した結果、labelの方はちょいちょいあったがmilestoneの方はそんなにはまだなかった。マイルストーンの作成や更新がしたいのではなくてPRに既存のマイルストーンを結びつけたいってなると1,2件ぐらいしか無さそう。それらもこちらのやりたいこととは違った。
最終的につくったのは[iyu/actions-milestone](https://github.com/marketplace/actions/pull-request-milesto

元記事を表示

堅牢な node.js プロジェクトのアーキテクチャとは?

![](https://softwareontheroad.com/static/67573153921d5784565f0e1c070258a4/a8422/node-project-structure.jpg)

>こちらの記事は、[Sam Quinn](https://softwareontheroad.com/author/santypk-4/) 氏により2019年 4月に公開された『 [Bulletproof node.js project architecture ](https://softwareontheroad.com/ideal-nodejs-project-structure/) 』の和訳です。
本記事は原著者から許可を得た上で記事を公開しています。

[GitHub repository](https://github.com/santiq/bulletproof-nodejs)での実装例: 2019/04/21 アップデート

# 始めに

Express.jsは、node.js のREST APIを作成するための優れたフレームワークですが、node.jsプ

元記事を表示

Firebaseをなるべく安い料金で頑張りたい人へ

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

どうも!ハムカツおじさんという名前でtwitterやってます([@hmktsu](https://twitter.com/hmktsu))?
自分でだったり弊社でだったりなどFirebaseを使ってサービスを作っています。

ちなみに先日Firebase Meetup #15 Cloud Functions Dayにて下記のスライドを発表させていただいたので、興味ある人はご覧になってください!
[Firebaseオンリー + React Nativeでアプリを作ると果たして簡単になるのか?](https://speakerdeck.com/watanabeyu/firebaseonri-plus-react-nativedeapuriwozuo-rutoguo-tasitejian-dan-ninarufalseka)

## はじめに
色んなツールを作るのにFirebaseを使うととても便利だなぁという感想を持って

元記事を表示

node.jsを触るために簡単なチャットシステムを作る(メッセージ送信編)

Node.js を触ってみたいと思ったので、備忘録も兼ねて以下に記します。
よりよい方法やバグ等ございましたら、アドバイスいただけると光栄です。

今回は「メッセージ送信編」ということで、クライアントからサーバーへのメッセージの送信の処理を作成します。

※前回 [node.jsを触るために簡単なチャットシステムを作る(サーバー接続編)](https://qiita.com/sunnyG/items/2e7b9d89acfc2b0938e4) という表題で、サーバー接続の処理を作成していますので、まだな方はこちらを参照ください。

# クライアントからサーバーへメッセージを送信する

## メッセージ入力フォームを作成

`/public/index.html` に、以下のメッセージ入力フォームを追加します。

“`html:index.html


元記事を表示

Unityの.alfファイルから自動で.ulfをダウンロードしたい!

# CIのActivateとかでライセンスを自動でActivateさせたい!

CIでUnityを扱う時はJenkinsとかであれば問題ないのですが、CircleCIやGitHub Actionsを使用するときにDockerでのライセンス認証では.ulfファイルというのが必要になってきます。

現在.ulfファイルをコマンドラインから生成することはできません。生成するにはブラウザ経由の一択です。
それを今回Puppeteerというnode.jsのツールを使って自動化してみました。

※今回の認証フローはPersonalEdition固定になります。

Puppetterとは、Webブラウザでの操作をソースコードから行えるものになります。
詳しくはこちら
[Puppeteer](https://developers.google.com/web/tools/puppeteer)

今回のリポジトリはこちら
[MizoTake/unity-license-activate](https://github.com/MizoTake/unity-license-activate)

## 実装

元記事を表示

Custom Vision Service を使用してインテリアの樹種分析

##CustomVisionService を 簡単なサイトを作って使えるようにしたい

今週はMicrosoftAzureから画像認識を試したのでそちらの成果を簡単に使えるサイトを作ろうと
思いました。内容はせっかくなので本業にちなんでインテリアの画像から樹種を解析してくれるものを目指しました。
内装を考える時にテーマとなる樹種を一つ決めて組み合わせていくと空間にまとまりが出るので、
自分が良いなと思う家具や内装がどの樹種なのかを調べられると買う家具や似合う色が決まってきて
インテリアを構築する時の参考になると良いなと思いました。

##環境
Node.js v10.16.3
Windows 10 pro
Visual Studio Code v1.39.1

##概要

①MicrosoftAzureでアカウントを作成
②Microsoft Custom Vision Service を使用して画像解析のプロジェクトを作成、トレーニング
③作成したプロジェクトをAPIとして使用する
④APIを取得する為のコードを書く

##参考資料

主に①~②の参考にいつもどおり先陣

元記事を表示

How to build a Twitter bot with NodeJs

Building a Twitter bot using their [API](https://codesource.io/how-to-consume-restful-apis-with-axios/) is one of the fundamental applications of the Twitter API. To build a Twitter bot with Nodejs, you’ll need to take these steps below before proceeding:

Create a new account for the bot.
Apply for API access at developer.twitter.com
Ensure you have NodeJS and NPM installed on your machine.
We’ll be building a Twitter bot with Nodejs to track a specific hashtag then like and retweet every pos

元記事を表示

discord.jsでDiscord Botを作ってみた

# 概要
discord.jsでbotを作ったので、それを書き留めときます。
インストールは、Ubuntu mateを想定したものを紹介致します。
他のOSを使っている方に関しては、調べてください

# Node.js&npmのインストール方法
コマンドラインを開き下のコマンドを実行します。

“`
sudo apt install -y nodejs npm
“`

# discord.jsのインストール方法
こちらもコマンドラインを開き下のコマンドを実行します。

“`
sudo npm i discord.js
“`

# 実際に書いていく
まずは、discord.jsを読み込むコードを書きます。

“`javascript:index.js
const discord = require(“discord.js”);
const client = new discord.Client;
“`

簡単な返事機能のコードを書きます。

“`javascript:index.js
//続き
client.on(“message”, message =>{
if (

元記事を表示

Node.jsのasync/awaitとPromiseを超ざっくり_前編

現在関わっているプロジェクトでNode.jsを使って開発しています。
その過程でハマったこと、今回はasync/await・Promiseについての記事になります。

といってもNode.jsを使ったことのない人もいると思うので簡単にNodeの非同期処理について紹介してから、ハマったポイントについて書きたいと思います。
※すみません、未完成なのでタイトル詐欺になってしまっています。
※100番煎じなので非同期の書き方に関してはあんまり詳しく書きません。
※arrow関数使ってません。説明省くので。
※間違いあれば教えていただければと思います。

## 目次
1. Node.jsの非同期処理について
2. 非同期処理の書き方
2.1 コールバック(callback)関数
2.2 Promise   ←この記事はココまで!
~~2.3 asycn/await~~
~~3. Promiseとasycn/awaitが一緒だと思ったらハマった件~~
4. 参考

Nodeを使ったことがあって1~2についてわかって

元記事を表示

【待望リリース!】もう Lambda×RDS は怖くない!LambdaでRDSプロキシを徹底的に検証してみた 〜全てがサーバレスになる〜

本日の reinvent でのリリースで衝撃のアップデートがたくさん出ましたね。EKS on Fargate や SageMaker の大幅アップデートも魅力的ですが Lambda の常識をくつがえす RDS のプロキシ機能が登場しました ?

OTHERカテゴリの最新記事