๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (115)
let's get IT with DAVINA ๐ป
Graph๋? ์ฌ๋ฌ ๊ฐ์ ์ ๋ค์ด ์๋ก ๋ณต์กํ๊ฒ ์ฐ๊ฒฐ๋์ด ์๋ ๊ด๊ณ๋ฅผ ํํํ ์๋ฃ๊ตฌ์กฐ ๋ชฉ์ โท ๊ทธ๋ํ์ ํ์์ ํ๋์ ์ ์ ์์ ์์ํ์ฌ ๊ทธ๋ํ์ ๋ชจ๋ ์ ์ ๋ค์ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธ(ํ์)ํ๋ ๊ฒ! ๊ทธ๋ํ์ ๋ฐ์ดํฐ๋ ๋ฐฐ์ด์ฒ๋ผ ์ ๋ ฌ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์ํ๋ ์๋ฃ๋ฅผ ์ฐพ์ผ๋ ค๋ฉด, ํ๋์ฉ ๋ชจ๋ ๋ฐฉ๋ฌธํด์ผ ํจ ๋ฐฉ์ โท BFS & DFS Graph์ ๊ตฌ์กฐ ์ง์ ์ ์ธ ๊ด๊ณ๊ฐ ์๋ ๊ฒฝ์ฐ, ๋ ์ ์ฌ์ด๋ฅผ ์ด์ด์ฃผ๋ ์ ์ด ์์ต๋๋ค. ๊ฐ์ ์ ์ธ ๊ด๊ณ๋ผ๋ฉด, ๋ช ๊ฐ์ ์ ๊ณผ ์ ์ ๊ฑธ์ณ ์ด์ด์ง๋๋ค Graph terms ์ ์ (vertex) ๋ ธ๋(node)๋ผ๊ณ ๋ ํ๋ฉฐ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ทธ๋ํ์ ๊ธฐ๋ณธ ์์ ๊ฐ์ (edge) ์ ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค. (์ ์ ์ ์ด์ด์ฃผ๋ ์ ) ์ธ์ ์ ์ (adjacent vertex) ํ๋์ ์ ์ ์์ ๊ฐ์ ์ ์ํด ์ง..
Tree ๋? ๋จ๋ฐฉํฅ ๊ทธ๋ํ์ ํ ๊ตฌ์กฐ ํ๋์ ๋ฟ๋ฆฌ๋ก๋ถํฐ ๊ฐ์ง๊ฐ ์ฌ๋ฐฉ์ผ๋ก ๋ป์ ํํ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋ก ์๋์ ์๋ ํ๋ ์ด์์ ๋ฐ์ดํฐ์ ํ ๊ฐ์ ๊ฒฝ๋ก์ ํ๋์ ๋ฐฉํฅ์ผ๋ก๋ง ์ฐ๊ฒฐ๋ ๊ณ์ธต์ ์๋ฃ๊ตฌ์กฐ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ๋์ด์ํจ ์ ํ ๊ตฌ์กฐ๊ฐ ์๋๋ผ, ํ๋์ ๋ฐ์ดํฐ ์๋์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ ์ ์๋ ๋น์ ํ ๊ตฌ์กฐ ํธ๋ฆฌ๊ตฌ์กฐ๋ ๊ณ์ธต์ ์ผ๋ก ํํ์ด ๋๊ณ , ์๋๋ก๋ง ๋ป์ด๋๊ฐ๊ธฐ ๋๋ฌธ์ ์ฌ์ดํด(cycle)์ด ์์ต๋๋ค. → ์ฐ๊ฒฐ ๊ทธ๋ํ(Connected Graph) ์ฌ์ดํด - ์์ ๋ ธ๋์์ ์ถ๋ฐํด ๋ค๋ฅธ ๋ ธ๋๋ฅผ ๊ฑฐ์ณ ๋ค์ ์์ ๋ ธ๋๋ก ๋์์ค๋ ๊ฒ Tree์ ๊ตฌ์กฐ์ ํน์ง Root ํธ๋ฆฌ ๊ตฌ์กฐ์ ์์์ ์ด ๋๋ ๋ ธ๋ Node ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋ ๋ชจ๋ ๊ฐ๋ณ ๋ฐ์ดํฐ Parent Node (๋ถ๋ชจ ๋ ธ๋) ๋ ๋ ธ๋๊ฐ ์ํ๊ด๊ณ๋ก ์ฐ๊ฒฐ๋์ด ์์..
Queue๋? Definition ์ค์ ์์ ๊ธฐ๋ค๋ฆฌ๋ค, ๋๊ธฐํ๋ ฌ ๊ฐ์ฅ ๋จผ์ ์ง์ ํ ์๋์ฐจ๊ฐ ๊ฐ์ฅ ๋จผ์ ํจ๊ฒ์ดํธ๋ฅผ ํต๊ณผํฉ๋๋ค. ๊ฐ์ฅ ๋์ค์ ์ง์ ํ ์๋์ฐจ๋ ๋จผ์ ๋์ฐฉํ ์๋์ฐจ๊ฐ ๋ชจ๋ ๋น ์ ธ๋๊ฐ๊ธฐ ์ ๊น์ง๋ ํจ๊ฒ์ดํธ๋ฅผ ๋น ์ ธ๋๊ฐ ์ ์์ต๋๋ค. Stack๊ณผ ๋ฐ๋๋๋ ๊ฐ๋ ์ผ๋ก, FIFO(First In First Out)/LILO(Last In Last Out)์ ํน์ง์ ๊ฐ์ง ํฐ์ผ์ ์ฌ๋ ค๊ณ ์ค์ ์์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชจ์ต๊ณผ ํก์ฌํ ์ด ์๋ฃ๊ตฌ์กฐ๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ฐฉํฅ์ด ๊ณ ์ ๋์ด ์์ผ๋ฉฐ, ๋ ๊ณณ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. Queue์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ฒ์ ‘enqueue’, ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๊ฒ์ ‘dequeue’๋ผ๊ณ ํฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋ ์์๋๋ก ์ฒ๋ฆฌํ ๋ ์ฃผ๋ก ์ฌ์ฉ! ํ์ ์ฑ์ง ์์์ ์ถ๊ฐ → O(1) ์์์ ์ ๊ฑฐ → O(1) ..
Stack ์ด๋? Definition ์๋ค, ์์ด๋ค, ํฌ๊ฐ์ง๋ค → ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์๋ ์๋ฃ๊ตฌ์กฐ ๊ณจ๋ชฉ์ ์๋ฃ๊ตฌ์กฐ Stack / ์๋์ฐจ๋ ๋ฐ์ดํฐ(Data) ๊ฐ์ฅ ๋จผ์ ๋ค์ด๊ฐ ์๋์ฐจ๋ ๊ฐ์ฅ ๋์ค์ ๋์ฌ ์ ์๊ณ , ๊ฐ์ฅ ๋์ค์ ๋ค์ด๊ฐ ์๋์ฐจ๊ฐ ๊ฐ์ฅ ๋จผ์ ๋์ฌ ์ ์๋ค. ์๋ฃ๊ตฌ์กฐ Stack์ ํน์ง์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ํ๋์ ๋ฐฉํฅ์ผ๋ก ์ด๋ฃจ์ด์ง๋ ์ ํ์ ์ ๊ทผ์ ์๋ค. ์ด๋ฐ Stack ์๋ฃ๊ตฌ์กฐ ์ ์ฑ ์ LIFO(Last In First Out) / FILO (First In Last Out)์ด๋ผ ๋ถ๋ฅธ๋ค. Stack์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ ๊ฒ์ ‘PUSH’, ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๋ ๊ฒ์ ‘POP’์ด๋ผ๊ณ ํ๋ค. ์คํ์ ์ฑ์ง ์์์ ์ถ๊ฐ → O(1) ์์์ ์ ๊ฑฐ → O(1) ์ ์ผ ์๋จ์ ์์ ํ์ธ → O(1) ์ ์ผ ์๋จ์ด ์๋ ๋๋จธ์ง ์์..
์๋ฃ๊ตฌ์กฐ๋? ์ฌ๋ฌ ๋ฐ์ดํฐ์ ๋ฌถ์์ ์ ์ฅํ๊ณ , ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋ฐ์ดํฐ - ๋ฌธ์, ์ซ์, ์๋ฆฌ, ๊ทธ๋ฆผ, ์์ ๋ฑ ์ค์ํ์ ๊ตฌ์ฑํ๊ณ ์๋ ๋ชจ๋ ๊ฐ ๋ฐ์ดํฐ๋ ์ฌ์ฉํ๋ ค๋ ๋ชฉ์ (ํ์)์ ๋ฐ๋ผ ๋ถ์ํ๊ณ ์ ๋ฆฌํ์ฌ ํ์ฉํด์ผ๋ง ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์๋ฃ๊ตฌ์กฐ๋ ์๋ฃ์ ์งํฉ์ ๊ตฌ์กฐํํ๊ณ , ์ด๋ฅผ ํํํ๋๋ฐ ์ด์ ! ์ฌ๋์ด ์ฌ์ฉํ๊ธฐ์ ํธ๋ฆฌํ๋ ค๊ณ , ์ฌ์ฉํ๊ธฐ ์ข์ผ๋ ค๊ณ ๋ง๋ค์ด์ง ๊ฒ์ด ์๋ฃ๊ตฌ์กฐ๋ค! ์๋ฃ๊ตฌ์กฐ์ ๋ถ๋ฅ ์๋ฃ๊ตฌ์กฐ์ ํน์ง ํน์ ํ ์ํฉ์ ๋์ธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์ ํนํ ๋ง์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์์๋๋ฉด, ์ด๋ ํ ์ํฉ์ด ๋ฅ์ณค์ ๋ ์ ํฉํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ์ ์ฉํ์ฌ ๋ฌธ์ ํด๊ฒฐ ๊ฐ๋ฅ https://www.cs.usfca.edu/~galles/visualization/Algorithms.html Data Structure Visuali..
MDN์ ๋ฐ๋ฅด๋ฉด, ์ด๋ฒคํธ ๋ฃจํ๋, "JS์ ๋ฐํ์ ๋ชจ๋ธ์ ์ฝ๋์ ์คํ, ์ด๋ฒคํธ์ ์์ง๊ณผ ์ฒ๋ฆฌ, ํ์ ๋๊ธฐ ์ค์ธ ํ์ ์์ ์ ์ฒ๋ฆฌํ๋ ์ด๋ฒคํธ ๋ฃจํ์ ๊ธฐ๋ฐํ๊ณ ์๋ค" ๋ผ๊ณ ๋์จ๋ค.. ๋ฌด์จ๋ง์ธ์ง ๋ํต ๋ชจ๋ฅด๊ฒ ์ผ๋, ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์คํ ์๋ฆฌ๋ฅผ ์ด์ง ์์๋ณด์ JavaScript, what r u? ์ฑ๊ธ ์ค๋ ๋ ์ธ์ด์ด๋ค. ๋ญ๋ง์ด๋? โท ํ๋์ ํ๋ก๊ทธ๋จ์ ๋์์ ํ๋์ ์ฝ๋๋ง ์คํํ ์ ์๋ค. one thread === one call stack === one thing at a time (๋ฉํฐ๊ฐ ์๋ผ!!) ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ Memory Heap & Call Stack์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. (๊ฐ์ฅ ์ ๋ช ํ ๊ฒ์ด ๊ตฌ๊ธ์ V8 Engine) Memory Heap : ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ผ์ด๋๋ ์ฅ์ ex) ์ฐ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ์..
About JSX React์์ UI๋ฅผ ๊ตฌ์ฑํ ๋ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ์ผ๋ก, JavaScript๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ (JavaScript XML) ⇒ ์ด ๋ฌธ๋ฒ์ ์ด์ฉํด์ React ์๋ฆฌ๋จผํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋์ HTML์์๋ฅผ ๋ง๋ค๊ณ , JS๋ฅผ ์ค์ ํ ๋ค, ๋ค์ HTML์ ํด๋น ์ค์ ๋ด์ฉ์ ๋ฐ์ํ๋ค๊ณ ํ๋ค๋ฉด, React JSX๋ JS๋ก ์์๋ฅผ ๋ง๋ค๊ณ ๋ง์ง๋ง์ HTML์ ์ ๋ฐ์ดํธ/๋ฐ์ํด์ค๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ๋ก ์คํํ ์ ์๋ JS์ฝ๋๋ ์๋๋๋ค. “Bable”์ ํตํด JSX๋ฅผ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋ JS๋ก ์ปดํ์ผ ํ, JS๋ฅผ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝ๊ณ ํ๋ฉด์ ๋ ๋๋ง ํฉ๋๋ค. DOM ๊ทธ๋ฆฌ๊ณ React JSX CSS&JSX ๋ฌธ๋ฒ๋ง์ ๊ฐ์ง๊ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ฆ, ์ปดํฌ๋ํธ ํ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ํ์ํ ํ์ผ..
React๋ก ๋๋ฒ์ ํ๋ก์ ํธ๋ฅผ ๋ค ์งํํ๋๋ฐ ์ React๋ฅผ ์ผ๋๊ฐ์ ์ด๋ค ์ฅ์ ์ด ์๋์ง ์ค์ค๋ก ์ง๋ฌธ์ ์ ๋๋ก ๋ต๋ ๋ชปํ๋ ๋ด ์์ ์ด ํ์ฌํด์ ๋ง์ ๋ค์ก๊ณ ์ ๋ฆฌ๋ฅผ ๋์ ์ฌ๋ด ๋๋ค๋น..๐ฅ ํญ์ ์ด๊ฑด "์" ์๊ฒผ๊ณ , "์" ๋ง์ ์ฌ๋๋ค์ด ์ฐ๋์ง ์ ๋๋ ์๊ณ ์ฐ์ ๋ค๋น์ใ ใ ใ plz What is React? React๋ ํ๋ก ํธ์ค๋ ๊ฐ๋ฐ์ ์ํ, ํ๋ก ํธ์ค๋ ๊ฐ๋ฐ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ JavaScript ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ์ ์ ๋ถ๋ฅ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ๋ถ๋ฅํ์ง ์๊ณ , ๊ธฐ๋ฅ๋ณ๋ก ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๊ธธ ๊ถ์ฅ ๋ฆฌ์กํธ SPA๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ๋ง๋ค์ด์ง ํด ์ฒด์ธ npx create-react-app@latest ํด๋์ด๋ฆ React์ 3๊ฐ์ง ํน์ง ์ ์ธํ (Declarative) ๋ฆฌ์กํธ๋ ํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด HTM..