- 1. Node-REDにおけるnpm installの正しい位置
- 2. スーパー便利!nvmを使ってwindowsでNodeのバージョン管理を1秒で行う方法
- 3. electron で “require is not defined” がどうしても消えないとき
- 4. Node.jsでLINEBOTを作ってみた②
- 5. Node.jsでLINEBOTを作ってみた①
- 6. [メモ]Cloud Functions + Node.jsでさくっとAPI開発
- 7. Node.jsでAWSのパラメータストアから値を取得する
- 8. 音声データからのキーワードを可視化する
- 9. [AWS][nodejs] S3にある JPEG ファイルの EXIF 情報を削除して書き戻す
- 10. Cloud Foundry(IBM Cloud)でNode.jsの最新バージョンを利用する
- 11. Lambda関数から別アカウントのDynamoDBに接続
- 12. Firestore: Reference型をJSONにするときの挙動を変える
- 13. IBM CloudでNode.jsアプリケーションをデプロイするまでの流れ
- 14. express-sessionをMongodbで。
- 15. Jest –watch Error: EMFILE: too many open files, watch
- 16. IBM CloudのCloud Foundryデプロイの無料枠のメモリ制限
- 17. git mv で expressアプリケーションのディレクトリを移動しようとしたらpermission deniedでつまづいた話
- 18. Alexaスキル開発チュートリアル(AWS Lamda, node.js)
- 19. Beginner’s Series to: Node.js – 今から始める Node.js
- 20. TypeScript + express-graphql + TypeORM on Node.js ( for MySQL ) 環境を構築したった
Node-REDにおけるnpm installの正しい位置
“`
c:\users\
スーパー便利!nvmを使ってwindowsでNodeのバージョン管理を1秒で行う方法
皆さんこんちは!
ふと“npm i –save firebase“を実行したところ、今までは出来ていたのですが急にエラーが出てインストールが出来なくなりました。
どうやらNodeのバージョンが原因らしい。
“`
node –versionv14.15.1
“`Firebaseがリクエストするバージョンは“12“である。
Nodeを再インストールしても良いのですが、またNodeの依存関係が出てきたとき面倒くさいので色々調べていたところ**nvm**と言うものに出会いました。
これはNodeのバージョン管理を行うパッケージです。
コマンドも例えば“nvm use 12“と打てばNodeのバージョンが12の状態で実行されます。
早速インストールしましょう!
#scoopの導入#
Windowsではパッケージのバージョン管理を行う場合、「scoop」を使います。
Macで言うHomebrewみたいなものです。
まずはscoopをインストールしましょう。
※注意 scoopをインストールするには「PowerS
electron で “require is not defined” がどうしても消えないとき
## electron でどうしても”require is not defined” が消えない!!
electron を使用していると”require is not defined” Errorが出ることがあります。原因はわかっておりGoogleで検索すると沢山記事は出ています。Node.jsのモジュールであるrequireをFrontEndで使えないことが原因です。electron側の仕様でwebPreferences のnodeIntegrationパラメターがdefaultでfalseになっている事が原因で、“`
mainWindow = new BrowserWindow({
width:1100,
height: 1000,
webPreferences: {
nodeIntegration: true,
},
});
“`
としたらとりあえずはOkですよと沢山の記事に書かれています。(セキュリティーの問題から公式では推奨されていない。)
しかし、僕の場合上記を試しても一向にエラーが消えない!なんでだ!!## e
Node.jsでLINEBOTを作ってみた②
#はじめに
[パート①][link-1]
[link-1]:https://qiita.com/hidesan4869/items/5f0e6bad6105cf7a742cz
前回までにやったこと
・Node.jsのインストール
・npmのインストール
・npm initによるpackage.jsonファイル作成
・expressのインストール###Herokuにアプリを作成する
https://jp.heroku.com/home上記よりHerokuの新規登録orログイン
ターミナルでHerokuを操作するためにCLIのインストールが必要となります。下記の記事を参考にHeroku CLIをインストールしてください。
https://note.com/makoto0419/n/n113b55afa395Heroku上にアプリを作成してみましょう。
“`ターミナル.
heroku create hogemarukun
“`herokuのアプリ名は他の誰かが使っているアプリ名を指定した場合は、アプリが作成出来ませんので、違う名前で試してみてください。
###L
Node.jsでLINEBOTを作ってみた①
#はじめに
JavaScriptの学習の中で、サーバー側を書いてみたいと思い、以前から興味のあったLINEBOTの制作をしてみようと考えました!###作りたい予約システムを考える
1. 「予約」と入力すると予約に関するメッセージをリプライ
1. 予約は自動
1. 次回予約を確認
1. 予約のキャンセル
1. 予約が確定された時の、管理画面の制作###システムの全体像
![Line Messaging API (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/705266/0d5c02d0-2a28-5cdf-212b-88a52b0bdf95.png)###開発環境
1. MacBook
1. macOS Catalina 10.15.7
1. Visual Studio Code###技術選択
1. Node.js(Express)
1. JavaScript
1. Heroku
1. PostgresSQL
1. LINE MessagingAPILINEを使ったBOT構築
[メモ]Cloud Functions + Node.jsでさくっとAPI開発
たまには`firebase`でAPIを作りたくなったので、作ってみました。
次気が向いたとき、さくっと作れるように。“`
firebase –version
9.1.0
“`## プロジェクトを作成する
まずGUIでプロジェクトを作成し、課金モードにしておくのが楽。
“`
https://console.firebase.google.com/u/0/
“`“`
cd desktop
mkdir api
cd api
“`
## 連携/初期化
### 必要に応じて、有効化する。ひとまずFunctionsだけ有効化してみる。
“`
$ mkdir api
$ cd api
$ firebase init######## #### ######## ######## ######## ### ###### ########
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## #
Node.jsでAWSのパラメータストアから値を取得する
# はじめに
シークレット系の情報をAWSのパラメータストアに格納し,それをNode.jsで呼び出してみました。
この記事はその際の備忘録になります。
誤っている箇所や修正したほうがいい箇所などありましたらコメントいただけますと幸いです。# AWSのパラメータストアとは
**AWS System Manager** の機能の一つ。
パスワードなどのシークレット系の情報をセキュアに保存することができます。公式ページ : [https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-parameter-store.html)
# 必要なモジュールのインストール
[**AWS SDK for JavaScript**](https://docs.aws.amazon.co
音声データからのキーワードを可視化する
## **はじめに**
音声認識を使って何かアプリを作ってみたかったで、音声データからそのキーワードを抽出しすることができるツールを作ってみました。平凡なアイデアかもしれないですが、、
録画・録音されたファイルから、その要約(キーワード)を抽出することができれば、情報のキャッチアップの効率が少しでも上がるのではないかと思います。
![スクリーンショット 2021-03-24 7.12.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/432562/c692a430-4fd7-0c8b-f679-db047831b06c.png)### **前提**
Node.js(Express)で実装
## **事前調査**
### **使用API**
– Google Cloud Speech-to-Text API
– COTOHA API### [Google Cloud Speech-to-Text API](https://cloud.google.com/speech-to-text
[AWS][nodejs] S3にある JPEG ファイルの EXIF 情報を削除して書き戻す
必要な npm パッケージは `aws-sdk`, `file-type`, `piexif`
`S3.getObject` でデータ取得して、`file-type` で JPEG 画像かチェックして、`piexif` で EXIF を削除して、`S3.putObject` で書き戻す感じです。
“`javascript
const AWS = require(‘aws-sdk’);
const FyleType = require(‘file-type’);
const piexif = require(‘piexif’);const removeExif = (region, bucket, key) => {
const S3 = new AWS.S3({region: region});return Promise.resolve({Bucket: bucket, Key: key})
.then(params => S3.getObject(params).promise())
.then(data => new Promise(
Cloud Foundry(IBM Cloud)でNode.jsの最新バージョンを利用する
IBM CloudのCloud Foundry、Node.jsの新しいバージョンを使うときに少し工夫が必要でした。
`ibmcloud cf push`でデプロイした際のログから辿ってると、IBM Cloud側の対応状況と、Cloud Foundry側のドキュメントの対応状況が若干異なるみたいですね。
Cloud Foundryって元々独立してたけどIBMに吸収されたとかでしたっけ…
## まずはNode.jsのバージョン指定無しの場合
特にバージョンを指定せずにデプロイすると以下のような警告が出ました。
デフォルトがNode.js v10系らしいです。流石に古いので警告が出てます。
“`
Downloading app package…
Downloaded app package (635.9K)
—–> IBM SDK for Node.js Buildpack v4.6-20210305-2036
Based on Cloud Foundry Node.js Buildpack 1.7.44
—–>
Lambda関数から別アカウントのDynamoDBに接続
## 記事を書いた経緯
– 初めてAWSを触った!記録取っておこう!
– Lamdba関数から他アカウントのDynamoDBにアクセスを経験!個人的に詰まったところもあったので、同じミスはしないように記録として残そう!
– ナレッジ化して共有できればいいなーって感じです。初投稿なので、「ん?」って思うところがあるかもしれないですが、参考になれば幸いです。
## 環境
– Typescript
– DynamoDB
– Lambda## まず驚いたこと
Lamdba関数からただ単に`aws-sdk`の`DynamoDB Client`を作ってアクセスをしたら`ResourceNotFoundException`になった。。。
なぜだ。。。### NGコード
“`typescript
import {DynamoDB} from “aws-sdk”const client = new DynamoDB.DocumentClient()
const param = {
TableName: “sample”,
Key: {
‘id’: 1
},
}
c
Firestore: Reference型をJSONにするときの挙動を変える
#前置き
例えば以下のようなデータを**Functionsで**Firestoreのドキュメント`users/12345`に入れたとする.
“`json
{
“display_name”: String,
…
“userDetail”: Reference
}
“`Functionsでこのデータを取ってきてJSONでクライアントに返すAPIを作る(`error()`とか`success()`は別で作ってあるって言う体で…).
“`JavaScript
app.get(“/users/:id”, async (req, res, next) => {
const users = await db.doc(`accounts/${req.params.id}`).get();
if (!users.exists) {
error(res, 404, “users_created”, “You’ve not created first user.”);
return;
}
succ
IBM CloudでNode.jsアプリケーションをデプロイするまでの流れ
IBM Cloudを使ってみようと思い触ってみたので主に自分用に残します。
終わってみるとそこまでハマる感じではないと思いますが、僕はハマったところがありました苦笑
## 1. Web上の管理画面側の設定
### アカウントの作成
ライトアカウントという無料で作れるアカウントがあり、クレジットカード登録無しで登録できます。
> https://www.ibm.com/jp-ja/cloud
> ![スクリーンショット 2021-03-24 1.47.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/b86d9ff3-aa79-c9f8-5ff1-11ebb6ef1b78.png “スクリーンショット 2021-03-24 1.47.58.png”)アカウント登録をしていきましょう。
### アプリケーション作成まで
AWSやAzure、GCPなどと同様にIBM Cloudは色々なサービスの集合体の名称です。 今回はCloud Foundryというサービスを使っていきま
express-sessionをMongodbで。
#初めに
今回の記事は対して裏取りをしておりませんので憶測で物をいうことが多いと思います。気になりすぎて夜も眠れネェヨクソが!という方は”フッザケンじゃねぇよ!”を接頭辞にコメントを寄せてもらえればと思います。#connect-mongo
バージョンがアップしたのかどうなのかこちらのモジュールを日本語の記事を参考に使おうと思えば使えませんでした。というわけで、[公式のページ](https://www.npmjs.com/package/connect-mongo#usage)を参考にちょこっとだけ覚書していきます。解説はしません。というかできません。(まだべんきょうちゅー)“`node.js
var session = require(‘express-session’);
var MongoStore = require(‘connect-mongo’)(session);⇓⇓⇓
var session = require(‘express-session’);
var MongoStore = require(‘connect-mongo’);
“`
上のようにし
Jest –watch Error: EMFILE: too many open files, watch
急に`jest –watch`ができなくなったので、調べてみた。
## 現象
“`console
❯ yarn test:watch
yarn run v1.22.10
$ cross-env NODE_ENV=test jest –config=jest.config.json –watch
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-22)
2021-03-23 20:35 node[59503] (FSEvents.framework) FSEventStreamStart: register_
IBM CloudのCloud Foundryデプロイの無料枠のメモリ制限
IBM Cloudを試してみてます。
無料枠を使って試してましたが2個目のアプリケーションのデプロイを試そうとしたら下記エラーでした。
`You have exceeded your organization’s memory limit: app requested more memory than available`
無料枠の制限を超えたようですね。
“`bash
$ ibmcloud cf push
‘cf push’ を起動しています…nobisuke@xxxx.xxx.xxx としてマニフェストから組織 n0bisuke / スペース dev にプッシュしています…
マニフェスト・ファイル /Users/n0bisuke/playground/get-started-node/manifest.yml を使用しています
アプリ情報を取得しています…
これらの属性でアプリを作成しています…
+ 名前: n0bisuke-testapp2
パス: /Users/n0bisuke/playground/get-s
git mv で expressアプリケーションのディレクトリを移動しようとしたらpermission deniedでつまづいた話
## 問題
expressアプリケーションのディレクトリ構成を変更するため、
`git mv`でディレクトリを移動しようしたが
`permission denied`により移動できなかった。
パーミッションを確認したが問題はなかった。## 解決方法
node_modulesを含むディレクトリを`git mv`で移動しようとすると
`permission denied`エラーになるため、
一度node_modulesを削除してから`git mv`で移動する。
最後に`yarn install`でnode_modulesを復元する。## くわしく
“`
.
├── express_nextjs
│ └── app
│ ├── express
│ │ ├── node_modules
│ │ └── その他
│ └── Dockerfile
│
└── その他
“`
を“`
.
├─ app
│ ├── express
│ │ ├── node_modules
│ │
Alexaスキル開発チュートリアル(AWS Lamda, node.js)
# Alexaスキル開発チュートリアル(AWS Lamda, node.js)
個人で開発した、Alexaスキル開発チュートリアルを記載します。**今回は自分の目標設定をAlexaに記憶させて、次回起動時に目標期限を自動で算出して教えてくれるAlexaスキルを開発してみようと思います。**
### 完成イメージ
“`
◼︎ 初回起動時
(自分)アレクサ、目標リマインダーを開いて
(Alexa)こんにちは、目標リマインダーへようこそ。目標達成希望日時を教えてください。
(自分)2020年10月9日
(Alexa)ありがとうございます。目標達成日時は2020年10月9日ですね。◼︎ 次回起動時
(自分)アレクサ、目標リマインダー
(Alexa)おかえりなさい、次の目標達成日時まで1年、残り12日です。目標達成に向けて本日も頑張りましょう
“`### 前提知識
“`
1. AWS Lambdaについての最低限の知識
2. JavsaScriptについての最低限の知識
3. Alexa(スマートスピーカー)についての最低限の知識
“`## STEP1 「ログイン」
Beginner’s Series to: Node.js – 今から始める Node.js
新型コロナウイルスによるパンデミックが始まってかれこれ1年ちょっとが経過しましたが、皆さんいかがお過ごしでしょうか。
私はサンフランシスコに住んでいるのですが、もうずっと WFH (Working from home) 生活でオフィスのフリー・フードやドリンクが懐かしいというか、遠い昔のような気さえします。以前まで通っていたテック系企業が密集するオフィス街は今はまるでゴーストタウンのようになっています。本当に以前のような活気が戻ってくるのかはわかりません。
## 初心者向け Node.js 動画シリーズの日本語版を作ってみた
さて、私は猫 x2 ??⬛ に邪魔されつつ、この狭い自宅で毎日仕事をしているわけですが、時間がフレキシブルになった分、自由時間も多いので、髪を変な色に染めたりしていたのですが、もっと有意義なことをしたかったこともあり、マイクロソフトの同僚たちがやっていた [**Beginner’s Series to: Node.js**](https://channel9.msdn.com/Series/Beginners-Series-to-NodeJS) プロジェク
TypeScript + express-graphql + TypeORM on Node.js ( for MySQL ) 環境を構築したった
# はじめに
はじめまして。突然ですが、[GraphQL](https://graphql.org/)、めちゃくちゃ良い技術です。
Rails に載った GraphQL を業務で使ってますが、フロントエンド開発がフッ軽になります。もっと GraphQL に詳しくなりたい。でも、現在、フロントエンドエンジニアとして勤務中の私には、実務で GraphQL を触ることができたとしても せいぜい Type をちょろっと修正するくらい。
そこで、趣味で書いてる Vue.js 製 WEB アプリの API に GraphQL を採用することにしました。
導入から API として動かすところまでを勉強がてら実装したので、せっかくだし最小限の構成をご紹介します。備忘録も兼ねて。・・・Rails に対してのモチベーションが高くない ☺️ ので、今回は express に載せてます。
# 実際にやってみた
TypeScript 使ってますが、サンプルコードの中では ~~面倒臭いので~~ 厳密に取り扱っていない箇所があります。そーりー。
## 下準備
### package.json を