포스트

모의고사 11회

Q. 자료 그 자체가 아닌 자료의 속성 등을 설명하는 데이터로 데이터에 관한 정보의 기술, 데이터 구성의 정의, 데이터 분류 등을 위한 데이터는 무엇인가?

메타데이터(Metadata)

  • 자료 그 자체가 아닌 자료의 속성 등을 설명하는 데이터로 데이터에 관한 정보의 기술, 데이터 구성의 정의, 데이터 분류 등을 위한 데이터는 메타데이터(Metadata)라고 부른다.

Q. 다음은 통신 프로토콜에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

NetBIOS(Network Basic Input/Output System)

()은/는 응용계층(7계층)의 애플리케이션 프로그램에 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜이다.

  • 통신 프로토콜 중 NetBIOS, ICMP 프로토콜의 개념은 다음과 같다.

    프로토콜설명
    NetBIOS(Network Basic Input/Output System)응용계층(7계층)의 애플리케이션 프로그램에 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜
    ICMP(Internet Control Message Protocol)네트워크(3계층)에서 IP 패킷을 처리할 때 발생하는 문제를 알려주고, 수신지 도달 불가 메시지(Destination Unreachable)를 사용하여 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용하는 프로토콜

Q. 다음은 보안 공격 도구에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

웜(Worm), 악성 봇(Malicious Bot)

( ① )은/는 스스로 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램으로 컴퓨터 바이러스와 비슷하지만, 바이러스가 다른 실행 프로그램에 기생하여 실행하는 데 반해 ( ① )은/는 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않은 특징이 있다. 반면에 ( ② )은/는 스스로 실행되지 못하고, 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 혹은 코드로 주로 취약점이나 백도어 등을 이용하여 전파되며, 스팸 메일 전송이나 서비스 거부 공격(DDoS) 등에 악용된다.

  • 보안 공격 시 많이 활용되는 도구인 웜과 악성 봇의 개념은 다음과 같다.

    구분설명
    웜(Worm)스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램으로 컴퓨터 바이러스와 비슷하지만, 바이러스가 다른 실행 프로그램에 기생하여 실행되는 데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않은 특징이 있음
    악성 봇(Malicious Bot)스스로 실행되지 못하고, 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 혹은 코드로 주로 취약점이나 백도어 등을 이용하여 전파되며, 스팸 메일 전송이나 분산 서비스 거부 공격(DDoS) 등에 악용됨

Q. 다음은 테스트 기법에 대한 설명이다. () 안에 들어갈 테스트 기법을 쓰시오.

블랙박스 테스트(Black-Box Test) 또는 명세 기반 테스트

()은/는 프로그램 내부 논리 구조를 참조하지 않고, 사용자의 요구사항이나 설계 명세 등을 이용하여 테스트 케이스를 개발하여 테스트하는 방법이다.

  • 프로그램 내부 논리 구조를 참조하지 않고, 사용자의 요구사항이나 설계 명세 등을 이용하여 테스트 케이스를 개발하는 방법은 블랙박스 테스트 기법이다.
  • 블랙박스 테스트는 소프트웨어의 특징, 요구사항, 설계 명세서 등에 초점을 맞춰 테스트가 이루어진다.
  • 블랙박스 테스트는 기능 및 동작 위주의 테스트를 진행하기 때문에 내부 구조나 작동 원리를 알지 못해도 가능하다.
  • 블랙박스 테스트는 곧 명세 테스트라고도 불린다.

Q. 다음 [점수] 테이블에 대해 쿼리를 수행한 결과는 [결과] 테이블과 같다. ①, ②, ③에 들어갈 값을 쓰시오.

1, 30, 20

[점수]

이름DB프로그래밍알고리즘
이완용20NULL50
송병준NULL30NULL
민병휘NULL1020

[쿼리]

1
2
SELECT COUNT(DB), MAX(프로그래밍), MIN(알고리즘)
FROM 점수;

[결과]

