๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ๋ฐœ์ด์•ผ๊ธฐ

[pickmeup] ํ•ซํ•œ ํƒœ๊ทธ ๊ตฌํ˜„ํ•˜๊ธฐ

 

1์›”๋ถ€ํ„ฐ ๊พธ์ค€ํžˆ ์ง„ํ–‰ํ•ด์™”๋˜ ํ”ฝ๋ฏธ์—… ํ”„๋กœ์ ํŠธ์—์„œ spring boot๋กœ ์„œ๋ฒ„ ๋‹จ์„ ์Šฌ๊ธฐ ๋‹˜๊ณผ ๊ฐ™์ด ๊ฐœ๋ฐœํ–ˆ๋‹ค.

ํ•ซํ•œ ํƒœ๊ทธ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ๋Š”๋ฐ ์‹œ๊ธฐ ์ ์ ˆํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธ ๋˜์–ด์•ผ ํ•˜๋Š” ์ •๋ณด๋ผ ์–ด๋–ป๊ฒŒ ๋กœ์ง์„ ์งœ์•ผํ• ์ง€ ๊ณ ๋ฏผ์ด ๋งŽ์•˜์—ˆ๋‹ค.

๊ทธ ๊ฐ„์˜ ์•„์ด๋””์–ด ํšŒ์˜๋ถ€ํ„ฐ ๊ตฌํ˜„ ๊ณผ์ •๊นŒ์ง€ ๊ธฐ๋กํ•ด๋ณด์•˜๋‹ค.

repository: github.com/produce1886/pick-me-up-server


โœจ ์•„์ด๋””์–ด ํšŒ์˜

#1 ๋‚˜

๋งจ ์ฒ˜์Œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

(projects์™€ portfolios์˜ ์ปฌ๋Ÿผ๋“ค์€ ๋งŽ์ด ์ƒ๋žต๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.)

๋‚ด๊ฐ€ ์ œ์•ˆํ–ˆ๋˜ ๋‚ด์šฉ์ด๋‹ค. ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ๋Š๊ปด์ง€๋Š” ๋ถ€๋ถ„์€ ์ด ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•ด๋ดค๋‹ค.


- GET /tags : ํƒœ๊ทธ ์Šค์ฝ”์–ด ์ˆœ์œผ๋กœ ํ•ซํ•œ ํƒœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
- ๊ฒŒ์‹œ๋ฌผ(ํฌํŠธํด๋ฆฌ์˜ค, ํ”„๋กœ์ ํŠธ) ์กฐํšŒ ์‹œ [tag] ํ…Œ์ด๋ธ”์˜ ์Šค์ฝ”์–ด๊ฐ€ ์˜ฌ๋ผ๊ฐ„๋‹ค.
- created_date๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋‹ฌ์ด ์ง€๋‚˜๋ฉด ํ•ด๋‹น ๊ธ€์˜ ํƒœ๊ทธ ๋ˆ„์  ์Šค์ฝ”์–ด(==๊ฒŒ์‹œ๋ฌผ์˜ viewcnt ๊ฐ’)์„ ๋บ€๋‹ค.
   1. ํƒœ๊ทธ์˜ ๋ณ€ํ™”๋ฅผ ํฌ์ฐฉํ•ด์„œ ์ž˜ ์ˆ˜์ •ํ•ด์ฃผ๋Š” ๊ฒŒ ์ด์Šˆ
   - ๊ฒŒ์‹œ๋ฌผ ์—…๋ฐ์ดํŠธ ์ค‘ ํƒœ๊ทธ๊ฐ€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋  ๋•Œ view_cnt ๋งŒํผ ํƒœ๊ทธ ์Šค์ฝ”์–ด์— ๋”ํ•จ
   - ๊ฒŒ์‹œ๋ฌผ ์—…๋ฐ์ดํŠธ ์ค‘ ํƒœ๊ทธ๊ฐ€ ์‚ญ์ œ๋  ๋•Œ view_cnt ๋งŒํผ ํƒœ๊ทธ ์Šค์ฝ”์–ด์—์„œ ๋บŒ
   - ๊ฒŒ์‹œ๋ฌผ ์‚ญ์ œ ์‹œ view cnt ๋งŒํผ ํƒœ๊ทธ ์Šค์ฝ”์–ด์—์„œ ๋บŒ
   2. ์ž์ •์— ํ•œ๋ฒˆ์”ฉ createdDate๊ฐ€ ํ˜„์žฌ - 30์ผ(์ž„์˜๋กœ ์ •ํ•œ ๊ธฐ๊ฐ„)๋ณด๋‹ค ์ง€๋‚œ ๋‚ ์ด๋ฉด ํƒœ๊ทธ์˜ ์Šค์ฝ”์–ด๋ฅผ ๋ฆฌํ”„๋ ˆ์‰ฌํ•˜๊ธฐ (๊ตฌํ˜„ ๋ฐฉ๋ฒ• ๋ชจ๋ฆ„)

 

