Node.js / NestJS

āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ”āđ‰āļ§āļĒ TypeORM

Entity, repository, āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ, migration, query builder, transaction, cascade

30 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

Entity āđƒāļ™ TypeORM āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Entity āđƒāļ™ TypeORM āļ„āļ·āļ­ class āļ‚āļ­āļ‡ TypeScript āļ—āļĩāđˆāļ•āļāđāļ•āđˆāļ‡āļ”āđ‰āļ§āļĒ @Entity() āļ‹āļķāđˆāļ‡āđāļ—āļ™āļ•āļēāļĢāļēāļ‡āđƒāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļ•āđˆāļĨāļ° instance āļ‚āļ­āļ‡ Entity āļˆāļ°āļ•āļĢāļ‡āļāļąāļšāļŦāļ™āļķāđˆāļ‡āđāļ–āļ§āđƒāļ™āļ•āļēāļĢāļēāļ‡ āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ‚āļ­āļ‡ class āļˆāļ°āļ–āļđāļāđāļĄāļ›āđ„āļ›āļĒāļąāļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ‚āļ­āļ‡āļ•āļēāļĢāļēāļ‡āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļœāđˆāļēāļ™ decorator āđ€āļŠāđˆāļ™ @Column()

2

āđƒāļŠāđ‰ decorator āđƒāļ”āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āđƒāļŦāđ‰āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļ›āđ‡āļ™āļ„āļ­āļĨāļąāļĄāļ™āđŒāđƒāļ™ TypeORM?

āļ„āļģāļ•āļ­āļš

decorator @Column() āļˆāļ°āđāļ›āļĨāļ‡āļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļ‚āļ­āļ‡ class āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ„āļ­āļĨāļąāļĄāļ™āđŒāđƒāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ TypeORM āļˆāļ°āļ­āļ™āļļāļĄāļēāļ™āļŠāļ™āļīāļ” SQL āļˆāļēāļāļŠāļ™āļīāļ”āļ‚āļ­āļ‡ TypeScript āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđāļ•āđˆāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ @Column('varchar', { length: 255 }) decorator āļ™āļĩāđ‰āļˆāļģāđ€āļ›āđ‡āļ™āļŠāļģāļŦāļĢāļąāļšāļ—āļļāļāļ„āļ­āļĨāļąāļĄāļ™āđŒāļĒāļāđ€āļ§āđ‰āļ™ primary key

3

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ @PrimaryColumn() āđāļĨāļ° @PrimaryGeneratedColumn() āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

@PrimaryGeneratedColumn() āļŠāļĢāđ‰āļēāļ‡ primary key āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ„āđˆāļēāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđ‚āļ”āļĒāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđ€āļŦāļĄāļēāļ°āļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļ•āļąāļ§āļĢāļ°āļšāļļāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ•āļąāļ§āđ€āļĨāļ‚ āļŠāđˆāļ§āļ™ @PrimaryColumn() āļāļģāļŦāļ™āļ” primary key āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļĢāļ°āļšāļļāļ„āđˆāļēāļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡ āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļ•āļąāļ§āļĢāļ°āļšāļļ UUID āļŦāļĢāļ·āļ­ composite key āđƒāļ™āļāļĢāļ“āļĩāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ āļāļēāļĢāđƒāļŠāđ‰ @PrimaryGeneratedColumn() āļˆāļ°āļ‡āđˆāļēāļĒāđāļĨāļ°āļ›āļĨāļ­āļ”āļ āļąāļĒāļāļ§āđˆāļē

4

āļˆāļ° inject repository āļ‚āļ­āļ‡ TypeORM āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™āļšāļĢāļīāļāļēāļĢ NestJS āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

5

āđƒāļŠāđ‰ decorator āđƒāļ”āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļ„āļ­āļĨāļąāļĄāļ™āđŒāđāļšāļš nullable āđƒāļ™ TypeORM?

+27 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Node.js / NestJS āļ­āļ·āđˆāļ™āđ†

āļžāļ·āđ‰āļ™āļāļēāļ™ Node.js

Junior
20 āļ„āļģāļ–āļēāļĄ

Core API āļ‚āļ­āļ‡ Node.js

Junior
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āđ‚āļ›āļĢāđāļāļĢāļĄāđāļšāļšāļ­āļ°āļ‹āļīāļ‡āđ‚āļ„āļĢāļ™āļąāļŠ

Junior
25 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Express.js

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ NestJS

Junior
23 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ­āļ­āļāđāļšāļš REST API

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āđāļĨāļ° DTO

Junior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļ­āļāļŠāļēāļĢ API āđāļĨāļ° Contract

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļ™āđˆāļ§āļĒ (Unit Testing)

Junior
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļˆāļąāļ”āļ•āļēāļĢāļēāļ‡āļ‡āļēāļ™

Junior
15 āļ„āļģāļ–āļēāļĄ

Module āđāļĨāļ° DI āļ‚āļ­āļ‡ NestJS

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļĒāļ·āļ™āļĒāļąāļ™āļ•āļąāļ§āļ•āļ™āļ”āđ‰āļ§āļĒ JWT

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđƒāļŦāđ‰āļŠāļīāļ—āļ˜āļīāđŒāđāļĨāļ° RBAC

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Prisma ORM

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

Middleware āđāļĨāļ° Interceptor

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ­āļąāļ›āđ‚āļŦāļĨāļ”āđ„āļŸāļĨāđŒ

Mid-Level
15 āļ„āļģāļ–āļēāļĄ

WebSockets

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

GraphQL āļāļąāļš NestJS

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđāļšāļš End-to-End

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļ„āļŠāļ”āđ‰āļ§āļĒ Redis

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

āļ„āļīāļ§āļ”āđ‰āļ§āļĒ Bull

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

DevOps, Logging āđāļĨāļ° CI/CD

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

Docker āđāļĨāļ° Containerization

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

āđ„āļĄāđ‚āļ„āļĢāđ€āļ‹āļ­āļĢāđŒāļ§āļīāļŠ

Senior
30 āļ„āļģāļ–āļēāļĄ

āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒ

Senior
25 āļ„āļģāļ–āļēāļĄ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢ Deploy āļšāļ™ Cloud

Senior
30 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