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

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

JavaScript

Microsoft Graph (Office365) API のトークンを取得して更新する方法

Web版のOffice365を操作する方法の1つに、Microsoft Graph (Office365) APIというものがあります。 例えば、Microsoft Graph (Office365) APIを使えば、Office365の外部から OutLookからメール送信 Excel Onlineのファイル編集 SharePointのファイル取得 な…

JavaScriptの日付演算ライブラリMoment.jsの使い方メモ

JavaScriptで日付演算をする際、組み込みのDate関数は扱いが難しいため、一般的に何かしらのライブラリを使います。 ライブラリは、よく見かける「Moment.js」を使っています。 何度やっても使い方を忘れるし、同じ所でハマっているので、自分用使い方メモを…

JavaScriptでExcelファイルを、SheetJS(xlsx)を使って読み込む方法メモ

JavaScript(TypeScript)でExcelファイルを読み込むのに、SheetJS(xlsx)を使っています。 使い方はちょっとクセがあって、すぐに忘れてしまうので自分用使い方メモです。 マニュアル https://www.npmjs.com/package/xlsx インストール npm install xlsx …

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…

React Hooksが正式リリースされたので公式マニュアルを読んでみた

最近Reactを触ってませんでしたが、React Hooksが正式リリースされたとのニュースがあったので、どんなものかとReact Hooksの公式マニュアルを読んでみました。 reactjs.org 要約 Reactではコンポーネントを作る方法として、関数による方法と、クラスによる…

JavaScriptのArray.reduce()をもう少しちゃんと理解する

JavaScriptのArray.reduce()はちょっとクセがあって、今まで敬遠してたのですが、理解だけはしておこうとまとめました。 Array.reduce()とは一言で言うと、配列の要素を集めて1つのアウトプットを返す関数です。 まずは基本 const arr = ["A", "B", "C"]; c…

RaspberryPiでPuppeteerを動かす方法

RaspberryPiでPuppeteerを動かそうとするとbrowser is not definedとエラーになる時の対処方法です。 原因 npmで「Puppeteer」をインストールすると、新たにChromiumもnode_modulesにインストールされ、PuppeteerはデフォルトではこのChromium使います。 し…

JavaScriptのasync/awaitをもう少しちゃんと理解する

今までJavaScriptのasync/awaitを、理解が曖昧なまま何となく使っていて、うまく行かない時はPromiseを使ったりしていました。 しかし、最近はasync/awaitが使われているのをよく目にするようになってきたため、もう少しちゃんと理解しないといけないかなぁ…

TypeScriptのススメ

JavaScriptのプログラムを書く時はTypeScriptを使っています。 元々はJavaScriptを直接書いていたのですが、使いたかったReactのコンポーネントがTypeScriptで書かかれていたため、試しにTypeScriptで書いてみたのがきっかけでした。 結局そのコンポーネント…

AWSでサーバーレスな開発用シングルページアプリケーションを立ち上げる方法

シングルページアプリケーションを作っていて、外部には公開したくないが、ローカル以外のサーバーに置いて配信テストをしたいことがあったので、その時の構築メモです。 要件 静的配信だし、S3を使えばサーバー立てなくてもAWSのサービスだけでできそうな感…

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

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