Node.js / NestJS

Node.js / NestJS

BACKEND

Node.jsランタイムとNestJS TypeScript-firstフレームワークによるバックエンド開発です。デコレーター、依存性注入、完全なTypeScriptサポートを備えたモジュラーアーキテクチャで、高いメンテナンス性を持つREST API、GraphQL、エンタープライズ級マイクロサービスを構築します。

学べること

モジュラーアーキテクチャとデコレーター(@Controller、@Injectable)を備えたNestJSフレームワーク

高度な型と自動推論を備えた厳格なTypeScript

IoCコンテナとスコープによるネイティブ依存性注入

明確なコード構成のためのControllers、Providers、Modules

認証のためのGuards、バリデーションのためのPipes、変換のためのInterceptors

マイグレーションと複雑なリレーションを持つTypeORMまたはPrisma ORM

認証戦略(JWT、OAuth2、local)のための統合Passport.js

code-firstまたはschema-firstアプローチによるGraphQL

トランスポートレイヤー(TCP、Redis、gRPC、MQTT)によるマイクロサービス

包括的なテスト(Jest、E2E、ユニットテスト、mocking、coverage)

マスターすべき重要トピック

この技術を理解し面接で成功するための最も重要な概念

1

Node.js: Event Loop、non-blocking I/O、async/await、streams、buffers

2

NestJSアーキテクチャ: modules、controllers、providers、decorators

3

依存性注入: providers、scopes(DEFAULT、REQUEST、TRANSIENT)、custom providers

4

Controllersとルーティング: @Get、@Post、@Param、@Body、@Query、route params

5

Providersとservices: ビジネスロジック、repository pattern、service layer

6

Middleware、Guards、Interceptors、Pipes、ExceptionFilters(リクエストライフサイクル)

7

class-validatorとclass-transformerによるバリデーション(DTOバリデーション)

8

TypeORM: entities、relations(@OneToMany、@ManyToOne)、repositories、QueryBuilder

9

Prisma: schema、migrations、client、relations、transactions

10

認証: Passport.js、JWT strategy、guards、ロールベースアクセス制御

11

設定: ConfigModule、環境変数、バリデーション

12

例外処理: HttpException、カスタム例外、filters

13

テスト: Jestによるユニットテスト、E2Eテスト、mocking、test doubles

14

GraphQL: resolvers、schemas、mutations、subscriptions、DataLoader

15

マイクロサービス: パターン(request-response、event-based)、transporters

16

パフォーマンス: キャッシュ(Redis)、圧縮、rate limiting、profiling

17

ロギング(Winston、Pino)、モニタリング、Docker、デプロイ