- 1. 【NestJS】これから学習する人向けの基本内容まとめ
- 2. Node.jsとMongoDBで作られたサンプルアプリを動かす
- 3. firebase SDK JavaScript がNode.jsでサポートされる範囲
- 4. AzureStorage[Blob]をNodejsから操作する(ダウンロード)
- 5. WEBスクレイピング
- 6. 【Node.js】検索用キーワード一覧でGoogle Map検索し、取得結果を一覧化するツールを作ってみた。
- 7. npmでモジュールインストール時にPermission deniedが出たときの対応
- 8. yarn ではなく npm install を叩いたらエラーを出したいを実現する方法が簡単だった
- 9. Node.js のビルドツール「esbuild」について!
- 10. Node.js で発生させた乱数で自動で音を鳴らす(Sonic Pi に OSC通信でデータを送信して音を出す)
- 11. Typescript Node.js sourcemap 有効化メモ
- 12. (Touch Sensor Module)タッチセンサーモジュール
- 13. Sonic Pi による音の出力を Node.js のプログラム(osc.js を利用)から制御: OSC over UDP による通信
- 14. ルートパラメータからIDを所得!?
- 15. osc.js で OSC Data Monitor に OSC over UDP でデータを送る(Node.js の keypress との組み合わせ)
- 16. 【Node.js+heroku】Twitter星座占いbot作成
- 17. ZIG SIM と Node.js のプログラム(osc.js を利用)との間で UDP による OSC通信を軽く試す(OSC Data Monitor の話も)
- 18. Azure Functionsでzipデプロイせずに、コンソールからnpmパッケージをインストールする方法 (2021年秋)
- 19. 【JavaScript】コピペで使える都道府県の配列(読み仮名・ローマ字つき)
- 20. Node.js データベースの利用
【NestJS】これから学習する人向けの基本内容まとめ
#はじめに
最近転職が決まりました。
転職先ではフルスタックではなくフロントエンド専業で働くことになるので、プライベートではバックエンドに磨きをかけることにしました。
これまでPHP(Laravel)を仕事で使ってきたのですが、新しい言語やフレームワークを学んでみたかったのでNestJSを勉強してみることにしてみました。
流行りに乗ってGolangを勉強してみようとも思ったのですが、TypeScriptでバックエンドを書くという点に魅力を感じたのでNestJSを選びました。https://nestjs.com/
#基本内容
NestJSはTypeScriptでバックエンドを書けるNode.jsのフレームワークです。
Webサーバの実装にExpressやFastifyを使うことができ、`@nestjs/platform-express`などのモジュールをいれてあげるだけで連携することができます。##モジュール
NestJSを使うにあたって必須となるモジュールには以下のものがあります。– `@nestjs/core`, `@nestjs/common`: Nestの実装で必須
Node.jsとMongoDBで作られたサンプルアプリを動かす
#はじめに
本記事は以下チュートリアルを補足したものです。
チュートリアルを進める上で嵌った個所などについて補足してみました。https://docs.microsoft.com/ja-jp/azure/developer/javascript/how-to/with-visual-studio-code/install-run-debug-nodejs
最終的にローカルで動作するTODOアプリが出来ます。↓
![Node_Angular-Todo-App-Google-Chrome-2021-09-26-18-10-20.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2087075/f8c037b5-186b-2c18-107d-c6aceaff5f1a.gif)#環境
Windows 10 Home#前提
以下がインストール済みであること。
git version 2.14.1.windows.1
nodejs v14.15.4
Docker Desktop 20.10.7
Mo
firebase SDK JavaScript がNode.jsでサポートされる範囲
# 発端
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/87538/b0aeeede-e23d-fbe0-3391-7d9c9ca1a87e.png)Gmailにこんなメールが・・・。
外部公開するアプリではない個人利用アプリなので放置していたが、通知が来るようになってしまった。# ルールの状態
“`javascript
rules_version = ‘2’;
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write
}
}
}
“`# どんな利用方法をしていたか
firebase SDK JavaScript v9.0をNode.jsで利用していた。nodeモジュールとしては、`firebase`を使っており、`firebase-admin`ではない。
一般的には、`fire
AzureStorage[Blob]をNodejsから操作する(ダウンロード)
# 初めに
AzureのクラウドストレージであるAzureStorageBlob。
そのblobサービスのコンテナの中にある全てのファイルをローカルに環境に一括ダウンロードするためのプログラム(TypeScript)を紹介します。# 環境
* Node v14.17.0
* Windows10
* Typescript# コード
1ファイルで紹介したかったため1ファイルにすべて詰め込んでありますが、
適宜管理しやすいようにファイルを分けたほうがいいと思います。
## package.json“`package.json
{
“name”: “azurestorage”,
“version”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“scripts”: {
“test”: “echo \”Error: no test specified\” && exit 1″,
“start”: “tsc && npm run main”,
“main”: “node index.js”
WEBスクレイピング
#Webスクレイピング[備忘録]
タイトル通り備忘録です。
Node.jsのcherioとrequestでスクレイピングする。“`
// cherio 本体
npm : npm install cherio request
yarn : yarn add cherio request
“`codeを見ると“`$(jQuery)“`みたいに処理を記載していく。
なので、上記ライブラリに触れる人には取っ付きやすいと思う(自分に説明をするつもり)。“`javascript:index.js
const cherio = require(‘cherio’)// 私はテクノロジー系の話が好きなのでこれを選択。
const url = ‘https://news.google.com/search?q=technology&hl=ja&gl=JP&ceid=JP%
【Node.js】検索用キーワード一覧でGoogle Map検索し、取得結果を一覧化するツールを作ってみた。
Google Map に存在するデータを検索用のキーワードで検索して、取得結果を一覧化するツールを作ってみました。
例えば
Google Map で
渋谷 マッサージ
道玄坂 マッサージ
恵比寿 マッサージ
代々木 マッサージ
といったキーワードでお店を検索し、検索結果を一覧化する作業を行っていたとしたら
とてもピッタリなツールではないかと思います。## 作成の背景
今月から入社したスタートアップの出来立ての事業でWeb広告に関する営業をまずはテレアポで行うことになったのですが、
私がチームに入るまでリストの作成を手で行っていたので、自動化を試みました。最初はPythonかGASとかでスクレイピングがいいのかなと思っていましたが、
Google Maps Platform を使えば一瞬でできました。✌## 想定ユーザー
* GoogleMap検索で取得した結果から営業先リストを作っている方。ですが、そのほかにもこんな要望がある方にも使っていただけるツールです。
* Google Map のレビューの高いお店から明日のディナー先を決めたい方
奥さんが明日のディナー
npmでモジュールインストール時にPermission deniedが出たときの対応
Serverless Frameworkやnode-gypをインストールする際に、Permission Deniedというエラーが出力され、モジュールのインストールに失敗する場合があります。
“`
prebuild-install WARN install EACCES: permission denied, access ‘/root/.npm’
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/serverless/node_modules/snappy/build’
gyp ERR! System Linux 5.4.0-86-generic
gyp ERR! command “/usr/bin/node” “/usr/bin/node-gyp” “rebuild”
gyp ERR! cwd /usr/local/lib/node_modules/serverless/node_modules/snappy
g
yarn ではなく npm install を叩いたらエラーを出したいを実現する方法が簡単だった
## やりたいこと
`yarn` ではなく `npm install` を叩いたらエラーを出す仕組みを作りたい
## 実現方法
– npmrc に `engine-strict=true` を記載する
– npmrc とは npmの設定ファイル のことである“`js
// .npmrc
engine-strict=true
“`– package.jsonの `engines` を設定する
“`package.json
“engines”: {
“npm”: “npmではなくyarnを使用してください”
}
“`2つの設定を完了させた上で`npm install`と叩いてみる
| npm install コマンドを叩いた結果 |
| — |
| ![npm-error.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/508390/a61e1dd7-ed97-37e5-35e6-cd8260784848.png) |これで`yarn`を使用しているプロジェクトで
間
Node.js のビルドツール「esbuild」について!
![esbuild.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/659561/514c85f1-f537-78e7-75ec-ab29b6058d23.png)
# はじめに
esbuild は、キャッシュなしで高速なビルドを可能とする Node.js のビルドツールです。
ビルドツールには、esbuild の他に、Webpack、Gulp、Parcel、Rollup、Browserify、FuseBox などがあります。
私自身が webpack を普段使っていて、ビルドに時間がかかりすぎているのが気になり、esbuild について調べてみようと思いました。
esbuild の特徴としては、
– キャッシュなしでの高速なビルド
– ES6 と CommonJS をサポート
– ES6 の Tree shaking 対応(利用されていないコードの除去)
– JavaScript と Go による API
– TypeScript と JSX をサポート
– ソースマップの生成
– ソースコ
Node.js で発生させた乱数で自動で音を鳴らす(Sonic Pi に OSC通信でデータを送信して音を出す)
今回の内容は、以下の記事の続きです。
●Sonic Pi による音の出力を Node.js のプログラム(osc.js を利用)から制御: OSC over UDP による通信 – Qiita
https://qiita.com/youtoy/items/a158b847b142f0a134a6この記事では、Node.js のプログラムでキーの押下を検知し、それに応じた OSC通信と音の出力を行っていました。
今回は「音の高さと音を鳴らすタイミング」をプログラムで発生させた乱数で決めて、音を奏でてみます。## 構成
構成は[前回の記事の内容]( https://qiita.com/youtoy/items/a158b847b142f0a134a6
)と同じで、以下の通りです。
詳細については、これ以降についても[前回の記事の内容]( https://qiita.com/youtoy/items/a158b847b142f0a134a6
)を参照してください。– 送信側
– Node.js のプログラム
– ライブラリ: osc.js
– 受信側
Typescript Node.js sourcemap 有効化メモ
“`
npm i source-map-support
“`“`ts.config
{
“compilerOptions”: {
“sourceMap”: true,
},
}“`
(Touch Sensor Module)タッチセンサーモジュール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1873014/1fa19fca-a1b8-78a5-c7e1-7b2964e0913a.png)
この記事はJLCPCBと共同で公開されています。JLCPCBはPCBのプロトタイプと製造の分野で10年以上の経験を持つ最も経験豊富なPCBメーカーのひとつであり、品質、納期、費
Sonic Pi による音の出力を Node.js のプログラム(osc.js を利用)から制御: OSC over UDP による通信
内容はタイトルのとおりで、最近書いていた以下の記事の流れの続きです。
– [ブラウザで OSC を扱う初めの一歩(osc.js、osc-js、p5.js用ライブラリを見てみたりなど)【2021年9月】 – Qiita](https://qiita.com/youtoy/items/efe9b07be57454dec5d5)
– [ZIG SIM と Node.js のプログラム(osc.js を利用)との間で UDP による OSC通信を軽く試す(OSC Data Monitor の話も) – Qiita](https://qiita.com/youtoy/items/fddc750759f4ecef7ca7)
– [osc.js で OSC Data Monitor に OSC over UDP でデータを送る(Node.js の keypress との組み合わせ) – Qiita](https://qiita.com/youtoy/items/740686a8d2ffb0c6b8ba)## Sonic Pi について
### Sonic Pi とは?
以下の公式サイトの説明に
ルートパラメータからIDを所得!?
#はじめに
なんでこの記事を書こうかと思ったのかについて簡単に説明させていただきます。
progateでNode.jsを勉強していたところよくわからない問題文がありました。
そう。それがルートパラメータからIDを所得してくださいというものだったんですね。
![スクリーンショット (38).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2036558/dd96510b-e537-0c61-e750-a486f6d1bfc5.png)
これですね。Node.js のⅢの4ですね。答えを見て次に進もうかと思ったのですが、理解をしないまま次に進んでもまた出てきたときに困るのでしっかりと調べることにしました。ちなみに答えは「req.params.id」でこれが理解できませんでした。paramsってなんなん?どっから出てきたん?典型文なん?って感じです(笑)
ここに投稿する理由としては、これから同じとこで困るかもしれないという人のためでもありますし、投稿するからにはしっかり調べろよという自分への戒め(?)でもありま
osc.js で OSC Data Monitor に OSC over UDP でデータを送る(Node.js の keypress との組み合わせ)
この記事は、最近書いていた記事の中で、以下の 2つに書かれている内容の続きです。
– [ブラウザで OSC を扱う初めの一歩(osc.js、osc-js、p5.js用ライブラリを見てみたりなど)【2021年9月】 – Qiita](https://qiita.com/youtoy/items/efe9b07be57454dec5d5)
– [ZIG SIM と Node.js のプログラム(osc.js を利用)との間で UDP による OSC通信を軽く試す(OSC Data Monitor の話も) – Qiita](https://qiita.com/youtoy/items/fddc750759f4ecef7ca7)## 今回やること
今回は、[osc.js](https://github.com/colinbdclark/osc.js/) を使った Node.js のプログラムから OSC Data Monitor に OSC over UDP でデータを送ってみます。osc.js や OSC Data Monitor の情報は、[冒頭に書いた記事の 2つ目](htt
【Node.js+heroku】Twitter星座占いbot作成
## 作ったもの
スマホゲーム「#コンパス」の「魔法少女リリカルルカ」をモチーフにしたTwitter星座占いbotを作成しました。bot本体:[リリカルルカのドリーム☆星座占い](https://twitter.com/dreamhoroscope1)
bot紹介動画:[【ドリーム☆星座占い】コンテンツのご案内](https://www.youtube.com/watch?v=bv4i331dWj0)
仕様書等:[基本設計書・結合テスト仕様書・ソースコード](https://drive.google.com/drive/folders/1lY0I64U5mdG7UoYwjlzJ2ORaLcisQGN9?usp=sharing)
※占いデータを格納しているため、GitHubは非公開です。
参考:[#コンパス 戦闘摂理解析システム | スマホゲーム](https://app.nhn-playart.com/compass/)## 1.作成の契機
ゲーム内のチャットで毎日投稿していた星座占いのフルバージョンを投稿するために作成しました。
ゲーム内チャットは手動投稿となるため、12星座
ZIG SIM と Node.js のプログラム(osc.js を利用)との間で UDP による OSC通信を軽く試す(OSC Data Monitor の話も)
この記事は Node.js による OSC通信を試してみた時の話で、以下の記事を書いていた流れの続きです。
– [ブラウザで OSC を扱う初めの一歩(osc.js、osc-js、p5.js用ライブラリを見てみたりなど)【2021年9月】 – Qiita](https://qiita.com/youtoy/items/efe9b07be57454dec5d5)
– [ブラウザ上の p5.js のプログラムで OSC を使う(サーバー・クライアントは osc-js で実装) – Qiita](https://qiita.com/youtoy/items/b537b5c9c5b4465d23b3)送信側にはスマホ(iPhone)を使い、受信側にはノートPC(Mac)を使います。
## 今回利用するもの
### 構成
冒頭に書いた機器間で OSC (over UDP) による通信を試すのですが、その際に以下のアプリ・ライブラリを使います。– スマホ(iPhone)
– [ZIG SIM](https://zig-project.com/)
– ノートPC
– [OSC
Azure Functionsでzipデプロイせずに、コンソールからnpmパッケージをインストールする方法 (2021年秋)
Azure Functionsでnpm等のライブラリを使う場合は、ZIPで固めてアップロードする[zipデプロイ](https://docs.microsoft.com/ja-jp/azure/azure-functions/deployment-zip-push)のが一般的ですが、Node.jsに限って言えば Azure ポータル上から直接npm install する方法があります。
※ [Azure Functions (Node.js) で npm パッケージを追加して利用する方法 (コンソール利用)](https://qiita.com/ma2shita/items/e6d395a986bab4d81624) の2021年版です
今回は[is-one](https://www.npmjs.com/package/is-one)という “それは ‘1’ ですか?” を判定してくれるジョークライブラリを使ってみます。[^1]
[^1]: 他のライブラリへの依存が一切無いことから、サンプルとしては秀逸。
## 関数アプリの作成
Azure ポータルから関数アプリを作成します
【JavaScript】コピペで使える都道府県の配列(読み仮名・ローマ字つき)
“`
[
{
“kanji”: “北海道”,
“yomi”: “ほっかいどう”,
“roma”: “hokkaido”
},
{
“kanji”: “青森県”,
“yomi”: “あおもり”,
“roma”: “aomori”
},
{
“kanji”: “岩手県”,
“yomi”: “いわて”,
“roma”: “iwate”
},
{
“kanji”: “宮城県”,
“yomi”: “みやぎ”,
“roma”: “miyagi”
},
{
“kanji”: “秋田県”,
“yomi”: “あきた”,
“roma”: “akita”
},
{
“kanji”: “山形県”,
“yomi”: “やまがた”,
“roma”: “yamagata”
},
{
“kanji”: “福島県”,
“yomi”: “ふくしま”,
“roma”: “fukushima”
},
Node.js データベースの利用
Node.jsの学習の備忘録と振り返りの記事です。
何かの参考になれば幸いです。
付け足しや訂正などある場合ご教授いただけると
大変嬉しく思います!!##利用準備
1.データベース管理ツールインストール
2.Node.jsからツールに接続する“npm install ツール名“
3.ツールパッケージの読み込み “const ツール = require(‘ツール名’)“4.データベースに接続するための情報を定数connectionに代入
“const connection = ツール名.createConnection({
データベース名、パスワードなど
});“
““js
//const mysql = require(‘mysql’);
//app.use(express.static(‘pablic’));
const connection = mysql.createConnection({
データベース名、パスワードなど
});
““##データ