๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

22.07.21_TIL

by ํ˜ธ๋ฐ€์ด 2022. 7. 21.

๐Ÿ“Œ ๋‚ด๊ฐ€ ์ œ์ผ ๋…ธ๋ ฅ์„ ํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ธ CSS ๋””์ž์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ํ•™์Šต์„ ํ•˜๋Š” ์‹œ๊ฐ„์„ ์˜ค๋Š˜ ํฌํ•จ ์ดํ‹€์„ ์ค€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ ๋”์šฑ ์‹ค๋ ฅ์„ ํ–ฅ์ƒ์‹œ์ผœ ๊ตฌํ˜„๋งŒ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ๋””์ž์ธ๋„ ๊ฐ™์ด ๊ฒธ๋น„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค.

๐Ÿ“— ์˜ค๋Š˜ ํ•™์Šตํ•œ ๋‚ด์šฉ

๋ธŒ๋ผ์šฐ์ €

  • ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘๊ณผ์ •์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
  • ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์˜ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ ์ƒ์—์„œ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์›น(Web) = ์›”๋“œ ์™€์ด๋“œ ์›น(World Wide Web)

  • ์ธํ„ฐ๋„ท ์ƒ์—์„œ ํ…์ŠคํŠธ๋‚˜ ๊ทธ๋ฆผ, ์†Œ๋ฆฌ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ์ •๋ณด๋ฅผ ํ•˜์ดํผํ…์ŠคํŠธ(hypertext) ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•ด ์ œ๊ณตํ•œ๋‹ค.

์›น ํŽ˜์ด์ง€

  • HTML ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋œ ๋ฌธ์„œ ํ˜•ํƒœ

์›น ์‚ฌ์ดํŠธ

  • ์›น ํŽ˜์ด์ง€ ์ค‘ ์„œ๋กœ ๊ด€๋ จ๋œ ๋‚ด์šฉ์œผ๋กœ ์ž‘์„ฑ๋œ ์›น ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ

๋ธŒ๋ผ์šฐ์ €์˜ ๋™์ž‘ ๋ฐฉ์‹

  • ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ์ž์›์„ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๊ณ , ์„œ๋ฒ„์˜ ์‘๋‹ต์„ ๋ธŒ๋ผ์šฐ์ €์— ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ URL ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅ

→ DNS ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ URL ์ฃผ์†Œ ์ค‘ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๊ฒ€์ƒ‰

→ ํ•ด๋‹น IP ์ฃผ์†Œ๋ฅผ ์ฐพ์•„ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ URL ์ •๋ณด์™€ ํ•จ๊ป˜ ์ „๋‹ฌ

→  ์ „๋‹ฌ๋ฐ›์€ IP ์ฃผ์†Œ๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ƒ์„ฑ TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ ํ•ด๋‹น IP ์ปดํ“จํ„ฐ๋กœ ์ „์†ก

→  ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค์‹œ HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€ URL ์ •๋ณด๋กœ ๋ณ€ํ™˜

→ ์›น ์„œ๋ฒ„์—์„œ ์‘๋‹ต ๋ฉ”์„ธ์ง€ ์ƒ์„ฑ

