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

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

オリジナルアイコンフォントを作成する

# 概要

Fontello や Font Awesomeなど様々なアイコンを提供しているサイトは多く存在するが、サイトデザインの時に用途にあったアイコンが見つからない場合がよくあります。

その場合、イラレなどで作成したデータからアイコンフォントを作成する方法を紹介します。

#アイコンフォンとは?

>アイコンフォントとは、簡単にいうと「アイコンを表現出来るWebフォント」です。
Webフォントとは、クラウド上にあげられたフォントデータを読み込むことでホームページに反映させる仕組みを指します。
CSS3からWebフォント機能が追加され、Webデザインの世界でも利用が進んできました。
アイコンフォントはWebフォント同様、CSS3を利用すれば比較的簡単に導入できます。

[ferretからの引用](https://ferret-plus.com/6248)

#制作物

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43894/33dfa5d1-d56b-cac7-4df2-bb6f0

元記事を表示

Heroku CLIの動きを観察する

Herokuは[CLI](https://devcenter.heroku.com/articles/heroku-cli)でもちゃんと利用できます。でも、CLIがうまく動かなかったり、同様の動作を、直接[Platform APIを叩いて](https://www.utakata.work/entry/2019/12/06/000000)、プログラムから実行したくなることもありますよね。そんな時は、CLIの動作を眺めてみるといろいろとヒントが得られるかもしれません。

この記事は[Heroku Advent Calendar 2019](https://qiita.com/advent-calendar/2019/heroku)の8日目の記事です。7日目はさえきさんによる「[見積から開発・運用まで!Herokuの基本とTips](https://qiita.com/yonyonsaeki/items/eb57278061c9930ca206)」でした。9日目は、すみません!同じ筆者の記事が連続しちゃいます。

この記事の内容は2019年12月時点のものです。Heroku CLIの内部構

元記事を表示

花粉症の重症度が分かるWEBアプリの作成~Auth0でユーザー認証~

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

今回Auth0を使ったユーザー認証を勉強したので、花粉症の重症度が分かるWEBアプリに実装してみました。

花粉症(アレルギー性鼻炎)の重症度はくしゃみ・鼻水・鼻づまりの程度で判定できるので、その診断アルゴリズムをプログラミングしています。

##実装
Googleアカウントを使ったユーザー認証機能。
ボタンを選択すると鼻アレルギーの重症度が分かるWEBアプリ。

##完成動画

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

※[Node.jsのasync/awaitとPromiseを超ざっくり_前編](https://qiita.com/masa_miyazaki/items/fb137d8b7d3aeb6967b1)の続きです。後でまとめるかも。
※arrow関数は使わないといったな、あれは嘘だ。

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

## 2.3.asycn/await
asycn/awaitとはPromiseのシンタックスシュガー。
(同じような内容のことをもっと簡単な書き方でできるよ、というもの。)

###async
Promiseの場合は

“`javascript
function hoge() {
r

元記事を表示

[Electron / TypeScript] ElectronでTypeScript

次Electronでなにか作る時はTypeScript使おっかなー。

# 本題
TypeScriptってのをあんまり触ったこと無いけど型が決められるとかなんとか。

# 参考にしました
https://github.com/electron/electron-quick-start-typescript

ここを真似してやる。

# package.jsonつくる

Node.js入れておいてね。
npm versionは6.4.1です。

適当にフォルダを作成し、ターミナルで以下のコードを。

“`terminal
npm init -y
“`

“`package.json“` が作成されていれば成功です。

# Electron入れる

ターミナルで

“`terminal
npm install –save electron
“`

# TypeScript入れる

ターミナルで

“`terminal
npm install -g typescript
“`

# package.jsonを書き換える

package.jsonを開いて、”scripts”

元記事を表示

初学者向けpackage.jsonハンズオン

これは [Node.js Advent Calendar 2019](https://qiita.com/advent-calendar/2019/nodejs) の8日目の記事です。

# 初学者向けpackage.jsonハンズオン

Node.js初学者向けにpackage.jsonハンズオンを実施しましたので、その時に作ったハンズオン資料を公開します。

npmコマンドやpackage.jsonに慣れることが目的のハンズオンの資料ですので、Node.jsとは何か?といった説明はしません。ご了承ください。

文章の手順通りに進めていけば、npmコマンドやpackage.json編集が体験できます!

# 事前準備
## Node.jsのインストール

事前にNode.jsのインストールをお願いします。(すでにNode.jsがインストール済の方は飛ばしてください。)

### Windowsの場合

Windowsの方は、こちらの記事をご参照ください。Chocolatey > Nodist > Node.jsの順番でインストールします。

[Windowsで、Choco

元記事を表示

[Memo]DockerでDjango+Nuxt.jsの開発環境構築

##はじめに
2つのDockerコンテナで構成される、Webアプリ(バックエンドにdjango、フロントエンドにNuxt.js)の開発環境をdocker-composeで構築した際のメモ書きです。

##手元の環境
– macOS Catalina v10.15.1
– Docker version 18.09.2, build 6247962
– docker-compose version 1.23.2, build 1110ad01

##ディレクトリ構成
“`
home
|- backend
| |- code (djangoプロジェクトのソースコードが入る)
| |- Dockerfile
| |- requirements.txt
|- frontend
| |- src (nuxtプロジェクトのソースコードが入る)
| |- Dockerfile
|- .gitignore
|- docker-compose.yml
|- README.md
“`

## Dockerコンテナを立てる
今回は、フロンエンドにnuxt、バックエンドにdjangoを採用して、2つのDoc

元記事を表示

Node.js + Express で ES6を使う

# 確認環境
node v10.17.0

# アプリケーションテンプレートの作成
ここでは`play_express`というアプリを作る前提で進めていきます。
※npxコマンドの使用には、`npm 5.2.0`以降がインストールされている必要があります。

“`
npx express-generator play_express
“`

次に依存関係をインストールします。

“`
cd play_express
npm i
“`

一旦、動作確認をします。アプリのカレントディレクトリで以下のコマンドを実行します。

“`
npm start
“`

このあと、webブラウザから`http://localhost:3000/`にアクセスすると、「Welcome to Express」画面が表示されます。
動作確認を終了するには、`npm start`実行中のコンソール上で、**Cmd(Ctrl)+c** を押下します。

# Babelのインストール
ES6を使うため、babelをインストールします。

“`
npm i @babel/core @babel/node

元記事を表示

ソフトウェア初心者がtoio.jsで作ってみた 5つの作例紹介

これは「toio™(ロボットトイ | toio(トイオ)) Advent Calendar 2019」の8日目の記事になります。

# はじめに
はじめまして。ヒラノユウヤです。
普段はハードウェアエンジニア(電気)として暮らしています。
この記事では、ソフトウェア初心者の私がtoio.jsを使って作ってみたtoio作品を紹介したいと思います。

## ソフトウェアスキル
– C言語
– 学校の授業では真面目に取り組んでいました
– 社会人になってからも、Arduinoを使いこなすくらいには使っていた感じ

以上。なんとも貧弱で泣けてきます。
なんですが、toio core cubeを使ったプログラミングがどうしてもやりたくて。
toio.jsの環境を友人に手伝って構築してもらったところからスタートしました。
始めてみると、サンプルコードもあるので、苦労はしながらも意外といろんなものができました。

## 参考にしたもの
1にも2にも、公式情報が命でした。
用意されているtoio.jsの使い方はtoio.jsのページで。
buzzerの音階やtoio IDの情報など、t

元記事を表示

Node.jsでTwitterを自動化する

https://adventar.org/calendars/4650
OUCC(大阪大学コンピュータクラブ)のアドベントカレンダー12日目です。

Node.jsのtwitterモジュールでtwitterAPIを叩きました。
モジュールの更新が2017年で止まっており、一部機能が使えなくなっています。
先駆者の皆さんの記事のコードが動かないこともありました。

# ツイートする
twitter APIを取得して、API key, API secret key, Access token, Access token secretを取得しました。これに関しても参照ページからほかの方の記事をご覧ください。

送信できる環境が整ったので、ひとまずtwitterモジュールからツイートしてみました。

“`
//モジュールの読み込み
const twitter = require(‘twitter’);

//ツイート内容
const text = ‘test’

//上からAPI key, API secret key, Access token, Access token secret
c

元記事を表示

スクレイピング & サーバレスAPIでNode.jsの雰囲気を体験してみる

みなさん、今年ももう終わりです。1年早いですね。
今回はチュートリアル形式でNode.jsとサーバレスを体験していただきたいなと思っています。
初心者の方にもとっつきやすく、目に見えるフィードバックがあるのでモチベーションも続きやすいと思います。

### 対象の読者
– 面倒なので5分で試したい (大事)
– プログラミングやったことあるけど、もっと踏み込んだものを作りたい
– そもそもJavaScript触ったことない
– JavaScriptを触ったことがあるけどそこまで深く知らない
– asyncとawaitってなに?
– API作ってみたい
– 無料がいい
– サーバレスって聞いたことあるけど触ったことない or メリットがわからない

## 使うもの
APIが動作環境 -> Zeit NOW
スクレイピング -> Puppeteer

## なんでこの構成にしたか
– 僕がPython触ったことがなく、Selenium触るのがちょっとめんどうだった。(JSはある程度触れる)
– スクレイピングは、割とオンデマンドな面があると思っていて、要求があった時に対象のWebサイトの情

元記事を表示

前々回の記事で作成したオウム返しチャットボットにQ&Aエンジンを実装する

#前々回の記事で作成したオウム返しチャットボットにQ&Aエンジンを実装する

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

###Q&Aナレッジを格納するベースファイルを作成します

テストの為に気象庁のQ&Aを元にQ&Aエクセルを作成します
QANDA.xlsxというファイル名で保存します

出典:https://www.jma.go.jp/jma/kishou/know/faq/faq10.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524081/463e3d05-4e25-144f-92f7-fb0b8ffc4bc1.png)

 

 
 
knowledgeBaseというフォルダを作成し、QANDA.xlsxを配置します
![image.png](https://qiita-image-stor

元記事を表示

VurePress プラグイン開発に挑戦 (ローカル編)

> この記事は、 [North Detail Advent Calendar 2019](https://qiita.com/advent-calendar/2019/northdetail) の8日目の記事です。

## 前置き

昨年に [VuePress](https://v1.vuepress.vuejs.org/) を知ってから、ちょっとしたドキュメントをまとめたサイトを作るのによく使っています。

Markdown でファイルをちゃちゃっと書けば、すぐに良い感じのサイトに仕立て上げられるので、すごく便利ですね。

ただ、コンテンツ全体を出すのにサイドバーにメニューを作っていかなきゃいけないんですが、それって結構面倒だなぁ、と思うんですよ。

「じゃぁ、プラグイン作っちゃえばよくね?」
と、思ったので挑戦してみました。

今回は NPM のパッケージではなく、ローカルに配置するパターンです。
また、作成した Markdown ファイルをアルファベット順に表示するだけ、です。
(これだけでも、シンプルなサイトなら十分楽になるので。)

## 準備

まず、 VuePress の

元記事を表示

IBM Cloud App ID Node.js Webクイックスタート

#はじめに
IBM Cloud App IDは、ユーザー認証を手軽に組み込めるサービスです。
AWSでいうとCognitoに相当するサービスです。

今回は、IBM Cloudのドキュメントで公開されている[Node.js Webクイックスタート](https://cloud.ibm.com/docs/appid?topic=appid-web-node&locale=ja)を補足&若干の変更を加えてながらやってみたいと思います。

なお、本記事で紹介するソースコードは、[ここ](https://github.com/yo24/APPID-Quitck-Start)からダウンロード可能です

#環境

ローカルPC上のNode.js(v10.6.3)を利用します。
Node.js自体のセットアップ手順は割愛します。

#クイックスタートでやること

クイックスタートでは、OAuth 2.0 [認可コードフロー](https://openid-foundation-japan.github.io/rfc6749.ja.html#grant-code)を用いた認証するアプリケーションを作成

元記事を表示

NestJS アプリケーションをプロダクションレディにする

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

## はじめに

サンプルコードのリポジトリは以下になります。

https://github.com/nestjs-jp/advent-calendar-2019/tree/master/day6-prepare-for-production-usage

なお、環境は執筆時点での Node.js の LTS である v12.13.1 を前提とします。

## cli で雛形アプリケーションを作成

この記事では `@nestjs/cli` で生成される雛形に対して、プロダクションで実行するための設定を加えてゆきます。

“`bash
$ nest new day6-prepare-for-production-usage
“`

## config を作る

公式ドキュメントの [Configuration](https://docs.nestjs.com/techniques/configuration) の

元記事を表示

ローカルでデバッグ&テスト可能な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

元記事を表示

OTHERカテゴリの最新記事