์Šฌ๊ธฐ ๋‹˜์˜ ๋ฆฌ๋ทฐ์ด๋‹ค.

์ผ๋‹จ 2๋ฒˆ์˜ ๊ฒฝ์šฐ ์Šค์ผ€์ค„๋ง ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์…จ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฒŒ์‹œ๋ฌผ์ด ๋งŽ์€๋ฐ ๊ทธ ์‹œ๊ฐ์„ ๊ธฐ์–ตํ•ด์„œ ์ผ์ • ์‹œ๊ฐ์ด ์ง€๋‚˜๋ฉด ์Šค์ฝ”์–ด์—์„œ ๋นผ๋Š” ๊ฑธ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ• ์ง€ ๊ณ ๋ฏผ์ด๋ผ๊ณ  ํ•˜์…จ๋‹ค.

 

๋‚˜๋„ ์ „์ ์œผ๋กœ ๋™์˜ํ–ˆ๋‹ค.


#2 ์Šฌ๊ธฐ๋‹˜

์ดํ›„ ์Šฌ๊ธฐ๋‹˜์ด ์ œ์•ˆํ•˜์‹  ๋‚ด์šฉ์ด๋‹ค.

 

- GET /tags : ํƒœ๊ทธ ์Šค์ฝ”์–ด ์ˆœ์œผ๋กœ ํ•ซํ•œ ํƒœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

- ์Šค์ผ€์ค„๋ง์œผ๋กœ ์ง€๊ธˆ ๊ฒŒ์‹œ๋ฌผ์„ ์ญ‰ ์กฐํšŒํ•ด์„œ ๊ฐ๊ฐ์˜ ๊ฒŒ์‹œ๋ฌผ์˜ ํƒœ๊ทธ ์Šค์ฝ”์–ด์— ๊ฐ๊ฐ ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ์ˆ˜์™€ ๋Œ“๊ธ€์„ ๋ฐ˜์˜์„ ๋ฐ˜์˜ํ•œ๋‹ค.

- ๋ฐ์ดํ„ฐ๋Š” ๊ฒŒ์‹œ๋ฌผ๋งˆ๋‹ค ํŠน์ • ์‹œ๊ฐ์— ์กฐํšŒ์ˆ˜, ๋Œ“๊ธ€์ˆ˜๋ฅผ ๊ฐ™์ด ์ €์žฅํ•œ๋‹ค.

      ex) 2/7์ผ 2์‹œ์— 1๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์˜ ์กฐํšŒ ์ˆ˜๋Š” 3์ด๊ณ , ๋Œ“๊ธ€ ์ˆ˜๋Š” 4์˜€์Œ์„ ์บก์ณํ•˜๋“ฏ์ด ์ €์žฅ
