- 0.0.1. 【pnpm】依存パッケージについて調べるのに役立つコマンド5選
- 0.0.2. [Microsoft][Node.js] Teams bot開発環境を整える 2024年6月版
- 0.0.3. Fitbit Web API:歩数の取得
- 0.0.4. Fitbit Web APIで生体情報を取得
- 0.0.5. 雑にCookieParserとは?
- 0.0.6. asdfでnodejsのバージョンが変わらない
- 0.0.7. Azure OpenAIのAssistants APIをJavaScriptで実行してみた
- 0.0.8. 【エラー】Error: node is not installed. の解決方法
- 0.0.9. npx ts-nodeでTypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension “.ts” エラーを直すためにtsxを入れよう
- 0.0.10. Azure Functionsの出力バインディングでCosmosDBにinsertする時はIDを独自で指定しなければならない
- 0.0.11. DiscordアプリをAWS SAMで作った話(概要・システム構成編)
- 0.0.12. Playwrightの導入~ .envで環境依存の設定を切り替える
- 0.0.13. Node.js で閲覧パスワードをつける方法
- 1. 欲しい物を選んでね
【pnpm】依存パッケージについて調べるのに役立つコマンド5選
dependabot や renovate などが作った PR を手動ないし、オートマージで運用している人も多いと思いますが、このライブラリって何処で使われてるんだっけ?とか、どの依存なんです?を任意のタイミングで確認したい時に便利コマンド直ぐに忘れてしまうので、自分用にまとめておこうと思いこの記事を書くことにしました。
FYI:
https://docs.github.com/ja/code-security/dependabot
https://docs.renovatebot.com/尚、全て pnpm v9.x の内容を前提としています。
## pnpm audit
https://pnpm.io/ja/cli/audit
依存関係の脆弱性チェックに使います。プロジェクトの依存関係を分析し、既知のセキュリティ脆弱性を報告してくれます。
報告の中身としてはこんな感じ
– Severity: 脆弱性の深刻度(Low、Moderate、High、Critical)
– Package: 脆弱性を持つパッケージの名前
– Version: 影響を受けるパッケージのバージョ
[Microsoft][Node.js] Teams bot開発環境を整える 2024年6月版
# はじめに
Teamsで動くbotを作ろうと調べ始めると、どうにもたくさん情報があってよくわかりません。
自分のためにまとめ直してみます。
2024年6月時点の情報です。
# あらかじめ必要なもの
あらかじめ必要なものたちです。
– Node.js
– Microsoft 365 開発用テナント
– TeamsFx cli
– Dev tunnel cli
– (任意)Visual Studio Codeひとつずつみていきます。
## Node.js
macOS や Linux の場合は [nodenv](https://github.com/nodenv/nodenv?tab=readme-ov-file#installation) を使用してインストールするのが簡単です。
Windows の場合は [NVM for Windows](https://github.com/coreybutler/nvm-windows/releases) を使用してインストールするのが簡単かな?
Node.js のバージョンは、18か20を使います。
自分は 20.14.
Fitbit Web API:歩数の取得
# はじめに
この記事は[前回](https://qiita.com/ishidad2/items/c18881a36b58acdd5a76)の続きです。
まだFitbit Web APIを実行したことがない方は以下の記事を参考にしてください。https://qiita.com/ishidad2/items/c18881a36b58acdd5a76
# やること
今回はWeb APIよりステップ(歩数)の情報を取得してみようと思います。
# API情報
[公式リファレンス](https://dev.fitbit.com/build/reference/web-api/intraday/get-activity-intraday-by-date/)を見ると以下のエンドポイントでSteps(歩数)の取得ができるようです。
また、このエンドポイントは`calories` , `distance` , `elevation` , `floors` , `steps`
を`resource`に指定することで、それぞれデータを取得することができるようです。![image.png
Fitbit Web APIで生体情報を取得
# 始めに
私は普段からFitbitを愛用しています。(愛機は[Fitbit Versa 4](https://www.fitbit.com/global/jp/products/smartwatches/versa4?sku=523BKBK))
:::note info
Fitbitは健康とフィットネスを追跡するためのデバイスとサービスを提供する会社です。
Fitbitの製品ラインアップには、アクティビティトラッカーやスマートウォッチがあり、歩数、心拍数、睡眠の質、消費カロリーなどのデータを専用のデバイスで取得し管理しています。
:::https://www.fitbit.com/global/jp/home
このFitbitのアクティビティデータを使ってなにか出来ないかと思い、まずはAPIからのデータ取得方法の手順を調べたのでメモします。
# Fitbit開発者アカウントの作成
https://dev.fitbit.com/build/reference/web-api/developer-guide/getting-started/
簡単に流れを説明すると以
雑にCookieParserとは?
# CookieParserとは
Node.jsとExpressフレームワークで使用されるミドルウェアで、クライアントから送信されたHTTPリクエストのCookieヘッダーを解析し、JavaScriptオブジェクトとして簡単にアクセスできるようにします。
Cookieを上手いことサーバーサイドで使用できる形に変換できるものです。# 使い方
1. 以下のコマンドでインストールする。
“`bash
$ npm install cookie-parser
“`2. アプリケーションにcookieParserを組み込む。
“`main.ts
import { NestFactory } from ‘@nestjs/core’;
import { AppModule } from ‘./app.module’;
import * as cookieParser from ‘cookie-parser’;async function bootstrap() {
const app = await
asdfでnodejsのバージョンが変わらない
## はじめに
asdfで新しいバーションのnodejsを入れてもバーションが更新されない問題に## エラーの内容
“`
$ asdf global nodejs 22.3.0$ node -v
No preset version installed for command node
Please install a version by running one of the following:asdf install nodejs 18.15.0
or add one of the following versions in your config file at /Users/.user/src/.tool-versions
nodejs 18.16.0
nodejs 21.6.1
nodejs 22.3.0
“`asdf global nodejs でバーションを指定してもnode -vでNo preset versionと言われてしまう。
## 原因
エラーで出ていたこのファイルがおかしい
“`add one of the following ver
Azure OpenAIのAssistants APIをJavaScriptで実行してみた
## はじめに
Azure OpenAIのAssistants APIをJavaScriptで実行してみました。## 開発環境
– **OS**: Windows 11
– **言語**: JavaScript
– **ライブラリ**:
– @azure/openai ^1.0.0-beta.12
– @azure/openai-assistants ^1.0.0-beta.5## 実装
### 1. ライブラリのインストール
今回のプロジェクトを実行するフォルダに移動します。
ターミナルで以下のコマンドを実行し、必要なライブラリをインストールします。“`terminal
npm i @azure/openai @azure/openai-assistants
“`
### 2. アシスタントの作成`src/createAssistant.js`ファイルを作成し、以下の内容を記述します。
エンドポイントやキーはご自身のものを設定してください。
私はgpt-4oモデルを使用して作成しました。“`src/createAssista
【エラー】Error: node is not installed. の解決方法
## はじめに
個人開発アプリのデプロイのためにHerokuへログインしようとした時のこと。
“`
root@576e6e0ba2be:/event-management-app# heroku login
Error: node is not installed.
“`
nodeがインストールされてない??
ということで、node.jsをインストールするまでの過程をまとめました。## 開発環境
Ruby | 3.2.3
Ruby on Rails | 7.1.3
MySQL | mysql:5.7
Docker Compose## 原因
こちら後で調べてわかったことですが、[Herokuのスターターガイド](https://devcenter.heroku.com/ja/articles/getting-started-with-nodejs)にも書かれていました。
> このチュートリアルでは、Node.js アプリを Heroku にデプロイする方法を簡単に紹介します。
> 少し時間を取り、Heroku プラットフォームを最大限に活用する方法をご確認ください。
> この
npx ts-nodeでTypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension “.ts” エラーを直すためにtsxを入れよう
### npx ts-nodeを実行するとエラーが出る
環境:node:20
このバージョンだとts-node を使ってtypescriptを直接実行はできないのでtsxというライブラリを利用します
### 代わりとなるライブラリtsx
“`zsh
npm i tsx
“`これで実行できるようになります!
“`zsh
npx tsx …
“`コレで実行できます!
こちらを利用してprismaのseedデータの追加を以下の記事に記述しています
興味があればぜひ!https://qiita.com/Itsuki54/items/7a7781379ba3d981673a
Azure Functionsの出力バインディングでCosmosDBにinsertする時はIDを独自で指定しなければならない
# 事象
Azure Functionsの統合で出力を設定し出力バインディングを作った。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192137/9f496a1f-103e-76e3-db67-314b33acd8f6.png)### コードサンプル
“`javascript
module.exports = async function (context, myBlob) {
context.log(“JavaScript blob trigger function processed blob \n Blob:”, context.bindingData.blobTrigger, “\n Blob Size:”, myBlob.length, “Bytes”);
const output = { “userId”: 2, “message”: “test” }
context.bindings.outputDocument = JSON.string
DiscordアプリをAWS SAMで作った話(概要・システム構成編)
## はじめに
作成したのは、マップ上をボタンコンポーネントで移動し、宝石を探すゲームです。
![play.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3781648/f295ca1e-3c36-fd04-16a6-bdf8ab0d16ab.gif)
※ [ゲームインストールリンク](https://discord.com/oauth2/authorize?client_id=1229496306360123392)
最近[IEOなどで話題](https://gamebiz.jp/news/387484)になった[ブリリアントクリプト(Brilliantcrypto)](https://discord.gg/brilliantcrypto)というゲームのDiscordコミュニティに、発表当初から参加しています。
2023年末のβテスト後、リリースや各種情報解禁までの間、コミュニティが閑散とした時があったのですが、その時にネタ的に作り始めたファンゲームです。
Brilliantcryptoは
Playwrightの導入~ .envで環境依存の設定を切り替える
E2EテストツールPlaywrightを導入する際に実施した内容のメモです。
## 前提
– OS: Windows 11
– 開発環境:Node.js+TypeScript
– VSCode+Playwrightの拡張を使用## インストール
Playwrightのインストール基本的に下記公式ドキュメントに従って行います。
https://playwright.dev/docs/intro
https://playwright.dev/docs/getting-started-vscode
`npm init` で最低限必要な一式のインストールができます
“`powershell:PowerShell
PS C:\Work\playwright-template> npm init playwright@latest
“`
コマンドを実行すると幾つか質問されるので、自身の目的に合わせて入力します。今回は下記の通りに設定しました。
“`powershell:PowerShell
PS C:\Work\playwright-template> npm init pl
Node.js で閲覧パスワードをつける方法
どうもこんにちはAtsu1209です。
今日は`Node.js で閲覧パスワードをつける方法`を書いていきます## これを書く理由
理由? なんとなくです# 使うもの
今回は
・express
・nodemon
・body-parser
・ejs
を使います。# 作る
ではまず閲覧制限をかけたいページのコードを書きます“`html:index.ejs
サプライズ
欲しい物を選んでね
“`
:::note alert
用途もコードも適当です。
:::
# index.js
次にindex.js
[Expo][ReactNative]タスクアプリを作ってみた
# 挑戦って大事
Ionic+Angularでスマホアプリはプロジェクトでやってますが、それ以外で作る方法ってFlutterを少しかじったぐらいでして。。。
存在は知ってましたが、食わず嫌いで全然手つかずで来てしまったReactNativeを少し勉強がてらにいじってみた。# とりあえず簡単なタスク管理という名のTODOアプリを作ってみた
## 作りたいものはこんな感じ
– とりあえず一覧画面と登録画面の2画面
– 登録データはローカルストレージに登録
※今回は削除とか編集とかはせず、あくまで登録だけ出来るやつを作る## 開発PCはこんなん使ってるよ
– windows 11
– Node(nvm) 21## とりあえずNodeにGlobalにインストール
– Expo CLI
“`shell
npm install -g expo-cli
“`
## じゃあプロジェクトを作ってみるよ
“`shell
expo init TaskManagerApp
“`
## 必要なライブラリとかを追加
一覧と登録画面と画面遷移が必要になるため navigation関係を追加、デー
Amazon SQS→Lambdaトリガー後の非同期処理
# 前回と前々回
https://qiita.com/remonga/items/b865126b580aa79607e2https://qiita.com/remonga/items/0b0ac02c5e88441039c0
#### EC2 → Amazon EventBridge → Amazon SQS → Lambda
という処理の流れをこれまで構築してきました。
これで時間差で実行したい処理を疎結合気味に実行することができます。問題はこのLambda以降の流れになります。
## Lambdaについて
SQS → Lambda
のようなAWSサービスをトリガーにしてLambda関数が実行される仕組みのことをイベントソースマッピングといいます。https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-concurrency.html
そしてこのイベントソースマッピングによるLambda関数の同時実行数が1000と記述があります。
それ以上のLambdaイベントが失われてしまいますので結構
husky+lint-stagedでコミットする前に自動整形を行ってくれるようにする
# はじめに
よくメンターの人から「コードフォーマット効いていない!!」と言われていました。
毎回「ごめんなさい ごめんなさい」と思いながら再度pushする日々でした。
自動でGitにPushする際にフォーマッターが動けばいいと思い調べてみたら、huskyとlint-stagedで自動整形を行うようにできるらしい。今回は、huskyとlint-stagedの実装の仕方やつまずいたところを紹介します!
# そもそもhuskyとlint-stagedとは?
huskyとはnpm パッケージの1つで、commitやpushなどのGitの操作を行う際に自動でコマンドを実行できるもの。
lint-stagedとは、変更したファイルに対してフォーマットをかけることができるもの。
今回は、フォーマッターを実行しコードの整形を行ってからGitにPushを行うようにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3464628/31c1cabe-223b-2eeb-5c56-7b656d
【環境構築】TypeScript, Node.js
## 環境
以下の環境で構築していきました。
・macos Sonoma
・MacBook Air M1## 前置き
今回 TypeScriptの学習をする機会があったのでその備忘。
これから環境構築をしようと考えている方々に、方法を共有しようと思い書きました。### はじめに
#### Homebrew
まず、Homebrewのインストールを行いましょう。
以下のリンクからインストールが行えます。https://brew.sh/
パスワードやエンターを求められるので、都度入力しましょう。
インストールが完了したか、以下のコマンドで確認してください。バージョンが表示されれば完了しています。
“`
brew –version
“`### Node環境の構築
TypeScriptを使用するためにはNode.js環境が必要です。Node.jsはTypeScriptコンパイラを実行するために必要となってきます。
以下の手順で環境を構築しましょう。[構築済みの方は次へ進んでください](#TypeScriptの環境構築)まず、 .zshrcファイルがあるか確認し
eslintをv7からv8にアップデート
## やったこと
“`diff:diff
– “@typescript-eslint/eslint-plugin”: “^6.21.0”,
– “@typescript-eslint/parser”: “^6.21.0”,
– “eslint”: “^7.29.0”,
– “eslint-plugin-jest”: “^27.2.3”,
+ “@typescript-eslint/eslint-plugin”: “^7.9.0”,
+ “@typescript-eslint/parser”: “^7.9.0”,
+ “eslint”: “^8.57.0”,
+ “eslint-plugin-jest”: “^28.5.0”,
“`– nodeを18.18.0以上に変更
– @typescript-eslint/eslint-pluginと@typescript-eslint/parserをtypescript-eslintに変更## @typescript-eslint v7の要件
– node v18.18.0以上
– ESLint の最小バージョンが v8.56.
Docker Imageどれを選んだらいいのかわからない
## 困ったこと
いざアップデートしようとしてtagsを見ていてもいっぱいあり過ぎてわからない…
slim?buster?alpine?何が違うんだ…
となったので調べてみましたnodeを導入する前提として進めていきますが、node以外でも参考になるはず
https://hub.docker.com/_/node/tags
よければこちらもみてください↓
https://qiita.com/mayobimu/items/c1eb88882dec2fa132ed
## node
`22.x`は2024-10-29からLTSになるのでそれまでは依存関係次第ですが`20.x`を選択しておけばOK
https://nodejs.org/en/about/previous-releases
https://github.com/nodejs/release?tab=readme-ov-file#release-schedule
## ベースイメージ
v20.10で絞り込んでみるとこれだけあリました“`
20.10.0
20.10-slim
20.10
Node.js の環境構築をする際によく出てくるマネージャーたち
会社は Windows プライベートでは Mac な環境。
Node.js 周りの環境構築でパッケージマネージャーやらバージョンマネージャーやら混乱してきたので整理。# Mac
## ターミナル
デフォルトのターミナルか好みで iTerm2 とか## パッケージマネージャー
### Homebrew
[https://brew.sh/ja/](https://brew.sh/ja/)
macOS または Linux 用パッケージマネージャーMac の場合はとりあえずこれでいいんじゃないかな
## Node.js バージョンマネージャー
Node.js の バージョンを管理するツール
いくつかピックアップ### nodebrew
[https://github.com/hokaccha/nodebrew](https://github.com/hokaccha/nodebrew)
プロジェクト単位で Node.js のバージョンを指定できる### nodenv
[https://github.com/nodenv/nodenv](https://github.c