정처기 실기 / 2020 ~ 2021 기출 정리

권나영·2021년 10월 7일

정보처리기사

목록 보기
1/14

살충제 패러독스

동일한 테스트 케이스로만 반복실행
➡ 새로운 결함 발견 X
➡ 주기적으로 테스트 케이스 점검

데이터 마이닝

많은 데이터 간
상관관계 발견
➡정보 추출 및 의사 결정

프로토콜 3요소

구문, 의미, 타이밍

마크업 언어?

  • HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 다목적 마크업 언어이다.

  • 웹 상에서 구조화된 문서를 상호교환 가능하도록 설계된 웹 표준 문서 포맷으로 메타 데이터 정의가 명확하다.

  • 사용자가 새로운 태그와 속성을 정의할 수 있는 확장성을 가진다.

  • 유니코드를 사용하여 전 세계의 모든 문자를 처리 가능하며 장치와 시스템에 독립적이다.

: XML

데이터 교환 형식?

  • ( )(은)는 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식이다. ( ) 표현식은 사람과 기계 모두 이해하기 쉬우며 소용량으로 최근에는 XML을 대체해서 데이터 전송 등에 많이 사용한다. Ajax에서 서버와 통신하며 데이터 교환을 쉽게 하기 위해 ( )(을)를 데이터 전송형식으로 많이 사용한다.

  • ( )의 문법은 Key와 Value가 쌍으로 존재하며 태그로 표현하기 보다는 중괄호({})같은 형식으로 하고, 값을 ','로 나열하기에 그 표현이 간단하다.

: JSON

SQL 문제

학생(Student) 테이블에 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명에 관한 데이터가 있다고 가정할 때 다음에 주어지는 SQL문을 각각 실행시키면 결과 튜플 수는 각각 몇 개인가? (단, DEPT는 학과 컬럼명임)

SELECT DEPT FROM STUDENT;
SELECT DISTINCT DEPT FROM STUDENT;
SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과'

SQL 인덱스 작성 - student 테이블의 name 속성에 idx_name 이름의 인덱스 생성

CREATE INDEX idx_name ON student(name);

다음 학생 테이블에서 이름이 민수인 튜플을 삭제하도록 결과를 작성하시오.

DELETE FROM 학생 WHERE 이름 = '민수'

답안 : 200, 3, 1

다음 속성을 주소라고 하고 크기는 20으로 제한한다. 학생 테이블에 컬럼을 추가하는 결과를 작성하시오. ( ① ) TABLE 학생 ( ② ) 주소 VARCHAR(20);

: ① ALTER ② ADD

다음 성적 테이블에서 평균이 90이상인 과목 이름과 최소점수, 최대점수의 결과를 작성하시오.

SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목이름 HAVING AVG(점수) >= 90

HRN의 우선순위

운영체제의 비선점 프로세스 스케줄링 기법 중 하나인 HRN은 어떤 작업이 서비스받을 시간과 그 작업이 서비스를 기다린 시간으로 결정되는 우선순위에 따라 CPU를 할당하는 기법이다. HRN의 우선순위를 결정하는 계산식을 쓰시오.

답안 : (대기시간+서비스시간) / (서비스시간)

ACID

일관성
영속성
원자성
고립성

네트워크 공격 유형

공격자가 패킷의 출발지 주소(Address)나 포트(Port)를 임의로 변경해 출발지와 목적지 주소(또는 포트)를 동일하게 함으로써, 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공걱 방법. 수신되는 패킷 중 출발지 주소(또는 포트)와 목적지 주소(또는 포트)가 동일한 패킷들을 차단함으로써 공격을 피할 수 있다.

: 랜드어택

암호화

128비트 암호화 해시함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사등에 사용된다. 1991년 로널드 라이베스트(Ronald Rivest)가 예전에 쓰이던 MD4를 대체하기 위해 고안했다.

: MD5

모듈화

모듈화를 중심으로 하는 소프트웨어 설계 방법에서는 모듈의 독립성을 높게 해주는 것이 좋은 설계 방향이다. 모듈의 독립성을 높여주기 위해서는 각 모듈 간의 관련성을 나타내는 (1)(은)는 낮추고, 모듈 안의 요소들이 서로 관련되어 있는 정도를 나타내는 (2)(은)는 높이는 것이 가장 바람직하다.

(1) : 결합도 (2) : 응집도

C언어

버블소트

#include <stdio.h>
#define SIZE 5

int main(void) {
	int arr[SIZE] = {75, 100, 95, 50, 85};
    int i, j, temp;
    for(i = 1; i < SIZE; i++) {
    		for(j=0; j < SIZE-i; j++) {
            		if(arr[j] > arr[j+1]) {
                    		temp = arr[j];
                            	arr[j] = arr[j+1];
                            	arr[j+1] = temp;
                    }
            }
    }
    for(i=0; i<SIZE; i++) {
    	printf("%d", arr[i]);
    }
}

: 50 75 85 95 100

switch ~ case

public class Test {

