์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- ๋ฐฑ์ค9093
- java
- StringBuffer
- ์๋ฐ
- ์ฟ ํกERD
- ์ฐ์ฐ์
- ๋ฐฑ์ค1874
- ๋ฌธ์์ด
- ์ฟ ํกDB
- ์คํ์์ด
- StringBuilder
- ์คํธ๋ฆผ
- ๋ฐฐ์ด
- ๋ฐ์ดํฐํ์
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์ฐ
- ์
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ๋
- stream
- ๋ฐฑ์ค9012
- ์คํ
- Today
- Total
๋ชฉ๋กComputer Science (18)
Tech Log ๐ ๏ธ
๋ฐฐ๊ฒฝ์ง์ : ํจ์ ์ข ์ ๋ ํํ์ X๊ฐ์ด ๊ฐ๋ค๋ฉด Y๊ฐ๋ ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ฆ X ๊ฐ์ ๋ฐ๋ผ์ Y์ ๊ฐ์ด ๊ฒฐ์ ๋๋ ๊ฒ์ธ๋ฐ, X์ Y๋ฅผ์ ํจ์ ์ข ์ ๊ด๊ณ๋ผ๊ณ ํ๋ค. ๊ด์ ์ ๋ฐ๋ผ์ X๊ฐ Y๋ฅผ ํจ์์ ์ผ๋ก ๊ฒฐ์ ํ๋ค. ๋ผ๊ณ ํ ์๋ ์๊ณ Y๊ฐ X์ ํจ์์ ์ผ๋ก ์์กดํ๋ค. ๋ผ๊ณ ํํํ ์๋ ์๋ค. ์ด๋ฌํ ๊ด๊ณ๋ฅผ ํจ์ ์ข ์ ํน์ Funtional Dependency(FD)๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด ์๋ ํ ์ด๋ธ์์๋ ํ์์ด๋ฆ๊ณผ ํ๋ก๊ทธ๋จ์ด primary key์ด๋ฉฐ ์ด๋ ๊ฐ๊ฒฉ์ ๊ฒฐ์ ํ๋ค. (ํ์ ๋ฒํธ๊ฐ ์ข ๋ ์์ฐ์ค๋ฝ์ง๋ง ์ค๋ช ์ ์ํด ๋ค๋ฅธ ํค๋ฅผ ์์๋ก ๋ ๋ค.) ์ด ๋์ FD ๊ด๊ณ๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ ๊ธฐํธ๋ก๋ {ํ์์ด๋ฆ,ํ๋ก๊ทธ๋จ} -> ๊ฐ๊ฒฉ ์ผ๋ก ํ์ํ๋ค. ํ์๋ฒํธ ํ์์ด๋ฆ ํ๋ก๊ทธ๋จ ๊ฐ๊ฒฉ 101 ๋ฏผ์ ํ ๋์ค 5000 102 ์ฒ ์ ๋..
๊ฐ์๋ฉ๋ชจ๋ฆฌ๋? ํ๋ก๊ทธ๋จ์ ์์ํ๊ธฐ ์ํด์๋ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ผ ํ๋๋ฐ, ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฆฌ๊ธฐ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋์ด ํฑ ์์ด ๋ถ์กฑํ๋ค. ์ด๋ ํ์ํ ๊ฒ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ปดํจํฐ๊ฐ ์ด์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์์๋ค์ ์ถ์ํํ๋ ๊ฒ์ด๋ผ๊ณ ํ๋๋ฐ, ์ด๊ฒ ๋ฌด์จ ๋ง์ผ๊น? CPU๋ ํ๋ก์ธ์ค๋ฅผ ์คํํ ๋ ๋ ผ๋ฆฌ ์ฃผ์(logical memory)๋ฅผ ๋ฐ๋ผ๋ณธ๋ค. ์ด๋ ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์ง ์๋ ์ง ์๊ด์์ด, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด์ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ํ ๋นํ์ฌ์ค๋ค. ์ด๋ ๊ฒ ํด์ฃผ๋ฉด CPU ์ ์ฅ์์๋ "๋ชจ๋ ํ๋ก์ธ์ค๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ค?" ๋ผ๋ ์ฐฉ๊ฐ์ ํ๊ฒ ๋๊ณ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ถ์ํ๋ผ๊ณ ๋ณผ ์ ์๋ค. (์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์๋ CPU ์ ์ฅ์์ ์ ํ์ ์๋ค.) ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ์ด์ ๊ฐ์ ..
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด๋ ํ๋ก์ธ์ค์ ์ฐ์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ฒ์ด๋ค. ๋งค ์์ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ์ ๋ง๊ฒ ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ข ๋ฅ๋ก๋ ๊ณ ์ ๋ถํ ๋ฐฉ์๊ณผ ๊ฐ๋ณ ๋ถํ ๋ฐฉ์์ด ์๋ค. ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์๋ฆฌ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ๋ฌ ๋ถํ ๋ก ๋๋์ด์ ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ๋ค. ํ๋ก์ธ์ค๋ค์ ํ ๋นํ ๋ ์ ์ฌ๋ ๊ณต๊ฐ์ ์ฐพ์์ผํ๋๋ฐ ์ด๋ฅผ ๊ตฌํํ ๋ฐฉ๋ฒ์ด ๋ํ์ ์ผ๋ก 3๊ฐ์ง๊ฐ ์๋ค. ์ต์ด ์ ํฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ํ๋ค๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ ์ ์๋ ๊ณต๊ฐ(hole)์ด ๋์ค๋ฉด ๊ทธ ์๋ฆฌ์ ๋ฐ๋ก ๋ฐฐ์นํ๋ ๊ฒ์ด๋ค. ์ต์ ์ ํฉ ๋น ์๋ฆฌ๊ฐ ์๋ค๊ณ ๋ฌด์กฐ๊ฑด ์ ์ฌํ๋ ๊ฒ์ด ์๋๋ผ ์ ์ฌ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ๊ณต๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ๋ค. ์ต์ ์ ํฉ ์ดค์ ์ ํฉ๊ณผ๋ ๋ฐ๋๋ก ์ ์ฌํ ์ ์๋ ๊ฐ์ฅ ํฐ ๊ณต๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ๋ ๊ฒ์ด..
1. ๋ฐ๋๋ฝ์ด๋? ๋ฐ๋๋ฝ์ด๋ ๋๊ฐ ์ด์์ ํ๋ก์ธ์ค ํน์ ์ค๋ ๋๊ฐ ์๋ก๊ฐ ๊ฐ์ง ๋ฆฌ์์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ํ์ด๋ค. ์ด๋ฐ ์ํ๊ฐ ๋ฐ์ํ๋ฉด ์๋ก๊ฐ ์ํ๋ ์์์ ์ป์ง ๋ชปํด์ ์ฒ๋ฆฌ ์ํ๊ฐ ๋ง๋น๋๋ ํ์์ด ๋ฐ์ํ๋ค. ๋ฉํฐ ํ๋ก์ธ์ค/์ค๋ ๋ ํ๊ฒฝ , ๋ ์ด์ค ์ปจ๋์ ํ๊ฒฝ์์ ๋ฐ์ํ๋ฉฐ ์ฌ๋ฌ ์กฐ๊ฑด์ด ๋ณตํฉ์ ์ผ๋ก ์์ฉํด์ ๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋ค. 2. ๋ฐ๋๋ฝ์ด ๋ฐ์ํ๋ ์ด์ ์์ ๋ฐ๋๋ฝ์ ์ฌ๋ฌ ์กฐ๊ฑด์ด ๋ณตํฉ์ ์ผ๋ก ์์ฉํด์ผํ๋ค๊ณ ํ์๋ค. ๊ทธ ์กฐ๊ฑด์ ํฌ๊ฒ 4๊ฐ์ง๊ฐ ์๋ค. 1. ์ํธ๋ฐฐ์ (Mutual Exclusion) ๋ ์ด์ค ์ปจ๋์ ํ๊ฒฝ์์ ๊ณต์ ์์๋ค์ ๊ณต์ ํด์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ค. ์๋ฅผ ๋ค์ด, ์ฐจ๋๋ค์ด ์ฐจ์ ๋ค์ ๊ณต์ ํด์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ด๋ ๊ณง ๊ตํต์ฌ๊ณ ๋ก ์ด๋ฃจ์ด์ง๋ค. ์ด ์กฐ๊ฑด์ ๋น์ฐํ ๋ณด์ฅ๋์ด์ผ๋๋ ๊ฒ์ด๋ค. 2. ์ ์ ๋๊ธฐ (H..
๋ชจ๋ํฐ๋? ๋ชจ๋ํฐ๋ ์ค๋ ๋๊ฐ mutex๋ฅผ ๋ณด์ฅํ ์ ์๋๋ก ํ๋ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ด๋ค. ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์ค๋ ๋๋ฅผ waiting ์ํ๋ก ์ ํ์ํค๋๋ฐ ์ด๋ฅผ cooperation์ด๋ผ๊ณ ํ๋ค. mutex - ๋ฝ์ ๊ฐ์ง๊ณ ์๋ ์ค๋ ๋๋ง์ด ์๊ณ ์์ญ์ ๋ค์ด๊ฐ ์ ์๊ณ ๋ฉ์๋๋ฅผ ์คํํ ์ ์๋ค. ๋ชจ๋ํฐ์ ์๋ ๋ฐฉ์ ๋ชจ๋ํฐ๋ ํฌ๊ฒ ๋๊ฐ์ง์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋ฎคํ ์ค mutual exclusion์ ๋ณด์ฅํ๋ ์ฅ์น์ด๋ค. ๋ฝ์ ๊ฐ์ง์ง ๋ชปํ ์ค๋ ๋๋ ๋ฎคํ ์ค์์ ๊ด๋ฆฌํ๋ ์ํธ๋ฆฌ ํ์ ๋ค์ด๊ฐ๋ค. condition variable wating queue๋ฅผ ์ด์ฉํด ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ ์ค๋ ๋๋ค์ด ๋๊ธฐ ์ํ๋ก ๋จธ๋ฌผ ์ ์๋๋กํ๋ค. ๋ง์ฝ ์ค๋ ๋์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์์ ๊ฒฝ์ฐ ์ค๋ ๋๋ฅผ ๊นจ์ฐ๋ ์์ ์ด ํ์ํ๋ฐ ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ผ๋ก ์ธํด 3..
์ค์ผ์ค๋ง์ด๋? CPU ๋ฒ์คํธ*๋ฅผ ๊ณ ๋ คํ์ฌ ์ด์์ฒด์ ๊ฐ ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU ์์์ ๋ถ๋ฐฐํ๋ ๊ฒ์ด๋ค. CPU ๋ฒ์คํธ: CPU๋ฅผ ์ฌ์ฉํ๋ ๊ตฌ๊ฐ ์ค์ผ์ค๋ง์ ์ฌ์ฉํ๋ ์ด์ ์ค์ผ์ค๋ง์ ์ฃผ์ ๋ชฉ์ ์ ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ CPU์ ์ ํด(idle) ์๊ฐ์ ์ต์ํํ์ฌ CPU์ ์ด์ฉ๋ฅ ์ ์ต๋ํํ๋ ๊ฒ์ ์๋ค. ๋ฌผ๋ก ์๋ฌด ํ๋ก์ธ์ค๋ ๋๋ค์ผ๋ก ๋ฃ์ด์๋ ์๋๊ณ ํ๋ก์ธ์ค๋ค์ ์ฌ๋ฌ ์กฐ๊ฑด๋ค์ ๊ณ ๋ คํด์ ์ด๋ค ๊ฒ๋ถํฐ ์ฒ๋ฆฌํ ์ง ๊ฒฐ์ ํ๋ค. ํ๊ฐ์ง ์๋ฅผ ๋ค์ด๋ณด์ ์ ์ถ๋ ฅ ์์ ์ด ๋ง์ ํ๋ก์ธ์ค์ CPU ์ฌ์ฉ์ด ๋ง์ ํ๋ก์ธ์ค๊ฐ ์๋ค. ์ด ๋ ์ค ์ด๋ค ๊ฒ์ ๋จผ์ ์ฒ๋ฆฌํด์ผ ๋ ๊น? ์ด ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ์ ์ถ๋ ฅ ์์ ์ด ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ค. ์๋ํ๋ฉด, ์ ์ถ๋ ฅ ์์ ์ ๋จผ์ ๋นจ๋ฆฌ ๋๋ง์น ๋ค์ CPU ์ฌ์ฉ์ด ๋ง์ ํ๋ก์ธ์ค์๊ฒ ๋ง์ CPU ์์์ ํ ๋นํด์ค..
๐ก ์ด์์ฒด์ ๋ ๋ฌด์์ธ๊ฐ? - ์ด์์ฒด์ ๋ ์ ์ ์ ํธ์๋ฅผ ์ํด ์ปดํจํฐ์ ์์๋ค์ ๋์ ๊ด๋ฆฌํด์ฃผ๋ ์์คํ ์ํํธ์จ์ด์ด๋ค. - ์ฌ๊ธฐ์ ์์์ ๋ฉ๋ชจ๋ฆฌ , CPU ๊ทธ๋ฆฌ๊ณ I/O ๋๋ฐ์ด์ค๋ค์ด ์๋ค. - ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ ์ ๋ ๋์์๋ฆฌ๋ฅผ ์์ง ๋ชปํด๋ PC๋ฅผ ํ์ฉํ ์ ์๋ค. (ex. ์๋์ฐ , ๋ฆฌ๋ ์ค , ์ ๋์ค) ๐ก ํ๋ก์ธ์ค์ ์ค๋ ๋์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์. - ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์์ ์ ํ ๋น๋ฐ๋ ์์ ์ ๋จ์์ด๋ฉฐ , ์ค๋ ๋๋ ๊ทธ ์์์ ์ด์ฉํ๋ ์คํ์ ๋จ์์ด๋ค. - ํ๋์ธ์ค ๋ด์ ์ค๋ ๋๋ ์ฌ๋ฌ๊ฐ๊ฐ ์์ฑ๋ ์ ์์ผ๋ฉฐ ์ต์ ํ ๊ฐ ์ด์์ ๊ฐ์ ธ์ผํ๋ค. ๐ก ๋ฉํฐ ์ค๋ ๋์ ์ฅ์ ๋ฐ ๋จ์ ์ ๋ฌด์์ธ๊ฐ? - ์ค๋ ๋๋ ์๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค๋ณด๋ค ๊ฐ๋ณ๋ค๋ ํน์ง์ด ์๋ค. - ์ด๋ ํต์ ๋น์ฉ ๊ฐ์ ๋ฐ ์์คํ ์์์..
ํธ๋์ญ์ ์ด๋ ? ์ํํธ์จ์ด ์ธ๊ณ์์์ ํธ๋์ญ์ ์ ์ดํด๋ณด๊ธฐ ์์์ ์ค์ํ์์ ํํ ์๋ ์ด์ผ๊ธฐ๋ฅผ ์๋ก ๋ค์ด๋ณด๋ ค๊ณ ํ๋ค. ๋ง์ฝ ์น๊ตฌ๊ฐ ๋น์ ์๊ฒ ์์ ์ ๊ณ์ข์ 20๋ง์์ ๋ณด๋ด์ฃผ๋ ค๊ณ ํ๋ค. ์ด ๊ฒฝ์ฐ ์์ ์ ๋จ์๋ ์ด๋ป๊ฒ ๋ ๊น? ์์ธํ ํํด์น๋ฉด ๋ ๋ง์ ๋จ์๊ฐ ์์ ์ ์๊ฒ ์ง๋ง ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋ณผ ์ ์์ ๊ฒ์ด๋ค. 1. ์น๊ตฌ A์ ๊ณ์ข์์ 20๋ง์์ ๋บ๋ค. 2. ์น๊ตฌ B์ ๊ณ์ข์ 20๋ง์์ ์ถ๊ฐํ๋ค. ์ด ์ํฉ์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค์ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ๋ํ์ ์ผ๋ก 4๊ฐ์ง๋ง ์์๋ณด์ ๋ง์ฝ, ์ก๊ธ ๋์ค A์ ๊ณ์ข์๋ ๋์ด ๋น ์ก๋๋ฐ B์ ๊ณ์ข์ ๋์ด ๊ทธ๋๋ก๋ผ๋ฉด? ๋ง์ฝ, A์ ๊ณ์ข์ ๋์ด ๋ถ์กฑํ ์ํ์ธ๋ฐ ์ก๊ธ์ด ๋์๋ค๋ฉด? ๋ง์ฝ, ์ก๊ธ ๋์ค ์น๊ตฌC๊ฐ ์ก๊ธ์ ๋ณด๋ด์ ์๋ก์ ๋ฐ์ดํฐ๊ฐ ์๊ฐ๋ฆฐ๋ค๋ฉด? ๋ง์ฝ, ์ก๊ธ์ ์ ๋ง์ณค์์๋..