๋‚ด๊ฐ€ ์–ธ์ œ๋‚˜ ๊ฐ–๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ

ํ•จ๊ป˜ ์›ƒ๊ณ 

ํ•จ๊ป˜ ์Šฌํผํ•˜๋Š”

ํŒ€

 

ํ•œ๋•Œ ๋‚ด๊ฐ€ ๊ฐ€์กŒ๋˜ ๊ฒƒ,

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ๊ทธ๋ฆฌ์›Œ ํ•˜๋Š” ๊ฒƒ,

์ •๋ง ํ•จ๊ป˜ ํ•˜๋Š” ํŒ€

์„œ๋กœ๊ฐ€ ์ธ์ •ํ•˜๊ณ  ์ •๋ง ํ•ด๋‚ด๊ธธ ๋ฐ”๋ผ๋Š” ํŒ€

 

๋‚˜์˜ ๊ฟˆ์€ ๊ทธ๊ฒƒ์ธ๊ฒƒ๋„ ๊ฐ™๋‹ค

์˜ค๋Š˜, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ 1์›” 2์ผ, ์ด ์†Œ์ค‘ํ•œ ๋‚  ํ•˜๋ฃจ ์ „์ฒด๋ฅผ ๋‚ ๋ ค๋ฒ„๋ ธ๋‹ค.

์–ด์ œ ์ƒˆ๋ฒฝ 5์‹œ 55๋ถ„๊นŒ์ง€ ๊ณ ์ƒํ•˜๋‹ค ๋๋‚ด ํ•ด๊ฒฐ๋ชปํ•˜๊ณ  ์ž ๋“ค์—ˆ๋Š”๋ฐ

 

๋ณดํ†ต์€ ๊ทธ ๋‹ค์Œ๋‚  ์ผ์–ด๋‚˜์ž๋งˆ์ž ํ•ด๊ฒฐ๋˜๊ธฐ์— ๊ฑฑ์ •์ด ์—†์—ˆ๋Š”๋ฐ

์ €๋… 8์‹œ๊ฐ€ ๋˜์–ด์„œ์•ผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๋ฌธ์ œ๋Š” ์‹ ๋…„์„ ๋งž์•„ ์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์—…๋ฐ์ดํŠธํ•˜๋‹ค

(์•„๋งˆ๋„) mongoose ๋ฒ„์ „์„ 6์—์„œ 8๋กœ ์—…๋ฐ์ดํŠธ ํ–ˆ๋”๋‹ˆ

๋‹ค๋ฅธ ๊ฒƒ๋“ค์€ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋ฐ ๊ผญ new Flower(์Šคํ‚ค๋งˆ)๋ฅผ ํ•œ ํ›„

save()๋งŒ ํ•˜๋ฉด ์ €์žฅ์ด ๋˜์ง€ ์•Š๊ณ  ๋ฉˆ์ถ˜๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

 

๊ฐ€์žฅ ํž˜๋“ค์—ˆ๋˜ ๊ฒƒ์€ try catch์— ์žกํžˆ์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ freezing๋ถ€๋ถ„์ด์—ˆ๋‹ค.

๋ณ„์ง“์„ ๋‹คํ•˜๋ฉฐ ์•Œ์•„๋‚ธ ๊ฒƒ์€

1. ๊ธฐ์กด documents๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฑด ๋ฌธ์ œ ์—†์ด ์ €์žฅ๋˜๋‚˜ ์ƒˆ๋กœ ๋งŒ๋“ค๋•Œ๋งŒ ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ๊ณผ

2. ๋ฒ„์ „ 6์—์„œ 7๋กœ๋งŒ ๋„˜์–ด๊ฐ€๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค๋Š” ๊ฒƒ๊ณผ 6์œผ๋กœ ๋Œ์•„์˜ค๋ฉด ์•„๋ฌด ๋ฌธ์ œ์—†๋‹ค๋Š” ๊ฒƒ.

3. ์ ์–ด๋„ mongoose.connect(url, options)์—์„œ options์„ค์ •๊ณผ๋Š” ์ƒ๊ด€์—†๋‹ค๋Š” ๊ฑฐ์˜€๋‹ค.

 

ํ•˜์ง€๋งŒ ์•„๋ฌด๋ฆฌ integraion๋ฌธ์„œ๋ฅผ ์ฝ์–ด๋ด๋„ ๋ฌธ์ œ๊ฐ€ ๋ ๊ฒƒ์ด ์—†์—ˆ๋‹ค. 

๊ทธ๋Ÿฌ๋‹ค 8์‹œ๊ฐ€ ๋‹ค ๋˜์–ด์„œ ํ˜น์‹œ๋‚˜ ํ•˜๋Š” ๋งˆ์Œ์— mongoose-sequence ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๊ณ  ๋Œ๋ ค๋ณด๋‹ˆ

๊ฐ‘์ž๊ธฐ ๋ฌธ์ œ์—†์ด ๋Œ์•„๊ฐ”๋‹ค.

 

์•„.. ๊ทธ๋ ‡๋‹ค๋ฉด,

mongoose-sequence๋„ ์ตœ์‹ ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ ํ›„ ์ฃผ์„ํ’€๊ณ  ๋‹ค์‹œ ํ•ด๋ณด๋‹ˆ

์ž˜ ๋œ๋‹ค.

 

๋„ˆ๋ฌด ํ—ˆํƒˆํ•ด ๋จธ๋ฆฌ๊ฐ€ ๋ตํ–ˆ๋‹ค.

๊ทธ์ œ์„œ์•ผ ๋ฐฐ๊ฐ€ ๊ณ ํŒ ๋‹ค. ๊ทธ๋Ÿฌ๊ณ ๋ณด๋‹ˆ ์ €๋… 8์‹œ๊นŒ์ง€ ์•„๋ฌด๊ฒƒ๋„ ๋จน์ง€ ์•Š์•˜๊ตฌ๋‚˜.

๋‹ค์‹œ ์‹ค์„œ๋ฒ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊นŒ์ง€ ๋ชจ๋‘ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ํ…Œ์ŠคํŠธ๊นŒ์ง€ ๋งˆ๋ฌด๋ฆฌ ์ง“๊ณ  ์‹์‚ฌ๋ฅผ ํ–ˆ๋‹ค.

 

๋ˆ™๋ฌผ์ด ๋‚ฌ๋‹ค.

๋ณ„๊ฒƒ๋„ ์•„๋‹Œ๊ฒƒ์— ๋„ˆ๋ฌด๋‚˜ ๋งŽ์€ ์—๋„ˆ์ง€๋ฅผ ํ„ธ๋ ธ๋‹ค.

์šฉ๊ธฐ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.

 

