(정보처리기사 실기) 2. 2021년 실기

쉬운 목차

하나. 네트워크 장비가 필요 없이 네트워크 토폴로지가 동적으로 변경됩니다.

전쟁터에서 긴급 구조, 긴급 회의, 군사 네트워크에 사용되는 네트워크는 무엇입니까?

더보기

임시 네트워크


Ad Hoc 네트워크는 기지국이나 액세스 포인트와 같은 기본 네트워크 장치가 필요하지 않은 무선 네트워크입니다.

이들은 특정 목적을 위해 구축된 기존 솔루션인 임시 네트워크입니다.

예를 들어 군사 작전이나 재난 상황에서 사용할 수 있습니다2.

2. 아래에 설명된 개념을 기록하십시오.

(1) 사람의 감정이나 경험을 나타내는 개념
(2) 사용자 인터페이스. CLI가 그 예입니다.

더보기

(1) UX(사용자 경험)
(2) UI(사용자 인터페이스)

. 트랜잭션의 특성에 따라 원자성을 간략히 설명합니다.

더보기

전체적으로 반영되어야 하는 특성 또는 전혀 반영되지 않아야 하는 특성


거래 특성 – ACID

특성 설명 주요 기술
원자성
(원자성)
분해할 수 없는 가장 작은 작업 단위
전체 작업의 성공 또는 실패
하나라도 실패하면 모두 중단해야 함
커밋/롤백
보장된 휴식
일관성
(일관성)
성공적인 트랜잭션 실행 후 일관된 데이터베이스 상태가 항상 유지됩니다.

제약
동시성 제어
격리
(격리)
트랜잭션 실행 중에 생성된 작업의 중간 결과는 다른 트랜잭션에서 액세스할 수 없습니다.

커밋되지 않은 읽기
읽기 참여
반복 읽기
직렬화 가능 읽기
내구성
(내구성)
성공적인 트랜잭션의 결과는 데이터베이스에 영구적으로 저장됩니다.

복구 기술

4. 다음은 ( ) 제2정규형에서 부분 함수 종속성을 제거하여 완전한 함수 종속성을 만족시키는 정규형이다.

괄호 안에 답을 쓰십시오.

(프레젠테이션 테이블)

학생 수 코스 이름 강당 성적으로
501 데이터 베이스 기술관 110 3.5
401 데이터 베이스 기술동 110 4.0
402 스포츠 매니지먼트 체육관 103 3.5
502 데이터 구조 기술관 111 4.0
501 데이터 구조 기술관 111 3.5

(수업 테이블)

학생 수 코스 이름 성적으로
501 데이터 베이스 3.5
401 데이터 베이스 4.0
402 스포츠 매니지먼트 3.5
502 데이터 구조 4.0
501 데이터 구조 3.5

(프레젠테이션 테이블)

코스 이름 강당
데이터 베이스 기술동 110
스포츠 매니지먼트 체육관 103
데이터 구조 기술관 111

더보기

두 번째 정규형


1. 일반형 원자 값으로 구성
두 번째 정규형 부분 기능 종속성 제거(전체 기능 종속성)
3. 일반형 전이 함수에 대한 종속성 제거
BCNF 결정적인 후보 키가 아닌 기능 종속성 제거
4. 일반형 다중값(다중값) 종속성 제거
다섯 번째 정규형 조인 종속성 제거

5. 테이블의 튜플을 수정하려고 합니다.

올바른 SQL을 작성하려면 빈칸을 채우십시오.

(    A   ) 테이블명  (     B    )  컬럼 = 값 WHRE 점수 >= 90;
더보기

답: 업데이트
B: 단종

6. 다음은 내부 조인에 대한 SQL입니다.

빈칸에 들어갈 문장을 쓰세요.

SELECT .... FROM 학생정보 a JOIN 학과정보 b (   A   ) a.학과 = b.(   B   )
더보기

답: 답
B: 부서

7. 다음 Python 코드의 출력에 유의하십시오.

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
print(result)
더보기

26

8일. NIST(National Institute of Standards and Technology), DES를 대체하는 128비트 블록 크기 및 128,192,256비트 키 크기의 대칭 키 암호화?

더보기

고급 암호화 표준(AES)


유형 설명

