Skip to content

๐Ÿ—“๏ธ 1~3์ฃผ์ฐจ ๊ณ„ํš

Kontae edited this page Jan 20, 2025 · 7 revisions

1์ฃผ์ฐจ

  • ๋ฌธ์ œ ํŒŒ์•… (ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ..)
    • ํ˜„์žฌ ์„ฑ๋Šฅ ์ธก์ •
    • ์ธก์ •๋œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋ก ํŠธ + ์„œ๋ฒ„ ์„ฑ๋Šฅ ๊ฐœ์„  ์˜ˆ์ •
    • ์–ด๋–ค ๊ฑฐ ์ธก์ •ํ•  ๊ฒƒ์ธ๊ฐ€?
      • hls m3u8 ํŒŒ์‹ฑ ์‹œ๊ฐ„ ์ธก์ • (๋…ธ๋ž˜ ์‹œ๊ฐ„ ๊ธด ๊ฒƒ๋„ ์ธก์ •)
      • ์†Œ์ผ“์„ ์ด์šฉํ•œ ์ฑ„ํŒ… (๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ)
        • ์ฑ„ํŒ… ๋ฐ€๋ฆฌ๋Š” ์ •๋„
      • ํˆฌํ‘œ (๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ)
        • Redis์— ๋™์‹œ์— ๋“ค์–ด์™€๋„ ๋ฐ์ดํ„ฐ ์œ ์‹ค๋˜์ง€ ์•Š๊ณ  ์ž˜ ์ €์žฅ๋˜๋Š”๊ฐ€
      • ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋ฅผ ํ†ตํ•ด ๋ Œ๋”๋ง ๋ฐ ๋กœ๋“œ ์‹œ๊ฐ„ ํ™•์ธ
      • react developer tools๋ฅผ ํ†ตํ•ด ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ ํ™•์ธ
      • (ํ•™์Šต ํ•„์š”) bundle ๋‚˜๋ˆ„๊ธฐ
  • ํ•™์Šต ์ค‘์‹ฌ

2์ฃผ์ฐจ

  • Ai ๋ฉ˜ํ† ๋ง ์ž๋ฃŒ ์ค€๋น„
  • ํ•™์Šตํ•œ ๋‚ด์šฉ ๋ฐ”ํƒ• ๊ณต์œ 
    • ๊ณต์œ ๋œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋– ์˜ค๋ฅธ ๊ฐœ์„  ํฌ์ธํŠธ ๊ณต์œ 
  • 2000๋ช… ์‚ฌ์šฉ์ž๊ฐ€ ์ฑ„ํŒ…ํ•  ๋•Œ, ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ ์ง€์—ฐ 100ms ๋‚ฎ์ถ”๊ธฐ
    • ํ”„๋ก ํŠธ : ์ฑ„ํŒ… ๋ฉ”์„ธ์ง€ ๋ Œ๋”๋ง ์‹œ๊ฐ„ ์ธก์ • ๋ฐฉ๋ฒ• ํ™•์ธ, ๋ Œ๋”๋ง ์ง€์—ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • Redis pub-sub์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์—ฐ๊ฒฐ ๊ด€๋ฆฌ
  • DB์— ๋ชฉ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์œผ๋กœ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ ๋งŒ๋“ค์–ด์„œ ์ธก์ •
  • rollup-plugin-visualizer ํ•™์Šต ๋ฐ ์„ฑ๋Šฅ ์ธก์ •
  • CLS ๊ฐœ์„  (1.8์—์„œ 1.0 ์ดํ•˜)

์ฑ„๋ จ

  • ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํ•™์Šต
  • WebSocket ํ•™์Šต
  • Lighthouse๋‚˜ rollup-plugin-visualizer ๋ฅผ ์‚ฌ์šฉํ•ด ์ธก์ •ํ•ด๊ฐ€๋ฉฐ ํ”„๋กœ์ ํŠธ์— ๋งž๋Š” ๋ถ€๋ถ„ ์กฐ๊ธˆ์”ฉ ๊ฐœ์„ ํ•ด๋ณด๊ธฐ

์€ํƒœ

  • WebSocket, SocketIO ๊นŠ๊ฒŒ ํ•™์Šต
  • ๋ ˆ๋””์Šค Pub-Sub ๊ตฌ์กฐ ํ•™์Šต ๋ฐ ๋„์ž…(?)
  • Nest ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ์ข€ ๋” ์•Œ์•„๋ณด๊ธฐ

