Node.js関連のことを調べてみた2022年09月27日

Node.js関連のことを調べてみた2022年09月27日
目次

プロトアウトスタジオの投稿記事、読むのを習慣化するためにLINE BOTを作ってみた。強くなりたいので。

# そもそもの動機

**「強くなりたい」**
史上最強の男にだれでも一度は憧れるものです。
とはいえ、僕は筋力が無ければ、運動神経も悪い、ただの独身男性なので早々と断念しました。
方向性をぐるんと変えて、「妄想を形にできる最強のクリエイター」を目指すことに。
それがきっかけとなり、僕は[プロトアウトスタジオ](https://protoout.studio/)の門を叩いたのでした。

# なぜ習慣化するためのBOTを作るのか

プロトアウトスタジオには[Qiita上](https://qiita.com/organizations/protoout-studio)にメンバーが執筆した記事がたくさん投稿されています。
ので、まずは記事をたくさん読み込んで圧倒的に成長しようと考えたのですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281755/267f5593-15c4-f7ce-6ad3-31ca1a36d4e5.png)
そして、すぐに挫折することとなりました。
* 「よく投稿

元記事を表示

GoogleスプレッドシートAPIをサービスアカウント認証方式でNode.jsから利用する

Google系のAPIはOAuth認証、サービスアカウント、APIキーの利用の3パターンあると認識してますが、簡単な読み書きくらいのやりとりだとサービスアカウント利用は手ごろです。

> 参考
> [Google DriveのAPIをサービスアカウント認証方式でNode.jsから利用するメモ](https://qiita.com/n0bisuke/items/59607865040a63d1a640)

## 前提

以下ができてる前提になります。

– Google SheetsのAPIを許可してサービスアカウント作成
– 作成したサービスアカウントを対象のシートに権限付与
– サービスアカウントの鍵ファイルをJSON形式で取得

鍵ファイルをDLすると以下のような雰囲気の中身となります。

“`json
{
“type”: “service_account”,
“project_id”: “xxxxxxxx”,
“private_key_id”: “xxxxx”,
“private_key”: “—–BEGIN PRIVATE KEY—-○—–END P

元記事を表示

unreachableを活用しよう

## unreachableってなんですか
`unreachable`とは下記で示される関数のことで、要するに到達して欲しくない & し得ない場所に防御的に使う関数です。

“`tsx
export const unreachable = (msg?: string) => {
throw new Error(msg ?? ‘Something went wrong’)
}
“`

## unreachableの活用方法

私はこの`unreachable`の主に2つのユースケースで使用することが多いです。

**パターン1: 三項演算子のチェック**

“`tsx
type SomeUnion = ‘foo’ | ‘bar’
const fooOrBar: SomeUnion = ‘foo’
const hogeOrFuga =
fooOrBar === ‘foo’
? ‘hoge’
: fooOrBar === ‘bar’
? ‘fuga’
: unreachable(‘Unexpected value’)
“`

TypeScrip

元記事を表示

Express.JSアプリケーション Deploying to Vercel ⑤

# 参考動画

https://github.com/john-smilga/node-express-course

# 完成したアプリケーション
https://node-project-3g21.vercel.app/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654025/8654b973-0e24-8ca8-8af3-c9033f2b46b0.png)

# ソースコード

https://github.com/iwasaki-hub/node-project

# How to create and deploy an Express.js app to Vercel?
https://syntackle.live/blog/how-to-create-and-deploy-an-express-js-app-to-vercel-ljgvGrsCH7ioHsAxuw3G/

# 設定ファイル

元記事を表示

LINE Messaging APIを使ってしゃべり相手(LINE Bot)を作ってみた

# サマリ
LINE Messaging APIを使ってしゃべり相手(LINE Bot)を作りました。

# 背景
リモートやコロナ禍でコミュニケーションが減る中、
少しでもリフレッシュするためにしゃべり相手が欲しかった(さみしすぎだろ)

# ゴール
今回は、自分のメッセージに対して事前に設定した返事を返すBotを作成
(一部は用意された選択肢の中からランダムに応答、また[天気予報API](https://weather.tsukumijima.net/)でその日の天気を取得・応答)
**AIチャットボットではなく、いわゆるシナリオ型です。**

# 対象読者
– さみしい方
– LINE MessagingAPIに興味がある方

# 前提
– プログラミングがなんとなくわかること
(今回実施したのはおおまかに、Bot用LINEアカウント作成・ngrok・Node.jsの導入になりました。
 参考記事をベースにさせていただいたこともあり、
 自分はすべて初見でしたが本記事のレベルをやるには何とかなりました)
– コマンドラインの操作が初学者レベルに可能
 (`cd`,`mkdir`,

元記事を表示

Discord.jsで指定したユーザーにDMを送る

ユーザーIDで指定した相手にDMを送るコードを書いてみたよ

【開発環境】
・Discord.js v13 (v12も可)
・Node.js v16.x以降(v13の場合)

【必要な物】
・Dicord.js v13 (v12も可)

“`index.js
client.on(“messageCreate”, async message => {
if (message.author.bot) return;
if (message.content.startsWith(“!dm”)) {
const args = message.content.split(” “)[1]
if (!args) return message.channel.send(“ユーザーIDが入力されていません”);
const send = message.content.split(” “).slice(1).join(” “)
if (!send) return message.channel.send(“ユーザーが存在しません”);
try {

元記事を表示

Angularの開発環境セットアップ とコンテナビルドとK8sデプロイ

## はじめに

Single Page Applicationのフレームワーク Angular をコンテナで実行するまでを勉強したので、備忘録として残しておく。

## 1. node.jsのバージョン管理ツール nvm のセットアップ

macOSで、node.jsのバージョンを切り替えられるように、nvmをインストールして、その上でnode.jsを動作させ、Angularのコマンドを利用する。nvmのセットアップは、参考リンクを読めば解るので、補足はしない。

* 参考リンク https://github.com/nvm-sh/nvm

## 2. 最新バージョンのnode.jsをインストール

バージョンの指定無しでインストールを実行すれば、その時点の最新バージョンのnodeがインストールされる。

~~~shell: Terminal
$ nvm install
$ node –version
~~~

## 3. TypsScript コマンドのインストール

TypeScriptのスニペットのテストを実施するために、TypeScript から JavaScript

元記事を表示

nvm を使って Node.js の LTS バージョンをMacにインストールする

プログラミング学習者です。これまでRubyとRuby on Railsを学習していて、これからJavaScriptの学習を始めるために行いました。
次の機会に、またいちからやり直しになりそうだったので、作業記録を残します。

## 環境
– macOS Monterey12.6、 プロセッサはintel。
– Homebrewはインストール済み。

## インストールの流れ
1. Homebrewを使って、Node.jsのバージョン管理ツールをインストール。ここではnvmを使用。
1. nvmを使って、Node.jsをインストール
1. 確認
1. .nvmrc ファイルに関すること(必須ではない。)

## 語句
– HomebrewはMacのパッケージマネージャ
– nvmは、Node.jsのバージョン管理ツール。バージョン管理ツールは他にもある。
– Node.jsは
> Node.jsは、サーバーサイドでJavaScriptを使うためのプラットフォーム
([【入門】Node.jsとは?利用シーンやメリットなどをわかりやすく解説 – カゴヤのサーバー研究室](https://w

元記事を表示

Vagrant で作成した VM 上で、Node 関連の処理を行うとエラー

OTHERカテゴリの最新記事