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

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

VS Code の拡張機能、Teams Toolkit を使ってマイクロソフト Teams のアプリを開発しよう

みなさん、いかがお過ごしでしょうか?

前回の Microsoft Teams 開発者プラットフォームに関連する記事では、[Tab](https://qiita.com/girlie_mac/items/97fa81e67ad6ba0f6f35) と [Bot](https://qiita.com/girlie_mac/items/18cb83a021f3412317c6)、そして[メッセージ拡張機能](https://qiita.com/girlie_mac/items/646a5bfeeb7bd5da73c9)といった機能を構築する方法を紹介しました。それらのチュートリアルでは Teams アプリ機能の種類や概念についてに焦点をあてるために App Studio を使用し、手動で最小限のローカル環境のみをセットアップする方法をとりました。

今回のチュートリアルでは、最近リリースされた開発者ツールを使っての開発方法を紹介したいと思います。
![toolkit-cover-1000×420.png](https://qiita-image-store.s3.ap-northeast-

元記事を表示

node_modulesを復元する方法

過去のLaravelプロジェクトなどで使っていたnode_modulesを新規プロジェクトでもそのまま使いたかったので、復元方法を備忘録として残して起きます。

#前提
・npmが使えること

#用意するもの
・過去プロジェクトなどで利用したpackage.jsonの`”devDependencies”: { … }`
・新しいプロジェクト(インストール済み)

#やり方
自身の過去プロジェクトなどからpackage.jsonを開き、`”devDependencies”: { … }`をまるごとコピーします。
自分の環境では以下のコードをまるっとコピーしましたが、自身の環境に合わせて削除(または追加)してください。

“`package.json
“devDependencies”: {
“@babel/core”: “^7.14.3”,
“@babel/preset-env”: “^7.14.4”,
“@tailwindcss/forms”: “^0.2.1”,
“@tailwindcss/postcss7-compat”: “^2.0.4”

元記事を表示

electronを使ってwindowsで音声入力できるようにするアプリを開発した

音声入力を色々と触るようになってきたので、windows上で疑似入力できるようにアプリを作ってみる。

“`app.js
socket.on(‘soundMessage’, function ( data ) {

textMessage = data;

console.log(data);

var ks = require(‘node-key-sender’);

clipboard.writeText(textMessage);

ks.sendCombination([‘control’, ‘v’]);

}
“`

web speech apiが結構便利

windowsアプリからブラウザをホスティングしてそこから文字データを持ってくる
やり方で作成した。

node.jsで文字を疑似入力するときにnode-key-senderが便利
クリップボードに文字データを張り付けてControl + V を

元記事を表示

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カテゴリの最新記事