Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
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 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

AngzavA

[정보처리기사 실기] 기출정리 2022년 3회 본문

정보처리기사

[정보처리기사 실기] 기출정리 2022년 3회

이앙지 2023. 7. 13. 15:32

1. 형상관리도구

CVS, Git, SVN

 

OLAP : 자료 찾는거

Maven : 배포 도구

OLTP : 온라인 트랜잭션 처리

Jenkins : 배포 도구

Graddle : Groovy 기반 배포 도구

 

형상관리 절차

형상 식별 - 형상 통제 - 형상 감사 - 형상 기록

 

 

2. Bridge 패턴, Observer 패턴

(   1   )은/는 기능을 처리하는 클래스와 구현을 담당하는 추상 클래스로 구별한다. 
구현뿐 아니라 추상화도 독립적 변경이 필요할 때 (   1   ) 패턴을 사용한다.
기존 시스템에 부수적인 새로운 기능들을 지속적으로 추가할 때 사용하면 유용하며,
새로운 인터페이스를 정의하여 기존 프로그램의 변경 없이 기능을 확장할 수 있다.

(   2   )은/는 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달해주는 패턴이다.
일대다 관계를 가지며, ​주로 분산된 시스템 간에 이벤트를 생성·발행(Publish)하고, 이를 수신(Subscribe)해야 할 때 이용한다.

 

3. 관계, 클래스, 인터페이스

UML은 통합 모델링 언어로써, 시스템을 모델로 표현해주는 대표적인 모델링 언어이다.

구성 요소로는 사물, (    1    ), 다이어그램으로 이루어져 있으며, 구조 다이어그램 중,
(     2    ) 다이어그램은 시스템에서 사용되는 객체 타입을 정의하고, 
그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다.  
또한 UML 모델링에서 (     3    )은/는 클래스와 같은 기타 모델 요소 또는 
컴포넌트가 구현해야 하는 오퍼레이션 세트를 정의하는 모델 요소이다.

일반화 관계 : 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 관계

연관 관계 : 한 클래스가 다른 클래스에서 제공하는 기능을 사용할 때 표시

의존 관계 : 클래스의 관계가 한 메서드를 실행하는 동안과 같이 매우 짧은 시간만 유지

실체화 관계 : 인터페이스를 구현받아 추상 메서드를 오버라이딩하는 것

집약 관계 : 전체 객체의 라이프타임과 부분 객체의 라이프타임은 독립적

합성 관계 : 부분 객체가 전체 객체에 속하는 관계로 긴밀한 필수적 관계

 

 

유스케이스 다이어그램 관계

연관 관계 : 유스케이스와 액터 간의 상호작용이 있음을 표현

포함 관계 : 유스케이스를 수행할 떄 반드시 실행되어야 하는 경우

확장 관계 : 유스케이스를 수행할 때 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우

 

 

4. 경계값 분석 = Boundary Value Analysis

블랙박스 테스트

동등 분할 기법 : 입력 자료에 초점을 맞춰 테스트 케이스를 만들어 검사

경계값 분석 : 입력 조건의 경계값을 테스트 케이스로 선정하는 방법

원인-효과 그래프 검사 : 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법

오류 예측 검사 : 과거의 경험이나 테스터의 감각으로 테스트하는 기법

비교 검사 : 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기능

 

테스트 오라클 : 이 결과가 참인지 거짓인지 확인을 위해 참 값을 넣어봄

- 참 , 샘플링, 휴리스틱, 일관성 검사

테스트 커버리지 : 얼마나 진행했는지

 

V모델

단위 테스트 : 정적 테스트 / 동적 테스트

통합 테스트 : 상향식 - 드라이버 / 하향식 - 스텁 / 빅뱅

시스템 테스트 : 기능 - 사용자가 요구한 기능 / 비기능 : 성능 안정성 보안 등

인수 테스트 : 알파테스트 - 개발자/사용자 , 베타테스트 - 사용자

 

애플리케이션 테스트 유형 분류

