本サイトは広告・プロモーションが含まれています
雑記

【管理人勉強日記】NestJSフレームワークでサーバーサイド開発を学ぶ【2024年4月】


2026年1月のフリーランス独立に向けて、日々勉強中の管理人の勉強日記。
4月はNestJSの勉強をひたすらしてました。

現在の管理人のスキルはこんな感じ。


上のスキル一覧の赤アンダーバーのあたりを勉強していきます。
APIは会社の先輩から教わり実装しているだけなので自分でも勉強してみました。

勉強題材

Nestの勉強にはUdemyの「NestJS入門 TypeScriptではじめるサーバーサイド開発」を使用しました。

NestJSはNode.jsで動作するTypeScriptを使用したバックエンド開発フレームワークで

・TypeScriptでがあるので、安定してエラーの少ないチーム開発ができる。
・テストフレームワークが標準で用意
・WebSocket, セキュリティ、DBもRDBやNoSQLが使えるなど拡張性が高い

など色々メリットがあります。

ただ、公式には日本語が無いので取っつきにくい欠点が。。。

ということでUdemy講座で勉強しました。

覚えたこと

NestJSに関しては以下のようなこと

・FeatureモジュールやらFeatureコントローラーやらFeatureサービスなどの役割
・EntityでRDBに対応するオブジェクト作って、Reposiroryで操作を抽象
など

他にもこの講座から以下のような内容も勉強しました。

・DTO(Data Transfer Object)←これを使ってパスワードは8文字以上等のバリデーション可能(Pipe機能)
・ORM(Object Relational Mapping)←SQLを使わずに、DB操作ができるようになる
・JWT(JSON Web Token)←ヘッダ、ペイロード、署名のJsonをエンコードした認証情報
・Jestによるテストの書き方
など


上記の箇条書き中の単語について聞いたこと無い人にとっても分かりやすく教えてくれる講座だったので非常に◎な講座でした。

自分の中でもバックエンドの基本について分かった気がしますし、ようやく基本情報技術者試験で勉強した内容を実装している感がありました。


上記の記事を読んで、去年のゴールデンウイークに基本情報取った事を思い出し懐かしい気分になりました。

おわりに


ここまで読んでいただきありがとうございました。

これまでバックエンド開発だとPythonのFastAPIを勉強していたのでNestJSとFastAPIどっちがいいのか気になってchatGPTに聞いてみたら

どちらを選択するかは、以下の要因によって異なります。

  1. 言語の選択: FastAPIはPython、NestJSはTypeScript/JavaScriptです。チームのスキルセットやプロジェクトのニーズに合った言語を選択する必要があります。
  2. パフォーマンスとスケーラビリティ: FastAPIは非同期処理をサポートしており、高速なAPIの構築に適しています。NestJSも高性能ながら、PythonよりもNode.jsの方が一般的に高速な処理ができる場合があります。
  3. 開発速度とコード品質: FastAPIはPydanticや型ヒントを使用して、コードの品質を維持しながら開発速度を向上させます。NestJSは、モジュール化された構造やDIを使用して、アプリケーションの保守性を高めます。
  4. エコシステムとサポート: Pythonのエコシステムは非常に広範で、FastAPIも多くのサードパーティライブラリやツールが利用可能です。Node.jsエコシステムも大きく成長しており、NestJSも多くのサポートとリソースがあります。
chat GPTより


との回答が。

自分的にはこの回答は、①のチーム状況次第じゃんという印象。
どっちも使えたら個人的にはカッコいいと思います。


聞きたかったこととは違うけど③のPydanticは今後FastAPI使う以外にも使っていきたいな~。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA