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

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

Error: npm ls -prod -json -depth=1 failed with code 1

AWS CLIの`serverless package`コマンドでデプロイパッケージ作成処理を行った際に、以下のエラーが出た。

`Error: npm ls -prod -json -depth=1 failed with code 1`

node_modulesでエラーが出ているということなので、削除した後、`yarn install`を行ったが、解決しなかった。

## 解決方法
Nodeをダウングレードした。

Node Version: 15.8.0

Node Version: 14.15.4

“`
nvm list
“`

![スクリーンショット 2021-08-05 10.25.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1232501/5118b2bb-d5b3-88ca-a225-c67bea7f4efb.png)

“`
nvm use v14.15.4
“`

以上。

元記事を表示

【AWS】Lambda+SQSでサイロ + プールモデルを実現するためのディスパッチャ構成検討

## きっかけ
– 弊社が過去に開発し、現在も引き続き運用、追加開発をしているクライアントのSaaSがあり、:man_tone1: “特定のユーザが大量にリクエストしたときに他ユーザのリクエスト実行まで時間がかかるので、解消したい”とのリクエストをもらったから。

## 現状分析
– リクエスト受信部分はREST APIで構成、他ユーザのリクエストに処理時間は依存しない
– 実処理部分はリクエスト受信部分と非同期で処理を行っており、実処理が順次実行のため、この部分がボトルネック
– 以下サイトで分類されている分離パターンでは現状は、1. サイロモデル

https://aws.amazon.com/jp/builders-flash/202105/tenant-isolation/

– 特定処理、特定ユーザだけ分離できればいいので、3.サイロ + プールモデルを目指したい

## 検証で目指す構成
– リクエストを受けるSQS→各リクエストを割り当てるDispatcher用Lambda→特定ユーザ用SQS,汎用ユーザ用SQSとそれぞれ実処理Lambdaをつなげる(本記事では実処理L

元記事を表示

node.jsでsocket.ioを使い大きなデータを送信すると途切れる話

node.jsで音声データのやり取りをする処理を書いたのだが、大きなデータだと途切れる時がある。

なんか色々調べたら、これで解決できるらしい。

socket.ioを持ってくるときに

“` app.js
const io = require(‘socket.io’)(http,
{maxHttpBufferSize: 1e10}
);
“`
バリバリドキュメントに書いてあるのだが、しばらく沼ったのでメモ

maxHttpBufferSize は指数記法で書くらしい

https://socket.io/docs/v3/server-initialization/#:~:text=upgrade%20is%20cancelled.-,maxHttpBufferSize,-Default%20value%3A%201e6

元記事を表示

cloudFunctions上でpuppeteerのuploadFileを使う

cloudFunctions上のpuppeteerで画像アップロードする際、ハマってしまったことがあるので備忘録です。

## やりたいこと

①cloudFunctions内からpupeteerを動かす
②対象のファイルを`input type=”file”`に入れる

この流れです。
簡単そうに見えますが、ここでハマってしまいました…

## ハマった原因

puppeteerで画像をuploadする際は[uploadFile](https://pptr.dev/#?product=Puppeteer&version=v10.1.0&show=api-elementhandleuploadfilefilepaths)という関数が用意されています。
uploadFileは以下のように書くことができます。

“`js
// アップロードする対象を選択
const inputUploadHandle = await page.$(‘input[type=file]’);
// アップロードするファイルのパスを選択
let fileToUpload = ‘./upload_file.j

元記事を表示

[Nodejs] 浮気者のthisを固定して一途に変えてやる

# はじめに
めちゃ久しぶりに記事書きます。Pirikaraです。
最近ほぼJavascriptばっかり書いてますが、業務中に解決したやーつを共有したいと思います。

# this
呼んだ所々で値が変わってしまう`this`。大変浮気者ですよね。
thisの挙動の違いについては[こちら](https://qiita.com/knknkn1162/items/0fa7dcb6a735125d21db)。

僕は大変真っ直ぐな男なので、日々不倫やら浮気のニュースに心を痛めています。
人間界でも浮気は困ったものですが、プログラミングでも最近thisの浮気で困ったことになりました。

# Jestでthisを扱うコードをテストする時に詰んだ
こちらのmixinは、Vue.jsのコンポーネントにmethodsとして読み込まれる関数をまとめたものです。
バックエンド(Ruby on Rails)のコードは自動テストを走らせて品質を担保していますが、フロントのjsファイルに関してはE2Eテストを行なっていました。
E2Eだけでは見落としが発生してしまうので、フロント側にも段階的に自動テストを導入して

元記事を表示

【Heroku】Node.js × TypeScript で作成した API を Heroku にデプロイする。(なるべくCLIは使わない)


# 概要

表題の通り、Node.jsで作成したAPIを**Heroku**にデプロイする工程をまとめました。
CLIが苦手なので、なるべく使わない方向でデプロイします。


# 環境

– Windows10
– VSCode

グローバル環境に以下をインストールしているものとします。

– Node.js(npm)
– TypeScript


# API を作成する

OTHERカテゴリの最新記事