Node.js関連のことを調べてみた2021年03月18日

Node.js関連のことを調べてみた2021年03月18日

世の中は本当にマイナス感情で溢れているのか?を可視化してみた

## はじめに

「コロナ禍」と言われる言葉が生まれてから、およそ一年ほどは経ちましたね。ここ一年間ネガティブなニュースを多く耳にしたのは僕だけでしょうか?「〇〇で感染者数が過去最多」とか「コロナ禍で深刻化する〇〇」とか、不安な気持ちになるようなニュースが毎日のようにあったような気がします。実際はどうなんでしょうね。

今回は、「実際の世の中のニュースはマイナスで溢れているのか?」そんな疑問から直近1週間の景況を可視化してみようと思います。

### 前提

Node.js(Express)で実装

## 事前調査

### 使用API

– News API
– Natural Language API

### **[News API](https://newsapi.org/)**

– Top headlines:最新のヘッドライン
– Everything:全ての記事
– Source :Top headlines が利用できるニュースパブリッシャーのサブセットを返す

News API には上の三つのエンドポイントが用意されています。このうち、`Everything` が

元記事を表示

【M1ソフトウェア導入】Homebrew-node.js-npm

#早速

###●homebrew

M1 Macでのhomebrewは 公式のドキュメント で /opt/homebrew にインストールすることが推奨されている為、以下のような工程でインストールを行う。

https://docs.brew.sh/Installation#untar-anywhere

“`bash:install.homebrew
sudo mkdir /opt/homebrew
sudo chown -R $(whoami) /opt/homebrew
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz –strip 1 -C /opt/homebrew
//パスを通す
export PATH=”/opt/homebrew/bin:$PATH”
//brew installの確認
% brew doctor
“`

###●node.js
https://nodejs.org/ja/download/package-manager/#macos

“`bash:instal

元記事を表示

【Node.js】パスを確認する方法(備忘録)

#プログラミング勉強日記
2021年3月17日
Node.jsの環境変数であるNODE_PATHの確認方法をまとめる。今回はすべてWindowsで行った。

#npmのPATHを確認する方法

“`:コマンドプロンプト
$ npm bin -g
“`

 コマンドを実行すると、ディレクトリがNode.jsをインストールしたときに自動的に設定される。そのパスが表示される。

#node_modulesのPATHを確認する方法
 Nodeのサーバーを立ち上げてから、nodeコマンドで下記を実行する。

“`
> global.module.paths
“`

#npmのPATHを通す方法

“`
set NODE_PATH=C:\Users\フォルダ…
“`

#参考文献
[【Express】環境変数とは?PATHを通すとは?けっきょく南極ローカルインストール!(Herokuコマンドでローカル起動)](https://www.i-ryo.com/entry/2020/09/26/183640)
[Node.jsのPath(パス)を確認する方法【初心者向け】](https:/

元記事を表示

Vue CLIをインストール後vue: command not foundになる

# 環境
* macOS Catalina 10.15.7
* Node.js 14.16.0
* npm 7.6.3

# 現象
1.Vue CLIをグローバルにインストール

“`
$ yarn global add @vue/cli
“`

2.インストール完了後、バージョン確認のコマンドを打つと「command not found」と言われる

“`
$ vue –version
nodenv: vue: command not found

The `vue’ command exists in these Node versions:
10.15.1
10.16.0
“`

# 解決
以下のコマンドでPATH変数を更新

“`
export PATH=$PATH:/Users/denis/.npm-global/bin
“`

返ってきた…!

“`
$ vue –version
@vue/cli 4.5.11
“`