์–ด๋–ค ๊ฒฐ๊ณผ์„ ๋งˆ์ฃผํ•ด๋„ ๋Œ€์ฑ…์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ด‘๊ณ ๋ฅผ ํ†ตํ•ด ๋‚˜์˜จ ๊ฐ€์„ค์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‚ด ์„œ๋น„์Šค์˜ ์“ธ๋ฐ์—†์Œ์„ ์ž…์ฆํ•œ๋‹คํ•ด๋„

๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๋™์˜ํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค.

 

๊ฐ€์„ค์˜ ๋ถ€์กฑ์„ ์ง€์ ํ•  ๊ฒƒ์ด๋ฉฐ ํ‘œ๋ณธ์˜ ๋ถ€์กฑ์„ ์ง€์ ํ•  ๊ฒƒ์ด๋‹ค.

๋ฌด์—‡๋ณด๋‹ค ์„œ๋น„์Šค๋ฅผ ๋ณด์™„ํ•˜๋ฉด ๋‹ฌ๋ผ์งˆ ๊ฒƒ์ด๋ผ ๋งํ•  ๊ฒƒ์ด๋‹ค - ์ง€๊ธˆ ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ฒƒ์ด๋‹ˆ๊นŒ

 

๊ทธ๋Ÿผ์—๋„ ๊ด‘๊ณ ๋ฅผ ๋จผ์ € ๋Œ๋ ค๋ณด๋Š” ๊ฒƒ์ด ์ด์„ฑ์ ์œผ๋กœ ๋งž๋‹ค๋Š” ๊ฑด ์•Œ๊ณ  ์žˆ๋‹ค.

์„œ๋น„์Šค๋ฅผ ์™„์„ฑํ•œ ํ›„ ๊ด‘๊ณ ๋ฅผ ๋Œ๋ฆฌ๋ฉด

์ด์ œ๋Š” ๋ฌด์กฐ๊ฑด ์ž˜๋ผ์•ผํ•œ๋‹ค๋Š” ์••๋ฐ•๊ฐ์œผ๋กœ ์ „์‹ ์ด ๋งˆ๋น„๋˜๊ณ  ๋‡Œ๋Š” ์ขŒ๋‡Œ์™€ ์šฐ๋‡Œ๊ฐ€ ๋ฒˆ๊ฐˆ์•„ ์ง„๋™ํ•ด๋ ํ…Œ๋‹ˆ ๋ง์ด๋‹ค.

 

ํ•˜์—ผ์—†๋Š” ๊ธฐ๋‹ค๋ฆผ.

๋ฐฉ๋ฌธ๊ณผ ๋™์‹œ์— ๋‚˜๊ฐ€๋ฒ„๋ฆฌ๋Š” ๊ณ ๊ฐ๋“ค.

 

์•„๋ฌด๋ฆฌ ๊ฑฐ์ ˆ๋‹นํ•ด๋„ ์ต์ˆ™ํ•ด์ง€์ง€ ์•Š๋Š” ์ด ๊ฑฐ์ ˆ์˜ ๊ฐ๊ฐ.

๊ทธ๋ ‡๊ธฐ์— ๋จผ์ € ๊ด‘๊ณ ๋ฅผ ๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ๋งˆ๋•…ํ•˜๋‹ค.

๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์—‰๋ง์„ ๊ฐ€๋ฆฌํ‚จ๋‹คํ•ด๋„ ๊ฒฐ๊ตญ ๋‚˜๋Š” ์„œ๋น„์Šค๋ฅผ ์™„์„ฑ์‹œํ‚ค๊ฒ ์ง€๋งŒ

 

๋‚ด ๋ฉ˜ํƒˆ์„ ์œ„ํ•ด์„œ๋ผ๋„

๊ทธ๋ž˜ ๊ด‘๊ณ ๋ฅผ ๋จผ์ € ๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ๋งž์„ ๊ฒƒ์ด๋‹ค.

 

'์œ ๋‚œํ•œ ๋„์ „'์ด๋ผ๋Š” ํ† ์ŠคํŒ€์˜ (ํ™๋ณด)์ฑ…์„ ์ฝ์œผ๋ฉฐ ๋งŽ์€ ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.

n์‹ญ๋…„๊ฐ„ ์ง€์˜ฅ์˜ ์ธ์‚ฌ๋™์— ์ฃฝ์น˜๊ณ  ์žˆ๋Š” ๋‚˜์—๊ฒŒ ์ด ์ฑ…์€,

์•Œ๊ณ  ์‹ถ์€ ๊ฒƒ์—๋Š” ๋‹ตํ•˜์ง€ ์•Š๊ณ  ๋“ฃ๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒƒ(๋ฐฐ์•„ํŒŒ)์—๋Š” ๊ธธ๊ฒŒ ๋‹ตํ•ด์ฃผ๋Š”

 

์–„๊ถ‚์€ ์ฑ…์ž„์ด ๋ถ„๋ช…ํ•˜์ง€๋งŒ

์ด๋ ‡๊ฒŒ

๊ทธ๋ ‡์ง€, ๋จผ์ € ๊ด‘๊ณ ๋ฅผ ํ•ด์•ผ์ง€. ๊ณ ๊ฐ์˜ ๋‹ˆ์ฆˆ๋Š” ์ƒ๊ฐ๋„ ์•ˆํ•˜๊ณ  ๋˜ ๊ฐœ๋ฐœ์„ ๋จผ์ €ํ•ด๋ฒ„๋ ธ๋„ค ๊ฐ™์€ '๋ฐ˜์„ฑ'๊ณผ

 

๊ทผ๋ฐ ์ €๋“ค์ด ์ด์ „์— ๋งŒ๋“ค๊ณ  ์‹คํŒจํ–ˆ๋˜ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์™€ ์ง€๊ธˆ ๋‚ด๊ฐ€ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” Moonlit์ด ๊ฝค๋‚˜ ๋น„์Šทํ•˜๊ตฌ๋‚˜

๊ฐ™์€ ์Šฌํ”ˆ ์ •๋ณดใ…œ

์‹คํŒจ๋ฅผ ์˜ˆ๊ฐ์ผ€ํ•˜๋Š” ์„ ๊ฐ์ž์˜ ์กฐ์–ธ

 

์ด๋ฒˆ์—๋„ ์•ˆ๋˜๊ฒ ๊ตฌ๋‚˜ ํ•˜๋Š” ์ฒด๋…์ด ๋ชธ์— ์Šค๋ฉฐ๋“œ๋Š” ๊ฑธ ๋Š๊ผˆ๋‹ค.

๋„ˆ๋ฌด ์‹คํŒจ๋ฅผ ์˜ค๋žซ๋™์•ˆ ํ•˜๋‹ค๋ณด๋‹ˆ ์ด๊ฒŒ ๋ชธ์— ์ต์–ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค.

