โ ์๊ธฐ๊ฐ ์ค์ํ ๊ฒ์ด ์๋๋ผ ์ดํด๊ฐ ์ค์ํ๋ค.
โ ๋ชจ๋ฅด๋ ๋ฌธ์ ๋ผ๋ ์์ ์๊ฒ ๋ต๋ณํ์.
โ ๋ต๋ณ์ ๋ฐ๋ผ ๊ผฌ๋ฆฌ๋ฌผ๊ธฐ ์ง๋ฌธ์ ํ ์ ์์ผ๋ ๋นํฉํ์ง ๋ง์.
๐ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
๐ HTML VS HTML5
- HTML (Hyper Text Markup Language)
- HTML5๋ HTML ํ์ค์ ๋ค์ฏ ๋ฒ์งธ ์
๊ทธ๋ ์ด๋ ๋ฒ์
HTML5
- ๋ฉํฐ๋ฏธ๋์ด ๊ธฐ๋ฅ - 3D, ์ค๋์ค, ์์ ๋ฑ Active X ์ค์น ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ
- ์น ์ ์ฅ ๊ธฐ๋ฅ - ์น ์ฌ์ดํธ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ PC์ ์ ์ฅํ ์ ์๋ ๋ฉ๊ฑฐ๋์ฆ ์ ๊ณต (๊ธฐ์กด ์ฟ ํค ๋ฐ ์ธ์
์ ํ๊ณ ํด์)
- ์น ์์ผ ๊ธฐ๋ฅ
- ์์น(Geolocation) ๊ธฐ๋ฅ
- CSS3
๐ GET VS POST
GET
- ์) ๊ฒ์ํ ๊ธ ์กฐํ
- ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์๋
- ์๋ฒ์ ์ ๋ณด๋ฅผ ์์ฒญํ ๋, ์ฟผ๋ฆฌ์คํธ๋ง์ ํตํด ๋ฐ์ดํฐ ์ ์ก
- ๋ฐ์ดํฐ ๊ธธ์ด ์ ํ์ด ์์
- ๋ณด์์ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด์์ ๋ณด๋ด๋ฉด ์ ๋จ
- SELECT
- Idempotent(๋ฉฑ๋ฑ) - ์๋ฒ์ ๋์ผํ ์์ฒญ์ ์ด๋ ค ๋ฒ ๋ณด๋ด๋๋ผ๋ ํญ์ ๋์ผํ ์๋ต์ด ๋์์ด
POST
- ์) ๊ฒ์ํ ๊ธ ์์ฑ
- ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑ ํน์ ์์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์๋
- ๋ฐ์ดํฐ๋ body์ ๋ด์ ๋ณด๋
- ๋ฐ์ดํฐ๊ฐ ๋
ธ์ถ๋์ง ์์ GET ๋ฐฉ์๋ณด๋ค ์์ ํจ
- CREATE, UPDATE
- Non-idempotent - ์๋ฒ์ ๋์ผํ ์์ฒญ์ ์ฌ๋ฌ ๋ฒ ๋ณด๋ด๋๋ผ๋ ์๋ต ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅผ ์ ์์
๐ TCP VS UDP
- TCP์ UDP๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
TCP (Transmission Control Protocol)
- ์ฐ๊ฒฐํ์ผ๋ก 3-Way Handshaking ๊ณผ์ ์ ํตํด์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅ
- ์ ์ก ์์๋ฅผ ๋ณด์ฅํ๋ ์๋๊ฐ UDP๋ณด๋ค ๋๋ฆผ
- ํ์ผ ์ ์ก๊ณผ ๊ฐ์ ์ ๋ขฐ์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ ์ฌ์ฉ
3-Way Handshaking
TCP๋ก ํต์ ํ๋ ์ฅ์น๊ฐ ์๋ก ์ฐ๊ฒฐ์ด ์ ๋์๋์ง๋ฅผ ํ์ธํ๋ ๋ฐฉ์
UDP (User Datagram Protocol)
- ๋น์ฐ๊ฒฐํ์ผ๋ก ์ฐ์์ฑ์ด ์ค์ํ ๊ณณ์ ์ฌ์ฉ (์คํธ๋ฆฌ๋ฐ ์๋น์ค)
- ์ ์ก ์์๊ฐ ๋ฐ๋ ์ ์์
- ์ ๋ขฐ์ฑ์ด ๋ฎ์ ๋์ ์๋๊ฐ ๋น ๋ฆ
๐ HTTP VS HTTPS
HTTP (Hyper Transfer Protocol)
- ๋ฐ์ดํฐ ์์ฒญ(request) ํน์ ์๋ต(response) ์ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ
- ์ํธํ๋์ง ์์ ํ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์์
- 80ํฌํธ๋ฅผ ์ฌ์ฉ
HTTP+SSL (Secure Socket Layer) => HTTP+S (Secure)
- HTTP์์ ๋ฐ์ดํฐ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ
- ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ๋๋ฌธ์ ์ 3์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์์
- 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ
HTTPS์ ์ํธํ ๋ฐฉ์
1. ๋์นญํค ์ํธํ
- ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํด ์ํธํ ํน์ ๋ณตํธํ ๊ณผ์ ์งํ
- ํค ๋
ธ์ถ ์ํ์ฑ์ด ํฐ ๋์ ์๋๊ฐ ๋น ๋ฆ
2. ๋น๋์นญํค ์ํธํ
- ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ์ฌ์ฉํด ์ํธํ ํน์ ๋ณตํธํ ๊ณผ์ ์งํ
- ํค๊ฐ ๋
ธ์ถ๋์ด๋ ๋น๊ต์ ์์ ํ ๋์ ์๋๊ฐ ๋๋ฆผ
๐ RESTful API
- REST(Representational State Transfer)์ ๊ท์น์ ์ง์ผ์ ๋ง๋ API
- ์ฑ๋ฅ์ ํฅ์ ๋ณด๋ค๋ ๊ท์น์ ํตํ API ์ดํด๋์ ํธํ์ฑ์ ๋์ด๊ธฐ ์ํจ
- ์ ์ง๋ณด์ ๋ฐ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์
REST๋ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ ์ํคํ
์ฒ์ ํ ํํ๋ฅผ ๋งํ๋ค.
๐ ๋๊ธฐ VS ๋น๋๊ธฐ
๋๊ธฐ (Synchronous) ๋ฐฉ์
- ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋จ
- ์์ฒญ์ ํ๊ณ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆผ (์์
์ ์์๋ฅผ ๋ณด์ฅ)
- ์ฌ๋ฌ ์์ฒญ์ ๋์์ ์ฒ๋ฆฌํ ์ ์์
- Blocking ๋ฐฉ์
๋น๋๊ธฐ (Asynchronous) ๋ฐฉ์
- ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋์ง ์์
- ์์ฒญ ํ ๊ฒฐ๊ณผ์ ์๊ด์์ด ๋ค์ ์์ฒญ์ ์งํ
- ์ฌ๋ฌ ์์ฒญ์ ๋์์ ์ฒ๋ฆฌ
- Non-Blocking ๋ฐฉ์
๐ ํ๋ก์ ์๋ฒ
ํ๋ก์ (Proxy) ์๋ฒ๋?
- Proxy๋ ๋๋ฆฌ๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์
- ํด๋ผ์ด์ธํธ(์ ์ )๊ฐ ํ๋ก์ ์์ ์ ๊ฑฐ์ณ ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ ์ํ ์ ์๋๋ก ์ค๊ฐ์์ ๋๋ฆฌ ์ญํ ์ ํ๋ ์๋ฒ
- ์ธํฐ๋ท์์ ์ ์ ๋ฅผ ๋์ ํด์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์๋ฒ
์ฌ์ฉ ์ด์
- ์บ์ ๋ฐ์ดํฐ ํ์ฉ
- ํ๋ก์ ์๋ฒ์ ์์ฒญ๋ ๋ด์ฉ์ ๊ตณ์ด ํ ๋ฒ ๋ ์๋ฒ๋ฅผ ๊ฑฐ์น ํ์๊ฐ ์๊ฒ ๋จ
- ์ ์ก ์๊ฐ์ ์๋ ์ ์์
- ๋ณด์ ๋ชฉ์
- ํ๋ก์ ์๋ฒ๋ก ์ค๊ฐ ๊ฒฝ์ ๋ฅผ ํ๊ฒ ๋๋ฉด IP ๋
ธ์ถ์ ํ์ง ์์๋ ๋จ
- ํ๋ก์ ์๋ฒ๋ฅผ ๋ฐฉํ๋ฒฝ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ๋ ํจ
๐ DNS (Domain Naming Server)
- ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IP ์ฃผ์์ ๋ณํ๊ธฐ ์ญํ
- 192.0.0.1๊ณผ ๊ฐ์ ์ซ์ IP ์ฃผ์๋ฅผ ์ฌ๋์ด ์ฝ์ ์ ์๋ ์ฃผ์๋ก ๋ณํ
๐ ํจํท (Packet)
- ํจํค์ง(package)์ ๋ฒํท(bucket)์ ํฉ์ฑ์ด๋ก ๋ฐ์ดํฐ์ ์ ์ก ๋จ์๋ฅผ ์๋ฏธ
- ๋คํธ์ํฌ๋ฅผ ํตํ ์ ๋ณด ์ ์ก์ ๊ธฐ๋ณธ ๋จ์
๐ ์ฟ ํค VS ์ธ์
์ฟ ํค (Cookie)
- ๋ธ๋ผ์ฐ์ ๋ก์ปฌ์ ์ ์ฅ๋๋ Key-Value ํํ์ ๋ฐ์ดํฐ ํ์ผ
์ธ์
(Session)
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋๊ธฐ ์ ๊น์ง ์ ์ ์ ์์ฒญ์ ์ ์งํ๊ฒ ํด์ฃผ๋ ๊ธฐ์
์ฐจ์ด์
- ์ ์ฅ ์์น - ์ฟ ํค๋ ๋ก์ปฌ์ ์ ์ฅํ์ง๋ง, ์ธ์
์ ๋ก์ปฌ๊ณผ ์๋ฒ์ ์ ์ฅ
- ์๋ช
์ฃผ๊ธฐ - ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข
๋ฃํด๋ ํ์ผ๋ก ๋จ์์์ง๋ง, ์ธ์
์ ๋ธ๋ผ์ฐ์ ์ข
๋ฃ ์ ์ญ์
- ์๋ - ์ฟ ํค๋ ํ์ผ์์ ์ฝ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ๋น ๋ฅด์ง๋ง, ์ธ์
์ ์์ฒญ๋ง๋ค ์๋ฒ์์ ์ฒ๋ฆฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ๋๋ฆผ
๐ ํ๋ก์ธ์ค VS ์ค๋ ๋
ํ๋ก์ธ์ค (Process)
- ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น ๋ฐ์ ์์
์ ๋จ์
์ค๋ ๋ (Thread)
- ํ๋ก์ธ์ค๊ฐ ํ ๋น ๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ ํ๋ฆ์ ๋จ์
์ฐจ์ด์
-
ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ๊ฐ๊ฐ ๋
๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(Code, Data, Stack, Heap)์ ํ ๋น ๋ฐ๊ณ , ํ๋์ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๋ฉด ํ๋์ ์ค๋ ๋๊ฐ ์์ฑ๋จ
-
์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์์ ๋์๋๋ ์คํ์ ํ๋ฆ์ผ๋ก ๊ฐ๊ฐ Stack๋ง ๋ฐ๋ก ํ ๋น ๋ฐ๊ณ , Code, Data, Heap ์์ญ์ ๊ณต์ ํจ
๐ ์ปจํ
์คํธ ์ค์์นญ (Context Switching)
- ํ๋์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์๋ ์ํ์์ ๋ค๋ฅธ ์ฐ์ ์์์ ์์ฒญ์ด ๋ค์ด์์ ๋, ๊ธฐ์กด์ ์ปจํ
์คํธ๋ฅผ ์ ์ฅํ๊ณ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๋๋ก ์๋ก์ด ์ปจํ
์คํธ๋ก ๊ต์ฒดํ๋ ์์
- ํ๋ก์ธ์ค์ ์ปจํ
์คํธ ์ค์์นญ์ ๊ฒฝ์ฐ ๊ณต์ ๋๋ ์์ญ์ด ์์ผ๋ฏ๋ก ์ปจํ
์คํธ ์ค์์นญ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆผ
- ์ค๋ ๋์ ๊ฒฝ์ฐ ๊ณต์ ์์ญ์ด ๋ง๊ธฐ ๋๋ฌธ์ ์ปจํ
์คํธ ์ค์์นญ์ด ํ๋ก์ธ์ค๋ณด๋ค ๋น ๋ฆ
๐ Heap VS Stack
ํ๋ก๊ทธ๋จ ์คํ์ ์ํด OS์์ ์ ๊ณตํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
1. ์ฝ๋ ์์ญ - ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ
2. ๋ฐ์ดํฐ ์์ญ - ์ ์ญ ๋ณ์์ ์ ์ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ
3. ์คํ ์์ญ - ์ง์ญ ๋ณ์์ ๋งค๊ฐ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ. ์ ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ ์ฅ๋๊ณ , LIFO(Last-In First-Out) ๋ฐฉ์
4. ํ ์์ญ - ์ ์ญ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ. ์ฌ์ฉ์์ ์ํด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋์ ์ผ๋ก ํ ๋น๋๊ณ , ํด์ ๋จ
๐ ์ฐธ๊ณ ๋ํผ๋ฐ์ค