[Internet] ์›น ๋ธŒ๋ผ์šฐ์ €๋ž€? ๋™์ž‘ ๊ธฐ๋ณธ ํ๋ฆ„

2021. 10. 25. 14:34ยท ๐Ÿšง
๋ชฉ์ฐจ
  1. html, sss, js
  2. DOM(Document Object Model)
  3. ์›น ๋ธŒ๋ผ์šฐ์ €๋ž€?
  4. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ html ํŒŒ์ผ์„ ๋„์šฐ๋Š” ๊ณผ์ •

html, sss, js

html : ์›น ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ๋ช…์‹œํ•œ ๋ฌธ์„œ

css : ์›น ํŽ˜์ด์ง€๋ฅผ ๊พธ๋ฏธ๋Š” ์Šคํƒ€์ผ ๋ฌธ์„œ

js : ์›นํŽ˜์ด์ง€์˜ html ์š”์†Œ(div, button, li...)๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

 

DOM(Document Object Model)

HTML ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ API.

 

document = html document.

๋ธŒ๋ผ์šฐ์ €๋Š” html ๋ฌธ์„œ์— ๋ช…์‹œํ•œ html ์š”์†Œ๋“ค์„ ์‹ค์ œ๋กœ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋กœ ์‹ค์ฒดํ™”ํ•œ๋‹ค.

์ด ์‹ค์ฒดํ™”ํ•œ ๊ฐ์ฒด๋“ค์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต๋œ API ๋ฅผ DOM ์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ.

๋”ฐ๋ผ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ๊ฐ–์ถ”๋ฉด ์–ด๋–ค ์–ธ์–ด๋“  DOM์„ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ. ๋ณดํ†ต์€ js ๋กœ DOM ์„ ์กฐ์ž‘ํ•จ.

 

html ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด, html ์š”์†Œ์•ˆ์— ํ•˜์œ„ ์š”์†Œ, ๊ทธ ์•ˆ์˜ ํ•˜์œ„ ์š”์†Œ... ๋กœ ๋ช…์‹œ๋˜์–ด ์žˆ์Œ.

์ด ํ˜•ํƒœ๊ฐ€ ํŠธ๋ฆฌ ๊ฐ™์•„์„œ DOM ํŠธ๋ฆฌ๋ผ๊ณ  ํ•จ.

 

DOM์˜ ๊ฐ์ฒด(์‹ค์ฒดํ™”๋œ html ์š”์†Œ)๋ฅผ Node ๋ผ๊ณ  ํ•œ๋‹ค.

Node ๋Š” ํด๋ฆญ, ๋ฒ„ํŠผ ๋“ฑ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ ๋ฉ”์†Œ๋“œ๋“ค์ด ์ •์˜๋˜์–ด ์žˆ๋Š” ์ถ”์ƒ ํด๋ž˜์Šค ๋น„์Šค๋ฌด๋ฆฌํ•œ ๊ฒƒ...

html ์š”์†Œ๋“ค์ด ์‹ค์ฒดํ™”๋  ๋•Œ, ์ด Node ๋ฅผ ์ƒ์†๋ฐ›์Œ.

 

CSS๋Š” CSSOM(CSS Object Model) ์ด๋ž€ ๊ฑธ๋กœ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์ง.

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์กฐ์ž‘ํ•˜๋Š” API์ธ BOM(Browser Object Dom)๋„ ์žˆ์Œ. (locaiton, navigation, alter, window...)

 

์›น ๋ธŒ๋ผ์šฐ์ €๋ž€?

์›น์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ html, css, js, ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€ ๋“ฑ ์›น ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(GUI) ๊ธฐ๋ฐ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด.

์ฆ‰, ์›น์„ ๋ณด์—ฌ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ.

๋Œ€ํ‘œ์ ์ธ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋Š” ํฌ๋กฌ, IE, ํŒŒ์ด์–ดํญ์Šค, ์‚ฌํŒŒ๋ฆฌ, ์˜คํŽ˜๋ผ๊ฐ€ ์žˆ๋‹ค.

 

๋ธŒ๋ผ์šฐ์ € ๊ตฌ์กฐ