๋ฏธ๋ฆฌ ์•ˆ๋ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‹คํŒจํ•˜๋ฉด ๋งž์„ ๋•Œ ๋œ ์•„ํ”„๋‹ค๋ณด๋‹ˆ ๋ณธ๋Šฅ์ ์œผ๋กœ ๊ทธ๋Ÿฐ ์‹ ํ˜ธ๋ฅผ ์ฐพ์•„๋‚ธ ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ๊ฒƒ๋„ ์•ˆ๋˜๋ฉด ์ด์ œ ๋‚˜๋Š” ๋ฌด์–ผ ๋งŒ๋“œ๋‚˜. 

 

์ฑ…๋งŒ์œผ๋ก  ๋„์ €ํžˆ ๊ฐ์ด ์˜ค์ง€ ์•Š์•„ ์œ ํŠœ๋ธŒ์—์„œ ํ† ์Šค๋ฅผ ์ฐพ์•„๋ดค๋”๋‹ˆ ๋ณธ์ธ์ธ์ฆ ๋ชจ๋“ˆ์‚ฌ์—…์— ๊ด€ํ•ด ํ† ์Šค์—์„œ ์ง์ ‘ ์ฐ์€ ๋‹คํ๊ฐ€ ์žˆ์—ˆ๋‹ค.

- ์ฑ…๋ณด๋‹ค ํ›จ์”ฌ ์ข‹์•˜๋‹ค. ๋ถํ•œ์„ ์ „ ์ฑ…์ž๊ฐ€ ์•„๋‹ˆ์—ˆ๋‹ค. ๊ฐ•์›๋„์—์„œ ๋งŒ๋“  ๊ฐ•์›๋„ ๊ฐ€์ด๋“œ๋ถ ๋Š๋‚Œ์ด ์•„๋‹ˆ์—ˆ๋‹ค. ์—ฌ๊ธฐ์—” ํ† ์Šค๊ฐ€ ๋ณด์˜€๋‹ค.

 

๊ฐ€์žฅ ์ธ์ƒ๊นŠ์—ˆ๋˜ ๊ฑด ํšŒ์˜ ์ค‘ ๋‚˜์˜จ ์ด์Šน๊ฑด ๋Œ€ํ‘œ์˜ '๋ถ€๋Ÿฌ๋œจ๋ฆฐ๋‹ค'๋Š” ํ‘œํ˜„์ด์—ˆ๋‹ค.

๋งž๋‹ค. ๊ฐ€์„ค๋งŒ์œผ๋กœ๋Š” ๋ถ€๋Ÿฌ๋œจ๋ ค์ง€์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ๋๊นŒ์ง€ ํ•ด๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค, ๋‚ด๊ฐ€ ํ•‘๊ณ„๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์€ ๋ชจ๋‘ ์‹œ๋„ ํ•ด๋ณด๊ณ  ์‹คํŒจํ•ด์•ผ

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋ถ€๋Ÿฌ๋œจ๋ ค์กŒ์Œ์„ ๋Š๋‚€๋‹ค.

๋ถ€๋Ÿฌ๋œจ๋ ค์ง€์ง€ ์•Š์€ ๊ฒƒ๋“ค์€ ๋ฏธ๋ จ์ด ๋‚จ๋Š”๋‹ค. ๊ทธ๊ฒƒ์€ ์‹คํŒจ๊ฐ€ ์•„๋‹ˆ๋ผ ํฌ๊ธฐ๊ฐ€ ๋œ๋‹ค.

 

๊ทธ๋ ‡๊ธฐ์— 

๊ด‘๊ณ ๋ฅผ ๋จผ์ € ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋งž๋Š” ๋ง์ด๊ณ  - ํ•  ๊ฒƒ์ด์ง€๋งŒ

๊ทธ๊ฒƒ์˜ ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๋“  ๋‚˜๋Š” ๋๊นŒ์ง€ ์™„์„ฑํ•˜๊ณ  ์ •์‹ ์„œ๋น„์Šค๋ฅผ ๋Œ๋ฆฌ๊ณ 

์ฃฝ์„ ๋‘ฅ ์‚ด๋‘ฅ ์•„๋‘ฅ๋ฐ”๋‘ฅ ๋ชธ๋ถ€๋ฆผ์น  ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋ถ€๋Ÿฌ๋œจ๋ฆด ๊ฒƒ์ด๋‹ค.

๋ถ€๋Ÿฌ๋œจ๋ฆฌ๊ณ  ๋‚˜๋ฉด ๋‚˜๋Š” ๋‚ด๊ฒŒ ์กฐ๊ธˆ ๋” ๊ฐ€๊นŒ์›Œ์ง„๋‹ค.

์ง€๊ธˆ๊นŒ์ง€๋Š” ๋งค๋ฒˆ ์ฃฝ๊ณ  ์‹ถ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ญ์ƒ ๋‹ค์Œ ๊ธฐํšŒ์— ๋Œ€ํ•œ ๋“ค๋œธ์ด ๋” ์ปธ๋‹ค.

๋‹ค์Œ๋ฒˆ์—๋Š” ๋ ์ง€๋„ ๋ชจ๋ฅด์ž–์•„. ์ด๋Ÿฐ ๊ฐ™์ž–์€ ์ƒ์ƒ.

๊ฐ™์ž–๋‹ค๋Š” ๊ฑธ ์•Œ๋ฉด์„œ๋„ ๋’ค์งˆ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ์ •๋ง ๋ชจ๋ฅด๋Š” ๊ฑด ๋งž์œผ๋‹ˆ๊นŒ, ๊ถ๊ธˆํ–ˆ๋‹ค.

 

์ด๋ฒˆ์—๋Š” ๋ถ€๋Ÿฌ์ ธ๋„ ๊ทธ๋ƒฅ ๋ฒ„๋ฆฌ์ง€ ์•Š๊ณ  ์—ฌ๊ธฐ์— ์‚ด์„ ๋ถ™์ผ ๊ฑฐ๋‹ค.

๊ฒŒ์ž„๋„ ๋„ฃ๊ณ  ๊ทธ๋Ÿด๊ฑฐ๋‹ค. - '๋ฉ”๋‰ด๋ฅผ ๋Š˜๋ฆฌ์ง€ ๋งˆ๋ผ' - ๋ชจ๋‘๊ฐ€ ํ•˜์ง€๋ง๋ผํ•˜๋Š” ๊ทธ ์•…์„ฑ ํ‘œ๋ณธ์ด ๋  ๊ฑฐ๋‹ค.

์ฒซ์งธ ์ด์œ ๋Š” ๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์ด๊ฒƒ ๋ฟ์ด๋ฉฐ

๋‘˜์งธ ์ด์œ ๋Š” ์ง€๊ธˆ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์ด ์„ธ๊ณ„๊ฐ€ ๋‚ด ๋งˆ์Œ์— ๋“ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ชจ๋‘๊ฐ€ ์‹ซ์–ดํ•ด๋„ ๋‚œ ๊ทธ ์„ธ๊ณ„ ์•ˆ์— ๋“ค์–ด๊ฐ€ ์‚ด๊ฑฐ๋‹ค.

