はじめに
JavaScript で yukik/koyomi を使って和暦を算出する方法を整理した。
TL;DR
npm i yukik/koyomi
で GitHub からインストールnpm i koyomi
だと「令和」未対応
koyomi.format(
2020-04-01 09:00:00, 'GGN年')
で令和2年
が返却- 環境によっては
Intl.DateTimeFormat
やtoLocaleString
でも取得可能
JavaScript で yukik/koyomi を使って和暦を算出する方法を整理した。
npm i yukik/koyomi
で GitHub からインストールnpm i koyomi
だと「令和」未対応koyomi.format(
2020-04-01 09:00:00, 'GGN年')
で 令和2年
が返却Intl.DateTimeFormat
や toLocaleString
でも取得可能
nestjs/nest のチュートリアルなどを触った際のメモ。
自分の中で知見がまとまったら内容ごとに別記事に分離するかも。
チュートリアル: Documentation | NestJS - A progressive Node.js framework
axios でリクエストした際に unable to verify the first certificate
となる場合の対応方法。
自己生成証明書(オレオレ証明書)を利用している環境などで発生すると思われる。ちゃんとした証明書であれば問題ないはずなので、あくまでも暫定的な対応方法。
httpsAgent
に rejectUnauthorized: true
で生成したエージェントを指定axios で、添付ファイルありのリクエストを送信する方法を整理した。
【React】axiosを使用してmultipart/form-data形式の通信をする - モノクロタイム を参考にさせてもらった。
FormData
の append
でデータを構築transformRequest
でも対応できるかも?(未検証)FormData
はブラウザのみなので、CLI ツールなどは別フォーマットを使う必要がありそうサーバ(Node.js)からプッシュ通知を送信する方法として、firebase-admin を使って簡単なプッシュ通知を送信する方法を整理した。
関連: Vue + Cordova + Firebase でプッシュ通知
GOOGLE_APPLICATION_CREDENTIALS
を設定(direnv
使うと便利)initializeApp
, Messaging.send
でプッシュ通知 送信Cordova の iOS ビルドなどで ios-deploy
を使っていて、以下のエラーが出た場合の対処方法。
1 | ... |
ちなみに、自分の環境ではビルド・デプロイまではできるが、Mac に繋いで Safari 経由でのデバッグができない(iOS デバイスを認識しない)という状態だった。
ios-deploy
をアンインストール→再インストール で解決rm ~/Library/Developer/Xcode/DerivedData/ios-deploy-*
mv
でリネームするのが良いnpm un -g ios-deploy
npm i -g ios-deploy
JavaScript で 16進数 ランダム文字列を簡単に生成する方法を調べた。
CDN を使う方法(chance.js)、npm からインストールする方法(crypto-random-string)についてまとめた。
chance.string({length: 8, pool: '0123456789abcdef'})
cryptoRandomString({length: 8})
Node.js で node-rsa
の代わりに、@bluecrypt/keypairs
と node-forge
を使って鍵の生成や 暗号化/復号化 を行う方法を整理した。
なお node-rsa
を使わない理由は単純に処理速度の観点から。
node-rsa
以外の RSA 暗号化関連ライブラリについて整理@bluecrypt/keypairs
が速い(※)node-forge
が速い(※)※あくまで「自分の計測した範囲では」なので、環境や状況で結果は異なると思う。
続きを読むNode.js でミリ秒よりも高精度のタイマーやタイムスタンプを利用する方法について整理した。
microtime
(node-microtime
) を使うperformance.now()
と perfomance.timeOrigin
を組み合わせてもマイクロ秒オーダーで Unix Timestamp が取得できるprocess.hrtime()
でナノ秒オーダで計測が可能