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

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

Mac Nodebrewを用いてNode.jsをインストールした時にバージョン有効化時にエラーが出た話

# 目的

– インストール後のバージョン有効化時にエラーが出た話を簡易的にまとめる

# 事前作業

– 下記の方法と同様の作業を行った。
– [Mac HomebrewでNode.jsをインストールする](https://qiita.com/miriwo/items/73d1546220f1c091a7d5)

# エラー内容

– 最新の安定版をインストール後に下記コマンドを実行したところエラーが発生した。

“`terminal
$ nodebrew use vX.X.X
“`
– エラー

“`
vX.X.X is not installed
“`

# 解決方法

`$ nodebrew –version`の出力の中の「# install」に記載されている`$ nodebrew install vX.X.X`を再度実行した。

再度`$ nodebrew use vX.X.X`を実行したところ正常にバージョンを有効化することに成功した。

元記事を表示

Firestore.Timestamp に触れたくないあなたのための黒魔術

# Firestore.Timestamp って、いらなくね?

ちゃんと使いこなせばメリットもあるんだろうなぁと思いつつ・・・
少なくとも小規模なプロジェクトでは、Timestamp型が存在するせいで

– Firestore から読んだ、時刻フィールドを toDate() で Date型にもどす
– Document の interface と、 REST をまたぐ interface を分ける

みたいな対応が必要になるわけです。いちいちめんどいんすこれ。
Date 型で十分な状況もあるんです。

## 問題の例
“`ts
interface User {
name: string;
updatedAt: Date;
}

const write: User = {
name: “taro”,
updatedAt: Date.now(),
};
await firestore
.collection(“users”)
.doc(write.name)
.set(write);

const read: User =
await firestor

元記事を表示

Node.js + ibm_db + Db2 で、ODBCパラメータを設定する

Node.jsのアプリケーションを実行にあたって、ODBCパラメータを設定することができます。
ODBCパラメータはdb2dsdriver.cfgファイルに設定します。

## db2dsdriver.cfg ファイルの作成
Db2 9.7 FP3 以降、db2dsdriver.cfg 構成ファイルはDb2には同梱されない代わりにサンプルファイルが同梱されるらしいです。(db2dsdriver.cfg.sample ※)
 (※)Docker版Db2には、サンプルファイルも入っていないかも?

“`






Firebase FunctionsのエミュレーターでもGoogle API用のアクセストークンを得る方法

Firebase、いつの間にかとても練れた内容になってきてました。
というわけでバリバリ使っておりますが、たまにドハマリし、かつ英語で検索してすら情報ほぼゼロ、ということがあります。
そんな中の「え、これでいいの?」をご紹介します。
今回の内容はタイトルそのまんま、です。

# 概要

* Firebase Cloud Functions内で、Google API用のアクセストークンを得たい
* クライアントサイドでFirebase使いまくりのSPAがあり、そのSPA内からGoogle APIサービスを叩きたい
* が、SPA内にAPIキーを埋め込みたくない
* ので、アクセストークンをFunctions内で得、それをSPAに渡したい
* 超素朴実装をすると、デプロイした実クラウド上ではちゃんと動作するが、ローカルPC上で動作させたエミュレーター上では動作しない
* ものすごく簡単な解決方法があるが、あまりネット上には出ていない模様

# レギュレーション

* Firebaseプロジェクト作成済み
* 管理者認証情報作成済み&配置済み&環境変数で指定済

元記事を表示

Node.jsでBルートから消費電力を取得する

# 必要なもの
* BルートのIDとパスワード
* Wi-SUNの通信デバイス
* プログラムを実行するPCなど

## BルートのIDとパスワード
契約している電力会社に申請します。
僕の場合は東電エリアなので以下のURLから申請を行いました。

2週間ほどで書面にいてBルートに接続するためのIDが送られてきます。
パスワードはメールにて送付されますので、IDと併せて大切に保管しましょう。

## Wi-SUNの通信デバイス
僕はテセラテクノロジーのRL7023(8,000円 [税抜])を購入しました。
USBタイプのものは他にもいくつか製品がありますが1万円を超えるものばかりなので、この製品が最も安価だと思います。

https://www.tessera.co.jp/rl7023stick-d_ips.html

## プログラムを実行するPCなど
通信デバイスがUSBドングルタイプなのでPCでもMacでも何でも良いですが、僕は手元にRaspberry Pi 3Bが余っていたのでこれを使いました。

OSはRaspbianです。
Node.jsを入れたり、npmでモジュール追加し

元記事を表示

Linux環境におけるNode.jsのためのyarn導入から利用

#はじめに
投稿者の備忘録としての活用が主です。
Webの作成において役に立つNode.jsのパッケージマネージャーとして
yarnを導入しました。([Node.jsの導入はこちらから][nodejs])
(Pythonでいうところのpip的な感じ)
yarnを使って様々なライブラリなどを自分のプログラミングに活用していけます。

#環境
`wsl(Windows Subsystem for Linux)`にインストールします。

“`
Editor: VSCode
Shell: bash version 4.4.20
Ubuntu: 18.04.4 LTS
node: v10.14.2
“`

#目次
1. **yarnの導入**[ >>](#1yarnの導入)
2. **yarnについて**[ >>](#2yarnについて)
3. **npmパッケージ作成**[ >>](#3npmパッケージの作成)
4. **作成したパッケージの利用**[ >>](#4作成したパッケージの利用)

#1.yarnの導入
`wsl`のコンソールを開き、

“`bash:wsl
$ curl

元記事を表示

Linux環境におけるNode.jsの導入から利用

#はじめに
投稿者の備忘録としての活用が主です。
Webの作成において役に立つNode.jsを導入します。

#環境
`wsl(Windows Subsystem for Linux)`にインストールします。

“`
Editor: VSCode
Shell: bash version 4.4.20
Ubuntu: 18.04.4 LTS
“`
#目次
1. nvmの導入[ >>](#1nvmの導入)
2. Node.jsの導入[ >>](#2nodejsの導入)
3. REPLを使ってみる[ >>](#3replを使ってみる)
4. ファイルを実行してみる[ >>](4ファイルを実行してみる)

#1.nvmの導入
Node.jsのバージョンを管理するためにまず`nvm`を導入します。
現在利用しているNode.jsのバージョンの把握
別バージョンへの切り替えなどを行えます。

“`bash:wsl
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
“`

元記事を表示

セマンティックバージョニングを正規表現で評価する

###公式リンク↓↓
[セマンティックバージョニング2.0.0](https://semver.org/)(最後の方に載ってます)

###見るのが面倒な人向け↓↓

“`javascript
const regex = new RegExp(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/);
if(regex.test(hogehoge)){
console.log(“OK”)
}
“`

元記事を表示

Box APIを使い始める。JWT認証でBOXにつないでみる。

## はじめに

Box APIの使いかたについて、簡単に導入方法を紹介します。

## Box APIを利用するための前提

前提として、BOXテナントの管理者権限を持っていることを前提としています。
この記事ではBox Node SDKを利用しますが、基本の考え方は他のSDKを利用する場合、またはSDKを使わずに、REST APIを直接実行する場合でも共通しています。

## リソース

参考にしたリソースはこちら。

Box DEV
https://developer.box.com/
API、各種SDK等、開発に関して様々な情報がまとまっています。

Box Support
https://support.box.com/hc/en-us
Boxの標準環境での使いかたなどがのっています。

どちらも、英語版の他、日本語版が用意されています。

## BOX側でのアプリの作成(開発の事前準備)

#### Box側でアプリ作成

1. Box DEVを開いて、マイアプリをクリックします。
https://ja.developer.box.com/
まだBoxにログインし

元記事を表示

AWS Lambda関数でNode.js レイヤーを作る

#対象者
AWSでLamdbaを使っている人/どんなことができるのか調べている人
LINEBotをサーバーレスで作りたい人
Lambdaのレイヤーという機能を知らない人/興味ある人
#下準備
とりあえずデスクトップに移動
`$ cd Desktop`
ディレクトリ作る
`$ mkdir nodejs`
nodejsディレクトリに移動
`$ cd nodejs`
初期化
`$ npm init -y `
レイヤーにしたいパッケージをインストール
`$ npm i xxxxx`
ex)LINEBotのSDKをインストールする場合
`$ npm i @line/bot-sdk`
nodejsディレクトリ自体をzipファイルに圧縮して下準備完了

#AWSコンソール
ログイン→Lambda→レイヤー→レイヤーの作成
スクリーンショット 2020-04-21 16.53.40.png初心者がNightwatchの導入からチュートリアル終了までやってみる

#はじめに
この記事はほぼ全て[nightwatchjs.org](https://nightwatchjs.org/)の内容そのままです。
余力があるならそちらをご覧になってもよいかと思います。
想定する読者は、(自分のように)初めてプログラミングするという方です。

#Nightwatchとは?
>Nightwatch.js is an automated end-to-end testing framework for web applications and websites.

Nightwatch.jsは、WebアプリケーションおよびWebサイト用の自動化されたエンドツーエンドのテストフレームワークです。
要は、ブラウザを実際に動かして自動テスト(操作)してくれるって事のようです。
エンドツーエンド(E2E)については[この記事](https://qiita.com/NAKKA-K/items/58d6b8476a3717179bda)が分かりやすかったです。

#Node.jsのインストール
1. [nodejs.org](https://nodejs.org/en/d

元記事を表示

-bash: npm: command not found の普通じゃない対処法

# 環境
Mac OS X ver10.14.5

# 経緯
nodebrew でインストールしたあと、パスを通して、一通り `npm -v` や `node -v`でバージョン確認できていました。
PCを再起動が原因と思われるが、`-bash: npm: command not found`が出るようになってしまった。
パスの設定を見直して、ターミナルの再起動、Macの再起動を図るも改善せず。
ただ、`nodebrew -v`は認識する。。。なぜ???

調査する過程で、インストールの参考サイトを見ているときに、別な確度に気づいたので共有します。

# nodebrew インストール参考サイト
https://qiita.com/mame_daifuku/items/373daf5f49ee585ea498

# 解決方法
結論から書くと、パスの指定方法を変更しました。
`~/.bash_profile`に以下を追記。

“`terminal:mac
export PATH=/usr/local/var/nodebrew/current/bin:$PATH
“`

通常、どの参考

元記事を表示

Nest.jsでWebサービスを呼び出す方法

Nest.jsでWebサービスを呼び出す方法のメモです。このサンプルプログラムは[GitHub](https://github.com/YoheiFukuhara/node-call-rest)に置いています。

# 環境

|種類|バージョン|備考|
|:-:|:-:|:-:|
|OS|Ubuntu18.04.01 LTS|仮想で動かしています|
|nvm|0.35.3|もっと良さそうなのもあるかもしれないですが、特にこだわりなく使っています|
|Node.js|12.16.2|2020/4時点最新のLTSを使っています|
|npm|6.14.4|2020/4時点最新|
|nest cli|7.1.2|2020/4時点最新|
|NEST|7.0.0|2020/4時点最新|

“`bash
$ nest info

_ _ _ ___ _____ _____ _ _____
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |

元記事を表示

puppeteer で ChromeのSpeechRecognitionAPI を使用する

# はじめに

みなさんこちらの記事は読んでいただけたでしょうか?
[.NET Frameworkで音声認識をしてzoomのビデオ画面に字幕を出す](https://qiita.com/yoh1496/items/0ebf0bac208898b19172)

![サンプル](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328319/f690609f-71cc-6e92-d4d7-67dce7555287.png)

Zoomの自分の動画スペースに字幕を表示する方法なんですが、
先日とあるオンラインMeetUpイベントで使用してみたところ、
Webカメラに字幕を重ねて表示して配信することができました!!!実用的!

## 何言ってるかわからない問題

前回の記事にも載せましたが、.NET Frameworkの音声認識は
精度が良いとは言えたものではなく、とてもガバガバな認識結果を返してきます。

すると「え、それは何を表示してるの?」と、しゃべっている内容と表示文字列が
リンクしていると認識されない現象が発

元記事を表示

Fetch APIにタイムアウトをつける

#Overview

Fetch APIを当たり前に使うわけですが、これタイムアウトって何秒なんだろう?という疑問からタイムアウトを実装することにしました。
タイムアウトがないとユーザーがブラウザ上でいつまでも応答を受け取れなかったり、クラウド上だとタイムアウトまで終了せずにコストが増大します:scream:
そんなことにならないよう、調査した結果を載せておきます。

#Target reader

– Fetch APIでタイムアウトや中断の方法を知りたい方。

#Prerequisite

– ブラウザはIEを除いた主要ブラウザとする。(IEだとFetch APIがないからpolyfill…)
– Node.jsのバージョンはV10系とする。

#Body

## ブラウザ編

MDNでFetch APIのタイムアウトのオプションを探してみるが見つからない。
そんな中、取得の中止というものが見つかる。
https://developer.mozilla.org/ja/docs/Web/API/Fetch_API#Concepts_and_usage

>取得の中止
ブラウザ

元記事を表示

ExpressでTwitter APIを試す

# はじめに
後輩がTwitterAPIの話してたら気になったので、叩いてみることにした。

# [Twitter Developer](https://developer.twitter.com/)

## 概要
– Twitterアカウントがあれば自分用のAPIアクセスポイントを作って、TwitterAPIを叩ける

## 準備
## Twitterアカウント
### [アカウント作成](https://twitter.com/i/flow/signup)
※アカウント保有者は飛ばす

### TwitterAPIアクセスポイント作成
1. [TwitterDeveloper](https://developer.twitter.com/)にログイン
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/431932/3e7d3d6c-291b-b703-0d64-09faff9debc0.png)

2. 右上ユーザー名プルダウンから[Apps](https://developer.tw

元記事を表示

gulpインストール後にgulp: command not foundのエラー

#エラー内容
“`
$ gulp ejs
bash: gulp: command not found
“`

“`
$ sudo npm install -g gulp
Password:
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
/Users/mac/.npm-global/bin/gulp -> /Users/mac/.npm-global/lib/node_modules/gulp/bin/gulp.js
+ gulp@4.0.2
updated 2 packages in 9.078s
“`

“`
‘/Users/mac/.npm-global/bin/gulp’
“`
ココに着目。

#対処法
/Users/mac/.npm-global/bin に path が

元記事を表示

rails db:createのエラー解決

非同期通信を学習するために、サンプルとしてToDoリストを管理するアプリを作成しようとしたところ、データベースを作成する段階で以下のようなエラーが出た。
ので、その備忘録として残しておこうと思う。

“`
tech-camp@A-458 memo_app % rails db:create
rails aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime.
See https://github.com/rails/execjs for a list of available runtimes.
/Users/tech-camp/projects/todo_app/memo_app/config/application.rb:7:in `
/Users/tech-camp/projects/todo_app/memo_app/Rakefile:4:in `require’
/Users/tech-camp/projects/todo_app/memo_app/

元記事を表示

新人に負けない本棚管理サイト その2(環境構築編)

# 目次

[新人に負けない本棚管理サイト その1(プロローグ)](https://qiita.com/moootoko/items/9a2282b018c1e78da04b)
新人に負けない本棚管理サイト その2(環境構築編)

# Node.js

Node.jsはサーバーサイドでJavaScriptを使えるようにするためのものです。
普通サーバーサイドの言語といえば**PHP**や**Ruby**(on Rails)、**C#**、**VB**、**Java**などがあります。
JavaScriptは本来クライアントサイドで使われる言語ですが、サーバーサイドまでJavaScriptで網羅することでぜーーんぶJavaScriptでできちゃうんです。

## 導入

### Windows

公式の[インストーラー](https://nodejs.org/ja/)をダウンロードして、画面に沿って進めていくだけです。

### Ubuntu, Debian

公式のGitHubにやり方が書いてあります。
以下のコマンドを打つだけです。

“`shell:
# Ubuntuの場合

元記事を表示

JIRA REST APIで課題情報を取得(jira-client-npm を使用)

#はじめに
* JIRA Softwareが10ユーザーまで無料で使えるようになったため家でもJIRAを触れるようになりました。
* ということでREST APIの勉強をしつつ、結果を記事に残していこうと思います。
* まずは課題の情報を取得する方法から。

#実施環境

| 項目 | 値 |
|:–|:–|
| JIRA バージョン | JIRA Software フリープラン|
| プログラム言語 | Node.js v12.16.2|
| nodeモジュール | jira-client v6.16.0|
| 認証 | googleアカウント|

* [jira-client-npm](https://www.npmjs.com/package/jira-client)を使うと比較て簡単に実装できました。

#事前準備
* [node.js](https://nodejs.org/ja/)をインストールしておく。
* JIRAで host / username / password / issueNumber(課題key)が必要になります。
* Googleアカウント認証を使用

元記事を表示

OTHERカテゴリの最新記事