- 1. 【Node.jsメモ】require()の使い方
- 2. 【NestJS】ServiceクラスにServiceクラスを依存性注入(DI)する方法
- 3. npm install のエラー(zlib: incorrect data check)をRosettaで解決する(M1 Mac)
- 4. Node.js・ブラウザ(JavaScript)で処理時間を測る方法のいくつか
- 5. nodeのバージョンを切り替えても反映されない問題の対処法
- 6. vue serve しようと思ったら digital envelope routines::unsupported が出た
- 7. npm を使用したインストールで「permission denied, access」が出た
- 8. yarn installでエラーが出た件
- 9. 2$ PCB NE555 Door Lock Timer(ドアロックタイマー)
- 10. nvm: install v14 failed!
- 11. 【エラー】【Windowsの人は要注意】npm run watchが動かないときの解決方法
- 12. Nodeのfsモジュールでjsonを条件分けして出力する
- 13. Lambdaレイヤーにnode_modulesを登録してみた
- 14. [初心者向け]AWSを使って外部サイトからkintoneにレコードを追加
- 15. エラー「Node Sass does not yet support your current environment」の解決方法
- 16. firebaseのauthenticationで管理側で強制的にユーザのパスワードを再設定する方法(続・firefooはいいぞぉ)
- 17. Nodejs: multerでファイルアップロードし、sharpでファイルをリサイズして、S3へファイルをアップロード
- 18. Node.jsはシングルスレッド、排他は必要ない
- 19. DBDシリアルコード取得BOT
- 20. ERR_OSSL_EVP_UNSUPPORTEDの解決方法
【Node.jsメモ】require()の使い方
require()とは Node.jsでモジュール化された「便利なJavaScriptファイル」を呼び出すためのもの。
“`javascript
const 変数= require(‘モジュール名’);
“`サーバーサイドでの開発に優しい
こうやってモジュールを呼びだせば自分で難しいアルゴリズムを考えてプログラミングする手間が省けます
【NestJS】ServiceクラスにServiceクラスを依存性注入(DI)する方法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573011/acf5c95c-3214-8daf-5963-201b37d492ed.png)
# はじめに
最近、実務で[NestJS](https://nestjs.com)を書き始めました!
NestJSに関する日本語の記事がまだまだ少ないので、自分用メモも兼ねてどんどん記事を書いていきたいです。# 使用技術
– NestJS(TypeScript)
– GraphQL
– TypeORM# クラス図
![class1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573011/a3d5151a-575f-4fba-4964-60f7bbdc4f16.png)`HogeService`に`FugaService`を注入して、`HogeModule`を外部から利用したいというユースケースです。`HogeResolver`に`FugaServ
npm install のエラー(zlib: incorrect data check)をRosettaで解決する(M1 Mac)
最近M1チップ搭載のMacBook Airを買い、環境構築を進めていたところで、このエラーにぶつかりました。
前々からM1チップはバグが多いみたいなことを聞いていましたが、これまでのIntel製チップと何が違うのかあまり理解していませんでした。
今回のエラーを通じて、M1チップというものがなんとなくわかったので、エラーの対処法と共に書いてみたいと思います。
このエラーに該当していない人でも、Rosettaの設定をしておくとM1チップの意味のわからないエラーも解決できるようになるかもしれないのでみてみるといいと思います。# ぶつかったエラー
“`
npm install -g typescript
“`
nvmを用いてインストールをしたNode.js v14でtypescriptをグローバルにインストールすると下のようなエラーが出てしまいました。“`
zlib: incorrect data check
“`
パッケージの中には普通にインストールできるものもあれば、同じようにzlibのエラーが出てしまうものもありました。# 環境
MacBook Air (M1, 20
Node.js・ブラウザ(JavaScript)で処理時間を測る方法のいくつか
JavaScript で処理時間を計測する場合の話で、複数の方法があるので、そのいくつかをまとめてみました。
Node.js は 2通り、ブラウザ(Chrome を利用)は 3通りの方法を試しています。
## Console API
最初は Console API です。●Console API reference – Chrome Developers
https://developer.chrome.com/docs/devtools/console/api/#time
![Console_API_reference_-_Chrome_Developers.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/6d456884-0aef-8554-3a42-973ed39bdd8e.jpeg)以下、ブラウザと Node.js でそれぞれ動かしてみたものです。
### ブラウザ
“`html
nodeのバージョンを切り替えても反映されない問題の対処法
firebaseのサーバを立ち上げる時のnodeバージョンに合わせるために、node12からnode14にバージョンアップしたのに、なぜかfirebaseの方で何故か反映されていない事態が発生。
↓エラー内容
![スクリーンショット 2021-11-27 22.45.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1573515/a87bb644-5c8a-b51d-2065-2ea03fdee64e.png)##やってた事
“`
$ nodebrew install 14.18.1
$ nodebrew use 14.18.1
“`して
“`
$ node -v
$ 14.18.1
“`なのに
firebaseのサーバを起動しようとすると、
こっちはnodeのバージョンが14なのにあなたは12ですと怒られてしまう…##対処法
nodeとfirebaseのpathを確認してみる“`
$ which node
$ /Users/higu/.nodebrew/c
vue serve しようと思ったら digital envelope routines::unsupported が出た
#はじめに
エラーメッセージ“`
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/Users/~~~~~~~/.nvm/versions/node/v17.1.0/lib/node_modules/@vue/cli-service-global/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/~~~~~~~/.nvm/versions/node/v17.1.0/lib/node_modules/@vue/cli-service-global/node_modules/webpack/lib/NormalModule.js:417:1
npm を使用したインストールで「permission denied, access」が出た
#はじまり
npmでのインストールができない。
“`
npm install -g @vue/cli
“`以下のようなエラーが出た
“`
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’
npm ERR! [Error: EACCES: permission denied, access ‘/usr/local/lib/node_modules’] {
npm ERR! errno: -13,
npm ERR! code: ‘EACCES’,
npm ERR! syscall: ‘access’,
npm ERR! path: ‘/usr/local/lib/node_modules’
npm ERR! }
npm ERR!
npm
yarn installでエラーが出た件
今回、個人開発している方のお手伝いでVueを使用することになり、環境構築時のyarn installでエラーとなってしまいました。
その際に解決策として行ったことを記録として残しておこうと思います。#開発環境
PC:MacBook
エディター:VSCode以前一度Reactの環境構築を行っているので、Nodeはインストールされていました。
#エラー発生時の状況
GitHubからダウンロードしたソースコードを開く。
下記のコマンドを実行“`VSCodeのターミナル
$yarn install
“`しかし下記のエラーとなり失敗しました。
“`
The engine “node” is incompatible with this module. Expected version “^10.13.0 || ^12.13.0 || ^14.17.0 || >=15.0.0”. Got “14.16.1”
02
error Found incompatible module.
03
info Visit https://yarnpkg.com/en/docs/cli/a
2$ PCB NE555 Door Lock Timer(ドアロックタイマー)
【エラー】【Windowsの人は要注意】npm run watchが動かないときの解決方法
脱gulpにむけて、npm-scriptsに移行中に、参考にしたコードを正確に書いたにも関わらずにうまく動かない。
ファイルの更新を監視するwatchを走らせた際に、なぜかエラーが発生する。結論から言うと、
**OSがWindowsの人は、シングルクーテーション「’」ではうまく機能しません!!
package.jsonの書き換える必要があります**#参考にしたwatchは以下の書き方
“`cmd:package.json
“scripts”:{
“watch:server”: “browser-sync start –server dist –files ‘dist, **/*.html, !node_modules/**/*'”,
“watch:css”: “watch ‘npm run css’ ./src/sass”,
“watch:js”: “watch ‘npm run js’ ./src/js”,
“watch”: “npm-run-all -p watch:*”
},
“`##npm run watchをした場合の、エラー内容
“
Nodeのfsモジュールでjsonを条件分けして出力する
##やりたいこと
・jsonを条件別に分割して出力したい。##やったこと
・node.jsのfsモジュールを使う。
・今回はJsonPlaceholderのuser情報を一部変更して使用する。data/users.json
“`json
[
{
“id”: 1,
“name”: “Leanne Graham”,
“username”: “Bret”,
“email”: “Sincere@april.biz”,
“address”: {
“street”: “Kulas Light”,
“suite”: “Apt. 556”,
“city”: “New York”,
“zipcode”: “92998-3874”,
“geo”: {
“lat”: “-37.3159”,
“lng”: “81.1496”
}
},
“phone”: “1-770-736-8031 x56442”,
“website”: “h
Lambdaレイヤーにnode_modulesを登録してみた
Node.jsのプログラムをLambdaにアップロードするときに、node_modulesの容量が大きすぎてエラーになることがあります。
それを回避するために、公式側でLambdaレイヤーにnode_modulesを登録することができるようになっているので、今回はその方法を紹介します。# 前提
– Node.jsをインストール済み
– `npm install`の実行など、Node.jsに関する基礎知識がある
– Lambdaに関する基礎知識がある# 手順
公式ドキュメントの
[Lambda レイヤーの作成と共有](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-layers.html)
を参考に進めていきます。## 1. nodejsフォルダを作成する
「ただフォルダを作成するだけ」
ではありますが、1点注意点があります。
フォルダ名は必ず「nodejs」で作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amaz
[初心者向け]AWSを使って外部サイトからkintoneにレコードを追加
#やりたいこと#
外部サイトで入力したデータをマスタ(kintone)に登録#動作確認環境#
作業端末:windows10
マスタデータ:kintone#テストの流れ#
1. kintoneアプリ作成
2. AWS Lambda関数の作成
3. AWS Lambda環境構築
4. AWS API Gateway環境構築
5. 外部ページの作成#1.kintoneアプリ作成#
####1-1.テスト用のアプリを作成####
○アプリ名:テストアプリ
○項目1:レコード番号
○項目2:文字列(1行)
➤フィールド名:テキスト
➤フィールドコード:text
![kintone1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2225708/ee62981b-ce81-9739-9a01-0cbc7426f32d.png)####1-2.APIトークンの生成####
アプリの設定>設定>APIトークンからレコード閲覧アクセス権有りのAPIトークンを生成し保存(APIトークンを控える)
エラー「Node Sass does not yet support your current environment」の解決方法
gulpが動かない。久しぶりにgulpを動かしてみたら、nodeエラーが出てコンパイルできない。
原因は、nodeのバージョンが対応していなかったこと。バージョンを変更することで無事解決。
今回はその手順を紹介していきたいと思います。#【エラー文】「node-sassはあなたの開発環境をサポートしていない」
![terminal01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2272794/a78ccbbd-64e8-7035-9778-b0af33fd1704.png)
> **Node Sass does not yet support your current environment**
とは、「Node Sassは、現在のあなたの開発環境をサポートしていない」ということ。「詳しくはGithubを確認するよう」にとあるので、その下のGithubのリンクをクリックしてみる。
[https://github.com/sass/node-sass/releases/tag/v4.14.1](
firebaseのauthenticationで管理側で強制的にユーザのパスワードを再設定する方法(続・firefooはいいぞぉ)
こんにちは。[もぐめっと](https://mogmet.com)です。
![IMG_1058 2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/42234/b298bf9e-cdff-f1e8-08b9-e8029d9b3b09.jpeg)
最近本格的なシーズンインに向けて初心者なりに練習を頑張ってます。本日はパスワードを再設定する方法について、よくある例と、2つの強制的にやる方法を紹介します。
## よくあるパスワード再設定例
よくある例としては[ユーザ側で設定する実装例](https://firebase.google.com/docs/auth/web/manage-users?hl=ja#set_a_users_password)、もしくは[パスワードの再設定メールを送信する実装例](https://firebase.google.com/docs/auth/web/manage-users?hl=ja#send_a_password_reset_email)があげられます。
しかし、
Nodejs: multerでファイルアップロードし、sharpでファイルをリサイズして、S3へファイルをアップロード
###背景
写真アプリを作っていて、一覧画面を作ったが、ファイルサイズが大きくて表示に時間がかかってしまう。そのため、オリジナルファイルの表示ではなく、サムネールを表示し、選択したもののみをダウンロード表示するような仕組みに変更することにした。そこで、サムネールの作る必要があったため、そのメモとなる。
仕組み的には、Multerでファイルをアップロードし、アップロードしたファイルをSharpでリサイズして、私が利用しているS3へオリジナルファイルとサムネールの両方をアップロードする仕組み。
###Multer
https://qiita.com/tadnakam/items/d21d014e09cfa98437a8
Multer自体は上記の説明が詳しいですが、私は単一ファイルのアップロードを利用して、特にStorageなども使ってはない。
RoutesでMulterを定義した。“`route.js
// ファイルをアップロードし、一時保管するフォルダを定義
var multer = require(‘multer’);
var upload = multer({
Node.jsはシングルスレッド、排他は必要ない
**※タイトルは釣りです。**
この記事はNode.js初心者がasync/await実装をマルチスレッドと誤解して
混乱するのを解消するために書きました。Node.jsのコードはシングルスレッドで動きます。
(厳密に言うとWorkerとかモジュール内部とかマルチスレッドな部分はありますが、ユーザーが普通に書くコードとしては)
## 結論
– あなたがasyncと書いても、コードが2箇所で同時に実行されることはありません。
– 実行されるコードは常に1箇所のみです。
– awaitと書くとコードの実行が止まって、他のコードに処理が移ることがあります。
– awaitではないコードで、処理が他のコードに切り替わることはありません。
– **あなたが作りたいものによって、排他が必要になることがあります。**## 質問
外部から通信を受け付けるプログラムを書いています。
通信Aを処理している最中に、通信Bが届いたとき、何が起こりますか?「通信Aの処理が終わるまで、通信Bの受信処理は実行されない」
「通信Aの処理の最中に、通信Bの受信処理が割り込む」## 回答
DBDシリアルコード取得BOT
## 内容
discord botを使用してDBD(Dead By Daylight)のシリアルコードを[神ゲー攻略](https://kamigame.jp/dbd/index.html)から取得する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604560/31041169-b557-3b37-3096-657e8bf19712.png)## 使い方
[成果物のbot追加リンク](https://discord.com/oauth2/authorize?client_id=903811636064825415&permissions=0&scope=bot%20applications.commands)
サーバにBOTを招待して放置するだけ
## 開発環境
windows: 10
EXE
Visual Studio Code: 1.62.3 エディタ
Node.js: 16.13.0パッケージ
discord.js: 13.3.1
log4js: 6.3.0
ERR_OSSL_EVP_UNSUPPORTEDの解決方法
[Node.jsのバージョン17以降から、OpenSSL3.0に対応するようになったため](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V17.md#openssl-30)、既存のエコシステムに影響が生じるようになったようだ。それが原因で、Reactアプリを立ち上げるときに、`ERR_OSSL_EVP_UNSUPPORTED`というエラーに遭遇した。
今回、このエラーを解決することができたので、手順と周辺情報を共有したい。
同様のエラーに遭遇した方のお役に立てれば、幸いである。
## エラー解決手順
![https://images.unsplash.com/photo-1600880292203-757bb62b4baf?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb](https://images.unsplash.com/photo-1600880292203-757bb62b4baf?ixlib=rb-1.2.1&q=85&