- 프로그램 실행 여부 : 정적 테스트 / 동적 테스트

- 테스트 기법 : 화이트박스 / 블랙박스

- 테스트에 대한 시각 : 검증 / 확인

- 테스트 목적 : 회복(일부로 오류 냄) / 안전 / 강도(부하) / 성능 / 구조 / 회귀(소스코드 변경 후 연결되어있는지) / 병행(여러번)

- 테스트 기반 : 명세 기반 / 구조 기반 / 경험 기반

 

5. SSO

(      )은/는 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 
이용하는 방법을 말한다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데 
이때 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말한다. 즉 하나의
시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면 로그인 처리를 하도록 하고, 
없는 경우 다시 통합 인증을 할 수 있도록 만드는 것을 의미한다.

 

6. ER 다이어그램 기호

 

 

7. SRT, RR, SJF

비선점 ( A ) 먼저 들어온 프로세스 먼저 처리 Convoy Effect 발생
( B ) 처리시간이 짧은 프로세스부터 처리 Starvation 발생
HRN 짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리 Starvation 해결
선점 ( C ) 먼저 들어온 순서대로 일정 시간만큼만 처리  
( D ) 남은 시간이 짧은 프로세스부터 처리  
MLQ 우선순위별로 큐를 분리하여 다양한 스케줄링 적용 Starvation 발생

선점형 기법

- Round Robin : 시간단위를 정해서 프로세스를 순서대로 CPU 할

- SRT : CPU 점유 시간이 가장 짧은 프로세스에 CPU 먼저 할당

- 다단계 큐

- 다단계 피드백 큐

 

비선점형 기법

- FCFS

- SJF : 실행시간이 가장 짧은 프로세스에게 CPU 할당

- HRN

- 우선순위

- 기한

 

 

8. 서브넷 계산식

192.168.1.0/24인 네트워크를 FLSM 방식으로 3개의 서브넷으로 나눴을 때, 두번째 네트워크의 브로드캐스트 아이피를 쓰시오

 

서브넷마스크 /26 이므로 1로 26번 채우면됨 11111111.11111111.11111111.11000000

11000000 이므로 비트수 2개 

네트워크 분할 2^2 = 4 이므로 그대로 사용하면됨

네트워크 1개당 개수 256/4 = 64

첫번째 네트워크 1 ~ 63

두번째 네트워크 64 ~ 127

세번째 네트워크 128 ~ 191

네번째 네트워크 192 ~ 255

브로드케스트 ip는 마지막 ip 이므로

두번째 브로드케스트 ip 192.168.1.127

 

처음 ip는 네트워크 ip

 

9. 사회 공학, 다크 데이터

(     1     ) 은/는 보안학적 측면에서 기술적인 방법이 아닌 사람들간의 기본적인 신뢰를 기반으로 사람을 속여 비밀 정보를 획득하는 기법이다.

(     2     ) 은/는  빅데이터(Big Data)와 비슷하면서도 구조화돼 있지 않고, 더는 사용하지 않는 ‘죽은’ 데이터를 의미한다. 
일반적으로 정보를 수집해 저장한 이후 분석이나 특별한 목적을 위해 활용하는 데이터가 아니며,  저장공간만 차지하고 이러한 이유로 심각한 보안 위험을 초래할 수 있다.

 

10. SIEM

ESM(Enterprise Security Management) : 전사적 통합보안 관리, 이벤트 위주 단시간 위협 분석

SIEM(Security Information&Event Management) : 네트워크 하드웨어 및 응용 프로그램에 의해 생성된 보안 경고의 실시간 분석 제공, 빅데이터 수준의 데이터를 장시간 심층 분석한 인덱싱 기반, 데이터 통합, 상관관계, 알림, 대시보드

 

11. 트러스트 존, 타이포스쿼팅

