(์ํํธ์จ์ด ํ์ฌ๋ฅผ ์ํ ๊ฒฐ์ ์ธํ๋ผ)
์ค์ง ์ํํธ์จ์ด์ ๋์งํธ ๋ด์ฉ๋ฌผ๋ง ๊ฑฐ๋ ๊ฐ๋ฅํ ์จ๋ผ์ธ ๊ฒฐ์ ์ฒ๋ฆฌ
https://paddle.com
์ธํฐ๋ท ๋น์ฆ๋์ค๋ฅผ ์ํ ์จ๋ผ์ธ ๊ฒฐ์ ์ฒ๋ฆฌ (ํ๊ตญ ์ง์X, ์ค์ ํ์ฌ ํ์)
https://stripe.com
PayPal, Venmo(๋ฏธ๊ตญ), ์ ์ฉ์นด๋ ๋ฐ ์ง๋ถ์นด๋, Apple Pay ๋ฐ Google Pay์ ๊ฐ์ ์ธ๊ธฐ ๋์งํธ pay๋ฅผ ์ํํ ํตํฉํ๊ฒฝ์์ ์ ๊ณตํ๋ ์ ์ผํ ๊ฒฐ์ ํ๋ซํผ
https://www.braintreepayments.com
@OneToMany๋ @ManyToOne ์์ด ์กด์ฌํ ์ ์๋ค.
๊ทธ๋ฌ๋ @ManyToOne์ ๊ด๋ จ ์ํฐํฐ์ @OneToMany ์์ด ๊ด๊ณ๋ฅผ ์ ์ํ ์ ์๋ค.
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
์ด, ๋ถ, ์, ์ผ, ์, ์์ผ
๋ฉ์๋๊ฐ ์ง์ ๋ ๊ฐ๊ฒฉ์ผ๋ก ์คํ๋์ด์ผ ํ๋ค๊ณ ์ ์ธํ๋ ค๋ฉด @Interval() ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค.
๊ฐ๊ฒฉ ๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์์ ์ซ์๋ก ๋ฐ์ฝ๋ ์ดํฐ์ ์ ๋ฌํ๋ค.
๋ฉ์๋๊ฐ ์ง์ ๋ ์๊ฐ์ ํ ๋ฒ ์คํ๋์ด์ผ ํ๋ค๊ณ ์ ์ธํ๋ ค๋ฉด @Timeout() ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ค.
์คํ์
(๋ฐ๋ฆฌ ์ด) ์ ๋ฌ
SchedulerRegistry API๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋์ ์ด๋ ๊ณณ์์๋ name์ผ๋ก CronJob ์ธ์คํด์ค๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์ด๋ฅผ ์ํด์๋ ์ฐ์ ํ์ค constructor injection์ ์ฌ์ฉํด SchedulerRegistry๋ฅผ ์ถ๊ฐํ๋ค.
https://docs.nestjs.com/techniques/task-scheduling#dynamic-cron-jobs