1. ํ์ฌ IPv4์ ํ์ฅํ์ผ๋ก IPv4๊ฐ ๊ฐ์ง๊ณ ์๋ ์ฃผ์ ๊ณ ๊ฐ, ๋ณด์์ฑ, ์ด๋์ฑ ์ง์ ๋ฑ์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๊ฐ๋ฐ๋ 128๋นํธ ์ฃผ์์ฒด๊ณ๋ฅผ ๊ฐ๋ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ ๋ฌด์์ธ๊ฐ?
IPv6
ํ์ฌ IPv4์ ํ์ฅํ์ผ๋ก ๊ฐ๋ฐ๋ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ IPv6์ ๋๋ค.
IPv6๋ IPv4์ 32๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ๋์ฒดํ์ฌ 128๋นํธ ์ฃผ์ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ฉฐ,
์ด๋ฅผ ํตํด ์ฃผ์ ๊ณ ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋ ๋ง์ ์ฅ์น๋ค์ด ์ธํฐ๋ท์ ์ ์ํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
๋ํ, IPv6๋ IPv4์ ๋น๊ตํ์ฌ ๋ ๋์ ๋ณด์์ฑ์ ์ ๊ณตํ๋ฉฐ, ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์์ ์ด๋์ฑ ์ง์์ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค.
2. ๋ชฉ์ ์ ๋ฐ๋ฅธ ๋์์ธ ํจํด์ ์ ํ์๋ ์์ฑ, ๊ตฌ์กฐ, ( ) ์ด/๊ฐ ์๋ค. ๊ดํธ ( ) ์์ ์๋ง๋ ์ ํ์ ์ฐ์์ค.
ํ์
๋ชฉ์ ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง ์ ํ์ผ๋ก ๋ถ๋ฅ
- ์์ฑ(Creational) ํจํด : ๊ฐ์ฒด์ ์์ฑ๊ณผ ๊ด๋ จ๋ ํจํด์ผ๋ก, ๊ฐ์ฒด ์์ฑ์ ์บก์ํํ๊ณ , ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ฌ์ค๋๋ค. ๋ํ์ ์ธ ์๋ก๋ Singleton, Factory, Builder ๋ฑ์ด ์์ต๋๋ค.
- ๊ตฌ์กฐ(Structural) ํจํด : ๊ฐ์ฒด๋ค์ ๊ตฌ์ฑ์ ๋ค๋ฃจ๋ ํจํด์ผ๋ก, ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ตฌ์ฑํ๊ณ , ์์, ๊ตฌ์ฑ ๋ฑ์ ํตํด ๋ ํฐ ๊ตฌ์กฐ๋ฅผ ๋ง๋ญ๋๋ค. ๋ํ์ ์ธ ์๋ก๋ Adapter, Facade, Decorator ๋ฑ์ด ์์ต๋๋ค.
- ํ์(Behavioral) ํจํด : ๊ฐ์ฒด๋ค์ด ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์ญํ ์ ๋ค๋ฃจ๋ ํจํด์ผ๋ก, ๊ฐ์ฒด๋ค ๊ฐ์ ์ํธ์์ฉ๊ณผ ์ญํ ์ ์ ์ํ์ฌ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ค๊ณ๋ฅผ ํ ์ ์๊ฒ ํด์ค๋๋ค. ๋ํ์ ์ธ ์๋ก๋ Observer, Command ๋ฑ์ด ์์ต๋๋ค.
3. ๋ค์์ ํ๋งค์ ๊ด๋ จ๋ ๋ค์ด์ด๊ทธ๋จ์ด๋ค. ํด๋น ๋ค์ด์ด๊ทธ๋จ์ ๋ช ์นญ์ ์ฐ์์ค.
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ(Package Diagram)์ ์ํํธ์จ์ด์ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ UML ๋ค์ด์ด๊ทธ๋จ ์ค ํ๋์ ๋๋ค.
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ปดํฌ๋ํธ๋ ํด๋์ค๋ค์ ํจํค์ง๋ก ๋ฌถ์ด์ ํํํฉ๋๋ค.
ํจํค์ง๋ ๊ด๋ จ๋ ํด๋์ค๋ ํ์ ํจํค์ง๋ฅผ ๋ฌถ์ด์ ๊ตฌ์ฑํ๋ฉฐ, ํจํค์ง ๊ฐ์ ์์กด ๊ด๊ณ,
์ฆ ํจํค์ง๊ฐ ๋ค๋ฅธ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ํ์ดํ๋ก ํ์ํ์ฌ ๋ํ๋ ๋๋ค.
4. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ณต(Recovery) ๊ธฐ๋ฒ ์ค Rollback ์ Redo, Undo๊ฐ ๋ชจ๋ ์คํ๋๋ ํธ๋์ญ์ ์ฒ๋ฆฌ๋ฒ์ผ๋ก
ํธ๋์ญ์ ์ํ ์ค ๊ฐฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก DB์ ๋ฐ์ํ๋ ๊ธฐ๋ฒ์ ๋ฌด์์ธ๊ฐ?
์ฆ๊ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ
์ฆ๊ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ(Immediate Update Recovery Technique)์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ ๊ธฐ๋ฒ ์ค ํ๋์ ๋๋ค.
์ด ๊ธฐ๋ฒ์ ํธ๋์ญ์ ์ด ์๋ฃ๋๋ ์ฆ์ ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๋ถ๋ถ์ด๋ ์ ์ฒด๋ฅผ ๋์คํฌ์ ๊ฐฑ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ง์ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ :
ํธ๋์ญ์ ์ ๋ถ๋ถ ์๋ฃ ์ํ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ก๊ทธ ํ์ผ์๋ง ์ ์ฅ
5. ๋ค์์ n์ด 10์ผ ๋, 10์ 2์ง์๋ก ๋ณํํ๋ ์๋ฐ ์์ค ์ฝ๋์ด๋ค. 1,2์ ์๋ง๋ ๊ฐ์ ์ ์ผ์์ค.
[์ถ๋ ฅ๊ฒฐ๊ณผ] : 1010
class good {
public static void main (String[] args) {
int[]a = new int[8];
int i=0; int n=10;
while ( 1. ) {
a[i++] = ( 2. );
n /= 2;
}
for(i=7; i>=0; i--){
System.out.print(a[i]);
}
}
}
1. n>0
2. n%2
ํด๋น ์ฝ๋๋ 10์ง์๋ฅผ 2์ง์๋ก ๋ณํํ๋ ์ฝ๋์ ๋๋ค.
๋จผ์ , ๊ธธ์ด๊ฐ 8์ธ int ๋ฐฐ์ด a๋ฅผ ์์ฑํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณ์ i์ n์ 0๊ณผ 10์ผ๋ก ์ด๊ธฐํํฉ๋๋ค.
while ๋ฃจํ์์๋ n์ด 0๋ณด๋ค ํด ๋๊น์ง
a[i++]์ n์ 2๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ ์ฅํ๊ณ , n์ 2๋ก ๋๋๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด a ๋ฐฐ์ด์๋ n์ 2์ง์๋ก ๋ณํํ ๊ฒฐ๊ณผ๊ฐ ์ญ์์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
for ๋ฃจํ์์๋ a ๋ฐฐ์ด์ ์ญ์์ผ๋ก ์ถ๋ ฅํ์ฌ 2์ง์๋ก ๋ณํํ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.
๋ฐ๋ผ์, ํด๋น ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ 10์ง์ 10์ 2์ง์๋ก ๋ณํํ ๊ฒฐ๊ณผ์ธ 1010์ด ์ถ๋ ฅ๋ฉ๋๋ค.
6. ๋ค์์ ์๋ฐ ์์ค ์ฝ๋์ด๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ , 1,2์ ์๋ง๋ ๊ฐ์ ์ ์ผ์์ค.
[์ถ๋ ฅ ๊ฒฐ๊ณผ]
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
public class good {
public static void main(String[] args) {
int[][]a = new int[(1.)][(2.)];
for(int i = 0; i <3; i++){
for(int j=0; j < 5; j++){
a[i][j] = j*3+(i+1);
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
new int[3][5]
1. ๋ฐฐ์ด์ ํ์ ๊ฐ์
2. ๋ฐฐ์ด์ ์ด์ ๊ฐ์
7. ์ค๋ํ(Sniffing)์ ๋ํ์ฌ ์์ ํ์์ค.
์ค๋ํ(Sniffing)์ ๋คํธ์ํฌ ์์์ ๋ฐ์ดํฐ ํจํท์ ๊ฐ๋ก์ฑ์ ๊ทธ ๋ด์ฉ์ ํ์ทจํ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๋ ๋ฐ์ดํฐ ์ ์ก ๊ณผ์ ์์ ํจํท์ ๊ฐ๋ก์ฑ์ ๊ทธ ๋ด์ฉ์ ํด๋ ํ๊ฑฐ๋ ์กฐ์ํจ์ผ๋ก์จ
๋คํธ์ํฌ ์์์ ์ด๋ฃจ์ด์ง๋ ํต์ ๋ด์ฉ์ ๋ชฐ๋ ์ฟ๋ณผ ์ ์์ต๋๋ค.
8. IP ํจํท์์ ์ธ๋ถ์ ๊ณต์ธ IP์ฃผ์์ ํฌํธ ์ฃผ์์ ํด๋นํ๋ ๋ด๋ถ IP์ฃผ์๋ฅผ ์ฌ๊ธฐ๋กํ์ฌ
๋ผ์ฐํฐ๋ฅผ ํตํด ๋คํธ์ํฌ ํธ๋ํฝ์ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ์ ๋ฌด์์ธ๊ฐ?
NAT(Network Address Translation)
๋ด๋ถ ๋คํธ์ํฌ์์ ์ธ๋ถ ๋คํธ์ํฌ๋ก ํต์ ์ ํ ๋,
ํจํท์ ์ก์ ์ง ์ฃผ์๋ ๋ด๋ถ ๋คํธ์ํฌ์์ ํ ๋น๋ ์ฌ์ค IP ์ฃผ์์ ํฌํธ ๋ฒํธ์ด๊ธฐ ๋๋ฌธ์
์ธ๋ถ ๋คํธ์ํฌ๋ก ์ ์ก๋๋ IP ํจํท์ ์ก์ ์ง ์ฃผ์๋ฅผ ์ธ๋ถ์์ ์ธ์ํ ์ ์๋ ๊ณต์ธ IP ์ฃผ์์ ํฌํธ ๋ฒํธ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
์ด ๋ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋คํธ์ํฌ ์ฃผ์ ๋ณํ(Network Address Translation, NAT)์ ๋๋ค.
NAT๋ ๋ผ์ฐํฐ๋ ๋ฐฉํ๋ฒฝ๊ณผ ๊ฐ์ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ์ฌ์ฉํ์ฌ
๋ด๋ถ ๋คํธ์ํฌ์์ ์ธ๋ถ ๋คํธ์ํฌ๋ก ํต์ ํ ๋ ๋ด๋ถ ์ฃผ์๋ฅผ ๊ณต์ธ ์ฃผ์๋ก ๋ณํํ๋ ๊ธฐ์ ์ ๋๋ค.
9. ๋ค์์ ํ์ด์ฌ ์์ค ์ฝ๋์ด๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์์ค.
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol;
for item in sub;
print(item, end = '')
print()
์ถ๋ ฅ ๊ฒฐ๊ณผ
[1, 2, 3]
7
123
45
6789
lol[0]์ lol ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ์์์ธ [1, 2, 3]์ ์ถ๋ ฅํฉ๋๋ค.
lol[2][1]์ lol ๋ฆฌ์คํธ์ ์ธ ๋ฒ์งธ ์์์ธ [6, 7, 8, 9] ์ค์์ ๋ ๋ฒ์งธ ์์์ธ 7์ ์ถ๋ ฅํฉ๋๋ค.
for๋ฌธ์ ์ด์ฉํ์ฌ ์ด์ฐจ์ ๋ฆฌ์คํธ lol์ ๊ฐ ์์๋ฅผ ํ๋์ฉ ์ถ๋ ฅํฉ๋๋ค.
for sub in lol์ lol ๋ฆฌ์คํธ์ ์์๋ค์ ํ๋์ฉ ๊บผ๋ด์ sub์ ์ ์ฅํฉ๋๋ค.
for item in sub์ sub ๋ฆฌ์คํธ์ ์์๋ค์ ํ๋์ฉ ๊บผ๋ด์ item์ ์ ์ฅํฉ๋๋ค.
print(item, end='')์ item์ ์ถ๋ ฅํ๋ ์ค๋ฐ๊ฟ ์์ด ์ถ๋ ฅํฉ๋๋ค.
print()๋ ์ค๋ฐ๊ฟ์ ์ถ๊ฐํฉ๋๋ค.
์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจ๋ ์์๋ค์ ์ถ๋ ฅํฉ๋๋ค.
10. ๋ถ์ฐ ์ปดํจํ ๊ธฐ์ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์๋ณ์กฐ ๋ฐฉ์ง ๊ธฐ์ ๋ก P2P๋ฐฉ์์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ
์๊ท๋ชจ ๋ฐ์ดํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ์ฑ๋ '๋ธ๋ก'์ด๋ผ๋ ๋ถ์ฐ ๋ฐ์ดํฐ ์ ์ฅ ํ๊ฒฝ์ ๊ด๋ฆฌ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ์ผ๋ก์จ
๋๊ตฌ๋ ์์๋ก ์์ ํ ์ ์๊ณ ๋๊ตฌ๋ ๋ณ๊ฒฝ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๊ฒ๋ ๋ง๋๋ ๊ธฐ์ ์ ๋ฌด์์ธ๊ฐ?
๋ธ๋ก์ฒด์ธ(Blockchain)
11. ์คํ ์์ค ๊ธฐ๋ฐ์ผ๋ก ํ ๋ถ์ฐ ์ปดํจํ ํ๋ซํผ์ผ๋ก, ์ผ๋ฐ PC๊ธ ์ปดํจํฐ๋ค๋ก ๊ฐ์ํ๋ ๋ํ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฑํ๊ณ ๊ทธ ์์ ๋ณด๊ด๋ ๊ฑฐ๋ํ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ์๋ฐ ์ํํธ์จ์ด ํ๋ ์์ํฌ๋ก ๊ตฌ๊ธ, ์ผํ ๋ฑ์ ์ ์ฉํ ๊ธฐ์ ์ ๋ฌด์์ธ๊ฐ?
ํ๋ก(Apache Hadoop)
Apache Hadoop์ ๋์ฉ๋ ๋ถ์ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์คํ ์์ค ํ๋ ์์ํฌ๋ก,
๊ตฌ๊ธ์ ๋ถ์ฐ ํ์ผ ์์คํ (Google File System)๊ณผ ๋งต๋ฆฌ๋์ค(MapReduce) ๊ฐ๋ ์ ๊ธฐ๋ฐ์ ๋๊ณ ์๋ค.
Hadoop์ ๋ค์์ ์๋ฒ๋ฅผ ํ๋์ ํด๋ฌ์คํฐ๋ก ๋ฌถ์ด์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ,
๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ๋ถ์ฐ ์ ์ฅ, ๋ณ๋ ฌ ์ฒ๋ฆฌ, ์๋ํ๋ ์ฅ์ ์กฐ์น ๋ฐ ๋ณต๊ตฌ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
12. ์ด์ ํ์์ ์ข ๋ฅ 3๊ฐ์ง๋ฅผ ์ฐ์์ค.
์ฝ์ ์ด์, ์ญ์ ์ด์, ๊ฐฑ์ ์ด์
์ด์ ํ์(Anomaly)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ์ ๋ถ์ผ์น๋ ๋ชจ์์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ด์ ํ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋๋ ์ฟผ๋ฆฌ ์์ฑ ๋ฑ์์ ์ค์๊ฐ ์์ ๋ ๋ฐ์ํ ์ ์์ผ๋ฉฐ,
๋ฐ์ดํฐ์ ์ค๋ณต์ฑ, ์ผ๊ด์ฑ, ๋ฌด๊ฒฐ์ฑ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ๋ฐ์ํฉ๋๋ค.
์ด์ ํ์์๋ ํฌ๊ฒ ์ธ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค.
- ์ฝ์ ์ด์(Insertion Anomaly): ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ๋ ์๋ํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ํจ๊ป ์ฝ์ ๋๊ฑฐ๋, ํ์ ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋์ด ์ฝ์ ์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ด ๋ฐ์ํ๋ ํ์์ ๋๋ค.
- ์ญ์ ์ด์(Deletion Anomaly): ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์๋ํ์ง ์์ ๋ฐ์ดํฐ๊น์ง ํจ๊ป ์ญ์ ๋์ด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ด ๊นจ์ง๋ ํ์์ ๋๋ค.
- ๊ฐฑ์ ์ด์(Update Anomaly): ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ํ ๋ ์ผ๋ถ ๋ฐ์ดํฐ๋ง ๊ฐฑ์ ๋์ด ๋ฐ์ดํฐ์ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๊ฑฐ๋, ์ผ๋ถ ๋ฐ์ดํฐ๊ฐ ๋๋ฝ๋์ด ๊ฐฑ์ ์ด ๋ถ๊ฐ๋ฅํ ์ํฉ์ด ๋ฐ์ํ๋ ํ์์ ๋๋ค.
13. ๋ค์์ ํ๋ก์ธ์ค ์ํ ์ ์ด๋์ด๋ค. 1,2,3์ ์๋ง์ ์ํ๋ฅผ ์ฐ์์ค.
1. ์ค๋น
2. ์คํ
3. ๋๊ธฐ
ํ๋ก์ธ์ค ์ํ ์ ์ด๋ ํ๋ก์ธ์ค์ ์คํ ์ํ์ ๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฃจ์ด์ง๋๋ค.
- ์์ฑ (New) : ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๋ ๋จ๊ณ
- ์ค๋น (Ready) : CPU๋ฅผ ํ ๋น๋ฐ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ๋จ๊ณ
- ์คํ (Running) : CPU๋ฅผ ํ ๋น๋ฐ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๋จ๊ณ
- ๋๊ธฐ (Waiting) : ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์ ์ถ๋ ฅ ๋ฑ์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋จ๊ณ
- ์ข ๋ฃ (Terminated) : ํ๋ก์ธ์ค๊ฐ ์คํ์ ๋ง์น๊ณ ์ข ๋ฃ๋๋ ๋จ๊ณ
์ด์์ ์ธ ํ๋ก์ธ์ค ์ํ ์ ์ด ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
New → Ready → Running → Waiting → Running → … → Terminated
ํ๋ก์ธ์ค๋ ๊ฐ ๋จ๊ณ์์ ์ผ์ ์๊ฐ์ด ์์๋ ์ ์์ผ๋ฉฐ, ๋ค์ ๋จ๊ณ๋ก ์ ํ๋๊ธฐ ์ํด์๋ ์ผ์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์คํ ์ํ์ธ ํ๋ก์ธ์ค๊ฐ ์ ์ถ๋ ฅ ๋ฑ์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋๊ธฐ ์ํ๋ก ์ ํ๋๊ธฐ ์ํด์๋
ํด๋น ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ฌ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์ด์ผ ํฉ๋๋ค.
14. ํ ์คํธ ์ค๋ผํด ์ค ํน์ ํ ๋ช ๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ํด์๋ง ๊ธฐ๋ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ค๋ผํด์ ๋ฌด์์ธ๊ฐ?
์ํ๋ง ์ค๋ผํด
ํ ์คํธ ์ค๋ผํด(Test Oracle)์ ์ํํธ์จ์ด ํ ์คํธ์์ ์์๋๋ ์ถ๋ ฅ ๊ฐ๊ณผ ์ค์ ์ถ๋ ฅ ๊ฐ์ ๋น๊ตํ์ฌ
์ค๋ฅ๋ฅผ ๊ฐ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋๋ค.
์ด๋ฅผ ์ํด ์ ๋ ฅ ๊ฐ์ ์ ๊ณตํ๊ณ ๊ธฐ๋๋๋ ์ถ๋ ฅ ๊ฐ์ ๋ฏธ๋ฆฌ ์ ์ํ์ฌ ์ค์ ์ถ๋ ฅ ๊ฐ๊ณผ ๋น๊ตํ์ฌ ์ค๋ฅ ์ฌ๋ถ๋ฅผ ํ๋ณํฉ๋๋ค.
์ํ๋ง ์ค๋ผํด(Sampling Oracle)์ ์ํํธ์จ์ด ํ ์คํธ์์ ์ฌ์ฉ๋๋ ์ค๋ผํด ์ค ํ๋๋ก,
์์คํ ์ ์ฒด์ ์ ๋ ฅ๊ฐ์ ๋ํด ๊ธฐ๋ํ๋ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์๋๋ผ,
์ผ๋ถ๋ง ์ ํ์ ์ผ๋ก ์ํ๋งํ์ฌ ๊ทธ ์ ๋ ฅ๊ฐ์ ๋ํ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
15. ์ ์์ ๋ฐ๋ฅธ ์ฑ์ ๋ถ์ฌ๊ฐ ์ ๋์๋์ง ํ ์คํธํ๊ณ ์ ํ๋ค. ์๋์ ์๋ง๋ ํ ์คํธ ๊ธฐ๋ฒ์ ๋ฌด์์ธ๊ฐ?
์ ์ | ์ฑ์ |
0 ~ 59 | ๊ฐ |
60 ~ 69 | ์ |
70 ~ 79 | ๋ฏธ |
80 ~ 89 | ์ฐ |
90 ~ 100 | ์ |
[ํ ์คํธ ๊ฐ] : -10์ / 30์ / 65์ / 75์ / 85์ / 95์ / 110์
๋์น ๋ถํ ๊ฒ์ฌ
์ ๋ ฅ ๋ฐ์ดํฐ์ ์์ญ์ ์ ์ฌํ ๋๋ฉ์ธ๋ณ๋ก ์ ํจ ๊ฐ / ๋ฌดํจ ๊ฐ์ ๊ทธ๋ฃนํํ์ฌ
๋ํฏ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋์ถํ์ฌ ํ ์คํธํ๋ ๊ธฐ๋ฒ (๋ธ๋๋ฐ์ค ํ ์คํธ)
๋ฐ์ดํฐ ์์ญ์ ๊ฐ๊น์ด ๊ฐ์ด ์๋ ์์ญ ๋ด์ ์๋ ์ผ๋ฐ ๊ฐ๋ค๋ก ํ ์คํธํ๋ค.
๋์น ๋ถํ ๊ฒ์ฌ(Equivalence Partitioning Test)
์ ๋ ฅ ์๋ฃ์ ์ด์ ์ ๋ง์ถฐ ํ ์คํธ์ผ์ด์ค๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ผ๋ก,
ํ๋ก๊ทธ๋จ ๋ก์ง์ ์กฐ๊ฑด์ ํ๋นํ ์ ๋ ฅ์๋ฃ์ ํ๋นํ์ง ์์ ์ ๋ ฅ์๋ฃ๋ฅผ ๊ท ๋ฑํ๊ฒ ๋ฐฐ๋ถํ์ฌ ๊ฒ์ฌํ๋ค.
- ๊ฒฝ๊ฒ๊ฐ ๋ถ์(Boundary Value Analysis)
์ ๋ ฅ ์กฐ๊ฑด์ ์ค๊ฐ๊ฐ ๋ณด๋ค ๊ฒฝ๊ณ๊ฐ์์ ์ค๋ฅ๊ฐ ๋ฐ์๋ ํ๋ฅ ์ด ๋๋ค๋ ์ ์ ์ด์ฉํ์ฌ ์ ๋ ฅ ์กฐ๊ฑด์ ๊ฒฝ๊ณ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
์๋ฅผ ๋ค๋ฉด 5์ฒ๋ง์ ์ด์ 1์ต์ ๋ฏธ๋ง์ผ๋ ๋ฐํ๋์ด์ผ ํ๋ ์กฐ๊ฑด์ด ์๋ค๋ฉด 7000๋ง์๊ณผ ๊ฐ์
์ ๋งคํ ์ค๊ฐ๊ฐ ๋ณด๋ค๋ ๋ฑ 5์ฒ๋ง์์ผ๋ ๋ฐํ์ด ๋๋์ง, ๋ฑ 1์ต์์ผ ๋ ๋ฐํ์ด ์๋๋์ง ํ์ธํ๋ ๊ฒ์ด๋ค.
16. ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ํ๊ณผ๋ณ๋ก ํํ ์๊ฐ ์ผ๋ง์ธ์ง ๊ตฌํ๋ SQL๋ฌธ์ ์์ฑํ์์ค.
- ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
- WHERE ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ง ์๋๋ค.
- GROUP BY ๋ฅผ ์ฌ์ฉํ๋ค.
- ์ธ๋ฏธ์ฝ๋ก (;)์ ์๋ต ๊ฐ๋ฅํ๋ค.
- ๋ณ์นญ(AS)์ ์ฌ์ฉํด์ผ ํ๋ค. (๋ณ์นญ ์ฌ์ฉ ์ ๋ณ์นญ์ ์์ ๋ฐ์ดํ๋ฅผ ์จ์ผ ํจ)
- ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
[ํ์]
ํ๊ณผ | ํ์ |
์ ๊ธฐ | ์ด์์ |
์ปดํจํฐ | ์์ค๊ทผ |
์ปดํจํฐ | ์ค๋ด๊ธธ |
์ ์ | ์ด๋ด์ฐฝ |
์ ์ | ๊ฐ์ฐ๊ท |
[๊ฒฐ๊ณผ]
ํ๊ณผ | ํ๊ณผ๋ณํํ์ |
์ ๊ธฐ | 1 |
์ปดํจํฐ | 2 |
์ ์ | 2 |
SELECT ํ๊ณผ, COUNT(ํ๊ณผ) AS 'ํ๊ณผ๋ณํํ์'
FROM ํ์
GROUP BY ํ๊ณผ;
GROUP BY๋ SQL์์ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํํ๋ ๊ธฐ๋ฅ ์ค ํ๋๋ก,
์ง์ ํ ์ปฌ๋ผ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃน์ ๋ง๋ค์ด ์ง๊ณ ํจ์(aggregation function)๋ฅผ ์ ์ฉํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ์ญํ ์ ํฉ๋๋ค.
์์ SQL ์ฟผ๋ฆฌ์์๋ ํ๊ณผ ์ปฌ๋ผ์ GROUP BY์ ๊ธฐ์ค์ผ๋ก ์ผ์ ๊ฐ ํ๊ณผ๋ณ๋ก ๊ทธ๋ฃน์ ๋ง๋ค๊ณ ,
COUNT ํจ์๋ฅผ ์ด์ฉํ์ฌ ํด๋น ํ๊ณผ์ ํํ ์๋ฅผ ๊ตฌํด ํ๊ณผ์ ํ๊ณผ๋ณ ํํ ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก GROUP BY๋ฅผ ์ฌ์ฉํ๋ฉด ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์ฝํ์ฌ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
17. ๋ฐ๋์ค ๋ฆฌ์น์ ์ผํฐ์จ ๋ฑ์ด ํจ๊ป ๋ฒจ ์ฐ๊ตฌ์๋ฅผ ํตํด ๋ง๋ ์ด์์ฒด์ ์ด๋ฉฐ,
90% ์ด์ C์ธ์ด๋ก ๊ตฌํ๋์ด ์๊ณ , ์์คํ ํ๋ก๊ทธ๋จ์ด ๋ชจ๋ํ๋์ด ์์ด์ ๋ค๋ฅธ ํ๋์จ์ด ๊ธฐ์ข ์ผ๋ก ์ฝ๊ฒ ์ด์ ๊ฐ๋ฅํ๋ฉฐ
๊ณ์ธต์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง์ผ๋ก์จ ํตํฉ์ ์ธ ํ์ผ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ ์ด์์ฒด์ ๋ ๋ฌด์์ธ๊ฐ?
์ ๋์ค(Unix)
18. ๋ค์์ C์ธ์ด ์์ค ์ฝ๋์ด๋ค. ์ถ๋ ฅ๊ฐ์ ์ฐ์์ค.
#include <stdio.h>
void main(){
char *p = "KOREA"
printf("%s\n" , p);
printf("%s\n" , p+3);
printf("%c\n" , *p);
printf("%c\n" , *(p+3));
printf("%c\n" , (*p)+2);
์ถ๋ ฅ๊ฒฐ๊ณผ
KOREA
EA
K
E
M
*p๋ ํฌ์ธํฐ ๋ณ์ p๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ ์๋ฏธํฉ๋๋ค.
๋ณ์ p๋ ๋ฌธ์์ด ์์ "KOREA"์ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ธ 'K'์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด๋ *p๋ 'K'๋ฅผ ๋ํ๋ด๋ฉฐ, ํฌ์ธํฐ ๋ณ์ p๊ฐ ๊ฐ๋ฆฌํค๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ๋ํ๋ ๋๋ค.
- "%s"๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ์์ ์ง์ ์์ ๋๋ค.
- "%c"๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ ์์ ์ง์ ์์ ๋๋ค.
์ฒซ๋ฒ์งธ printf ํจ์์์๋ p๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฌธ์์ด ์ ์ฒด๋ฅผ ์ถ๋ ฅํ๊ณ ,
๋๋ฒ์งธ printf ํจ์์์๋ p+3์ด ๊ฐ๋ฆฌํค๋ ๋ฌธ์๋ถํฐ ๋๊น์ง์ ๋ฌธ์์ด์ ์ถ๋ ฅํฉ๋๋ค.
์ธ๋ฒ์งธ printf ํจ์์์๋ ํฌ์ธํฐ p๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๊ณ ,
๋ค๋ฒ์งธ printf ํจ์์์๋ p+3์ด ๊ฐ๋ฆฌํค๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
๋ค์ฏ ๋ฒ์งธ printf ๋ฌธ์ฅ์ *p์ ASCII ์ฝ๋ ๊ฐ์ 2๋ฅผ ๋ํ ๊ฐ์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
* C์ธ์ด์ ๋ฌธ์ ์ฐ์ฐ
: C์ธ์ด์์ ๋ฌธ์๋ ASCII ์ฝ๋ ๊ท์น์ ์ํด
์ ์๋ก ์ ์ฅ๋๋ฏ๋ก, ๋ง์ , ๋บ์ ๋ฑ์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค.
(ex. A = 65, K = 75, M = 77)
19. ๋ค์์ ์๋ฐ ์์ค ์ฝ๋์ด๋ค. ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์์ค.
class parent{
public int compute(int num){
if(num <=1) return num;
return compute(num-1) + compute(num-2);
}
}
class Child extends parent {
public int compute(int num){
if(num<=1) return num;
return compute(num-1) + compute(num-3);
}
}
class good{
public static void main (String[] args){
parent obj = new Child();
System.out.print(obj.compute(4));
}
}
์ถ๋ ฅ : 1
Child ํด๋์ค์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
obj.compute(4)๋ Child ํด๋์ค์ compute ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
compute(4)๋ฅผ ํธ์ถํ๋ฉด num์ด 4์ด๋ฏ๋ก,
num์ด 1๋ณด๋ค ํฌ๋ฏ๋ก compute(num-1) + compute(num-3)์ ๋ฐํํฉ๋๋ค.
๋ฐ๋ผ์ obj.compute(4)์ ๊ฒฐ๊ณผ๋ Child ํด๋์ค์ compute ๋ฉ์๋๋ฅผ ๋ฐ๋ผ ๊ณ์ฐ๋ ๊ฒฐ๊ณผ์ธ 1์ด ์ถ๋ ฅ๋ฉ๋๋ค.
20. ์ ๋ณด๋ณด์์์ ๊ฐ์ฉ์ฑ(Availablility) ์ ๋ํ์ฌ ์์ ํ์์ค.
์์คํ , ์๋น์ค ๋๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ์๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋๋ฅผ ์๋ฏธํฉ๋๋ค.
์ฆ, ์ ๋ณด์์คํ ์ด๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ์์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ์๋น์ค๋ฅผ ์ ์งํ ์ ์๋ ์ํ๋ฅผ ์ ์งํ๋ฉด์ ๊ธฐ๋ฅํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
์ ๋ณด๋ณด์์ ๊ธฐ๋ณธ์ ์ธ ์ธ ๊ฐ์ง ๋ณด์ ์์
๊ธฐ๋ฐ์ฑ(Confidentiality): ๊ธฐ๋ฐ์ฑ์ ์ ๋ณด๊ฐ ์ค์ง ์ธ๊ฐ๋ ์ฌ๋๋ง์ด ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ๋ณดํธ๋๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ฆ, ์ ๋ณด๊ฐ ์ธ๊ฐ๋ ์ฌ์ฉ์ ๋๋ ์์คํ ์ ์ํด ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ, ๊ทธ ์ธ์ ๋ถ๋ฒ์ ์ธ ์ ๊ทผ์ ๋ฐฉ์งํฉ๋๋ค.
๋ฌด๊ฒฐ์ฑ(Integrity): ๋ฌด๊ฒฐ์ฑ์ ์ ๋ณด๊ฐ ์ ํํ๊ณ ์์ ํ๋ฉฐ ๋ฌด๊ฒฐํ๊ฒ ์ ์ง๋๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ฆ, ์ ๋ณด๊ฐ ๋ถ๋ฒ์ ์ผ๋ก ์์ ๋๊ฑฐ๋ ๋ณ์กฐ๋์ง ์๋๋ก ๋ณดํธํฉ๋๋ค.
๊ฐ์ฉ์ฑ(Availability): ๊ฐ์ฉ์ฑ์ ์ ๋ณด ์์คํ , ์๋น์ค ๋๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ์๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฆ, ์ ๋ณด์์คํ ์ด๋ ๋ฐ์ดํฐ๊ฐ ํ์ํ ์์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ์๋น์ค๋ฅผ ์ ์งํ ์ ์๋ ์ํ๋ฅผ ์ ์งํ๋ฉด์ ๊ธฐ๋ฅํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
'์๊ฒฉ์ฆ > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2021๋ 2ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.15 |
---|---|
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2021๋ 1ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.14 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 3ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.08 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 2ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.04.02 |
[์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ] 2020๋ 1ํ ๊ธฐ์ถ๋ฌธ์ (0) | 2023.03.28 |