์ถœ์ฒ˜ : html5rocks

  • User Interface : ์ฃผ์†Œ ํ‘œ์‹œ์ค„, ๋ถ๋งˆํฌ ๋ฉ”๋‰ด ๋“ฑ.
  • Browser engine : ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ์‚ฌ์ด ๋™์ž‘ ์ œ์–ด
  • Rendering engine : ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ UI ์ƒ์— ํ‘œ์‹œ. (HTML ํŒŒ์ผ์„ ๋ฐ›์•„์™”๋‹ค๋ฉด, html ๋ฐ css ๊ตฌ๋ฌธ์„ ๋ถ„์„ํ•˜๊ณ  ๋ถ„์„๋œ ์ฝ˜ํ…์ธ ๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œ)
  • Networking layer : ์›น์„œ๋ฒ„์™€ ๋„คํŠธ์›Œํฌ ํ†ต์‹ . ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘.
  • UI Backend layer : ์ฝค๋ณด๋ฐ•์Šค, ์ฐฝ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ์œ„์ ฏ์„ ๊ทธ๋ฆผ. OS ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉ.
  • JavaScript Interpreter : js ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  ์‹คํ–‰ํ•จ
  • Data Storage : ์ฟ ํ‚ค ๊ฐ™์€ ๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ. ๋ธŒ๋ผ์šฐ์ €๋Š” localStorage, IndexedDB, WebSQL, FileSystem ๊ณผ ๊ฐ™์€ ์ €์žฅ์†Œ ์ง€์›.

 

๋ธŒ๋ผ์šฐ์ €๊ฐ€ html ํŒŒ์ผ์„ ๋„์šฐ๋Š” ๊ณผ์ •

url์„ ์ž…๋ ฅํ•˜์—ฌ ํ•ด๋‹น ์›น์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•จ.

๋ณดํ†ต, ๋จผ์ € ์‹œ์ž‘์ ์ด ๋˜๋Š” index.html ๋ฅผ ๋‹ค์šด๋ฐ›๊ณ  head ๋ถ€๋ถ„์— ์ถ”๊ฐ€๋กœ ์š”์ฒญํ•˜๋Š” js, css, ์ด๋ฏธ์ง€, ์™ธ๋ถ€์†Œ์Šค ๋“ฑ์„ ๋‹ค์šด๋ฐ›์Œ.

๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์—”์ง„์€ ์ „๋‹ฌ๋ฐ›์€ html ๋ฌธ์„œ๋ฅผ ๋ฐ›์•„ ์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰์‹œํ‚ด.

 

์ถœ์ฒ˜ : html5rocks

  1. html ํŒŒ์‹ฑํ•˜์—ฌ DOM ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ฆ : ๊ฐ ์š”์†Œ๋ฅผ DOM node ๋กœ ๋ณ€ํ™˜
  2. Render ํŠธ๋ฆฌ ๋งŒ๋“ฆ : css/style data ๋ฅผ ํŒŒ์‹ฑ(CSSOM)ํ•˜๊ณ  DOM ๊ณผ CSSOM ์„ ํ•ฉ์ณ render tree ๋กœ ๋ณ€ํ™˜.
  3. Render ํŠธ๋ฆฌ ๋ฐฐ์น˜(layout) : ๊ฐ node ๋ฅผ ํ™”๋ฉด์˜ ์ •ํ™•ํžˆ ์–ด๋”” ์œ„์น˜์— ๋ฐฐ์น˜(layout) ์‹œํ‚ฌ์ง€ ํ‘œ์‹œ. (๊ฒŒ์ฝ” ์—”์ง„์—์„œ๋Š” ๋ฆฌํ”Œ๋กœ์šฐ๋ผ๊ณ  ํ•จ)
  4. Render ํŠธ๋ฆฌ painting : node ๋“ค์ด ๋ ˆ์ด์•„์›ƒ์— ๋”ฐ๋ผ UI ๋ฐฑ์—”๋“œ์— ์˜ํ•ด ๊ทธ๋ ค์ง.

 

๋ Œ๋”๋ง ์—”์ง„์€ ์›นํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋นจ๋ฆฌ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋ชจ๋“  html ์š”์†Œ๋ฅผ ํŒŒ์‹ฑํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ฐฐ์น˜์™€ painting ๊ณผ์ •์„ ์‹œ์ž‘ํ•จ.

๋‚˜๋จธ์ง€ ๋‚ด์šฉ์ด ์ „์†ก๋˜๋Š”๊ฑธ ๊ธฐ๋‹ค๋ฆฌ๋ฉด์„œ ๋™์‹œ์— ์ผ๋ถ€๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ.

 

*dom ํŠธ๋ฆฌ์™€ render ํŠธ๋ฆฌ ์ฐธ๊ณ 

์ถœ์ฒ˜ : google developers

 

๋ Œ๋”๋ง ์—”์ง„์€ ๋ธŒ๋ผ์šฐ์ €๋“ค๋งˆ๋‹ค ๋™์ž‘ ๋ฐฉ์‹์ด ๋‹ค๋ฅด์ง€๋งŒ, ๊ธฐ๋ณธ ํ๋ฆ„์€ ๋น„์Šทํ•จ.

