Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nest.jsを使ってみたら とても開発体験がよかった話 - 関西Node学園 11時限目

Nest.jsを使ってみたら とても開発体験がよかった話 - 関西Node学園 11時限目

関西Node学園 11時限目での登壇資料です。
https://nodejs.connpass.com/event/319446/

Kanon

May 31, 2024
Tweet

More Decks by Kanon

Other Decks in Technology

Transcript

  1. 自己紹介 2 Kanon 株式会社 虎の穴ラボ 個人事業 blessing software samurai_se ↓詳しくは↓

    • 3次元に嫁が1人います。2次元にはたくさんいます。 • 水瀬いのりライブTで神戸から色んなテックカンファレンスに登壇してる人です • 最近「アイコンみたことある!」と声かけていただける率が増えてて嬉しい • 本業はKtor(Kotlin), Next.jsで副業がLaravel, Nest.js,Next.js Copyright © 2024 blessing software. All Rights Reserved.
  2. アジェンダ 3 • 導入の経緯 • 導入の決め手 • 使い始めて気づいた、よかったこと • Laravelと比べてどう?

    • おわりに Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio
  3. 5 Copyright © 2023 blessing software. All Rights Reserved. Illustrated

    by @amon_mikio LangChainを使ったマイクロサービスを生やしたい
  4. LangChainとは • 一言でいうと、プログラムからAIへプロンプトを投げるために必要な処理やらなんや らをライブラリ化してくれたもの • 例えば ◦ OpenAIのどのモデルを使うか? apiキーはどれか?の管理 ◦

    REST APIとしてエンドポイントを公開するためのアレコレ ▪ Swagger定義したり ▪ 型情報を生成してくれたり • Python版とJS版がある 7 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio
  5. JS版を採用した • Pythonを書ける人が自分以外にいなかった ◦ 自分も競技プログラミングでやってるくらい ◦ なので、学習コストが高いと判断 ◦ また保守のための情報収集なども増やすことになる •

    そこまで本格的に機械学習とかするわけじゃない • 環境構築なども勝手知ったるなため、本番稼働まで の道筋がイメージしやすい 8 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio
  6. 問題点 • JS版のLangChainにはLangServeがついていない ◦ さっき出てきたREST APIのエンドポイントとして公開するため のアレコレの機能 • というわけで、LangChainを入れたNodeランタイムを 構築する必要がある

    • かつ、そこでREST API形式でデータをやりとりするフ レームワークを動かしたい 9 Copyright © 2023 blessing software. All Rights Reserved. Illustrated by @amon_mikio
  7. OpenAPIとの親和性 15 Copyright © 2023 blessing software. All Rights Reserved.

    Illustrated by @amon_mikio npm run start ↓ http://localhost:3000/api
  8. Laravelと比較して... 20 Copyright © 2023 blessing software. All Rights Reserved.

    Illustrated by @amon_mikio • いいところ ◦ OpenAPIが標準装備 ◦ 型システムも標準装備 ◦ DIがわかりやすい ◦ フロントとバックエンドで言語が同じ • いまいちなところ ◦ ORMまで一緒についてこない ぶっちゃけ初心者が 多いチームなら LaravelよりNest.js 使う方がいろいろ楽
  9. 21 Copyright © 2023 blessing software. All Rights Reserved. Illustrated

    by @amon_mikio まだまだ機能を使いこなせていないので もうちょっとドキュメント読み込んでいきたい
  10. 22 Copyright © 2023 blessing software. All Rights Reserved. Illustrated

    by @amon_mikio ご清聴、あざざました
  11. 23 Copyright © 2023 blessing software. All Rights Reserved. Illustrated

    by @amon_mikio 23 📢 最後に宣伝だけ 🙏 オフラインLT会を 神戸で開催します! オンラインでも毎朝もくもく会 してます!
  12. 24 Copyright © 2023 blessing software. All Rights Reserved. Illustrated

    by @amon_mikio 24 📢 最後に宣伝だけ 🙏 PHP以外の話も ウェルカムです!! 登壇枠が残り2枠です!