- ์ž„์˜์˜ ์ฃผ๊ธฐ๋ฅผ ๋‘์–ด ์กฐํšŒ์ˆ˜, ๋Œ“๊ธ€ ์ˆ˜ ์ฐจ์ด์— ๋Œ€ํ•œ ๊ฐ’์œผ๋กœ ํƒœ๊ทธ ์Šค์ฝ”์–ด ๊ฐ’์„ ๋ณ€ํ˜•ํ•œ๋‹ค.
      ex) ์ฃผ๊ธฐ๊ฐ€ 1์ผ์ธ ๊ฒฝ์šฐ, 2/8 ์กฐํšŒ์ˆ˜๊ฐ€ 2์ด๋ฉด 2/7์ผ์˜ ์กฐํšŒ์ˆ˜์™€ -1 ์ฐจ์ด๊ฐ€ ๋‚˜๋ฏ€๋กœ ์ด ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋”ํ•จ

             2/8์— ๊ฒŒ์‹œ๋ฌผ์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค๋ฉด -3(์กฐํšŒ์ˆ˜), -4(๋Œ“๊ธ€์ˆ˜) ๊ฐ๊ฐ์˜ ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ๋บŒ.

 

๋ฆฌ๋ทฐ: ๋‚˜๋Š” ๊ณ„์‚ฐ ์‹์„ ์ ์ ˆํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด๋‚ด๋Š”๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋Š๊ปด์กŒ๋‹ค. ๋” ๊นŠ์€ ๊ณ ๋ฏผ์— ๋น ์กŒ๋‹ค.


#3 ๋‚˜

๋‚˜๋Š” ๋˜ ๋‹ค์‹œ ์•„๋ž˜์™€ ๊ฐ™์€ ์•„์ด๋””์–ด๋ฅผ ๋‹ค์‹œ ์ œ์•ˆํ–ˆ๋‹ค.

๋จผ์ € [tag_history] ํ…Œ์ด๋ธ”์„ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

- ๊ฒŒ์‹œ๋ฌผ์„ 1๋ฒˆ ์กฐํšŒํ•˜๋ฉด 1๋ฒˆ์— ๋Œ€ํ•ด์„œ ํƒœ๊ทธ ํžˆ์Šคํ† ๋ฆฌ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๊ฐ€ ๋œ๋‹ค.

- ๊ฒŒ์‹œ๋ฌผ์ด ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ๋Œ“๊ธ€์ด ๋‹ฌ๋ฆด ๋•Œ์—๋„ ์Šค์ฝ”์–ด์— ๊ฐ€์ค‘์น˜๋ฅผ ๋‘์–ด ์ €์žฅํ•˜๋Š” ๊ฒƒ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

-

์ €์žฅ๋œ ์Šค์ฝ”์–ด๋ฅผ ์ค‘ ์›ํ•˜๋Š” ๋‚ ์งœ ์‚ฌ์ด์˜ ์ •๋ณด๋งŒ ๋ถˆ๋Ÿฌ์™€ ์Šค์ฝ”์–ด๋ฅผ ํ•ฉํ•ด ์ •๋ ฌํ•˜๊ณ  top 5 ์ •๋„์˜ ํƒœ๊ทธ๋ฅผ ์‘๋‹ตํ•ด์ค€๋‹ค.

์ด ์‚ฌ์ง„์€ ๊ทธ๋•Œ ๋‹น์‹œ์— ์ž‘์„ฑํ•ด๋ณด์•˜๋˜ sql ๋ฌธ์ด๋‹ค.

ํ”„๋กœ์ ํŠธ๋Š” JPA๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ์ง€๋งŒ ์•„์ง JPA๋ฅผ ์ž˜ ๋‹ค๋ฃจ์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋” ์ •ํ™•ํ•œ ์ „๋‹ฌ์„ ์œ„ํ•ด, ๋‚ด๊ฐ€ ์•„๋Š” ๋ฒ”์œ„ ๋‚ด์—์„œ ์œ„ํ•ด ์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•ด ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด๋ณด์•˜๋‹ค.

 

๋ฆฌ๋ทฐ: ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์ด์ง€๋งŒ db์— ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๊ณ  ๋˜ ๋‹ค์‹œ ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์›Œ์ง„๋‹ค. ๋˜ํ•œ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋Š” ๊ฒƒ๋„ ๊ฑฑ์ •๋˜์„œ ๋ณด์™„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค๊ณ  ํ•˜์…จ๋‹ค.

 

์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ๋Š” ์ „ํ˜€ ์ƒ๊ฐํ•ด๋ณด์ง€ ์•Š์•„์„œ ํฅ๋ฏธ๋กœ์› ๋‹ค!