์…‹์งธ ์ด์œ ๋Š” ์–ด์ฐจํ”ผ ๋งํ•œ๊ฑฐ๋ผ๋ฉด ์—ฌ๊ธฐ์— ๊ฒŒ์ž„์„ ๋ถ™์ด๋Š”๊ฒŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ๋น„์šฉ๋„ ๋œ ๋“ ๋‹ค.

 

์ข‹๋‹ค.

๋ถ€๋Ÿฌ๋œจ๋ฆฌ๋Ÿฌ ๊ฐ€์ž.

1. ์œ ์ €๊ฐ€ ๊ฒฐ์ œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด
2. ์‚ฌ์ „ ๊ฒ€์ฆ์„ ์œ„ํ•ด ์ƒํ’ˆ์˜ ๊ฐ€๊ฒฉ์„ ํฌํŠธ์›์— ์•Œ๋ ค์ค€๋‹ค
- ajx๋กœ ๋‚ด ์„œ๋ฒ„์— ๊ฐ„ ํ›„ ํฌํŠธ์›์œผ๋กœ request๋ฅผ 2๋ฒˆ ๋‚ ๋ฆฐ๋‹ค
- ์ฒซ๋ฒˆ์งธ๋ฅผ ๋‚ ๋ ค token์„ ๋ฐ›๊ณ 
- ๋‘๋ฒˆ์งธ๋กœ ์œ„ token๊ณผ ํ•จ๊ป˜ merchant_uid (์„œ๋ฒ„์—์„œ ์ง์ ‘ ์ƒ์„ฑํ•œ ์ฃผ๋ฌธ id), ๊ฐ€๊ฒฉ์„ ํ•จ๊ป˜ ๋‚ ๋ ค์ค€๋‹ค.
- order DB์˜ ์ฝœ๋ ‰์…˜์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ์œ„์—์„œ ๋งŒ๋“  merchant_uid๋ฅผ ์ €์žฅํ•œ๋‹ค.
- merchant_uid ๋ฅผ ํด๋ผ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

3. ๋‹ค์‹œ ํด๋ผ๋กœ ๋Œ์•„์˜จ ํ›„ IMP.request_pay()๋ฅผ ๋‚ ๋ฆฐ๋‹ค.

        this.IMP.request_pay({

           // pg์—๋Š” ํฌํŠธ์› > ๊ฒฐ์ œ์—ฐ๋™์—์„œ PG์ƒ์ ์•„์ด๋”” (์‚ฌ์ดํŠธ์ฝ”๋“œ)๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค

           // pg             : 'html5_inicis',

           // pg             : 'INIBillTst',// ์ •๊ธฐ ๊ฒฐ์ œ KG์ด๋‹ˆ์‹œ์Šค. ์ด๊ฑด ์นด๋“œ์ž…๋ ฅ์ฐฝ์ด ๋œฌ๋‹ค

           // pg             : '9810030929',// ๋‹ค๋‚ . 

           // pg             : 'nice.iamport00m',// ๋‚˜์ด์Šค ํŽ˜์ด๋จผ์ธ 

           // pg             : 'T0000',// NHN KCP

           pg             : 'INIpayTest',// ์ผ๋ฐ˜ ๊ฒฐ์ œ KG์ด๋‹ˆ์‹œ์Šค

           pay_method,

           merchant_uid,

           name           : storeItem.name,

           amount         : storeItem.price.point,

           buyer_email    : this.ownerEmail,

           buyer_name     : this.ownerNickname,

 

           m_redirect_url : `${domain}/store/payment/done`, // ๋ชจ๋ฐ”์ผ์€ ๋ฆฌ๋””๋ ‰์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค. ์•„๋ž˜ ์ฝœ๋ฐฑ์œผ๋กœ ๊ฐ’์ด ๋“ค์–ด์˜ค์ง€ x

           notice_url : `${apiBaseURL}/order/portone_webhook`,// ์›นํ›…์„ ์ˆ˜์‹ ํ•  ์ฃผ์†Œ

 

         }, function(rsp) {// pc์—์„œ๋Š” ์—ฌ๊ธฐ iframe ์ฝœ๋ฐฑ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค

           if ( rsp.status == 'paid' ) {// ๋ชจ๋ฐ”์ผ๊ณผ ๋™์ผํ•˜๊ฒŒ ๊ทธ๋Œ€๋กœ redirectํ•œ๋‹ค

             self.$router.push(`/store/payment/done?imp_success=true&imp_uid=${rsp.imp_uid}&merchant_uid=${rsp.merchant_uid}`);

           } else {// ๊ฒฐ์ œ ์‹คํŒจ์‹œ

             self.$router.push('/store/payment/done?imp_success=false');

           }

         });


- 2๋ฒˆ์—์„œ ๋ฐ›์€ merchant_uid๋ฅผ ์ธ์ž๋กœ ํ•จ๊ป˜ ๋‚ ๋ฆฐ๋‹ค.
- ๊ทธ๋Ÿผ merchant_uid๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํฌํŠธ์›์—์„œ ๊ฒฐ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ฐ€๊ฒฉ์— ํ‹€๋ฆผ์ด ์—†๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด ๊ฒฐ์ œ๋ฅผ ํ•œ๋‹ค.
- m_redirect_url ์™€ notice_url ๊ฐ€ ํ•ต์‹ฌ์ด๋‹ค.
- m_redirect_url ๊ฒฐ์ œ๊ฐ€ ๋๋‚˜๋ฉด ์ด๋™ํ•  ํด๋ผ url์„ ๋„ฃ๋Š”๋‹ค. 
- pc๋Š” ์ฝœ๋ฐฑ์œผ๋กœ ๋“ค์–ด์˜ค๊ณ  ๋ชจ๋ฐ”์ผ์—์„œ๋Š” ์—ฌ๊ธฐ๋กœ ๋“ค์–ด์˜จ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ์ œ๋ฐฉ๋ฒ•์„ ํ†ต์ผํ•˜๊ธฐ ์œ„ํ•ด pc์˜ ์ฝœ๋ฐฑ์„ ์“ฐ์ง€ ์•Š๊ณ  ๊ฒฐ์ œ ์™„๋ฃŒ ํ›„์—๋Š” ํ•ญ์ƒ ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•˜๊ฒŒ ํ•œ๋‹ค.
- ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์œผ๋กœ 3๊ฐœ์˜ ๊ฐ’์ด ํ•จ๊ป˜ ๋“ค์–ด์˜จ๋‹ค.  imp_success๋Š” ๊ฒฐ์ œ์„ฑ๊ณต์—ฌ๋ถ€, imp_uid, merchant_uid ๋“ฑ์ด๋‹ค
- notice_url ๋Š” ๊ฒฐ์ œ๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์„ ๋•Œ ํฌํŠธ์›์—์„œ ๋‚ด๊ฒŒ ๋ณด๋‚ผ ์›นํ›… ์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.
- ์›นํ›…์œผ๋กœ๋Š” 2๊ฐœ์˜ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์ด ๋“ค์–ด์˜จ๋‹ค. imp_uid, merchant_uid