์ถœ์ฒ˜: ๋„ค์ด๋ฒ„D2 / webkit ์—”์ง„
์ถœ์ฒ˜: ๋„ค์ด๋ฒ„D2 / geako ์—”์ง„

 


 

์ฐธ๊ณ ) 

๋„คํŠธ์›Œํฌ ํƒญ์„ ์—ด์–ด๋ณด๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ›์•„์˜ค๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

191 ๊ฐœ์˜ ํŒŒ์ผ์„ ๋ฐ›์•˜๊ณ , ์ด 2.3mb ๋ฅผ ์ „์†ก๋ฐ›์•˜๋Š”๋ฐ ์‹ค์ œ ์›นํŽ˜์ด์ง€์˜ ๋ฆฌ์†Œ์Šค๋Š” 6.0mb ์‚ฌ์ด์ฆˆ์ด๋‹ค.

์ด๋Š” ์ „์†ก๋ฐ›์„ ๋•Œ ์••์ถ•๋˜์–ด ์˜ค๋Š” ํŒŒ์ผ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

finish ๋Š” ๋‹ค์šด๋กœ๋“œ ์™„๋ฃŒ ์‹œ๊ฐ„. html ๋กœ๋“œ ์‹œ๊ฐ„์€ 735ms, ์›นํŽ˜์ด์ง€ ๋ Œ๋”๋ง ์™„๋ฃŒ ์‹œ๊ฐ„์€ 859ms ์ด๋‹ค.

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
  1. html, sss, js
  2. DOM(Document Object Model)
  3. ์›น ๋ธŒ๋ผ์šฐ์ €๋ž€?
  4. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ html ํŒŒ์ผ์„ ๋„์šฐ๋Š” ๊ณผ์ •
'๐Ÿšง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋ฆฌ๋žœ์„œ ์ค€๋น„
  • ํ”„๋ฆฌ์ดˆ๊ธ‰
  • [Internet] HTTP
  • [nestjs] nestjs ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํ”„๋กœ์ ํŠธ ๋กœ์ง ํ๋ฆ„
purpplee
purpplee
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž | ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ๊ฒช์€ ์ผ๋“ค์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
purpplee
project.log
purpplee
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (106)
    • โœ๏ธ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ก (4)
    • ๐Ÿšง (102)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    ๊ณต์ง€์‚ฌํ•ญ

    ์ธ๊ธฐ ๊ธ€

    ํƒœ๊ทธ

    • ๋‹ค์ด์†Œ ์™€์ดํŒŒ์ด ์ˆ˜์‹ ๊ธฐ
    • Git
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์Šคํ”„๋ง๋ถ€ํŠธ
    • mac telnet
    • zero offset
    • error
    • code runner
    • ์ž๋ฃŒ๊ตฌ์กฐ
    • ๋‹ค์ด์†Œ ๋ฌด์„ ๋žœ์นด๋“œ
    • react-native
    • ๋‹ค์ด์†Œ ๋žœ ์ˆ˜์‹ ๊ธฐ
    • ๋„์ปค
    • React Native
    • ๋‹ค์ด์†Œ ์™€์ดํŒŒ์ด
    • CSS
    • Data structure
    • spring boot
    • ๊ฐค๋Ÿญ์‹œ ์•„์ดํฐ ๋น„๊ต
    • zero offset ignore
    • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ
    • async
    • HTML
    • toISOString
    • typescript
    • Docker
    • code=1 ์˜ค๋ฅ˜
    • ์•ˆ๋“œ๋กœ์ด๋“œ ์•„์ดํฐ ๋น„๊ต
    • react
    • ๋‹ค์ด์†Œ lan ์ˆ˜์‹ ๊ธฐ

    ์ตœ๊ทผ ๋Œ“๊ธ€

    ์ตœ๊ทผ ๊ธ€

    hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
    purpplee
    [Internet] ์›น ๋ธŒ๋ผ์šฐ์ €๋ž€? ๋™์ž‘ ๊ธฐ๋ณธ ํ๋ฆ„
    ์ƒ๋‹จ์œผ๋กœ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

    ๊ฐœ์ธ์ •๋ณด

    • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
    • ํฌ๋Ÿผ
    • ๋กœ๊ทธ์ธ

    ๋‹จ์ถ•ํ‚ค

    ๋‚ด ๋ธ”๋กœ๊ทธ

    ๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
    Q
    Q
    ์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
    W
    W

    ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

    ๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
    E
    E
    ๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
    C
    C

    ๋ชจ๋“  ์˜์—ญ

    ์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
    S
    S
    ๋งจ ์œ„๋กœ ์ด๋™
    T
    T
    ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
    H
    H
    ๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
    Shift + /
    โ‡ง + /

    * ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.