#4 ์Šฌ๊ธฐ๋‹˜

์Šฌ๊ธฐ๋‹˜์ด ๋‚ด ๋ฐฉ๋ฒ•์„ ์ ์ ˆํžˆ ์„ž์–ด์„œ ๋‹ค์‹œ ์ œ์•ˆํ•ด์ฃผ์…จ๋‹ค.

- tags์— current_score์„ ๋‚จ๊ฒจ๋‘๊ณ  ์ด๋ฒคํŠธ(๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ, ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ฑ, ๋Œ“๊ธ€ ์ƒ์„ฑ, ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ ๋“ฑ)๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค current_score์— ์ด๋ฒคํŠธ๋งˆ๋‹ค์˜ ์ ์ ˆํ•œ ๊ฐ€์ค‘์น˜๋กœ ์Šค์ฝ”์–ด ๊ฐ’์„ ๋”ํ•œ๋‹ค.

- ์ฃผ๊ธฐ์ ์œผ๋กœ(15๋ถ„ ์ •๋„์˜ ํ…€) tag_history์˜ score์— ๊ฐ’์„ ์˜ฎ๊ธด ํ›„  tags์˜ current_score๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.

- tag_history์˜ ๋ฐ์ดํ„ฐ๋กœ ํ•ซํ•œ ํƒœ๊ทธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋œ๋‹ค.
- tag_history์˜ ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ (1์ผ ์ด์ƒ์˜ ํ…€) ์‚ญ์ œํ•œ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ ๋…ผ์˜ ํ›„ ์–ด๋Š ์ •๋„์˜ ๊ฐœ๋ฐœ ํ๋ฆ„์„ ์žก๊ฒŒ ๋˜์—ˆ๋‹ค.

๋” ๊ตฌ์ฒด์ ์ธ ์‚ฌํ•ญ์€ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋ฐ”๊ฟจ๋‹ค.


โœจ  ๊ตฌํ˜„

2์›” 3์ฃผ์ฐจ (02.15~02.21)์— ๊ตฌํ˜„ํ–ˆ๋‹ค.

์Šฌ๊ธฐ๋‹˜์˜ #PR 52, 54, 55

1. ์ฃผ๊ธฐ์ ์œผ๋กœ [tag] ํ…Œ์ด๋ธ”์˜ current_score ๊ฐ’์„ [tag_history] ํ…Œ์ด๋ธ”์˜ score๋กœ ์˜ฎ๊ธฐ๊ณ  current_score์€ 0์œผ๋กœ ๋ฆฌ์…‹ํ–ˆ๋‹ค. ํ˜„์žฌ ์ •ํ•œ ์ฃผ๊ธฐ๋Š” 3์‹œ๊ฐ„ ๋งˆ๋‹ค ์ด๋‹ค.

@Scheduled(cron = "0 0 0/3 * * ?")

2. ์ฃผ๊ธฐ์ ์œผ๋กœ [tag_history] ํ…Œ์ด๋ธ”์˜ created_date ๊ฐ’์„ ์ฐธ์กฐํ•˜์—ฌ ํ˜„์žฌ timestamp๋ณด๋‹ค ์ผ์ •์‹œ๊ฐ„ ์ด์ „์˜ ์ •๋ณด๋Š” ์‚ญ์ œํ–ˆ๋‹ค. ๋งค์ผ ์ƒˆ๋ฒฝ 6์‹œ๋งˆ๋‹ค ๋ฆฌ์…‹๋˜๋„๋ก ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

@Scheduled(cron = "0 0 6 * * ?")
public void removeOldHistory() {

}

3. GET /tagsํ•  ๋•Œ๋งˆ๋‹ค tag_history๋ฅผ tag_id๋กœ ๋ฌถ์–ด์„œ score sum์„ ๊ฐ€์ ธ์˜จ ํ›„์— ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋ณด์—ฌ์คฌ๋‹ค.

์ด ๋ถ€๋ถ„์˜ ์ฝ”๋“œ๋Š” ์ข€ ๋” ๊ณต๋ถ€ํ•ด๋ด์•ผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ์ฝ”๋“œ๋Š” ๊ณต๋ž€์œผ๋กœ ๋‘๊ฒ ๋‹ค

