Node.js関連のことを調べてみた2023年03月07日

Node.js関連のことを調べてみた2023年03月07日

CKA試験、Node

# Node

ノードに新たなPodを作成できないようにする
“`shell
kubectl cordon <ノード名>
“`

ノードに新たなPodを作成できるようにする
“`shell
kubectl uncordon <ノード名>
“`

ノードに新たなPodを作成できるようにする
“`shell
kubectl drain <ノード名> –ignore-daemonsets
“`

元記事を表示

Bing AI みたいに ChatGPT が Google 検索できるようにする

# やりたいこと
現在 ChatGPT は2021年までの情報しか学んでおらず、最新の知識は確認できません。
しかし、Bing のチャット AI は検索が可能であり、検索した結果を使用して回答してくれます。
せっかくなので、ChatGPT でも検索してもらいたいなぁ…ということで実装してみます。

期待するのは以下のような結果です。
“`
you: 2022年のFIFAワールドカップの優勝国を教えてください。
2022 FIFAワールドカップ優勝国を検索中…
ChatGPT: 2022年のFIFAワールドカップの優勝国は、アルゼンチンです。アルゼンチンは決勝戦でフランスをPK戦の末に破って優勝しました。

you: PK戦はどうでしたか?
アルゼンチン vs フランス PK戦 W杯2022を検索中…
ChatGPT: アルゼンチンとフランスのFIFAワールドカップ決勝戦は、PK戦の末にアルゼンチンが勝利しました。PK戦は4対2で、アルゼンチンの神の子メッシが2得点を挙げました。

you: ありがとうございます。アルゼンチンは強いですね。
ChatGPT: はい、アルゼン

元記事を表示

[MacOS][React Native][Expo Go][Node.js]環境構築からプロジェクト作成まで備忘録

前提条件:アプリ検証するためのスマホにExpo Goアプリがインストールされていること
(インストール先URL:https://expo.dev/client )

手順は大きく5つです
[1.Node.jsのインストール](#nodejsのインストール)
[2.yarnのインストール](#yarnのインストール)
[2.5.yarnのインストールがうまくいかない時(権限エラー)](#yarnのインストールがうまくいかない時権限エラー)
[3.プロジェクトを作成する](#プロジェクトを作成する)
[4.開発サーバを起動する](#開発サーバを起動する)
[5.Expo Goアプリで確認する](#expogoアプリで確認する)
[EX.まとめ](#まとめ)

***
### Node.jsのインストール
MacにNode.jsをインストールします。
いろんなインストール方法があると思いますが私は今回公式サイトのインストーラから取り込みました。
公式サイト:https://nodejs.org/ja/download/

***
### yarnのインストール
Macにyarnをインストー

元記事を表示

ChatGPT API で文脈を含めたやりとりをサクッと出来るようにする

# やりたいこと
ChatGPT API でウェブ版のように文脈を含めたやりとりをしたい。

# 仕組み
`messages` に今までのやりとりを含めれば OK です。
まず、`2020年のワールドシリーズを制したのは?`という質問を尋ねる場合は以下になります。
“`js
const response = await openaiClient.createChatCompletion({
model: ‘gpt-3.5-turbo’,
messages: [
{“role”: “system”, “content”: “あなたは役にたつアシスタントです”},
{“role”: “user”, “content”: “2020年のワールドシリーズを制したのは?”},
]
});
“`
これのレスポンスが、`ロサンゼルス・ドジャースがワールドシリーズを制覇しました。`だとします。
そしてこの回答のあとに`どこでプレイされたでしょうか`という質問をする場合は以下になります。
“`js
const response = awai

元記事を表示

【TypeScript】ローカルに保存したパッケージを他のプロジェクトで使う方法

Remixに関連のあるライブラリをフォークして、ローカルにクローンして修正を行っていた時の話。
これをコミットする前に、Remixプロジェクトにインポートしてきちんと動くか確認したかった。

ちなみにそのパッケージとは、これ。

https://github.com/danestves/remix-auth-auth0

そして、これの`package.json`は次のようになっている。

“`json
{
“name”: “remix-auth-auth0”,
“version”: “1.6.0”,
“main”: “./build/index.js”,
“types”: “./build/index.d.ts”,
“scripts”: {
“build”: “tsc –project tsconfig.json”,
“typecheck”: “tsc –project tsconfig.json –noEmit”,
“lint”: “eslint –ext .ts,.tsx src/”,
“test”: “jest —

元記事を表示

【チャットAI】ChatGPTのAPI呼び出しをReact+Node.jsで実装してみた(要約機能、会話保存機能付き)

# 概要
日本時間の2023年3月2日、OpenAIより”gpt-3.5-turbo”が公開されました。
これは、ChatGPTの内部で利用されているモデルがAPIとして公開されたものらしく、これまでの他のOpenAIのテキスト系生成AIよりも価格が1/10で、しかも応答が速い、とのことで、使わない手はありません。
そこで、APIの利用の練習も兼ねて、ChatGPTのAPI呼び出しをReact+Node.jsで実装してみました。

ソースをGitHubにて公開しています。
本記事では、動作手順と実装内容の抜粋を説明します。

[sample-chatgpt-nodejs](https://github.com/falman-ai-coding/sample-chatgpt-nodejs)

# Playgroundとは何が違う?
“gpt-3.5-turbo”は、OpenAI APIの[Playground](https://platform.openai.com/playground)からも利用が可能です。
今回作成したものはおおよそ同じことができますが、以下の違いがあります。

元記事を表示

データベースを基本からまとめてみた【PostgreSQL入門】

## PostgreSQLとは?

[PostgreSQL](https://www.postgresql.jp/download)
 PostgreSQL(ポストグレスキューエル)とはオープンソースのリレーショナルデータベース管理システム(RDBMS)のデータ管理システムのこと。Linux、macOSといったUNIX系OSはもちろんのこと、Windowsにも対応している。すべてのソースは公開されており、用途を問わず無料で利用できる。RDBMS(リレーショナルデータベース管理システム)として基本的な機能を備えており、SQL言語を使ったデータの作成・編集といったデータ管理機能や、サブクエリ、トリガー、バックアップなどの障害回復機能、同時実行制御などに対応している。拡張性が高く、インデックスやデータ型などさまざまな要素のユーザー定義が可能。

## 環境の準備

①ターミナルで、アプリケーションを作成する。
“`
mkdir <プロジェクト名>
cd <プロジェクト名>
“`
③ 必要なモジュールやライブラリをインストールする。
“`
touch <ファイル名>.js
npm

元記事を表示

Instagramの画像を日替わりでAndroidの壁紙にする

自分で上げたInstagramの画像を日替わりでAndroidの壁紙にランダムに設定します。
また、ついでに、ヤマレコでアップした画像も含むようにしました。

指定した頻度で起動するAndroidアプリと、Instagramまたはヤマレコから画像リストを取得してランダムに選択するNode.jsサーバからなります。

ソースコードもろもろは以下に置いておきました。

https://github.com/poruruba/AndroidWallpaperChanger

# Androidの壁紙の設定

壁紙の設定には、「WallpaperManager」を使います。

(参考)
https://developer.android.com/reference/android/app/WallpaperManager

画像はインターネットから取得します。HTTP Getで取得することを想定しています。
以下のように呼び出すと、InputStreamが取得できます。

