๐Ÿ›ต

๊ธฐํš์„œ ์ดˆ์•ˆ

1. ๋Œ€์‹  ํ•ด์ฃผ๊ธฐ ์„œ๋น„์Šค

1. ํƒํ•œ ์ด์œ 

  • ์ค‘๊ณ ๋‚˜๋ผ, ๋ฒˆ๊ฐœ์žฅํ„ฐ, ๋‹น๊ทผ ๋งˆ์ผ“์—์„œ๋„ ๋น„์Šทํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต์„ ํ•˜๋ ค๊ณ  ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋„ˆ๋ฌด ๋‚œ์žกํ–ˆ๋‹ค. ํŠน๋ณ„ํ™” ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋‹ค๋ฉด ์œ ์ €๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ์— ํŽธํ•  ๊ฒƒ ๊ฐ™์•˜๋‹ค.
  • ๊ฐ‘์ž‘์Šค๋Ÿฐ ์ƒํ™ฉ์—์„œ ์ž์‹ ์„ ๋Œ€์‹ ํ•ด์„œ ํ•ด์ค„ ์‚ฌ๋žŒ์„ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
  • ํŠน์ •ํ™”๋œ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ ๋” ์ฐจ๋ณ„ํ™” ๋œ ์„œ๋น„์Šค๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค.
  • ์‹ค์ œ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”๋กœ ํ•  ์„œ๋น„์Šค ์ผ ๊ฒƒ ๊ฐ™๋‹ค. ๊ธฐ์กด์˜ ๋น„์Šทํ•œ ์„œ๋น„์Šค ๋ณด๋‹ค ์ข€ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•œ๋‹ค๋ฉด ์ข‹์€ ์„œ๋น„์Šค๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ฐœ๋ฐœ ์™ธ์ ์ธ ๋ถ€๋‹ด์ด ์ ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.
  • ์ž‰์—ฌ์‹œ๊ฐ„์— ์†Œ์†Œํ•˜๊ฒŒ ๋ˆ ๋ฒŒ ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.
  • ๊ธฐ์ˆ ์ ์œผ๋กœ ๋งŽ์€ ๊ฒƒ์„ ์‹œ๋„ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.

2. ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ์ฐจ๋ณ„์ 

[ํ•ด์ฃผ์„ธ์š”]

  • ๊ฐ€๊ฒฉ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ˆ˜์น˜ํ™” ํ•ด์ค€๋‹ค.
    • ํ—ฌํ”ผ๊ฐ€ ๋” ๊ฐ€์„ฑ๋น„ ์ข‹์€ ์„œ๋น„์Šค๋ฅผ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.
  • ๋งค์นญ ์ „์—๋„ ์ฑ„ํŒ…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ํ—ฌํผ๊ฐ€ ์ž์‹ ์˜ ๋Šฅ๋ ฅ์„ ๋”์šฑ ์–ดํ•„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ.
  • ์ง€์—ญ ๋ณ„ ๋ถ„์•ผ ๋ฒ ์ŠคํŠธ TOP 3
    • ํ†ต๊ณ„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ—ฌํผ๋“ค์˜ ์ „๋ฌธ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ์„ฑ์ทจ๊ฐ ๋“ฑ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์—…์ (๋ฉ”๋‹ฌ) ์„œ๋น„์Šค ์ œ๊ณต
    • ๋‹จ์ˆœํ•œ ๊ฒŒ์ž„์ ์ธ ์—…์  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์šฉ ๊ฐ„ ์žฌ๋ฏธ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • ํ—ฌํ”ผ, ํ—ฌํผ ๊ฐ„ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ๋งค๋„ˆ์ง€์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
    • ํ—ฌํผ์—๊ฒŒ๋งŒ ๋งค๋„ˆ์ง€์ˆ˜๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ, ํ—ฌํ”ผ๋„ ๋งค๋„ˆ์ง€์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

3. ๊ตฌํ˜„ ํ•ด์•ผ ํ•  ๊ธฐ์ˆ  ์ •๋ฆฌ