COUNT(DB)MAX(프로그래밍)MIN(알고리즘)
13020
  • 집계함수는 NULL인 값을 제외하고 계산한다.
  • 집계함수의 종류는 다음과 같다.

    집계 함수내용
    COUNT복수 행의 줄 수
    SUM복수 행의 해당 컬럼 간의 합계
    AVG복수 행의 해당 컬럼 간의 평균
    MAX복수 행의 해당 컬럼 중 최댓값
    MIN복수 행의 해당 컬럼 중 최솟값
    STDDEV복수 행의 해당 컬럼 간의 표준편차
    VARIANCE복수 행의 해당 컬럼 간의 분산

Q. 다음은 C언어 코드이다. 출력 결과를 쓰시오.

[2] :1 2 [3]: 1 3 [4]: 1 4 [5]: 1 5

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
void main() {
	int i, j;
	for(i=2; i<=5; i++) {
		printf("[%d]: ", i);
		for(j=1; j<=i; j++) {
			if(i%j == 0) 
				printf("%d", j);
		}
	}
}
  • for 반복문에서 사용할 정수형 변수 i와 j를 선언한다.
  • 바깥쪽 for 반복문에서는 i 값을 2부터 5보다 작거나 같을 때까지 i 값을 1씩 증가시킨다. printf 함수의 “[%d]: ” 포맷 스트링에서 i 값은 %d에 적용되어 화면에 출력한다.
  • 안쪽 for 반복문에서 j 값을 0부터 5보다 작을 때까지 j 값을 1씩 증가시킨다. i와 j를 나머지 연산을 한 결과가 0과 같은 경우 화면에 j 값을 출력한다.

Q. 다음 () 안에 들어갈 암호화 알고리즘은ㅇ 무엇인가?

대칭 키 암호화 알고리즘

()은/는 암호화 알고리즘의 한 종류로, 암∙복호화에 같은 암호 키를 쓰는 알고리즘을 의미하며, ARIA 128/ 192/256, SEED 등이 있다.

  • 주요 암호화 알고리즘은 다음과 같다. [대비해]
    • 대칭 키 암호화 알고리즘
      • 암호화 알고리즘의 한 종류로, 암/복호화에 같은 암호 키를 쓰는 알고리즘을 의미
      • 예: ARIA 128, 192, 256, SEED
    • 비대칭 키 암호화 알고리즘
      • 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘
      • 예: RSA, ECC, ECDSA
    • 해시 암호화 알고리즘
      • 해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특징을 가진 알고리즘
      • SHA-256/384/512, HAS-160
  • 비대칭 키 암호 방식은 사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식이다. 비대칭 키 암호화 알고리즘인 RSA, ECC, ElGamal에 대한 설명은 다음과 같다.
    • RSA(Rivest-Shamir-Adleman)
      • 1997년 3명의 MIT 수학 교수가 고안한 큰 인수의 곱을 소인수분해하는 수학적 알고리즘 이용하는 공개키 암호화 알고리즘
    • ECC(Elliptic Curve Cryptography)
      • 1985년 코블리치와 밀러가 RSA 암호 방식에 대한 대안으로 처음 제안한 알고리즘으로 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘
    • ElGamal
      • 1984년 제안한 공개키 알고리즘으로 이산대수의 계산이 어려운 문제를 기본 원리로 하고 있으며, RSA와 유사하게 전자서명과 데이터 암∙복호화에 함께 사용 가능

Q. OLAP 함수라고도 하며, 데이터베이스를 사용한 온라인 분석 처리 용도(OLAP)로 사용하기 위해서 표준 SQL에 추가된 함수는 무엇인가?