4. ํฌํŠธ์› doc์„ ๋ณด๋ฉด ์ฝœ๋ฐฑ ์œ„์ฃผ๋กœ ์„ค๋ช…์ด ๋˜์–ด ์žˆ๋Š”๋ฐ ์ด๊ฑด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹คx
- ์™œ๋ƒ๋ฉด ์ฝœ๋ฐฑ์„ ์ด์šฉํ•  ๊ฒฝ์šฐ ๋„คํŠธ์› ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ฒฐ์ œ๊ฐ€ ๋ˆ„๋ฝ๋ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ž€๋‹ค.
https://developers.portone.io/docs/ko/auth/guide/5/post?v=v1

5. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๊ฒฐ์ œ ์ฒ˜๋ฆฌ๋Š” notice_url๋กœ ๋“ค์–ด์˜จ ์›นํ›… ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. 
- ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ์—๋Š” ํ•ญ์ƒ ์›นํ›…์œผ๋กœ ๋จผ์ € ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ ํ›„์— ์ฝœ๋ฐฑ์ด ํ˜ธ์ถœ๋˜์•ผ๋งŒ pc์—์„œ $router.push() ํ–ˆ์„ ๋•Œ ์ •๋ณด์˜ ๋ˆ„๋ฝ์ด ์—†๊ฒŒ ๋œ๋‹ค.
- ํฌํŠธ์›์—์„œ๋Š” ์ด๋ฅผ ์œ„ํ•ด ์ˆœ์„œ ๋ณด์žฅ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ฉ”์ผ๋กœ ์•Œ๋ ค๋‹ฌ๋ž€๋‹ค.

https://developers.portone.io/docs/ko/result/webhook?v=v1 
- ๋ฉ”์ผ์„ ๋ณด๋‚ด ์ˆœ์„œ ๋ณด์žฅ์„ ์š”์ฒญํ–ˆ๋”๋‹ˆ ๋ฐ”๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๋‹ค.

 

6. ์ด์ œ ์›นํ›…์—์„œ ๊ฐ€๊ฒฉ์ด ๋ฐ”๋€Œ์ง€ ์•Š์•˜๋Š”์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.
- ์›นํ›…์œผ๋กœ imp_uid, merchant_uid ๊ฐ’์ด ๋“ค์–ด์˜จ๋‹ค.
- ๋จผ์ € ํฌํŠธ์›์—์„œ ํ† ํฐ์„ ๋ฐ›์€ ํ›„ imp_uid ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์‹œ ํฌํŠธ์›์— ๊ฒฐ์ œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•ด ๋ฐ›์•„์˜จ๋‹ค.
- ๊ฒฐ์ œ ์ •๋ณด ์•ˆ์—๋Š” ๊ฒฐ์ œ์™€ ๊ด€๋ จํ•œ ๋ชจ๋“  ์ •๋ณด๋“ค์ด ๋“ค์–ด์žˆ๋‹ค.
- ์ด์ œ merchant_uid ๋กœ ๋‚ด db์—์„œ 2๋ฒˆํ• ๋•Œ ์ €์žฅํ•ด ๋‘” order๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
- ๊ทธ๋ฆฌ๊ณ  ์ด order์— ์žˆ๋Š” ๊ฐ€๊ฒฉ๊ณผ ํฌํŠธ์›์—์„œ ๋ฐ›์•„์˜จ ์ตœ์ข… ๊ฒฐ์ œ ์ •๋ณด์˜ ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•˜์—ฌ ํ‹€๋ฆฐ๊ฒŒ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ด๊ฒŒ ์‚ฌํ›„๊ฒ€์ฆ์ด๋‹ค.
- ๋‘˜์˜ ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ์™„์ „ํžˆ ์•ˆ์ „ํ•œ ๊ฒฐ์ œ๋ผ๋Š” ๋œป์ด๋‹ค.
- ๊ฐ™๋‹ค๋ฉด ์ด์ œ ํฌํŠธ์›์—์„œ ๋ฐ›์•„์˜จ ๊ฒฐ์ œ์ •๋ณด๋ฅผ ๋‚ด order์— ์ €์žฅํ•˜๋ฉด๋œ๋‹ค. ํ‹€๋ฆฌ๋‹ค๋ฉด ํ•ด๋‹น order์— ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๊ณ  ์ทจ์†Œํ•˜๋ฉด ๋œ๋‹ค.
- ๋ฆฌํ„ด์€ ์•„๋ฌด๊ฒƒ๋„ ํ•  ํ•„์š” ์—†๋‹ค.

7. ์‹คํŒจํ–ˆ๋˜ ์„ฑ๊ณตํ–ˆ๋˜ ๊ฒฐ์ œ๊ฐ€ ๋๋‚˜๋ฉด m_redirect_url ๋กœ imp_success, imp_uid, merchant_uid ๋“ฑ 3๊ฐœ์˜ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์ด ํ•จ๊ป˜ ๋“ค์–ด์˜จ๋‹ค. 
- ์ด๊ฑด ํฌํŠธ์›์—์„œ ๋‚ ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.
- ์ด ์ •๋ณด๋“ค์„ ๋ฐ›์•„์„œ ๊ทธ๋Œ€๋กœ ๋‹ค์‹œ ๋‚ด ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ค€๋‹ค.
- ๋‚ด ์„œ๋ฒ„์—์„  ์ด ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ๋‹ค์‹œ ํฌํŠธ์›์— ๋‚ ๋ ค ์ตœ์ข… ๊ฒฐ์ œ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜จ๋‹ค. 
- ๋‚ด DB๋Š” ๋’ค์งˆ ํ•„์š”๊ฐ€ ์—†๋‹ค. ๊ทธ๋ƒฅ ํฌํŠธ์›์— ์ ‘์†ํ•ด์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๊ทธ๊ฑธ ๋‹ค์‹œ ํด๋ผ๋กœ ๋ณด๋‚ด์ฃผ๋ฉด ๋œ๋‹ค.
- ํด๋ผ์—์„œ๋Š” ํ•ด๋‹น ๊ฒฐ์ œ ์ •๋ณด๊ฐ€ ์„ฑ๊ณต์ด๋ผ๋ฉด ์„ฑ๊ณตํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹คํŒจ๋ผ๋ฉด ์‹คํŒจ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉด ๋œ๋‹ค.