์„ฑ์ค€

  • ์ธ์Šคํ„ด์Šค ๋ถ„๋ฆฌ์— ๋”ฐ๋ฅธ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ตฌ์ƒ
  • ์†Œ์ผ“ ์„œ๋ฒ„์˜ ์„œ๋ฒ„ ์ข…์† ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ์ธํ”„๋ผ ๊ฐœ์„  ์‚ฌํ•ญ ์ฐพ์•„๋ณด๊ธฐ

์œค์„œ

  • OS ๊ธฐ๋ฐ˜ ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ํ•™์Šต ๋ฐ ์ ์šฉ

3์ฃผ์ฐจ

  • ๋งค์ผ (๊ฒฉ์ผ) ํ•™์Šตํ•˜๊ณ  ์ ์šฉํ•œ ๋‚ด์šฉ ๋ฐ ๋ฌธ์„œ ๊ณต์œ 
  • ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ ํ•™์Šต ๋ฐ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์„ธํŒ…๊นŒ์ง€
    • ๋ฐฐํฌ ์„œ๋ฒ„ ์ ๊ฒ€
  • AI ๋ฆฌํŒฉํ† ๋ง ๊ตฌ์กฐ ์„ค๊ณ„ โ‡’ ์ฑ„ํŒ… ํ•„ํ„ฐ๋ง์— ๋”ฐ๋ฅธ ์ €์žฅ์˜ ํ•„์š”์„ฑ ๋“ฑ
  • zustand ํ•™์Šต ๋ฐ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • ์•จ๋ฒ” ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ์ตœ์ ํ™”
  • rollup-plugin-visualizer ํ•™์Šต ๋ฐ ์„ฑ๋Šฅ ์ธก์ •
  • CLS ๊ฐœ์„  (1.8์—์„œ 1.0 ์ดํ•˜)
  • ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ์ž‘์„ฑ (v1.0.2)

์ฑ„๋ จ

  • ์ง€๋‚œ ์ฃผ์— ํ•˜์ง€ ๋ชปํ–ˆ๋˜ โ€œrollup-plugin-visualizer ํ•™์Šต ๋ฐ ์„ฑ๋Šฅ ์ธก์ •โ€ ๋ฐ โ€œCLS ๊ฐœ์„  (1.8์—์„œ 1.0 ์ดํ•˜)โ€
  • zustand ํ•™์Šต ๋ฐ ์ตœ์ ํ™”
  • ์•จ๋ฒ” ์ƒ์„ธ ํŽ˜์ด์ง€ ๋ Œ๋”๋ง ์ตœ์ ํ™”

์€ํƒœ

  • AI ๋ฆฌํŒฉํ† ๋ง ์ „ ์–ด๋–ค ์‹์œผ๋กœ ๊ตฌํ˜„์„ ํ•  ๊ฒƒ์ธ์ง€ ๊ตฌ์กฐ ์„ค๊ณ„
  • ๋ ˆ๋””์Šค ์ฟผ๋ฆฌ ์ตœ์ ํ™” (๋ ˆ๋””์Šค ์บ์‹ฑ ๊ณ ๋ ค)
  • ๋ชจ๋‹ˆํ„ฐ๋ง ํˆด ํ•™์Šต โ‡’ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๋ฒˆ ์ ๊ฒ€ํ•ด๋ณด๋ฉด ์ข‹์„ ๋“ฏ (Grafana, Prometheus, NCP monitoring ๋“ฑ)

์„ฑ์ค€

  • ์ฟผ๋ฆฌ ์ตœ์ ํ™” ํ•™์Šต
  • ์‚ฌ์šฉ์ค‘์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒ€ํ† 

์œค์„œ

  • ์‹ค์‹œ๊ฐ„ CPU ์‚ฌ์šฉ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ตฌ์ถ•
  • ์บ์‹œ ์ „๋žต์— ๊ด€ํ•œ ํ•™์Šต
  • ๋ธ”๋ฃจ-๊ทธ๋ฆฐ ์ „ํ™˜์‹œ ๋ฉ”์„ธ์ง€ ์œ ์‹ค ํ…Œ์ŠคํŠธ ๋ฐ ํ•ด๊ฒฐ์  ์ฐพ๊ธฐ