๐์ค๋ ๋ฐฐ์ด ๊ฒ
๋คํธ์ํฌ ๊ธฐ์ด
โถ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ๋ฒ์ด์ง๋ ์ผ
โ URL์ ํด์ํ๋ค.
โก DNS๋ฅผ ์กฐํํ๋ค.
- DNS๋?
:Domain Name System์ผ๋ก ๋๋ฉ์ธ(ex> google.com)๊ณผ IP์ฃผ์(ex> 142.250.199.110)๋ฅผ ์๋ก ๋ณํํด์ค๋ค.
-๋ธ๋ผ์ฐ์ ๋ DNS ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ ์,
- ์ด๋ฏธ ํด๋น ๋๋ฉ์ธ์ ์๊ณ ์๋์ง ๋ธ๋ผ์ฐ์ ์บ์๋ฅผ ์ฐพ์๋ณด๊ณ
- ์๋ค๋ฉด ๋ก์ปฌ ์ปดํจํฐ์ hosts ํ์ผ์ ์ฐธ์กฐํ๋ค.
๋ง์ฝ ์ด๋ฏธ ์ ์๊ฐ ๋์ด ์๋ค๋ฉด ๋ด๋ถ์ ์ผ๋ก IP๋ฅผ ๋ฐํํ๋ค
์์ ๋ ๊ฐ์ง์ ํด๋น์ด ์๋๋ค๋ฉด DNS๋ฅผ ํธ์ถํ๋ค.
์ด๋ฌํ DNS๋ Root server, TLD server, Authoritative Server ์์ผ๋ก ํ์ํ๋ค.
-Root Server : TLD DNS ์๋ฒ IP๋ฅผ ์ ์ฅํด ๋๊ณ ์๋ดํ๋ ์ญํ
-TLD DNS Server: Authoritative DNS ์๋ฒ ์ฃผ์๋ฅผ ์ ์ฅํด๋๊ณ ์๋ดํ๋ ์ญํ
-Authoritative DNS Server: ์ค์ ๊ฐ์ธ ๋๋ฉ์ธ๊ณผ IP ์ฃผ์์ ๊ด๊ณ๊ฐ ๊ธฐ๋ก/์ ์ฅ/๋ณ๊ฒฝ๋๋ ์๋ฒ
-Recursive DNS Server: ์ธํฐ๋ท ์ฌ์ฉ์๊ฐ ๊ฐ์ฅ ๋จผ์ ์ ๊ทผํ๋ DNS ์๋ฒ. ์์ 3๊ฐ์ ์๋ฒ๋ฅผ ํ ๋ฒ ๊ฑฐ์น ํ ์ป์ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๊ธฐ๊ฐ ๋์ ์บ์๋ผ๋ ํํ๋ก ์ ์ฅํด๋๋ ์๋ฒ. ๋ํ์ ์ผ๋ก ์ฌ์ฉํ๋ ํต์ ์ฌ ์๋ฒ(ISP DNS ์๋ฒ)๊ฐ ์๊ณ ๊ตฌ๊ธ DNS ๋ฑ์ด ์๋ค.
- ํต์ ์ฌ (ISP) ์๋ฒ์์ ์บ์๊ฐ ์๋์ง ์ฐพ๋๋ค. ์์ผ๋ฉด ๋ฐํ, ์์ผ๋ฉด Root Server์ ์์ฒญ
- Root Server์์ TLD DNS ์๋ฒ ์ฃผ์๋ก ์๋ด
- ISP์๋ฒ๋ ๋ค์ TLD Server์๊ฒ ์ด๋๋ก ๊ฐ์ผ ํ๋์ง ์์ฒญ
- Autoritative DNS ์๋ฒ์์ ์ต์ข ์นํ์ด์ง IP ์๋ ค์ค. ๋์์ ISP ์๋ฒ๋ ํด๋น ์ ๋ณด๋ฅผ ์บ์๋ก ๊ธฐ๋ก
- ๋ธ๋ผ์ฐ์ ๋ IP์ฃผ์๋ฅผ ๊ฐ๊ณ ์๋ ํธ์คํ ์๋ฒ์๊ฒ ์น์ฌ์ดํธ ์ถ๋ ฅ ์์ฒญ
- ๋
โข ํด๋น IP๊ฐ ์กด์ฌํ๋ ์๋ฒ๋ก ์ด๋(ํด๋น ์๋ฒ๊ฐ ์กด์ฌํ๋ ๋์ญ์ผ๋ก)ํ๋ค.
-๋คํธ์ํฌ ์ฅ๋น ๋ผ์ฐํฐ๋ฅผ ํตํด ์ด๋
โฃARP๋ฅผ ์ด์ฉํ์ฌ MAC ์ฃผ์ ๋ณํ์ ํ๋ค.
- ARP๋?
: Address Resolution Protocol
: ๋ ผ๋ฆฌ ์ฃผ์์ธ IP์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์์ธ MAC ์ฃผ์๋ก ๋ณํํ๋ ํ๋กํ ์ฝ
*IP์ฃผ์์ MAC์ฃผ์
-IP๋ ๋ ผ๋ฆฌ์ ์ธ ์ฃผ์
-MAC์ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์
-์ค์ ํต์ ์ ์ํด ๋ณํ์ง ์๋ ๊ณ ์ ํ MAC ์ฃผ์๊ฐ ํ์ํ๋ค.
-๋จ๋ง ๊ฐ ํต์ ์์ ์์ชฝ ๋จ๋ง์ IP๋ฅผ ์ด์ฉํ์ฌ ๋ชฉ์ ์ง๋ฅผ ์ง์ ํ์ง๋ง ์ค์ ๋ฐ์ดํฐ ์ด๋์ ์ํด MAC์ฃผ์๋ฅผ ํจ๊ป ์ด์ฉ
โคTCP ํต์ ์ ์ํด Socket์ ์ด์ด์ผ ํ๋ค.
-์ค์ Socket์ ์ด์ด์ ํ๋ฝ์ ๋ฐ์์ผ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ค.
-socket์ ํต์ ์ ์์ ์ด๋ผ๊ณ ํ ์ ์๋๋ฐ ๋คํธ์ํฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ผ์ ํตํด ํต์ ๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ . TCP/IP๋ฅผ ์ด์ฉํ๋ ์ฐฝ๊ตฌ ์ญํ ์ ํ๋ค.
-๋คํธ์ํฌ๋ฅผ ํตํด ํด๋น ๊ธฐ๊ธฐ๋ก ํจํท์ ์ ๋ฌ
-TCP ํต์ ์ ํ๋ฝ๋ฐ๊ธฐ ์ํด 3 way handshake๋ก ์ฐ๊ฒฐ์ ์์ฒญ
-์์ฒญ์ด ์๋ฝ๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ์ ๋ฌ, ๊ธฐ๊ธฐ๋ ํจํท์ ๋ฐ์ ์ฒ๋ฆฌ
- ํจํท์ด๋?
https://yj-zero.tistory.com/17
โฅ์๋ฒ๋ ์๋ต์ ๋ฐํ
-HTTP ํ๋กํ ์ฝ๋ก ๋ค์ด์จ ํจํท์ ์ฝ๊ณ ์ฒ๋ฆฌ
-์์ฒญ์ ๋ฐ๋ฅธ ์ ์ ํ ์๋ต ๊ฐ์ ๋ฐํ
โฆ๋ธ๋ผ์ฐ์ ๊ฐ ๋ ๋๋ง์ ํ๋ค.
- HTTP์ HTTPS์ ์ฐจ์ด์
:http ํต์ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ์์ด์ ๋ณ๋ค๋ฅธ ๋ณด์ ์กฐ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ ๋คํธ์ํฌ ์ ํธ๋ฅผ ๊ฐ๋ก์ฑ๋ฉด ๊ทธ๋๋ก ์ธ๋ถ์ ๋ ธ์ถ ์ด๋ฌํ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฒ์ด https
:https๋ ssl์ด๋ผ๋ ๋ณด์ ๊ณ์ธต ์์ http๋ฅผ ์น์ด์ ๋ณด์์ด ๋ณด์ฅ๋ ํต์ ์ ํ๋ค.> SSL ์ํธํ ํต์
:HTTPS๋ก ํต์ ํ๋ฉด์ ์ถ๊ฐ๋ก SSL handshaking์ด ์ผ์ด๋๊ฒ ๋๋ค.
Queue
Queue์ ์ข ๋ฅ์๋ Task Queue, Microtask Queue, Animation Frames๊ฐ ์๋ค.
- Task Queue
- setTimeout()., setInterval(), setInmediate()์ ๊ฐ์ task๋ฅผ ๋๊ฒจ๋ฐ๋๋ค.
- Microtask Queue
- Promise๋ async/await, process.nextTick, Object.observe, MutationObserver์ ๊ฐ์ ๋น๋๊ธฐ ํธ์ถ์ ๋๊ฒจ๋ฐ๊ณ task๋ณด๋ค ์ฐ์ ์์๊ฐ ๋๋ค.
- Animation Frames
- requestAnmationFrame ๊ณผ ๊ฐ์ด ๋ธ๋ผ์ฐ์ ๋ ๋๋ง๊ณผ ๊ด๋ จ๋ task๋ฅผ ๋๊ฒจ๋ฐ๋ Queue์ด๋ค.
- ์ฐ์ ์์๋ Microtask๋ณด๋ค๋ ๋ฎ๊ณ , Task๋ณด๋ค๋ ๋๋ค.
์ด๋ฒคํธ ๋ฃจํ๊ฐ ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌํ๋ ์ฐ์ ์์๋ Microtask Queue → Animation Frames → Task Queue ์์ด๋ค.
ํ๋กํ ํ์
:์์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๊ณ , ๊ธฐ์กด์ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ์ฌ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐฉ์
function Person(name, first, second, third){
this.name=name;
this.first=first;
this.second=second;
}
์ด๋ฐ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค๊ณ ํ ๋
1. Person์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์๊ธฐ๊ณ ์ด์ ๋ฐ๋ผ Person's prototype์ด๋ผ๋ ๊ฐ์ฒด๋ก ์ถ๊ฐ๋ก ํจ๊ป ์๊ธด๋ค.
2. ์ด๋ฌํ Person์ ๊ฐ์ฒด์๋prototype์ด๋ผ๋ property๊ฐ ์๊ธฐ๋๋ฐ ์ด property๋ Person's prototype ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
Person.prototype === Person's prototype
3. Person's prototype ๊ฐ์ฒด ์ญ์ ์์ ์ด Person์ ์์์ด๋ผ๋ ๊ฒ์ ๊ธฐ๋กํด๋์ผ ํ๊ธฐ ๋๋ฌธ์ constructor์ด๋ผ๋ property๋ฅผ ๋ง๋ค๊ณ ์ด property๋ Person ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
4. ๊ทธ๋์ Person ํจ์๋ prototype property๋ฅผ ํตํด์, Person's prototype ๊ฐ์ฒด๋ constructor property ๋ฅผ ํตํด์ ์ํธ ์ฐธ์กฐ๋ฅผ ํ๊ณ ์๋ ๊ฒ.
์ด๋ฌํ Person ๊ฐ์ฒด๋ก ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค๋ฉด,
var kim= new Person('kim',10, 20)
>> kim์ด๋ผ๋ ๊ฐ์ฒด์ name, first, second ๊ทธ๋ฆฌ๊ณ __proto__ ๋ฅผ property๋ก ๊ฐ๊ณ ์ฌ๊ธฐ์ __proto__ ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ์ Person ๊ฐ์ฒด์ prototype property ์ด๋ฏ๋ก ์ฆ Person's prototype์ ๊ฐ๋ฆฌํค๋ ๊ฒ.
์น์คํ ๋ฆฌ์ง
: ์น์คํ ๋ฆฌ์ง์๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ธ์ ์คํ ๋ฆฌ์ง๊ฐ ์๋ค.
- ๋ก์ปฌ ์คํ ๋ฆฌ์ง
-๋ฐ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ → ์ ํจ๊ธฐ๊ฐ์ด ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ ์ ์ฉ
-๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋จ์์์
-๋์ผํ ๊ธฐ๊ธฐ, ๋์ผํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ ๊ณต์ ๋จ
-key-value ํํ๋ก ์ ์ฅ๋๋ฉฐ ๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅ
- ์ธ์ ์คํ ๋ฆฌ์ง
-์ธ ์ฐฝ์ ์์ฑํ ๋๋ง๋ค ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ
-๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง.
-key-value ํํ๋ก ์ ์ฅ๋๋ฉฐ ๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅ
๋ฌธ์์ด๋ง ์ ์ฅ ๊ฐ๋ฅํ ์น์คํ ๋ฆฌ์ง์ ๋จ์ ์ ๋ณด์ํ๋ ๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก indexedDB๊ฐ ์์.
- indexedDB
-๋ง์ ์์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ ์ฉ
-localStoage์ ๋ฌ๋ฆฌ JS๊ฐ ์ธ์ํ ์ ์๋ ์๋ฃํ๊ณผ ๊ฐ์ฒด๋ก ์ ์ฅ > ๋ฌธ์์ด์ด ์๋์ด๋ ๋๋ค.
-๋น๋๊ธฐ์ ์ผ๋ก ์๋
๐ญ๋ฐฐ์ด ์
ํ๋ฃจ ๋์ ๋ญ๊ฐ ๋ง์ ๊ฐ๋ ์ด ์ค์ณ ์ง๋๊ฐ ๊ฒ ๊ฐ๋ค ใ ใ ใ ์ด๋ ดํ์ด ์๊ณ ์์๋ ๊ฒ๋ ์์๊ณ ์ฒ์ ๋ค์ด๋ณด๋ ๊ฒ๋ ์์๋ค. ๊ฐ์ ๋ฃ๊ณ ์ ๋ฆฌํ๊ณ ์ถ๊ฐ๋ก ์ฐพ์๋ณด๊ธฐ๋ ํ์ง๋ง ์์ง ๋ ๊ถ๊ธํ ๊ฒ๋ค์ด ์๋ค. ํ ๋ฒ์ ๋ชจ๋ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฑด ์ด๋ ค์ด ์ผ์ธ ๊ฒ ๊ฐ๋ค. ํ๊ธฐํ ๊ฒ๊ณผ ๋ค๋ฅธ ๋ธ๋ก๊ทธ ์ ๋ฆฌ ๊ธ๋ค์ ๋ค์ ์ฝ์ด๋ณด๋ฉด์ ์ต์ํด์ ธ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค๊ณ ์ค์ ๋ก ์ค์ตํ ์ ์๋ ๊ฒ๋ค์ ํด๋ณด๊ณ ์ถ๋ค.
๋ด์ผ๋ถํฐ ์๋ฃ๊ตฌ์กฐ๋ผ๋ ์ฃฝ์ฌ์ค...
๐ป์์ผ๋ก ๋ฐฐ์ฐ๊ณ ์ถ์ ๊ฒ
-indexedDB ์ค์ตํด๋ณด๊ธฐ
-Webpack ์ค์ตํด๋ณด๊ธฐ
-์ ๊ทํํ์ ์ฐ์ตํด๋ณด๊ธฐ
์ฐธ๊ณ ์ฌ์ดํธ
-ํ๋ก๊ทธ๋๋จธ์ค ๋ฐ๋ธ ์ฝ์ค ๊ฐ์
'์ผ์ > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ๋ธ์ฝ์ค] 1์ฃผ์ฐจ ํ๊ณ (0) | 2022.10.24 |
---|---|
[๋ฐ๋ธ์ฝ์ค Day5] 2022.10.21 (7) | 2022.10.21 |
[๋ฐ๋ธ์ฝ์ค Day1] 2022.10.17 (0) | 2022.10.17 |
2022.10.12 (0) | 2022.10.12 |
2022.10.11 (0) | 2022.10.11 |