8. ๊ฒฐ์ œ๋ฃจํ‹ด์ด ์™„์ „ํžˆ ๋‹ฌ๋ผ์ง€๋ฉด์„œ ํฌ์ธํŠธ ์•„์ดํ…œ ๊ฒฐ์ œ๋Š” ๋ถ„๊ธฐ์‹œ์ผœ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค.

 

์ด๊ฑธ๋กœ ๋ชจ๋“ ๊ธฐ๊ธฐ์—์„œ ๊ฒฐ์ œ, ํ™˜๋ถˆ, ์ทจ์†Œ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ์™„๋ฃŒ

์ด์ œ pg์‚ฌ ๊ณ„์•ฝ ์ง„ํ–‰ํ•œ๋‹ค.

์• ๋„๋ฆฌํ‹ฑ์Šค ๊ณ„์ •์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ์ƒˆ๋กœ์šด ํƒœ๊ทธ๋ฅผ ๋ฐ›๊ณ  moonlit์— ํƒœ๊ทธ๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

ํ…Œ์ŠคํŠธ๋ฅผ ๋ˆ„๋ฅด๊ณ  ์—ฐ๊ฒฐ์™„๋ฃŒ๋ฅผ ํ™•์ธํ•œ๋‹ค.

๋‹ค์Œ ๊ตฌ๊ธ€ ์„œ์น˜ ์ฝ˜์†”์— ์†์„ฑ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

๊ทธ ๋™์•ˆ ๋”๋ฏธ๋กœ ๋งŒ๋“ค์—ˆ๋˜ db collection๋“ค์„ ๊นจ๋—ํžˆ ๋ฐ€๊ณ  ์†Œ์…œ ํšŒ์›๊ฐ€์ž…๋ถ€ํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜ ํ™•์ธํ•ด๋ณธ๋‹ค.

๋„ค์ด๋ฒ„๋Š” ์ž์‹ ๋“ค์˜ api์‚ฌ์šฉ์ด ์ผ์ •๊ธฐ๊ฐ„ ์—†์œผ๋ฉด ์ž๋™์œผ๋กœ ๋ง‰ํžŒ๋‹ค. ๊ทธ๋ž˜์„œ ์›ฌ๋””์ฒ˜๋Ÿผ ์ธ๊ธฐ์—†๋Š” ์„œ๋น„์Šค๋Š” ์‹ค์„œ๋น„์Šค ์ค‘์ž„์—๋„ ์ค‘๊ฐ„์— api๊ฐ€ ๋ง‰ํ˜€๋ฒ„๋ ธ๋‹ค. ์ •๋ง ๊ธฐ๊ฐ€๋ง‰ํžŒ ์ผ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ moonlit์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋„ค์ด๋ฒ„๋ฅผ ๋นผ๋ฒ„๋ ธ๋‹ค. ํŽ˜๋ถ๊ณผ ํŠธ์œ„ํ„ฐ๋„ ๋„ˆ๋ฌด ์ž์ฃผ ์ ˆ์ฐจ๊ฐ€ ๋ฐ”๋€Œ๊ณ  ๊ถŒํ•œ์ด ๋ฐ”๋€๋‹ค. ๊ทธ๋ž˜์„œ ์–˜๋„ค๋„ ๋บ๋‹ค. ์ด์ œ ๊ตฌ๊ธ€๊ณผ ์นด์นด์˜ค๋งŒ ๋‚จ์•˜๋‹ค. ๋ญ ๊ทธ๋Ÿผ ๋๋‹ค.

 

๊ณ ๊ฐ์„ผํ„ฐ ๋ฌธ์˜ํ•˜๊ธฐ, ๋‹ต๋ณ€ํ•˜๊ธฐ๋ถ€ํ„ฐ ๋ฉ”์ผ ์†ก์ˆ˜์‹ , ์Šฌ๋ž™ ์†ก์ˆ˜์‹ ์„ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค. ์—ญ์‹œ๋‚˜ ์•ฝ๊ฐ„์˜ ๋ฒ„๊ทธ๋“ค์ด ์žˆ์—ˆ๊ณ  ์—ญ์‹œ๋‚˜ ๊ธˆ๋ฐฉ ๊ณ ์ณค๋‹ค.

์–ธ์ œ๋ด๋„ ์Šฌ๋ž™์˜ push๊ธฐ๋Šฅ์€ ์‰ฝ๊ณ  ์œ ์šฉํ•˜๋‹ค.

 

๋ฉ”์ผ์€ ํ•˜์ด์›์Šค๋กœ ๋ฐ”๊ฟจ๋‹ค. ์˜ˆ์ „ ์นด์นด์˜ค ์Šค๋งˆํŠธ์›Œํฌ ๋ฉ”์ผ ๊ณ„์ •์„ ์ผ์„๋• 10๋ฒˆ ๋ณด๋‚ด๋ฉด 2,3๋ฒˆ๋งŒ ์ˆ˜์‹ ๋ผ์„œ ์ŠคํŠธ๋ ˆ์Šค ๋ฐ›์•˜๋Š”๋ฐ ๊ทธ ๊ณ ํ†ต์ด ์‚ฌ๋ผ์กŒ๋‹ค. ๋‹ค๋งŒ ์ฒ˜์Œ 1๋…„์€ ํ•œ๋‹ฌ์— 1,600์›. ๋‹ค์Œ๋ถ€ํ„ด 3์ฒœ์›์”ฉ ๋‚ด์•ผํ•œ๋‹ค. ๊ทธ ๋™์•ˆ ๋ฉ”์ผ ์ˆ˜์‹ ์ด ์ž˜ ์•ˆ๋๋˜ ์›์ธ์ด ์นด์นด์˜ค์— ์žˆ๋Š” ์ค„ ์•Œ์•˜๋‹ค๋ฉด ์ง„์ž‘์— ๋ฐ”๊ฟจ์„ ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ๋„ ์—ด๋ฐ›๋Š”๋‹ค.

๊ทผ๋ฐ ๋ฉ”์ผ์„ 2๊ฐœ ์‹ ์ฒญํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ํ•˜์ด์›์Šค์—๋Š” ๊ทธ๋Ÿฐ๊ฒŒ ์—†์—ˆ๋‹ค. 5๊ฐœ, 10๊ฐœ ์ด๋Ÿฐ์‹์œผ๋กœ๋งŒ ๊ฐ€๋Šฅํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฐ€๋‚œํ•œ๊ฒŒ ์ฃ„์ง€. ๋ˆˆ๋ฌผ์ด ํ˜๋ €๋‹ค.

 

๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ, ์ด์šฉ์•ฝ๊ด€๋„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ทผ๋ฐ ๋‚ด๊ฐ€ ๋ญ˜ ์•„๋Š”๊ฒŒ ์žˆ๋‚˜. ๊ธฐ๋ณธ์•ฝ๊ด€ ์–‘์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ์ด๋Ÿฐ์ €๋Ÿฐ ๊ฒŒ์ž„์‚ฌ์ดํŠธ์™€ cj์‚ฌ์ดํŠธ ์•ฝ๊ด€๋“ค์„ ์งœ์ง‘๊ธฐํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ๋“ค๊ณ  ๋‚˜๋‹ˆ ๋งˆ์Œ์— ๋“ค์—ˆ๋‹ค. ๋ญ”๊ฐ€ ์ •์‹? ํšŒ์‚ฌ๊ฐ€ ๋œ ๊ธฐ๋ถ„์ด์—ˆ๋‹ค.

 

moonlit์€ ์‹œ่ฉฉ๋กœ ๋„๋ฐฐ๋ฅผ ํ•  ๊ฒƒ์ด๋‹ค.

์‹œ๋กœ ๊ฐ€๋“ํ•œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ฒƒ์ด๋‹ค.

 

์ด์ œ ๋‚จ์€๊ฒŒ ๋ฌด์—‡์ด ์žˆ๋‚˜

SEO ์ฒ˜๋ฆฌ์™€ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ sitemap.xml ์ž๋™์ƒ์„ฑ ๋ฐ ๊ตฌ๊ธ€์— ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๋„ฃ๊ณ 

์˜์–ด๋ฒ„์ „๋„ ๋งŒ๋“ค์–ด์•ผํ•˜๊ณ  - ์ด๊ฑด ๋‚˜์ค‘์— ํ•˜์ž

๊ณ ๊ฐ์„ผํ„ฐ์— ๋‚ด์šฉ ์ข€ ์ถ”๊ฐ€ํ•˜๊ณ  

๊ทธ ๋™์•ˆ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋˜ ์ •์›๋“ค๋„ ๋ช‡์‹ญ๊ฐœ๋Š” ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ 

์•„! ์œ ๋ฃŒ๊ฒฐ์ œ pg์‚ฌ ๊ฒฐ์ •ํ•˜๊ณ  ์ง„์งœ ์œ ๋ฃŒ ๊ฒฐ์ œ๋˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ํ˜„์žฌ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์‚ฌํ•ญ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋ณด๋‹ˆ ๊ฑฐ์˜ ๋‹ค ๋œ๊ฑฐ ๊ฐ™๋‹ค.

moonlit์ด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ, ์–ด๋–ป๊ฒŒ ์„ธ์ƒ์— ์•Œ๋ ค์•ผ ํ• ๊นŒ

๋‚ด๊ฐ€ ์‚ฌ์—…๊ฐ€๊ฐ€ ๋งž๋‹ค๋ฉด

์ด์ œ๋ถ€ํ„ฐ ์ •๋ง ์ž˜ํ•ด์•ผํ•˜๋Š”๋ฐ

๋ˆˆ ์•ž์ด ์บ„์บ„ํ•˜๋‹ค.

 

๋น›์„ ๋ฐํžˆ๊ฒ ๋‹ค๊ณ  ์˜ˆ์ „์ฒ˜๋Ÿผ ์ฑ…์†์œผ๋กœ๋งŒ ํŒŒ๊ณ ๋“œ๋Š” ๊ฑฐ ์•„๋‹์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

์ €๋… ๋จน๊ณ  ์šด๋™ํ•˜๋ฉฐ ์กฐ๊ธˆ๋” ์ƒ๊ฐํ•ด๋ด์•ผ๊ฒ ๋‹ค

1. ๋ชจ๋“  ์•„์ดํ…œ์„ ํ•˜๋‚˜์˜ ์Šคํ‚ค๋งˆ์— ๋ชฐ์•„ ๋„ฃ๊ณ  ์œ ์ €๋ช…์œผ๋กœ ๊ด€๋ฆฌ

- ๊ธฐ์กด ์ฝ”๋“œ๋“ค ๋ชจ๋‘ ์žฌ์ˆ˜์ •

- ๋ชจ๋“  ์ž‘์—…๋งˆ๋‹ค ์นด์šดํŠธํ•ด์„œ์ƒ๋‹จ์— ๋„ฃ๊ธฐ

- ๋‚ด ์•„์ดํ…œ ์นด์šดํŠธ์™€ ์ „์ฒด ์•„์ดํ…œ ์นด์šดํŠธ๋ฅผ ๋”ฐ๋กœ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

2. ์„œ๋ฒ„์—์„œ ์‚ญ์ œ

- serial ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์•˜์„ ๋•Œ '์ฒ˜์Œ ๊ฝƒ ๊ฐ€์ ธ์˜ค๊ธฐ'์—์„œ ๊ฐ๊ฐ์˜ ์ƒํ™ฉ์— ๋งž๊ฒŒ serial ์•„์ดํ…œ ์‚ญ์ œํ•˜๊ธฐ - ์—ฐ์†์ด ๋Š์–ด์ง€๋ฉด ๋ฐ”๋กœ ๋ชจ๋“  ์•„์ดํ…œ์„ ์‚ญ์ œํ• ์ง€, ๊ทธ๋ž˜๋„ ์œ ์ง€ํ• ์ง€ ์ด๊ฑด ๊ณ ๋ฏผํ•˜์ž - ์ง€๊ธˆ์€ ๊ทธ๋ƒฅ ๋ฐ”๋กœ ์‚ญ์ œ๋กœ ๋งŒ๋“œ๋Š”๊ฒŒ ๋‚˜์•„๋ณด์ธ๋‹ค.

3. ํด๋ผ์—์„œ ๋ณด์—ฌ์ฃผ๊ธฐ

- ํ•ด๋‹น ์•„์ดํ…œ์— ๋งž์ถฐ ๋ณด์—ฌ์ฃผ๊ธฐ

 

 

 

1. ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ฃจํ”„ ๋Œ๋ฆฌ๊ณ  ํ‚ค๋ณด๋“œ ๋˜๋Š” ํ„ฐ์น˜(๋งˆ์šฐ์Šค)๋กœ ์ปจํŠธ๋กค ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๋งŒ๋“ค๊ธฐ

2. ์ˆ˜ํ’€ 2,3ํ”„๋ ˆ์ž„์งœ๋ฆฌ ์• ๋‹ˆ ๋งŒ๋“ค๊ธฐ

3. ๊ฐ ์ƒํ™ฉ์— ๋งž๋Š” ํ”„๋ž๋“ค ๋ฐฐ์น˜ํ•ด์„œ ์–ด์šธ๋ฆฌ๊ฒŒ ํ•˜๊ธฐ

4. 5์ผ์— ๊ทธ๋ผ์šด๋“œ ๋ฐ”๋€Œ๊ณ  ๋Œ์•„๊ฐ€๋Š”๊ฑฐ ๊ฐœ๋ฐœํ•˜๊ธฐ