	public static void main(String[] args) {
    
		int i=3, k=1;
		
        switch(i){
			case 0: 
			case 1: 
			case 2: 
			case 3: k=0;
			case 4: k+=3;
			case 5: k-=10;
			default: k--;
		}
        
		System.out.println(k);
	}
    
}

: -8

❗ break문 생략 : 일치하는 실행문부터 switch문이 종료될 때 까지 모든 문장 실행

파이썬

a={'일본', '중국', '한국'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update({'홍콩','한국','태국'})
print(a)

: {'중국', '한국', '베트남', '홍콩', '태국'} {'한국', '중국', '베트남', '홍콩', '태국'} , {'베트남', '중국', '한국', '홍콩', '태국'}, ... 등 (순서 상관없이 집합 요소만 포함)

Java

자바 객체 생성

class Parent{
    void show(){
        System.out.println(""Parent"");
    }
}

class Child extends Parent{
    void show(){
        System.out.println(""Child"");
    }
}

public class Main{
    public static void main(String[] args) {
        Parent pa = (       ) Child();
        pa.show();
    }
}

출력 결과 : child
괄호에 들어갈 말?

: new

헤더

릴리즈 노트 작성 항목 중 문서 이름(릴리즈 노트 이름), 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등을 기술하는 작성항목

물리 계층

OSI 7 참조 모델 중 두 장비 간의 전송을 위한 연결이나 전달 등의 인터페이스의 기계적, 전기적, 절차적 특성을 정의하여 비트를 물리적인 매체를 통해 전송하는 계층

성능

애플리케이션 성능이란 사용자의 요구 기능을 해당 애플리케이션이 최소의 자원을 사용하면서 얼마나 빨리, 많은 기능을 수행하는가를 육안 또는 도구를 통하여 점검하는 것을 말한다. 이를 측정하기 위한 지표는 ( 1 ), ( 2 ), ( 3 ), 자원 사용율이 있다.

: 처리량, 응답시간, 반환시간

비정규화(Denormalization)의 개념 : 반정규화에 대한 문제 (약술형)

  1. 시스템의 성능 향상, 개발 과정의 편의성, 운영의 단순화를 목적으로 수행되는 의도적인 정규화원칙 위배행위

  2. 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법 / 둘 이상의 릴레이션들에 대하여 조인한 결과를 빈번하게 이용하는 경우, 비정규화 함으로써 질의응답 시간이 단축될 수 있다.

Fan - In

Fan-in 수가 2이상인 모듈?

: F, H

👍 Fan-In이 상위 모듈 개수

목표 복구 시간 / RTO(Recovery Time Objective)

“비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상가동 될 때까지의 시간”

AJAX

비동기식 자바스크립트 XML 통신 기법

형상관리

cvs, svn, Git

데이터베이스 설계 순서

개념적 설계 => 논리적 설계 => 물리적 설계 => 구현

Linked Open Data

전세계 오픈 된 데이터를 하나로 묶는 방식

a.txt에 대한 권한 부여

  • 사용자에게 읽기, 쓰기, 실행 권한 부여
  • 그룹에게 읽기, 실행 권한 부여
  • 그 외에게 실행 권한 부여

: chmod 751 a.txt

유효성

UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작하는 원칙

직관성

UI 설계 원칙에서 누구나 쉽게 이해하고 사용할 수 있어야 한다.

SQL Injection

  1. 사용자의 입력값 등 외부 입력값이 SQL 쿼리에 삽입되어 공격자가 원하는 SQL 쿼리문을 실행하는 공격기법

  2. 웹 응용 프로그램에 강제로 SQL 구문을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 공격 기법.

SOAP

HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고 받는 프로토콜
Envelop, Header, Body로 구성 됨 /
웹 서비스(Web Service) 방식에서 파일 전송은 HTTP 기반의 ( )을 사용하여 송수신한다.
( ) 대신 레스트 풀(RESTful) 프로토콜(Protocol)로 대체할 수 있다.

안드로이드

휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트, 단문 메시지 서비스(SMS), MMS 등)을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영 체제이다. 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다.

Observer(Pattern)

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 (one-to-many) 의존성을 가지는 디자인 패턴. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합(Loose coupling)하는 디자인을 사용해야 한다.

정적 분석 도구

애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용 ( 테스트 자동화 도구 유형 )

IPSec

무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜, 망 계층(network layer, 3계층)인 인터넷 프로토콜(IP) 에서 보안성을 제공해주는 표준화 기술

ROLLBACK

트랜잭션 실패 시 트랜잭션 실행 이전으로 되돌리는 데이터 제어어

리팩토링

  • 소프트웨어 이해, 유지 보수 쉽도록

ICMP

TCP/IP에서 신뢰성없는 IP를 대신하여 송신측으로 네트워크의 IP 상태 및 에러 메시지를 전달해주는 프로토콜을 ( )이라 한다.

릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 튜플을 분리해 프로젝션하는 관계대수의 기호를 쓰시오.

: ÷

헝가리안 표기법

컴퓨터 프로그래밍에서 변수 및 함수의 이름 인자 앞에 데이터 타입을 명시하는 코딩 규칙

데이터베이스에서 스키마

데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것- 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 메타데이터의 집합

profile
나영

0개의 댓글