728x90 ์ ์ฒด ๊ธ118 [๋ฐ์ดํฐ ๊ตฌ์กฐ] ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked lists) ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋? ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linked Lists)๋ ๋ฐ์ดํฐ์ ์งํฉ์ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ฉฐ, ์๋์ ๊ฐ์ ์์ฑ์ ๊ฐ๋๋ค. ์ฐ์๋๋ ํญ๋ชฉ๋ค์ด ํฌ์ธํฐ๋ก ์ฐ๊ฒฐ๋๋ค. ๋ง์ง๋ง ํญ๋ชฉ์ NULL์ ํฌ์ธํธ ํ๋ค. ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ ๋์ ํฌ๊ธฐ๊ฐ ์ปค์ง๊ฑฐ๋ ์์์ง ์ ์๋ค. ์์คํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ฉํ๋ ํ ํ์ํ ๋งํผ ๊ธธ์ด์ง ์ ์๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ญ๋นํ์ง ์๋๋ค. (ํ์ง๋ง, ํฌ์ธํฐ๋ฅผ ์ํ ์ถ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ๋ค.) ์ฐ๊ฒฐ ๋ฆฌ์คํธ ADT ๋ค์์ ์ฐ์ฐ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ถ์ ๋ฐ์ดํฐํ, ์ฆ, ADT(Abstract Data Type)๊ฐ ๋๋๋ก ํ๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์ฃผ์ ์ฐ์ฐ๋ค ์ฝ์ : ํญ๋ชฉ์ ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค. ์ญ์ : ์ง์ ๋ ์์น์ ํญ๋ชฉ์ ๋ฆฌ์คํธ๋ก๋ถํฐ ์ญ์ ํ๋ฉฐ ๋ฆฌํดํ๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ณด์กฐ์ ์ฐ์ฐ๋ค ๋ฆฌ์คํธ ์ญ.. 2022. 11. 3. [DATABASE] ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค์ด๋? ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(isolation level)์ด๋? ๋์์ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ์ฒ๋ฆฌ๋ ๋, ํน์ ํธ๋์ญ์ ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์กฐํํ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๋๋ก ํ์ฉ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค์ ํ์์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ACID ๊ฐ์ด ํธ๋์ญ์ ์ด ์์์ ์ด๋ฉด์๋ ๋ ๋ฆฝ์ ์ธ ์ํ์ ํ๋๋ก ํ๋ค. ํธ๋์ญ์ ์ด DB๋ฅผ ๋ค๋ฃจ๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๊ด์ฌํ์ง ๋ชปํ๊ฒ ๋ง๋ Locking์ด๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ค. ๋ฌด์กฐ๊ฑด์ ์ธ Locking ์ผ๋ก ๋์์ ์ํ๋๋ ๋ง์ ํธ๋์ญ์ ๋ค์ ์์๋๋ก ์ฒ๋ฆฌํ ์์ DB ์ฑ๋ฅ์ ๋จ์ด์ง๊ฒ ๋๋ค. ๋ฐ๋๋ก, ์๋ต์ฑ์ ๋์ด๊ธฐ ์ํด Locking ๋ฒ์๋ฅผ ์ค์ธ๋ค๋ฉด ์๋ชป๋ ๊ฐ์ด ์ฒ๋ฆฌ๋ ์ฌ์ง๊ฐ ์๋ค. ์ต๋ํ ํจ์จ์ ์ธ Locking ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค์ ์ข ๋ฅ READ UNCO.. 2022. 11. 3. [Github] SSH ๋ฅผ ํ์ฉํ์ฌ ์ฌ๋ฌ ๊ณ์ ๊ด๋ฆฌ ๋ฐฉ๋ฒ ์ฌ๋ฌ GitHub ๊ณ์ ์ SSH๋ฅผ ํ์ฉํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ GitHub ๊ณ์ ์ ํ๋์ ๋จธ์ ์์ ์ฌ์ฉํด์ผ ํ ๊ฒฝ์ฐ, SSH๋ฅผ ํ์ฉํ์ฌ ๊ฐ ๊ณ์ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์์์๋ SSH ํค ์์ฑ๋ถํฐ GitHub ๊ณ์ ์ ๋ฑ๋ก, ssh-agent๋ฅผ ํตํ ํค ๋ฑ๋ก, SSH ์ค์ ํ์ผ ์์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ ํ์งํ ๋ฆฌ์ ๋ณต์ฌ๊น์ง์ ์ ์ฒด ๊ณผ์ ์ ์๋ดํฉ๋๋ค. 1. SSH๋? SSH(Secure Shell)๋ ์ปดํจํฐ ๋คํธ์ํฌ์์ ๋ณด์ ์ฑ๋์ ํตํด ์ํธํ๋ ํต์ ์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ ๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ์๊ฒฉ ๋จธ์ ์ ์์ ํ๊ฒ ์ ์ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค. 2. SSH ํค ์์ฑ 2.1 ๊ธฐ์กด SSH ํค ํ์ธ $ ls -al ~/.ssh 2.2 SSH ํค ์์ฑ $ ssh-keygen -t rsa ์์ฑ.. 2022. 11. 3. [๋ฐ์ดํฐ ๊ตฌ์กฐ] ์ฌ๊ท(recursive) ๋? ์ฌ๊ท๋? ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์ ์ฌ๊ท์ ๋ฐฉ๋ฒ ์์ ์ ๋ณต์ฌ๋ณธ์ ํธ์ถํ์ฌ ๋ ์์ ๋ฌธ์ ๋ฅผ ํ๊ฒ ํจ์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ์ด๋ฅผ ์ฌ๊ท ๋จ๊ณ๋ผ๊ณ ํ๋๋ฐ, ์ฌ๊ท ๋จ๊ณ๋ ๋ ๋ง์ ์์ ์ฌ๊ท ๋จ๊ณ๋ฅผ ๋ง๋ค ์ ์๋ค. ๋งค ๋จ๊ณ๋ณด๋ค ํจ์๋ ์๋ณธ ๋ฌธ์ ๋ณด๋ค ์กฐ๊ธ ๋ ๋จ์ํ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ์์ ์ ํธ์ถํ๋ค. ์์ ๋ฌธ์ ์ ์์ด์ ๊ฒฐ๊ตญ ๊ธฐ๋ณธ ๊ฒฝ์ฐ๋ฅผ ์๋ ดํด์ผ ํ๋ค. ์ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋๊ฐ? ์ฌ๊ท๋ ์ํ์ผ๋ก๋ถํฐ ๋น๋ ค์จ ์ ์ฉํ ๊ธฐ๋ฒ์ด๋ค. ์ฌ๊ท ์ฝ๋๋ ๋ฐ๋ณต ์ฝ๋๋ณด๋ค ์งง๊ณ ์์ฑํ๊ธฐ ์ฝ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฃจํ๋ ์ปดํ์ผ๋๊ฑฐ๋ ์ธํฐํ๋ฆฐํฐ ๋ ๋ ์ฌ๊ท ํจ์๋ก ๋ฐ๋๋ค. ์ฌ๊ท๋ ๋น์ทํ ํ์ ์์ ์ผ๋ก ์ ์๋ ์ ์๋ ์์ ์ ํนํ ์ ์ฉํ๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ ฌ, ๊ฒ์, ๊ทธ๋ฆฌ๊ณ ํ์ ๋ฌธ์ ๋ค์ด ๊ฐ๋จํ ์ฌ๊ท ํด๋ฒ์ผ๋ก ํด๊ฒฐ๋๋ค. ์ฌ๊ท ํจ์์ ํ์ ์ฌ๊ท ํจ์๋ .. 2022. 11. 3. [๊ฐ์ฒด์งํฅ ์ค๊ณ] Solid ์์น SOLID ์์น SOLID ์์น ์๊ฐ SOLID๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ค๊ณ์ ์ ์ฉ๋๋ ๋ค์ฏ ๊ฐ์ง ๊ธฐ๋ณธ ์์น์ ๋ํ๋ ๋๋ค. ์ด๋ฌํ ์์น๋ค์ ๋ก๋ฒํธ ๋งํด๊ณผ ๋ง์ดํด ํ๋์ค์ ์ํด ์๊ฐ๋์์ผ๋ฉฐ, ์ํํธ์จ์ด ์์คํ ์ ๋ ํจ์จ์ ์ด๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ธฐ ์ํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. 1. SRP(Single Responsibility Principle) - ๋จ์ผ ์ฑ ์ ์์น ๊ฐ ํด๋์ค๋ ๋จ ํ๋์ ์ฑ ์๊ณผ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ์ด๊ฒ์ ํด๋์ค๊ฐ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ ์ด์ ๊ฐ ํ๋, ์ฆ ํ๋์ ๋ณํ์๋ง ์์กดํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. 2. OCP(Open Closed Principle) - ๊ฐ๋ฐฉ ํ์ ์์น ์ํํธ์จ์ด์ ๊ตฌ์ฑ์์๋ ํ์ฅ์๋ ๊ฐ๋ฐฉ๋์ด ์์ด์ผ ํ๊ณ , ์์ ์ ๋ํด์๋ ํ์๋์ด์ผ ํฉ๋๋ค. ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๋ .. 2022. 11. 3. [Linux] How to install NVIDIA Driver on Centos 8 CentOS 8 NVIDIA ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ ์ค์น ๊ฐ์ด๋ ๊ฐ์ ์ด ๋ฌธ์๋ CentOS 8์์ NVIDIA ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ๋ฅผ ์ค์นํ๋ ๋จ๊ณ์ ์ธ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํฉ๋๋ค. NVIDIA ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ๋ ๊ทธ๋ํฝ ์นด๋์ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ์ถ๊ฐ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ค์น ๊ณผ์ 1. OS ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ ๋ฒ์ ํ์ธ $ lspci -vnn | grep VGA ์ด ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํ์ฌ ์์คํ ์ ์ค์น๋ ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ์ ๋ฒ์ ์ ํ์ธํฉ๋๋ค. 2. NVIDIA ํํ์ด์ง์์ ๋๋ผ์ด๋ฒ ๋ค์ด๋ก๋ ํ์ธํ ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ ๋ฒ์ ์ ๋ง๋ NVIDIA ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ๋ฅผ NVIDIA ๊ณต์ ํํ์ด์ง์์ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ฃผ์: ์ต์ ๋๋ผ์ด๋ฒ๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. 3. ๋๋ผ์ด๋ฒ ์ค์น ์ ํ์ ํจํค์ง ์ค์น $ sudo dnf gr.. 2022. 11. 3. ์ด์ 1 ยทยทยท 12 13 14 15 ๋ค์