- 1. Serverless のプラグインを TypeScript で作成する方法
- 2. Firestore 全てのドキュメントに対して、一気にフィールドを追加する方法(Cloud Functions)
- 3. Firebase Cloud Functions Node.js 8 のサポートを終了しました。
- 4. ExpressとPassportでOpenID Connect認証を実装する
- 5. EC2をt2.microで立てたときにやることメモ
- 6. RHEL 8にNode.js 14をインストール(AppStream)
- 7. node.jsのExpressを導入するときの手順メモAzure前提
- 8. Nodejsのバージョンをv8→v15に変更して色々戸惑ってる話
- 9. VRMでブラウザで動く多人数オープンワールドゲームVZeroを作った
- 10. Node.jsプログラムがコード3221225477で落ちた際の対処メモ
- 11. 【webpack-dev-server】Cannot find module 'webpack-cli/bin/config-yargs'【webpack-cli4系】
- 12. Electron パッケージ化する時にハマったこと。Cannot find module '...'
- 13. LINE Developerの管理画面の「検証」ボタンからの接続確認を成功させる
- 14. 【Node.js 】Node.js と npm をインストールする(Windows)
- 15. sequelizeのupsertの挙動を説明させて頂きます
- 16. ブラウザでrequireを使う方法2選
- 17. Railsで発生したAutoprefixer doesn’t support Node v4.8.2. Update it.エラーについて【Docker Rails5 Bootstrap】
- 18. JSON Serverで静的ファイル(画像, CSV等)を配信する方法
- 19. WSL、Zsh、VSCode、Docker、NodeJS セットアップまとめ in 2020
- 20. npm 最新版 インストール 方法
Serverless のプラグインを TypeScript で作成する方法
## はじめに
[Serverless Framework](https://www.serverless.com/) を使っていて、度々デプロイ時に手動で設定していた作業内容を自動化したいなと思い、プラグイン作成の知識習得も兼ねてライブラリを作成し [NPM](https://www.npmjs.com/) で公開してみました。
[serverless-amplify-auth ?](https://www.npmjs.com/package/serverless-amplify-auth)
今後も開発する可能性はありそうなので Serverless のプラグインを TypeScript で作成する際の手順をまとめておきました。各手順はザックリと紹介しつつ、**主にその過程でハマった点や工夫した点に重きをおいて記事を書いていきます。**
## 動作環境
– Node.js 12.19.0
– Serverless Framework
– Framework Core: 2.10.0
– Plugin: 4.1.1
– SDK: 2.3.2
– Compone
Firestore 全てのドキュメントに対して、一気にフィールドを追加する方法(Cloud Functions)
#全てのusersドキュメントに対してフィールドを追加したい!
私が運営しているアプリではFirestoreを使っている。
**新機能の追加にあたって、usersに入っているドキュメント全てに対して`isLocked`というフィールドを追加したくなった。**イメージはこんなん:point_down:
![スクリーンショット 2020-11-07 19.26.19.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167220/cd9c5113-1588-7654-be0a-7a692032f006.jpeg)Firestoreのコンソール画面からフィールドを追加することはできるが、それだと1つ1つ全てのユーザーに対して手動で操作しないといけない・・・
**ユーザーが1000人いたら、1000回Firestoreのコンソール画面で「フィールドを追加→フィールド名入力→タイプを選択→値を入力」を繰り返さないといけない!:sweat_smile:**
![スクリーンショット 2020-11-08 17.
Firebase Cloud Functions Node.js 8 のサポートを終了しました。
#久しぶりにCloud Functionsのコンソール画面を開くと、、
![スクリーンショット 2020-11-08 14.23.29.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/167220/10adcad2-0ee8-c446-f4be-7754150733c8.jpeg)「ん?何やこれ?笑」
そう思って、とりあえずさっきターミナルからデプロイした時のログを確認することに。“`terminal
functions: Warning: Node.js 8 functions are deprecated and will stop running on 2021-03-15. Please upgrade to Node.js 10 or greater by adding an entry like this to your package.json:{
“engines”: {
“node”: “12”
}
}Th
ExpressとPassportでOpenID Connect認証を実装する
# 概要
OpenID Connect(以下、「OIDC」と略記)のRelying Party(以下「RP」と略記)を、Node.jsのExpressを使ったWebページ上にPassportを使って簡単に実装する方法を説明する。
本サンプルの前提は以下。
* 認証フローは「認可コードフロー(RFC 6749, 4.1. Authorization Code Grant)」を使う
* OIDCのIDプロバイダーとして、Google Cloud Platform(以下、「GCP」と略記)を使う使うライブラリは以下。
* Express
* Passport
* Passport-OpenID Connectなお、OIDCのRPを実装するだけであれば、`auth0/express-openid-connect` を使うのが一番簡単かもしれない。次のようにするだけで、以降の`app.use()`を認証ページとして設定できるので。
“`
const { auth } = require(‘express-openid-connect’);
app.use(
auth(
EC2をt2.microで立てたときにやることメモ
勉強用のEC2インスタンスを間違って停止ではなく終了してしまい、作り直すことがちょこちょこあるため、インスタンスを立ち上げたときにだいたいやることを備忘録として残しておく
# 各種最新化
“`shell
sudo yum update -y
“`# スワップメモリを増やす
t2microのようなメモリが少ないインスタンスの場合、Angularのprodビルドのようにメモリを多く使う処理で落ちてしまうため、スワップメモリを増やして回避します
“`shell
# 4GBのスワップファイルを作成(メモリが少ないのでbsが多いと失敗する)
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
# スワップファイルに読み書き権限付与
sudo chmod 600 /swapfile
# スワップ領域のセットアップ
sudo mkswap /swapfile
# スワップ領域を有効化
sudo swapon /swapfile
# スワップ領域の確認
sudo swapon -s
“`参考:https://aws.amaz
RHEL 8にNode.js 14をインストール(AppStream)
# はじめに
Application Stream(AppStream)を利用してRHEL8にNode.js 14をインストール
参考:[RHEL8のパッケージ構成 – BaseOSとApplication Stream – 赤帽エンジニアブログ]( https://rheb.hatenablog.com/entry/rhel8_baseos_and_appstream)
[第4章 新機能 Red Hat Enterprise Linux 8 \| Red Hat Customer Portal](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/8.3_release_notes/new-features#enhancement_dynamic-programming-languages-web-and-database-servers)## サポート
本手法で導入した場合、[Red Hat Enterprise Linux 8 Application Stream
node.jsのExpressを導入するときの手順メモAzure前提
# 概要
自分用の( ..)φメモメモ。
node.jsのexpressを新規に導入するときの手順。
AzureのWebAppで動かす前提で、TDD想定でsrcとtestフォルダに分けるものとする。
必要最小限。test側のモジュール導入は省略。# 手順のメモ
`express-generator` はグローバルで導入済みとする。
Expressのスケルトン作成してAzure向け且つTDD向けにファイル移動する
“`
express myapp –no-view
mkdir src
mkdir test
copy myapp\bin\www .\server.js
xcopy myapp\public .\src\public\
xcopy myapp\routes .\src\routes\
copy myapp\app.js .\src\
npm init
“`server.jsのファイル書き換える
“`
var app = require(‘../app’);
// ↓
var app = require(‘./src/app’);
“`p
Nodejsのバージョンをv8→v15に変更して色々戸惑ってる話
半ば自分へのメモも兼ねて。
### Nodejsのv15が出ていた……
二週間遅れぐらいでNodejsの新バージョンを知りました。
半年毎にメジャーバージョンアップとか判断が早い……。
https://nodejs.org/en/blog/release/v15.0.1/### せっかくなのでNuxtJSを動かしてみる
とりあえずnodebrewで新バージョン入れて切り替え。
windowsのwslでやってます。“`
nodebrew install v15
nodebrew use v15
“`
で、手元のNuxt(v2.12)でサクッと実行。“`
npm run dev
“`▼ ▼ ▼
“`
Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (88)
“`
まぁそうなるなー。
作業中に入れたnode-sassが合ってない感じ?### 手抜きせずにちゃんとupdateしましょう
nodeモジ
VRMでブラウザで動く多人数オープンワールドゲームVZeroを作った
# VZero – Reborn Virtual from Zero.
誰でもブラウザで入れるVRMのオープンワールド"VZero"を作りました。
アバターがなくても、自分のアバターでも手軽に入場できます。
チャット・ボイスチャットもあります。
マップを探検したり、フォトグラメトリで取り込まれたモデルを見たり、のんびりと楽しんでください。https://t.co/FxK6dPu007— FaceVTuberOfficial (@FaceVTuber) November 3, 2020