→ TCP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด ์ธํ„ฐ๋„ท์„ ๊ฒจ์ฒ˜ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ๋กœ ์ „์†ก๋œ๋‹ค.

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

  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User Interface)
  • ๋ธŒ๋ผ์šฐ์ € ์—”์ง„(Browser Engine)
    • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ์‚ฌ์ด์˜ ๋™์ž‘์„ ์ œ์–ดํ•œ๋‹ค.
    • HTML ๋ฌธ์„œ์™€ ๊ธฐํƒ€ ์ž์›์˜ ์›น ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉ์ž์˜ ์žฅ์น˜์— ์‹œ๊ฐ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋ฉฐ, ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM) ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„
  • ๋ Œ๋”๋ง ์—”์ง„(Rendering Engine)
    • ์š”์ฒญํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ์—ญํ• 
    • HTML ๋ฐ XML ๋ฌธ์„œ์™€ ์ด๋ฏธ์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ†ต์‹ (Networking)
    • HTTP ์š”์ฒญ๊ณผ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ์— ์‚ฌ์šฉ
    • ๋ณดํ†ต ํ”Œ๋žซํผ์˜ ๋…๋ฆฝ์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค, ๊ฐ ํ”Œ๋žซํผ์˜ ํ•˜๋ถ€์—์„œ ์‹คํ–‰
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•ด์„๊ธฐ(JavaScript Interpreter)
    • ์ฝ”๋“œ๋ฅผ ์œ„์—์„œ ์•„๋ž˜๋กœ ํ•œ ์ค„์”ฉ ์ฝ์–ด๋‚ด๋ ค๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํŒŒ์‹ฑํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ
    • ์—ฌ๋Ÿฌ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๋˜์ง€๋งŒ ๋Œ€์ฒด์ ์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด์šฉ์ด ๋˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์ „์šฉ ์—”์ง„ ํƒ‘์ œ
  • ํž™ ๋ฉ”๋ชจ๋ฆฌ(Heap Memory)
    • ํž™: ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
    • V8: ๊ฐ์ฒด ๋˜๋Š” ๋™์  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ
    • ์—”์ง„ ๋‚ด๋ถ€์—์„œ ๊ฐ€์žฅ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค.
    • ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์ด ๋ฐœ์ƒํ•˜๋Š” ๊ณณ
  • ์ฝœ ์Šคํƒ(Call Stack)
    • ํ•œ ๋ฒˆ์— ํ•œ ์ž‘์—…๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ”„๋กœ๊ทธ๋žจ ์ƒ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ๊ธฐ๋กํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ
    • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ์ฝœ ์Šคํƒ์˜ ๊ฐ€์žฅ ์ƒ๋‹จ์— ์œ„์น˜ํ•œ๋‹ค.
  • ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ(Stack Overflow)
    • ์ฝœ ์Šคํƒ ๋‚ด๋ถ€์˜ ๋™์ผํ•œ ์Šคํƒ ํ”„๋ ˆ์ž„์ด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ˆ˜๋กœ ์Œ“์ผ ๋•Œ ๋ฐœ์ƒ
  • ์Šคํƒ ์ถ”์ (Stack trace)
    • ๋ธŒ๋ผ์šฐ์ €์˜ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ์—๋Ÿฌ์˜ ๋ฐœ์ƒ ์ด์œ ๋ฅผ ์ถ”์ ํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

์ž๋ฃŒ ์ €์žฅ์†Œ

  • ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณ„์ธต
  • ์›น ์Šคํ† ๋ฆฌ์ง€(Web Storage) ํŠน์ง•
    • ์ฟ ํ‚ค์˜ ๋ณด์•ˆ์ƒ ์ทจ์•ฝ๊ณผ ์ €์žฅ์†Œ์˜ ์ ˆ๋Œ€์ ์ธ ํ—ˆ์šฉ ์šฉ๋Ÿ‰์ด ์ ์–ด์„œ ์ฐพ์€ ๋Œ€์•ˆ ๋ฐฉ์•ˆ
    • origin๋งˆ๋‹ค ๋‹จ ํ•˜๋‚˜์”ฉ๋งŒ ์กด์žฌ
    • origin
      • domain๊ณผ protocol ํ•œ ์‹ผ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹๋ณ„์ž
      • ํ•˜๋‚˜์˜ origin์— ์†ํ•˜๋Š” ๋ชจ๋“  ์›น ํŽ˜์ด์ง€๋Š” ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

์›น ์Šคํ† ๋ฆฌ์ง€ ์ข…๋ฅ˜

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€(localStorage)
    • ๋ณด๊ด€ ๊ธฐํ•œ์ด ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ(๊ฐ์ฒด)
    • ๋ธŒ๋ผ์šฐ์ € ํƒญ์ด ๋‹ซํžˆ๊ฑฐ๋‚˜, ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ด๋„ ์ด ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค.
  • ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€(sessionStorage)
    • ํ•˜๋‚˜์˜ ์„ธ์…˜๋งŒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ(๊ฐ์ฒด)
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ณด๊ด€ํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ง•๋˜๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ปจํ…๊ธ‹ํŠธ ๋‚ด์—์„œ๋งŒ ์œ ์ง€
    • ๋ธŒ๋ผ์šฐ์ € ํƒญ์ด ๋‹ซํžˆ๊ฑฐ๋‚˜ ์ฐฝ์„ ๋‹ซ์œผ๋ฉด ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง„๋‹ค.

