Open27
Node.js の勉強の仕方
深掘りしてみたいこと。
- 開発環境
- エコシステム
- Web フレームワーク
- データベース(RDS、KVS、キャッシュ等)
- テストコードの書き方
TypeScript を AWS Lambda に載せる方法
AWS Lambda で直接 TypeScript を書くことはできないので、CI でビルドした結果を Lambda としてデプロイする必要がありそう。
Node のアプリケーションサーバ
選択肢としては下記が候補に見える
- https://fastify.dev/ @29.1k
- https://koajs.com/ @34.5k
- https://expressjs.com/ja/ @62.4k
黄色:express
青:Fastify
赤:Koa
トレンドを見ると Fastify がよさそう。
Fastify は serverless にも対応しているのでコードの統一という意味でよさそうに見える。
Quick start: https://github.com/fastify/fastify#quick-start
Fastify を試してみる
npm init fastify
npm install
npm run dev
[Fastify]
OpenAPI -> router にするライブラリ
router -> OpenAPI にするライブラリ
Fastify のサンプル書き始めた
Node で import を使おうと思うと package.json に "type": "module", を指定する必要がありそう。
ただ入れると大量にエラーが出そうだったので、まだ試していない。
ORM
まとめサイト
大きく ActiveRecordデザインパターンと DataMapperデザインパターンがあるらしい
-
https://github.com/prisma/prisma @35k
- 今一番勢いがあるらしい
-
https://github.com/sequelize/sequelize @28.6k
- 老舗だけど Typescript が他と比較するとやや弱い
-
https://github.com/typeorm/typeorm @32.5k
- Active Record/Data Mapper両方のデザインパターンを採用している
- https://github.com/mikro-orm/mikro-orm @6.6k
Fastify と Prisma を使用して取得と登録の正常系を組んでみた。
エラー系は引き続き確認。