๐Ÿ’ป CSR vs SSR(feat. ๋งํ•˜๋ฉด์„œ ๋ฐฐ์›Œ์š”)

waterglassesยท2022๋…„ 5์›” 9์ผ
1

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
29/50
post-thumbnail

๋งํ•˜๋ฉด์„œ ๋ฐฐ์›Œ์š” ์Šคํ„ฐ๋””์—์„œ ๊ณต๋ถ€ํ•˜๋Š” ๋‚ด์šฉ์œผ๋กœ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์งˆ๋ฌธ๊ณผ ๋Œ€๋‹ต ์œ„์ฃผ์˜ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‚ด์šฉ์— ์˜ค๋ฅ˜๋‚˜ ์˜คํƒ€๊ฐ€ ์žˆ์„ ์‹œ ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ์งˆ๋ฌธ ๋ฐ ๋‹ต๋ณ€

1. SPA์™€ MPA์— ๋Œ€ํ•ด์„œ ๊ฐ๊ฐ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

MPA(Multi-page Application)
๋‘ ๊ฐœ ์ด์ƒ์˜ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ํด๋ฆญ๊ณผ ๊ฐ™์ด ์ธํ„ฐ๋ ‰์…˜์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋งํฌ๋กœ ์ด๋™ํ•˜์—ฌ ์•ฑ์ด ๋‹ค์‹œ ์ƒˆ๋กœ๊ณ ์นจ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. ๋žœ๋”๋ง ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋žœ๋”๋ง์„ ์ฑ„ํƒํ•œ๋‹ค.

SPA(Single-page Application)
ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค. ๋ Œ๋”๋ง ๋ฐฉ์‹์œผ๋กœ CSR์„ ์ฑ„ํƒํ•œ๋‹ค. Angular, React, Vue ์—์„œ ์ ์šฉ๋˜์—ˆ๋‹ค.

2. SSR (Server Side Rendering) ๊ณผ CSR (Client Side Rendering)์„ ๊ฐ๊ฐ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

SSR
์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์™„์ „ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ง„ html ํŒŒ์ผ์„ ๋ฐ›์•„์™€ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹

์žฅ์ 

  1. SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”)์— ์œ ๋ฆฌ : ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ํŽ˜์ด์ง€๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— SEO์— ์œ ๋ฆฌํ•˜๋‹ค.
  2. ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ : ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํ™”๋ฉด์„ ๋ Œ๋”ํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋ฅผ ๋จผ์ € ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— CSR ๋ณด๋‹ค ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

๋‹จ์ 

  1. ๋ถˆํŽธํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ : ๋งค๋ฒˆ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ๊ณ ์นจ
  2. ์„œ๋ฒ„ ๋ถ€ํ•˜ ์ฆ๊ฐ€ : ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„์—์„œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์‘๋‹ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ๋ถ€๋‹ด์ด ์ฆ๊ฐ€๋จ

CSR
์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹

์žฅ์ 

  1. ๋น ๋ฅธ ์†๋„ ๋ฐ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๊ฐ์†Œ : ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๊ณผ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ด
  2. ์‚ฌ์šฉ์ž ์นœํ™”์  : ํŽ˜์ด์ง€ ์•ˆ์˜ ์ปจํ…์ธ ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งํฌ๊ฐ€ ์—†์–ด์„œ ๊นœ๋นก์ž„ ์—†์ด ๋ถ€๋“œ๋Ÿฌ์šด ์ด๋™์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์ 

  1. SEO์— ๋ถˆ๋ฆฌ : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์™€ ์ƒํ˜ธ์ž‘์šฉ ํ›„์— ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•จ -> ์›น ํฌ๋กค๋Ÿฌ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ƒ‰์ธํ™”ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋นˆ ํŽ˜์ด์ง€๋ฅผ ๋ณด์ด๊ฒŒ ํ•จ
  2. ๋Š๋ฆฐ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ : ์ดˆ๊ธฐ์— ๋ชจ๋“  JS ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„์•ผํ•จ

3. SSR๊ณผ CSR์˜ ๋™์ž‘๊ณผ์ •๋ฅผ ๋งํ•ด์ฃผ์„ธ์š”.