윈도 함수(Window Function)

  • 윈도 함수의 기본 문법은 다음과 같다.

    1
    2
    3
    
      SELECT 함수명(파라미터) OVER 
      ([PARTITION BY 컬럼1, ...] [ORDER BY 컬럼 A, ...]) 
      FROM 테이블명
    
    • PARTITION BY는 선택 항목이며, 순위를 정할 대상 범위의 컬럼을 설정
    • PARTITION BY 구에는 GROUP BY절이 가진 집약 기능이 없으며, 이로 인해 레코드가 줄어들지 않음
    • PARTITION BY를 통해 구분된 레코드 집합을 윈도라고 함
    • 윈도 함수에는 OVER 문구가 필수적으로 포함
    • ORDER BY 뒤에는 SORT 컬럼을 입력(어떤 열을 어떤 순서로 순위를 정할지를 지정)
    1
    2
    3
    
      SELECT 이름, 수학, DENSE_RANK() OVER (ORDER BY 수학 DESC) AS 등수
      FROM 점수
      ORDER BY 수학 DESC;
    
  • OLAP(Online Analytical Processing, 온라인 분석 처리)는 데이터 웨어하우스나 데이터마트 같은 시스템과 상호 연관되는 정보 시스템이다. 데이터 웨어하우스가 데이터를 저장하고 관리한다면 OLAP는 데이터 웨어하우스의 데이터를 전략적인 정보로 변환시켜서 의사결정을 지원하는 역할을 한다. OLAP 데이터베이스는 데이터 검색 속도를 높이기 위해 설계되었다. OLAP 데이터베이스에는 숫자 데이터인 측정값, 정보에 입각한 비즈니스 의사 결정을 내리는 데 사용하는 수량 및 평균, 이러한 측정값을 구성하는 데 사용하는 범주인 차원의 두 가지 기본 데이터 형식이 포함된다.


Q. 다음이 설명하는 DRS(Disaster Recovery System) 특정 유형은 무엇인가?

Hot Site

  • 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해복구센터
  • 재해 발생 시 복구시까지의 소요 시간(RTO)은 4시간 이내
  • DRS의 유형은 다음과 같다.
    • Mirror Site
      • 주 센터와 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구센터
      • 재해 발생 시 복구까지의 소요 시간(RTO)은 즉시(이론적으로 0)
    • Hot Site
      • 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태로 유지하고 있는 재해복구센터
      • 재해 발생 시 복구까지의 소요 시간(RTO)은 4시간 이내
    • Warm Site
      • Hot Site와 유사하나 재해복구센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 재해복구센터에 보유하고 있는 센터
      • 재해 발생 시 복구까지의 소요 시간(RTO)은 수일~수주
    • Cold Site
      • 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구할 수 있는 재해복구센터
      • 재해 발생 시 복구까지의 소요 시간(RTO)은 수주~수개월
      • 구축 비용이 저렴하나 복구 소요 시간이 길고 신뢰성이 낮음

Q. 다음은 [학생] 테이블을 이용해 [학생뷰]라는 이름의 뷰를 만들려고 한다. 밑줄 친 곳을 채워 쿼리를 완성하시오.

AS SELECT

1
CREATE VIEW 학생뷰    이름, 학점 FROM 학생
  • CREATE VIEW는 뷰를 생성하는 명령이다.
  • CREATE VIEW 문법은 다음과 같다.

    1
    
      CREATE VIEW 뷰이름 AS 조회쿼리;
    
    • 조회 쿼리는 SELECT ~ FROM ~ WHRER 구문을 사용한다.

Q. 다음은 자바 코드이다. 출력 결과를 쓰시오.

model : SUV, year : 2020

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
class Car {
	String model;
	String color;
	int yyyy;
	Car() {
		this.model = "승용차";
		this.color = "검정";
		this.yyyy = 2020;
		System.out.print("model : " + model);
	}
	Car(String model, String color, int yyyy) {
		this.model = model;
		this.color = color;
		this.yyyy = yyyy;
		System.out.print("model : " + model);
	}
}

public class Soojebi {
	public static void main(String[] ars) {
		int yyyy = 2020;
		Car c = new Car("SUV", "흰색", yyyy++);
		System.out.print(", year : " + c.yyyy);
	}
}
  • Car() 생성자는 파라미터가 없는 생성자와 파라미터가 3개인 생성자가 있다.
  • main 메서드에서 객체 생성 시 파라미터가 3개인 생성자를 호출한다.
  • model은 “SUV”, color는 “흰색”, yyyy는 2020으로 Car 객체를 생성한다.
  • 클래스 내부의 yyyy은 2020이 대입이 되고 증감연산자에 의해 main 메서드의 yyyy 변수는 2021이 된다.
  • System.out.print 메서드는 “model : SUV, year : 2020”을 화면에 출력한다.

Q. 다음은 소프트웨어 프로그램에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

배치(Batch)

