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

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

npmを特定のポート番号で動かしたい

ご無沙汰してます、おおのんです。
一時的に指定したポート番号でnuxtアプリを立ち上げる方法。

“`javascript:ターミナルでnuxtアプリを5000番で動かす。
npm run dev — –port 5000
“`

はい。

元記事を表示

【Node.js ~環境構築~】勉強メモ

開発環境用意

– Node.jsが既にインストールされているか確認

ターミナルで下記のコマンドを実行

“`
~ % node -v
“`
`v12.13.1` のようにバージョンが表示された場合は、既にNode.jsがインストール済み
`command not found: node` と表示された場合は、まだインストールされていない。

– Node.jsのインストール

Node.jsのインストーラーは公式サイトからダウンロード。
[Node.js公式サイト](https://nodejs.org/ja/download/)
今回は、推奨版をダウンロード。
後は、OSに合わせて、Windows及びmacを選択。
![image](https://i.gyazo.com/d855f271e4ebe0d2baeb98c01a0605f7.png)
ちなみに、Node.jsに加えて、npmもインストールされる。
(ダウンロードの下に同梱npmと記載あり)
npm (Node Package Manager)とは、パッケージを用意する為のシステム、
Railsでいうと

元記事を表示

Elasticsearchの検索結果をベクトルタイルとして配信するNodejsのサーバーを作りました

## 概要

個人的な興味で、ベクトルタイル活用の可能性を試してみたいと思い、Elasticsearchでの検索結果をMapboxのバイナリベクトルタイル形式にして配信するというよくわからないタイルサーバーをNodejsで作って、オープンソースプロジェクトとして公開してみました。作ったリポジトリは以下の通り。

– [elastic2mvt](https://github.com/JinIgarashi/elastic2mvt): z/x/yと検索クエリを受け取ってバイナリベクトルタイルを1枚だけ生成するモジュール
– [es_tileserv](https://github.com/JinIgarashi/es_tileserv): NodejsのExpressで構築したElasticsearch用のベクトルタイル配信サーバー

こういう使い方がそもそも可能なのかも含めて、かなり試験的で、手探りでAPI仕様など考えていますので、今後ここで書いた以上に内容がガラッと変わる可能性がありますが、もし何かアイデアなどいただけたらと思い、ツールの紹介をします。

長くなりそうなので、ソースコー

元記事を表示

サーバから Soracom API を叩くために API Key と Token をどうやって取得するべきか

Soracom API を叩くには `API Key` と `Token` のペアが必用となる。

例:

“`bash
curl -X GET \
–header ‘Accept: application/json’ \
–header ‘X-Soracom-API-Key: api-xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx’ \
–header ‘X-Soracom-Token: eyJQiOiJBUraWUVDQ(以下略)’ \
‘https://api.soracom.io/v1/subscribers/your_imsi/data?sort=desc’
“`

この `API Key` と `Token` をサーバとかLambdaとか、要はUIの無いバックエンドサービスからどう叩くべきか?の話。
基本、公式ドキュメントをはじからはじまでちゃんと目を通せば書いてあるのだが、以下の要因からすげー迷ったので備忘録兼ねて書いとく。

* 巷にあふれる解説記事が [API Reference](https://dev.sorac

元記事を表示

Node.js バージョン管理nodenvを使ってみる

nodeのバージョン管理についてnというものを使ってみたが、
今回CentOs環境で別のnodenvを使ってみることにしました。

バージョン管理には他にも、
nodebrewがありますが、nodenvだとディレクトリごとにバージョンが変更できるみたいです
※ ついでに、win機はNodistというのがあるみたいです

## anyenv インストール
「[anyenv](https://github.com/anyenv/anyenv)」というツールを用いてインストールします

“`
[vagrant@vagrant ~]$ git clone https://github.com/riywo/anyenv ~/.anyenv
“`

パスを通して設定します

“`
[vagrant@vagrant ~]$ echo ‘export PATH=”$HOME/.anyenv/bin:$PATH”‘ >> ~/.bash_profile
[vagrant@vagrant ~]$ echo ‘eval “$(anyenv init -)”‘ >> ~/.bash_profile
[v

元記事を表示

nodeのコマンドプロントのconsole.logで出力に色を付ける

#はじめに
Nodeでコマンドプロンプトの出力(console.log)に色をつけたかったので、その方法を投稿します。

検索してもwebブラウザのconsoleに色を付ける方法が多くヒットしたので、私と同じように困っている人の助けになれば…(こんなことで困ってないか:joy:)。

#結論
色を付けるnpm がありました!!
[chalk](https://www.npmjs.com/package/chalk)

“`
npm i chalk
“`

#前提条件
環境

* node `v10.16.3`
* npm `6.9.0`

#使用例
ざっくりと使用例と出力結果を投稿します。
全ての例を投稿するわけではないので詳しく見たい方は[chalk](https://www.npmjs.com/package/chalk)のページで確認してください。

##色を変える

色を変えたい文字列を、変えたい色の修飾子で囲う
※変えられる色の種類はchalkのページで確認してください。

“`javascript:ind

元記事を表示

M1 MacbookでNode.js環境構築

初macOSで操作方法すら良くわからない中、Apple Silicon(M1)搭載ということでNode.js環境の構築に一工夫が必要でした。M1対応するまではRosettaで回避するのが無難そう。homebrewもこれでインストールできました。

# TerminalをRosettaで開く

Finder -> 移動 -> ユーティリティ

![スクリーンショット 2020-11-22 17.31.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556119/11a465c7-8165-16dc-90e1-902461bc3759.png)

command ⌘ + I

Rosettaを使用して開くにチェックして、Termin

元記事を表示

最近朝起きると喉がカラカラになっているので、いい感じの湿度を保つ加湿器コントローラーを2時間で作る

## 朝起きると喉が痛い

最近、冬になって空気が乾燥してきていますね。
夜寝るときは気にならないのですが、朝起きると口から鼻から粘膜が乾燥してしまいます。

我が家にも超音波式の加湿器があるのですが、つまみで噴出量を調整するタイプのもので、

– 量が少ないと加湿しきれず、朝喉がカラカラになり、
– 量が多すぎると加湿は良いが、床がびちょびちょになり、

ちょうどつまみの回し具合を探し当てるのが大変です。

本記事では、加湿器の電源を自動でON/OFFさせることで、いい感じの湿度にしてくれるコントローラーを実働2時間で作成していきます。
(※[材料](https://qiita.com/tmisuoka0423/items/c8d950d9c450826845b5#%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B%E6%9D%90%E6%96%99)は前もって用意しておいてください)

## 睡眠時の適切な湿度は50%~60%

[布団の西川さんによる](https://www.nishikawa1566.com/company/laboratory/topi

元記事を表示

誰が使うかわからないけど、膝のレントゲン写真を送ったら、その膝がどの程度痛んでいるのか教えてくれるラインbotを作ってみた。

# 最近、膝、痛くない??
突然ですが、最近、膝痛くないですか?
階段降りる時や立ち上がる時など、特に痛くないですか??
気づいたら、足がO脚になっていないですか???

もしかしたらそれ、変形性膝関節症かもしれません。

*「変形性膝関節症って何?」という方は、僕が書いたこちらの記事をぜひお読みください。
[変形性膝関節症とは:その治療法・進行予防について](https://clinic.adachikeiyu.com/168)

自分や家族の膝のレントゲン写真を持っている人がどれほどいるのか甚だ疑問ですが、膝の痛みに悩んでいる人の一助になればと作成しました。

注意)このボットはあくまで参考程度に作成したもので、正確な診断ツールではありません! 
   最終的な診断については、おかかりいただいた先生にお伺いください。

# 開発環境の下準備
1) VScodeのインストール
VScodeのインストールついては、googleなどで他の記事を検索してください。
2) node.jsとnpmのインストール
Macでの環境作りは、こちらの別の記事にまとめてあります。
参考にしてください。

元記事を表示

awaitって大事メモ

#つまったこと
if文で条件式の中で関数を読んで返ってきたステータスを基に判断することをした。

結果、どの条件にもはまらなかった。

なぜか?
非同期で関数を呼ばれたため、returnの値が来ない間に条件式が判断されたから。

変更前

“`javascript
}else if(await getStatus(event.source.userId)===”2″){
“`

変更後

“`javascript

}else if(getStatus(event.source.userId)===”2″){
“`

awaitとか書いて関数を呼び出すのがめんどいから、
その場で短く書けるようになったのかな。

元記事を表示

LINE Messaging APIで文末に絵文字を入れるメモ

テキストの長さをとってそれをindexとしておく。

“`javascript

var pushText = “hogehoge”;
// 文末に絵文字を入れるための準備
let textLength = pushText.length;
pushText += “$”;

// メッセージ配列の初期化
let messageList = [];

// メッセージの作成
messageList = [{
“type”: “text”,
“text”: pushText,
“emojis”: [
{
“index”: textLength,
“productId”: “5ac1bfd5040ab15980c9b435”,
“emojiId”: “005”
}
]
},{
“type”: “sticker”,
“packageId”: “11537”,
“stickerId”: “52002755”
}];
“`

元記事を表示

Raspberry Piとhostapdでローカルサーバに接続する

#やりたいこと
Raspberry Pi内臓のWi-Fiをアクセスポイントとして使い、他のデバイス(スマホやPC)で接続することでRaspberry Piで構築したサーバに接続する。

#使ったもの
* Raspberry Pi3 Model B
* 3B以上のモデルだとWi-Fiを内蔵しているのでこれだけでいい。

#やり方
###インストール(hostapd, dnsmasq, Node.js)
Node.jsが入ってるかを確認

“`
$ node -v
“`
入ってなかったら、入れる。
こちらの記事を参考にされると良いと思います。
[ラズベリーパイ4にNode.jsをインストールするまで](https://qiita.com/gdate/items/f87af2e8491c6cc3c19e)

“`
$ sudo apt-get install hostapd dnsmasq
“`

###hostapdの設定
/etc/hostapd/hostapd.confを以下の内容で生成。
ssidとwpa_passphraseは自由に設定。

“` /etc/hostap

元記事を表示

node.jsで簡易ftpサーバーを立てる(Qemu用)

## 概要

Qemuではフォルダ共有機能が実質存在しないので、ゲストOSからホストのファイルにアクセスするためのftpサーバーをnode.jsでサクッと構築する。

## パッケージのインストール

“`
npm install ftpd
“`

## ソース

“`ftpd.js
var ftpd = require(‘ftpd’);
var fs = require(‘fs’);
var path = require(‘path’);

//コマンドライン引数からポートとルートになるフォルダの設定
var port = process.argv[2] || 10021;
var root = process.argv[3] || process.cwd();

//サーバーの設定
var server = new ftpd.FtpServer(‘127.0.0.1’, {
//接続後の初期ディレクトリ
getInitialCwd: function() {
return ‘/’;
},
//ルートとなるフォルダの設定
getRoot: funct

元記事を表示

Steinを使って名前マスタから情報を取得するメモ

名前の登録があれば設定、なければ登録を促す処理
ユーザIDをもとにユーザ名を取り出す処理。

“`javascript
function getUserName(userId){
let userName ;
userName = store.read(“name_master”, { search: { user_id: userId } }).then(data => {
console.log(data);
let uName;
console.log(data.length);
if(data.length === 0 ){
uName = “”;
}else{
uName = data[0].user_name;
}
console.log(uName);
//1行しか取れないので1つ目のユーザ名を指定
return uName;

});
r

元記事を表示

簡単 (電子) レシート receiptline の新機能を試してみた

マークダウン言語で紙のレシートや電子レシートを簡単に作れる receiptline。
https://github.com/receiptline/receiptline
https://www.npmjs.com/package/receiptline

少し前にマイナーバージョンアップがあったので、新機能を試してみました。
(2020年11月21日時点で Verion 1.1.1)

# Web フォントで表示

[前回の記事](https://qiita.com/dopperi46/items/5a327d8c7f22ad2fde22)で試していた Google Fonts の「Kosugi Maru」が採用されました。
これで iOS, Android, Windows, Linux, Mac どの環境でも同じ表示になるはずです。
![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669512/782ade4e-dda6-828f-203e-02d734fc2933.png)

データは[

元記事を表示

【Jest】テスト用のAPIとDBとうまく付き合っていく方法

# 始めに
apiのnodeのバージョンを8から14にしました(まだリリースはしてない)!!
14への移行自体は簡単だったもののテストの移行でかなり苦戦しました。。。
テストは古のライブラリmocha-coで書かれており、仕方なくmocha-coのシンタックスをjestに置き換える作業を開始しました。これが予想以上にめんどくさくその時のHow toを解決する方法がこの記事になります。
以下の問題にお悩みの方はこちらを参考していただけるかと思います。またいい方法をご存知の方はお教えください!!

– TooManyConnectionとなってしまう
– 毎回のテストでサーバー立ち上げとクローズをするのめんどくさい
– –ranInBandつけたけどなんか挙動がよくわからない・・・。
– mochaからのjestに移行したい

正確にjestのランタイムの仕様が分かっているわけではなく、調べたり試したりした結果なので間違いやもっと詳細が分かる方がいらっしゃいましたらぜひお教えください!!
また正確なコードを書くと記述量が多いので雰囲気で書いているところもあるのでご了承ください。

# 前

元記事を表示

【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #2 GithubAPI編

## はじめに
[前回](https://qiita.com/ikkei12/items/cba90ac057e8f0a9c2c5)はwindowの作成をしました。
今回はGithubAPIを導入して完成させようと思います。
長くなってしまうのでJavaScriptでDOMの作成をする部分やCSSの説明は省きます。
気になる方はコードをご確認ください!

## 完成品
option(alt) + Spaceで表示/非表示が切り替えられます。

![scc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/e31df68d-1879-ca25-6ad3-950a4f87d880.gif)

## 現状
![test.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/563a9615-0192-68f9-2d24-2ed8a4468d05.gif)

## Access Tokenを生成する
それではやっ

元記事を表示

【Electron入門】GithubのIssueを一瞬で確認できるアプリを作って業務効率化してみた #1 Alfredっぽいwindow作成編

## 完成品
option(alt) + Spaceで表示/非表示が切り替えられます。

![scc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/e31df68d-1879-ca25-6ad3-950a4f87d880.gif)

### ソースコード
https://github.com/ikkei12/git-app.pub

## はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488042/c4f4f457-8aaf-84be-ff7b-122b4d6cf3b6.png)

[Alfred](https://www.alfredapp.com/)最高ですよね。
彼のおかげでマウスを使う頻度が激減して助かっています。

Alfredと同じ手軽さで、自分がアサインされているissueを確認できるデスクトップアプリが作りたいなと思ったので、[Electron](https://

元記事を表示

Elasticsearchのindexの引越し。Elasticdumpはlimitオプション再定義で高速処理。

# はじめに
Elasticsearch を docker を使って、ローカルマシンで使用している。
Elasticsearchのバージョンをあげてみたくなったので、データをDumpして引越ししてみることにした。

# 事前調査
2020/11/20現在、Googleを使って、「elasticsearch インデックス 移行」と調べてみると、Elasticdumpというスクリプトを使っているひとが多いようだ。

(以下、Googleの検索結果 表示される順に抜粋)

ElasticSearchのindexデータを移行する – Qiitaqiita.com › Node.js
https://qiita.com/taai/items/9244e7dc4dacf29ab95a

よく使うElasticSearchのクエリ(elasticdump) – Qiitaqiita.com › Elasticsearch
https://qiita.com/nakazii-co-jp/items/3199433d685d0600c6d6

Elasticsearchのデータをdumpしてコピー

元記事を表示

YouTubeの配信・動画のコメント(トップレベルコメントのみ)を取得するnode.jsのツールを作成

## 概要
– 気になる事があったので、配信のコメントを取得するツールを作成した。
– トップレベルコメントのみ(コメントへの返信は取得していない)
– APIキーは伏字。log4jsでログ出力しているので(いないとは思いますが)流用する場合は各々の出力方法に変換してください。

## 引数
– 動画ID(watch?v=XXXXXXXXXXXのXXXXXXXXXXX部分)

## 実行結果
以下を出力する。
– 投稿者表示名(items.snippet.topLevelComment.snippet.authorDisplayName)
– 投稿者チャンネルID(items.snippet.topLevelComment.snippet.authorChannelId.value)
– 表示メッセージ(items.snippet.topLevelComment.snippet.textDisplay)
– いいね数(items.snippet.topLevelComment.snippet.likeCount)
– 投稿日(items.snippet.topLevelComment.

元記事を表示

OTHERカテゴリの最新記事