5. 10์ผ์— ์ˆ˜ํ’€ ์ถ”๊ฐ€๋˜๊ณ  ์‚ญ์ œํ•˜๋Š”๊ฑฐ ๊ฐœ๋ฐœํ•˜๊ธฐ

6. 100์ผ๊นŒ์ง€ ๋‚˜๋จธ์ง€ ํ”„๋ž๋“ค ๋ชจ๋‘ ์ ์šฉํ•˜๊ธฐ(100์ผ ์ดํ›„ ํ”„๋ž๋“ค์€ ๋‚˜์ค‘์— ๊ฐœ๋ฐœ)

7. ํ”„๋ฆฌ๋ฏธ์—„ ์„œ๋น„์Šค ์œ ๋ฃŒ ๊ฒฐ์ œ๋ถ€ํ„ฐ db, ์„œ๋ฒ„, ํด๋ผ ๋ฐ ๋ฒ•์ ์ธ ๋ฌธ์ œ์ฒ˜๋ฆฌ๊นŒ์ง€ ๋ชจ๋‘ ๊ฐœ๋ฐœํ•˜๊ธฐ

8, ์‹œ ๋ฌธ๊ตฌ db์ถ”๊ฐ€ํ•˜๊ณ  ์ ์šฉํ•˜๊ธฐ

9. ์„œ๋น„์Šค ๋‹ค๋“ฌ๊ณ  ์˜คํ”ˆํ•˜๊ธฐ

์˜ˆ์ „, ๊ฑฐ์˜ 10๋…„์ „์˜ canvas ์กฐ์ž‘ ๋ฐฉ์‹๊ณผ ๋งŽ์ด ๋‹ฌ๋ผ์กŒ๋‹ค.

๊ทธ๋• html5๊ฐ€ ๋ง‰ ๋ณดํŽธํ™”๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ง€์›ํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋‹ฌ๋ž๊ณ  ํ•จ์ˆ˜ ์ด๋ฆ„๋„ ๋ชจ๋‘ ๋‹ฌ๋ž๋‹ค.

javascript์— class๊ฐ€ ๋„์ž…๋˜๊ธฐ ์ด์ „์ด์–ด์„œ object๋ฅผ ๋น„์Šทํ•œ ๋Š๋‚Œ์œผ๋กœ overridingํ•ด์„œ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

๋ฌด์—‡๋ณด๋‹ค ๊ฐ€์žฅ ๋‹ฌ๋ผ์ง„ ๊ฑด requestAnimationFrame()๊ฐ™์€ renderํ•จ์ˆ˜๋‹ค.

์ด์ œ ๋” ์ด์ƒ setInterval()์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๊ฒƒ ๊ฐ™์•„ ๋‹คํ–‰์ด๋‹ค.

 

๊ทธ๋Ÿฌ๊ณ  ๋ณด๋‹ˆ svg ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋ช‡๊ฐœ ๋งŒ๋“ค์–ด๋ดค์ง€๋งŒ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค์–ด ๋ณธ ์ ์ด ์—†์—ˆ๋‹ค.

๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•  ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜์ง€ ์•Š์•˜๋‹ค.

 

1. ์ผ๋‹จ canvas๊ด€๋ จ ์ฝ”๋”ฉ์„ ๋งŽ์ด ์žŠ์–ด๋ฒ„๋ ธ๊ณ  - ๋” ์ด์ƒ ์ด๋Ÿฐ ์ผ์ด ์—†๋„๋ก ํ™•์‹คํžˆ ์ •๋ฆฌํ•ด๋†“์ž

2. ์—ฐ์Šต์šฉ ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€๋“ค์˜ width๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ๊ฐ€๋กœx์„ธ๋กœ๋กœ ๋งŒ๋“ค์–ด์ง„ ์Šคํ”„๋ผ์ดํŠธ ์ด๋ฏธ์ง€์—ฌ์„œ ์ฒ˜์Œ ์ต์ˆ™ํ•ด์ง€๋Š”๋ฐ ๊ณ ์ƒํ–ˆ๋‹ค.

์ด์ œ ํƒ€์ผ ์ด๋ฏธ์ง€๋กœ ๋ฐฐ๊ฒฝ์„ ์ฑ„์šฐ๊ณ  requestAnimationFrame์œผ๋กœ ์• ๋‹ˆ์—์ด์…˜์„ ํ•˜๊ณ  ์ปจํŠธ๋กค ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ๋งŒ๋“ค๊ณ  ์ด๊ฑธ ๋ชจ๋“ˆํ™” ํ•ด๋†“์ž.

์Šฌ๋ผ์ž„ ์ด๋ฏธ์ง€ 2์žฅ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์—ฐ์Šต

 

์ด์ œ,

1. ๊ณ ์–‘์ด ์Šคํ”„๋ผ์ดํŠธ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌํ•œ ํ›„

2. ์›น์—์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌ๋™์‹œ์ผœ๋ณด๊ณ 

3. ์ขŒ์šฐ ์ด๋™ ์ปจํŠธ๋กค์„ ๋งŒ๋“ค์–ด ๋ณด๊ณ 

4. ๋‘˜๋‹ค ์ฝ”๋“œ๋กœ ๋ชจ๋“ˆํ™” ํ•œ ๋‹ค์Œ

5. ๋‚˜๋งŒ์˜ ๊ณ ์–‘์ด ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์ ์šฉํ•˜์ž

6. ๋‚ด๊ฐ€ ๋งŒ๋“  ๊ณ ์–‘์ด ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šคํ…Œ์ด๋ธ” ๋””ํ“จ์ ผ์„ ํ†ตํ•ด ์ˆ˜๋ฐฑ๊ฐ€์ง€์˜ ๋ฒ„์ „์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ๊ฐ€์žฅ ์ข‹์€๊ฒƒ๋“ค์„ ์ฐพ์•„๋ณด์ž

์ฑ…์„ ๋ณด๋ฉฐ ํ•˜๋‚˜ํ•˜๋‚˜ ์—ฐ์Šต ์ค‘์ด๋‹ค.

๊ทธ๋Œ€๋กœ ๋”ฐ๋ผํ•˜๋ฉด ์‰ฌ์šด๊ฑฐ ๊ฐ™์€๋ฐ ์ฑ… ์—†์ด ํ˜ผ์ž ๊ทธ๋ฆฌ๋ฉด ๋ฐ”๋กœ ์–ผ์Œ์ด ๋œ๋‹ค.

๊ทธ๋Ÿฐ ๋ถ€๋ถ„์— ์žˆ์–ด ์ฝ”๋”ฉ๊ณผ ๋น„์Šทํ•˜๋‹ค.

์ตœ์„ ์„ ๋‹คํ•˜์ž.

 

+ Recent posts