() 프로그램은 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규격에 따라 일괄 처리하는 방법이다.

  • 배치 프로그램은 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 프로그램이다.
  • 배치 프로그램의 유형은 다음과 같다. [이온정]

    유형설명
    이벤트 배치사전에 정의해 둔 조건 충족 시 자동으로 실행
    온디맨드 배치사용자의 명시적 요구가 있을 때마다 실행
    정기 배치정해진 시점(주로 야간)에 정기적으로 실행

Q. 릴리즈 노트(Release Note)가 무엇인지 서술하시오.

릴리즈 노트는 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서이다.

  • 릴리즈 노트 작성 항목은 다음과 같다.

    작성 헤더설명
    헤더문서 이름(릴리스 노트 이름), 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등의 정보
    개요제품 및 변경에 대한 간략한 전반적 개요
    목적릴리스 버전의 새로운 기능목록과 릴리스 노트의 목적에 대한 개요, 버그 수정 및 새로운 기능 기술
    이슈 요약버그의 간단한 설명 또는 릴리즈 추가 항목 요약
    재현 항목버그 발견에 따른 재현 단계 기술
    수정∙개선 내용수정∙개선의 간단한 설명 기술
    사용자 영향도버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술
    소프트웨어 지원 영향도버전 변경에 따른 소프트웨어 지원 프로세스 및 영향도 기술
    노트소프트웨어 및 하드웨어 설치 항목, 제품, 문서를 포함한 업그레이드 항목 메모
    면책 조항회사 및 표준 제품과 관련된 메시지, 프리웨어 및 불법 복제 방지, 중복 등 참조에 대한 고지사항
    연락 정보사용자 지원 및 문의에 관련한 연락처 정보

Q. 다음은 자바 코드이다. 출력 결과를 쓰시오.

dog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
interface Animal {
	public void show();
}
class Dog implements Animal {
	public void show() {
		System.out.print("dog");
	}
}
public class Soojebi {
	public static void main(String[] args) {
		Animal d = new Dog();
		d.show();
	}
}
  • 인터페이스 선언을 위해 interface 키워드를 사용한다. 인터페이스에는 show 메서드를 선언만 하며 구현은 Dog 클래스에서 한다.
  • 인터페이스 상속은 implements 키워드를 이용한다. Dog 클래스에서는 show 메서드를 구현하며 화면에 dog라고 출력한다.
  • main 메서드에서는 Dog() 클래스의 생성자를 이용하여 객체를 생성하고 show 메서드를 호출한다.

Q. 다음은 [점수] 테이블이다. 학년별 점수의 평균과 전체 평균을 구하기 위한 쿼리를 작성하시오.

1
2
3
SELECT 학년, , AVG(점수) AS 점수
FROM 점수
GROUP BY ROLLUP(학년, ); 

[점수]

학년이름점수
11태종90
11정종70
12태조80
12세종100
21문종70
22단종80
22세조60

[결과]

학년점수
1180,0000
1290,0000
1 85,0000
2170,0000
2270,0000
2 70,0000
  78.5174
  • ROLLUP에 의해 지정된 컬럼은 소계(소그룹의 합계) 등 중간 집계 값을 산출하기 위한 그룹 함수이다.
  • 지정 컬럼의 수보다 하나 더 큰 레벨만큼의 중간 집계 값이 생성된다.
  • ROLLUP의 지정 컬럼은 계층별로 구성되기 때문에 순서가 바뀌면 수행 결과가 바뀜을 유의한다.
  • ROLLUP 함수 문법은 다음과 같다.

    1
    2
    3
    4
    5
    6
    
      SELECT 컬럼1, 컬럼2, ..., 그룹 함수
      FROM 테이블명
      [WHERE ...]
      GROUP BY [컬럼 ...] ROLLUP 컬럼
      [HAVING ...]
      [ORDER BY ...]
    

Q. 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방법으로 측정이 쉽고 이해하기 쉬워 많이 사용하는 비용산정 모델은 무엇인가?

LoC(Lines of Code)

  • 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방법으로 측정이 쉽고 이해하기 쉬워 많이 사용하는 비용산정 모델은 LoC이다.
  • 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정한다.

Q. 네트워크 계층은 다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공하는 계층으로 다양한 프로토콜이 존재한다. 그중 ( ① )은/는 송신, 수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신규약이고, ( ② )은/는 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜로 수신지 도달 불가 메시지를 통해 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용한다. () 안에 들어갈 프로토콜을 쓰시오.