์›น ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํ™œ์šฉํ•œ ๋Œ€ํ‘œ์ ์ธ ๊ธฐ๋Šฅ

  • ๋ณต๊ตฌ ๋ฐ ๋ฐฑ์—…์— ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์— ์ฃผ๋กœ ์‚ฌ์šฉ
  • ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑ ์ค‘ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐฝ์„ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ ๊ด€๋ จ ์ž‘์„ฑ ๋‚ด์šฉ์„ ๋ณต๊ตฌํ•˜๊ฑฐ๋‚˜ ๋ฐฑ์—…ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ form์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋‹ค ํŽ˜์ด์ง€์—์„œ ๋ฒ—์–ด๋‚œ ๊ฒฝ์šฐ ๋ณต๊ตฌ ๋ฐ ๋ฐฑ์—…ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
  • ํ˜„์žฌ ์ฝ์€ ๊ธ€์˜ ํžˆ์Šคํ† ๋ฆฌ ์ €์žฅ

๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ •

  1. ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์›น ์‚ฌ์ดํŠธ์— ์ ‘์†
  2. ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML, CSS, JavaScript์™€ ๊ฐ™์€ ์›น ์‚ฌ์ดํŠธ์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ๋‹ค์šด
  3. ๋ Œ๋”๋ง ์—”์ง„์€ ์ „๋‹ฌ๋ฐ›์€ HTML ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•ด DOM ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.
  4. ์ด์–ด์„œ ๋‹ค์šด ๋ฐ›์€ ์™ธ๋ถ€ CSS ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ํฌํ•จ๋œ ์Šคํƒ€์ผ ์š”์†Œ๋ฅผ ํŒŒ์‹ฑํ•ด CSSOM(CSS Object Model, CSS ๊ฐ์ฒด ๋ชจ๋ธ) ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.
  5. ๋งŒ๋“  DOM ํŠธ๋ฆฌ์™€ CSSOM ํŠธ๋ฆฌ๋ฅผ ๊ฒฐํ•ฉํ•ด Render ํŠธ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค.
  6. ๋ ˆ์ด์•„์›ƒ ๊ณผ์ •์„ ํ†ตํ•ด ๊ฐ ์š”์†Œ๋ฅผ ์–ด๋””์— ๋ฐฐ์น˜ํ•  ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.
  7. ๋ ˆ์ด์•„์›ƒ ๊ณผ์ •์ด ๋๋‚˜๋ฉด UI ๋ฐฑ์—”๋“œ Render ํŠธ๋ฆฌ๋ฅผ ํ™”๋ฉด์— ๊ทธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

ํŒŒ์‹ฑ(Parsing)

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ตฌ๋ฌธ ๋ถ„์„์„ ํ•˜๋Š” ๋‹จ๊ณ„

DOM Tree

  • HTML ๋ฌธ์„œ์˜ ์š”์†Œ๋“ค์˜ ์ค‘์ฒฉ ๊ด€๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋…ธ๋“œ๋“ค์„ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ•œ ๊ฒƒ

CSSOM Tree

  • html ํŒŒ์ผ์„ DOM ํŠธ๋ฆฌ๋กœ ํŒŒ์‹ฑํ•˜๋˜ ๋ธŒ๋ผ์šฐ์ €๋Š” link, style ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜ ํŒŒ์‹ฑ์„ ๋ฉˆ์ถ”๊ณ  ํ•ด๋‹น ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์„ ์„œ๋ฒ„๋กœ ์š”์ฒญํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์š”์ฒญํ•œ ํŒŒ์ผ์„ html ํŒŒ์ผ์ฒ˜๋Ÿผ ํŒŒ์‹ฑ์„ ํ•˜๋Š”๋ฐ, ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•ด ๋งŒ๋“  ํŠธ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค.

๋ Œ๋” ํŠธ๋ฆฌ(Render Tree)

  • ๋ Œ๋”๋ง์„ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ํŠธ๋ฆฌ
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ•˜๋Š” ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •

๋ ˆ์ด์•„์›ƒ

  • ๋ Œ๋”ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTML ์š”์†Œ์˜ ๋ ˆ์ด์•„์›ƒ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ์–ด๋””์— ๋ฐฐ์น˜ํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •

ํŽ˜์ธํŒ…

  • ํ”ฝ์…€์— ๋Œ€ํ•œ ์ •๋ณด๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ํ”ฝ์…€์„ ์ฑ„์›Œ๋‚˜๊ฐ€๋Š” ๊ณผ์ •

๋ฐ˜์‘ํ˜• ์›น

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

