1. 다음 설명에 맞는 RAID 단계를 쓰시오
ㅇ 두 개 이상의 하드디스크를 병렬로 연결해, 하나의 디스크처럼 이용하는 기술이다. ㅇ 스트라이프(Stripe) 방식으로 구현하여 I/O 속도가 빠르다. ㅇ 데이터를 블럭단위로 분할하고 나누어 저장하기 때문에 하나의 디스크에 문제가 생기면 데이터 사용이 불가능해진다. |
RAID-0
RAID 1 : 두 개 이상의 디스크를 미러링을 통해 하나의 디스크처럼 사용
RAID 2 : 오류 정정을 위한 해밍코드를 사용하는 방식
RAID 3 : 하나의 디스크를 패리티 정보를 위해 사용하고 나머지 디스크에 데이터를 균등하게 분산저장
RAID 4 : RAID3과 같은 방식이나 블록 단위로 분산 저장한다.
RAID 5 : 3개 이상의 디스크를 붙여서 하나의 디스크처럼 사용하고 각각의 디스크에 패리티 정보를 가지고 있는 방식
RAID 6 : 하나의 패리티르 ㄹ두개의 디스크에 분하는 방식
2. 다음은 로그 기반 회복기법에서 사용되는 명령어이다. 각 지문에 해당하는 명령을 적으시오.
1. 오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후 실패가 발생하기 전까지의 과정을 재실행한다. 2. 로그를 이용하여 오류와 관련된 내용을 취소하여 복구한다. |
1. REDO
2. UNDO
회복 기법 (영속성 주요기법)
트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적 상태로 복구시키는 작업
(1) 종류 - 회로체크
기법 | 설명 |
로그 기반 회복 기법 | 지연 갱신 회복 기법 - 트랜잭션이 완료되기 전까지 데이터 베이스에 기록하지 않는 방법 (Deferred Update) : UNDO가 필요없다, REDO는 필요하다 즉각 갱신 회복 기법 - 트랜잭션 수행중 갱신 결과를 바로 DB에 반영 (Immediate Update) : REDO, UNDO가 필요하다 |
체크 포인트 회복 기법 (Checkpoint Recovery) |
장애 발생시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전 상태로 복원 시키는 회복기법 |
그림자 페이징 회복 기법 | 데이터베이스 트랜잭션 수행시 복제본을 생성하여 데이터베이스 장애시 이를 이용해 복구하는 기법 |
트랜잭션특성 - ACID
특성 | 설명 | 주요기법 |
원자성 (Atomicity) |
분해가 불가능한 작업의 최소단위 연산 전체가 성공 또는 실패 하나라도 실패할 경우 전체가 취소되어야 함 |
Commit / Rollback 회복성보장 |
일관성 (Consistency) |
트랜잭션이 실행 성공후 항상 일관된 데이터베이스 상태 보존 | 무결성 제약조건 동시성 제어 병행제 |
격리성 (Isolation) |
트랜잭션 실행중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가 | Read Uncommited Read Commited Repeatable Read Serializable Read |
영속성 (Durability) |
성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장 | 회복기법 |
3. 데이터베이스의 이상현상 중, 삭제 이상에 대해 간략히 설명하시오.
데이터를 삭제할 경우 원하지 않는 다른 데이터도 삭제되어버리는 이상
삽입이상 : 릴레이션에서 데이터를 삽입할때 의도와 상관없이 원하지 않는 값들로 함께 삽입되는 현상
삭제이상 : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상
갱신이상 : 릴레이션에서 튜플에 있는 속성값을 갱신할 떄 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
개념, 논리, 물리
절차 | 설명 | 산출물 |
개념적 데이터모델 |
• 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조 도출 • 산출물 : 개체-관계 (E-R) 다이어그램 |
|
논리적 데이터모델 |
• 모델링 표기법으로 형상화 하여 사람이 이해하기 쉽게 표현 • '관계 데이터 모델', '계층 데이터 모델', '네트워크데이터모델', '객체 지향 데이터모델', '객체-관계 데이터 모델' 등 • 스키마설계, 트랜잭션 인터페이스설계 • 정규화수행 • 스키마 평가 및 정제 |
학생(학번, 교수번호(FK), 이름, 주소) 교수(교수번호, 이름, 전공과목) |
물리적 데이터모델 | • 논리 데이터 모델을 특정 DBMS 특성 및 성능 고려하여 물리적인 스키마를 만듬 • 데이터베이스 저장구조로 변환 • 테이블, 인덱스, 뷰, 파티션 등 객체 생성 • 응답시간 저장공간의 효율화 트랜잭션 처리를 고려하여 설계 • 반정규화 수행 • 접근경로, 저장레코드양식, 레코드 집중 분석 설계 |
DDL을 이용해 데이터 모델 정의 |
4. 아래에서 설명하는 임시 키 무결성 프로토콜의 영문 약어를 쓰시오.
ㅇ IEEE 802.11 무선 네트워킹 표준에 사용되는 보안 프로토콜 ㅇ IEEE 802.11i의 작업 그룹과 WiFi 얼라이언스에서 WEP를 하드웨어 교체 없이 대체하기 위해 고안 |
TKIP (Temporal Key Integrity Protocol)
5. 아래에서 설명하는 내용을 영문 약자로 쓰시오.
키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경 |
NUI
UI 설계원칙
- 직관성 : 화면의 버튼, 항목, 입력란 등 누구나 쉽게 이해하고 사용할 수 있어야 한다.
- 유효성 : 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 한다.
- 학습성 : 사용자가 쉽게 배우고 익힐 수 있어야 한다.
- 유연성 : 사용자의 요구를 최대한 수용하면서 오류를 최소화 해야한다.
6. 다음은 소스코드 분석도구에 대한 설명이다. 각 지문이 설명하는 분석 기법의 명칭을 쓰시오.
1. 소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법
2. 소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석하는 기법
1. 정적 분석 기법
2. 동적 분석 기법
프로그램 실행여부 - 정적, 동적 테스트
테스트 기법 - 화이트박스, 블랙박스 테스트
테스트에 대한 시각 - 검증 테스트, 확인 테스트
테스트 목적 - 회복, 안전, 강도, 성능, 구조, 회귀, 병행 테스트
테스트 기반 - 명세, 구조, 경험기반 테스트
테스트 오라클 - 참, 샘플링, 휴리스틱, 일관성 검사 오라클
7. 아래에서 설명하는 테스트 도구를 쓰시오.
자바 프로그래밍 언어를 이용한 xUnit의 테스트 기법으로써 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 프레임워크이다. |
JUnit
8. 다음 보기 중에서 블랙박스 테스트 기법을 3가지 골라 작성하시오.
a. Equivalence Partitioning b. Boundary Value Analysis c. Base Path Test d. Loop Test e. Cause-effect Graph f. Decision Coverage g. Statement Coverage |
a, b, e
- 블랙박스테스트 (명세 기반 검사) - 동결 결상 유분 폐원비
사용자의 요구사항 명세를 보면서 수행하는 테스트
동등 분할 테스트 (Equivalence Partitioning) |
입력 데이터 영역의 유사한 도메인별로 유효값/무효값을 그룹핑하여 대표값 테스트를 케이스를 도출하여 테스트 하는 기법 |
경곗값 분석 테스트 (Boundary Value Analysis) |
최소값 바로 위, 최대 치 바로 아래 등 입력값의 극한 한계를 테스트하는 기법 |
결정 테이블 테스트 (Decision Table) |
요구사항의 논리와 발생 조건을 테이블 형태로 나열하여 조건과 행위를 모두 조합하여 테스트 |
상태 전이 테스트 (State Transition) |
이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 |
유스케이스 테스트 (Use Case) |
프로세스 흐름을 기반으로 테스트케이스를 명세화하여 수행하는 테스트 |
분류 트리 테스트 (Classification Tree) |
SW의 일부 또는 전체를 트리구조로 분석 및 표현하여 테스트케이스 설계해 테스트 |
페어와이즈 테스트 (Pairwise) |
테스트 데이터 값들간에 최소한 한번씩 조합하는 방식 |
원인-결과 그래프 테스트 (Cause-Effect Graphing) |
그래프를 활용해 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석 |
비교테스트 (Comparision) |
여러 프로그램에 같은 입력값을 넣어 비교해 테스트 |
9. 다음 설명에 대한 답을 영어 약자로 작성하시오.
정부에서 정한 인증기관 및 심사기관에서 기업이 주요 정보자산을 보호하기 위해 수립·관리·운영하는 정보보호 관리체계가 인증 기준에 적합한지를 심사하여 인증을 부여하는 제도 |
ISMS
ISMS는 정보보호관리체계 (Information Security Management System)의 약자입니다1. 이는 정보보호관리에 대한 표준적 모델 및 기준을 제시하여 기관 및 기업의 정보보호 관리체계 수립 및 운영을 촉진하고 기업의 정보보호를 위한 일련의 활동 등이 객관적인 인증심사 기준에 적합한 지를 인증기관이 인증하는 제도입니다1.
ISMS 인증은 정보보호 관리체계를 구축하고 운영하는데 있어서 국제적으로 인정받는 인증제도로, 정보보호 관리체계의 구축과 운영을 위한 일련의 조치와 활동이 인증기준에 적합함을 증명하는 제도입니다2.
10. 다음은 데이터베이스 키에 대한 설명이다. 빈 칸에 들어갈 내용을 내용을 쓰시오.
1. 슈퍼키는 ( A )의 속성을 갖는다. 2. 후보키는 ( A )와(과) ( B )의 속성을 갖는다. |
1. 유일성
2. 최소성
(1) Key
키 (Key) |
|
후보키 (Candidate Key) |
|
기본키 (Primary Key) |
|
대체키(Alternate Key) |
|
슈퍼키 (Super Key) |
|
외래키 (Foreign Key) |
|
11. 다음에서 설명하는 공격 기법을 쓰시오.
이 공격은 APT 공격에서 주로 쓰이는 공격으로, 공격 대상이 방문할 가능성이 있는 합법적인 웹 사이트를 미리 감염시킨 뒤, 잠복하고 있다가 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치하는 방식이다. |
워터링 홀(Watering Hole)
12. 다음은 V&V 모델을 형상화한 V다이어그램이다. 빈칸에 들어갈 말을 쓰시오.
a. 단위 테스트
b.통합 테스트
c. 시스템 테스트
d.인수 테스트
단위 - 정적, 동적
통합 - 상향식, 하향식, 빅뱅, 샌드위치
시스템 - 기능, 비기능
인수 - 알파, 베타테스
13. 다음 SQL 결과에 알맞는 쿼리을 작성하시오.
[성적 테이블]
번호 | 성적 | 점수 |
1 | 홍길동 | 95 |
2 | 임꺽정 | 90 |
3 | 유관순 | 80 |
4 | 이성계 | 60 |
SELECT 번호, 이름, 점수 FROM 성적 ( 1 ) BY ( 2 ) ( 3 ) |
ORDER, 점수, DESC
14. 다음에서 설명하는 파이썬 함수를 작성하시오.
1. 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가 2. 리스트 내부 요소를 꺼내주는 함수로써, 그 요소는 리스트 안에서 삭제하고 그 값을 반환 3. 리스트 내부의 요소의 순서는 뒤집는 역할 |
1. extend
2. pop
3. reverse
15. 다음은 파이썬 코드에서 출력되는 a와 b의 값을 작성하시오.
def exam(num1, num2=2):
print('a=', num1, 'b=', num2)
exam(20)
a= 20 b= 2
16. 다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.
class Car implements Runnable{
int a;
public void run(){
system.out.println("Hello")
}
}
public class Main{
public static void main(String[] args){
Thread t1 = new Thread(new ___());
t1.start();
}
}
Car
17. 다음 Java 코드의 출력 결과를 작성하시오.
class A {
int a;
int b;
}
public class Main {
static void func1(A m) {
m.a *= 10;
}
static void func2(A m) {
m.a += m.b;
}
public static void main(String args[]){
A m = new A();
m.a = 100;
func1(m);
m.b = m.a;
func2(m);
System.out.printf("%d", m.a);
}
}
2000
18. 다음 소스코드에서 입력값이 5가 들어왔을때 출력되는 값을 작성하시오.
#include <stdio.h>
int func(int a) {
if (a <= 1) return 1;
return a * func(a - 1);
}
int main() {
int a;
scanf("%d", &a);
printf("%d", func(a));
}
120
19. 다음 C언어 프로그램의 괄호 안에 들어갈 알맞은 연산자를 작성하시오.
#include <stdio.h>
int main() {
int number = 1234;
int div = 10;
int result = 0;
while (number ( 1 ) 0) {
result = result * div;
result = result + number ( 2 ) div;
number = number ( 3 ) div;
}
printf("%d", result);
return 0;
}
// 결과: 4321
1. >
2. %
3. /
20. 다음 C언어 프로그램의 결과를 쓰시오.
#include <stdio.h>
int isPrime(int number) {
int i;
for (i=2; i<number; i++) {
if (number % i == 0) return 0;
}
return 1;
}
int main(void) {
int number = 13195, max_div=0, i;
for (i=2; i<number; i++)
if (isPrime(i) == 1 && number % i == 0) max_div = i;
printf("%d", max_div);
return 0;
}
29
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/2022%EB%85%84%201%ED%9A%8C
'|Developer_Study > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] C언어 활용 문제 (0) | 2023.04.04 |
---|---|
[정보처리기사 실기] JAVA 활용 문제 (0) | 2023.04.03 |
[정보처리기사 실기] 2021년 3회 실기 기출 (0) | 2023.04.03 |
[정보처리기사 실기] 페이지 교체 알고리즘 (0) | 2023.04.01 |
[정보처리기사 실기] 프로세스 스케줄링 (0) | 2023.03.30 |
댓글