IP(Internet Protocol), ICMP(Internet Control Message Protocol)

  • 네트워크 계층의 프로토콜은 다음과 같다.
    • IP(Internet Protocol)
      • 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신규약
    • ARP(Address Resolution Protocol)
      • IP 네트워크상에서 IP 주소를 MAC 주소(물리 주소)로 변환하는 프로토콜
    • RARP(Reverse Address Resolution Protocol)
      • IP 호스트가 자신의 물리 네트워크 주소(MAC)은 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
    • ICMP(Internet Control Message Protocol)
      • IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
      • 메시지 형식은 8바이트의 헤더가변 길이의 데이터 영역으로 분리
      • 수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용
      • ICMP 프로토콜을 사용해서 ping 유틸리티 구현
    • IGMP(Internet Group Management Protocol)
      • 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
      • 화상회의, IPTV에서 활용되는 프로토콜
      • IGMP 기능에는 그룹 가입, 멤버십 감시, 멤버십 응답, 멤버십 탈퇴가 있음
    • 라우팅 프로토콜
      • 내부 라우팅 프로토콜에는 IGP(RIP, OSPF)가 대표적
      • 외부 라우팅 프로토콜에는 EGP, BGP가 대표적
  • 대표적인 라우팅 프로토콜(Routing Protocol, 경로 제어 프로토콜)인 RIP와 OSPF, BGP, EFP의 특징은 다음과 같다.
    • IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
      • 하나의 자율 시스템(AS; Autonomous System, 자치 시스템, 자율 시스템, 하나의 도메인에 속해있음) 내의 라우팅에 사용되는 프로토콜
      • RIP(Routing Information Protocol)
        • AS 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
        • 거리 벡터 라우팅 기반 메트릭(Metric) 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고 라우팅 테이블을 구성/계산하는 데 Bellman-Ford 알고리즘을 사용하는 내부 라우팅 프로토콜
        • 최대 홉 수(Hop Count)를 15개로 제한
          • 15 이상의 경우는 도달할 수 없는 네트워크를 의미하는데 이것은 대규모 네트워크에서는 RIP를 사용할 수 없음을 의미한다. 소규모 동종의 네트워크(자율 시스템, AS) 내에서 효율적인 방법
        • 사용 포트로는 UDP를 사용(UDP 포트 번호 520 사용)
        • 30초마다 전체 라우팅 정보를 브로드캐스팅(네트워크 내의 모든 라우터에 알림), 180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주함
      • OSPF(Open Shortest Path First)
        • 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태(Link State) 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
        • 링크 상태 라우팅 기반 메트릭(Metric) 정보를 한 지역(Area) 내 모든 라우터에 변경이 발생했을 때만 보내(Flooding)고 라우팅 테이블을 구성/계산하는 데 다익스트라(Dijkstra) 알고리즘을 사용하는 내부 라우팅 프로토콜
        • 최소 지연, 최대 처리량 등 관리자가 라우팅 메트릭 지정
        • AS를 지역(Area)으로 나누어 라우팅을 효과적으로 관리 가능
        • 홉 카운트에 제한이 없음, 대규모 네트워크에서 많이 사용됨
    • EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
      • 자율 시스템(AS) 간의 라우팅, 즉 게이트웨이 간의 라우팅에 사용되는 프로토콜
      • 인터넷 망으로 보았을 땐 자율 시스템이 수 없이 많을 것
    • BGP(Border Gateway Protocol)
      • 자치 시스템(AS) 상호 간(Inter-AS 또는 Inter-Domain)에 경로 정보를 교환하기 위한 라우팅 프로토콜
      • 변경 발생 시 대상까지의 가장 짧은 경로를 경로 벡터(Path Vector) 알고리즘을 통해 선정하고, TCP 연결(port 179)을 통해 자치 시스템(AS)으로 라우팅 정보를 신뢰성 있게 전달
      • ISP(인터넷 서비스 제공자, Internet Service Provider는 인터넷에 접속하는 수단을 제공하는 주체) 사업자들 상호 간에 주로 사용되는 라우팅 프로토콜
      • 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공
      • 라우팅 비용(CPU 부하)이 크고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많음
      • EGP의 단점을 보완하기 위해 만들어졌음
      • 초기에 BGP 라우터들이 연결될 때에는 전체 경로 제어표(라우팅 테이블)를 교환하고, 이후에는 변화된 정보만을 교환함