(데이터 암호화 규격)
블록 크기 64비트 및 키 길이 56비트의 Feistel 구조, NIST(National Institute of Standards and Technology)의 암호화 알고리즘.
AES 3DES, American Institute of Standards and Technology의 성능 문제를 극복하기 위해 설계된 DES 교체
씨앗 한국인터넷진흥원(KISA)에서 개발
아리아 국가정보원 + 산학연 공동 개발 하드웨어 및 경량화 환경에서 효율성 향상을 위해 설계
아이디어 스위스 연방 공과대학에서 개발
LFSR 선형 피드백 시프트 레지스터
디피-헬먼 최초의 공개 키 알고리즘, 이산 로그
RSA MIT 수학과 교수, 수학적 소인수분해 알고리즘 개발
ECC RSA 암호화 대안, 타원 곡선 암호화
엘가말 이산 로그는 본질적으로 계산하기 어렵습니다.

MD5 프로그램 또는 파일 무결성을 확인하는 데 사용되는 MD4 향상
SHA-1 NSA에서 미국 정부 표준으로 지정, DSA 사용
SHA-256/384/512 256비트 해시 값을 생성하는 해시 함수
하스-160 국내 표준 서명 알고리즘을 위해 설계된 해시 함수, MD5 혜택 + SHA-1 혜택

9. 아래는 화이트 박스 테스트의 검증 기준에 대한 설명입니다.

다음 예문에서 적절한 용어를 찾아 적어보세요.

(1) 각 문을 적어도 한 번 실행합니다.


(2) 판정 검증 기준이라고도 하며 각 조건에 대해 참/거짓이면 실행된다.


(3) (2)와 달리 전체 조건식과는 독립적으로 참/거짓 개별 조건식에 대해 실행된다.

(예시) 다중 조건 커버리지, 변형 조건/결정 커버리지, 조건 커버리지, 결정 커버리지, 구조 커버리지, 구문 커버리지

더보기

(1) 구문 커버리지
(2) 결정 범위
(3) 조건 보장


  • 화이트 박스 테스트(구조 기반 테스트)

소스 코드의 각 논리적 경로를 테스트하여 테스트 케이스를 설계하는 방법

구문(문장) 범위
(지시 표지)
프로그램 내에서 각 명령문을 한 번 이상 실행
예) a=1; b=2; c=a+b; d=c*2; 이렇게 4가지 지시를 모두 수행하십시오.
결정(분기) 범위
(결정/분기 범위)
결정 지점 내 전체 조건식의 결과가 한 번 이상 참 또는 거짓임하다
ex) 모든 결정문(if-else)은 true와 false를 한 번 실행합니다.

조건 범위
(조건 커버리지)
결정 지점 내 각 조건식은 한 번 이상 참 또는 거짓으로 평가됩니다.

이렇게 하세요
ex) 모든 단일 조건식 (a>b) 및 (c)
조건/결정 범위
(주/결정 범위)
모든 조건식 + 개별 조건식 결과가 한 번은 참이고 한 번은 거짓이 되도록 실행
ex) 모든 단일 조건식 (a>b) 및 (c)비앤&씨
조건/결정의 범위 변경
(수정된 조건/결정의 범위)
사용자 지정 조건식이러한 다른 개별 조건식의 영향을 받지 않고 전체 조건식에 독립적으로 영향을 미칩니다.

주다
예) a>b 및 c인 값으로 테스트
여러 조건의 범위
(다중 커버리지)
결정 조건 내 모든 개별 조건식의 모든 가능한 조합100% 보장
ex) a>b, c인 경우가 4가지이므로
기본 경로 범위
(기본 경로 범위)
실행 가능 모든 경로 테스트
* McCabe 복잡도: 에지 수 – 노드 수 +2
제어 흐름 테스트
(제어 흐름)
프로그램 제어 구조를 다이어그램 형태로 표시하여 내부 로직 테스트
데이터 흐름 테스트
(데이터 흐름)
제어 흐름 테스트에 데이터 사용량 추가

10. 다음은 성이 “Lee”인 사람의 이름을 내림차순으로 출력하는 SQL 문입니다.

괄호 안에 정답을 쓰십시오.

SELECT ... FROM ... WHERE 이름 LIKE (    A    ) ORDER  BY (    B     )
더보기

그의 %’에서
B: 이름 DESC

11. 예에서 다음 각 숫자에 해당하는 응집도를 찾아 쓰십시오.

(1) 입력과 출력 사이에는 상관 관계가 없지만 순서대로 실행해야 합니다.


(2) 동일한 입력/출력을 사용합니다.


(3) 모두 기능에 기여하고 밀접하게 관련되어 있습니다.

(예시) 기능적, 시간적, 의사소통적, 절차적, 순차적, 무작위적, 논리적

더보기

(1) 절차적 응집력
(2) 교환 응집력
(3) 기능적 응집력


