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

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

Ethereum(ブロックチェーン)のスマートコントラクトの処理履歴を取得する方法

# はじめに
この記事では、Ethereumのスマートコントラクトの実行結果の履歴を取得する方法について解説していこうと思います。

自身でdAppsを作る場合は、スマートコントラクトの処理の状態を確認するために、スマートコントラクトの実行結果を監視したりします。それ以外にも、他者が作ったdAppsの利用状況を把握するといった目的で、スマートコントラクトの実行結果の履歴を取得することもできます。

今回は、dAppsの利用状況を把握するケースを例に解説していきます。

# 環境
この記事では、下記を利用します。
– 言語:Javascript
– 実行環境:Node.js
– 接続先ブロックチェーンノード:Infura

# 利用状況を確認するdApps
今回はRaribleというdAppsを対象にスマートコントラクトの実行結果を取得します。Raribleは、デジタルアート(NFT)を売買できるdAppsで、2020年12月現在、利用量で世界トップクラスのdAppsです。
https://rarible.com/
![スクリーンショット 2020-11-10 16.30.25.png]

元記事を表示

Flash Advent Calendar 1日目 – JavaScriptでの開発環境の構築 –

当時は`grunt`が主流で、`gulp`が出始めた頃でした。
JSで本格的な開発をするにあたってどちらで進めるか悩んだのですが
折角だから新しい`gulp`を使ってみようという安易な理由で`gulp`を選びましたw

また、当時はJSでテストを全然書いてなかったので
デグレに苦しめられていて。。。この機会にテスト駆動で開発してみようと思ったのも`gulp`を選んだ理由の一つでもあります。

# 目次
1. Node.jsを準備する
2. gulp & karmaを準備する

# 1 Node.jsを準備する
nvmでNode.jsは管理する
※バージョンが古いですが、2015年位のお話なので、悪しからず

“`linux
cd ~
git clone https://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install v8.9.3
nvm alias default v8.9.3
“`
自分のhomeディレクトリにnvmをcloneして起動
macを起動した時に自動でNode.jsが起動す

元記事を表示

時間起動を試作。ドラクエの宿屋の曲をObnizの圧電スピーカーで流してみた。

Obnizの時間起動のテストとして、ドラクエの宿屋の曲を圧電スピーカーで流してみた。起動したい時間をDB登録しておいて、その時間になったら曲を流す。(曲のチョイスはただの遊び。あと、音飛びはただのテストなので勘弁して。)

元記事を表示

【TypeScript】ObjectのKeyに変数でアクセスする

# 1. はじめに
こんにちは!みなさま楽しいプログラミンライフをお過ごしでしょうか?
最近TypeScriptでのReact開発を勉強しています。

**ObjectのKeyに変数でアクセス**しようとしたときに、
**型付けのところでハマったポイントがあったので**、備忘録として残しておきたいと思います。

| | Version |
|:-:|:-:|
|node.js|14.12.0|
|yarn|1.22.7|
|TypeScript|3.8.3|

# 2. やりたいこと
以下のような、
object2のcategoryのvalueと、object1のkeyが一致するvalueの配列に、object2をまるっとpushしたい。object3のようになるイメージ。

