- 1. npm installするとSSL/TLSネットワークエラーが発生した場合の対処方法(ESET編)
- 2. node.jsでalexaスキル その8
- 3. process.onと併せてExpressアプリケーションで発生しうるエラーを可能な限り包括的に処理する方法
- 4. 【node-cli】readline-syncで日本語が文字化けする
- 5. node.js – クラスにメンバ変数・メンバ関数を定義する ( インスタンス変数、インスタンス関数的な )
- 6. node.jsでalexaスキル その7
- 7. node.jsでalexaスキル その6
- 8. node.jsでalexaスキル その5
- 9. 初めてのWebアプリケーションを作ってデプロイした話(React / Express)
- 10. Node.jsを削除し、nvmで再インストールする
- 11. [uncaughtException] proxyReq.appendHeader is not a function
- 12. Webブラウザ自動運転 – Playwright / Kotlin / jvm
- 13. Nodeのバージョンを変更したい
- 14. `npm ERR! code ECONNRESET`が出たので対応した。
- 15. NodeJS: プロファイリング
- 16. prisma db pull→prisma migrate devに失敗する
- 17. TypeScriptのコードが変更されたら自動で再実行させる
- 18. LIFFスターターアプリを試したときのエラーについて
- 19. Ubuntu22.04(Linux)に Node.jsをインストール
- 20. javascriptフレームワークの環境構築
npm installするとSSL/TLSネットワークエラーが発生した場合の対処方法(ESET編)
# 記事を書こうと思った背景
## ある日突然、npm installするとう、うごかない…
Node.jsパッケージ管理ツール「npm」を使って開発していると、ある日突然、npm経由でソフトウェアをインストールできなくなってしまった…💦
![エラー1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1169664/0b277a74-adc5-8595-e880-4048a137ccf5.png)今まで普通にダウンろーできなのに…かなり焦りました。
## 試みたこと
| 試みた内容 | 手法 | 結果|
|:———–|————:|————:|
| npmのバージョン更新 | npm install -g npm |×|
| Proxyの確認 | npm -g config list |×|
| Node.jsの再インストール|[Node.jsダウンロード公式サイト](https://nod
node.jsでalexaスキル その8
# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。# 練習問題
Alexa-hostedで、暗算、インテントを追加せよ。# 方針
– attributesManagerを使う。LaunchRequest
「暗算ゲームをはじめます。それでは問題です。20足す40は?」AnswerIntent
「60だぜ」「すごい正解です。20足す40は60です。よくわかりましたね!」
「70だぜ」
「残念20足す40の答えは60です。」
# 写真
![スクリーンショット 2024-04-20 065343.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/cfc79117-6ca1-d222-0bcd-09d0f6e46e2c.png)
# アンサー、インテントを追加
– 対話モデル>インテント>インテントを追加>カスタムインテントを作成
AnswerIntent– 対話モデル>インテント>インテントを追加>サンプル発話
” {ans} だぜ”–
process.onと併せてExpressアプリケーションで発生しうるエラーを可能な限り包括的に処理する方法
## 概要
ExpressでWEBアプリを作成する際に、全体のエラーハンドリングに関する知識があいまいであったので、Node.jsのエラーハンドリングに関しても触れながら考えていきたい。
## ざっくり全部対応しているサンプルコード
以下は、Expressアプリケーションで発生しうるエラーを包括的に処理する方法の全体的なコード例です。:::note warn
メモリリークに関しては取得できませんでした、、
:::“`javascript
process.on(‘uncaughtException’, (err) => {
console.error(‘Uncaught Exception:’, err);
// エラーのログ記録やクリーンアップ処理を行う
process.exit(1);
});process.on(‘unhandledRejection’, (reason, promise) => {
console.error(‘Unhandled Rejection:’, reason);
// エラーのログ記録やクリーンアップ処理を行う
p
【node-cli】readline-syncで日本語が文字化けする
## 事象
“`node:interactive.js
const readlineSync = require(‘readline-sync’);
let inputString = readlineSync.question(`文字を入力…`);console.log(inputString)
“`Powershellで`node interactive.js`と実行すると、「inputString」はおろか「文字を入力…」の箇所まで文字化けしてしまう。
inputStringをコード上で日本語と一致比較しようにも、全く機能しなくなる。
## 解決
https://qiita.com/zawazawa5809/items/d6f84cf92a56f47229ed
CtrlPanel>地域>管理>システムロケールの変更>ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用(U) にチェック
node.js – クラスにメンバ変数・メンバ関数を定義する ( インスタンス変数、インスタンス関数的な )
# バージョン
– node v20
# コード例
オブジェクト ( インスタンス ) 作成時に設定した boolean が返る メンバ変数、メンバ関数をそれぞれ一つずつ設定する
“`ts
class ExampleClass {
constructor(flag) {
this.flag = flag
}getFlag() {
return this.flag
}
}const exampleInstance1 = new ExampleClass(true)
console.log(exampleInstance1.flag) // true
console.log(exampleInstance1.getFlag()) // trueconst exampleInstance2 = new ExampleClass(false)
console.log(exampleInstance2.flag) // false
console.log(exampleInstance2.getFlag()) // false“`
#
node.jsでalexaスキル その7
# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。# 練習問題
Alexa-hostedで、ズンドコ、インテントを追加せよ。# 方針
「ズンドコ」で、「ズン ドコ キヨシ」# ズンドコ、インテントを追加
– 対話モデル>インテント>インテントを追加>カスタムインテントを作成
ZundokoIntent– 対話モデル>インテント>インテントを追加>サンプル発話
” ズンドコ ”– 対話モデル>インテント>インテントを追加>保存>スキルをビルド
# コードを追加
“`
const ZundokoIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === ‘IntentRequest’ && handlerInput.requestEnvelope.request.intent.name === ‘ZundokoIntent’;
},
handle(handlerInput) {
let sp
node.jsでalexaスキル その6
# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。# 練習問題
Alexa-hostedで、じゃんけん、インテントを追加せよ。# 方針
– 「じゃんけんグー」で、「私もグー、あいこだね」# じゃんけん、インテントを追加
– 対話モデル>インテント>インテントを追加>カスタムインテントを作成
GuuIntent– 対話モデル>インテント>インテントを追加>サンプル発話
” じゃんけんグー ”– 対話モデル>インテント>インテントを追加>保存>スキルをビルド
# コードを追加
“`
const GuuIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === ‘IntentRequest’ && handlerInput.requestEnvelope.request.intent.name === ‘GuuIntent’;
},
handle(handlerInput) {
const a
node.jsでalexaスキル その5
# 概要
node.jsでalexaスキル、やってみた。
練習問題やってみた。# 練習問題
Alexa-hostedで、九九、インテントを追加せよ。# 方針
– 「一の段」で、「いん いち が いち ・・・」# 九九、インテントを追加
– 対話モデル>インテント>インテントを追加>カスタムインテントを作成
NumIntent– 対話モデル>インテント>インテントを追加>サンプル発話
” {num} の段 ”– 対話モデル>インテント>インテントを追加>インテントスロット
num AMAZON.Number– 対話モデル>インテント>インテントを追加>保存>スキルをビルド
# コードを追加
“`
const NumIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === ‘IntentRequest’ && handlerInput.requestEnvelope.request.intent.name === ‘N
初めてのWebアプリケーションを作ってデプロイした話(React / Express)
# 目次
[1. どんな人にオススメの記事??](#1-どんな人にオススメの記事)
[2. 自己紹介](#2-自己紹介)
[3. まえがき](#3-まえがき)
[4. 作ったサイトについて](#4-作ったサイトについて)
[5. 使った言語やライブラリなど](#5-使った言語やライブラリなど)
[6. どうやって勉強したの?](#6-どうやって勉強したの)
[7. 作ったアプリの反省](#7-作ったアプリの反省)
[8. 今回得たこと](#8-今回得たこと)
[9. 今後の展望](#9-今後の展望)
[10. 終わりに](#10-終わりに)# 1. どんな人にオススメの記事??
この記事の読者対象は次のような方にオススメです
– Webアプリケーションを作ってみたいけど**何から学べばよいか分からない**– ある程度HTMLやCSSは触れるけど、**バックエンドの知識は全くない**
# 2. 自己紹介
– 電気通信大学の学部4年生で情報系の専門です
– プログラミング歴については大学に入ってから始めたので3年ほどになります
– C++で競技プログラミングをしていて現在
Node.jsを削除し、nvmで再インストールする
Next.jsで開発をしていたらNode.jsのバージョンが古いと怒られたので、どうせならバージョン管理ツール(nvm)を導入しようと思ったので、やり方をメモ。
# 環境
– Windows11# Node.jsのアンインストール
インストール済みのNode.jsを削除します。
参考→[How to completely remove node.js from Windows](https://stackoverflow.com/questions/20711240/how-to-completely-remove-node-js-from-windows)1. npmパッケージのキャッシュを削除
“`posh
npm cache clean –force
“`
2. Node.jsをアンインストール
コントロールパネルからアンインストール
3. 再起動
4. 関連フォルダの削除
`C:\Program Files (x86)\Nodejs`
`C:\Program Files\Nodejs`
`C:\Users\{User}\AppData\R
[uncaughtException] proxyReq.appendHeader is not a function
## 参考
https://github.com/nuxt/nuxt/issues/26662これによると、nodeのバージョンを上げればいいらしい。
“`
// nvmインストール
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
$ export NVM_DIR=”$HOME/.nvm”
$ [ -s “$NVM_DIR/nvm.sh” ] && \. “$NVM_DIR/nvm.sh” # This loads nvm
$ [ -s “$NVM_DIR/bash_completion” ] && \. “$NVM_DIR/bash_completion” # This loads nvm bash_completion// node v20.12.2インストール
$ nvm install –lts –latest-npm$ nvm use v20
Now using node v20.12.2 (npm v10.5.2)$ node -v
Webブラウザ自動運転 – Playwright / Kotlin / jvm
(自分メモ)
下記と同じことをKotlin/jvmで書きたい。テスト用サーバも。https://qiita.com/shokkaa/items/b41a714574031765a2b3
# 環境
– Ubuntu 22.04 on wsl2 on Windows 11
– JDK 21# Project初期化
“`build.gradle.kts
plugins {
kotlin(“jvm”) version “1.9.23”
application
}
repositories { mavenCentral() }
dependencies {
implementation(“com.microsoft.playwright:playwright:1.43.0”) // https://mvnrepository.com/artifact/com.microsoft.playwright/playwright
implementation(“io.ktor:ktor-server-cio:2.3.10”) // https://mvnre
Nodeのバージョンを変更したい
## はじめに
Nodeのバージョンを変更したい。
まずはNodeのバージョンを確認。
“`
$ node -v
“`
すると
“`
v18.15.0
“`
これが現在のバージョンです。
今回は `v12.9.1` に変更していきます。## 1.ダウンロード可能なバージョンを確認
下記コマンドをターミナルで入力。
“`
$ nodebrew ls-remote
“`
しかし、
“`
zsh: command not found: nodebrew
“`
と怒られてしまいました🥲### nodebrew のインストールができているか確認
“`
$ which nodebrew
“`
すると
“`
nodebrew not found
“`
と表示されました。
どうやら nodebrew がインストールされていなかったようです。### nodebrew をインストールする
(Homebrewがインストールされている前提)
“`
$ brew install nodebrew
“`
上記コマンドを入力できたら、次にパスを設定する必要があります。##
`npm ERR! code ECONNRESET`が出たので対応した。
# 前置き
とても初歩的な内容ですが、初歩的過ぎて逆に情報が見つかりずらいやつでしたので、備忘録的にメモしておきます。
***
vueを使ってWebアプリを作っている際に、プロジェクト内にFirebaseをinstallしようとしたらエラーが出ました。
エラー文はこちら。
“`
$ npm install firebase //このコマンドに対して下記のエラーnpm ERR! code ECONNRESET
npm ERR! syscall read
npm ERR! errno ECONNRESET
npm ERR! network Invalid response body while trying to fetch https://registry.npmjs.org/@firebase%2fapp-types: read ECONNRESET
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a
NodeJS: プロファイリング
# NodeJSとV8のチューニング
NodeJSの処理のほとんどはV8に依存しているため、V8の状態をプロファイリングすることでパフォーマンス上の問題などを特定できる場合があります。## JITプロファイリング
プロファイラの実行は次のとおりです。
“`
$ NODE_ENV=puroduction node –prof app.js
“`これにより、JITコンパイルのイベントが一連のティックとして記録されます。
“`
code-creation,LazyCompile,0,0x2d5000a337a0,396,”bp native array.js:1153:16″,0x289f644df68,~
code-creation,LazyCompile,0,0x2d5000a33940,716,”hasOwnProperty native v8natives.js:198:30″,0x289f64438d0,~
code-creation,LazyCompile,0,0x2d5000a33c20,284,”ToName native runtime.js:549:1
prisma db pull→prisma migrate devに失敗する
## Prismaとは
PrismaとはNode.jsのORマッパーの1つです。詳しい解説は他記事に譲りますが、下記2つの機能も持っています。– **Introspection**
`npx prisma db pull`
接続しているRDB上のスキーマを取得して、Prisma上のmodelファイルであるschema.prismaファイルにpullできます。– **Prisma Migrate**
`npx prisma migrate dev`
schema.prismaファイルの変更を接続しているRDB上のスキーマに反映できます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991958/89fbcb72-c1ee-a27e-8846-3f59cbd48c1c.png)
## prisma db pull→prisma migrate devに失敗
– 既存のMySQLデータをpullし、そのままprisma migrate devしようとすると失敗しました。:
TypeScriptのコードが変更されたら自動で再実行させる
皆さんはTypeScriptの学習であったり、すぐにコードの挙動を確認したい時はどうしてますか?公式のプレイグラウンドを使う方が多いのでしょうか。今回は普段使っているエディターでそれに似た環境を作ってみたのでご紹介します。コードに変更があったら自動で再実行させるため、`nodemon`と`ts-node`を使いました。
**nodemon**
ファイル変更を検知してアプリケーションを再起動するツール**ts-node**
REPLも備えた、TypeScript実行ツールhttps://www.npmjs.com/package/nodemon
https://www.npmjs.com/package/ts-node
### 動作環境
– macOS Sonoma
– Node.js 20.10.0
– TypeScript 5.4.5
– nodemon 3.1.0
– ts-node 10.9.2### ディレクトリ構成
“`
myApp/
├── src/
│ └── index.ts
├── package-lock.json
└── pac
LIFFスターターアプリを試したときのエラーについて
### はじめに
LIFF(LINE内ブラウザで動くWebアプリ)のスターターアプリを試した時にエラーが出たので、それについての備忘録です### 実行環境
– OS: macOS 13.6.6
– Node.js: 18.6.1
– yarn: 1.22.22### エラー内容
“`
Error: error:0308010C:digital envelope routines::unsupported …
“`
下記公式を参考に進めていくと`yarn dev`で上記のエラーが発生しましたhttps://developers.line.biz/ja/docs/liff/trying-liff-app/
### 対応
検索してみたところ、Node.jsがバージョン的に対応していなさそうなことがわかりました
そのため、公式に書いてある動作環境を参考に、バージョン管理ツール「n」を使ってNodeのバージョンを16.13.1へ変更してみることにしました– Node.js: 18.6.1 → 16.13.1
変更後に`yarn dev`を試してみると無事に実行すること
Ubuntu22.04(Linux)に Node.jsをインストール
以前までは以下の記事と同じ方法で行っていました。
[【2023年4月版】Ubuntu に node.js と npm を入れたい(バージョン管理も)](https://qiita.com/nouernet/items/d6ad4d5f4f08857644de)
具体的にはnodeをaptでインストールし、nというnode.js自体のバージョン管理ツールでnode.jsをバージョンアップし、nを削除という方法でした。
ただ、今回公式を見に行ってみると公式が丁寧になっていたので記事にしてみました。
https://nodejs.org/en/download/package-manager
概要としては、nvmというバージョン管理ツールをcurlにて直接インストールし、node.jsを指定のバージョンでインストールする、という手順のようです。
抜粋というか、ほぼコピペですが、コマンドは以下の通りです。
“`shell:bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.s
javascriptフレームワークの環境構築
##### この記事では主にHomebrewを使用した環境構築方法になります。
#### node.jsの環境構築
“`
# node.jsのバージョン管理のためのnodebrewをインストール
$ brew install nodebrew# nodebrewのバージョン確認
$ nodebrew -v# node.jsのインストール
$ nodebrew install-binary stable## 下記のようなエラーが出た時は、、、、
Fetching: https://nodejs.org/dist/v20.3.0/node-v20.3.0-darwin-arm64.tar.gz
Warning: Failed to create the file
Warning: /Users/username/.nodebrew/src/v20.3.0/node-v20.3.0-darwin-arm64.tar.gz
Warning: : No such file or directory# エラーの場合は下記のコードを実行後に最インストール
$ mkdir -p