# 参考記事
[node.js — Vueコマンドが見つかりません](https://www.it-swarm.jp.net/

元記事を表示

【Node.js Express 4.x で Routing Middleware Template(pug) をつかう方法】

Expressでは簡単にルーティングができるが、色々方法があって忘れる。
ということでここでいったんまとめていく

Expressのversionは4系です

#####同じパスに対して複数のハンドラがありまとめたい

“`js:app.js
const express = require(‘express’)
const app = express()

app.route(‘app/user’)
.get(req, res) => {}
.post(req, res) => {}
“`

#####特定のパス以下のルーティングをまとめたい

“`js:routes/user.js
const express = require(‘express’)
const router = express.Router()

router.get(‘/’, (req, res) => {})
router.get(‘/edit’, (req, res) => {})
router.get(‘/delete’, (req, res) => {})
“`

“`js:app.js
c

元記事を表示

【Node.js】Express.jsからMySQLのデータ加工、ejsへの受け渡し

#目的
現在、MySQLの店舗データを編集できるアプリケーションを作成しています。Node.jsのexpress.jsを使用し、viewにはejsを利用しています。この記事では、初学者の私がつまずいた、パラメータの受け渡しについて記述します。

ずばり「企業一覧画面から、企業に属した店舗の一覧を表示させる」処理についてです。

##一連の処理は、こんな感じです
企業一覧画面(ejsで表示)
→ 店舗名のリンクをクリック
→ express.js(app.js)でデータを加工
→ 加工したデータをejsに渡す
→ ejsで表示させる

#参照
・[Express.js(node.js)からMySQLへの接続とCRUD操作](https://reffect.co.jp/node-js/express-js-connect-mysql#expressjsMySQL)
・[[Node.js][Express]リクエストからパラメータを取得する・POSTされたデータを取得する](https://tech.chakapoko.com/nodejs/express/params.html)
・[fo

元記事を表示

【AWS】AWSのSESとnodemailerを使って、独自ドメインからメールを送信してみた

皆さんこんにちは!

最近AWSの様々な機能に触れるようになったのですが、何と言っても便利!!!

こういう機能無いかなと調べたらほぼ確実にある!

そんなこんなで今回はAWSのSES(Simple Email Service)を使って、“nodemailer“で独自ドメインからメールを送信して見ようと思います!

#はじめに#

独自ドメインは取得しているていで話を進めていきます。

また、SESでの設定も今回は省きます。

SESでメール送信の設定を行っていないという方は、下記の記事をご覧ください。

・[【AWS】AWS初心者がRoute53+SESを使って、独自ドメインでGmailからメールを送信してみた](https://qiita.com/akki-memo/items/616671ccb009a0202113)

それでは説明を見ていきましょう!

#nodemailerの準備#

まずは、パッケージをインストールします。

“`
npm i nodemailer
“`

次に、SESでメールの登録を行った際に、ユーザー名、パスワードの情報をダウンロードしているか

元記事を表示

ある時刻で関数を実行したい?それFirebase Functionsでやっちゃおうよ

どうもアッキーです。

ふと、日にちをまたいだ時にユーザーの決済の日にちが過ぎていないかを調べたいなと思っていたら、Firebaseで常備されているらしい。

Node.jsで“cron“と言うパッケージがあるらしいが、Firebaseでも実行できるらしい!

記事を見なくてもFirebaseの公式ドキュメント([関数のスケジュール設定](https://firebase.google.com/docs/functions/schedule-functions?hl=ja))にも書いてあるので是非ご覧ください。

公式ドキュメントにも書いてあるのですが、この公式ドキュメントでは実行の時の時間について詳しく書いておらず、そのためにこの記事を書いていこうかなと思います。

とりあえず、説明していきます!

#時間の設定#

今回は日にちをまたぐときに実行する方法を書いていきます!

“`index.js
const functions = require(‘firebase-functions’)
const admin = require(‘firebase-admin’)

co

元記事を表示

GCP Cloud Build で `FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed – JavaScript heap out of memory`

ヒープ領域が限界に近くて割り当てに失敗したらしい

## Cloud Build で使われていたマシン
– デフォルトの`n1-standard-1`
– https://cloud.google.com/compute/docs/machine-types/?hl=ja#n1_standard_machine_types
– メモリ 3.75Gb
– この領域をいっぱいに使ってるか? → そうでもなかった
– `node -e ‘console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))’`
– このデフォルトは`1400`MB
– なので、割当メモリを十分に使えていない可能性

## 解決策
– `NODE_OPTIONS=–max-old-space-size=xxx`
– `xxx`にメガバイト単位の数字を指定。 筆者は`3072`と指定した
– `–max-old-space-size=xxx`
– https:/

元記事を表示

Node.js メインスレッドで重い処理を行う

## はじめに
Node.jsの特徴としてシングルスレッドであることが挙げられます。そのため、CPU負荷の重い処理をさせると、スレッドがブロックされてパフォーマンスが低下するので、そのような処理はNode.jsには不向きとされています。どうしても重い処理をしたいときは、マルチスレッドやマルチプロセスを用いることもできます([参考](https://qiita.com/darai0512/items/568ea7d49d2c522b7c45))が、いずれも重大な欠点があります。

### マルチスレッドの問題
Node.jsにおけるマルチスレッドでは、基本的にlibuvが提供するthreadpoolからスレッドを取得して使うことになると思います。しかし、libuvのthreadpoolは最大で128個(既定で4個)のスレッドしか供給できません。さらに、libuvが提供するスレッドは、ファイル操作の非同期処理にも使われます。例えば、ローカルファイルの読み書きを行う場合は勿論、ドメイン名をIPアドレスに変換するresolve処理でも(`/etc/resolv.conf`などを読み込む必要があ

元記事を表示

JavaScript製のJSON用テンプレートエンジンの比較

JavaScriptから複雑なJSONを動的に生成するテンプレートエンジンを必要としているため、既存のライブラリを一通り調べてサンプルコードを列挙しました。
もしおすすめのライブラリをご存知でしたらコメントください。

目的としているテンプレートエンジンの仕様ですが、以下を必要としています。

– JSONまたは文字列をテンプレートとし、JSONを入力値とする
– 出力結果はJSON
– テンプレート中の指定キーワードをJSONの入力値で差し替える
– foreach/if/unless/optional などの制御構文を持つ

https://npmjs.com

から既存のライブラリを調査中です。

## json-templates

https://github.com/datavis-tech/json-templates

サンプル1:

“`javascript
// Context values could be objects and arrays.
const template = parse(“{{foo:baz}}”);
console.log(templ

元記事を表示

node.jsのインストール

#結論
nvmを利用しましょう。node.jsを直接インストールすることもそりゃできますが安定バージョンを簡単に取得できるnvmは最強です。ということで、nvmのインストールを解説するよ。

#nvmのインストール

“`
$curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
“`
##node.jsの安定バージョン

“`
$ nvm install stable –latest-npm
$ nvm alias default stable
“`

node.jsをインストールすれば一緒にnpmもインストールされてるはずです。念の為最新バージョンにアップデートしておきましょう。

“`
$ npm update -g npm
“`

#起動

“`
$node
“`
これでnode.jsをインストールできれば完了です。

#パッケージのインストール
パッケージをインストールするためにはまずinitで初期化処理が必要となります。これはパッケージがどのようなものがイ

元記事を表示

Node.js? Express? yarn? ナニソレ

##はじめに
現在,Expressでポートフォリオを作成している大学4回生です.
ポートフォリオ作るにあたっていろいろ調べまくったのでまとめます.

###※注意
* 環境構築に関する記事ではありません.
* これを読んだからといって何を得るわけではありません

##Node.js?
JavaScriptで開発をしている(目指している)方で聞いたことのない方はいないと思いますが,実際Node.jsって何者なんでしょうか?
ずばりNode.jsとはサーバーサイドで開発するためのJavaScript実行環境です!!!
ん?どゆこと?って人はひとまずソーナンダーって思ってください.これを使うことで色々便利なことがあるんです.
###-使う理由
ではなぜブラウザで動くただのJavaScriptではなくNode.jsを使うのでしょうか.だって書くのは同じ言語なのに
先程も説明した通りNode.jsはサーバーサイドのJavaScript実行環境なのでブラウザで動くものより色々自由度が上がるんです.例えばファイルを読んだり,書き込んだりする際ブラウザ上のコードではできません.
なぜならそんなことがで

元記事を表示

【Node.js】【npm】これらは何者?

何かと目にすることが多いが、いまいち概要がつかめていなかったNode.jsとnpm。ざっくりとですがまとめてみました。詳細は、今後学習する中で更新していきたいと思います。

##(前置き)JavaScriptとは
ブラウザ上で動くために開発されたプログラミング言語。コンテンツに動きをつけたり、DOM要素をいじったりすることができる。

・クリックしたら特定の位置まで画面がスクロールされる
・ポップアップで注意事項を表示する

等々のことが実装できる。

パソコン上で動くわけではないので、PHPやRubyなどのサーバーサイドの言語と異なり、OS上のファイル等にアクセスすることはできない。

##Node.jsとは
サーバサイドのJavaScript実行環境。

Node.jsではJavaScriptでOSの機能にアクセスするプログラムを組むことができる。それにより、ブラウザ上で動作していたときはできなかった、自由なファイルの読み書き等ができるようになる。

また、クライアントサイドの(ブラウザで実行する)JavaScriptの開発環境としても使用されている。

個人的に感じた使用する理由

元記事を表示

Node.jsを使ってお手軽インドカレー検索LINE Bot を作ってみた(1.簡単な応答)

#はじめに
皆さん、LINE Bot について様々な箇所で使われているので既にご存じの方も多いと思います。
ただ自分が作るとなると少し敷居が高いように感じますが、そんなことはありません!!
無料かつアイデア次第で面白いものを作成できると思います。
僕は近くのインドカレー屋を探しすぎたのがきっかけで LINE Bot に触れてみました。(なぜかGoogleが面倒)

最終的には**位置情報、フリーワードでインドカレー屋を検索、お気に入り機能の実装**までを目標に紹介していきます!
まずは**お手軽にNode.js(Express)を使って LINE Bot を作れる**ことを紹介していきます!

**最終目標サンプル**
![IMG_1803.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1178305/84203b3a-2f83-55a9-471c-b489bd975cf9.png)

#LINE Bot 作成手順
### ①LINE 設定
#### (1)チャネルを作成
[Messaging APIを

元記事を表示

DynamoDb:ローカル環境構築(その2:GUI管理ツール)

aws公式サイトで「NoSQL Workbench」というデータベース管理GUIツールがあるが、テーブル作成・変更、データ登録・更新しづらいので、dynamodb-adminの構築方法を紹介します。

dynamodb-adminの詳しい情報は、以下を参照してください。
https://www.npmjs.com/package/dynamodb-admin

### dynamodb-adminをインストール(グローバルで)
“`
npm install dynamodb-admin -g
※1 もしstrict-ssl問題が発生した場合、下記コマンドで無効にして、再度インストールしてください。
npm config set strict-ssl false
※2 root権限が持ってなかったら、先頭にsudoを追加してください。
“`

### DynamoDBのエンドポイントを環境変数に設定
“`
export DYNAMO_ENDPOINT=http://localhost:8000
“`

### 起動コマンド
“`
dynamodb-admin

元記事を表示

Firestoreの複合インデックスでつまったところまとめ

# 対象読者
複合インデックスを登録しているのに取得できない方

# 解決方法
まず、エラー内容を確認します。firebase Functionsを使っている方はfirebaseのコンソールに入って、Functionsのログからエラーを確認してください。もし使われていない方は、例外処理によってエラー内容を返して確認してみてください。以下のエラー(一部抜粋)が出力されていると思います。

“`
“details”: “The query requires an index. You can create it here: https://console.firebase.google.com/v1/r/project/[projectID]/firestore/indexes?create_composite=[文字列]”,
“`

「クエリを実行するにはインデックスが必要なので作ってくださいね」と書かれており、親切にURLも記載してくれています\:clap:。アクセスすると、Google Cloud PlatFormがブラウザで開き、インデックスを登録するかを聞かれますので、そのま

元記事を表示

nodeのhttp-serverをローカルにインストールして、起動する

# とりあえずしたい事

普通にnodeで簡易的なサーバーを立てたいけど、グローバルにインストールするのはイヤなので、
ローカルに立てるよ。

## フォルダ構成はこうしたい

“`
プロジェクトフォルダ/
node_modules/
html/
index.html
<ここにhtmlをおきたい>
  <nodeのプロジェクトでよく有る、あれやこれや>.json
  etc…
“`

この状態で`localhost:8080`にアクセスしたら
`index.html`が表示するようにしたい

# http-serverをインストールして使えるようにする。

## インストールコマンド

“` 
npm install http-server
“`

## 起動

“`
node_modules\.bin\http-server
“`
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57329/f662c112-ea83-ee62-30d7-

元記事を表示

SlackでAPIを叩くときのボットのあれこれ

#slackって?
`Slack は、チームとコミュニケーションを図るための新しい手段です。メールよりも速く、整理され、安全な方法で実現できます。`(公式から引用)

まあこんなQiitaみてるようなエンジニアに今更いうこともないので割愛させていただきます!

#Botを作ってそいつに色々吐かせよう!

みなさんWebappとか作っててお問い合わせフォームとか作るじゃないですか。
その時にわざわざメアドで送らせてたりしてませんか?(煽り)

そんなのSlackのBotにやらせるのよ!

というわけで早速解説していこうと思うのですが、、、

あの〜〜フロント周りやバック周りは各自やってくださいね、、??

#それでは本編に

SlackのAppの欄から”アプリを作る”を選択。
右上あたりにBotと書かれているアイコンがあると思うので、それをクリック。
そしたら名前つけたり、画像決めたりなどありますが、今回重要なのはそこではなく
![スクリーンショット 2021-03-15 17.40.41.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

【React.js】別ファイルに関数をまとめてexportsを利用して呼び出す。

# 開発環境
React.js

# 概要
React.jsで関数を共通化して別ファイルにまとめたときに、HTMLのscriptタグを使い呼び出すのは面倒だと思いました。JavaScriptのexportsを使い呼び出すことができることを知りましたので、備忘録として記事に残しておきます。

## import.jsとexport.jsファイルを作成
import.jsからexport.jsの関数を呼び出していきます。

“`javascript:export.js
exports.criminalIsKogoro = function () {
console.log(“犯人は毛利小五郎”);
}

exports.detectiveCriminal = function (name) {
console.log(“犯人は” + name);
}

const criminalIsAgasa = function () {
console.log(“犯人は阿笠だ”);
}
“`
比較するためにcriminalIsAgasaだけはexportsしないようにしておきます。

元記事を表示

OTHERカテゴリの最新記事