(   1   )은/는 프로세서(processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM사에서
개발한 하드웨어 기반의 보안 기술로 프로세서(processor) 안에 독립적인 보안 구역을 별도로 하여, 중요한 정보를 
보호하는 하드웨어 기반의 보안 기술이다.

(   2   )은/는 사용자들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 유사한 
유명 도메인을 미리 등록하는 일로 URL 하이재킹(hijacking)이라고도 한다.

 

12. 관계 대수

관계대수 연산자

 

 

13. SQL

insert into 부서 (부서코드, 부서명)  value ('10', '영업부'),
('20', '기획부'),  ('10', '개발부');

insert into 직원 (직원코드, 부서코드)  value ('1000', '10');
insert into 직원 (직원코드, 부서코드)  value ('2000', '10');
insert into 직원 (직원코드, 부서코드)  value ('3000', '10');
insert into 직원 (직원코드, 부서코드)  value ('4000', '20');
insert into 직원 (직원코드, 부서코드)  value ('5000', '20');
insert into 직원 (직원코드, 부서코드)  value ('6000', '30');
insert into 직원 (직원코드, 부서코드)  value ('7000', '30');

SELECT DISTINCT COUNT(직원코드) FROM 직원 WHERE 부서코드 = '10';
DELETE FROM 부서 WHERE 부서코드 = '10';
SELECT DISTINCT COUNT(직원코드) FROM 직원;

 

3

4

 

* = 전체 행 개수

코드를 아예 물어보면 null 반영 안함

 

update table set column where ~

delete from table where ~

 

14. SQL

200, 3, 1

 

 

15. C언어 2차원 배열

void main{
 
field {{0,1,0,1},{0,0,0,1},{1,1,1,0},{0,1,1,1}};
mines {{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; 
 
int w = 4, h = 4;
  for(y=0; y<h; y++) {
    for(x=0; x<w; x++) {  
    if(field[y][x] == 0) continue;
    
      for(i=y-1; i<=y+1; i++) {
        for(j=x-1; j<=x+1; j++) {
          if(calculate(w,h,j,i) == 1) {
            mines[i][j] += 1;
          }
        }
      }
    }
  }
  for(y=0; y<h; y++){
    for(x=0; x<w; x++)
      printf("%d", mines[y][x]);
      printf("\n");
  }
 
}
 
 
int calculate(w,h,j,i) {
  if (i >= 0 && i < h && j >= 0 && j < w) return 1;
  return 0;
}

주어진 코드는 4x4 크기의 지뢰 찾기 게임을 구현하려는 코드입니다. 코드를 분석하면 다음과 같습니다:

1. `field` 배열은 게임 보드를 나타냅니다. 각 요소는 지뢰(1)인지 아닌지(0)를 나타냅니다.
2. `mines` 배열은 각 셀 주변에 있는 지뢰의 개수를 저장하는 배열입니다. 초기값은 모두 0으로 초기화됩니다.
3. `w`와 `h` 변수는 보드의 가로와 세로 크기를 나타냅니다. 현재 코드에서는 4로 설정되어 있습니다.
4. `for` 루프를 통해 각 셀을 순회하면서 지뢰 주변의 셀들에 대해 계산을 수행합니다.
5. `calculate` 함수는 주어진 좌표가 유효한 셀인지 확인하는 함수입니다. 좌표가 유효하면 1을 반환하고, 그렇지 않으면 0을 반환합니다.
6. `calculate` 함수를 통해 주변 좌표를 확인하고, 유효한 셀인 경우 `mines` 배열의 해당 셀 값을 1씩 증가시킵니다.
7. 마지막으로 `mines` 배열을 출력하여 각 셀 주변의 지뢰 개수를 표시합니다.

코드를 실행하면 `mines` 배열이 아래와 같이 출력됩니다:

```
0110
1221
0121
1221
```

각 셀은 주변에 있는 지뢰의 개수를 나타내며, 숫자로 표시됩니다.

 

 

16. C언어

24513

 

17. C언어

 

 

18. 자바

0123

 

19. 자바

993

 

20. 파이썬

[101, 102, 103, 104, 105]