π λ΄κ° μ μΌ λ Έλ ₯μ ν΄μΌνλ λΆλΆμΈ 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μ ν΅ν΄ μ 보λ₯Ό μ λ ₯νλ€ νμ΄μ§μμ λ²μ΄λ κ²½μ° λ³΅κ΅¬ λ° λ°±μ ν΄μ£Όλ κΈ°λ₯
- νμ¬ μ½μ κΈμ νμ€ν 리 μ μ₯
λΈλΌμ°μ λ λλ§ κ³Όμ
- μ¬μ©μκ° λΈλΌμ°μ λ₯Ό ν΅ν΄ μΉ μ¬μ΄νΈμ μ μ
- λΈλΌμ°μ λ μλ²λ‘λΆν° HTML, CSS, JavaScriptμ κ°μ μΉ μ¬μ΄νΈμ νμν 리μμ€ λ€μ΄
- λ λλ§ μμ§μ μ λ¬λ°μ HTML λ¬Έμλ₯Ό νμ±ν΄ DOM νΈλ¦¬λ₯Ό λ§λ λ€.
- μ΄μ΄μ λ€μ΄ λ°μ μΈλΆ CSS νμΌκ³Ό ν¨κ» ν¬ν¨λ μ€νμΌ μμλ₯Ό νμ±ν΄ CSSOM(CSS Object Model, CSS κ°μ²΄ λͺ¨λΈ) νΈλ¦¬λ₯Ό λ§λ λ€.
- λ§λ DOM νΈλ¦¬μ CSSOM νΈλ¦¬λ₯Ό κ²°ν©ν΄ Render νΈλ¦¬λ₯Ό ꡬμΆνλ€.
- λ μ΄μμ κ³Όμ μ ν΅ν΄ κ° μμλ₯Ό μ΄λμ λ°°μΉν μ§ κ²°μ νλ€.
- λ μ΄μμ κ³Όμ μ΄ λλλ©΄ 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 |