๐ ๋ค์ด๊ฐ๋ฉฐ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ url์ ์ ๋ ฅํ๋ฉด ์๊ธฐ๋ ๊ณผ์ ๋ค์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. DNS ๋ ์ฝ๋ ํ์ธ ์ฒซ ๋ฒ์งธ๋ก, ๋ธ๋ผ์ฐ์ ๋ DNS(Domain Name Server) ๋ ์ฝ๋์ ์บ์๋ฅผ ํ์ธํ์ฌ ํด๋น URL์ IP ์ฃผ์๋ฅผ ์ฐพ๊ฒ ๋ฉ๋๋ค. DNS(Domain Name Server)๋? DNS๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๋๋ค. DNS๋ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ IP ์ฃผ์๋ฅผ ๋งคํํด์ฃผ๋ ์๋ฒ๋ก, ๋ธ๋ผ์ฐ์ ๊ฐ ์ธํฐ๋ท ์์์ ๋ก๋ํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ฆ, DNS๋ ์ ํ๋ฒํธ๋ถ์ ๊ฐ์ ์ญํ ์ ํฉ๋๋ค. ์ฌ๋๋ค์ด ์ด๋ฆ์ผ๋ก ๋ค๋ฅธ ์ฌ๋์ ์ฐพ๋ฏ์ด, ์ปดํจํฐ๋ DNS๋ฅผ ์ฌ์ฉํ์ฌ ์น์ฌ์ดํธ์ ๋๋ฉ์ธ ์ด๋ฆ์ ํด๋น IP ์ฃผ์๋ก ๋ณํํฉ๋๋ค. ํด๋น ๊ณผ์ ์์ ์๋์ ์์๋ก ํ์ธ์ ํ๊ฒ ๋ฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์บ์ ํ์ธ: ๋ธ๋ผ์ฐ์ ๋ ์ด์ ์ ๋ฐฉ๋ฌธํ ์น์ฌ์ดํธ..
๐ ๋ค์ด๊ฐ๋ฉฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฑฐ๋ ์ฌ์ฉํ๋ฉด์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ ์ค ํ๋๋ ๋ฐ์ดํฐ์ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ์ ๋๋ค. ์ด๋ฅผ ์ํด ์ฟ ํค, ์ธ์ , ์น ์คํ ๋ฆฌ์ง์ ๊ฐ์ ๊ธฐ์ ๋ค์ด ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ์ด๋ค์ ๊ฐ๊ฐ์ ๊ณ ์ ํ ํน์ง๊ณผ ์ฅ๋จ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ฟ ํค, ์ธ์ , ์น ์คํ ๋ฆฌ์ง์ ์ฐจ์ด๋ฅผ ์์ธํ ์์๋ณด๊ณ , ๊ฐ๊ฐ์ ์ฅ๋จ์ ๊ณผ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ํฉ, ๊ทธ๋ฆฌ๊ณ ๋ณด์ ์ด์์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฟ ํค(Cookie) ์ฟ ํค๋ ์น ์๋ฒ ๋๋ ํด๋ผ์ด์ธํธ์์ ์์ฑ๋์ด ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋๋ ํด๋ผ์ด์ธํธ ์ธก์ ์ ์ฅ๋๋ key์ value๋ก ์ด๋ฃจ์ด์ง ์์ ํ ์คํธ ํ์ผ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฟ ํค๋ ๋ง๋ฃ์ผ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ง๋ฃ์ผ์ด ์ง๋๋ฉด ์๋์ผ๋ก ์ญ์ ๋๋ ๊ตฌ์กฐ์ ๋๋ค. ์น ์๋ฒ๊ฐ ์๋ต์ ๋ณด๋ผ ๋ HTTP ํค๋๋ฅผ ํตํด ์ฟ ํค๋ฅผ ํด๋ผ์ด์ธํธ..
๐ ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ๊ฐ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์ ์๋ ๋น๊ฒฐ ์ค ํ๋๋ ๋ฐ๋ก ๊ฐ์ ๋(Virtual DOM)์ ๋๋ค.์ด๋ ๋ฆฌ์กํธ์ ํต์ฌ ๊ฐ๋ ์ค ํ๋๋ก ๊ฐ์ ๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.DOM(Document Object Model)์น ์ฌ์ดํธ์ ์ ์ํ๋ฉด ๋ณด์ด๋ ๊ฐ๊ฐ์ ์์(Element)๋ค์ด ๋ชจ์ฌ ํ๋์ ๋ฌธ์(Document)๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.์ด๋ฌํ ๋ฌธ์์ ๊ตฌ์กฐ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ดํดํ ์ ์๋๋ก ํํํ ๊ฒ์ด ๋ฐ๋ก DOM์ ๋๋ค.DOM์ ์์๋ค์ ํธ๋ฆฌ(Tree) ํํ๋ก ํํํ๋ฉฐ, ๊ฐ ์์์ ํด๋นํ๋ ๋ ธ๋(Node)๊ฐ ์กด์ฌํฉ๋๋ค.๊ฐ๋ฐ์๋ค์ DOM์ด ์ ๊ณตํ๋ API๋ฅผ ์ด์ฉํด ์ด๋ฌํ DOM ๊ตฌ์กฐ์ ์ ๊ทผํ๊ณ , ๋ด์ฉ์ด๋ ์คํ์ผ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.์ด๋ฐ ๊ณผ์ ์ DOM ์กฐ์์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ํ์ง๋ง ์๋ฅผ ๋ค์ด, ์น ํ์ด์ง์ ํน์ ..
์ ์ HTTP๋ Hyper Text Transfer Protocol์ ์ฝ์๋ก ์น์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ ๋๋ค. ์๋์๋ฆฌ HTTP๋ ํด๋ผ์ด์ธํธ-์๋ฒ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ ๋๊ณ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญ(request)๋ฅผ ๋ณด๋ด๊ณ , ์๋ฒ๋ ์ด์ ๋ํ ์๋ต(response)์ ๋ณด๋ ๋๋ค. HTTP ๋ฉ์๋ HTTP ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์ํํ๋ ๋์์ ์๋ฒ์๊ฒ ์๋ ค์ค๋๋ค. ์ฆ, ํด๋ผ์ด์ธํธ๋ ์์ฒญ(request)์ ๋ชฉ์ ์ ๋ฐ๋ผ ์ ์ ํ HTTP ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. HTTP ๋ฉ์๋ ์ค๋ช ์ฌ์ฉ ์์ GET ๋ฐ์ดํฐ ์กฐํ๋ฅผ ์์ฒญ ํน์ ํ์ด์ง ์ ์, ์ ๋ณด ๊ฒ์ POST ๋ฐ์ดํฐ ์์ฑ ์์ฒญ ํ์๊ฐ์ , ๊ธ์ฐ๊ธฐ PUT ๋ฐ์ดํฐ ์์ ์์ฒญ ํ์ ์ ๋ณด ์์ , ๊ธ ์์ DELETE ๋ฐ์ดํฐ ์ญ์ ์์ฒญ ํ์ ์ ๋ณด ์ญ์ , ๊ธ ์ญ..
๐ ๋ค์ด๊ฐ๋ฉฐ ํจ์ ์ปดํฌ๋ํธ ๋์ ๋ฆฌ์กํธ์์ ํจ์ ์ปดํฌ๋ํธ๋ ๋ฆฌ์กํธ๊ฐ ์ฒ์ ์๊ฒผ์ ๋๋ถํฐ ์์์ง๋ง, ์ฒ์์๋ ์ํ๊ด๋ฆฌ๋ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ด์ ์ฃผ๋ก ๋จ์ํ ํํ์ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋์์ต๋๋ค. ํ์ง๋ง, ๋ฆฌ์กํธ 16.8 ๋ฒ์ ์์ Hooks๊ฐ ๋์ ๋๋ฉด์ ํจ์ ์ปดํฌ๋ํธ์์๋ ์ํ๊ด๋ฆฌ์ ์๋ช ์ฃผ๊ธฐ ๋ฉ์๋์ ์ ์ฌํ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค. Hooks์ ๋์ ์ ํจ์ ์ปดํฌ๋ํธ์ ํ์ฉ ๋ฒ์๋ฅผ ํฌ๊ฒ ํ์ฅ์ํค๊ณ , ํ์ฌ๋ ํจ์ ์ปดํฌ๋ํธ๋ง์ผ๋ก๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๊ฒ ๋์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ํจ์ ์ปดํฌ๋ํธ์ ์ฌ์ฉ์ด ํฌ๊ฒ ๋์์ต๋๋ค. ์ค์ ๋ก ๋ฆฌ์กํธ ๊ณต์๋ฌธ์์์๋ ํด๋์ค ์ปดํฌ๋ํธ๋ณด๋ค ํจ์ ์ปดํฌ๋ํธ๋ก ์์ฑํ๋ ๊ฒ์ ๊ถ์ฅํ๊ณ ์์ต๋๋ค. ํจ์ํ(Functional)์ด ์๋๋ผ ํจ์(Function) ์ปดํฌ๋ํธ๋ผ๊ณ ๋ถ๋ฅด..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์ ํต์ฌ ๊ฐ๋ ์ค ํ๋์ธ ์ด๋ฒคํธ ๋ฒ๋ธ๋ง๊ณผ ์บก์ณ๋ง์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ฒ๋ธ๋ง(Bubbling) ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ด๋ ๋ฌด์์ผ๊น์? ํ ์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ํด๋น ์์์ ํ ๋น๋ ํธ๋ค๋ฌ๊ฐ ๋์ํ๊ณ , ์ด์ด์ ๋ถ๋ชจ ์์์ ํธ๋ค๋ฌ๊ฐ ๋์ํฉ๋๋ค. ๊ฐ์ฅ ์ต์๋จ์ ์กฐ์ ์์๋ฅผ ๋ง๋ ๋๊น์ง ํด๋น ๊ณผ์ ์ด ๋ฐ๋ณต์ด ๋ฉ๋๋ค. ๊ฐ๋จํ ์๋ ์ฝ๋ ์์ ๋ฅผ ๋ณด๋ฉด ๋ฐ๋ก ์ดํด๊ฐ ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฅ ์์ชฝ์ ์๋ pํ๊ทธ๋ฅผ ํด๋ฆญํ๋๋ฐ 3๊ฐ์ ํธ๋ค๋ฌ๊ฐ ๋์ํ๋ ๊ฒ ๋ณด์ด์๋์? p์ ํ ๋น๋ onclick ํธ๋ค๋ฌ ์คํ ๋ฐ๊นฅ์ div์ ํ ๋น๋ ํธ๋ค๋ฌ ์คํ ๊ทธ ๋ฐ๊นฅ์ form์ ํ ๋น๋ ํธ๋ค๋ฌ ์คํ documnet ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋๊น์ง, ๊ฐ ์์์ ํ ๋น๋ onclick ํธ๋ค๋ฌ๊ฐ ๋์ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก div๋ฅผ ํด๋ฆญํ๋ฉด div -..
๐ ๋ค์ด๊ฐ๋ฉฐ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ฝ๋์ ์คํ ์์์ ์ค์ฝํ๋ฅผ ์ดํดํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ ์ค์ํ ๊ฐ๋ ์ค ํ๋์ธ ํธ์ด์คํ (hoisting)์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ํธ์ด์คํ (hoisting)์ด๋ โ ํธ์ด์คํ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ด ์คํฌ๋ฆฝํธ๋ฅผ ํด์ํ๊ณ ์คํํ๋ ๊ณผ์ ์์, ๋ณ์๋ ํจ์, ํด๋์ค ์ ์ธ์ ์ฝ๋์ ๋งจ ์๋ก '๋์ด์ฌ๋ฆฌ๋' ๊ฒ๊ณผ ๊ฐ์ ํ์์ ๋งํฉ๋๋ค. ๋ณดํต ํธ์ด์คํ ์ ๋ํ ์ค๋ช ์ ๋ณด๋ฉด '๋์ด์ฌ๋ ค์ง๋ค'๋ผ๊ณ ๋๋ถ๋ถ ์ค๋ช ์ด ๋์ด ์๋๋ฐ ํธ์ด์คํ ์ด ์ค์ ๋ก ์ฝ๋๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ต์๋จ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ์ ์๋๋๋ค. ์ด๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ด๋ถ ๋์ ๋ฐฉ์์ ์ค๋ช ํ๋ ๊ฐ๋ ์ผ ๋ฟ์ ๋๋ค. ํธ์ด์คํ ์ ์คํ ์ปจํ ์คํธ์ ์์ฑ ๋จ๊ณ์์ ์ผ์ด๋ฉ๋๋ค. ์คํ ์ปจํ ์คํธ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์คํ๋๋ ํ๊ฒฝ์ ๋งํฉ๋๋ค. ์์ฑ ๋จ๊ณ์์๋ ๋ณ์..
์๊ฐ ๋ณํฉ ์ ๋ ฌ(Merge Sort)์ ๋ํ์ ์ธ ๋ถํ ์ ๋ณต(Divede and Conquer) ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋๋ก, ๋ฆฌ์คํธ๋ฅผ ๋ฐ์ผ๋ก ๋๋ ๋ค ๊ฐ๊ฐ์ ์ฌ๊ท์ ์ผ๋ก ์ ๋ ฌํ๊ณ , ์ ๋ ฌ๋ ๋ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ํฉ์ณ์ ์ ๋ ฌ๋ ํ๋์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์๋ ๊ฐ๋ ๐ก ๋ณํฉ ์ ๋ ฌ์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ธ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ถํ (Divide): ์ ๋ ฅ ๋ฆฌ์คํธ๋ฅผ ๊ฐ์ ํฌ๊ธฐ์ ๋ ๊ฐ์ ๋ถ๋ถ ๋ฆฌ์คํธ๋ก ๋ถํ ํฉ๋๋ค. ์ด๋ ๋ถํ ์ ๋ฆฌ์คํธ์ ์ค๊ฐ ์ง์ ์์ ์ํ๋ฉ๋๋ค. ์ ๋ณต(Conquer): ๊ฐ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณํฉ์ ๋ ฌ์ ์ด์ฉํด ์ ๋ ฌํฉ๋๋ค. ์ด ๊ณผ์ ์ ์ ๋ ฅ ๋ฆฌ์คํธ์ ํฌ๊ธฐ๊ฐ ์ถฉ๋ถํ ์์์ง ๋๊น์ง ๋ฐ๋ณต๋ฉ๋๋ค. ๋ณํฉ(Merge): ์ ๋ ฌ๋ ๋ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ํ๋์ ์ ๋ ฌ๋ ๋ฆฌ์คํธ๋ก ๋ณํฉํฉ๋๋ค. 0๊ฐ ์์, 1๊ฐ ์์ ๋ฐฐ์ด์ด ..
์๊ฐ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ ๋๋ค. ๋ฐฐ์ด์ ์์๋ฅผ ์์๋๋ก ํ์ํ๋ฉฐ, ๊ฐ ์์๋ฅผ ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฐฐ์ด ๋ถ๋ถ๊ณผ ๋น๊ตํ์ฌ ์ ์ ํ ์์น์ ์ฝ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ ๋ ฌ์ ์งํํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ๊ณ ๊ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ํฐ ๋ฐฐ์ด์ด๋ ์๊ฐ์ ํ์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ ์ฝ๋ // ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ function insertionSort(array) { for (let i = 1; i = 0 && array[j] > current) { array[j + 1] = array[j]; j--; } array[j ..