“`javascript
const object1 = {
category1: [],
category2: []
}

const object2 = {
id: 1,
title: “nazeudon”,
category: “category1”,
}

const object

元記事を表示

俺のNode.jsでTop-Level awaitが動かない!!なぜだ!?

# 事象

俺の環境でTop-Level awaitが動かない!!なぜだ!?

# 原因
`Top-Level await`は`ES Module`の機能で`Common JS`は未対応なので動かない。

> The await keyword may be used in the top level (outside of async functions) within modules as per the ECMAScript Top-Level await proposal.

訳:awaitキーワードは、ECMAScriptトップレベルawaitプロポーザルに従って、モジュール内のトップレベル(非同期関数の外部)で使用できます。

[出典:Node.js v15.3.0 Documentation
](https://nodejs.org/api/esm.html#esm_top_level_await)

# Node.jsのバージョン

v14.15.1

# サンプルコード

“`
function wait(time) {
return new Promise

元記事を表示

Node.jsでOpenCVを使おう! 〜インストール編〜

Node.js それはJavascriptであんな事やこんな事ができる素敵なプラットフォームですよね!
最近お仕事で「Node.jsでカメラ画像をとって、WebRTCに載せて発信する」という案件が出てきました

しかし、意外にNode.jsからカメラ画像を取得する用途に需要がないらしく、しっかり資料がまとまっていて扱いやすそうだったのがOpenCVくらいでした
それでも導入に詰まってしまったので備忘録がてらまとめていこうと思います

# Node.jsでカメラ画像を取得する時の選択肢
あまり選択肢的には多くありません。代表格として扱われている印象の強かった2つをあげておきます。

– [OpenCV4Nodejs](https://www.npmjs.com/package/opencv4nodejs)
– [node-webcam](https://www.npmjs.com/package/node-webcam)

タイトルにあるとおり、今回はOpenCVラッパーであるOpenCV4Nodejsを使用します。

# 準備/必要な物
インストール前に何が必要かを確認しましょう!

元記事を表示

SteinでSpreadSheetからデータを複数条件(AND)でとって動的にメッセージを作成

#「今日飲みに行きたい人」を募るLINE Botを作っています

タイトルを汎用的なものに言い換えると、
__「DBからデータを抽出して、配列を作るよ。」__
です。

飲みに行く人を誘いにくい状態が続きますが、
もう少し落ち着いたら、対策はしたうえで飲みに行くこともありそうですね。
社内など、__知らない人もある程度混じっているコミュニティ__で、
「今日飲みたい」と思ったときに誘えるLINE Botを作っています。

こんなサービスを実際に__誰かに動くところを見ていただきたく__て、
__使う人が「飲みに行きたい」とやったら、その人の名前(あらかじめ登録した)が出る。__
という基本部分だけとりあえず動的に動くようにしました。

今までは、固定の人に対して送るようにしていましたが、
実際に自分の名前が出たほうが楽し

元記事を表示

node.jsとserverlessを使ってlambdaでアプリを動かす -複数の関数をlambdaにアップする-

## 前回までのあらすじ
[node.jsとserverlessでローカル環境のコードをlambdaにアップできましたとさ](https://qiita.com/udonnamerou/private/734a35bf94af4dcdecbb)

## 目的
ローカル環境で作成した複数の関数をLambdaにアップして動かしたい

## 実践
#### 環境
node.js v12.18.2

#### ディレクトリ構成
“`
ls -a
. .gitignore node_modules package.json
.. handler.js package-lock.json serverless.yml
“`

#### package.jsonの確認
“`
{
“name”: “application-no-namae-desu”,
“version”: “1.0.0”,
“descriptio

元記事を表示

電車好きの子供からの猛攻に耐える妻を救うLINE Botを作る

こちらの記事に発想を得て、自分でもLINE Botを作った。

誰が使うかわからないけど、膝のレントゲン写真を送ったら、その膝がどの程度痛んでいるのか教えてくれるラインbotを作ってみた
https://qiita.com/Teru_3/items/80cecd138860fbd0c924

Qiitaで公開していただいたことにとても感謝いたします。

# 仕様
「LINEから電車の画像(写真でも絵でも)を送ると、その系統・形式を教えてくれる」という、至ってシンプルなもの。

うちの子供が電車をとてもだーーい好きなのだが、普段から

「(駅のホームに入ってきたのを指しながら)あの電車なーんだ?」

とか

「(自分が描いた絵を見せながら)何系描いたかわかる?」

といった質問を、(子供にとっては残念なことだが)電車に全く興味のないママに対して飽きもせず浴びせまくっており、ママがほとほと疲れている・・・というのを科学の力で助けてあげよう!ということで手がけてみた。

なお

元記事を表示

node.jsとserverlessでローカル環境のコードをlambdaにアップする

## はじめに
node.jsで作成したアプリをサーバーレスで動かしたい。

## 環境
node.js v12.18.2

## Lambda関数の作成

#### ディレクトリ作成
“`
mkdir serverless-node-sample
cd serverless-node-sample
“`

#### npmの初期化
“`
npm init
“`

#### Serverlessのインストール
“`
npm install serverless –save
“`

#### Serverlessの動作確認
バージョン確認

“`
sls -v
“`

以下のように表示されればOK

“`
Framework Core: 2.13.0 (local)
Plugin: 4.1.2
SDK: 2.3.2
Components: 3.4.2
“`

#### Serverlessのテンプレート生成
今回はnode.jsを使うので `aws-nodejs`を使用、他にも[pythonやruby用のテンプレート](https://www.serverless

元記事を表示

簡易HTTPサーバーを起動する魔法のコマンドを軽くまとめてみた

# はじめに

とにかくHTTPサーバーを起動したい要望は時々発生します。
例えば、開発中のツールから生成したHTMLファイルをさくっとレンダリングしたいときや、CDNでjsをインクルードしたHTMLファイルをレンダリングしたりするときなどです。

しかし、この世は広い広い情報の海、適切な情報にぶち当たらないときがあります(先日の私みたいに)。そこで、このページでは、そんな悩みに即座に答えられそうなページを作ろうとおもいたったわけでございます。

# Node.jsの場合

vue.jsをCDNで取り込んだときの動作確認でお世話になりました

## インストール

“`
npm install -g http_server # インストール時のみ
“`

## 起動

“`
http_server
“`

参考:[node.js http-serverコマンドでwebサーバーを起動する](https://qiita.com/standard-software/items/1afe7b64c4c644fdd9e4)

# Python2の場合

10年ぐらい前、業務で生成したHT

元記事を表示

wikipediaのワードを使った連想ゲームアプリを作ってみた【Node.js+express】

このアプリはいたってシンプルで、**wikipediaからランダムに取得したワードに関連した言葉を3つ入力するアプリ**です。
(めちゃくちゃ簡単なアプリです。ご承知おきください。)

# 実装環境
ubuntu:18.04.5 LTS
node.js :v10.14.2
express : 4.16.0

+ github:https://github.com/Sparrow42/associate-app

#アプリの使い方
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/403809/2bfa560c-144b-de48-b98b-5a17eddee4be.png)
こちらがトップ画面です。「岐阜中警察署」と出ています。思いついたものなんでもいいので、3つ入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/403809/8381095e-bb69-09fc-9f90-babd

元記事を表示

node-sass で ENOENT: no such file or directory, scandir が出るとき

`node-sass` ではたまに以下のようなエラーが出ます。

“`
ERROR in ./content_script/App.vue?vue&type=style&index=0&lang=sass& (../node_modules/css-loader/dist/cjs.js??ref–4-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js??ref–4-2!../node_modules/vue-loader/lib??vue-loader-options!./content_script/App.vue?vue&type=style&index=0&lang=sass&)
Module Error (from ../node_modules/sass-loader/dist/cjs.js):
ENOENT: no such file or directory, scandir ‘*****/node_modules/no

元記事を表示

gulp実行エラーでnode.jsのバージョンを変更する

###gulp実行エラー発生

“`
$ gulp
“`

gulpを実行すると下記のエラーが発生した。

“`
ReferenceError: primordials is not defined
“`

エラーの意味は、node.jsとgulpのバージョンが合ってないよということ。

ちなみにバージョンは下記

“`
$ node -v
v14.8.0

$ gulp -v
CLI version: 2.3.0
Local version: 3.9.1

$ npm -v
6.9.0
“`

###上記エラーの対処方法は2つ。

1.gulpのバージョンを3系から最新の4系に変更する。
2.node.jsのバージョンを下げる

今回はnode.jsのバージョンを下げる方法で対応する。

ちなみにnode.jsはhomebrewでインストールしていました。

“`
brew install node.js
“`

ここでいろいろ調べてみるとnodebrewという便利なツールがあることを発見。

nodebrewとはnode.jsのバージョンを管理できるツールとのこと。

元記事を表示

WSL2のUbuntu20.04 でroot以外のユーザーでnpmコマンドが使えない

#環境
– Windows 10 Pro
– WSL2
– Ubuntu20.04

#状況
アプリケーション一覧からUbuntu20.04を起動し

“`bash
sudo apt install npm
“`
でnpmをインストールした後,

“`bash
npm –version
“`
実行すると,

“`bash
-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
“`

“`bash
sudo su
“`

してからrootユーザーで実行すると普通にバージョン情報が出力される.
あと, PowerShell経由で`wsl`コマンドで実行すると発生しない.

#改行コードをCRLFからLFへ変更

色々調べてると改行コードが悪さしてそうだったので,
CRLFからLFに変える

無精してVSCodeで変更
![screen_npm_CRLF_to_LF.JPG](https://qiita-image-store.s3.ap-

元記事を表示

【Node.js express Docker】 Dockerを用いてNode.js Express MySQLの環境を構築する

前回の記事で作ったdockerファイルを整理した内容です。

【Node.js】 Dockerを用いてNode.js Express MySQLの環境を構築するまでの道のり
https://qiita.com/sho_U/items/0ef3dfc7b07b5e13fa18

#最初に用意するパッケージ

![f5a0aa2aee3893379d8275aaa56a6f59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547556/e07c1a1a-a311-ba82-c8cc-ccd7423b6df8.png)

###app.env
“`app.env
MYSQL_SERVER=mysql
MYSQL_USER=(ユーザー名)
MYSQL_PASSWORD=(パスワード)
MYSQL_DATABASE=(データーベース名)
“`
###docker-compose.yml:
node.jsコンテナとmysqlコンテナを管理するyml

“`docker-compose.yml
version

元記事を表示

憧れのギニュー特戦隊の誰に似てるか判定するLINEbotを作ったから、ぜってぇ見てくれよなっ!

# ギニュー特戦隊に入りたい
皆さんも(特に男性なら)、人生で一度はギニュー特戦隊に入隊したいと思いましたよね?
今回はその願いを少しでも叶えるべく、次のようなボットを作成しました。
* まさかそんな人はいないと思いますが、ギニュー特戦隊を知らない方は[こちらのwikipedia](https://ja.wikipedia.org/wiki/%E3%82%AE%E3%83%8B%E3%83%A5%E3%83%BC%E7%89%B9%E6%88%A6%E9%9A%8A)をご確認ください。

元記事を表示

AlexaとTodoistでやることリスト・お買い物リスト

Todoistって、Amazon Echoと連携できるんですね!
しかもWebAPIが充実しているので、さらに連携の輪が広がりそうです。

ちなみに、Todoistは、タスク管理ツールです。一般には、やることリストとか、買い物リストが挙げられますが、メモ的に使えて、かつ、期限を設定して予定を立てたり、失念するのを避けるのに役立ちます。

todoist
 https://todoist.com/

今回作成する全体の構成はこんな感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261826/866e09d3-ba34-8361-2ba2-50d40d100c0f.png)

すでに、todoistはAlexaとの連携をサポートしていますし、AndroidやiPhone用のアプリもありますので、その部分は特に難しいところはありません。
今回は、やることリスト・買い物リストの表示をWebページとして表示します。todoistはオフィシャルでWebAPIが充実していますし、npmモ

元記事を表示

Steinで複数条件(AND)でデータをとれない。。。⇒取れた メモ

“`javascript

let userNameList = await store.read(tranSheet, { search: { group_no: groupNo.toString,date: today } }).then(data => {
return data
}).catch(e => console.log(e))

“`

結果のデータを見ると、2つ項目を指定するのはできるのだが、
最初の条件しかきいてないように見える。

確かに、この書き方だとANDかORかわからないもんね。

Steinのページには、Columnを複数指定できそうな記載があるのだが、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737206/ed1870a9-3bc9-f2cb-b63a-c4a141c7e7cb.png)

何を変えたわけではないが、なぜか取れるようになった。

`

元記事を表示

オンライン配信授業で、手を挙げたら【●●さん】とさしてくれるwebアプリを作ってみた

#自己紹介
大学時代C言語を学んでから十数年以来のプログラミングを始めています。
本業はweb制作で、お客様から悩みや感じている課題についてに相談を受ける事も多いです。
LINEbotを中心に、webの技術を利用してどのようにお客様の悩みや課題を解決出来るのか、広く学んでいます!

今回は、[Teachable Machine](https://teachablemachine.withgoogle.com/)というgoogleが提供する機械学習が簡単に行えるウェブブラウザツールを知り、普段の生活に取り入れてみる事にしました!

【オンライン授業でのメンタルサポートAI】

実際に小学校中学年の子どもがオンラインで配信される塾の授業を受けているのですが、テレビ同様一方通行の授業なので、子供のやる気に波があるんです。
すぐに画面からいなくなったり、気が付いたら違う事をしていたり。。。
やっぱり対面での先生の問いかけがあったら、もっと積極的に授業に参加できるのになとは思いますが、このようなご時世なのでオンラインの方が安心ですよね。

家での経験だけではなく、オンライン授業が浸透してきいるな

元記事を表示

OTHERカテゴリの最新記事