๋ฐฑ์—”๋“œ

  • R-Index๋ฅผ ํ™œ์šฉํ•œ ๋น ๋ฅธ ์ง€์—ญ ํƒ์ƒ‰
  • ์™ธ๋ถ€ ๊ฒฐ์ œ ๊ธฐ๋Šฅ ํ† ์Šค API (์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜)
  • ๋น„๊ด€์  ๋ฝ, ๋‚™๊ด€์  ๋ฝ์„ ํ†ตํ•œ ๋™์‹œ ๋“ฑ๋ก ๋ฝ ์ฒ˜๋ฆฌ
  • Redis๋ฅผ ์ด์šฉํ•œ ์œ ์ € JWT ํ† ํฐ ๋ถ„์‚ฐ ๊ด€๋ฆฌ
  • ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์ด์šฉํ•œ ์œ ์ € ์ธ์ฆ ์ ˆ์ฐจ ๊ทธ ์™ธ ๋” ์žˆ์„ ์ˆ˜๋„ ์žˆ์Œ.
  • OAUTH2 ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ
  • ์ฑ„ํŒ… ๊ธฐ๋Šฅ
  • NoSQL MongoDB๋ฅผ ์ด์šฉํ•œ ํ†ต๊ณ„ ๊ด€๋ฆฌ

ํ”„๋ก ํŠธ์—”๋“œ

  • ํ—ฌํผ์™€ ์ „๋ฌธ๊ฐ€ ๊ฐ„์˜ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… (์›น์†Œ์ผ“ ๊ธฐ๋ฐ˜)
    • ์•Œ๋ฆผ ๊ธฐ๋Šฅ
  • ๊ฐ€๊ฒŒ ์œ„์น˜ ์ •๋ณด์™€ ์ „๋ฌธ๊ฐ€์˜ ์œ„์น˜ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ˜๊ฒฝ์„ ๊ธฐ๋กํ•˜๊ณ  ๋ฐ˜์˜ โ†’ ์ง€๋„ ์„œ๋น„์Šค
  • ๋ฆฌ๋ทฐ๋‚˜ ์ˆ˜ํ–‰ ๊ธฐ๋ก ์ •๋ณด ์ €์žฅ ๋ฐ ๋ณ„์  ์„œ๋น„์Šค
  • ๋ฆฌ๋ทฐ์™€ ๋ณ„์  ๊ธฐ๋ฐ˜์œผ๋กœ ๋“ฑ๊ธ‰ํ™”
  • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ(์œ ์ €๋‚˜ ๊ฐ€๊ฒŒ ์ •๋ณด ๋“ฑ)
  • ์†Œ์…œ ๋กœ๊ทธ์ธ(๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„, ์นด์นด์˜ค - ์ถ”ํ›„ ์„ ํƒ)
  • ์ด์šฉ์ž ๋ณ„ ์ผ๊ฐ ์—ฐ๊ฒฐ
  • ํ—ฌํผ์™€ ์ „๋ฌธ๊ฐ€ ๊ฐ„์˜ ๋งค์นญ
  • ํ—ฌํผ์˜ ๊ฐ€๊ฒŒ ์ •๋ณด ๋“ฑ๋ก
  • ์ „๋ฌธ๊ฐ€์˜ ์ธ์  ์‚ฌํ•ญ ๋“ฑ๋ก โ†’ ์ž์‹ ์˜ ํ”„๋กœํ•„ ๋งŒ๋“ค๊ธฐ
  • ๊ฒฐ์ œ ๋ฐ ์˜์ˆ˜์ฆ ํŽ˜์ด์ง€

4. ์ œํ•œ์ 

๋ฐฑ์—”๋“œ

  • ๋งค์นญ๋๋‹ค๋Š” ์•Œ๋ฆผ์ด ์ค‘์š”ํ•  ๊ฒƒ ๊ฐ™์€๋ฐ, ๋ฉ”์ผ๋ฐ–์— ๋– ์˜ค๋ฅด์ง€ ์•Š๋Š”๋‹ค. (๋น„์šฉ๋•Œ๋ฌธ์—)
  • ๋ณด๊ฑด์ฆ ์ธ์ฆ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ์„๊นŒ? ex) ์‹ ๋ถ„์ฆ ๋“ฑ..(๋ณด์•ˆ ๋ฌธ์ œ)
  • ๋Œ€์‹  ํ•ด์ฃผ์„ธ์š”์— ๋Œ€ํ•œ ์ฃผ์ œ๋ฅผ ์–ด๋””๊นŒ์ง€ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์žก์•„์•ผ ํ• ์ง€. (๋‹น์ผ ์•Œ๋ฐ”๋„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋‚˜?)

