Node.js関連のことを調べてみた2022年01月14日

Node.js関連のことを調べてみた2022年01月14日
目次

Symbolブロックチェーンで不正な署名要求を検知し、注意喚起のメッセージを送る方法

現在Symbolブロックチェーン上で、全額振り込みのトランザクションに署名させる詐欺が確認されています。今回はそういった詐欺行為を検知し、注意喚起のメッセージをトランザクションに載せて自動で送信する方法を紹介します。

いつもはBrowser上のJavascriptで紹介していますが、今回は常駐させる必要があるのでNodeJS上で動かします。もちろんブラウザ上で起動させて、イベント期間中だけチケットを配布させるローコードでデプロイレスなスマートコントラクトとして利用するなども可能です。ソースコードについては以下の記事を参考にさせていただきました。

https://qiita.com/VistielArch/items/9d9046d4a21f22debd8e

“`js

const sym = require(“symbol-sdk”);
const nodeURL = ‘https://node.xembook.net’;

//詐欺アカウント
const scamAddress = sym.Address.createFromRawAddress(‘NA3H3EXNWI

元記事を表示

SORACOM LTE-M Button plusをトリガーに、LINE Notifyで位置情報を通知する

#はじめに
SORACOM LTE-M Button powered by AWSを以前使っていたのですが、紛失。
しかし最近このLTE-Mボタンを使う機会ができたので、これを機にLTE-M Button Plusを買いました。

https://soracom.jp/store/5207/

そしてこのLTE-M ボタン Plusを使い、AWS lambda、そしてIFTTTを介してLINE Notifyの通知を使う事を実現してみました。

調べてわかったのですが、このボタンはPowered by AWSのモデルと違いボタンを押した位置座標を大まかではあるものの取得できる機能があります。そこで、今回はtwitterの動画にあるように、LINE Notifyに文章を送るだけでなく、今の位置情報をGoogle maps APIの中のStatick map APIを使って一緒に今の位置情報を画像で送ってみました。

この記事ではこの実現方法をまとめます。

#開

元記事を表示

Googleさんの zx をローカルインストールして「nodeコマンドで実行」/「ファイルを直接指定して実行」

この記事の内容は、昨年末のアドベントカレンダー用の記事でも扱った、[Googleさんの zx](https://github.com/google/zx) に関するものです。

●【Backlog 2021】 Googleさんの zx で Backlog API を扱う(JavaScript で課題を追加する) – Qiita
 https://qiita.com/youtoy/items/36ea84e09332d4e6815a

## 何をやるか
今回の記事で扱う内容は、以下のとおりです。

– `npm i zx` で zx をローカルにインストールして使う
– `node ●●.mjs` というような nodeコマンドを使った処理の実行
– `./●●.mjs` というようなファイルを直接実行する形での処理

## 下準備
冒頭の記事でも書いている、今回のセットアップの話をざっくり書きます。
なお、自分が試している環境は Mac で、Node.js のバージョンは 14.18.2 です。

Node.js のバージョンについては、公式ページに以下の指定がありますので、その点だけ

元記事を表示

Express.jsにPassport.jsで、任意のフォルダ配下のみをBasic認証する

## 概要
expressを使って特定フォルダのみパスワードを掛けたい。

参考サイト、、、っていうかほぼ以下のページからゴニョゴニョした。
ありがとうございます。
Express.jsにPassport.jsで、任意のフォルダ配下のみをBasic認証する
https://qiita.com/hoshimado/items/272fba1aeb728e14f278

“`JavaScript
const express = require(“express”);
const PORT = 3000;
const app = express();
//
const passport = require(“passport”);
const passportHttp = require(“passport-http”);
passport.use(new passportHttp.BasicStrategy(
function (username, password, done) {
if(username==”user” && password==”pass”){

元記事を表示

javascriptの変更をブラウザに即時反映して動作確認したい

# javascriptの変更をブラウザに即時反映して動作確認したい

lite-serverを利用する。

jsやtypescriptを利用して開発をしている場合に、スクリプトの反映をわざわざブラウザの再読み込みを押さなくとも開いているブラウザを自動でリロードしてくれるツール。

# 利用できる環境構成

html & javascript & css で構成されているサーバーロジックに依存しないシステムや開発フェーズにおいて効果を発揮する。

# セットアップにいいサイト

https://enjoy-a-lot.com/typescript-init/#toc4

# 利用する際にいいサイト

lite-serverを使った開発サーバの構築

# わからないこと

– どんな仕組みで動いているか
– Webサーバーを持つような場合に利用シーンがあるのか、ないのか判断できてない(基本はなさそうな気がする)

元記事を表示

ワイ「Node.jsってなんぞや?」

#ワイ「JavaScriptを触りたいンゴ」
ワイ「せっかくJavaScriptとTypeScriptについて知ったから触ってみたいで」
PC「JavaScriptはブラウザ上で動く言語やで^^」
ワイ「なんやこいつ」
ワイ「C++とかPythonとかとは仕様が違うんか」
PC「せや」
PC「だからファイルの読み書きが出来なかったり、通信が出来なかったりするんやで^^」
ワイ「なんやこいつ」
![js-ts.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379533/df4cc731-f64f-17ab-1270-90e15ab6ab65.jpeg)

#ワイ「どうするのが正解なんや?」
ワイ「まあ誰かがいい感じの作ってくれてるやろ(未来予知)」
PC「`Node.js`を使えばいいんやで」
ワイ「ほらな」
ワイ「なんやそいつは」
Nodeくん「説明しよう!!」
ワイ「なんやこいつは」
Nodeくん「`Node.js`は一言で言うと、JavaScriptの`実行環境`だよ」
Nodeくん「ローカルで実

元記事を表示

Expressで実装したREST APIのresponseスキーマはjest-openapiで期待通りか?テストできる

## 以下の記事を参照して頂ければと思います
https://note.com/shift_tech/n/n3725f8a55b8d

**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です**

元記事を表示

【Sequelize】ハマったポイントのメモ

Sequelizeを少し使ってみて、いろいろハマったところがあったので、そのメモ。
version: “Sequelize CLI [Node: 16.13.1, CLI: 6.3.0, ORM: 6.12.0-beta.1]“

# migrationでファイルを指定してundoするときの注意点

“db:migrate:undo:all“に“–to“オプションを付けてファイル名を指定すると、「そのファイルまで」undoされる。
例えば、migrationパス配下にA、B、Cの3ファイルがあって、A→B→Cの順に作成していたと仮定して、“–to A“と指定すると、AだけでなくBもCもundoされる点に注意。
決して「そのファイルの分だけをundoする」という意味ではない。
※基本的には[ここ](https://sequelize.org/master/manual/migrations.html#undoing-migrations)に載ってる

# sequelizeオブジェクトのつくりかた

“sequelize.query“とかを使うために“seq

元記事を表示

JavaScriptのClassでprivateメソッドを実装すると「Parsing error: Unexpected character ‘#’ eslint」エラーになる

## はじめに
ESLintを設定している時に、以下の図のようなエラーが発生した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372684/7f45977c-39c1-9484-2659-c54ecba53200.png)

今回はこのエラーを解消する方法について調べてみたのでその備忘録を残す。

## ESLintについて
https://qiita.com/yuta-katayama-23/items/5d73bbe79c19301551df#eslint%E3%81%AE%E8%A8%AD%E5%AE%9A

を参照。

## ESLintのparserOptionsを指定する
JavaScriptsのprivateメソッドはes2022の機能なため、以下のようにESLintの設定を変える必要がある。

“`json
// .eslint.json
{

“parserOptions”: {
“ecmaVersion”: 13
},

}
“`

元記事を表示

Google Cloud Functions で Twitter の定期投稿Botを作成

#はじめに
Twitterに定期的に投稿するBotを作ってみたのでその記録。
Twitter APIはGoogle Cloud Functions 上でnode.jsで実装。
スケジューリングは Google Cloud Schedulerを利用した。
Cloud Schedulerからは直接Cloud Functions を起動できないので、間にGoogle Cloud Pub/Sub を挟んでいる。

####ポイント
– Firebaseは利用しない(Firebaseが必須というような記事も見受けられるが誤解)
– TypeScriptも利用しない(Cloud Functionsが未対応なので使用しない)

#Twitter APIの準備
TwitterのAPIを利用するにはAPIのキーが必要だがこれはTwitter Developer Potalで取得する。
この辺りは、こちらあたりの記事が参考になるかと思う。
参考 [Twitter API を利用するには](https://qiita.com/taishi0202/items/092c267c0c6dc68347c5)

元記事を表示

Windowsでnode-gypが成功した話

## エラーが出る人は下準備をしていない?!
エラーが出るのはnode-gypの基準に満たしてないかも!
[node-gyp公式サイト](https://github.com/nodejs/node-gyp#on-windows)に詳しい情報が載ってるので英語が得意な人は読んでみてください。

## 下準備
以下のことを順番通りにしてみてください!

## Pythonのインストール
まず、Pythonをインストールしてください。
[Microsoft StoreのPython](https://docs.python.org/3/using/windows.html#the-microsoft-store-package)をおすすめします。

## Visual Studio Build Toolsのインストール
Pythonの次に、[Visual Studio Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools)が必要です。

元記事を表示

私がサクッと認証付きで Node.js からメールを送った話

## 認証付きで Node.js からメールを送るのは初心者には難しい?

人によって難易度は違うように感じますが、これはそこそこ難しいと思います。
どうしても、エラー文が分かりにくく解決策も簡単に見せてはくれません。
なので、挑戦するときは **挑戦して成功した人** と一緒に挑戦するといいでしょう。

## 必須条件

– Node.js が扱える・動かせる
– メール・Node.js についての知識がそこそこある
– サーバーとドメインがある
– サーバーで、すでに Node.js 製の何か(Web サーバー等)があり、ドメインの設定等が済んでいる

## Zoho 契約

### 無料で使える Zoho メールサービスに契約

[Zoho 公式サイト](https://mail.zoho.com/)にアクセスして、契約してください。
契約はサイトの通りにしてください。

### Zoho メールサービスのセッティング

このサービスのセットアップウィザードは、非常に分かりやすいのでここに記載する必要はないでしょう。

### おっと!

Zoho のメールサービスの

元記事を表示

そのオープンソースプロジェクト、公開前に大事な情報コミットしてない?

通常、秘密鍵やAPI Tokenはソースコードとは分離させ、.envファイルなどに保存しておいて、Gitのコミットには含めない。しかし、実装の初期には.envを一時的にコミットに含めている事例も珍しくない。それを後で削除してコミットしても、履歴としては残っている。

この記事では、スマートコントラクト用の秘密鍵や、APIトークンなどの情報をGitのコミット履歴から検索し、リポジトリを公開する前に安全を確認できるツールを紹介する。

##コミット履歴を展開する
私の作ったesightというツールを使う。

https://github.com/TakutoYoshikai/elemental-sight

git logを使って確認するのが一般的だが、一度全て展開した方が、後の編集や確認が楽になる。

**インストール**

“`bash
pip3 install git+https://github.com/TakutoYoshikai/elemental-sight.git
“`

**コミット履歴の展開**

出力先ディレクトリに、全てのコミットの差分ファイルが展開される

元記事を表示

nvm-windowsでNode.jsをインストールする

## nvm-windowsとは
Node.jsのバージョンを管理するアプリケーション。
複数のバージョンをインストールして、好きなタイミングで使用するバージョンを切り替えたりできる。

## nvm-windowsをインストールする
[Gitリポジトリ](https://github.com/coreybutler/nvm-windows/releases)から`nvm-setup.zip`をダウンロードし、`nvm-setup.exe`を実行する。

:::note warn
聞かれる質問は基本的に全てデフォルトで問題ないが、インストール先のフォルダのパスの半角スペースが含まれる場合、コマンド実行時に動作しない可能性がある。
:::

## mvnのバージョンを確認する
インストールできたら下記のコマンドでバージョンを確認できる。

“`
❯ nvm version
1.1.9
“`

## インストール済みのNode.jsを確認する
現段階ではまだ何もインストールしていないため、`No installations recognized.`が出力される。

“`
❯ nvm

元記事を表示

Firebase CLIとかの出力が2022-01-10の一時期に乱れてた件

※Firebase CLI については更新されたので `npm update` すればもう大丈夫です

## どうした

`firebase-tools` とかの出力がおかしい。

## どうして

依存の依存の(中略)依存である `colors` に変なリリースがあった。作者故意のものなのでそこの更新は期待できなさそう。

– `v1.4.2`, `v1.4.1` ← 問題あり
– `v1.4.0` ← 大丈夫

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

## どうする

### 直接利用している場合

過去のバージョンで固定すれば大丈夫。

“`console
$ npm install colors@1.4.0
“`

### 依存の依存の場合

基本的には対象パッケージの更新待ちです。動く状態の `package-lock.json` が残っている場合、そのままにしておきましょう。

更新が来たら `npm update` で

元記事を表示

React Nativeのstart時にエラー

npx react-native start
コマンド実行時に下記のようなエラーが出た。

failed to construct transformer envelope routines::unsupported

digital envelope routines::initialization error

そのため、npx react-native run-androidを実行すると、Androidの仮想デバイスも赤いエラー画面が出力。

調べたところ、どうやらnode.jsのバージョンがいけないらしい。
自分が使っていたのは最新バージョンの17.3.0
v17でこのエラーが発生するようなので、安定バージョンの16.13.1にダウングレードすることで解決しました。

ちなみにnode.jsのダウングレードはWindowsだとコントロールパネルからnodejsをアンインストールして、
node.js公式から16.13.1をダウンロードして、インストーラを走らせるだけ。

元記事を表示

お正月休みにGitをインタラクティブに操作できるサブコマンドツール作ってきました

年末からお正月にかけての時間で趣味でツールを作ってみました?
Gitのちょっと面倒な操作をインタラクティブに行えるGitのサブコマンドツール[git-ex](https://github.com/yasukotelin/git-ex-js)を作成してnpmに公開しています。

https://github.com/yasukotelin/git-ex-js

https://www.npmjs.com/package/@yasukotelin/git-ex

僕は普段はAndroidエンジニアとしてKotlinを書いていますが、趣味ではVimのカラースキーム作ったり、Goでツール作ったり、Rustに手を出したり、、、など色々しています。今回はJavaScriptのターミナルのライブラリがとても良さそうだったのでnode製のCLIツールを作ってみました?!

このQiita記事では前半にツールの紹介と、後半で実装面を書いてみようと思います。

## ツールの紹介

僕は普段Gitをターミナル上でコマンドで使っているのですが、たまにSourceTreeなどのGUIツールやTIGなどのツール

元記事を表示

Dockerで安全にnode.jsウェブアプリをコンテナ化する

Happy New Year!
年末、年始があっという間に終わり、明日は成人の日。
来週からコーディングのオンラインクラスを受けることになった。4−6ヶ月になりそうであるが、無事乗り切れるのか、少々不安も。javascriptを習得するコースなため、最終的にnode.jsのサーバーサイドでのコーディングもできるようになるまでの知識を得られるよう頑張ろう。node.jsの環境構築に不可欠ともいえるdocker。
今回は、[10 best practices to containerize Node.js web applications with Docker](https://snyk.io/blog/10-best-practices-to-containerize-nodejs-web-applications-with-docker/)
の翻訳記事のご紹介です。

今回は、特に翻訳に苦労しました。読みにくい部分もあると思いますが、どうぞ最後までお付き合いください。

#Dockerでnode.jsウェブアプリケーションをコンテナ化するための10のベストプラクティス

LiranT

元記事を表示

Node.js: MySQL 8.0 で接続エラーが出た時の対策

次のエラーが出た時の対策です。

“`text
code: ‘ER_NOT_SUPPORTED_AUTH_MODE’,
errno: 1251,
sqlMessage: ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’,
sqlState: ‘08004’,
fatal: true
“`

エラーが出るプログラム

“`js:maria_version.js
#! /usr/local/bin/node
// —————————————————————
// maria_version.js
//
// Jan/09/2022
//
// —————————————————————
‘use strict’

// ———

元記事を表示

Githubにある自作のnpmモジュールをnpm installしてENOENTなエラーが出た時

# はじまり

自分で作ったnpmモジュールをubuntu環境へinstallしようとしたときに以下のエラーが出ました。

“`bash:log
root@ca04e13630cb:/usr/app# npm install git+https://github.com/Landmaster135/FeedFetcher.git
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno -2
npm ERR! enoent An unknown git error occurred
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-01-08T17_49_46_172Z-debug-0.

元記事を表示

OTHERカテゴリの最新記事