- 0.0.1. メモ:Node.js(http)でWebSocketを扱う
- 0.0.2. Node Scheduleで定期処理を行う
- 0.0.3. JLCPCB-3Dブリントサービスの始まり
- 0.0.4. 気象庁公式の天気予報の情報を Node.js で取得し中身を検索する(ライブラリに Got を用いる)
- 0.0.5. 【Node.js】Error: error:0308010C:digital envelope routines::unsupported【エラー】
- 0.0.6. react-hooks 基礎
- 0.0.7. OS/実行環境の情報を取得する【Node.js/C#/Python】
- 0.0.8. なぜ私はdiscord.jsを選ぶのか
- 0.0.9. ○○分後に死ぬSpatial.chat ~ 裏仕様10000分数制限との戦い、そして事件は起こった ~ #iotlt #protoout
- 0.0.10. node.jsとexpressで、クライアントに表示されるサーバーサイド情報を隠す
- 1. Hello World
- 1.0.1. 【nvm】nvm use で exit status 5: になってしまった時の解決方法
- 1.0.2. 【基礎】 discord.js v13 でボット作成 #4 ~コマンドログ~
- 1.0.3. nvm-windows の導入と簡単な操作をやってみた
- 1.0.4. Discord.jsで画像認証BOTを作ろう
- 1.0.5. Node.jsをセットアップウィザードなしで使用する方法
- 1.0.6. Denoで使えるNode.jsライブラリ集
- 1.0.7. 気象庁公式の天気予報の情報(JSON)を curl・Node.js で取得し Node.js での処理を試す
- 1.0.8. 【Firebase】Cloud Functionsのトリガー関数でSlackの通知を送信する
- 1.0.9. ESP32ボード
- 1.0.10. [node.js] If you are behind a proxy, please make sure that the network 'proxy' config is set properly. の解決例
メモ:Node.js(http)でWebSocketを扱う
基幹系システムではあまり出番がないので触っていなかった双方向通信のWebSocket
[ここ](https://www.sejuku.net/blog/82316)とか
[ここ](https://qiita.com/ij_spitz/items/2c66d501f29bff3830f7)を参考にテストWindowsServer2012, Nodejsはv14.16でテスト
# Node.js側
単純にWebSocketを使う場合は
`npm install ws`
でいけるが、Socket.ioを使う場合は
`npm install socket.io`
でインストールする。
今回はsocket.ioを選択サーバ側ではexpressではなく通常のhttpを利用した。
server.onでclient.htmlを返すように設定“`javascript:server.js
var fs = require(‘fs’);
var http = require(‘http’);
var server = http.createServer();// HTTPのアクセ
Node Scheduleで定期処理を行う
プロジェクトでnode-scheduleライブラリを使って定期処理を行いました。
この記事は自分用メモです。# Node Scheduleの概要
Node Scheduleはインターバルベースではなく(interval-base),タイムベース(time-base)で定期処理を行います。例えば、2021年11月8日にあるプロセス(メソッド)を実行したい場合、適切なパッケージだと思います。
Node Scheduleはcron-style schedulingです。
“`
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 – 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 – 12)
│ │ │ └────────── day of month (1 – 31)
│ │ └─────────
JLCPCB-3Dブリントサービスの始まり
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/81d8a1bc-1350-aa5c-5714-7961d643da00.png)
https://jlcpcb.com/3d-printing
いよいよJLCPCB プリント サービスが始まりました。
ご注文の際、https://jlcpcb.com/JPA を通してクーポンを受け取ることができます。
また、「JLCPCB$7」のコードを入力すると7ドルの割引があります。
気象庁公式の天気予報の情報を Node.js で取得し中身を検索する(ライブラリに Got を用いる)
以下のシリーズの続きのようなものになります。
●気象庁公式の天気予報の情報(JSON)を curl・Node.js で取得し Node.js での処理を試す – Qiita
https://qiita.com/youtoy/items/932bc48b03ced5a45c71●curl で取得した気象庁公式の天気予報の情報(JSON)を jqコマンドで処理する – Qiita
https://qiita.com/youtoy/items/db5b515d400d2aa96420上記の 1つ目の記事で Node.js による処理を行っていたものの、上記の 2つ目の記事に含まれるような中身の検索は行っていませんでした。
そこで、Node.js で取得した情報の中身を検索してみよう、というのがこの記事の内容です。## 気象庁公式の天気予報の情報を Node.js で取得
冒頭の 1つ目の記事の中では、Node.js による情報取得に axios を使っていました。“`javascript
const axios = require(“axios”);const u
【Node.js】Error: error:0308010C:digital envelope routines::unsupported【エラー】
##発端
https://ja.reactjs.org/docs/create-a-new-react-app.html#create-react-app
create-react-appしてnpm startを叩いても開発サーバーが起動しないというエラーにハマったのでメモ##環境
macOS Catalina v10.15.6
Node.js v17.0.1##エラー
“`text
Starting the development server…/Users/xxxx/xxxx/React_Practice/my-app/node_modules/react-scripts/scripts/start.js:19
throw err;
^Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
react-hooks 基礎
## 目次
1. [react-hooksについて](#1-react-hooksについて)
1. [useState](#2-usestate)
1. [useEffect](#3-useeffect)
1. [useRef](#4-useref)
1. [React.memo / useCallback / useMemo](#5-reactmemo–usecallback–usememo)
1. [useReducer](#6-usereducer)
1. [Context / useContext](#7-context–usecontext)
1. [カスタムフック](#8-カスタムフック)## 1. react-hooksについて
* Reactのバージョン16.8.0で追加された機能
* 関数コンポーネントで利用できる関数のこと
* クラスコンポーネントでしかできなかったこと(state管理)が、関数コンポーネントでもできるようになる
* クラスコンポーネントよりもコード量を減らせる
* ロジックを分離できるので、ロジックの再利用やテストがしやすい## 2.
OS/実行環境の情報を取得する【Node.js/C#/Python】
Node.js/C#/Pythonの3言語にてOS/実行環境の情報の取得方法を調べたのでここに備忘録を記す。
# Node.js
“`js
“use strict”;
const os=require(“os”);(function(){
// プラットフォームID
console.log(process.platform);
// OS名
console.log(os.type());
// OSバージョン
console.log(os.release());
// OSアーキテクチャ
console.log(process.env.PROCESSOR_ARCHITEW6432||process.arch);// Node.jsバージョン
console.log(process.version);
// Node.jsのアーキテクチャ
console.log(process.arch);
})();
“`
[ideone](https://ideone.com/k2EVS
なぜ私はdiscord.jsを選ぶのか
## 前書き
最近というか前々から私はdiscord.jsでの開発をメインにしています。
旧垢含め、時々discord.pyの開発を多めにやっていたこともありましたが、やっぱりdiscord.jsの開発に戻ってきます。
なぜ私がdiscord.pyやdiscord4J、discordrbではなく、discord.jsを選んだのかをご紹介したいと思います。## 初心者でも比較的簡単に開発できる
1番目にこれかなと思っています。
私のようなプログラミングをし始めた初心者でも比較的簡単に開発ができると思っています。情報が多いので、初心者でも調べれば分かるなんてこともあります。
意味は分かってなくてもYoutube見てなんとなくコードを書いてみたら動く、なんてこともあります。(一応意味が分かっていた方が良いとは思います)## 情報が多い
先程と繋がりますが、情報がめちゃくちゃ多いです。
Discord.js Japan User Groupというものもあります。https://scrapbox.io/discordjs-japan/
試しにGoogle先生に「discord.js
○○分後に死ぬSpatial.chat ~ 裏仕様10000分数制限との戦い、そして事件は起こった ~ #iotlt #protoout
いや、戦えません。撤退する話です。
そしてそこまで大トラブルにはなってない(個人の感想)けど面白いので記事にしておきます。
トラブル発生 -> ネタにして実装&記事まで書くができたのでトラブルに逆に感謝。
## Spatial.Chatのフリープランは裏仕様がある
[IoTLTのハッカソン](https://iotlt.connpass.com/event/227414/)で知りました。
node.jsとexpressで、クライアントに表示されるサーバーサイド情報を隠す
##はじめに
初めまして!
現在、node.jsとexpressを使ったWEBアプリ開発の学習を始めた初学者です。
これから、学習の中で学んだことを、記事にしていこうかな〜と思っています!##結論
app.jsに、“`
app.disable(“x-powered-by”);
“`
を追加する。##詳細
詳しく見ていきます。以下、ソースコードです。“`javascript:app.js
const express = require(‘express’);const app = express();
app.set(“view engine”, “ejs”);
app.disable(“x-powered-by”); //これ!!!app.get(‘/’, (req, res) => {
res.render(‘hello.ejs’);
});app.listen(3000);
“`
“`ejs:hello.ejs
Hello World
“`
この1文を入れることで、ブラウザの検証ツールからサーバーサイドが何でで
【nvm】nvm use で exit status 5: になってしまった時の解決方法
## 概要
`nvm use *.*.*`
を実行した結果、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/230436/f10ef6a1-1790-db92-18c3-0528ee322e99.png)
となってしまった場合の対策です。
## 原因
文字化け部分はどうやら
`Access is denied.`
のようです。
## 解決方法
管理者権限でターミナルを立ち上げる!
`nvm use *.*.*`
↓
`Now using node v*.*.*`
【基礎】 discord.js v13 でボット作成 #4 ~コマンドログ~
## 前書き
[前回](https://qiita.com/hitori_yuu/items/72edadc4b9e11e559b38)、コマンドをさらに使いやすく、ということでコマンドに情報を入れてみたりしました。
今回は、だれがいつ、どこでコマンドを使用したか、というログをとれるようにしたいと思います。
中型くらいのボットになると、トラブルを防ぐためにユーザーが使用したコマンドのログを取る事が多いと思われます(多分)
今回は、そのようなログを取る方法を紹介していきたいと思います。(意外と簡単かもです)## 開発環境
[前回](https://qiita.com/hitori_yuu/items/72edadc4b9e11e559b38) と変わりません* Windows10
* npm 7.6.3
* node 17.0.1
* discord.js 13.3.1## コーディング
[前回](https://qiita.com/hitori_yuu/items/72edadc4b9e11e559b38)触れた`index.js`を編集します。“`diff_java
nvm-windows の導入と簡単な操作をやってみた
# はじめに
node.js をいじりたい欲が湧いてきたので、開発マシンにインストールしてみました。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うのが良いらしい。
という訳で、バージョン管理ツールは nvm-windows を使います。このページでは、先人たちがまとめた記事を参考に自分がやったことを(:beginner: 記事を書く練習も兼ねて)まとめています。
# やったこと
Windows10 (64bit) の PC に nvm-windows と node.js のインストールし、
node.js のバージョン管理の初歩的な操作をやっています。# nvm-windows のインストール
はじめに nvm-windows をインストールします。## 手順
1. https://github.com/coreybutler/nvm-windows/releases から任意のバージョンの ***nvm-setup.zip*** をダウンロードします。
(2021年11月7日時点の最新バージョンは 1.1.8)
1. ***nvm-set
Discord.jsで画像認証BOTを作ろう
#Discord.jsで画像認証BOTを作ってみる
必要なもの
Discord.js(v12)
canvas
aurora-mongo
mongodbについての知識
ttcフォントファイル
[サンプルフォントファイル](https://cdn.discordapp.com/attachments/906782346127220736/906788547737034752/1.ttc)
フォントの部分のプログラムは自分で書き換えてねサンプルフォントファイル使う場合はそのままでOK詳しい解説動画はこちら[click me](https://www.youtube.com/watch?v=ozKCSx0DUaU)
#コード
“`js
const Discord = require(‘discord.js’);
const client = new Discord.Client()
const mongo = require(“aurora-mongo”);
mongo.connect(“YourmongoKey”)//mongoと接続するためのKeyを入れて(mongodb+srv
Node.jsをセットアップウィザードなしで使用する方法
## はじめに
Node.jsアプリケーションを、実行可能ファイルにまとめたい。Node.jsをUSBに入れて、持ち運びたい。
Node.jsを環境にインストールしなくてもNode.jsアプリケーションが動作するようにしたい。
をするためにポータブル化する方法
## 手順
環境 Windows 64ビット### 1. Node.js のサイトから利用したいバージョンを選ぶ
https://nodejs.org/dist/
v16.13.0を使いたい –> https://nodejs.org/dist/v16.13.0/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946490/bc612d62-fc60-2f0d-5d8e-3e109ddf7d4c.png)### 2. node-v*.*.*-win-x64.zip をダウンロードする
v16.13.0 –> node-v16.13.0-win-x64.zip
![image.png](https:/
Denoで使えるNode.jsライブラリ集
一時期「DenoではNode.js向けのライブラリが使えないのでは…」みたいな噂があったりしたのですが、[最近ではNode.js組み込みライブラリのPolyfillも進行しており](https://github.com/denoland/deno_std/commits/main/node)、Denoで使えるNode.jsライブラリが増えています。
また、最近ではDenoにNode.js互換モードの`–compat`フラグが追加されたり、**Deno向けに書かれたライブラリをNode.js向けに変換する[dnt](https://github.com/denoland/dnt)というツール**や、Deno標準ライブラリのPolyfillをNode.js向けに提供する[deno.ns](https://github.com/denoland/deno.ns)が公開されました。
今後は、
– deno標準ライブラリ内でNode.js組み込みライブラリのPolyfill
– deno.nsやdnt内でDeno標準ライブラリのPolyfill(Node.js向け)
– Node.jsにU
気象庁公式の天気予報の情報(JSON)を curl・Node.js で取得し Node.js での処理を試す
以前、話題になっていた以下の情報取得の話について、自分が仕様を理解するためや、後で見返したくなりそうな情報をまとめてメモしておく意味で記事を書きます。
一番伸びてるのはこれかしら。仕様の継続性や運用状況のお知らせを気象庁はお約束していないという意味で、APIではないと申し上げざるを得ないのですが、一方で政府標準利用規約に準拠してご利用いただけます。 https://t.co/QLuhI4DNDv
— TOYODA Eizi (@e_toyoda) February 24, 2021