ํ”„๋ก ํŠธ์—”๋“œ

  • ์ง€๋„๋ฅผ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ธ๊ฐ€..
  • ๊ฒฐ์ œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•ด ๋ณด์ž„
  • ๋งค์นญํ•  ์ˆ˜ ์žˆ์„๊นŒ?์— ๋Œ€ํ•œ ๊ณ ๋ฏผ
 
 

2. ์„ฑํ–ฅ ๋ณ„ ์Šต๊ด€ ํ˜•์„ฑ ๊ด€๋ฆฌ ์„œ๋น„์Šค

1. ํƒํ•œ ์ด์œ 

  • ์ข‹์€ ์ทจ์ง€์˜ ์„œ๋น„์Šค๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๊ณ  UI ์ ์œผ๋กœ๋„ ๋ณด๊ธฐ ์ข‹์€ ์„œ๋น„์Šค๊ฐ€ ๋  ๊ฒƒ ๊ฐ™๋‹ค.
  • ์‚ฌ์šฉ์ž์˜ ์„ฑํ–ฅ ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ๋™๊ธฐ๋ถ€์—ฌํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ์–ด์„œ ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์œ ํŠœ๋ธŒ์—์„œ ๋™๊ธฐ๋ถ€์—ฌ ๊ด€๋ จํ•œ ์˜์ƒ์ด ์กฐํšŒ์ˆ˜๊ฐ€ ์ž˜ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณด๋ฉด ์‚ฌ๋žŒ๋“ค์€ ํ•ญ์ƒ ์˜ค๋Š˜๋ณด๋‹ค ๋” ๋‚˜์€ ๋‚ด์ผ์„ ์‚ด๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด๋ฅผ ๋„์™€์ฃผ๊ธฐ ์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค.
  • ๋‚ด ์„ฑํ–ฅ์— ๋งž๋Š” ์Šต๊ด€ ํ˜•์„ฑ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋™๊ธฐ ๋ถ€์—ฌ์™€ ์ž์‹ ์˜ ์„ฑํ–ฅ์— ๋งž๋Š” ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์˜ ์ •๋ณด๋ฅผ ํ•œ ๋ˆˆ์— ๋ณด๊ณ  ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Šต๊ด€์„ ํ˜•์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ์œ ์ € ์—†์ด ๊ฐœ์ธ์ ์œผ๋กœ ๋ฃจํ‹ด ๊ด€๋ฆฌ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Šต๊ด€ ์„ค์ •์— ๊ฐ€์ด๋“œ๋ฅผ ์ œ์‹œํ•˜์—ฌ ์ง„์ž…์žฅ๋ฒฝ์„ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.
  • ์Šต๊ด€์„ ๋งŒ๋“ค ๋•Œ ํ˜ผ์ž์„œ ํ•˜๊ธฐ ๋ณด๋‹ค ๊ฐ™์ด ํ•  ๋•Œ ๋” ์ž๊ทน์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

2. ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ์ฐจ๋ณ„์ 

  • ๊ธฐ์กด์˜ ์„œ๋น„์Šค์™€ ๋‹ฌ๋ฆฌ ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๋ฐ ์ฐธ์—ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ๋” ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋” ์žฌ๋ฐŒ์„ ๊ฒƒ์ด๋‹ค.
  • ๋ชฉํ‘œ ๋‹ฌ์„ฑ ์‹œ ์บ˜๋ฆฐ๋” ๋ทฐ UI๋ฅผ ํ†ตํ•ด ํ˜„ํ™ฉ์„ ํ•œ ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์Šคํ„ฐ๋”” ๊ทธ๋ฃน ๊ฐ„์˜ ๊ฒฝ์Ÿ ์‹œ์Šคํ…œ
  • easy ๋ชจ๋“œ(๊ฒฉ๋ ค)์™€ hard ๋ชจ๋“œ(์ŠคํŒŒ๋ฅดํƒ€)๋กœ ๋‚˜๋ˆˆ๋‹ค.

3. ๊ตฌํ˜„ ํ•ด์•ผ ํ•  ๊ธฐ์ˆ  ์ •๋ฆฌ

