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

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

Firebase Local Emulator SuiteのFirestoreに外部のスクリプトからアクセスしてモックデータを突っ込む

※[こちら](https://qiita.com/Kesin11/items/43bbc06524aa31c1fd2c#firestore_emulator_host%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)に非常に良い記事があります。まだ読んでおられない方は是非!

環境変数の`FIRESTORE_EMULATOR_HOST`に適切な値を設定することで外部のスクリプトからエミュレーターにアクセスできます。(他言語のSDKでも同様だそうです)

“`javascript
import { Firestore } from ‘@google-cloud/firestore’;

Object.assign(process.env, {
GCLOUD_PROJECT: ‘[プロジェクトID]’,
FIRESTORE_EMULATOR_HOST: ‘0.0.0.0:[Firestoreのポート番号]’
});

const firestore = new Firestore();

(async () => {
// admin権限が必要な操作

元記事を表示

SQL(データの追加、更新、削除)とNode.js基本

###○データの追加
“`js:qiita.js
insert into テーブル名 カラム名
values (カラム名)
“`
↑テーブルにレコードを挿入したいときはinsertを使う。

###○データの更新
“`js:qiita.js
update テーブル名
set カラム名=’新しい値’, カラム名=’新しい値’
where 条件
“`
↑テーブルのレコードを更新したいときはupdateを使う。
※whereで更新するレコードを指定しないとカラム内の全データが更新される。
※update実行後はデータを戻すことができない

###○データの削除
“`js:qiita.js
delete from テーブル名
where 条件
“`
↑テーブルからレコードを削除したいときはupdateを使う。
※whereで削除するレコードを指定しないとテーブル内の全レコードが削除されてしまう。

###○Node.jsとは?
・Node.jsは本来クライアント側の言語であるJavaScriptをサーバーサイドで動かすための仕組み。

###expressとは?
・Express

元記事を表示

Vuetfiy v-dialogのモーダル化が機能しない

# Vuetify v-dialogのモーダル化が機能しない

新規で作成もしくはソースコードの内容を大体把握してある個人の方・一人でプロジェクトを回している方には参考にならないかと思います。

Vuetifyの`v-dialog`にはオプションで色々指定できる
モーダル化させるために`persistent`を指定することでダイアログ外を押しても閉じないようにできる

それが機能しなかったので備忘録的にまとめる

Vuetify
https://vuetifyjs.com/ja/components/dialogs/

## 結論

`outside`というオプションが悪さしていました。
このオプションはダイアログ外を押した時に発火するイベントです。
そいつが諸悪の権化なので削除するなりよしなに修正することで回避しましょう。

こんなことで時間取られるの辛い…辛い…

ちなみに調べるとVuetify2.1以下だとバグで機能しないらしいですが、`orverlay`と合わせるとバグるみたいなので多分今回の場合は関係ないです。
https://github.com/vuetifyjs/vue

元記事を表示

Kubernetes基礎(3):Overview

#Kubernetes Overview
Kubernetes_overview.png
Kubernetes Cluster
サーバー1台はMasterとして使って、他の複数のサーバはNodeとしてMasterに接続します。
このような組み合わせで接続されているのをKubernetes Clusterと言います。
※Nodeは3つ以上を推薦しています。

Master
Clusterを管理します。

Node
リソースを提供します。
Cluster全体のリソースを増やしたい場合はNodeを追加します。
Nodeにはkubeletが存在し、Kubernetes Masterと通信(using kubernetes API)、Nodeを管理します。
(kubeletをagen

元記事を表示

webpack 4系でwebpack.config.jsの自動生成ができないときの解決方法

[株式会社ONE WEDGE](https://www.onewedge.co.jp)でエンジニアをしている @YoukeyMurakami です。

プロジェクト開始時、今までwebpack.config.jsは手でシコシコ書いていたんですけど、「自動生成出来るよ」って聞いたので試してみたときの備忘録になります。

## 環境

結果的にOKだった環境は次の通り

|name|version|
|:–|–:|
|node.js|13.8.0|
|webpack|4.43.0|
|webpack-cli|3.31.0|
|@webpack-cli/init|0.2.2|

## 失敗したケース
“`shell:
# 各種ツール類のインストール
$ yarn add -D webpack webpack-cli @webpack-cli/init

# webpack.config.jsの自動生成
$ webpack init
/Users/YoukyMurakami/project_hoge/node_modules/@webpack-cli/utils/npm-packag

元記事を表示

爆速構築!json-serverでMock API

# はじめに

フロントエンド開発のためにAPIのモックが必要になったので、**json-server**を利用してモックサーバを構築していきます。

# 基本的な環境構築

## 初期化

“`powershell:powershell
# プロジェクトディレクトリを作成し, 移動する
mkdir mock-api
cd ./mock-api

# 初期化処理
npm init -y
“`

## json-server

今回のメインとなる **json-server** を導入します。

“`powershell:powershell
npm i -D json-server
“`

## contents.json

エンドポイントとなる json ファイルを作成します。

“`powershell:powershell
mkdir api
new-item api/contents.json
“`

作成した **contents.json** を編集します。
ここで編集した内容がAPIのレスポンスとして返されるようになります。

“`json:conten

元記事を表示

Bitriseのステータスをモニターに表示して物理的に監視するツールの紹介

# 背景
– Bitriseのワークフローが成功/失敗したらSlackに通知する仕組みはよくある
– 物理的にモニターにステータスを表示するツールの紹介はあまり見ない
– 複数のCIサービスのステータスを1画面でみたい

# ツール
https://github.com/marcells/node-build-monitor
こんな感じで表示される
![node-build-monitor.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122255/cd16bdd4-74d0-c4ae-06db-62c409dcbc65.png)
https://builds.mspi.es/ にデモがあるので見てみてください。
表示形式の変更や、失敗したら音を鳴らすなどの設定も可能です。

# やってみる
GitHubのREADMEで詳細は記載されているので、ここではBitriseを使用したハッピーパスだけ紹介します。

– リポジトリを任意のディレクトリへClone
– https://github.com/mar

元記事を表示

耳年齢判定ボットを改良(LINEで音声ファイルを再生)

##概要

普段は耳鼻科の開業医をしています。
以前obnizeのスピーカーからモスキート音を出し加齢性難聴をチェックするLINE Botを作成しました。
[耳年齢を判定するLINE Bot×Iotの作成](https://qiita.com/doikatsuyuki/items/1101ff4ba54cb4b471c0)

今回、モスキート音をファイルに入れ、LINEで音声ファイルを再生できるようにしました。

##作成方法
**1.モスキート音を用意する**

こちらを利用しました
[Sine Tone Generator](https://www.audiocheck.net/audiofrequencysignalgenerator_sinetone.php)

『File Generator』の
『Hz』をモスキート音の周波数に設定、『duration』は3秒とし『DOWNROAD.WAV FILE』をクリックするとダウンロードできます。
各周波数分用意します。

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

元記事を表示

Windows上でSQL Serverを使用してNode.jsアプリを作成する

# はじめに

この記事では、Microsoft 社が公開している [Build an app using SQL Server][Build-an-app-using-SQLServer] の内容に従い、SQL Server を使用した Node.js アプリを作成します。

[第30回 SQL Server 2019 勉強会@JSSUG][JSSUG] (2020/5/16) のセッション資料です。

## 環境

– **OS**: Windows 10 Pro 10.0.19041 N/A ビルド 19041
– **SQL Server**: SQL Server 2019
– **Node.js**: v12.16.1

# 環境のセットアップ

## SQL Server のインストール

ウェブ上では、**ホスト OS に SQL Server 2017 Developer 以上をインストール** とあります。
[こちら][SQLServerDownload] のサイトより、SQL Server 2019 Developer インストーラーをダウンロードし、インストー

元記事を表示

Node.jsに変わるかも?と言われている、Deno 1.0がリリースされたので素振りしてみた。

Deno1.0がリリースされたことで、twitterで界隈で話題になっていたので、素振りしてみた。(メモ程度です)

詳細は公式サイトをご確認ください。
https://deno.land/

まずは、インストール

“`
brew install deno
“`

これで準備はOK!まずは、「Getting Started」をやってみた。

実行コマンド: deno run (ファイル名)

“`shell
deno run https://deno.land/std/examples/welcome.ts
// => Welcome to Deno ?
“`

http://localhost:8000/にアクセスすると、「Hello World」が表示される。

“`ts:hello_http.ts
import { serve } from “https://deno.land/std@0.50.0/http/server.ts”;
const s = serve({ port: 8000 });
console.log(“http://localhost:8000

元記事を表示

Node.jsでAPIから取得したJSON(ネストあり)を扱う

メディア芸術データベースのAPIを使用してJSONデータを取得したものの、Node.jsでネストありのJSONデータを扱う方法に少し手間取ったため備忘録。
Node.jsでAPIデータ取得→ネストありのJSONデータの扱いについての記事がなかったため残します。

## メディア芸術データベース
文化庁がマンガやアニメ、ゲームといったメディア作品の情報を保存し、ベータ版としてデータベースを公開している。

– 検索サイト

[https://mediaarts-db.bunka.go.jp/](https://mediaarts-db.bunka.go.jp/)

– データベースについて

[https://mediaarts-db.bunka.go.jp/about#anc02](https://mediaarts-db.bunka.go.jp/about#anc02)

## APIで取得したJSONの形式

“`json:saenai-heroine-no-sodatekata.json
{“hitnum”:1,
“record”:[{“fieldId”:”animation

元記事を表示

expo-cliのinstallでpermission deniedエラー

#前提
npm install expo-cli --globalでexpo-cliを使用できるようにインストールしようとした時のお話

mac

#本題
npm install expo-cli --globalで下記のようなpermission deniedのエラー発生。

“`terminal.
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @expo/ngrok-bin-freebsd-x64@2.2.8: wanted {“os”:”freebsd”,”arch”:”x64″} (current: {“os”:”darwin”,”arch”:”x64″})

npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permiss

元記事を表示

Win10 + node.js + SQL Server 2019 Express で Tedious StoredProcedure を少し試してみる

Win10 + node.js + SQL Server 2019 Express で Tedious StoredProcedure を少し試してみる
#目的
・[tedious/examples/storedProcedureWithParameters.js](https://github.com/tediousjs/tedious/blob/master/examples/storedProcedureWithParameters.js)
を参考に少し試してみる
対象はWin10 + node.js -> Ubuntu 18.04 + SQL Server 2019 Express

##対象テーブル
データの並びは以下に準拠
郵便番号データの説明
対象データにユニークキーになりそうなデータが無いので
8桁のテキストを追加する

“`sql
CREATE TABLE [dbo].[ZIPCODE](
[SEQ] [nchar](8) NOT

元記事を表示

Node.js のバージョン管理ツール nvm for Windowsを導入

# 導入背景
ローカル環境とデプロイ先の環境でNode.jsのバージョンに差異があり、その管理を行うため。

# nvm for Windowsをインストール
nvm-setup.zipをダウンロードし、インストール
[公式からダウンロード](https://github.com/coreybutler/nvm-windows/releases)
# nvm for Windows のコマンド
– インストール可能なバージョンリストを表示

“`
>nvm list available

| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|————–|————–|————–|————–|
| 14.2.0 | 12.16.3 | 0.12.18 | 0.11.16 |
| 14.1.0 | 12.16.2 | 0.12.17 | 0.11.15 |
|

元記事を表示

1分でDenoを触る

Deno v1.0が出たので、とりあえず触りたいという方向けに。

# 起動
[Docker化してくれてる方](https://hub.docker.com/r/hayd/deno)がいるのでさらっと起動します。

“`bash
docker run -it –entrypoint “bash” hayd/ubuntu-deno
“`

# サンプルを動かす
公式のサンプルを動かします。

“`bash
deno run https://deno.land/std/examples/welcome.ts
“`

“`bash:アウトプット
Download https://deno.land/std/examples/welcome.ts
Warning Implicitly using master branch https://deno.land/std/examples/welcome.ts
Compile https://deno.land/std/examples/welcome.ts
Welcome to Deno ?
“`

さらっとTypeScriptが走

元記事を表示

【Node.js】JavaScriptで組み合わせ,順列を列挙する (npmモジュールあり)

## JSで組み合わせと順列を列挙する標準メソッドはない

Rubyだと

“`Ruby:index.rb
array = [1,3,5];

#組み合わせ
p array.combination(2).to_a # => [[1, 3], [1, 5], [3, 5]]

#順列
p array.permutation(2).to_a # => [[1, 3], [1, 5], [3, 1], [3, 5], [5, 1], [5, 3]]

“`

こんな感じで簡単に組み合わせ、順列の列挙ができるのにJavaScriptだとこれがない。**Mathオブジェクトのメソッドにあってもいい気がするんだけど。。。**

とにかくこのままだとpaizaで組み合わせ、順列の問題が出てくるたびにrubyで一から書き直す羽目になるので、JavaScriptで順列と組み合わせを列挙するコードを考え、ついでにrubyのコードより分かりやすく記述できるnpmモジュールも作りました。

# コード
これから載せるのは実際にモジュールを作る際に書いたコードなのでしっかり動くはずです。

### 組み合わ

元記事を表示

Deno v1.0.0 がリリースされたということでマニュアルページを翻訳ッ?

Deno

[Deno v1.0.0 がリリースされた](https://deno.land/v1) ということで、Deno Manual のページを翻訳してみました。
Qiita に翻訳記事を掲載するのは適さないのかもしれませんが、日本では一番エンジニアにリーチしそうに思いましたので Qiita に投稿させて頂きました。

ベースにしたバージョンとコミットは以下のものになります。v1.0.0 のものではないですが、ご了承くださいmm

* version: v1.0.0-rc1
* commit: https://gith

元記事を表示

Azure画像認識系の機能をいくつか試してみた(Face API / Custom Vision API / Computer Vision API)

私自身初めてMicrosoftのAzureを使ってみました。
ここでは、Azureを使う為にやることと、Face API / Custom Vision API / Computer Vision API の使い方や応用サンプルをまとめます。

# 1.Microsoft Azureを使ってみる
初めて使う人のための手順を簡単にメモ。
## 1-1.outlook アドレスを取得する
持ってない場合は下記を参考にアドレスを取得する。
https://qiita.com/TomoyoH/items/fca3f49729d82d9884eb

## 1-2.Microsoft Learnページにサインインする
下記ページにサインインする。
https://docs.microsoft.com/ja-jp/learn/

## 1-3.Azureアカウントを作成する
下記ページを参考にAzureアカウントを作成する。
https://docs.microsoft.com/ja-jp/learn/modules/create-an-azure-account/3-exercise-creat

元記事を表示

electron-react-boilerplateのpackage.jsonを理解する

electronのボイラープレートの中でもシェアが高く使い勝手の良いelectron-react-boilerplate
https://github.com/electron-react-boilerplate/electron-react-boilerplate

typescriptビルド環境からreact/redux react-routerなどのライブラリ群も入っていて尚且つテストツールやpre-commitまで入って至れり尽くせり。
そのまま使えばリッチな環境で開発が行えるが故に、定義ファイル群を理解せずに使いがち
あれこれディレクトリ構成を変えてるうちに動かなくなった なんてことにならないように一つ一つ読んで理解していこうと思う。

この記事ではpackage.jsonに書かれている定義から読み解いていく。

# この記事で書かないこと
「electron-react-boilerplateの」package.jsonの機能的な部分だけに触れていくので以下のようなpackage.json自身のフィールドには触れない
repository, author contribu

元記事を表示

RaspberryPiで撮った写真をCustom Vision Serviceで画像判定してどの猫がいるかLINEに返す

### はじめに
[LINEBotからRaspberryPiで写真を撮ってLINEにおくる!](https://qiita.com/3yaka4/items/ddeaaa746976327f236e#%E6%84%9F%E6%83%B3)で作ったLINEBotにAI機能を追加してどの猫がいるか教えてくれるものを作りました。
### 概要
LINEBotからRaspberryPiを動かして写真を撮り、Gyazoに送って画像判定で何が映っているかと撮影した写真をLINEに送るものです。
ppt.png
### 画像判定
画像判定は[Microsoft Custom Vision Service](https://docs.microsoft.com/ja-jp/learn/modules/classify-images

元記事を表示

OTHERカテゴリの最新記事