๐Ÿ’ป ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง(feat. ๋งํ•˜๋ฉด์„œ ๋ฐฐ์›Œ์š”)

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

TIL

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

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

0. ๋ธŒ๋ผ์šฐ์ €์— ํŠน์ •ํ•œ URL์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฐœ์ƒํ•˜๋Š” ๊ฐ๊ฐ์˜ ๋‹จ๊ณ„์—์„œ ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

  • URL ํŒŒ์‹ฑ, DNS ์กฐํšŒ, ARP๋กœ MAC์ฃผ์†Œ ๋ณ€ํ™˜, TCP ํ†ต์‹ , ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง

1. URL ํ•ด์„(ํŒŒ์‹ฑ)
๋ธŒ๋ผ์šฐ์ €์—์„œ url์„ ํ•ด์„ํ•˜์—ฌ, ํ•ด๋‹น ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ์ž์›์„ ์š”์ฒญํ•œ๋‹ค.

2. DNS ์กฐํšŒ
URL๊ณผ ์—ฐ๊ฒฐ๋œ DNS ์„œ๋ฒ„๋กœ ์ด๋™ํ•˜์—ฌ URL์— ํ• ๋‹น๋œ IP์ฃผ์†Œ๋ฅผ ์ฐพ๋Š”๋‹ค. ๋‹ค๋งŒ ๋ธŒ๋ผ์šฐ์ €์— ์บ์‹œ๊ฐ€ ๋‚จ์•„์žˆ๋‹ค๋ฉด, DNS ์„œ๋ฒ„์— ์ ‘๊ทผํ•˜์ง€ ์•Š์•„ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

3. IP์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ ARP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด MAC์ฃผ์†Œ ๊ฒ€์ƒ‰
IP ์ฃผ์†Œ๋Š” ๋…ผ๋ฆฌ ์ฃผ์†Œ์ด๋ฏ€๋กœ ์‹ค์ œ ์„œ๋ฒ„์˜ ์œ„์น˜๋ฅผ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ARP(Address Resolution protocol)์„ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ์„œ๋ฒ„์˜ MAC์ฃผ์†Œ๋ฅผ ์ฐพ๊ณ , ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ์‹œ๋„ํ•œ๋‹ค.

*ARP(Address Resolution Protocol) : ๋…ผ๋ฆฌ์ฃผ์†Œ์ธ IP์ฃผ์†Œ๋ฅผ MAC ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

4. ์›น ์„œ๋ฒ„์™€ TCP ์—ฐ๊ฒฐ ์‹œ๋„
๋Œ€์ƒ ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ์œ„ํ•œ TCP ์†Œ์ผ“์„ ์—ฐ๊ฒฐํ•œ๋‹ค. TCP ํ†ต์‹ ์€ 3-way-handshake๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

3-way-handshake
TCP/IP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•œ ํ†ต์‹ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ด์ „์— ์ •ํ™•ํ•œ ์ „์†ก์„ ์œ„ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ์„ธ์…˜์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

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

6. ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ฐ˜ํ™˜
HTTP/HTTPS ํ”„๋กœํ† ์ฝœ๋กœ ๋“ค์–ด์˜จ ํŒจํ‚ท์„ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ฆ‰, ์š”์ฒญ(www.naver.com์˜ index์— ํ•ด๋‹น์•„๋Š” resourse)์— ๋”ฐ๋ฅธ ์ ์ ˆํ•œ ์‘๋‹ต ๊ฐ’์„ ๋ฐ˜ํ™˜(HTML, CSS, Javascript)ํ•œ๋‹ค.

1. ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ •์„ ํ๋ฆ„์— ๋”ฐ๋ผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  • HTMLํŒŒ์‹ฑ, CSSOM , DOM Tree, RenderTree, Layout(reflow), Paint
  1. ๋ธŒ๋ผ์šฐ์ €๋Š” HTML, CSS, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ, ์ด๋ฏธ์ง€, ํฐํŠธ ํŒŒ์ผ ๋“ฑ ๋ Œ๋”๋ง์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•˜๊ณ  ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์—”์ง„์€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต๋œ HTML๊ณผ CSS๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ DOM๊ณผ CSSOM์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ํŒŒ์‹ฑ ๊ณผ์ • : ๋ฐ”์ดํŠธ -> ๋ฌธ์ž -> ํ† ํฐ -> ๋…ธ๋“œ -> DOM/CSSOM
  1. ๋ธŒ๋ผ์šฐ์ €์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ AST(์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ)๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ”์ดํŠธ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” DOM API๋ฅผ ํ†ตํ•ด DOM์ด๋‚˜ CSSOM์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ DOM๊ณผ CSSOM์€ ๋‹ค์‹œ ๋ Œ๋” ํŠธ๋ฆฌ๋กœ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค.
  2. ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTML ์š”์†Œ์˜ ๋ ˆ์ด์•„์›ƒ(์œ„์น˜์™€ ํฌ๊ธฐ)์„ ๊ณ„์‚ฐํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— HTML ์š”์†Œ๋ฅผ ํŽ˜์ธํŒ… ํ•ฉ๋‹ˆ๋‹ค.

2. Reflow์™€ Repaint๋Š” ๋ฌด์—‡์ด๊ณ , ์–ธ์ œ ๋ฐœ์ƒํ•˜๋‚˜์š”?

