๋ฐ์ํ
๐ ์ค๋ ํ ์ผ
โ๏ธ ๊ผฌ๋ฆฌ ์ฌ๊ท ์ ๋ฆฌํ๊ธฐ
์ฌ๊ท๋ ์๋ ์ถ์์ ์ด๋ผ ์ฒ์ ๋ฐฐ์ธ ๋ ์ด๋ ค์ ๋๋ฐ, ๊ผฌ๋ฆฌ ์ฌ๊ท๋ ๊ณต๋ถํด๋ณด๋ ๊ธ์ ์ฝ๋ ๊ฒ๋ง์ผ๋ก๋ ์ ์ดํด๊ฐ ๋์ง ์์๋ค. ๊ทธ๋์ ์ผ๋จ ์ฌ์ด ํฉํ ๋ฆฌ์ผ ์์ ๋ฅผ ๊ฐ์ง๊ณ , ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด์ฉํด ๋๋ฒ๊น ํด๋ณด๋ฉฐ Call Stack์ด ์ด๋ป๊ฒ ๋ณํ๋ ์ง ์ดํด๋ณด์๋ค. ๊ทธ๋ ๊ฒ ํด๋ณด๋ ์ฐจ์ด์ ์ด ํ์คํ ๋ณด์ฌ์ ๋ด๊ฐ ์ดํดํ ๋ฐ๋ฅผ ๋ค์์ ๋ด๋ ๋ฐ๋ก ์ดํดํ ์ ์๊ฒ ์ฌ๋์ ๋น์ ํด ๋งํ(?)๋ก ๊ทธ๋ ค๋ณด๊ธฐ๋ ํ๊ณ ๋ธ๋ก๊น ๋ ํด๋์๋ค. ์ข ์ค๋๊ฑธ๋ฆฌ๊ธด ํ์ง๋ง, ๋๋ถ์ ๊ผฌ๋ฆฌ์ฌ๊ท๊ฐ ์ด๋ป๊ฒ ์ฌ๊ท์ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ณ Stack Overflow ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ ์ ์๋ค๋ ๊ฑด์ง ์ดํดํ ์ ์์๋ค. ๊ทธ๋๋ ์์ง ์ค๋ช ํ ๋ถ๋ถ๋ค์ด ์ข ๋ ์๋ ๊ฒ ๊ฐ์ ๋ด์ฉ์ ๊ณ์ํด์ ์์ ํ๊ณ ๋ณด์ถฉํด๋ณด๋ ค๊ณ ํ๋ค.
โ๏ธ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ด ์ ๋ฆฌ
์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ ํ๋จํ๋ ๊ธฐ์ค์ธ ๋น ์ค(Big-O) ํ๊ธฐ๋ฒ, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ธ ์ ํ ๊ฒ์, ์ด์ง ๊ฒ์ ๋ ๊ฐ์ง์ ๋ํด ์ ๋ฆฌํด ๋ณด์๋ค. ์กฐ๊ธ ๋ ๋ค๋ฌ์ด์ ์ด ๋ถ๋ถ๋ ๋ด์ผ ๋ธ๋ก๊น ํด์ผ๊ฒ ๋ค.
โ๏ธ HTTP ๊ธฐ์ด ์ ๋ฆฌ
์น ํ์ด์ง๊ฐ ์ด๋ค ์๋ฆฌ๋ก ๋์ํ๋์ง์ ๋ํด ๊ธฐ์ด์ ์ธ ๋ถ๋ถ์ ์ ๋ฆฌํ๋ค. ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ๋์ง, ์ฃผ๊ณ ๋ฐ๋ ๋ฆฌ์์ค์ ์ข ๋ฅ์๋ ์ด๋ค ๊ฒ์ด ์๋์ง, ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์ ์์ฒญ ๋ช ๋ น์ด๋ผ๊ณ ํ ์ ์๋ 'HTTP ํ๋กํ ์ฝ'์ ๋ฉ์๋๋ค๊ณผ ์๋ฒ์ ์ํ๋ฅผ ์๋ ค์ฃผ๋ ์ํ์ฝ๋์ ๋ํด์๋ ์ ๋ฆฌํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ ์ผ๋ฐ ์ฌ๊ท vs ๊ผฌ๋ฆฌ ์ฌ๊ท
์ผ๋ฐ ์ฌ๊ท : ๊ฐ์ ๋ฐ์ผ๋ฉด, ๊ทธ ๊ฐ์ ์ฐ์ฐ์ ํ๊ณ ๋ค๋ฅธ ํจ์์๊ฒ ์ ๋ฌ
๊ผฌ๋ฆฌ ์ฌ๊ท : ์๋ฌด๊ฒ๋ ํ์ง ์๊ณ ๊ฐ์ ์ ๋ฌ (ํธ์ถ ๋นํ ํจ์์ ๊ฒฐ๊ณผ = ํธ์ถํ ํจ์์ ๊ฒฐ๊ณผ)
โ๏ธ ์ ํ ๊ฒ์ (linear search) vs ์ด์ง ๊ฒ์ (binary search)
์ ํ ๊ฒ์ (linear search) : ๋ฐฐ์ด์์ ์ํ๋ ๊ฐ์ ์ฐพ์ ๋๊น์ง ๋งจ์๋ถํฐ ์ค์บํด ์์๋๋ก ๊ฒ์ (์ต์ ์ ๊ฒฝ์ฐ O(N))
์ด์ง ๊ฒ์ (binary search) : ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ์ํ๋ ๊ฐ๋ฅผ ์ฐพ์ ๋๊น์ง ๋ฒ์๋ฅผ ๋ฐ์ฉ ์ค์ฌ๊ฐ๋ฉฐ ๊ฒ์ (์ต์ ์ ๊ฒฝ์ฐ (log2n)+1)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ์น ๊ตฌ์ฑ ์์
โ๏ธ Map, Set, WeakMap, WeakSet
โ๏ธ ๋ธ๋ก๊น ์ ์ด๋ค ์์ผ๋ก ํ๋ฉด ์ข์์ง์ ๋ํด ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ์ ์๋ ์ธ์ ์ด ์์๋ค. ์ข์ ์์๋ผ๊ณ ๋ช๋ช ๋ธ๋ก๊ทธ ๋งํฌ๋ฅผ ์ฃผ์ ์ ํ๋์ฉ ๋ค์ด๊ฐ๋ณด๋ฉฐ ๋๋ ๋ธ๋ก๊น ํ ๋ ์ด๋ค ์ ์ ๊ณ ๋ คํด์ผํ๊ณ , ์ด๋ค ์ ์ ๊ฐ์ ํด์ผํ ์ง ์ฐธ๊ณ ํ ์ ์์๋ค. ์ผ๋จ์ TIL์ ์ ๋ชฉ์ ๋ค๋ ๊ฒ๋ถํฐ ๊ฐ์ ํด๋ณด๋ คํ๋ค. ์๊ทธ๋๋ ๋๋ ๋ณต์ตํ ๋ ๋ด ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด์ ํ๋๋ฐ, ๊ณ์ ๋์ถฉ ๋ฉฐ์น ์ฏค์ ์ด๊ฑธํ๋ ๊ฒ๊ฐ์๋ฐ..? ํ๋ฉด์ TIL๋ฅผ ๋ค์ ธ๋ณด๊ณค ํ๋ ๊ฒ๊ฐ๋ค. ์ ์ ๋ชฉ์ ๋ฌ ์๊ฐ์ ๋ชปํ์๊น ๐คญ ์ค๋๋ถํด ์ฐพ์๋ณด๊ธฐ ํธํ๊ฒ ๊ฐ๋จํ ์ ๋ชฉ์ ๋ฌ์๋ฌ์ผ๊ฒ ๋ค.
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210111_TIL (node.js, git์ ์ต์ํด์ง๊ธฐ) (0) | 2021.01.12 |
---|---|
210109_TIL (undefined ์ ๋๋ก ์๊ธฐ) (0) | 2021.01.10 |
210107_TIL (ES6 ๋ฌธ๋ฒ ์ ๋ฆฌ) (0) | 2021.01.08 |
210106_TIL (HA ๋ ๊ทธ๋ฆฌ๊ณ AJAX, XMLHttpRequest) (0) | 2021.01.06 |
210104_TIL (์ฌ๊ท๋ก TreeUI, StringfyJSONํจ์ ๊ตฌํํ๊ธฐ) (0) | 2021.01.05 |
๋๊ธ