์ด์์ฒด์ ์ ๊ตฌ์กฐ ์ปค๋ ํต, ๊ด๋ฆฌ์ ํ๋ก๊ทธ๋จ, ์์ฃผ ํ๋ก๊ทธ๋จ, ์ ์ด ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ํ๊ตญ์ด๋ก ์๋งน์ด๋ผ๋ ๋ป, ํต์ฌ์ ์๋ฏธํ๋ค. ์์ฃผ ์ฐ์ด๋ ๊ธฐ๋ฅ(ํ๋ก์ธ์ค ๊ด๋ฆฌ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ...)๋ค์ ๋ชจ์๋์๊ธฐ์ ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ์๋ค. ์ ํธ๋ฆฌํฐ ์ด์์ฒด์ ์์ ์ปค๋์ ์ ์ธํ ๋ชจ๋ ๋ถ๋ถ์ ๋งํ๋ค. ๊ฐ๋ ์ฐ์ด๋ ๊ธฐ๋ฅ๋ค์ด๊ธฐ์ ํ์ํ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๋ค. ์์คํ ์ฝ ์ปค๋์๊ฒ ๋ฌด์์ธ๊ฐ๋ฅผ ์์ฒญํ๊ธฐ ์ํ API ์ด์์ฒด์ ์ ๊ธฐ๋ฅ ํ๋ก์ธ์ค ๊ด๋ฆฌ ์์ฑ/์ญ์ , ์ํ ๊ด๋ฆฌ ์์ ํ ๋น ํ๋ก์ธ์ค ๊ฐ ํต์ ๋ฐ ๋๊ธฐํ ๊ต์ฐฉ์ํ ํด๊ฒฐ PCB๋ฅผ ๊ฐ์ง์ผ๋ก์จ ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ๊ด๋ฆฌ ํ๋ก์ธ์ ๊ด๋ฆฌ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ๊ด๋ฆฌ(์ฒ๋ฆฌ ์์ ๊ด๋ฆฌ, CPU ํ ๋น) ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ๋ก์ธ์ค์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ํ์ ๊ฐ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ..
๋ฐ์ฝ๋ ์ดํฐ ํจํด์ด๋? ๋ฐ์ฝ๋ ์ดํฐ ํจํด์์๋ ๊ฐ์ฒด์ ์ถ๊ฐ์ ์ธ ๋ก์ง์ ๋์ ์ผ๋ก ์ถ๊ฐํ๋ค. ์๋ธํด๋์ค๋ฅผ ๋ง๋๋ ๊ฒ์ ํตํด์ ๊ธฐ๋ฅ์ ์ ์ฐํ๊ฒ ํ์ฅํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ์นดํ์์ ์ฌ์ฉํ๋ ์ฃผ๋ฌธ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ ํ์ฅ์ฑ ์๊ฒ ๊ตฌํํด๋ณด์. ์๊ตฌ์ฌํญ ํด๋น ์นดํ๋ ๊ธ์๋๋ก ์ฑ์ฅ์ ์ด์ด๊ฐ๊ณ ์๋ ์นดํ์ด๊ธฐ์ ๋ฉ๋ด์ ๋ณ๋์ด ๋ง๋ค. ์ปคํผ๋ฅผ ์ฃผ๋ฌธํ ๋๋ ๋์ , ์คํ ์ฐ์ , ๋ชจ์นด, ํํ ํฌ๋ฆผ๊ณผ ๊ฐ์ ์ถ๊ฐ ๋ฉ๋ด๋ก ๊ตฌ์ฑํ๋ค. ๋ชจ๋ ๋ฉ๋ด๋ค์ cost()๋ฅผ ๊ตฌํํด์ผ ํ๋ค. ํ์ฌ ๊ธฐ์กด ์์คํ ์ ๊ตฌ์ฑ๋์ ์ผ๋ถ๋ ๋ค์๊ณผ ๊ฐ๋ค. ๊ธฐ์กด ์์คํ ์ ๋ฌธ์ ์ ์์ ๊ตฌ์ฑ๋์๋ 4๊ฐ์ง ๋ฉ๋ด ๋ฐ์ ์์ด ๋จ์ํด๋ณด์ด์ง๋ง ๋ง์ฝ ์๋ง์ ์ฒจ๊ฐ๋ฌผ ๋ฉ๋ด, ์๋ง์ ๋ฉ๋ด๋ค์ ๋ํ๋ด๋ ค๋ฉด ๋ช์ญ, ๋ช๋ฐฑ๊ฐ์ง์ ํด๋์ค๊ฐ ํ์ํ ๊ฒ์ด๋ค. ์ฌ์ง์ด ํน์ ์ฒจ๊ฐ๋ฌผ ๋ฉ๋ด์ ๊ฐ๊ฒฉ์ด ์ค..
์ฑ์ ๋ ์คํ ๋ ์กฐํ ์ฌ์ดํธ '๋๋ง์ ์ท์ฅ' ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌ(2021-10-12)ํ๊ณ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค. ์ด ํ๋ก์ ํธ๋ '๋๋ง์ ์ท์ฅ' ํ๋ก์ ํธ์ ๋นํด ๊ต์ฅํ ๊ฐ๋จํ ํธ์ด๋ค. REST API๋ ์ฌ์ฉํ์ง ์์ ๊ฒ์ด๊ณ , Spring MVC๋ฅผ ํตํด ๊ตฌํํ ์๊ฐ์ด๋ค. ๋จ์ํ ์กฐํ ์ฌ์ดํธ์ธ ๋งํผ ํ์คํ ์ด์๋ ์งํ ํ ์์ ์ด๋ค. ์ฌ์ฉ์๋ ๋ณ๋ก ์๊ฒ ์ง๋ง ใ ใ ... ์๋ notion ํ์ด์ง๋ ๋์ถฉ ์๊ฐ์ ์ ๋ฆฌํ์ฌ ๋ฌธ์ํํ ํ์ด์ง์ด๋ค. https://www.notion.so/vegan-3df0516399e94513a689b0b160378ee8 ์๋ง ์ํคํ ์ฒ ๊ตฌ์กฐ๋ '๋๋ง์ ์ท์ฅ' ํ๋ก์ ํธ์ ์ ์ฌํ๊ฒ ์งํํ ๊ฒ ๊ฐ๋ค. ์น ์๋ฒ : nginx was : spring boot ๋ด์ฅ ํฐ์บฃ db : mysql temp..
์ด์์ฒด์ ์ ํ๋์จ์ด์ ๊ด๊ณ ํ๋ก์ธ์์๊ฒ ์ฒ๋ฆฌํ ์์ ํ ๋น ๋ฐ ๊ด๋ฆฌ (ํ๋ก์ธ์ค ์์ฑ ๋ฐ ๊ด๋ฆฌ) ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ ์ฌ์ฉ ์๊ฐ ๊ด๋ฆฌ, ๋ณต์ ํ๋ก๊ทธ๋จ๊ฐ ์ฌ์ฉ ์๊ฐ ์กฐ์จ ํ๋ก๊ทธ๋จ์ ์์ฒญ์ ๋ฐ๋ฅธ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ํ์, ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ฑ ๋ฐ ๊ด๋ฆฌ, ๋ ผ๋ฆฌ์ฃผ์ -> ๋ฌผ๋ฆฌ์ฃผ์ ๋ณํ ์ฃผ๋ณ ์ฅ์น ์ฌ์ฉ์ ์ํ ์ธํฐํ์ด์ค ์ ๊ณต (์ฅ์น๋๋ผ์ด๋ฒ ๊ด๋ฆฌ) ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ํ์ผ ์์ฑ ๋ฐ ์ญ์ , ๋์คํฌ ๊ณต๊ฐ ๊ด๋ฆฌ ์ปดํจํฐ ํ๋์จ์ด๋ ํฌ๊ฒ ํ๋ก์ธ์, ๋ฉ๋ชจ๋ฆฌ, ์ฃผ๋ณ์ฅ์น๋ก ๋ถ๋ฅํ ์ ์๋ค. ํ๋ก์ธ์ ์ฐ์ฐ ์ํ(์ฐ์ฐ์ฅ์น)์ด ๊ฐ๋ฅํ๋ฉฐ ์ปดํจํฐ์ ๋ชจ๋ ์ฅ์น์ ๋์์ ์ ์ด(์ ์ด์ฅ์น)ํ๋ค. ๋ ์ง์คํฐ ํ๋ง๋๋ก ๋งํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ค ํ๋์ด๋ค. ์ผ๋ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋ค๋ฅธ ์ ์ ํ๋ก์ธ์ ๋ด๋ถ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ผ๋ ์ ์ด๋ค. ์ปดํจํฐ์์ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ด๋ค...
์ธ๋ถ ์ ๋ ฌ(External Sort)์ด๋? ๋ฐ์ดํฐ๋ค์ ํฌ๊ธฐ๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น๋ณด๋ค ์ปค ์ ๋ ฌ ํ ๋ฐ์ดํฐ๋ค์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์จ์ ํ ์ ๋ ฅํ ์ ์๋ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด ์ฃผ๊ธฐ์ต์ฅ์น๊ฐ 1GB๊ณ , ๋ฐ์ดํฐ ํ์ผ์ด ์ด 100GB๋ผ๊ณ ํ์ ๋ ๋ด๋ถ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ ๋ ฌํ ์ ์๋ค. ์ธ๋ถ ์ ๋ ฌ ๊ณผ์ ๋ถํ ์ธ๋ถ ์ ๋ ฌ์ ์ฃผ๊ธฐ์ต์ฅ์น์์ ์์ฉํ ์ ์๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ์ฝ์ด, ๋ด๋ถ์ ๋ ฌ์ ์ํ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น์ ๋ค์ ์ ์ฅํ๋ค. ์ฌ๊ธฐ์ ๋ด๋ถ ์ ๋ ฌ์ ์ํฉ์ ๋ง๋ ์ ๋ ฌ์ ์ฌ์ฉํ๋ฉด ๋๋ค. 1. ๋ฉ๋ชจ๋ฆฌ ๋งํผ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์จ๋ค. 2. ํ์ฉํ ๋ด๋ถ ์ ๋ ฌ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ค. 3. ์ ๋ ฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น์ ๊ธฐ๋กํ๋ค. ์ ๋ณต ์ ๋ ฌ๋์ด ๋๋ ์ง ๋ธ๋ก๋ค์ ํ๋์ ๋ธ๋ก์ผ๋ก ๋ง๋ค๊ธฐ ์ํด Merge ..