๋ฐ˜์‘ํ˜• ์›น์˜ ํŠน์ง•

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

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ

  • ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ด๋‹ค.
  • ๋ธŒ๋Ÿฌ์šฐ์ € ์ฐฝ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์กฐํŒ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ ์šฉ๋ฒ•

  • headํƒœ๊ทธ ์•ˆ์— link๋ฅผ ์œ„์น˜ ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•
    • ๋ฏธ๋””์–ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด์„ ์ง€์ •ํ•˜์—ฌ ๋ฏธ๋””์–ด ์†์„ฑ ๋‚ด ํ•ด๋‹น ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ์—๋งŒ ํ•ด๋‹น CSS ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ํ•œ๋‹ค.
<link href="cssํŒŒ์ผ์ด๋ฆ„.css" media="screen and (min-width: 400px) and (max-width: 1000px)" rel="stylesheet">
  • CSS ํŒŒ์ผ, ํƒœ๊ทธ ์•ˆ์—์„œ ์ง์ ‘ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ž‘์„ฑ ๊ตฌ๋ฌธ

  • ๋ฏธ๋””์–ด ํƒ€์ž…: ์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ๋ฏธ๋””์–ด๋ฅผ ์œ„ํ•œ ๊ฒƒ์ธ์ง€ ์ž‘์„ฑํ•œ๋‹ค.
    • all: ๋ชจ๋“  ๋ฏธ๋””์–ด ํƒ€์ž…
    • print: ํ”„๋ฆฐํ„ฐ
    • screen: ์ปดํ“จํ„ฐ ํ™”๋ฉด
    • speech: ์Šคํฌ๋ฆฐ ๋ฆฌ๋”
    • and๋ฅผ ์‚ฌ์šฉํ•ด ๋ฏธ๋””์–ด ๊ธฐ๋Šฅ์„ ํ•ฉ์น  ์ˆ˜ ์žˆ๋‹ค.
    • ,(์ฝค๋งˆ)๋ฅผ ์‚ฌ์šฉํ•ด or ์—ฐ์‚ฐ์ด๋˜๋ฉฐ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋งŒ์กฑํ•  ๋•Œ ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋„๋ก ํ•œ๋‹ค.
    • not ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์˜ ์กฐ๊ฑด์„ ๋ฐ˜๋Œ€๋กœ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์กฐ๊ฑด: ์ง€์ •ํ•œ ์ฐฝ์˜ ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ฅผ ๊ธฐ์ค€์ด ๋งŒ์กฑ๋˜๋ฉด ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋„๋ก ํ•œ๋‹ค.
    • ๋ฐฉํ–ฅ์„ฑ: ์„ธ๋กœ ๋ชจ๋“œ์™€ ๊ฐ€๋กœ ๋ชจ๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์กฐ๊ฑด์— prientation: landscape๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  • CSS ์ž…๋ ฅ: ์กฐ๊ฑด๋ฌธ์„ ํ†ต๊ณผํ•œ ํ›„ ์ž‘์„ฑ๋œ CSS ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
@media ๋ฏธ๋””์–ด ํƒ€์ž… (์กฐ๊ฑด(๋„ˆ๋น„ ๋ฐ ๋†’์ด)){
    (CSS ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„)
}

@media screen (max-width: 400px){
    body{
            color: red;
        }
}

@media (orientation: landscape){
    body{
            color: red;
        }
}

@media screen and (max-width: 400px) and (orientation: landscape){
    body{
            color: red;
        }
}

@media screen and (max-width: 400px), (orientation: landscape){
    body{
            color: red;
        }
}

@media not all and (orientation: landscape){
    body{
            color: red;
        }
}

๋ฐ˜์‘ํ˜• ์›น ๊ตฌํ˜„ (๋ฏธ๋””์–ด์ฟผ๋ฆฌ)

๐Ÿ“˜ ์ถ”๊ฐ€๋กœ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ

[udemy] React ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๊ฐ•์˜ ๋ณด๊ธฐ (๋งค์ผ ์กฐ๊ธˆ์”ฉ ์ด๋ผ๋„ ๊พธ์ค€ํžˆ ๋“ฃ๊ธฐ)

Study์›๊ณผ ํ•จ๊ป˜ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„

๐Ÿ“ ์ค‘์š”ํ•œ ๋‚ด์šฉ

  • ์›น ์Šคํ† ๋ฆฌ์ง€์˜ ์ข…๋ฅ˜
    • localstorage
    • sessionstorage
  • ๋ฐ˜์‘ํ˜•์›น
  • ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

'Daily > Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

22.07.25_TIL  (0) 2022.07.25
22.07.22_TIL  (0) 2022.07.22
22.07.19_TIL  (0) 2022.07.19
22.07.18_TIL  (0) 2022.07.18
22.07.15_TIL  (0) 2022.07.15