SSR

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ์ดˆ๊ธฐ ํ™”๋ฉด์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์— ์ฝ˜ํ…์ธ  ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  2. ์„œ๋ฒ„๋Š” ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์™„์ „ํ•œ ๋ฆฌ์†Œ์Šค(HTML, JS, CSS ๋“ฑ)๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
  3. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ JS๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  HTML์— JS๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค.
  4. ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝํ•ด๋„ ์„œ๋ฒ„๋Š” ์™„์ „ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์•ฑ์ด ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ณ  ํ™”๋ฉด์ด ๊นœ๋นก์ž„

CSR

  1. ํด๋ผ์ด์–ธํŠธ์—์„œ ์ดˆ๊ธฐ ํ™”๋ฉด์„ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์— ์ฝ˜ํ…์ธ  ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค.
  2. ์„œ๋ฒ„๋Š” ๋นˆ ๋ผˆ๋Œ€๋งŒ ์žˆ๋Š” html์„ ์‘๋‹ต์œผ๋กœ ๋ณด๋‚ด์ค€๋‹ค.
  3. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ฐ๊ฒฐ๋œ JS๋งํฌ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋‹ค์‹œ JSํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  JS๋ฅผ ๋‹ค์šด ๋ฐ›์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค.
  4. ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ๊ทธ ๋ถ€๋ถ„๊ณผ ๊ด€๋ จ๋œ ๋ฆฌ์†Œ์Šค๋งŒ ์‘๋‹ตํ•œ๋‹ค. ํ™”๋ฉด์ด ๊นœ๋นก์ด์ง€ ์•Š๊ณ  ์ˆ˜์ •๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค.

4. SPA (Single Page Application) ์™€ CSR (Client Side Rendering) ์€ ๊ฐ™์€ ๊ฐœ๋…์ธ๊ฐ€์š”?

  • ์ฐจ์ด์ 

๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. SPA๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๋ง ๊ทธ๋Œ€๋กœ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€์—์„œ ์‹คํ–‰๋œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ๋งจ ์ฒ˜์Œ ํ™”๋ฉด์„ ๋‹ค ๋ฐ›์•„์˜ค๊ณ  ์ดํ›„์—๋Š” ๋ฐ›์•„์˜ค์ง€ ์•Š๋Š”๋ฐ๋„ ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •,์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์‹ถ์–ด์„œ CSR์ด๋ž€ ๊ธฐ์ˆ ์„ ์„ ํƒ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

5. CSR์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ์š”?

์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ ๋ณด์™„
  • code splitting, tree-shaking, chunk ๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด js ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์„œ ์ดˆ๊ธฐ ๋” ์ƒ์„ฑ ์†๋„๋ฅผ ์ค„์ด๋ฉด ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. SEO ๊ฐœ์„ 
  • pre-rendering์œผ๋กœ ๊ฐœ์„  : ์›น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ์›นํŒฉ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด ๊ฐ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ html ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด ๋‘” ๋’ค ์„œ๋ฒ„์—์„œ ์š”์ฒญํ•˜๋Š” ์ž๊ฐ€ ๋งŒ์•ฝ ํฌ๋กค๋Ÿฌ๋ผ๋ฉด ์‚ฌ์ „์— ๋ Œ๋”๋ง๋œ HTML ๋ฒ„์ „ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ ๋ณด์™„ & SEO ๊ฐœ์„ 
  • CSR์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” SPA์— SSR์ด๋‚˜ SSG๋ฅผ ๋„์ž…ํ•˜๋ฉด ๋œ๋‹ค.

6. SSR๊ณผ CSR์„ ์ค‘์‹ฌ์œผ๋กœ, ๋ Œ๋”๋ง ๊ด€์ ์—์„œ์˜ ํ๋ฆ„ ๋ณ€ํ™”๋ฅผ ๋งํ•ด์ฃผ์„ธ์š”.(์ตœ๊ทผ ์ถ”์„ธ)

XMLHttpRequest(1998)

  • fetch API์˜ ์›์กฐ์ธ XMLHttpRequest API๊ฐ€ ๊ฐœ๋ฐœ ๋˜์—ˆ๋‹ค.
  • html ๋ฌธ์„œ ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ JSON๊ณผ ๊ฐ™์€ ํฌ๋งท์œผ๋กœ ์„œ๋ฒ„์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ 
  • ์ด ๋ฐ์ดํ„ฐ๋ฅผ JavaScript๋ฅผ ์ด์šฉํ•ด์„œ ๋™์ ์œผ๋กœ HTML ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ํŽ˜์ด์ง€์— ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

AJAX(2005)

  • XMLHttpRequest ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ๊ณต์‹์ ์œผ๋กœ AJAX๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ๊ตฌ๊ธ€์—์„œ๋„ AJAX๋ฅผ ์ด์šฉํ•ด์„œ Gmail, Google Maps๊ณผ ๊ฐ™์€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ์ด๊ฒƒ์ด ํ˜„์žฌ ๋„๋ฆฌ ์“ฐ์ด๋Š” SPA์ด๋‹ค.

CSR

  • ๊ธฐ์กด์—๋Š” Server์—์„œ ๋ฐ›์€ html์„ ๋ฐ”ํƒ•์œผ๋กœ Client๊ฐ€ ํ™”๋ฉด์„ ๊ทธ๋ ธ์ง€๋งŒ, CSR ๋ฐฉ์‹์€ ์„œ๋ฒ„์—์„œ ๋ฐ›๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ Client์—์„œ ์•Œ์•„์„œ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ์‹์ด๋‹ค. React๋‚˜ Vue ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/ํ”„๋ ˆ์ž„์›Œํฌ๋Š” SPA๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ง€์›ํ•˜๊ณ  CSR ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.
  • CSR์˜ ๋‹จ์ ๋“ค ๋•Œ๋ฌธ์— 1990๋…„ ์ค‘๋ฐ˜์— ์‚ฌ์šฉํ–ˆ๋˜ Static Sites์—์„œ ์˜๊ฐ์„ ๋ฐ›์€ SSR์ด ๋„์ž…๋˜๊ฒŒ ๋œ๋‹ค.

SSR

  • CSR์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋ณด๋‹ค ์ฒซ ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ๋นจ๋ผ์ง„๋‹ค.
  • ๋ชจ๋“  ๋‚ด์šฉ์ด html์— ๋‹ด๊ฒจ์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ SEO ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Static Sites์—์„œ ๋ฐœ์ƒํ–ˆ๋˜ ๊นœ๋นก์ž„ ์ด์Šˆ(SSR๋‹จ์ ) + CSR ๋‹จ์  ๋“ฑ์œผ๋กœ ์ธํ•ด CSR + SSR ๋ฐฉ์‹์ด ๋„์ž…๋จ.

CSR + SSR

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜์Œ ๋“ค์–ด์™”์„ ๋•Œ์˜ ํŽ˜์ด์ง€๋Š” ์„œ๋ฒ„์—์„œ ๋ฐ›์•„ ๋ Œ๋”๋งํ•˜๊ณ (SSR) ๊ทธ ๋’ค์— ๋ฐœ์ƒํ•˜๋Š” ๋ผ์šฐํŒ…์€ CSR๋กœ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ์ฒซ ์ง„์ž… ์ดํ›„์—๋Š” CSR ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ url์„ ์ด์šฉํ•ด๋„ ํŽ˜์ด์ง€ ๊นœ๋นก์ž„ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

SSG(Static Site Generation)

  • ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ํˆด์ธ๋ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์„ ์ฝ์–ด HTML์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค.
  • React์˜ ๊ฒฝ์šฐ๋Š” CSR์— ํŠนํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด์ง€๋งŒ Gatsby ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด React๋กœ ๋งŒ๋“  ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ •์ ์œผ๋กœ ์›น ํŽ˜์ด์ง€ ์ƒ์„ฑ์„ ๋ฏธ๋ฆฌ ํ•ด๋‘์–ด์„œ ์„œ๋ฒ„์— ๋ฐฐํฌํ•ด๋†“์„ ์ˆ˜ ์žˆ๋‹ค.

7. SEO๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ฒ€์ƒ‰์—”์ง„์ด ์›น์„ ํฌ๋กค๋ง(์ž๋™์œผ๋กœ ์›น ์‚ฌ์ดํŠธ์— ์—‘์„ธ์Šคํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๋Š” ๊ณผ์ •)ํ•˜๋ฉด์„œ ํŽ˜์ด์ง€์— ์ปจํ…์ธ  ์ƒ‰์ธ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

Ref

profile
๋งค ์ˆœ๊ฐ„ ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€