์ค ์ธ์ ๋ด์ฉ๊น์ง ์ ๋ฆฌํด์ ์ ๋ก๋ํฉ๋๋ค! ์ญ์ฌ ์์ ํ๋ฏ์ด ์๋ ค์ฃผ์ ์ ์ฌ๋ฏธ์๊ฒ ๋ค์์ต๋๋ค.
๋ฌธ์์ด
1 Byte = 8 Bits
๋นํธ ํ๋ ๋น 0๊ณผ 1๋ก ๋๋์ด์ ํํํ ์ ์์ต๋๋ค. 1 Byte, ์ฆ 8 Bits ์ธ ๊ฒฝ์ฐ 256(2^8, 0~255)๊ฐ์ง์ ๊ฒฝ์ฐ๋ฅผ ํํํ ์ ์์ต๋๋ค. 1 ๋ฐ์ดํธ ์์ 0๊ณผ 1๋ก ํํํ ์ ์๋ 8๊ฐ์ ์นธ์ด ์๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
ASCII ์ฝ๋๋ ์์ด์ ์ซ์๋ง ํํํ ์ ์๋ ํ๊ณ๊ฐ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ๊ทธ๋ฆฌ๊ณ ์ ์ธ๊ณ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ปดํจํฐ์์ ์ผ๊ด๋๊ฒ ๋ค๋ฃฐ ์ ์๊ฒํ๊ธฐ ์ํด Unicode๊ฐ ๋ง๋ค์ด์ก์ต๋๋ค. Unicode๋ ์์ด ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ์ธ์ด์ ์ฌ๋ณผ ๋ฑ์ ํํํ ์ ์๋ ๋ฌธ์ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ์ธ์ฝ๋ฉ์ด๋ ์ด๋ค ๋ฌธ์๋ ๊ธฐํธ๋ฅผ ์ปดํจํฐ๊ฐ ์ด์ฉํ ์ ์๋ ์ ํธ๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค.
์ธ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก๋ ํฌ๊ฒ UTF-8๊ณผ UTF-16์ด ์์ต๋๋ค. (Unicode Tranformation Format)
๋ค์ ๋ถ์ด์๋ ์ซ์์ ์๋ฏธ๋ 8๋นํธ, 16๋นํธ ๊ธฐ์ค์ผ๋ก ์ธ์ฝ๋ฉํ๋ค๋ ๋ป์ ๋๋ค. UTF-8์ UTF-16์ ๋นํด ๋ฐ์ดํธ ์์๊ฐ ๊ณ ์ ๋์ด ์์ผ๋ฉฐ, 1 byte์์ 4 bytes๊น์ง์ ๊ฐ๋ณ๊ธธ์ด๋ฅผ ๊ฐ์ง๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ ๋๋ค. ๋ํ UTF-8์ ํ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 1 ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ์ง๋ง, UTF-16์ 2๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ต๊ทผ์๋ ๋๋ถ๋ถ UTF-8์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๊ทธ๋ํฝ
๊ทธ๋ํฝ์๋ ํฌ๊ฒ ๋นํธ๋งต(๋์คํฐ)๊ณผ ๋ฒกํฐ๋ก ๋๋์ด์ง๋๋ค.
๋นํธ๋งต(Bitmap) ๊ทธ๋ํฝ์ ๋ค์ํ ํฝ์ (์ )๋ค์ ์กฐํฉ์ผ๋ก ๊ทธ๋ ค์ง๋ ์ด๋ฏธ์ง ํํ ๋ฐฉ์(jpg, gif, png, bmp, psd)์ ๋๋ค. ๋นํธ๋งต ์ด๋ฏธ์ง๋ ์ ๊ตํ๊ณ ํ๋ คํ ํํ์ด ๊ฐ๋ฅํ์ฌ, ์ฃผ๋ก ์ฌ์ง ์ด๋ฏธ์ง์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๋นํธ๋งต ์ด๋ฏธ์ง๋ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๋ฉด ์๋ณธ ์ด๋ฏธ์ง์ ์์์ด ๊ฐ๋ ๊ฒ์ด ํน์ง์ด๋ฉฐ, '์ด๋ฏธ์ง๊ฐ ๊นจ์ก๋ค'๋ผ๊ณ ํํ๋๊ธฐ๋ ํฉ๋๋ค. ์ ๋ฌธ์ ์ธ ์ฉ์ด๋ก๋ ์จ๋ฆฌ์ด์ฑ(aliasing)์ด๋ผ๊ณ ํฉ๋๋ค. ์ด๋ฏธ์ง์ ๋ณต์ก๋์ ๋ฐ๋ผ ๋ฒกํฐ๋ก ๋ณํํ๋ ๋ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
๋ฒกํฐ(Vector)๋ ์์์ ๊ณผ ๋์ ์ ์ฐ๊ฒฐํด ์ํ์ ์๋ฆฌ๋ก Shape๋ฅผ ๊ทธ๋ ค ํํํ๋ ๋ฐฉ์(svg, ai)์ ๋งํฉ๋๋ค. ๋นํธ๋งต๊ณผ ๋ฌ๋ฆฌ ํฌ๊ธฐ๋ฅผ ํ๋ ์ถ์ํด๋ ํ์ง ์ ํ๊ฐ ์์ด ์ฃผ๋ก ๋ก๊ณ ์ผ๋ฌ์คํธ์ ๊ฐ์ด ์ ํ์ ์ ์ฉ๋๋ ์ด๋ฏธ์ง์ ์ฌ์ฉํฉ๋๋ค. ๋ํ ํฐ ํฌ๊ธฐ์ ๋ฒกํฐ ๊ทธ๋ํฝ์ ์์ ํ์ผ ์ฌ์ด์ฆ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค. ๊ทธ๋ผ์๋ ์ผ๋ฐ์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๋นํธ๋งต๋ณด๋ค ํฝ๋๋ค. ์๋ํ๋ฉด ์ ์ ์์์ , ๋์ , ๊ตต๊ธฐ, ๋ถ๋๋ฌ์ด ์ ๋, ์ปฌ๋ฌ ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ๋ค์ ๋ฃ์ด์ค์ผํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด์์ฒด์
Mac OS, Android, Ubuntu ๋ฑ์ด ์ด์์ฒด์ ์ ๋๋ค. ์ปดํจํฐ๋ฅผ ํค๋ ์๊ฐ ํ๋์จ์ด๊ฐ ์ด์์ฒด์ ๋ผ๋ ํ๋ก๊ทธ๋จ์ ์คํ์ํต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด์์ฒด์ ๋ VS Code, Chrome, ์นด์นด์คํก ๋ฑ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํ์ํต๋๋ค. ์ด์์ฒด์ ์ ๊ธฐ๋ฅ์ผ๋ก๋ ํฌ๊ฒ ์๋ ์ธ๊ฐ์ง์ ๊ฐ์ต๋๋ค.
- ์ฌ์ฉ์์๊ฒ ํธ๋ฆฌํ GUIํ๊ฒฝ์ ์ ๊ณตํจ
- ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ์จ์ด์ ๋๋ผ์ด๋ธ๋ฅผ ๊ด๋ฆฌํจ
- ์์ฉํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ํด์ค
ํ๋ก์ธ์ค (Process) / ์ค๋ ๋ (Thread) / ๋ฉํฐ ์ค๋ ๋ (Multi-thread)
์ฌ์ฉ์๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ์ด์์ฒด์ ๋ ์์ฉํ๋ก๊ทธ๋จ์๊ฒ ํ๋ก์ธ์ค๋ผ๋ ๋ ์ ์ค๋๋ค.
์ฌ๊ธฐ์ Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ ๊ฐ ์คํํ๋ฉด ๋ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋ฉ๋๋ค. ์ฆ, ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ค ํ๋ก์ธ์ค๋ฅผ ๋ง๋ค๊ธฐ๋ ํฉ๋๋ค.
๋ (ํ๋ก์ธ์ค)์์ ์ผํ๋ ์ผ๊พผ๋ค์ด ์ค๋ ๋๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๋ ์ค๋ ๋๋ ํ๋ฒ์ ํ๊ฐ์ง ์ผ๋ฐ์ ๋ชปํฉ๋๋ค. ๋๊ฐ์ง ์ผ์ ๋์ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฉํฐ์ค๋ ๋๋ผ๋ ๊ฐ๋ ์ ๋์ ํ์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์์์ ๋ฉํฐํ์คํน์ ๋๋ค.
ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ด ์ฌ๋ฌ๊ฐ์ ์ค๋ ๋๋ฅผ ํ๋ํ๋ ๊ด๋ฆฌํด์ค์ผ ํ๋ค๋ ์ ์ ๋๋ค. ์ผ์ผ์ด ์ฐ๊ฒฐํด์ฃผ๊ณ , ์ผ์ผ์ด ์งํ์ํฉ์ ํ์ธํด์ผ ํด์ ๋ฒ๊ฑฐ๋ก์์ด ์๊ฒผ์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋น๋๊ธฐ ๊ฐ๋ ์ด ๋์ ๋์์ต๋๋ค. Node.js๊ฐ ์์์ ๋น๋๊ธฐ ์์ ์ ํตํด ์ผ๊พผ์ ๊ณ ์ฉ๋ถํฐ ์์ ์ด ๋ง๋ฌด๋ฆฌ๋ ๋๊น์ง ๊ด๋ฆฌํ ํ, ๋๋๊ณ ๋์ ๊ฐ๋ฐ์์๊ฒ ์๋ ค์ค๋๋ค. ๋น๋๊ธฐ ๋๋ถ์ ์ค๋ ๋๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค.
๊ฐ๋น์ง ์ปฌ๋์ (Garbage Collection, GC)
๋ฉด์ ๋จ๊ณจ ์ง๋ฌธ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ์๋ ์คํ๊ณผ ํ์ด ์์ต๋๋ค. GC๋ ๊ทธ ์ค ๋ฉ๋ชจ๋ฆฌ ์ ํ์ ์๋ ์ฐธ์กฐ๋งํฌ๊ฐ ๋๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. GC๊ฐ ์ค์ํ ์ด์ ๋ ๋ฐ์ํ๋ ์๊ฐ ์ ์ ๋ฉ์ถ๊ธฐ์ ํ๋ก๊ทธ๋จ ์คํ์๋๊น์ง ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ๋๋ค.
let a; // ์คํ์ ์ ์ฅ. a์ ์ค์ ์ ์ฅ์ด ๋ ๊ฒ์ ์์ 10์ ์ฃผ์๊ฐ
a = 10; // ํ์ ์ ์ฅ. ์ฐธ์กฐ ์๋ฃํ
let b = 10; //a์ ๊ฐ์ ์ฃผ์๊ฐ
console.log("result" + a); // ์ด ๊ฒฝ์ฐ, a๋ก ๊ฐ๊ณ a ์์ ์๋ 10์ ์ฃผ์๊ฐ์ผ๋ก ๊ฐ์ 10์ ๊ฐ์ง๊ณ ์ด.
// ์ดํ์ a๋ฅผ ์์ด๋ค๋ฉด, a๋ ์ธ๋ชจ ์๋ ์ ๊ฐ ๋จ. ๊ทธ๋ผ ํ๋ก๊ทธ๋๋ฐ์์๋ ์คํ์ ๋น์. a๊ฐ ์ฌ๋ผ์ง
// ํ์ ์๋ 10์ ์ฃผ์๊ฐ ๋งํฌ ๋์ด์ง. GC
์บ์ (Cache)
๋ฐ์ดํฐ๋ ๊ฐ์ ์ ์ฅํ๋ '์์' ๋ฐ์ดํฐ์ ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ 'ํ๋ฒ ์์ฒญ์ ํด์ ๋ฐ์์จ ๋ฐ์ดํฐ'์์ ๋ณํ๋์ง ์๋ณํ๋์ง์ ๋ฐ๋ผ ์บ์ ์ฌ๋ถ๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค. ์์ฉํ๋ก๊ทธ๋จ๋ณ๋ก ์บ์๊ฐ ์กด์ฌํ๊ณ , ํด๋ผ์ด์ธํธ, ์๋ฒ ๋ฑ ๋ค์ํ ๊ณณ์์ ์บ์๋ ์์ต๋๋ค.
์บ์์ ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก RAM(Random Access Memory)๊ณผ ๊ฐ์ด ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋ ํ๋์จ์ด์ ์ ์ฅ๋๋ฉฐ, ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ํจ๊ป ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค. ์บ์๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ๊ณ์ธต(SSD, HDD)์ ์์ธ์คํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ ๋๋ฆฐ ์์ ์ ์๊ตฌ๋ฅผ ์ค์ด๊ณ , ๋ฐ์ดํฐ ๊ฒ์์ ์ฑ๋ฅ์ ๋์ ๋๋ค.
์บ์์ ์ฅ์ ์ผ๋ก๋ ์๋์ ๊ฐ์ต๋๋ค
- ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๊ฐ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ฉ ์ ๊ฐ
- ๋ฐฑ์๋ ๋ถํ ๊ฐ์
- ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํซ์คํ ์ ๊ฑฐ
- ์ฝ๊ธฐ ์ฒ๋ฆฌ๋ ์ฆ๊ฐ: Input/Output operations per second(IOPS)๋ก HDD, SSD ๋ฑ์ ์ปดํจํฐ ์ ์ฅ ์ฅ์น์ ์ฑ๋ฅ ์ธก์ ๋จ์
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| TIL 62: [๋ฐฐํฌ] Amazon Web Service (0) | 2021.10.30 |
|---|---|
| TIL 60: [๋คํธ์ํฌ] ์ฌํ (0) | 2021.10.27 |
| TIL 58: [์ธ์ฆ/๋ณด์] ๊ธฐ์ด - OAuth 2.0 (0) | 2021.10.25 |
| TIL 57: [์ธ์ฆ/๋ณด์] ๊ธฐ์ด - ํ ํฐ(Token) (1) | 2021.10.25 |
| TIL 56 - 2: [์ธ์ฆ/๋ณด์] ๊ธฐ์ด (0) | 2021.10.22 |