NestJs Chapter 10

yeopยท2022๋…„ 7์›” 26์ผ

Nest JS ์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
10/10

๐Ÿ“‘ Payment

๐Ÿ”ท PlatForm

๐Ÿ”น Paddle

(์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ๋ฅผ ์œ„ํ•œ ๊ฒฐ์ œ ์ธํ”„๋ผ)
์˜ค์ง ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋””์ง€ํ„ธ ๋‚ด์šฉ๋ฌผ๋งŒ ๊ฑฐ๋ž˜ ๊ฐ€๋Šฅํ•œ ์˜จ๋ผ์ธ ๊ฒฐ์ œ ์ฒ˜๋ฆฌ
https://paddle.com

๐Ÿ”น Stripe

์ธํ„ฐ๋„ท ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์œ„ํ•œ ์˜จ๋ผ์ธ ๊ฒฐ์ œ ์ฒ˜๋ฆฌ (ํ•œ๊ตญ ์ง€์›X, ์‹ค์ œ ํšŒ์‚ฌ ํ•„์š”)
https://stripe.com

๐Ÿ”น Braintree

PayPal, Venmo(๋ฏธ๊ตญ), ์‹ ์šฉ์นด๋“œ ๋ฐ ์ง๋ถˆ์นด๋“œ, Apple Pay ๋ฐ Google Pay์™€ ๊ฐ™์€ ์ธ๊ธฐ ๋””์ง€ํ„ธ pay๋ฅผ ์›ํ™œํ•œ ํ†ตํ•ฉํ™˜๊ฒฝ์—์„œ ์ œ๊ณตํ•˜๋Š” ์œ ์ผํ•œ ๊ฒฐ์ œ ํ”Œ๋žซํผ
https://www.braintreepayments.com

โ€ป Many-to-one / One-to-many relations

@OneToMany๋Š” @ManyToOne ์—†์ด ์กด์žฌํ•  ์ˆ˜ ์—†๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ @ManyToOne์€ ๊ด€๋ จ ์—”ํ„ฐํ‹ฐ์— @OneToMany ์—†์ด ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ”ท Task Scheduling

Task Scheduling์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ณ ์ •๋œ ๋‚ ์งœ/์‹œ๊ฐ„, ๋ฐ˜๋ณต ๊ฐ„๊ฒฉ ๋˜๋Š” ์ง€์ •๋œ ๊ฐ„๊ฒฉ๋งˆ๋‹ค ํŠน์ • ๋ฉ”์„œ๋“œ๋‚˜ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰๋˜๋„๋ก ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

Node.js์˜ ๊ฒฝ์šฐ cron๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์• ๋ฎฌ๋ ˆ์ดํŠธํ•˜๋Š” ์—ฌ๋Ÿฌ ํŒจํ‚ค์ง€๊ฐ€ ์žˆ๋Š”๋ฐ, Nest๋Š” Node.js node-cron ํŒจํ‚ค์ง€์™€ ํ†ตํ•ฉ๋˜๋Š” @nestjs/schedule ํŒจํ‚ค์ง€๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

https://docs.nestjs.com/techniques/task-scheduling

npm install --save @nestjs/schedule
npm install --save-dev @types/cron

๐Ÿ”น Cron ํŒจํ„ด(์ˆœ์„œ)

์ดˆ, ๋ถ„, ์‹œ, ์ผ, ์›”, ์š”์ผ

๐Ÿ”น Intervals

๋ฉ”์„œ๋“œ๊ฐ€ ์ง€์ •๋œ ๊ฐ„๊ฒฉ์œผ๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์„ ์–ธํ•˜๋ ค๋ฉด @Interval() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
๊ฐ„๊ฒฉ ๊ฐ’์„ ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„์˜ ์ˆซ์ž๋กœ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ์— ์ „๋‹ฌํ•œ๋‹ค.

๐Ÿ”น Timeouts

๋ฉ”์„œ๋“œ๊ฐ€ ์ง€์ •๋œ ์‹œ๊ฐ„์— ํ•œ ๋ฒˆ ์‹คํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์„ ์–ธํ•˜๋ ค๋ฉด @Timeout() ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
์˜คํ”„์…‹(๋ฐ€๋ฆฌ ์ดˆ) ์ „๋‹ฌ

๐Ÿ”น Cron jobs

SchedulerRegistry API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ์–ด๋А ๊ณณ์—์„œ๋‚˜ name์œผ๋กœ CronJob ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  ํ‘œ์ค€ constructor injection์„ ์‚ฌ์šฉํ•ด SchedulerRegistry๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

https://docs.nestjs.com/techniques/task-scheduling#dynamic-cron-jobs

0๊ฐœ์˜ ๋Œ“๊ธ€