“`java:Android\Wallpaper_Test\app\src\main\java\jp\or\myhom

元記事を表示

nodeバージョンが合わないで「SyntaxError: Unexpected token ‘?’」の対応

### シナリオ

Nextjs のバージョンアップ(v11 → v13)

“`diff
– “next”: “11.0.1”,
+ “next”: “^13.1.0”,
“`

を検討していますが、github action を経由で、

“`bin
$ npm run build
“`

を実行したら、下記のようなエラーが出てきました。

“`
err: /……./node_modules/next/dist/build/index.js:347
err: …pageKeys.app ?? [],
err: ^
err: SyntaxError: Unexpected token ‘?’
err: at wrapSafe (internal/modules/cjs/loader.js:915:16)
err: at Module._compile (internal/modules/cjs/loader.js:96

元記事を表示

Summernoteをビルドする

### ビルドする
– 以下の手順でビルドする。
“`bash
wget https://github.com/summernote/summernote-webpack-example/archive/refs/heads/master.zip
unzip master.zip
mv summernote-webpack-example-master/ summernote/
cd summernote
yarn install
npx webpack –config webpack.config.dev.js –mode development
“`

– もし、このようなエラーが出力される場合は、
“`bash
$ npx webpack –config webpack.config.dev.js –mode development
You did not set any plugins, parser, or stringifier. Right now, PostCSS does nothing. Pick plugins for your case on ht

元記事を表示

【Firebase】ローカルで起動できないときの応急処置【UNSUPPORTED_DIR_IMPORT】

こんにちは。駆け出しフロントエンジニアの初投稿です。
Firebaseを使った案件で`npm run dev` すると`UNSUPPORTED_DIR_IMPORT`と出て起動できない症状が出ました。
解決した応急処置の方法を同じような犠牲者が出ないよう、~~また自分が地獄を見ないよう~~ 備忘録として残しておきます。
~~※少し前の話なので記憶がおぼろげです~~

【経緯】
2ヶ月ほど前まで機能追加、バグ修正を行なっていた案件で久々に業務を始めようとしたところ、`npm run dev`すると`UNSUPPORTED_DIR_IMPORT`が表示されて何もできなくなった。
他のプロジェクトに参加している方の環境では問題なく、完全に`おま環`状態だった。

【解決に向けて試したこと】
– 他のブランチに切り替える
– nodeのバージョンを変更する(他のエンジニアさんの環境と合わせる)
– npmのバージョンを変更する(上記と同じ)
– `npm run dev –legacy-peer-deps `してみる
– 正常なpackage.json、packagelock.jsonをもら

元記事を表示

vscode内cmdでtscコマンドを実行したらエラーになった

## 概要
Node.jsでJavaScriptを使うよりもTypeScriptを使うほうが、型定義が厳密になるため、より管理や保守がしやすいと聞いたため、本格的にNode.jsを本格利用する前に、TypeScriptでコーディングをしたいと思いコンパイルなどをしようとしていた。
しかし、いざコンパイルをしようとしてもtscコマンドが認識されずエラーとなってしまった。
解決法?? vscode内cmdをあきらめて、`cmd`を使用する。
## 環境など
+ win10
+ Node v18.14.0
+ tsc -v Version 4.9.5
## エラー内容
“`node:err
tsc : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\user\AppData\Roaming\npm\tsc.ps1 を読み込むことができ
ません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1

元記事を表示

ChatGPTをSlackから使う(gpt-3.5-turbo)

# 概要
2023年3月1日に[一般公開](https://openai.com/blog/introducing-chatgpt-and-whisper-apis)されたChatGPT API(gpt-3.5-turbo)をSlackから使ってみました。
今まで最も性能の高いモデルだったGPT3(text-davinci-003) と比較すると、
API経由で入力されたデータはデフォルトで学習しないので情報漏洩のリスクが軽減し、
利用価格は10分の1(英語の場合で約4000文字または750語あたり約0.27円)に削減されたようです。
![image_123986672.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406684/1ae0302c-79f7-0d0f-e95d-c4e578a3b587.jpeg)

# システム構成
`Slack/AWS Lambda/ChatGPT API` の3つです。
SlackからのリクエストをAWS Lambdaに送信する場合、API GatewayとAWS

元記事を表示

Azure Durable Functions (TypeScript) で遊んでみた

# はじめに

Azure Functions はちょくちょく使っているのですが、先日開催された [Microsoft のウェビナー](https://twitter.com/msdevjp/status/1615627563770023936?s=20)の中で、Durable Functions について触れられていて、今更ながら気になったので触ってみました。
ということで、習うより慣れろ!の精神でやっていきます。

# Durable Functions って?

詳しい説明は Microsoft の公式ドキュメントにお任せするとして、ざっくり言うと関数の直列・並列実行等のフロー制御、ステート管理、リトライ制御などが簡潔に実装できる拡張機能だそうです。

https://learn.microsoft.com/ja-jp/azure/azure-functions/durable/durable-functions-overview?tabs=csharp-inproc

## Durable Functions を構成する関数

Drable Functions は以下の3つの役

元記事を表示

angular 開発環境構築メモ

前提
 公式サイトで基本概念を事前に理解しておく
  [Angular](https://angular.jp/guide/setup-local)
  ・JavaScript
  ・HTML
  ・CSS
 の基本知識をもっているのは前提

インストールもの

①Node.jsをインストールする必要あり
 [Node.js](https://nodejs.org/)
②npmのインストール
node.jsと一緒にインストールされるはず
以下のコマンドで正常かどうか確認
 “`node -v“`
 “`npm –version“`
③Angular CLIをインストールする
 “`npm install -g @angular/cli“`
 留意点
 windowsの場合、以下の設定変更は必要
 “`Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned“`
 PS:設定変更の説明
  [execution policy](https://learn.microsoft.com

元記事を表示

ChatGPT APIを使ったDiscord返答ボットの作成【初心者向け】

この記事では質問をしたら以下のように自動で返答をしてくれるDiscordのBotを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2014168/c8320228-c95b-c1d3-9365-dfd17e6246d9.png)
# 概要
3月1日、遂にOpenAIが「ChatGPT」のAPIを提供開始ました。
これは言語モデル、gpt-3.5-turboを搭載しており、価格は$0.002/1000tokensとなっています。以前の言語モデル、Davinciと比較すると、1000トークンあたりの価格が1/10となっていてよりリーズナブルになっています。
トークンの計算は、英語の場合1単語あたり1トークンですが、日本語の場合は複雑になっています。
日本語のトークンの数が知りたい場合、[OpenAIのプレイグラウンド](https://platform.openai.com/playground/)で確認することができます。
例えば、「This is a pen」だと4トークン、

元記事を表示

実行環境ってなんだっけ?

# 実行環境ってなんだっけ?

javascriptについて調べていると必ずnode.jsの話が出てくる
説明を見てみると
> Node.js はV8 JavaScriptエンジン上に構築されたJavaScript実行環境の1つである。

という説明がでてくる
**なるほど、わからん**なので調べてみる

## プログラムを実行するには??

javascriptだけでなくどんな言語にも実行環境というものが必要である
プログラムとはコンピュータに対する指示をまとめたものだが、人間の言葉で掛かれているため、コンピュータには理解できない


コンピュータが理解できるのは**0と1のみで記述されたバイナリコード**のみなのでプログラムのソースコードをバイナリコードに変換する必要がある
この変換のことを**コンパイル**と呼ぶ

## ということはつまり??

プログラムを実行するには、ソースコードをコンパイルする必要がある
ソースコードを読み取ったり、コンパイルしたり、バイナリコードをコンピュータに渡したり、プログラムを実行するための様々な機能をま

元記事を表示

node.jsとは

# node.jsとはなんなの
node.jsは実行環境。

pythonでいったらpython.exeがpythonコードを実行するアプリケーション。

node.jsをインストールするとnode.exeができる。node.exeはjsコードを実行するアプリケーション→実行環境

[https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb](https://qiita.com/non_cal/items/a8fee0b7ad96e67713eb)

npmはnode.jsのパッケージマネージャー。

node.jsでwebアプリケーションをつくるフレームワークとしてExpressがある。

元記事を表示

ServerからWeb Client通信手段としてのServer Sent Events触ってみる

#### なぜ記載したか?

serverからweb clientの通信手段を遊びで実装しようとおもった際に、結構脳死でwsプロトコルを利用していたが、改めてかるく調べてみようと思い調べてみたら複数の手段があった。
その手段の中でも、wsプロトコルに依存せずにwsプロトコルに似た挙動をした通信手段があったため軽く試してみた結果を記載

#### 注意

Firefoxにはまだ対応していない(2023.3.15現在)いません。
[Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1681218)
[mdn](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)

# 0. 利用環境

| dependency| version |
|:—|:—|
| react | 18.0.27 |
| nextjs | 9.0.0 |

## 環境作成

## APIを作成

nestjsについては、

元記事を表示

ChatGPT APIを使ったDiscord返答ボットの作成

# 概要
3月になり、ついにChatGPT API(gpt-3.5-turbo)が発表された。以前のGpt-3(Davinci-003)と比較すると性能は向上し、コストが約1/10となっている。そこで、質問応答をするDiscordBotを作成する。
(実はQiita初投稿)
## 対象読者
– JavaScriptをある程度理解している
– Node.js,VSCodeをあらかじめインストールしている
– Discord.jsの基本的な事を理解している
もし開発環境が整っていないのであれば[darakeeeさんのサイト](https://note.com/darake_nai/n/nf01cf9612c8c)を参考に構築してみてください
## 開発環境
MacOS Ventura(13.2.1)
VSCode(1.76)
# ライブラリのインストール
APIを利用するにはライブラリをインストールする必要があるため、npmコマンドを使用し以下のコマンドを実行する。
“`
$ npm install openai
“`
また、.envファイルを用いるため、dotenvもインストールする

元記事を表示

OTHERカテゴリの最新記事