- 0.0.1. 超爆速でNode.js開発環境構築する
- 0.0.2. ng new my-appでのエラーを解決する方法
- 0.0.3. Discord.jsでbotを作ってみよう!(スラッシュコマンドであいさつを返すところまで)
- 0.0.4. sequelizeのモデルをTypeScript化して、ルーティングで使用する方法
- 0.0.5. メモ:Node.js(http)でWebSocketを扱う
- 0.0.6. Node Scheduleで定期処理を行う
- 0.0.7. JLCPCB-3Dブリントサービスの始まり
- 0.0.8. 気象庁公式の天気予報の情報を Node.js で取得し中身を検索する(ライブラリに Got を用いる)
- 0.0.9. 【Node.js】Error: error:0308010C:digital envelope routines::unsupported【エラー】
- 0.0.10. react-hooks 基礎
- 0.0.11. OS/実行環境の情報を取得する【Node.js/C#/Python】
- 0.0.12. なぜ私はdiscord.jsを選ぶのか
- 0.0.13. ○○分後に死ぬSpatial.chat ~ 裏仕様10000分数制限との戦い、そして事件は起こった ~ #iotlt #protoout
- 0.0.14. node.jsとexpressで、クライアントに表示されるサーバーサイド情報を隠す
- 1. Hello World
超爆速でNode.js開発環境構築する
# やりたいこと
複数のNode.jsバージョンが混在可能な開発環境を構築したい。# 解決策
[Volta](https://docs.volta.sh/guide/getting-started)をインストールしましょう。
# Linuxの場合
“`shell:ターミナル
curl https://get.volta.sh | bash
volta setup
volta install node@14
“`
上手く行かない場合はターミナルを再起動しましょう。“`shell:ターミナル
# バージョン表示されればOKです。
volta -v
node -v
npm -v
“`以上。
ng new my-appでのエラーを解決する方法
Angular公式の基礎講座のようなものをやろうとしたときに、“ng new my-app“というコマンドを叩いたらエラーが出た。
## ng new my-appを叩いた時のエラー
“`
$ ng new my-app
^[[ANode.js version v16.2.0 detected.
The Angular CLI requires a minimum Node.js version of either v12.20, v14.15, or v16.10.Please update your Node.js version or visit https://nodejs.org/ for additional instructions.
“`
このようなエラー。翻訳してみるとこのような内容だった。“`
Angular CLIには、Node.jsのバージョンが最低でもv12.20、v14.15、またはv16.10のいずれかが必要です。Node.jsのバージョンを更新するか、https://nodejs.org/ で詳しい説明をご覧ください。
“`
Discord.jsでbotを作ってみよう!(スラッシュコマンドであいさつを返すところまで)
Discord.pyを使ってbotを作っていたんですが、いつの間にか開発終了してしまっていたらしいです…[※詳しく](https://gist.github.com/Rapptz/4a2f62751b9600a31a0d3c78100287f1)
お世話になりました…!
引越し先として、Discord.jsさんにお世話になろうと思います。
今回は環境作成から、おはよう!といったたらおはよう!と返してくれるところまで実施したいです。
![画像3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2251471/aac3daf8-fff2-0c07-141b-7a762513515e.png)discordのBOTはこれからスラッシュコマンドが主流になるという話を聞いたので、それも取り入れていこうと思います。(/と入れると実行できるコマンドの事です)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22514
sequelizeのモデルをTypeScript化して、ルーティングで使用する方法
### 初めに
今回は、sequelizeで作成したモデルをTypescript化してルーティングから呼び出し、DBから値を取得する方法を記述します。https://qiita.com/shintaro_secual/items/05b1fe0b0109b6ed2002
上記記事を参考に、ルーティングはTypeScript化し、Sequelizeのモデルの初期設定は済んでいる前提で記載していきます。
### 環境
■ Nodeのバージョン
v14.14.0
■ 使用OS
MacOS Big Sur:バージョン11.6
■ 総合開発環境
Visual Studio Code
■ Sequelizeのバージョン
v5.22.4
■ MySQLのバージョン
v5.6.50### 使用するテーブル設計
“`SQL
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`statu
メモ: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”)
const token = “Y
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