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

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

node.js 公開中のWEBページを強制終了する

#node.jsで公開中のWEBページを強制終了する

foreverで常時起動したnode.jsがforeverコマンドで停止できなくなり、サーバーとの通信が遮断できない状態になった。

##解決策
以下のコード1発で解決。

`killall node`

再度、ノードを起動して、無事ページが表示されました。

元記事を表示

node.js用のforeverで表示されるWarningメッセージを表示させなくする方法

#node.js用のforeverで表示されるWarningメッセージを表示させなくする方法

foreverでnode.jsのプロジェクトファイルを読み込むと、warningメッセージが表示される。

下記のようにforeverコマンド実行時に末尾についてくる。
`forever start app.js`
`forever stop app.js`

“`
(node:30624) Warning: Accessing non-existent property ‘padLevels’ of module exports inside circular dependency
(Use `node –trace-warnings …` to show where the warning was created)
(node:30624) Warning: Accessing non-existent property ‘padLevels’ of module exports inside circular dependency
“`
warningなので特に悪さはしていな

元記事を表示

【NodeJS】ヤフーニュースの主要トピックを取得

#当記事の目的
NodeJSでヤフーニュースの主要トピックを取得する。

##NodeJSがインストールされていることを確認。

“`
> node -v
v12.16.2
“`
##puppeteerパッケージをインストール
“`
> npm i puppeteer
“`