ํ”„๋ก ํŠธ์—”๋“œ

  • ์•Œ๋ฆผ ๊ธฐ๋Šฅ(์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉด web push API)
  • ์บ˜๋ฆฐ๋” ๋ทฐ(๋‹ฌ์„ฑ ์‹œ UI๊ฐ€ ๋‹ฌ๋ผ์ง (๋‹ฌ์„ฑ ๋„์žฅ, github ์ž”๋”” ๊ฐ™์€)
  • ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๋“ฑ๋ก
  • ์Šคํ„ฐ๋”” ์กฐ์ธ
  • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ(์Šคํ„ฐ๋””, ์œ ์ € ๊ฒ€์ƒ‰)
  • ์†Œ์…œ ๋กœ๊ทธ์ธ(์ถ”ํ›„ ์„ ํƒ)
  • ์œ ์ €์˜ ์„ฑํ–ฅ ์„ ํƒ ์˜ต์…˜
  • ์Šคํ„ฐ๋”” ์ˆœ์œ„ ํ•„ํ„ฐ๋ง ๋ฐ ์œ ์ €(์‚ฌ์ดํŠธ ์ด์šฉ ์ •๋„) ํ•„ํ„ฐ๋ง
  • ์„ฑํ–ฅ ๋งž์ถค ์Šต๊ด€ ๊ฐ€์ด๋“œ ์„œ๋น„์Šค
  • ํ˜„์žฌ ์ ‘์†์ž ๋ชฉ๋ก
  • ๋Œ“๊ธ€
  • ์‚ฌ์ง„ ์—…๋กœ๋“œ โ†’ ํ•  ์ผ ์™„๋ฃŒ ์ธ์ฆ(์„ ํƒ)
  • ํ•˜๋“œ, ์†Œํ”„ํŠธ ์„ ํƒ
  • ๋‹ฌ์„ฑ ์ ์ˆ˜
  • ์Šคํ„ฐ๋”” ์กฐ์ธ ์‹œ ์Šคํ„ฐ๋””์›๋“ค ๋ฐ ๊ฐœ์ธ ์ผ์ •๊ณผ์˜ ์—ฐ๋™
  • ํฌ์ธํŠธ ์‹œ์Šคํ…œ

๋ฐฑ์—”๋“œ

  • ์ด๋ฏธ์ง€ ์šฉ๋Ÿ‰ ์ตœ์ ํ™” ๋ฐ S3๋กœ ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ
  • ๋น„๊ด€์  ๋ฝ, ๋‚™๊ด€์  ๋ฝ์„ ํ†ตํ•œ ๋™์‹œ ๋“ฑ๋ก ๋ฝ ์ฒ˜๋ฆฌ
  • Redis๋ฅผ ์ด์šฉํ•œ ์œ ์ € JWT ํ† ํฐ ๋ถ„์‚ฐ ๊ด€๋ฆฌ, ์Šคํ„ฐ๋”” ์ˆœ์œ„ ์บ์‹ฑ
  • ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์ด์šฉํ•œ ์œ ์ € ์ธ์ฆ ์ ˆ์ฐจ ๋ฐ ์•Œ๋ฆผ
  • ์Šคํ”„๋ง ๋ฐฐ์น˜๋ฅผ ์ด์šฉํ•œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ „์†ก ์ฟผ๋ฆฌ ์ตœ์ ํ™”
  • ์Šค์ผ€์ฅด๋ง์„ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์‹œ๊ฐ„์— ์•Œ๋ฆผ ์ „์†ก
  • ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ
  • NoSQL MongoDB๋ฅผ ์ด์šฉํ•œ ํ†ต๊ณ„ ๊ด€๋ฆฌ

4. ์ œํ•œ์ 

ํ”„๋ก ํŠธ์—”๋“œ

  • ์•Œ๋ฆผ ๊ธฐ๋Šฅ(web push)์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ• ์ง€
  • ์Šคํ„ฐ๋”” ์กฐ์ธ ์‹œ ๊ฐœ์ธ ์ผ์ •๊ณผ ์–ด๋–ป๊ฒŒ ์—ฐ๋™๋  ๊ฒƒ์ธ์ง€

๋ฐฑ์—”๋“œ

  • ์•Œ๋ฆผ์ด ๋ฉ”์ผ ๋ฐ ์Šฌ๋ž™์œผ๋กœ ์ œํ•œ ๋จ (๋น„์šฉ ๋ฌธ์ œ)
 

3. ์ปคํ”Œ ์„ฑํ–ฅ ๋ณ„ ๋ฐ์ดํŠธ ์ฝ”์Šค

1. ํƒํ•œ ์ด์œ 

  • ์„ฑํ–ฅ ๋ณ„๋กœ ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํŠธ ์ฝ”์Šค๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ๊ฒ€์ƒ‰ํ•˜๊ธฐ๊ฐ€ ๊นŒ๋‹ค๋กœ์šด๋ฐ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ํŽธํ•˜๊ฒŒ ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค ๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋“ค์˜ ๋ฐ์ดํŠธ ์ •๋ณด๋ฅผ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ํ•„ํ„ฐ๋ง ๋œ ๋ชฉ๋ก์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์‹ค์ œ๋กœ ํ‰์†Œ์— ๋ชจ๋‘๊ฐ€ ํ•œ๋ฒˆ์ฏค ๋А๊ปด๋ณธ ๋ถˆํŽธํ•จ์„ ํ•ด์†Œ ์‹œ์ผœ ์ค„ ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค.
  • ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ์ด์ง€ ์•Š๋”๋ผ๋„ ๊ฐœ์ธ์ ์œผ๋กœ ์นœ๊ตฌ ํ˜น์€ ์• ์ธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค.
  • ์ปคํ”Œ์˜ ์„ฑํ–ฅ์„ ๊ณ ๋ คํ•œ ๋ฐ์ดํŠธ ์ฝ”์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹จ์ผ ๋ฐ์ดํŠธ ์žฅ์†Œ ์ •๋ณด๊ฐ€ ์•„๋‹Œ ์—ฐ๊ณ„๋œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
 

2. ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ์ฐจ๋ณ„์ 

  • ๋” ์ข‹์€ ์ฝ”์Šค๋ฅผ ์ž๋ž‘ ํ˜น์€ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ž์˜ ์ฐธ์—ฌ ์œ ๋„๊ฐ€ ์šฉ์ดํ•  ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ง€๋‚œ ๋ฐ์ดํŠธ ์ฝ”์Šค๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ปคํ”Œ ๊ฐ„์˜ ์ถ”์–ต์„ ๊ธฐ๋กํ•˜๋ฉฐ ์•Œ๋ฆผ์„ ์ฃผ์–ด ์ƒ๊ธฐ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ์ƒ๋Œ€๋ฐฉ์˜ ์„ฑํ–ฅ์„ ์•Œ ์ˆ˜ ์žˆ๊ณ  ์ƒ๋Œ€๋ฅผ ๋” ์ž˜ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„๊ธฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

3. ๊ตฌํ˜„ ํ•ด์•ผ ํ•  ๊ธฐ์ˆ  ์ •๋ฆฌ

ํ”„๋ก ํŠธ์—”๋“œ

  • ์ฝ”์Šค ์‹œ๊ฐํ™”
  • ์ฝ”์Šค ๊ธฐ๋ก ๋ˆ„์ 
  • ์ฑ„ํŒ…
    • ์•Œ๋ฆผ
  • ๋ฐ์ดํŠธ ์ฝ”์Šค ์ถ”์ฒœ
    • ํ•„ํ„ฐ๋ง
  • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฝ”์Šค ์ฐœ
  • ์†Œ์…œ ๋กœ๊ทธ์ธ(์ถ”ํ›„ ์„ ํƒ)
  • ์ปคํ”Œ ๋ณ„ ์„ฑํ–ฅ ์„ ํƒ ์˜ต์…˜
  • ๋””๋ฐ์ด ๊ธฐ๋ก(๋‚ ์งœ ์ •๋ณด ๋ฐ›์•„์˜ค๊ธฐ)
  • ๋ฆฌ์…‹
  • ๋ฆฌ๋ทฐ ๋ฐ ๋ณ„์  ์„œ๋น„์Šค
    • ์ˆœ์œ„ํ™” ๋†’์„์ˆ˜๋ก ๋จผ์ € ๋ณด์ด๊ธฐ
  • ์ •ํ•ด์ง„ ๊ธฐ๋…์ผ์— UI ๋‹ฌ๋ผ์ง€๊ธฐ(์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค ์•Œ๋ฆผ)
  • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ
  • ์ž์œ  ๊ฒŒ์‹œํŒ
  • ์ž์‹ ์˜ ์œ„์น˜ ๊ธฐ๋ก(์œ„์น˜ ๊ธฐ์ค€์œผ๋กœ ํ•„ํ„ฐ๋ง)

๋ฐฑ์—”๋“œ

  • R-Index๋ฅผ ํ™œ์šฉํ•œ ๋น ๋ฅธ ์ง€์—ญ ํƒ์ƒ‰ (๋‚ด ์œ„์น˜ ์ฃผ๋ณ€ ๋ฐ์ดํŠธ ์ฝ”์Šค ๊ฒ€์ƒ‰)
  • ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง
  • ๋น„๊ด€์  ๋ฝ, ๋‚™๊ด€์  ๋ฝ์„ ํ†ตํ•œ ๋™์‹œ ๋“ฑ๋ก ๋ฝ ์ฒ˜๋ฆฌ
  • Redis๋ฅผ ์ด์šฉํ•œ ์œ ์ € JWT ํ† ํฐ ๋ถ„์‚ฐ ๊ด€๋ฆฌ, ์„ฑํ–ฅ ๋ณ„ ๋žญํ‚น ์บ์‹ฑ
  • ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์ด์šฉํ•œ ์œ ์ € ์ธ์ฆ ์ ˆ์ฐจ ๋ฐ ์•Œ๋ฆผ
  • ์Šค์ผ€์ค„๋ง ๋ฐ ๋ฐฐ์น˜ ์ด์ „ ๋ฐ์ดํŠธ ์ฝ”์Šค ์ถ”์–ต ๋ณด์—ฌ์ฃผ๊ธฐ
  • OAUTH2 ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ
  • ์ฑ„ํŒ… ๊ธฐ๋Šฅ
  • NoSQL MongoDB๋ฅผ ์ด์šฉํ•œ ํ†ต๊ณ„ ๊ด€๋ฆฌ

4. ์ œํ•œ์ 

๋ฐฑ์—”๋“œ

  • ์ „๊ตญ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•˜๊ธฐ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค. ๋”ฐ๋ผ์„œ, ์ฒ˜์Œ์—๋Š” ์„œ์šธ๋กœ ์ œํ•œํ•œ๋‹ค.
  • ํ—ค์–ด์กŒ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๋ฅผ ํ•ด์•ผ ๋  ๊ฒƒ์ธ๊ฐ€.
    • ๋‹ค๋…€๊ฐ„ ๋ฐ์ดํŠธ์ฝ”์Šค์— ํ•€ ๋ฐ•์œผ๋ฉด ์ธ๋ฑ์Šค์— ์ž‰์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ง.
  • ์„ฑํ–ฅ์— ๋Œ€ํ•œ ๊ธฐ์ค€์„ ์–ด๋–ป๊ฒŒ ์žก์„ ๊ฒƒ์ธ๊ฐ€.

ํ”„๋ก ํŠธ์—”๋“œ

  • ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์œ ์ €์—๊ฒŒ ๋ณด์—ฌ์ค„ ๊ฒƒ์ธ๊ฐ€
  • ์ฝ”์Šค ์‹œ๊ฐํ™”๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ์ง€
  • ๋ฐ์ดํŠธ ์ฝ”์Šค๋ฅผ ์‹œ๊ฐ„๋ณ„๋กœ ์ถ”์ฒœํ•ด ์ค˜์•ผ ํ• ํ…๋ฐ ์ถ”์ฒœ ์ฝ”์Šค๋งˆ๋‹ค ์ •๋ณด๊ฐ€ ํ•˜๋ฃจํ•˜๋ฃจ ๋„ˆ๋ฌด ๋‹ค๋ฅด๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฑธ์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š”๊ฑฐ๋ฆฌ, ์ฐจ ํƒ€๊ณ  ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ๋ฆฌ, open, close ์ •๋ณด๊ฐ€ ์ „๋ถ€ ๋‹ค๋ฆ„
    •