DOM๊ณผ CSSOM์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์— ๋ณ€๊ฒฝ๋œ DOM๊ณผ CSSOM์€ ๋‹ค์‹œ ๋ Œ๋” ํŠธ๋ฆฌ๋กœ ๊ฒฐํ•ฉ๋˜๊ณ  ๋ณ€๊ฒฝ๋œ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ ˆ์ด์•„์›ƒ๊ณผ ํŽ˜์ธํŠธ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์— ๋‹ค์‹œ ๋ Œ๋”๋ง ๋˜๋Š”๋ฐ ์ด๋ฅผ ๋ฆฌํ”Œ๋กœ์šฐ, ๋ฆฌํŽ˜์ธํŠธ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Reflow
๋ ˆ์ด์•„์›ƒ ๊ณ„์‚ฐ์„ ๋‹ค์‹œ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•˜๋ฉฐ, ๋…ธ๋“œ ์ถ”๊ฐ€/์‚ญ์ œ, ์š”์†Œ์˜ ํฌ๊ธฐ/์œ„์น˜ ๋ณ€๊ฒฝ ๋“ฑ ๋ ˆ์ด์•„์›ƒ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์— ํ•œํ•˜์—ฌ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Repaint
์žฌ๊ฒฐํ•ฉ๋œ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์‹œ ํŽ˜์ธํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ๋ฆฌํ”Œ๋กœ์šฐ์™€ ๋ฆฌํŽ˜์ธํŠธ๊ฐ€ ๋ฐ˜๋“œ์‹œ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ ๋ ˆ์ด์•„์›ƒ์— ์˜ํ–ฅ์ด ์—†๋Š” ๋ณ€๊ฒฝ์€ ๋ฆฌํ”Œ๋กœ์šฐ ์—†์ด ๋ฆฌํŽ˜์ธํŠธ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

3. script ํƒœ๊ทธ๋ฅผ body ๊ฐ€์žฅ ํ•˜๋‹จ์— ์‚ฝ์ž…ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

  • DOM ์กฐ์ž‘, ๋กœ๋”ฉ ์‹œ๊ฐ„

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

4. script ํƒœ๊ทธ์˜ async, defer ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

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

async ์–ดํŠธ๋ฆฌ๋ทฐํŠธ
HTML ํŒŒ์‹ฑ๊ณผ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค. ๋‹จ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŒŒ์‹ฑ๊ณผ ์‹คํ–‰์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋œ ์ดํ›„ ์ง„ํ–‰๋˜๋ฉฐ, ์ด๋•Œ HTML ํŒŒ์‹ฑ์ด ์ค‘๋‹จ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ script ํƒœ๊ทธ์— async ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์ง€์ •ํ•˜๋ฉด script ํƒœ๊ทธ์˜ ์ˆœ์„œ์™€๋Š” ์ƒ๊ด€ ์—†์ด ๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ถ€ํ„ฐ ๋จผ์ € ์‹คํ–‰๋˜๋ฏ€๋กœ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.

defer ์–ดํŠธ๋ฆฌ๋ทฐํŠธ
HTML ํŒŒ์‹ฑ๊ณผ ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์˜ ๋กœ๋“œ๊ฐ€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค. ๋‹จ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŒŒ์‹ฑ๊ณผ ์‹คํ–‰์€ HTML ํŒŒ์‹ฑ์ด ์™„๋ฃŒ๋œ ์งํ›„, ์ฆ‰ DOM ์ƒ์„ฑ์ด ์™„๋ฃŒ๋œ ์งํ›„์— ์ง„ํ–‰๋œ๋‹ค. ๋”ฐ๋ผ์„œ DOM ์ƒ์„ฑ์ด ์™„๋ฃŒ๋œ ์ดํ›„ ์‹คํ–‰๋˜์–ด์•ผ ํ•  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ์œ ์šฉํ•˜๋‹ค.

5. reflow, repaint๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”?

  • reflow, repaint๋ฅผ ์ผ์œผํ‚ค๋Š” ์Šคํƒ€์ผ ์‚ฌ์šฉ ์ค„์ด๊ธฐ
  • ์ „์—ญ ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ธฐ
  • virtual DOM ์‚ฌ์šฉํ•˜๊ธฐ : ๋ทฐ์˜ ๋ณ€ํ™”๋ฅผ ๋จผ์ € virtual DOM์— ์ „๋‹ฌํ•ด ์คŒ์œผ๋กœ์„œ ๋ธŒ๋ผ์šฐ์ €๋‚ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์–‘์„ ์ค„์ด๋ฉด์„œ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์—๋Š” display: none;์„ ์‚ฌ์šฉํ•˜๊ธฐ

6. virtual DOM์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ญ์ƒ ์˜ณ์„๊นŒ์š”?

Virtual Dom์€ ์‹ค์ œ DOM์˜ ์ž‘์—…๋Ÿ‰์„ ์‹ค์งˆ์ ์œผ๋กœ ์ค„์—ฌ์ฃผ๋Š” ๊ฒƒ์€ ๋งž์ง€๋งŒ ๋งŽ์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋งˆ๋ จ์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ์ด ๋Š˜์–ด๋‚  ์ˆ˜ ๋ฐ–๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์˜ณ์€ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

Ref

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

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