결속도 – 우논 제철 통송이 (기능적 결속력이 좋고, 결속력이 높음)

모듈의 독립성, 모듈 내부 구성 요소 간의 연관성, 모듈이 단일 기능을 수행할수록 응집력이 높아집니다.

범주 설명
우발적 결속
(랜덤 응집)
모듈 내의 각 구성 요소가 관련이 없는 경우
ex) 관련 없는 모듈들의 집합
논리적 응집력
(논리적 응집력)
유사한 특성을 가진 요소를 처리하거나 유형별로 분류된 요소를 모듈에서 처리하는 경우
ex) 유사한 모듈끼리 묶음
시간적 응집력
(시간적 응집력)
모듈이 특정 시간에 처리해야 하는 활동 및 관련 없는 기능을 처리하는 경우
ex) 동시에 발생하는 모듈의 집합
절차상의 응집도
(절차적 결속)
모듈에 여러 관련 기능이 있고 모듈 내의 구성 요소가 순서대로 기능을 수행하는 경우
ex) 모듈 내 함수 차례차례 실시만약에
의사 소통 응집력
(커뮤니케이션의 응집력)
응집력, 동일한 입력과 출력으로 서로 다른 기능을 수행하는 활동이 수집되는 경우
ex) 동일한 입력과 동일한 출력의 집합
순차적 응집력
(순차적 응집력)
모듈 내 활동의 출력을 다른 활동에서 사용하는 경우
ex) 출력값이 있을 경우 그 출력값을 입력값으로 사용
기능적 응집력
(기능적 응집력)
모듈 내의 모든 기능이 단일 목적으로 수행되는 경우
ex) + 기능을 하도록 빡빡하게 채워져 있고 + 기능만 합니다.

12. 아래에 설명된 패킷 스위칭 방법을 작성하십시오.

(1) 목적지 호스트에 미리 연결한 후 통신하는 연결형 교환 방식
(2) 헤더에 추가되어 개별적으로 전송되는 비연결형 교환 방식
더보기

(1) 가상 회선 방식
(2) 데이터그램 방식


(1) 가상 회선 방식

패킷을 보내기 전에 미리 경로를 결정하고 패킷을 전송하는 방식.

이 경로는 패킷이 전송되는 동안 유지됩니다.

연결설정과 연결해제가 필요하므로 데이터그램 방식보다 전송속도가 빠르고 신뢰도가 높다.

(2) 데이터그램 방식

패킷이 전송될 때마다 경로를 지정하지 않고 패킷을 전송하는 방식.

이 방법을 사용하면 각 패킷이 독립적으로 처리되기 때문에 경로가 유지되지 않습니다.

경로 설정 과정이 없기 때문에 유연한 대응이 가능하고, 오류 발생 시 해당 패킷만 재전송하면 되므로 전체 대역폭 사용량이 증가한다.

13. 아래 괄호 안에 디자인 패턴의 이름을 적습니다.

디자인 패턴 중 ( ) 패턴은 반복적으로 사용되는 객체 간의 상호작용 패턴으로, 클래스나 객체가 상호작용하는 방식이다.

알고리즘 관련 패턴의 예로는 Interpreter, Observer 및 Command가 있습니다.

더보기

행동하다

14. 동시 제어 기술에서는 액세스된 데이터에 대한 모든 작업이 완료될 때까지 상호 배제 기술을 작성합니다.

더보기

잠금


동시 제어 기술 – Ro Camel

기술 설명
잠금
(잠금)
동일한 데이터에 대한 트랜잭션 동시 액세스를 방지하기 위한 잠금 및 ulock 작업제어
잠금 장치가 클수록 동시성은 낮아지지만 제어가 용이하고 잠금 장치가 작을수록 제어는 어렵지만 동시성은 높아집니다.


1) 차단 동작
트랜잭션이 데이터에 대한 독점권을 요청하는 현상
2) 잠금 해제 프로세스
트랜잭션이 데이터에 대한 독점권을 반환하는 현상
낙관적 검토 거래는 유효성 검사를 수행하지 않습니다.

거래가 완료되면및 거래 종료 시 유효성 검사 수행데이터베이스에 미러링
타임스탬프 순서 트랜잭션이 트랜잭션 및 트랜잭션이 읽거나 업데이트하는 데이터 실행을 시작하기 전에. 타임 스탬프를 제공부여시간에 따른 업무 처리
다중 버전 동시성
(MVCC; Murti 버전 동시성 제어)
트랜잭션의 타임스탬프와 데이터 타임스탬프를 비교하여 직렬성을 보장하는 적절한 버전 선택액세스 방법

