์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JS#3์ผ์ฐจ๋ฌ๋ฆฌ์#์ด๋ฐ์ธ๋ฐ#์๊ฐ๊ธ๋ฐฉ~
- https://developer-talk.tistory.com/299
- User Flow
- ์๋ฐ์คํฌ๋ฆฝํธ#์กฐ๊ฑด๋ฌธ#๋ฌธ์์ด
- https://lo-victoria.com/introduction-to-redux-toolkit-for-beginners
- UX
- cmarket
- redux์ํ์ ์ง
- @redux-toolkit
- ์๋ฐ์คํฌ๋ฆฝํธ#JS#slice#splice
- toString#String
- ํท๊ฐ๋ฆฐ๋ค~
- Beesbeesbees
- ๋ ธ๋๊ต๊ณผ์
- slice/splice/split
- react
- variable#function
- ์๋ฐ์คํฌ๋ฆฝํธ
- https://dasima.xyz/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%A0%9C%EA%B3%B1-math-pow-%EA%B3%84%EC%82%B0/
- for~in/for~of
- ใทใ
- CSS
- children vs childrenNodes
- dom
- https://www.daleseo.com/js-array-slice-splice/
- js
- ์๋ฐ์คํฌ๋ฆฝํธ#JS#var#let#const#undefined#null
- removeCookie
- ๋ด์ฅ๊ณ ์ฐจํจ์
- UI
- Today
- Total
Daily Front_Minhhk
์ปดํจํฐ ๊ณตํ - ๊ตฌ์กฐ, ์ด์์ฒด์ ๋ณธ๋ฌธ
๐ฅ๏ธ ์ปดํจํฐ ๊ตฌ์กฐ
์ ๋ ฅ ์ฅ์น
์ ๋ ฅ์ฅ์น๋ ์ปดํจํฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ํํ๋ก ๋ฐ์ดํฐ์ ๋ช ๋ น์ ๋ฐ์๋ค์ด๋ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น์ ๋๋ค.
์ถ๋ ฅ ์ฅ์น
์ถ๋ ฅ์ฅ์น๋ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋์ด ์ดํดํ ์ ์๋ ํํ๋ก ์ถ๋ ฅํ๋ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น๋ฅผ ์๋ฏธํฉ๋๋ค.
์ค์์ฒ๋ฆฌ์ฅ์น
CPU์ ๋ด๋ถ ๊ตฌ์ฑ์ ํฌ๊ฒ ์ฐ์ /๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น(ALU)์ ์ ์ด ์ฅ์น, ๋ ์ง์คํฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ ์ฅ ์ฅ์น
์ ์ฅ์ฅ์น๋ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋ณด๊ดํ๊ธฐ ์ํ ์ผ์ฐจ ๊ธฐ์ต ์ฅ์น์ธ ์ฃผ ๊ธฐ์ต ์ฅ์น(Memory)์
์ฃผ ๊ธฐ์ต ์ฅ์น๋ฅผ ๋ณด์กฐํ๊ธฐ ์ํ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๊ฐ ์กด์ฌํ๊ณ ์์ต๋๋ค.
CPU
CPU์ ๊ตฌ์กฐ
CPU ์ ๋ด๋ถ ๊ตฌ์ฑ์ ํฌ๊ฒ ์ฐ์ /๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น(ALU), ์ ์ด ์ฅ์น์ ๋ ์ง์คํฐ๋ก ๊ตฌ์ฑ
์ฐ์ /๋ ผ๋ฆฌ ์ฐ์ฐ์ฅ์น : ๊ฐ์ฐ๊ธฐ, ๋ณด์๊ธฐ, ๋์ฐ๊ธฐ, ๊ธฐ์ต ๋ ์ง์คํฐ, ๋ฐ์ดํฐ ๋ ์ง์คํฐ ๋ฑ์ผ๋ก ๊ตฌ์ฑ
์ ์ด ์ฅ์น : ์๊ทธ๋์ ํตํด์ ๋ฐ์ดํฐ ํ๋ฆ์ ํต์ ํ๋ ๊ฒ (ํ๋ก๊ทธ๋จ ๊ณ์๊ธฐ, ๋ช ๋ น ๋ ์ง์คํฐ, ๋ช ๋ นํด๋ ๊ธฐ ๋ฑ)
๋ ์ง์คํฐ : ๋ ์ง์คํฐ(Register)๋ ์ค์์ฒ๋ฆฌ์ฅ์น(CPU) ๋ด๋ถ์ ์๋ ๊ธฐ์ต์ฅ์น
CPU์ ๊ธฐ๋ฅ
๋ช ๋ น์ด ์ธ์ถ ๋ฐ ํด๋ ์ ๋ชจ๋ ๋ช ๋ น์ด๋ค์ ๋ํ์ฌ ๊ณตํต์ ์ผ๋ก ์ํํ๋ฉฐ ๊ธฐ์ต ์ฅ์น๋ก๋ถํฐ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ์ธ์ถ ๋ฐ ์ฒ๋ฆฌ, ์ฐ๊ธฐ์ ๊ฐ์ ๊ฒ๋ค์ ๋ช ๋ น์ด์ ๋ฐ๋ผ ํ์ํ ๋๋ง ์ํํฉ๋๋ค.
๋ช ๋ น์ด๋ ์์คํ ์ด ํน์ ๋์์ ์ํ์ํค๋ ์์ ๋จ์์ ๋๋ค.
๋ช ๋ น์ด๋ ์ฝ๋๋ก ๋์ด ์๋๋ฐ,
๋์์ฝ๋(Op-code : Operational Code)์ ์คํผ๋๋(Operand)๋ก ๊ตฌ์ฑ
- ๋์ ์ฝ๋(Op-code): ๊ฐ ๋ช ๋ น์ด์ ์คํ ๋์์ ๊ตฌ๋ถํ์ฌ ํํ
- ์คํผ๋๋(Operand): ๋ช ๋ น์ด์ ์คํ์ ํ์ํ ์๋ฃ๋ ์ค์ ์๋ฃ์ ์ ์ฅ ์์น๋ฅผ ์๋ฏธ
๋ช ๋ น์ด ์ํ ๊ณผ์ ์ผ๋ก๋
- ์ฝ๊ธฐ(Fetch Instruction, FI): ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ ๊ฐ์ ธ์ต๋๋ค.
- ํด์(Decode Instruction, DI): ๋ช ๋ น์ ํด์ํฉ๋๋ค.
- ์คํ(Execute Instruction, EI): ๋ช ๋ น์ ์ํํฉ๋๋ค.
- ๊ธฐ๋ก(Write Back, WB): ์ํํ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
๋ช ๋ น์ด ์ฒ๋ฆฌ ๋ฐฉ์์ผ๋ก๋,
RISC : ๋ช ๋ น์ด ์ธํธ๋ฅผ ๋จ์ํ ์์ผ์ ์ฒ๋ฆฌํ๋ ํํ์ ๊ตฌ์กฐ,, ๋จ์ํ ๋ช ๋ น์ ์กฐํฉํด์ ํ๋์ ๊ธฐ๋ฅ์ ์ํ
CISC : ํ๋์ ๊ธฐ๋ฅ์ ํด๋นํ๋ ํ๋์ ๋ช ๋ น์ด ์๋ ๊ฐ๋
CISC
- ์ฌ๋ฌ ์ฌ์ดํด๋ก ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ๋ง์ ๋ช ๋ น์ด๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋๋ค.
- ํ์ดํ๋ผ์ด๋์ ์ฌ์ฉ์ด ์ด๋ ต์ต๋๋ค.
- ๋ณต์กํ ๋ง์ดํฌ๋ก ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค.
RISC
- ํ๋์ ์ฌ์ดํด๋ก ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ Load / Store ๋ช ๋ น๋ง ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋๋ค.
- ํ์ดํ๋ผ์ด๋, ์ํผ์ค์นผ๋ผ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ณต์กํ ์ปดํ์ผ๋ฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค.
๐พ Memory
CPU ์ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ ๋ ์ง์คํฐ ๋ฉ๋ชจ๋ฆฌ, ์บ์ ๋ฉ๋ชจ๋ฆฌ, ์ฃผ๊ธฐ์ต ์ฅ์น, ๋ณด์กฐ๊ธฐ์ต ์ฅ์น๋ ๊ฐ๊ฐ ๊ทธ ํน์ฑ
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐจ์ด๋ 'ํ๋ฐ์ฑ' ์ด๋ค.
- ๋ฉ๋ชจ๋ฆฌ๋ ์์คํ ์ด ํ์ฑํ ๋ ์ํ์์ ๊ฐ์ด ์์ง๋ง ์์คํ ์ด ๊บผ์ง๊ฒ ๋๋ฉด ์ง์์ง๋ค.
์ฃผ๊ธฐ์ต์ฅ์น
RAM(Random Access Memory)
- ์ปดํจํฐ์ ์ ์์ด ๋์ด์ง๋ฉด ๋ด์ฉ์ด ํ๋ฐ๋์ด ๋ณด์กฐ ์ ์ฅ ์ฅ์น๊ฐ ๋ฐ๋์ ํ์
- RAM์ ํฌ๊ธฐ๋ ํ๋ก๊ทธ๋จ์ ์ํ ์๋์ ์ํฅ
- RAM์ ์ข ๋ฅ์๋ SRAM(๋ฆฌํ๋ ์ฌ๊ฐ ํ์ ์๊ณ ์ ๋ ฅ ์๋ชจ๊ฐ ์ ์ผ๋ ๋น์)๊ณผ DRAM(๋ฆฌํ๋ ์ฌ๊ฐ ํ์ํ๊ณ SRAM๋ณด๋ค ์ ๊ฐ์ด๋ฉฐ ๋ง์ด ์ฌ์ฉ)
ROM(Read Only Memory)
- ๋๋ถ๋ถ ์ฝ์ ์๋ง ์๋ ์ฅ์น๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ์ ์์ด ๋๊ฒจ๋ ๋ด์ฉ์ด ๋ณด์กด์ด ๋ฉ๋๋ค.
๋ณด์กฐ๊ธฐ์ต์ฅ์น
์๊ธฐ ๋์คํฌ
- ์ํ ํ๋ฉด์ ์ฒ ์ ์์ ๋ฐฉํฅ(N/S๊ทน)์ผ๋ก 0๊ณผ 1์ ํํํฉ๋๋ค.
- ๋์คํฌ ๋๋ผ์ด๋ธ๋ ์๊ธฐ ๋์คํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ฃผ๋ณ ์ฅ์น๋ฅผ ์๋ฏธํฉ๋๋ค.
- ์๊ธฐ ๋์คํฌ์๋ ํ๋กํผ ๋์คํฌ(FDD)์ ํ๋ ๋์คํฌ(HDD)๊ฐ ์๋ค.
๊ด ๋์คํฌ
- ๊ด ๋์คํฌ(optical disc, OD)๋ ๋น์ ๋ฐ์ฌ๋ฅผ ์ด์ฉํ์ฌ ์๋ฃ๋ฅผ ์ฝ์ด๋ด๋ ์ ์ฅ ๋งค์ฒด
- 1์ธ๋์ธ CD๋ถํฐ ์์ํด 2์ธ๋ DVD๋ฅผ ๊ฑฐ์ณ 3์ธ๋์ธ ๋ธ๋ฃจ๋ ์ด ๋์คํฌ๊น์ง ์กด์ฌํ๊ณ ์์ต๋๋ค.
- ์ฐจ์ธ๋ ๋์คํฌ๋ก๋ ํ ๋ผ ๋์คํฌ๋ HVD๋ฑ์ด ์กด์ฌํฉ๋๋ค.
ํ๋์ ๋ฉ๋ชจ๋ฆฌ
- ์ ์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ณ ์ธ ์ ์๋ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ๋ก ์ถฉ๊ฒฉ์ ๊ฐํ์ฌ ํด๋์ฉ ๊ธฐ๊ธฐ์ ๋๋ฆฌ ์ด์ฉ,
- ํ๋์ ๋ฉ๋ชจ๋ฆฌ์๋ USB์ SSD๊ฐ ์กด์ฌํ๊ณ ์์ผ๋ฉฐ,
- SSD๋ HDD์ ๋ฌ๋ฆฌ ๋์คํฌ, ํค๋์ ๊ฐ์ ๊ธฐ๊ณ์ ์ฅ์น๋ ๋น ์ก์ง๋ง ์ ์ ๋ ฅ, ์ ์์, ์ ์ค๋์ด๋ผ๋ ํน์ง
์บ์ ๋ฉ๋ชจ๋ฆฌ(Cache Memory)
‘Cache’๋ผ๋ ์๋ฏธ๋ ๋ณด๊ด์ด๋ ์ ์ฅ์ ์๋ฏธ
CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ์กด์ฌํ๋ค๊ณ ๋งํ ์ ์๋๋ฐ,
CPU ๋ด์ ์กด์ฌํ ์๋ ์๊ณ ์ญํ ์ด๋ ์ฑ๋ฅ์ ๋ฐ๋ผ์๋ CPU ๋ฐ์ ์กด์ฌํ ์๋ ์๋ค.
CPU๊ฐ ํ์ํ ๋ฐ์ดํฐ๊ฐ Cache Memory ๋ด์ ๋ค์ด์ ์์ผ๋ฉด ‘Cache Hit’๋ผ ํ๊ณ
์ ๊ทผํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒฝ์ฐ๋ฅผ ‘Cache Miss’
์ด๋ฌํ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ์์ ์๋ ์๊ณ ์์ ์๋ ์๋๋ฐ, ์ด๋ ์ํ๋ ๋ฐ์ดํฐ๊ฐ Cache์ ์์ ํ๋ฅ ์ ‘Hit Ratio’๋ผ ํฉ๋๋ค.
โ๏ธ ์ด์์ฒด์ ์ ๋ชฉ์ ๋ฐ ๊ธฐ๋ฅ
๋ชฉ์ : ์ฒ๋ฆฌ๋ฅ๋ ฅ ํฅ์, ์ฌ์ฉ๊ฐ๋ฅ๋ ํฅ์, ์ ๋ขฐ๋ ํฅ์, ๋ฐํ์๊ฐ ๋จ์ถ
๊ธฐ๋ฅ : ์์๊ด๋ฆฌ, ์ค์ผ์ค๋ง, ์ธํฐํ์ด์ค, ํ๋์จ์ด ๋คํธ์ํฌ ๊ด๋ฆฌ์ ์ด
์ด์ ์ฒด์ ์ ์์คํ ์์ ๊ด๋ฆฌ
์ด์์ฒด์ ๊ฐ ์๋ค๋ฉด, ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ๋ ์ ์์ผ๋ฉฐ,
์์ฉ ํ๋ก๊ทธ๋จ์ ์ปดํจํฐ๋ฅผ ์ด์ฉํด ๋ค์ํ ์์ ์ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๊ณ ,
์ด์์ฒด์ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ๋์จ์ด์๊ฒ ์ผ์ ์ํฌ ์ ์๋๋ก ๋์์ค๋๋ค.
์์คํ ์์์ ๊ด๋ฆฌํ๋ ์ฃผ์ฒด๊ฐ ๋ฐ๋ก ์ด์์ฒด์ ์ ๋๋ค.
- ํ๋ก์ธ์ค ๊ด๋ฆฌ(CPU)
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- I/O(์ ์ถ๋ ฅ) ๊ด๋ฆฌ (๋์คํฌ, ๋คํธ์ํฌ ๋ฑ)
ํ๋ก์ธ์ค ๊ตฌ์ฑ์์
- ์ ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ๊ด๋ฆฌ VAD
ํ๋ก์ธ์ค ๋ณ๋ก ๋ ๋ฆฝ๋ ์์ญ์ ๊ฐ์ง๊ฒ ๋จ. ์ปค๋ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ์ ๊ฒฝ์ฐ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ํด ์ฌ์ฉํ๋ค. ๋ ๋ฆฝ๋ ์์ญ์ ๊ด๋ฆฌํ๊ธฐ ์ํด VAD๋ผ๋ ๊ด๋ฆฌ ํ ์ด๋ธ์ด ์กด์ฌํจ - ํธ๋ค ํ
์ด๋ธ
ํ๋ก์ธ์ค์์ ์ฌ์ฉํ๋ ๋ชจ๋ ํธ๋ค์ ๋ํ ์ปค๋ ๊ฐ์ฒด ํฌ์ธํฐ ์ ๋ณด๋ฅผ ๋ฐฐ์ด ํํ๋ก ๊ฐ์ง๊ณ ์๋ ๊ณต๊ฐ. ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ ๋ ์ด ํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํด ์ด ํ๋ก์ธ์์์ ์ฌ์ฉํ๊ณ ์๋ ๋ชจ๋ ์ปค๋ ๊ฐ์ฒด ์๋๋ฐํ - ๋
๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ
ํ๋ก์ธ์ค ๋จ์๋ก ๊ด๋ฆฌ๋๋ ์์ ์ค ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
ํ์ด์ง๊ธฐ๋ฒ์ ์ด์ฉํด ํ๋ก์ธ์ค๋ง๋ค ๋ณ๋์ ๊ณ ์ ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.
ํ๋ก์ธ์ค ํน์ง
- ์์ ์์ ๋จ์
๊ฐ ํ๋ก์ธ์ค๋ ์์ ์ ์คํ ์ด๋ฏธ์ง ๋ก๋์ ์คํ์ ํ์ํ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ์ ๊ฐ๊ณ ์์ด์ผํจ.
ํด๋น ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๊ณ ์ ํ๋ ํ์ผ, ์ ์ถ๋ ฅ ์ฅ์น๋ค์ ๋ํด์ ํ๋ก์ธ์ ๋จ์๋ก ํ ๋น๋ฐ์ ๊ด๋ฆฌ๋จ. - ๋์คํจ์นญ ๋จ์: ์ค๋ ๋
์ฌ๋ฌ ํ๋ก์ธ์ค์ ๋ณ๋ ฌ์ ์ธ ์คํ์ ์ํด ํ๋์ ํ๋ก์ธ์ค์์ ์ฌ๋ฌ๊ฐ์ ๋์คํจ์นญ ๋จ์๊ฐ ์คํ๋ ์ ์๋๋ก ํ๋ค.
ํ๋ก์ธ์ค ์ํ
์์ฑ -> ์ค๋น -> ์คํ -> ๋๊ธฐ -> ์๋ฃ
๐ง ํ๋ก์ธ์ VS ํ๋ก์ธ์ค
ํ๋ก์ธ์(Processor)
- ํ๋์จ์ด์ ์ธ ์ธก๋ฉด : ์ปดํจํฐ ๋ด์์ ํ๋ก๊ทธ๋จ์ ์ํํ๋ ํ๋์จ์ด ์ ๋์ผ๋ก, ์ค์์ฒ๋ฆฌ์ฅ์น(CPU)๋ฅผ ์๋ฏธํ๋ฉฐ ์ ์ด๋ ํ๋ ์ด์์ ALU์ ๋ ์ง์คํฐ๋ฅผ ๋ด์ฅ
- ์ํํธ์จ์ด์ ์ธ ์ธก๋ฉด : ๋ฐ์ดํฐ ํฌ๋งท์ ๋ณํํ๋ ์ญํ ์ ์ํํ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์คํ ์ ์๋ฏธํฉ๋๋ค. ์๋ํ๋ก์ธ์๋ ์ปดํ์ผ๋ฌ ๋ฑ
ํ๋ก์ธ์ค(Process)
ํ๋ก์ธ์ค๋ ํน์ ๋ชฉ์ ์ ์ํํ๊ธฐ ์ํด ๋์ด๋ ์์ ์ ๋ชฉ๋ก์ ์๋ฏธ.
๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ๋์ด ํ๋ก์ธ์์ ์ํด ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค
์ค๋ ๋๋?
์ค๋ ๋๋ ๋ช ๋ น์ด๊ฐ CPU ๋ฅผ ํตํด์ ์ํ๋๋ ๊ฐ์ฒด์ ๋จ์
ํ๋์ ํ๋ก์ธ์ค ๋ด์๋ ๋ฐ๋์ 1๊ฐ ์ด์์ ์ค๋ ๋๊ฐ ์กด์ฌ
์ค๋ ๋๋ ๊ฐ์ ํ๋ก์ธ์ค์ ์๋ ์์๊ณผ ์ํ๋ฅผ ๊ณต์
๊ฐ์ ํ๋ก์ธ์ค ๋ด์ ์๋ ์ค๋ ๋๋ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ์กด์ฌํ๊ฒ ๋๋ฉฐ ๋์ผํ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๊ณ ,
ํ๋์ ์ค๋ ๋๊ฐ ์์ ํ ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ ์ค๋ ๋์ ์ํฅ์ ์ฃผ๋ฉฐ,
ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๋ฉด ๊ทธ ํ๋ก์ธ์ค์ ์ํด์๋ ์ค๋ ๋๋ ํจ๊ป ์ข ๋ฃ๋๋ค!
์ค๋ ๋์ ํน์ง
- ์ค๋ ๋๋ ์์ํด์ ์ข ๋ฃํ ๋๊น์ง ํ๋ฒ์ ํ๋์ฉ ๋ช ๋ น๋ค์ ์ํ
- ๊ฐ ์ค๋ ๋๋ง๋ค call stack์ด ์กด์ฌ (call stack: ์คํ ์ค์ธ ์๋ธ๋ฃจํด์ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ)
- ๋๋จธ์ง Code, Data, Heap ์์ญ์ ์ค๋ ๋ ๋ผ๋ฆฌ ๊ณต์
- ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- ์ค๋ ๋๋ ๋ค๋ฅธ ์ค๋ ๋์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์
์ฑ๊ธ ์ค๋ ๋(Single-Thread)
ํ๋ก์ธ์ค๊ฐ ๋จ์ผ ์ค๋ ๋๋ก ๋์ํ๋ ๋ฐฉ์
์ฑ๊ธ ์ค๋ ๋์ ์ฅ์
- ์์ ์ ๊ทผ์ ๋ํ ๋๊ธฐํ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค
- ๋ฌธ๋งฅ ๊ตํ์์ ์ ์๊ตฌํ์ง ์์
- ๋์ด๋๋ ์ฝ๊ณ , CPU๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒ ์ฌ์ฉ
์ฑ๊ธ ์ค๋ ๋์ ๋จ์
- ์ฌ๋ฌ๊ฐ์ CPU ํ์ฉํ์ง ๋ชปํจ
- ์ฐ์ฐ๋์ด ๋ง์ ์์ ์ ์ ์ ๋ ์์ ์ด ์๋ฃ๋์ด์ผ ๋ค๋ฅธ ์์ ์ํ ๊ฐ๋ฅ
- ์๋ฌ์ฒ๋ฆฌ๊ฐ ์๋๋ฉด ๋ฉ์ถ๋ค.
๋ฉํฐ ์ค๋ ๋(Multi-Thread)
ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ๋ ์ด์์ ์ค๋ ๋๊ฐ ๋์์ ์์ ,
์ฌ๋ฌ ๊ฐ์ CPU๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ๋์์ ์ํ
๋ฉํฐ ์ค๋ ๋์ ์ฅ์
- ์ค์๊ฐ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์๋ต
- ํ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ํ๋ก์ธ์์์ ์ํ(ํจ์จ์ )
๋ฉํฐ ์ค๋ ๋์ ๋จ์
- ํ๋ ์ค๊ณ์, ๋๋ฒ๊น ์ด ์ด๋ ต๋ค
- ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์ค๋ ๋๋ฅผ ์ ์ดํ ์ ์์
- ์์ ๊ณต์ ๋ฌธ์ > ํ ์ค๋ ๋์ ๋ฌธ์ ๋ฐ์ ์ ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ์ํฅ
- ๋ฌธ๋งฅ ๊ตํ ์์ ํ์ -> ๋ค๋ฅธ ํ์คํฌ(ํ๋ก์ธ์ค, ์ค๋ ๋)๊ฐ ์์ํ ์ ์๋๋ก ์ด๋ฏธ ์คํ ์ค์ธ ํ์คํฌ(ํ๋ก์ธ์ค, ์ค๋ ๋)๋ฅผ ๋ฉ์ถ๋ ๊ฒ
๐ฉ ๊ฐ๋น์ง ์ปฌ๋ ์
๊ฐ๋น์ง ์ปฌ๋ ์
๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํ๋ก๊ทธ๋จ์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ
๋ฉ๋ชจ๋ฆฌ ์์กด์ฃผ๊ธฐ
๋ฉ๋ชจ๋ฆฌ ์์กด ์ฃผ๊ธฐ๋ ๊ทธ ์ด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ด๊ณ ์์ด ๋น์ทํ๋ฉฐ
- ํ์ํ ๋ ๊ฐ๋ฐ์๊ฐ ํ ๋น
- ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉ (Read and Write)
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ด์ ํ์ํ์ง ์์ผ๋ฉด ํด์
JavaScript๋ C์ธ์ด์๋ ๋ฐ๋๋ก ๊ณ ์์ค ์ธ์ด๋ก์,
1,3 ๋ฒ์ ์๋ฌต์ ์ผ๋ก ์๋ํ๋ค!
๊ฐ์ฒด๊ฐ ์์ฑ๋์์ ๋ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๊ณ ํ์ํ์ง ์๋ค๋ฉด ์๋์ผ๋ก ํด์ ํ๋ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ๋ด์ฅ
๋ํ์ ์ธ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๋ฐฉ๋ฒ
์ฐธ์กฐ(reference)
๋ช ์์ ์ด๋ , ์๋ฌต์ ์ด๋ ๊ด๊ณ์์ด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ด์ ์์ ์ด๋ค ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์๋ค๋ฉด ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ค๊ณ ๋งํ๋ค.
๋ ์์ปฌ ์ค์ฝํ(lexical scoping)
๋ณ์ ์ด๋ฆ์ด ์ค์ฒฉ๋ ํจ์์์ ํด์๋๋ ๋ฐฉ์์ ์ ์ํ๋ ๊ฒ์ผ๋ก,
์ค์ฒฉ๋์ด ์๋ ๋ ์์ชฝ์ ํจ์๋ ๋ถ๋ชจ ํจ์๊ฐ ๊ฐ์ ๋ฐํํ ๋ค์์๋ ๋ถ๋ชจ ํจ์์ ์ค์ฝํ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
'Code๊ฐ๋ฐ์ผ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TDD(Test-driven Development) (0) | 2023.01.31 |
---|---|
Graph QL (0) | 2023.01.31 |
React.lazy()์ Suspense (0) | 2023.01.26 |
Custom Hooks (0) | 2023.01.25 |
Hooks & useMemo, useCallback (1) | 2023.01.25 |