๋‚˜์˜ #PR 53

1. ๊ฒŒ์‹œ๋ฌผ 1๋ฒˆ์กฐํšŒ ์‹œ ํƒœ๊ทธ์˜ ์Šค์ฝ”์–ด +1

๊ฒŒ์‹œ๋ฌผ์„ ์กฐํšŒํ•˜๋ฉด ํƒœ๊ทธ์˜ ์ ์ˆ˜๋ฅผ 1์  ์˜ฌ๋ฆฐ๋‹ค.

    ex) spring๊ณผ summer๋ฅผ ํƒœ๊ทธ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒŒ์‹œ๋ฌผ์„ 1๋ฒˆ ์กฐํšŒํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด +1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

2-1. ๊ฒŒ์‹œ๋ฌผ ์ˆ˜์ •ํ•  ๋•Œ tag ์‚ญ์ œ ๋กœ์ง
๊ฒŒ์‹œ๋ฌผ์„ ์ˆ˜์ •ํ•  ๋•Œ u ํƒœ๊ทธ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒฝ์šฐ,
๋‹ค๋ฅธ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋„ u ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด [tag] ํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œํ–ˆ๋‹ค.

 

2-2. ๊ฒŒ์‹œ๋ฌผ ์‚ญ์ œํ•  ๋•Œ tag ์‚ญ์ œ ๋กœ์ง

u,v ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” A ๊ฒŒ์‹œ๋ฌผ์„ ์‚ญ์ œํ•  ๋•Œ u ํƒœ๊ทธ๋Š” B ๊ฒŒ์‹œ๋ฌผ์—์„œ ์“ฐ๊ณ  ์žˆ์ง€๋งŒ v ํƒœ๊ทธ๋Š” ๊ทธ ์–ด๋–ค ๊ฒŒ์‹œ๋ฌผ์—์„œ๋„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์„ ๋•Œ [tag] ํ…Œ์ด๋ธ”์—์„œ ์™„์ „ํžˆ ์‚ญ์ œํ•˜๋Š” ๋กœ์ง๋„ ์œ„์™€ ๋™์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋‹ค.

 

3. ํƒœ๊ทธ ์ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ์ด๋ฒคํŠธ๊ฐ€ ๋‹ค์–‘ํ•ด์ง์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ

ํƒœ๊ทธ ์ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋Š˜๋ ธ๊ณ , ๊ฐ๊ฐ ์ ์ ˆํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ๋”ํ–ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ [tag] ํ…Œ์ด๋ธ”์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํƒœ๊ทธ์ด๋ฉด ๋ˆ„์ ํ•ด์„œ ๋”ํ–ˆ๊ณ 

์•„์ง ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํƒœ๊ทธ์ด๋ฉด ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ๊ฐ’์„ ๋”ํ•˜๋Š” ๋กœ์ง์€ ๊ฐ€์ ธ๊ฐ„๋‹ค.

  • ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ ์‹œ ํƒœ๊ทธ ์Šค์ฝ”์–ด +1 (์•ž์„œ 1๋ฒˆ์—์„œ ๊ตฌํ˜„๋˜์—ˆ์Œ)

  • ๊ฒŒ์‹œ๋ฌผ ์ƒ์„ฑ ์‹œ ํƒœ๊ทธ ์Šค์ฝ”์–ด +5

  • ๊ฒŒ์‹œ๋ฌผ ์ˆ˜์ • ์‹œ ์ƒˆ๋กœ์šด ํƒœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด +5

  • ๋Œ“๊ธ€ ์ƒ์„ฑ ์‹œ ํƒœ๊ทธ ์Šค์ฝ”์–ด +2

์•„์ง ๊ตฌํ˜„ํ•˜์ง„ ์•Š์•˜์ง€๋งŒ, ๊ฒ€์ƒ‰ ์ด๋ฒคํŠธ์— ๋Œ€ํ•ด์„œ๋„ ํƒœ๊ทธ ์Šค์ฝ”์–ด๊ฐ€ ์˜ฌ๋ผ๊ฐ”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค