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

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

npmのライブラリの比較と評価方法:npm trends & Github

# 人気のあるライブラリをnpm trendsで探す

 **[npm trends](https://www.npmtrends.com/)**は、指定したライブラリのカテゴリと近いものを提示し、選択するとダウンロード数を比較してくれます。
 たとえば、dom parserを比較すると以下の用になります。

[npm trends: dom parserの比較](https://www.npmtrends.com/dom-parser-vs-cheerio-vs-htmlparser2-vs-parse5-vs-scraper-vs-xml2js-vs-xml-js-vs-fast-xml-parser-vs-xml2json-vs-jsdom)

![screencapture-npmtrends-dom-parser-vs-cheerio-vs-htmlparser2-vs-parse5-vs-scraper-vs-xml2js-vs-xml-js-vs-fast-xml-parser-vs-xml2json-vs-jsdom-2020-08-20-07_45_01.png](h

元記事を表示

【第4回】「みんなのポートフォリオまとめサイト」を作ります~フロントエンド編~ 【Cover】成果物URL: https://minna.itsumen.com

ワイ 「この記事のカバーです」
https://qiita.com/kiwatchi1991/items/58b53c5b4ddf8d6a7053

## バックナンバー
[【第1回】「みんなのポートフォリオまとめサイト」を作ります~プロトタイプ作成編~][1]
[1]:https://qiita.com/yuzuru2/items/045678d3c580028c1d4f

[【第2回】「みんなのポートフォリオまとめサイト」を作ります~REST API編~][2]
[2]:https://qiita.com/yuzuru2/items/19592997737c8be2dafc

[【第3回】「みんなのポートフォリオまとめサイト」を作ります~SNSログイン編~ ][3]
[3]:https://qiita.com/yuzuru2/items/be34b9286ce758c1e8c0

## 成果物
https://minna.itsumen.com

## リポジトリ

### フロントエンド
https://github.com/yuzuru2/minna_frontend

###

元記事を表示

【第3回】「みんなのポートフォリオまとめサイト」を作ります~SNSログイン編~ 【Cover】成果物URL: https://minna.itsumen.com

ワイ 「この記事のカバーです」
https://qiita.com/kiwatchi1991/items/58b53c5b4ddf8d6a7053

## バックナンバー
[【第1回】「みんなのポートフォリオまとめサイト」を作ります~プロトタイプ作成編~][1]
[1]:https://qiita.com/yuzuru2/items/045678d3c580028c1d4f

[【第2回】「みんなのポートフォリオまとめサイト」を作ります~REST API編~][2]
[2]:https://qiita.com/yuzuru2/items/19592997737c8be2dafc

## 成果物
https://minna.itsumen.com

## リポジトリ

### フロントエンド
https://github.com/yuzuru2/minna_frontend

### バックエンド
https://github.com/yuzuru2/minna_backend

## 構成
フロントエンド: **Netlify**(月間100GBまで転送量無料)
バックエンド: **N

元記事を表示

Node.js Ⅲ

◆削除機能をつける 削除ボタンの準備

①ルーティングを用意
app.post(‘/delete’,(req,res) => {
処理
});

②削除ボタンを用意

③リダイレクト
app.post(‘/delete’,(req,res) => {
res.redirect(‘/index’);
});

◆削除の処理
①index.ejs

Node.js Ⅱ

◆MySQLに接続しよう

const mysql = require(‘mysql’); →mysqlパッケージを読み込み

const connection = mysql.createConnection({
//データベース名、パスワード
});

◆クエリの実行

connection.query(‘クエリ’, クエリ実行後の処理)と書くことで、
Node.jsからデータベースに対してクエリを実行することができます。

例)

connection.query(
‘SELECT*FROM items’, →クエリ
()=> {
クエリ後の実行処理
}
);

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635497/92ff9783-cee9-a1df-c8bc-46d5aa7d79ff.png)

例)実行後の処理

connection.query(
‘SELECT*FROM items’, →クエリ
(error,result)=> {
console.log(resu

元記事を表示

Eclipse 2020-06 で、“Node.js version could not be determined” と言われる件

# Eclipse 2020-06 で、“Node.js version could not be determined”
対象バージョンのnodeはインストールして、パスも通っているのに、eclipse起動時に下記の画像のメッセージが出る

# Eclipseのバージョン
Eclipse IDE for Enterprise Java Developers (includes Incubating components)

Version: 2020-06 (4.16.0)

# nodeのバージョン

“`
$ node -v
v10.17.0
“`

# OS
![スクリーンショット 2020-08-19 10.58.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44351/86158d91-217a-cae2-97b1-693a05daf9db.png)

# メッセージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

json-serverでstaticを指定してもプレビューのページを表示する

## json-server
わたしは自分のことをxRアプリエンジニアだと思っていたのですが、最近はいろんなサーバをいっぱい立てています。
そのうちのモックサーバなんてjsonを返せればいいので[json-server](https://github.com/typicode/json-server)を使いました。

> Get a full fake REST API with zero coding in less than 30 seconds (seriously)

が嘘じゃないすごいやつです。
あと、たのしい顔文字がいっぱい出力されます。

## `–static`の罠

![2020-08-08 02.02.01 localhost 65269d951fd9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146245/69386e82-39ff-5445-5b3b-e32ce7ba552e.png)

[http://localhost:3000](http://localhost:30

元記事を表示

Serverless Framework でエラーを検知して Webhook で Slack に通知を飛ばす方法

#はじめに

AppSync の Lambda リゾルバを書く際に [Serverless Framework](https://www.serverless.com/) を使用したのですが、
デプロイ後のバグ調査の際、毎回ブラウザから AWS Console を開いて該当 Lambda の CloudWatch のログを見に行くのが面倒でした。。 :upside_down:

そのため、エラーレポートの仕組みが欲しくなり、Lambda のエラーを Slack に通知する仕組みを Serverless Framework で実装する方法について調査したので、備忘録も兼ねて記事にまとめました :writing_hand:

追記 (2020/08/19)

ローカルから Lambda 関数のログを確認したいだけなら、Serverless Framework CLI の [logs コマンド](https://www.serverless.com/framework/docs/providers/aws/cli-refer

元記事を表示

【第2回】「みんなのポートフォリオまとめサイト」を作ります~REST API編~ 【Cover】成果物URL: https://minna.itsumen.com

ワイ 「この記事のカバーです」
https://qiita.com/kiwatchi1991/items/58b53c5b4ddf8d6a7053

## バックナンバー
[【第1回】「みんなのポートフォリオまとめサイト」を作ります~プロトタイプ作成編~][1]
[1]:https://qiita.com/yuzuru2/items/045678d3c580028c1d4f

## 成果物
https://minna.itsumen.com

## リポジトリ

### フロントエンド
https://github.com/yuzuru2/minna_frontend

### バックエンド
https://github.com/yuzuru2/minna_backend

## コレクション定義(テーブル定義)
ワイ 「今回は**NoSQL**の**MongoDB**を使ってます」
ワイ 「コレクションとは**RDB**でいう**テーブル**的なやつです」

| RDB | MongoDB |
| —- | —- |
| スキーマ | データベース |
|

元記事を表示

Static Web Appsでは現状TimerTriggerは使えないっぽい

[Azure Functions のタイマー トリガー](https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-bindings-timer?tabs=javascript)を使ってStatic Web Appsに紐づいたAPIプログラムもタイマー実行できないかと思いましたがどうやらできないっぽいのでメモ。

ビルドでこんなコケかたします。

“`
Error in processing api build artifacts: the file ‘myTimer/function.json’ has specified an invalid trigger of type ‘timerTrigger’ and direction ‘in’. Currently, only httpTriggers are supported. Visit https://github.com/Azure/azure-functions-host/wiki/function.json for more informatio

元記事を表示

SAP Cloud Platform 上で WebSocket を使ってみた

# はじめに
この記事は [chillSAP 夏の自由研究2020](https://note.com/chillsap/n/n66e12ef65d11?fbclid=IwAR3REd19CLNDvQHZDNjQaE_2Cki4bqGln4pVk7UJjHYEq39yUtF_5Xch1BQ) の記事として執筆しています

今回は、 SAPUI5 の API Reference を眺めていると WebSocket( [sap.ui.core.ws.WebSocket](https://sapui5.hana.ondemand.com/#/api/sap.ui.core.ws.WebSocket) )のライブラリを発見したので試してみました。

## WebSocket とは?
>WebSocket(ウェブソケット)は、コンピュータネットワーク用の通信規格の1つである。ウェブアプリケーションにおいて、双方向通信を実現するための技術規格である。2011年にRFC 6455として>最初の標準仕様が定義された。

[転載:WebSocket – Wikipedia](https://ja.wi

元記事を表示

Node.jsⅠ

◆Expressを導入する

$ npm install express →入力してenter

nodejs_lesson@1.0.0/home/..
express@4.17.1 →入力結果

◆インストールしたExpressを利用する

const express = require(‘express’) ;
const app = express();

◆listenメソッド

app.listen(3000);

『ターミナル』
$ node.app.js →app.jsをターミナルを実行する
ファイルを実行するには「node ファイル名」とします。

◆ルーティング

app.get(‘/top’, (req,res) => {
トップ画面を表示する処理
});

![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635497/d17d86cf-226e-33af-9541-b7a1626e02bb.png)

ルーティングの処理でres.renderと書くことで、指定したビュ

元記事を表示

ytdlでYoutubeダウンロード+Macでファイル変換&編集

もう、無限に広告がポップしてくる詐欺ソフトに悩まされることはありません。
我々エンジニアはプログラミングとCUIという頼れる味方がいます。

## この記事を読むと

– ターミナルから簡単&爆速にYoutubeから動画をダウンロードできます。
– ファイル形式の変換と時間指定の切り抜きのお勧め方法もカバー

## 環境

– Macbook Pro 2017 13インチ
– MacOS Catalina ヴァージョン10.15.6

## やり方比較

### 没案1.Youtube Premium

最も簡単にYoutubeの動画をオフラインで利用する方法はYoutube Premiumに登録することです。料金も月1000円程度と破格。
しかしなんでYoutube Premiumではダメなのかというと、PCのローカルに落とせないからです。例えば、私の場合は英語音声のみで字幕無しの動画に対して、Amazon Transcribeを利用して文字起こしや翻訳を行うのがそもそもの動機でした。また、スマホアプリ上でしかオフライン利用できません。
やはり普通のファイルとしてローカルに落とすのが

元記事を表示

【JS】Node.js と GoogleSpreadsheet で業務効率化

`google-spreadsheet` というパッケージを使用し、スプレッドシートへの書き込みの実装をしたので、その備忘録です。
[google-spreadsheet – npm](https://www.npmjs.com/package/google-spreadsheet)

下記の記事をみておけばほぼわかります。
[【Node.js】 Googleスプレッドシートを簡易データベースとして使う – 一日一膳(当社比)](https://sonnamonyaro.hatenablog.com/entry/2020/03/01/222650)
[GoogleスプレッドシートからNode.jsでシフトデータを読み出す方法 – Twilio](https://www.twilio.com/blog/load-data-from-google-spreadsheet-jp)

## 準備
### APIの有効化 & 認証
1. GoogleSpreadsheet API 有効化
2. サービスアカウントを発行
3. スプレッドシートに 作成したサービスアカウントを招待(メールアドレス

元記事を表示

OSがCatalina以降の環境構築

##Command Line Toolsを用意
Command Line ToolsはWebアプリケーション開発に必要なソフトウェアをダウンロードするために必要な機能です。

ターミナルからCommand Line Toolsをインストール

“`ruby:ターミナル
$ xcode-select –install
“`
出てくるポップアップには「インストール」→「同意する」→「完了」の順にクリック。

##Homebrewを用意
Homebrewというソフトウェア管理ツールを導入します。

“`ruby:ターミナル
$ cd # ホームディレクトリに移動
$ pwd # ホームディレクトリにいるかどうか確認
$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” # コマンドを実行
“`

※処理に時間がかかる可能性のある操作

処理が進んでいくと、「press RETURN to continue or any other key to a

元記事を表示

Node.js C++ アドオンの開発 (作業メモ)

# この記事について
サンプルレベルの Node.js アドオンを C++ で書いてみた際の作業メモです。

内容:

– ソースは [node-addon-examples](https://github.com/nodejs/node-addon-examples) をベースにしてます
– 足し算をする add という関数を JavaScript 側に見せる `2_function_arguments` にちょっと手を入れた程度です

# Node.js アドオンとは

[C++ addons](https://nodejs.org/api/addons.html#addons_c_addons) の説明が分かりやすいので引用。
> Addons are dynamically-linked shared objects written in C++. The require() function can load addons as ordinary Node.js modules. Addons provide an interface between JavaScript a

元記事を表示

Node + OpenAPI + ReDocでおしゃれなAPI開発環境を作る

# はじめに

こんにちは。夜に見てくれている方は、こんばんは。
どうも @little555 です。
夏季休暇なうでヒャッハー!しております。

この記事は株式会社富士通システムズウェブテクノロジーが企画する[いのべこ夏休みアドベントカレンダー 2020](https://qiita.com/jugemsan/items/5761773308fb1df0c23a)の20日目の記事です。
※毎回参加させていただき感謝の限りです。ありがとうございます!!

とりあえず本題に入る前に大切な**お約束**です。
`本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。`

# 背景

API作りたいけど、管理とか横展開がめんどくさいなぁ。
横展開用のドキュメントとか作りたくないなぁ。。。
いい感じに開発に組み込めないかなぁ。。。

そんな人が対象読者です。

そんなときはOpenAPI(Swagger)です。
YamlやJson形式でAPIの仕様を下記のような感じで定義できます。
Swagger Editor.pn</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>Node.js</div>
<div class='tag-cloud-link'>OpenAPI</div>
<div class='tag-cloud-link'>ReDoc</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/little555/items/2b8a6c6b5af1368bde77'>元記事を表示</a></div>
<h3 id=webpackをかんたんに使う(Zero Configulation)

[5年前の記事](https://qiita.com/hashrock/items/15f4a4961183cfbb2658)のメンテを行っていたんですが、流石にBrowserifyは実務で使う可能性は低いよなあとは思います。
Browserifyの単純さも初心者にはとっつきやすいのですが、今の主流はwebpackです。
webpack入門記事はたくさんあるはずですが、設定ファイルの各パラメータの羅列だったり、BabelやReact, TypeScriptの設定まで一気に済ませてしまうような記事は初心者には難しいかもしれないですね。

というわけで、Node.jsは3日前にはじめました、みたいな人向けに書いてみようと思います。

# 初心者なのでwebpackだけを使ってみたいんだけど

今どきだと初心者はReactならcreate-react-app、VueならVue CLIを使って入門するんじゃないかと思います。これらはwebpackの設定を代わりに済ませてくれる便利なツールで、難しいことを知らなくて済みます。

ただ、何も理解しないままにWebアプリが作れてしまうので、一つ一つ理

元記事を表示

Vue 3.0とgRPCを使ってTodoListを作ってみた

# gRPCとは?

gRPCはオープンソース、RPCフレームワークをベースとして、最初はGoogleが開発されました。
インターフェース記述言語としてProtocol Buffersを使用し、protobufは構造化データをシリアル化するためのメカニズムです。
protoファイルでサービスとそのデータ構造を定義するだけで、gRPCがさまざまな言語でプラットフォームのクライアントとサーバーのStubsを自動的に生成します。
profobufを使用すると、JSONではなくバイナリを使用して資料を転送しています。
これにより、gRPCがはるかに高速で信頼性の高いものになります。
gRPCの他の主要な機能のいくつかは、双方向ストリーミングとフロー制御、BlockingまたはNonBlockingバインディング、および認証機能です。
gRPCはHTTP/2を使用して、シングルTCPコネクションの中で複数のストリームを開始することができます。
gRPCの詳細については、こちらをご覧ください:https://grpc.io/

# gRPC V.S. REST

| Feature

元記事を表示

Visual Studioのコードと同じDockerを使ってNode.jsアプリを開発する

このガイドでは、Ubuntu Linuxデスクトップ上でVisual Studio Codeを使って**Node.js**アプリを開発し、**Alibaba Cloud**上で**Docker**を使って同じアプリをデプロイしていきます。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/developing-node-js-apps-using-visual-studio-code-with-docker-on-simple-application-server_595352)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

#よくある質問
####Node.jsとは?
Node.jsはオープンソースでクロスプラットフォームなJavaScriptのランタイム環境で、サーバー上でJavaScriptを実行することができます。

####Express とは?
Expressは、最小限で柔軟性の高いNode.jsのWebアプリケーションフレーム

元記事を表示

OTHERカテゴリの最新記事