- 1. VSCodeで利用したいnodejsを指定してデバッグ実行する
- 2. [Electron] C++ addon (Native Node Module) を他PCに展開したとき、”Specified module could not be found” で動かない
- 3. Node.jsのバージョン管理ツールvoltaの使ってみる(windows)
- 4. Sequelizeで “SELECT count(DISTINCT(`user_id`))”を実現する
- 5. [BigQuery, Node.js] スプレッドシートをデータソースとする外部テーブルを作成する
- 6. Node.js でマルチアカウントの AWS リソース情報をファイル出力してみた
- 7. Node.jsの雛形の作り方
- 8. Node.jsのバージョンが元に戻る事象のトラブルシュート
- 9. nextronでcontextbridgeを使おうと思ったら詰まった
- 10. P2P地震情報のWebSocketを使って地震情報BOTをつくろう!
- 11. jschardetを使って、ファイルの文字コードを判断する
- 12. 【Ubuntu22.04】React開発環境構築手順【React】
- 13. npmのCLIコードリーディングをできるようになるためにnpm packageを作ってみる
- 14. 【実用編】discord.js v13 ユーザー・メンバーをBAN・KICK・UNBAN
- 15. Electron から Nightmare を使う
- 16. [Tauri]アーキテクチャまとめ
- 17. Windowsでnodejsの環境構築【安定感抜群】
- 18. Node 18 に Test Runner なるものがあったので試してみた(Experimental)
- 19. Node.js: GitLab API の使い方
- 20. anyenvからnodenvでnodeインストールまで
VSCodeで利用したいnodejsを指定してデバッグ実行する
nodejs上で動作するプログラムをVSCodeでデバッグ実行する際に、デフォルトだと`pwa-node`というVSCodeに組み込まれたnodejsが利用されます。
nodejsの特定のバージョンを指定して実行したい場合は、そのバージョンのnodejsをインストールし、`.vscode`フォルダにある`launch.json`ファイルで、`runtimeExecutable`にインストールしたnodejsのパスを指定することで実現できます。
“`
{
・・・
“type”: “pwa-node”,
“runtimeExecutable”: “/Users/someone/.nvm/versions/node/v12.14.0/bin/node”
}
“`
[Electron] C++ addon (Native Node Module) を他PCに展開したとき、”Specified module could not be found” で動かない
# 前段
ぼく「Electronでアプリ作ったよ!」
とも「module not found とか言われて動かないよ〜」
ぼく「はっ!?」と、なったときの対処方法です。
# チェック項目
## :white_check_mark: 対象Nodeモジュール(hogehoge.node)は、ちゃんと存在している?
対象Nodeモジュールが存在しないときは、Webpackに失敗しているのかも。
*.nodeを読み込むルールを確認します。
“`json:webpack.config.js
{
module: {
rules: [
{
test: /\.node$/,
loader: “node-loader”,
options: {
name: “[name].[ext]”
}
}
]
}
}
“`## :white_check_mark: 対象Nodeモジュール(hogehoge.node)に必要なDLLは入ってる?
`dumpbi
Node.jsのバージョン管理ツールvoltaの使ってみる(windows)
# はじめに
プロジェクトごとにNode.jsのバージョンを切り替えるツールについてwindows環境で**volta**が良さそうだったため、使ってみました。voltaを使えば、複数プロジェクトでバージョンが違うNode.jsプロジェクトがあった場合に、手動で切り替えなくても、プロジェクトを移動することで自動的にバージョンが切り替わります。
### インストール方法
windowsでは、インストーラーが用意されているため、下のリンクからダウンロード可能です。
[voltaのインストール(windows)](https://github.com/volta-cli/volta/releases/download/v0.9.2/volta-0.9.2-windows-x86_64.msi)
### Node.jsのインストール
Node.js v15を試しにインストールしてみます。
“`bash
volta install node@15
node -v
v15.14.0
“`
最新のLTSリリースをインストールするなら指定する必要はありません。
“`
volta install
Sequelizeで “SELECT count(DISTINCT(`user_id`))”を実現する
Node.js + Sequelize で開発中・・・
重複したデータを除外したデータ数が欲しくなった。
「期間内にサインインしたユニークユーザ数が知りたい」とかそんな感じのこと。ドキュメント探すのに時間がかかったので、未来の自分と誰かのために書き残します。
## テーブル
こんな感じのテーブルを使う想定です。
“`sql
mysql> select * from access_logs;
+—-+———–+———+———+———————+
| id | tenant_id | user_id | type | created_at |
+—-+———–+———+———+———————+
| 1 | 1 | 2 | signin | 2022-04-13 15:55:50 |
| 2 | 1 | 1 | signout | 2022-04-13 15
[BigQuery, Node.js] スプレッドシートをデータソースとする外部テーブルを作成する
社内データがたくさんのスプレッドシートに分散している…というのは、あるあるな状況ではないでしょうか。例えば、期間Aのデータはスプレッドシート1にあり、期間Bのデータはスプレッドシート2にあり、期間Cのデータは…。そのように分散したデータをBigQueryに集約して、SQLで抽出、結合して、CMSやBIツールなどのアプリケーションに渡せたらできたら便利ですね。
ということで、今回はNode.jsのクライアントライブラリを使用して、BigQueryに外部テーブルを作成する方法についての記事です。
# そもそも外部テーブルとは
公式ドキュメントからの引用です。>外部テーブルは、標準の BigQuery テーブルのように機能するテーブルです。
[外部テーブル | BigQuery | Google Cloud](h
Node.js でマルチアカウントの AWS リソース情報をファイル出力してみた
使用している AWS リソース情報を一覧で確認したいことってありますよね。
単一アカウントであれば、以下の方法があります。https://dev.classmethod.jp/articles/tag-editor-seach-allregion/
https://dev.classmethod.jp/articles/cli-resource-search/
今回は、上記の方法のうち 2 つ目の記事を参考に、マルチアカウントの AWS リソース情報を json ファイルとして出力する Node.js プログラムを作成してみました。
# 前提
・AWS マルチアカウント構成である
・各アカウントにはスイッチロールすることができる
・スイッチロールの権限は `AdministratorAccess`
・[AWS CLI でスイッチロール](https://zenn.dev/mn87/articles/338b163a2f81cd)ができる状態である
・CLI からの呼び出しで MFA は使用していないなお、今回はマルチリージョンでの出力は行っていませんのでご注意ください。
Node.jsの雛形の作り方
# Next.jsの雛形の作り方
Node.jsで基本的な操作である雛形の作成を忘れないように残しておく。## Next.jsの雛形とは(完成品)
雛形とはこのようになっている
この雛形をいじっていくことによって、作りたい形に変化させていく。
## 雛形のフォルダの作り方
* 事前準備として、**node.js**のインストールと**npx**と**yarn**のパッケージをインストールしておく必要がある。
* 雛形のフォルダを下のコマンドを入力して自動作成する。
“`
$ npx create -next -app [フォルダ名]
“`このようなフォルダが作成される。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
* 作成後フォルダの中に入り、
Node.jsのバージョンが元に戻る事象のトラブルシュート
## 環境
Ubuntu 20.4## はじめに
自分の環境に入っているNode.jsのバージョンは、v10.19.0(system)とv16.14.0の2種類。systemとなっているバージョンは、aptでインストールしているはず。そして、v16.14.0は、nvmでインストールしているはずです。nvmを使って、Node.jsのバージョンをv16.14.0に上げたのだが、OSに再度ログインし直すと、必ず、元のバージョンであるv10.19.0(system)に戻ってしまう現象が発生しているため、そのトラブルシューティングの記事。
## やったこと
OS起動直後のNode.jsのバージョンです。
“`
$node -v
v10.19.0
“`バージョンをv16.14に変更しました。
“`
$node use v16.14
$node -v
v16.14.0
“`しかし、この後、OSにログインし直すと、Node.jsのバージョンがv10.19に戻ってしまいます。原因は、defaultのエイリアスの設定ができていないことでした。
“`
$ nvm ls
->
nextronでcontextbridgeを使おうと思ったら詰まった
詰まったのでまとめておきます.
# 環境
– PC
– macOS Monterey バージョン12.2.1
– MackBook Air (M1, 2020)
– package.json
“`json“dependencies”: {
“electron-serve”: “^1.1.0”,
“electron-store”: “^8.0.1”,
“node-fetch”: “2”
},
“devDependencies”: {
“@material-ui/core”: “^4.12.4”,
“@material-ui/data-grid”: “^4.0.0-alpha.37”,
“@types/node”: “^16.11.7”,
“@types/react”: “^18.0.8”,
“electron”: “^18.2.0”,
“electron-builder”: “^23.0.3”,
“next”: “^12.1.6”,
“nextron”: “^8.1.0”,
P2P地震情報のWebSocketを使って地震情報BOTをつくろう!
:::note warn
見にくい記事に気を付けてください(?)
:::## はじめに
(Discord.jsとか使ってリアルタイムで情報更新するやつ作りたいなぁ)
(せや!WebSocketのやつとかあるか探してみよ!)
(あった!!これでやってみよう!)と、こんな感じで作り始めました。
## どういうやつ?
地震情報を送ったり~

震源情報を送ったり~

緊急地震速報をお知らせするのもあるぞ!
のCLIを使ってデータベースの migration を公式ドキュメントに従って進めていたところ途中でエラーが出て進めなくなりました。そこでTypeORMのCLIのコードの中身を読もうとしたところ、エントリーポイントが分からずどこを読めばいいのか分かりませんでした。今後同じような状況に陥った際にCLIのコードリーディングがある程度できた方がいいと思い、npm のpackageを作って公開し、使ってみることにしました。CLIコードリーディングのとっかかりを掴むことができることを本記事では目的としています。
# 対象読者
– 自作のnpm packageの作り方が分からない
– CLIのコードリーディングの仕方が分からない
– npxコマンドを実行するとライブラリのどのコードが実行されるのか分からない# 最小構成のnpm packageを公開する
コマンドラインで`hello`というコマンドを実行すると、`hello world!!`と表示されるコマンドラインツールを作成したいと思います。npm でコマンドライ
【実用編】discord.js v13 ユーザー・メンバーをBAN・KICK・UNBAN
## 前書き
Discordは世界的に有名なンスタントメッセージ・ビデオ通話・音声通話・VoIPフリーウェアです。
そのため、日々いろいろな個性あふれるユーザーが使用します。
中には、**毎日自分の性癖を暴露するのが趣味な方**、**小学3年生レベルの下ネタを1秒に数十件も送るのが興奮してやまない方**。
などなど様々な方がいます。自分のサーバーに**危険な危ないデンジャラスなユーザーを入れない、追放するためのコマンド**の作成方法を解説します。## ユーザーとメンバー、おいしいのどっち?
タイトルに「ユーザー・メンバー」とありますが、「**ユーザーとメンバーなんて何が違うねん、ちょっと辛いのがユーザーって感じだけじゃね?**」と思う方も多いことでしょう。
discord.jsでは**ユーザーとメンバーには明確な違い**があります。スパイスだけの違いではありません。### ユーザー
* Discordを使用しているアカウント(ユーザー)を指す
* 基本的なアカウント情報(ユーザーネーム、ユーザーID等)を取得できる
* **インド産のスパイスを使用**### メンバー
*
Electron から Nightmare を使う
Electron アプリケーションから Nightmare を使いたい時の方法。
スクレイピング中に動的HTMLが取れない場合などに。## Eramthgin を使う
Eramthgin を使うとちゃんと動く。
https://www.npmjs.com/package/eramthgin`npm install eramthgin`
## メインプロセスで呼び出す
基本的に nightmare と同じ。
“`main.js
const nightmare = require(‘eramthgin’);
const n = new nightmare({
show: true
});
“`## preload.js に渡して処理を書く
main.js で global を経由して preload.js に渡す。
“`main.js
const mainWindow = new BrowserWindow({
width: 1200,
height: 600,
webPreferences: {
preload: path.join(__dirn
[Tauri]アーキテクチャまとめ
# Tauriのアーキテクチャまとめ
Electronのようにフロントエンド技術を用いてデスクトップアプリケーションを作成できる[Tauri](https://tauri.studio/)ですが、2022年4月にStable版をリリース予定です。
と思ってこの記事を作っておいてリリースされたら投稿しようと思っていたのですが、記事投稿の2020/5/8時点でrc10で待ってられないので、リリース前の確認ということで、公式サイトの[Docs](https://tauri.studio/docs/getting-started/prerequisites)にあるアーキテクチャをまとめて確認しておきましょう。## Tauriアーキテクチャ
ここでいう「アーキテクチャ」とは、Tauri自身のTauri CoreやWryなどといったTauriの構成を指すものではなく、Tauriを用いたデスクトップアプリケーションを作成する手法のことを言います。
PatternsとRecipesからなり、PatternsはTauriのRustサイド(Tauri Core)とJavaScriptフロントエンドとの
Windowsでnodejsの環境構築【安定感抜群】
# あらすじ
Windowsのローカル環境でnodejsを使って開発を行いたいときのベストプラクティスを紹介します。
dockerやWSLを使うのが理想ですが、「マシンスペック的にVMを起動すること自体がおっくうな場合」もしくは、「Windows Server Core などを本番環境に使用する予定」などのための記事とします。
::: note info
2022年4月現在の最新情報です。
:::# 前提
下記ソフトウェアがインストール済みとします。
– Windows 10 or Later
– Powershell 7 or Later::: note warn
もし、他のnodejs用のバージョン完了ツールや、nodejs公式のインストーラーを使用したインストールが行われている場合、事前に全て消しましょう。特に、環境変数は厄介なので、慎重に確認して消しましょう。筆者は、ProgramFilesが2個あることに気が付かず時間を無駄にしました。
:::# やること
やることは、下記の通りです。
– `nvm`のインストール
– `node`のインストール
–
Node 18 に Test Runner なるものがあったので試してみた(Experimental)
Devon Govett さんのツイートに「おおっ!?」となったので Test Runner を試してみました。
Whoa, just found out that Node has a builtin testing framework now! ? https://t.co/JZhtIDMzS7 pic.twitter.com/JLGGhDl5oi
— Devon Govett (@devongovett) May 5, 2022