15. Lumbau 데이터 모델링에 대한 설명을 보려면 보기의 각 번호에 설명된 모델링 기술을 찾아서 기록하십시오.

(1) 입력값이 출력값인 경우 – 예) Data Flow Diagram (DFD)
(2) 시간에 따라 변하는 것 – 예) 상태변화도(state diagram)
(3) 구조 – 예) ER 다이어그램(ERD)

(예) 오퍼레이션, 객체, 시퀀스, 정보, 트랜잭션, 기능, I/O, 동적, 아키텍처, 원인-결과, 제약, 재구축, 기간

더보기

(1) 기능적 모델링
(2) 동적 모델링
(3) 객체 모델링

16. 다음은 C 언어의 소스 코드입니다.

실행 결과를 씁니다.


int main(){
   int res;
   res = mp(2,10);
   printf("%d",res);
   return 0;
}

int mp(int base, int exp) {
   int res = 1;
   for(int i=0; i < exp; i++){
      res = res * base;
   }
   
   return res;
}
더보기

1024


int main(){
   int res;
   res = mp(2,10);
   printf("%d",res);
   return 0;
}

int mp(int base, int exp) {
   int res = 1;
   for(int i=0; i < exp; i++){ // 0~9까지 10번 
      res = res * base; // 1*2, 2*2, 4*2, 8*2, 16*2, 32*2, 64*2, 128*2, 256*2, 512*2
   }
   
   return res;
}

17. 객체를 생성하지 않고 클래스 내에서 사용할 수 있는 메소드입니다.

아래 출력을 보고 괄호 안에 알맞은 답을 쓰십시오.

public class Test {
   public static void main(String() args){
      system.out.print(Test.check(1));
   }
   
   (  괄호  )  String check (int num) {
      return (num >= 0) ? "positive" : "negative";
   }
}

// (출력결과) positive
더보기

공전


일반적으로 우리가 생성하는 클래스는 정적 공간에 생성되고, 새 작업으로 생성되는 객체는 힙 공간에 생성됩니다.

개체 생성 중에 할당된 힙 메모리는 종종 가비지 수집기에 의해 관리됩니다.

그러나 Static 키워드를 통해 정적 영역에 할당된 메모리는 모든 객체가 공유하지만 가비지 컬렉터의 관리 영역 밖에 존재한다는 장점이 있습니다.

그래서 Static을 많이 사용하면 프로그램이 종료될 때까지 메모리가 할당된 상태로 남게 되는데 시스템 성능에 영향을 주기 때문에 많이 사용하게 됩니다.

(자바) 정적 변수와 정적 메서드 – 망규의 일기(tistory.com)

18. 아래에 C 언어 코드의 실행 결과를 기록합니다.

int main() {
	int ary(3);
	int s = 0;
	*(ary + 0) = 1;
	ary(1) = *(ary + 0) + 2;
	ary(2) = *ary + 3;
	for(int i = 0; i < 3; i++) {
		s = s + ary(i);
	}
	printf("%d", s);
}
더보기

8일


int main() {
	int ary(3); // 정수 3개짜리 ary배열 선언
	int s = 0; // s변수 초기화
	*(ary + 0) = 1; // ary배열 첫번째 포인터에 값 1할당
	ary(1) = *(ary + 0) + 2; // 배열 두번째 값 3할당
	ary(2) = *ary + 3; // 배열 세번째 값에 ary배열 첫번째 포인터 값 + 3 = 4 할당
	for(int i = 0; i < 3; i++) {
		s = s + ary(i);
	}
	printf("%d", s);
}

19. 다음 JAVA 코드를 실행한 결과를 작성하세요.

public class ovr1 {
	public static void main(String() args){
    	ovr1 a1 = new ovr1();
        ovr2 a2 = new ovr2();
        System.out.println(a1.sun(3,2) + a2.sun(3,2));
    }
    
    int sun(int x, int y){
    	return x + y;
    }
}

class ovr2 extends ovr1 {
	int sun(int x, int y){
    	return x - y + super.sun(x,y);
    }
}

20. 아래 괄호 안에 정답을 쓰십시오.

테스트 프레임의 도구 구성 요소에는 상향식 테스트에서 상위 모듈 역할을 하는 테스트 드라이버와 하향식 테스트에서 하위 모듈 역할을 하는 테스트 드라이버가 있습니다.

더보기

그루터기

https://q.fran.kr/%EC%8B%9C%ED%97%98/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA% B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0/2021%EB%85%84%202%ED%9A%8C