Q. 다음은 백업 미디어 장치에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

VTL(Virtual Tape Library), 가상화 백업

( ① )은/는 대용량 백업 및 데이터 소산에 강점이 있는 테이프 방식의 장점을 취하기 위해서 디스크를 가상의 테이프 미디어로 모방하는 방식이고, ( ② )은/는 하이퍼 바이저에서 관리되는 가상 서버(VM)의 이미지 파일을 백업하는 방식으로 백업환경을 백업 에이전트 중심의 가상화 서버 또는 프록시 서버 레벨에서 SW와 HW를 일체형으로 통합 구축하는 방식이다.

  • VTL와 가상화 백업에 대한 개념은 다음과 같다.

    기술설명
    VTL(Virtual Tape Library)대용량 백업 및 데이터 소산에 강점이 있는 테이프 방식의 장점을 취하기 위해서 디스크를 가상의 테이프 미디어로 모방하는 방식
    가상화 백업하이퍼바이저에서 관리되는 가상 서버(VM)의 이미지 파일을 백업하는 방식으로 백업환경을 백업 에이전트 중심의 가상화 서버 또는 프록시 서버 레벨에서 SW와 HW를 일체형으로 통합 구축하는 방식
  • 가상화 기술인 도커와 하이퍼바이저 기술은 다음과 같다.

    • 도커(Docker)
      • 하이퍼바이저 없이 리눅스 컨터이너(LXC) 기술을 바탕으로 애플리케이션을 격리된 상태에서 실행하는 가상화 솔루션
    • 하이퍼바이저(Hypervisor)
      • 하나의 호스트 컴퓨터상에서 동시에 다수의 운영체제를 구동시킬 수 있는 HW와 OS 사이의 SW 가상화 플랫폼

Q. 빅데이터 수집기술 중 ( ① )은/는 비정형 데이터 수집기술로 분산된 각 서버에서 에이전트를 실행하고, 컬렉터(Collector)가 에이전트로부터 데이터를 받아 HDFS(Hadoop File System)에 저장하는 기술이고, ( ② )은/는 정형 데이터 수집기술로 커넥터(Connector)를 사용하여 관계형 데이터베이스 시스템(RDBMS)에서 HDFS로 데이터를 수집하는 기술이다. () 안에 들어갈 용어를 쓰시오.

척와(Chukwa), 스쿱(Sqoop)

  • 빅데이터 수집기술 중 척와와 스쿱의 특징은 다음과 같다.

    수집기술설명
    척와(Chuckwa)비정형 데이터 수집기술로 분산된 각 서버에서 에이전트를 실행하고, 컬렉터(Collector)가 에이전트로부터 데이터를 받아 HDFS에 저장하는 기술
    스쿱(Sqoop)정형 데이터 수집기술로 커넥터(Connector)를 사용하여 관계형 데이터베이스 시스템(RDBMS)에서 HDFS로 데이터를 수집하는 기술

Q. 다음은 자바 코드이다. 출력 결과를 쓰시오.

15

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Parent {
 ing a=0;
 Parent() {
	 a++;
	 System.out.print(a);
 }
}
class Child extends Parent {
	int b=0;
	Child(int a) {
		this.b = a;
		System.out.print(a++); // ?? 왜 1이 아니고 5가 출력 되는거야? a의 값은 b에 대입하고 끝아냐?
	}
}
public class Soojebi {
	public static void main(Stirng[] args) {
		Parent pa = new child(5);
	}
}
  • 객체를 생성하기 위해 생성자 메서드에 5를 파라미터로 전달한다. 상속 관계에 있기 때무에 부모 클래스의 생성자가 먼저 호출되어 Parent 생성자가 실행되며, a 값은 0으로 초기화되어 있지만, a++에서 1 증가되기 때문에 a 값 1을 출력한다.
  • Child 클래스의 Child 생성자에서는 파라미터로 전달받은 5가 this.b에 대입이 되고, System.out.print에서 5를 출력하고 1 증가시킨다.


참고 자료


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.