##インストール済みのパッケージを確認
“`
> npm list –depth=0
`– puppeteer@2.1.1
“`
##ニュース取得スクリプトを作成
“`javascript:news.js
const puppeteer = require(‘puppeteer’);

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(‘https://news.yahoo.co.jp/’);
const itemSelector = ‘.topicsList_main li.topicsListItem a’

元記事を表示

Flask(Python)及びExpress(Node.js)における、Get parameter 及び Post body の取得 , CORSの有効化

以下、6項目についてみていきます。HTMLファイルから送信しています。
送信も受信もローカルで行っています。サーバで試すなら、ドメインとか適宜読み替えてください。

1. Flask Get Parameter取得
2. Flask Post Body取得
3. Flask Cors有効化
4. Express Get Parameter取得
5. Express Post Body取得
6. Express Cors有効化

###注意点として、Content-Typeはすべてapplication/jsonで送信しています。

#HTML(送信側)
ブラウザで表示して、実行してください

“`html





Document


<

元記事を表示

バイナリファイルのアップロード・ダウンロードを自在に操ろう

HTMLからバイナリファイルをアップロードしたり、サーバからバイナリデータをダウンロードしてみます。

クライアント側として、HTMLのSubmitボタンを利用する方法と、Javascriptから送信する方法でやってみます。
サーバ側としては、Node.jsのSwagger-node(中身はExpress)のサーバの場合と、AWSのAPI Gateway+Lambdaの場合を取り上げます。

毎度の通り、ソースコードは以下に上げておきました。

poruruba/fetch_laboratory
 https://github.com/poruruba/fetch_laboratory

#バイナリファイルの送信

それでは、送信するクライアント側のWebページから見ていきます。
まずは従来からの、HTMLのSubmitボタンで送信する場合です。
HTMLは以下のような感じになります。

“`html:index.html

カップ麺を待つあの3分に新しい可能性をもたらす「カップ麺タイマー」をLINE Botで作った話

# はじめに
ご覧いただきありがとうございます。

本日、高校生の仲間たちと制作したカップ麺タイマー(LINE Bot)をリリースしました。
3ヶ月間の開発期間を経て、ついにリリースできたので、開発の背景を書かせていただきたいと思います。

4月にも新型コロナウィルスの感染拡大を防ごう!とSNSで呼びかけを簡単に発信できるサービスをリリースしました。初めてQiitaで書いた記事が月間トレンドに載ってしまい、驚いています。良ければご覧ください。
[新型コロナで休校になって暇になった高校生がミニサービス「Yobikake」を3日間で立ち上げた話](https://qiita.com/nztm/items/2de55be97ac1de9a435b)

# カップ麺タイマー とは
僕たちが作ったのは、ただのカップ麺タイマーではありません。
カップ麺を待つ数分の時間を有意義なものにする新しいタイマーです。

是非、最後まで読んで頂けると嬉しいです。
![ロゴ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549246/9

元記事を表示

URL を比較して差分画像を生成する CLI ツールを作りました

2つのウェブサイトのブラウザ上での見え方を比較したい時があると思います。例えばプロダクションと開発用のウェブサイトなど。そんな時に使える CLI を作りました。

https://www.npmjs.com/package/wwwdiff

`wwwdiff` は 2つの URL を引数に指定して、ブラウザ上でのレンダリング結果の差分画像を生成するツールです。

## インストール

インストールと実行には Node.js が必要です。パッケージマネージャーの npm 経由で `wwwdiff` をインストールできます。

“`shell
$ npm install wwwdiff -g
“`

インストールが完了すると `wwwdiff` コマンドが利用できるようになります。

“`shell
$ wwwdiff -v
1.1.10
“`

## 実行

比較したい2つのウェブサイトの URL を用意して下さい。例えば WordPress のデフォルトテーマで2つのポストを作って比較してみます。

| サンプル1 | サンプル2

元記事を表示

TRPGやる回数増えたから自分たち用のオンラインツール作ってみた

## 背景
1. 友人たちとTRPGをやるようになった
2. セッションはSkype越しにやっており、皆が個別のダイスツールを使っているので、虚偽の報告が可能(しないとは思ってるけど、まぁ、可能)。
3. [リアルタイムでダイスロールを共有するWEBアプリを作ってみた](https://qiita.com/verhichi/items/747bd95b84cccb0ba8b3)
4. TRPGをやる回数が増えた
5. ダイスロール共有だけじゃ機能が足りないと言われた
6. ここまで来たら他のツール使ったほうがいいんじゃね?
7. いや、ここは勉強!自分で実装してみよう!ReactもReduxもwebsocketも知りたいし!

※ちなみに大体4人くらいでやってるけど一人を除いて全員TRPG初心者ですw

## TL;DR
– github(振り返ってみるとすごいコード汚い…)
– https://github.com/verhichi/trpg-space
– サービスのURL
– https://trpg-space.com/

なんかカオスだけど、イメージとしてはこ

元記事を表示

nodejsプロセスのデーモン化

# nodejsをサーバサイドで起動して常駐プロセス化する場合の選択肢
※expressなどのWebサーバとしての用途ではない場合

* [forever](https://www.npmjs.com/package/forever)を使う
* 別途OSレベルのデーモン化を行う。
centos,ubuntuなら、Systemdに登録して運用とか。
この場合は、pacakge.jsonもデプロイ先に配置して依存ライブラリをインストールする。
dependencyをちゃんとruntimeに必要なもので整理する。

元記事を表示

freee API 経由で領収書の画像データを登録する

freee の API 経由で、取引データの登録を行うコードは時折見かけますが、領収書の登録を行うコードはあまり見かけない。

そこで、領収書(画像データ)を会計freeeに登録するサンプルコードを書いてみました。

## 環境

Mac OS
Node.js v10.19.0

## リクエストの書式を確認

freee の開発者向けサイト 「Developers Community」 からAPIへのリクエストの書式を確認する

– 登録したfreee アプリを使ってアクセストークンを取得
– Developers Community にトークンを読み込ませる
– APIリファレンスからテストコール

登録テストに使う事業所の company_id を確認するエンドポイントは [「companies」](https://developer.freee.co.jp/docs/accounting/reference#/Companies/get_companies)
領収書の登録用エンドポイントは[「receipts」](https://developer.freee.co.jp/

元記事を表示

Express Generatorのインストール手順

##1.Expressとは
node.jsのフレームワーク。
APIの作成やルーティングに使うことが主だと思っています。

##2.Express Generatorとは
WEBアプリケーションのひな形を生成できます。
デフォルトのテンプレートエンジンはpug。

##3.前提条件
node.jsがインストールされていること

##4.インストール
①express generatorのインストール
  `npm install -g express-generator`

②ターミナルから、任意のディレクトリへ移動
  `cd qiita`

③プロジェクトを作成
※好みのテンプレートエンジンへ変更することも可能
→公式では「*Expressで動作する一般的なテンプレートエンジンには、Pug、Mustache、EJSがあります*」とある。
  `express tmpapp –view=ejs`

④生成されたフォルダへ移動
  `cd tmpapp`

**確認しよう!**
この時点で、**pa

元記事を表示

【AWS】S3+CloudFrontで静的サイトをホスティング + LambdaでBASIC認証つける

何番煎じかわかりませんが備忘録兼ねて…

[前回の記事](https://qiita.com/duplicate1984/items/3a4d93a2e9bb5fcf54d1)でAmazon ConnectのCCPをカスタマイズしてWebページを作成しました。
Amazon Connect Streamsの仕様により、httpsでホスティングしなければいけないので、
パブリックアクセスを制限したS3にWebページを配置、CloudFrontを経由することでHTTPSによるアクセスを必須とします。
また、ついでにLambdaでBASIC認証を設定します。

#まずS3とかCloudFrontってなに?
AWS初心者なのでまずここからでした。

###S3
Amazon Simple Storage Service
一言でいうとクラウドストレージサービス。安価で容量無制限、高い堅牢性を謳う。
静的Webサイトを配置して公開したり、ログファイルや諸々のデータをバックアップするなどユースケースは幅広い。
Webサイトを配信する際はCloudFrontを経由することが推奨されており、
クラウド

元記事を表示

Node memo

■環境変数とは

環境設定を行う!Node.jsのenvの使い方【初心者向け】


元記事を表示

【node.js】インストールされているパッケージとバージョンを確認する方法

#【node.js】インストールされているパッケージとバージョンを確認する方法

**前提条件**
①npmが既にインストールされている。
 └ npm: node.jsのパッケージ管理システム
  (pythonのpipみたいな役割)

②確認したいフォルダにいる
 └ `cd`で移動済み。

##一覧表示
`npm ls`
インストール済みのパッケージとバージョンをtree形式で確認できる。

“`
$ npm ls

フォルダ名@~
├─┬ ejs@3.1.2
│ └─┬ jake@10.6.1
│ ├── async@0.9.2
│ ├─┬ chalk@2.4.2
│ │ ├─┬ ansi-styles@3.2.1
│ │ │ └─┬ color-convert@1.9.3
│ │ │ └── color-name@1.1.3
│ │ └── escape-string-regexp@1.0.5
│ └── filelist@1.0.1
├─┬ express@4.17.1

“`

##個別確認
`npm vi

元記事を表示

ESLint v7.0.0 の変更点まとめ

前 [v6.8.0](https://qiita.com/mysticatea/items/cc40251136ce167a010b) | 次 (2020-05-22 JST)