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

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

Symbol testnet bootstrap v0.10.0 自動構築 shellscript

#!/bin/bash

#new username
echo “please input new username”
read username

#new sshd port
echo “please input new sshd port”
read sshd

#ip
echo “please input ip”
read ip

#friendly_name
echo “please input friendly_name”
read friendlyname
#———-

#usernameset
adduser $username
gpasswd -a $username sudo

#sshdset
sed -i -e s/”#Port 22″/”Port 22″/ /etc/ssh/sshd_config
sed -i -e s/”Port 22″/”Port $sshd”/ /etc/ssh/ss

元記事を表示

WSL上でnodenvをインストール、任意のバージョンを有効化

# nodenvを取得

参考 : [https://github.com/nodenv/nodenv#basic-github-checkout](https://github.com/nodenv/nodenv#basic-github-checkout)

“`sh
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
cd ~/.nodenv && src/configure && make -C src
“`

# 環境変数を設定

上記サイトで

“`txt
2.Add ~/.nodenv/bin to your $PATH for access to the nodenv command-line utility.
For bash:
$ echo ‘export PATH=”$HOME/.nodenv/bin:$PATH”‘ >> ~/.bash_profile
“`

と説明されているので、

“`sh
echo ‘export PATH=”$HOME/.nodenv/bin

元記事を表示

自作npmコマンドの作成方法

`my-npm-command`とかで自作npmコマンドを蹴る方法のメモ

Node.js 12.18.3、npm 6.14.8で確認

## 手順

– Node.jsのプロジェクトを作成
– `npm init`とか適当に
– package.jsonに以下を追加

“`json
“bin”: {
“my-npm-command”: “./index.js”
}
“`

– Node.jsのCLIを作成
– 以下はサンプル

“`javascript:index.js
#!/usr/bin/env node
console.log(‘my-npm-command’);
“`

– `npm link`を叩き、`my-npm-command`を実行して動いてればOK
– 外したくなったら`npm unlink`

元記事を表示

初心者が今はやりの技術を調べてみた

# 目的
今回、Node.jsを使ってQiitaAPIを使っていろいろやってみようということで、今、初心者向けには何が流行っているのかを調べてみました。

# 調査方法
QiitaAPIを使って、「初心者」という単語を含んでいる記事を検索しました。
プログラム実行時点(2020年9月27日11時30分時点)で投稿時間が新しいものから上位100件を対象としています。

# コード
“`Javascript
// axiosモジュールを読み込む
const axios = require(‘axios’);

// main()関数を定義する
async function main() {
// QiitaAPIで「初心者」という単語で記事を検索する
let response = await axios.get(‘https://qiita.com/api/v2/items?per_page=100&query=’ + encodeURIComponent(‘初心者’));
// 結果を出力する
for (let i=0; i

元記事を表示

anyenv and Node.js 設定

TypeScript で React 開発を行うための環境構築。
Node.js を anyenv で選択可能にする。

## 環境設定

### Homebrew update(2020/09/21 Mon)

“`
$ brew –version
Homebrew 2.4.3
Homebrew/homebrew-core (git revision c0f2a; last commit 2020-07-06)

# To update homebrew itself
$ brew update

$ brew –version
Homebrew 2.5.1
Homebrew/homebrew-core (git revision a0a0f; last commit 2020-09-21)
“`

### anyenv install

“`
# install anyenv
$ brew intall anyenv

# すでにインストールされていたため、upgrade
$ brew upgrade anyenv

$ anyenv –version
anyenv

元記事を表示

textlintをnode.jsで動かす

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/330873/136c1dcb-32d6-9ffa-5515-b00c8191ba6f.png)

“`bash
$ mkdir textlint-test
$ cd textlint-test
$ npm init –yes
$ npm install –save-dev textlint
$ npm install –save-dev textlint-rule-no-todo
$ npm install –save-dev textlint-rule-max-kanji-continuous-len
$ npm install –save-dev express
$ npm install –save-dev ejs
$ npm install –save-dev cors
$ mkdir views
“`

“`js:app.js
// vim:set ts=2 et:
// https://qiita.com

元記事を表示

node.jsで起動したtextlintに問い合わせる

手抜き

## nginxでnode.jsの8080ポートへ

`/`つけるかつけないか要注意

https://www.xmisao.com/2014/05/09/nginx-proxy-pass.html
>http://example.com/name/foo
proxy_pass http://127.0.0.1/; -> http://127.0.0.1/foo
proxy_pass http://127.0.0.1; -> http://127.0.0.1/name/foo

https://stackoverflow.com/questions/33426771/nginx-proxy-pass-gives-extra-slash
– `location /wp {`でなく`location /wp/ {`

“`nginx:/etc/nginx//etc/nginx/default.d/textlint.conf

location /textlint/ {
proxy_redirect off;
proxy_set_header

元記事を表示

森から木へと向かうコーディング手順

##前置き##
コーディングの際、個人的には普段から私が実践している方法なのですが
意外と実践していない人を多く見かけるので今回は記事にしてみました。

仮に、商品一覧を表示する画面のサーバーサイドを実装するとします。
仕様書は以下のような、よくある内容のものです。

**チェック処理**

|種別|項目|内容|
|:—-:|:—-:| :—-:|
| 必須|ユーザーID|
| 必須|商品ID|
| 桁|ユーザーID| 1~3桁|
| 桁|商品ID| 1~3桁|

**取得条件**

|値|条件|テーブル|カラム|
|:———–:|:———–:|:———–:|:———–:|
| リクエスト.ユーザーID|=|ユーザーマスタ|ユーザーID|
| リクエスト.商品ID|=|商品マスタ|商品ID|

さて、このような仕様をソースコードに起こしていくとします。
千差万別だとは思いますが、
みなさんはどういう手順を踏んで実装に移して行きますか?

##木から森##
まずはよくみかける手順です

①とりあえず処理を羅列

`

元記事を表示

簡単電子レシート receiptline で Web フォントを使ってみた

[前回](https://qiita.com/dopperi46/items/8d3284c74869e66dca44)は、変換ライブラリに手を加えて、紙レシートの行間隔を調整しました。
今回は、紙ではなく電子レシートのフォントを変更してみようと思います。

# 標準のフォント

[ReceiptLineをCLIでSVG変換](https://qiita.com/eggplants/items/2bf47a318f688e6a0af5)のコマンドラインツールを使って SVG に変換します。

“`bash
$ ./rltosvg 32 cp932 receipt.txt receipt.svg
“`

**入力データ**

“`text:receipt.txt
{image:iVBORw0KGgoAAAANSUhEUgAAAIAAAAAwAQMAAADjOuD9AAAABlBMVEUAAAD///+l2Z/dAAAAZklEQVQoz2P4jwYYRrrABwYGOwYG5gMMDBUMDPxAgQcMDDJAgQYGhgJcAv//yMj//9/8//+HerAZRAsAzUA

元記事を表示

Node.jsのインストール

#インストール方法
変なところでつまづいたので、記録のために記載します。

###ディレクトリの作成

“`
$ mkdir -p ~/.nodebrew/src
“`
###Nodebrewのインストール

“`
$ brew install nodebrew
“`

###Node.jsのインストール
nodebrew ls-remoteでダウンロードできるバージョンを確認できます。
今回はstable = 安定版を選択
バージョンを指定する場合は {version}

“`
$ nodebrew install-binary stable
“`

###Node.jsの有効化 ※忘れがち
インストールしただけでは有効化していません。

“`
$ nodebrew use vインストールしたバージョンのいずれかを指定
“`

###環境パス
nodeが使えるように環境パスを通します。

“`
$ echo ‘export PATH=$HOME/.nodebrew/current/bin:$PATH’ >> ~/.zprofile
“`

###無事使用で

元記事を表示

Node.jsでExcel⇒JSON、JSON⇒Excel変換するサンプル

# やること
1.ExcelファイルをJSONで取得。
2.JSONの編集後、新しいExcelファイルに出力する。

# 環境
## Node.js
・インストール
 https://nodejs.org/ja/
 推奨版(執筆時点:12.18.4)

・package.jsonの作成
 作業用ディレクトリで以下を実行する。
 node init -y(-y:全てYesでデフォルト設定)

## xlsx(npm package)
・インストール
 npm install xlsx

・公式
 https://www.npmjs.com/package/xlsx

# 実装
## 前提
・本の貸出履

元記事を表示

[Node.js]Express Validatorが使えない??

こちらの書籍を使ってNode.jsの学習をしてました。(ちなみに今回私が使用しているのは初版です)

[Node.js超入門 第3版](https://www.shuwasystem.co.jp/book/9784798062433.html)

#Express Validatorが使えない??
そこで学習を進めていると、以下のエラーが吐かれました。

“`
TypeError: validator is not a function
at Object. (作業フォルダ/app.js:38:9)
“`

validatorが関数ではありませんと言われてしまいました。

そこで該当するソースコードをチェックしてみます。

“`app.js
var validator = require(‘express-validator’);

(省略)

app.use(validator()); //エラーの該当部分
“`

validatorを利用する前には、requireでモジュールをロードして、変数validatorで定義しています。
スペル

元記事を表示

slack appつくってみた

slack appを業務改善で使ってみたいと思い、つくってみた備忘録残したいと思います。
今回の環境はCodeSandboxで作ってみました。

## 用意するもの
・slackアカウント
・GitHubアカウント

## やること
##### ■slackアプリの設定1
・slackアプリの作成
・botスコープの構成
・アプリをslackにインストール

##### ■CodeSandboxのセットアップ
・ログイン(ここでGitHubアカウントを持っているとスムーズです)
・sandbox作成
・認証情報の設定
・リクエストURLの設定

##### ■slackアプリの設定2
・インタラクティブコンポーネントの設定
・スラッシュコマンド or ショートカットキーの設定
アプリをslackに再インストール

参考URL:https://github.com/seratch/bolt-starter

## slackアプリの設定1
アプリを作りたいslackワークスペースにログインしている状態から
[https://api.slack.com/apps](https://api

元記事を表示

IFTTT改悪対策

IFTTTの改悪、もとい有料化に伴って
3つまでしか登録できなくなってしまった。
我が家のIOT環境では大打撃です。

うちは今下の感じになっている。
Google Home → IFTTT → Slack → Hubot → rm mini3の
(参照):Smart Home – Google Homeの喋らせ方 様
https://scrapbox.io/smart-home/Google_Homeの喋らせ方

自宅IOT環境を
IFTTTのフリーの3つまでの登録でどうにかしてみる。

そしてこれは その備忘録。

構想としては下。

IFTTTのトリガーのGoogleAssistantの設定は
すべて頭に「[お願い]◯◯して」とする
もしくはgooglehomeのショートカット機能を利用して「電気消して」を「お願い電気消して」に変換する

アクションは
webhookで
raspberry pi上で実行しているnode.jsに渡す
google homeからということがわかるように
頭に[%GH%]とかつける。
http://xxxx/google-home-notifier?

元記事を表示

[Mac]node環境構築メモ

##目的
「りあクト!TypeScript で始めるつらくない React 開発第3版」を購入したところ、
本の環境構築にはnodenvを使ってたので、せっかくなのですでにあるnvmをアンインストールしてnodenvをインストールする。

## 1. node.jsをアンインストールする
###1.1 nodebrewをアンインストール
“`
% brew uninstall nodebrew
“`
そしてvimで~/.zshrc ファイルのnodebrewのパスを消す。(ファイルはシェルの種類に合わせる .bash etc)
/
※なぜかアンインストールしても、nodebrewのディレクトリは残ったままなんですが、これは消していいものか、、、(誰か教えてください)

##2. nodenvをインストールする
###2.1 any.envをインストール
“`
% brew install anyenv
% echo ‘eval “$(anyenv init -) >> ~/.zshrc //パス関連のコードが展開されるよう
% exec $SHELL -l // シェルスクリプ

元記事を表示

gulp超入門

##はじめに
**「この記事を見ればgulpの環境構築の手順が分かる!」**という記事です。

この記事を執筆した理由は「フロントエンドエンジニア目指しています!」という方と話をする中で、gulpやwebpackを知らない方が思ったより多かったからです。

**初めてgulpを触るという方に向けてイチから解説しており、
環境構築の手順から、実際にSassをCSSにコンパイルするところまで行ないます。**

現場ではgulpやwebpackといったツールを使うことが当たり前なので、この記事でgulpのことを知り、理解を深めるきっかけになれば幸いです。
参考になったらぜひLGTMをお願いします!!

##gulpとは
gulpとはNode.jsで動かすタスクツールです。
一例としては以下のようなひと手間かかる作業を**自動化**することができます。

* Sassのコンパイル
* CSSにベンダープレフィックスを自動で付与
* CSSやJavaScript、画像の圧縮
* ブラウザの自動リロ

元記事を表示

【Firebase】FireStoreに一括でcsvまたはjson形式のデータをアップロードする

## 概要
[FireStore](https://firebase.google.com/docs/firestore)は、モバイル開発においてとても便利なDatabaseの一つですが、データの一括importが少々手間取ったので方法を記載しておきます。

## Step1: Jsonデータの用意
私の場合はMacのNumbersを使用して、CSVを作成し、[CSV→Json変換サイト](https://csvjson.com/csv2json)を用いてjsonデータに変換しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261934/f8749bcc-f8ca-75ae-1bdc-83703642ed09.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261934/fe45d726-0f5b-8711-3d89-e280a30d5fb0.png)

## St

元記事を表示

4. Koa2を使ってWebページを作成しよう ~koa-bodyでpostパラメーターを取得~

## 記事一覧
* [第一回 Koa2の環境を構築する](https://qiita.com/MEDICE-NOTE/items/0c0d18cf01bc4ae50c05)
* [第二回 Hello World!! を表示する](https://qiita.com/MEDICE-NOTE/items/6260a7a58bc0c3303de0)
* [第三回 koa-routerでGETパラメーターを取得する](https://qiita.com/MEDICE-NOTE/items/bb363d091bff59345da7)

## 概要
当ページでは、koa-bodyを利用してPOSTパラメーターの取得を行います。
また、前回の続きとして進めて行くので、上手くいかない場合は以前の記事をご覧ください。

## koa-bodyとは
formなどで送信されたリクエストを取扱うミドルウェアで、multipartやjson形式のデータも扱うことができる特徴があります。
https://github.com/dlau/koa-body

### インストール
コンソール上で以下のコマンドを入力

元記事を表示

3. Koa2を使ってWebページを作成しよう 〜GETメソッドの利用〜

## 記事一覧
・[第一回 Koa2の環境を構築する](https://qiita.com/MEDICE-NOTE/items/0c0d18cf01bc4ae50c05)
・[第二回 Hello World!!を表示する](https://qiita.com/MEDICE-NOTE/items/6260a7a58bc0c3303de0)

## 概要
KoaではGETとPOSTが異なる手段で認識されるため、GETパラメーターは`koa-router`を、POSTパラメーターは`koa-body`を利用して、それぞれ分けて取得する必要があります。
なので、当ページではまずはGETのみについて扱い、POSTは次の投稿で書く予定です。
また、前回の続きとして進めて行くので、上手くいかない場合は以前の記事をご覧ください。

## GETパラメーターを表示しよう
ますはGETリクエストをクライアントから送信するためのHTMLフォームを作成します。
`/view/get-request.ejs`を作成して以下のコードを追加してください。

“`get-request.ejs

元記事を表示

2. Koa2をつかってWebページを作成しよう 〜Hello Worldを表示〜

## 記事一覧
・[第一回 Koa2の環境を構築する](https://qiita.com/MEDICE-NOTE/items/0c0d18cf01bc4ae50c05)

## 概要
今回はKoa2の環境でHello World!!と表示を行っていきます。
前回の記事をご覧になっていない方は、上記のリンクからご覧ください。

## サーバー構築
まずはサーバーとして機能させるためのコードを書いていきます。

サーバー起動のコマンドは以下を使用します(現段階では実行してもエラーが表示されます)
`npm start`

上記のコマンドを実行すると、**package.json**の”scripts”:{“start”: “[ 実行処理 ]”}で指定した処理が実行されます。

“`package.json
“scripts”: {
“start”: “node ./index.js”
}
“`

前回 **package.json**を上記のように設定しているので、`node ./index.js`が実行され、**koa2test/index.js**が呼び出されます。

元記事を表示

OTHERカテゴリの最新記事