新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Node.js

JavaScriptのPromiseは非同期関数だと勘違いしていた

下記の記事を読んで知ったのですが、JavaScriptのPromiseは同期呼び出しされるんですね。 https://zenn.dev/yuhua_shi/articles/331569ef2fe886 Promiseに渡される関数は、非同期関数だと思い込んでました。 以下、自分用にPromise呼び出し順をまとめておき…

Node.jsのstream(ストリーム)の使い方メモ

データ処理を行う時、ついつい面倒くさくて、全てのデータをメモリに読み込んでから処理しがちです。 データサイズが小さい時は問題ないのですが、巨大なデータを扱う場合は、メモリを大量に消費しますし、1つのデータの読み込みや書き込みが完了するまで、…

Google Cloud Storageでファイルとディレクトリを区別する方法

Google Cloud Storageで、サブディレクトリ内のファイル一覧を取得して、それらのファイルの処理をしようとしました。 しかし、ファイルがおかしいとエラーが出るので見てみたら、取得したファイル一覧に、サブディレクトリが含まれていました。 原因 前に勘…

Google Cloud Storageのサブディレクトリ一覧をNode.jsで取得する方法

以前、Google Cloud Storageのサブディレクトリ一覧を、GCP Pyhtonライブラリを使って取得したのですが、そのNode.jsバージョンです。 Pythonバージョンはこちら www.kwbtblog.com 手順 GCP Node.js SDKのドキュメントにサンプルがあるので親切ですね。 http…

PHPのmcryptで暗号化されたデータをNode.jsで復号化する方法

PHPのmcryptで暗号化されたデータを、Node.jsで復号化しようとしてハマったので、その原因と解決方法メモです。 状況 PHPでAES256-CBCで暗号化した物ですよと言われて受け取ったデータを、Node.jsで復号化しようとするとエラーになりました。 データは暗号化…

Node.jsでAES暗号化・復号化してみる

Node.jsで、AES暗号化・復号化する機会があったので、そのメモです。 暗号化アルゴリズム「AES-256-CBC」で行いました。 ざっくりAES CBC暗号化について AES CBCは、任意の長さのバイナリデータを、鍵を使って暗号化し、同じ鍵を使って復号化する暗号化アル…

Puppeteerのクローリングで、Tableタグの表のデータをCSV出力する方法

クローラーとしてPuppeteerを使っています。 クロールしていて、サイトのTableタグで作られた表のデータを取得したい時があります。 Pythonなら、htmlからTableタグ以下のみを抽出し、それからPandasを使ってDataFrameを生成することにより、エレガントにで…

Passport.js の使い方メモ

Passport.jsを使う機会があったので、また必要になった時用のPassport.jsの使い方個人メモです。 Passport.jsとは Passport.jsとは、Node.js+Expressで作ったWebサイトに、ユーザーがログインできる、ユーザー認証を入れるためのライブラリ ユーザー認証の種…

WSL に nvm で Node.js 環境を構築する

Pythonの環境構築と同様、WSLのUbuntuのバージョンを新しくしたので、Node.js環境を入れ直した時のメモです。 JavaScriptアプリを作った時期によって、使っているNode.jsのバージョンがまちまちなので、都度バージョンを切り替えられるよう、Node.jsバージョ…

Node.jsを初めて学ぶにあたってハマったことや勘違いしていたことなど

Node.jsを使っているのですが、Node.jsを学ぶ前と後では、Node.jsに対する印象が結構違ったので、Node.jsの簡単な説明と、学ぶにあたって個人的にはまったところを簡単にまとめました。 Node.jsとは Node.jsとは、JavaScriptの実行環境のことです。 JavaScri…

Azure Data Factory のパイプラインにAzure Node SDKからパラメータを渡す方法

Azure Node SDKを使って、Azure Data Factoryのパイプラインにパラメータを指定して実行しようとしてハマことのメモ書きです。 Data Factoryのパイプライン実行は、「DataFactoryManagemantClinet」オブジェクトの「pipelines」メンバーの「createRun」メソ…