4 분 소요

2022-1회

1. RAID 단계

  • Striping(스트라이핑) 구현 방식
  • I/O 로드의 분산, 매우 빠른 속도
  • 데이터를 블럭으로 분할 저장, 각 블럭은 다른 디스크로 나뉘어 저장

정답 : 0

RAID : 여러 독립적인 디스크를 하나의 논리적 장치처람 묶어 성능 향상, 데이터 안정성 높임.

0단계 : 하나의 디스크라도 고장나면 모든 데이터를 잃을 수 있다.

1 : 데이터를 복제하여 동일한 데이터를 두개 이상의 디스크에 저장하는 방식. 하나의 디스크가 고장나더라도 다른 디스크에서 데이터를 복구할 수 있다. 장점은 안정성이 뛰어나지만 단점은 디스크 공간의 절반만 사용할 수 있다.

2 : 데이터 오류를 검출하고 복구할 수 있도록 해밍 코드를 사용하는 방식. 비트 단위로 데이터를 나누어 여러 디스크에 분산 저장하고, 패리티와 해밍 코드를 사용해 오류를 교정. 단점은 매우 복잡하고 구현이 어렵다.

3, 4 : 데이터를 스트라이핑하여 여러 디스크에 분산 저장, 패리티 정보를 하나의 디스크에 저장.

3은 비트단위로 저장, 4는 블록 단위로 저장. 장점은 성능이 향상, 패리티 => 한 디스크 고장나도 데이터를 복구할 수 있다. 단점은 패리티 디스크가 병목현상 일으킬 수 있다.

5 : 패리티 정보를 각 디스크에 분산저장 . RAID 4의 단점 개선. 데이터를 블록 단위로 나누어 저장. 패리티 정보를 분산시켜 병목현상 줄임. 읽기와 쓰기 성능 균형이 우수, 하나 고장나도 복구 가능. 패리티 계산으로 쓰기 성능 저하

6 : RAID 5와 유사하지만 parity 다중화, 여러 디스크 내에 분산저장. 두개가 고장나도 데이터 복구. 매우 높은 안정성, 패리티 계산 복잡

10 : RAID1과 0을 조합 => 빠른 성능, 높은 안전성, 비용 높음

2. DB transaction

  1. 오류가 발생하기 전까지의 사항을 로그로 기록, 이전 상태로 되돌아간 후, 실패가 발생하기 전까지의 과정을 그대로 따라가는(redo) 현상

redo

  1. 작업을 취소하여 트랜잭션을 이전 상태(undo)로 되돌리는 것

undo

5. 삭제이상 서술

데이터를 삭제할 때 원하지 않는 데이터도 함께 삭제되어버리는 이상현상

7.

  1. 요소를 확장해준다는 의미, 모든 항목을 하나의 요소로 추가

    extend

  2. 리스트 내부 요소를 꺼내주는 함수, 리스트 안에서 삭제하고 그 값 반환

    pop

  3. 리스트 내부의 요소 순서 뒤집는 역할

    reverse

8. 영어 단어 약자

임시 키 무결성 프로토콜(temporal key integrity protocol)

TKIP

9. 영어 단어 약자

키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경

NUI(natural user interface)

10. 분석도구

  1. 소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법

    static

  2. 소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석

    dynamic

11. JAVA 코드 빈칸

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("message")
  }
}
  
public class Main{
  public static void main(String args[]){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}

Thread :

스레드는 프로그램에서 독립적으로 실행되는 작업 단위.

멀티 스레딩(여러 작업을 병렬로 실행)을 구현하는데 사용. 이 클래스를 사용하면 여러 작업을 동시에 실행할 수 있다. start() 메서드를 호출하면 해당 스레드의 run() 메서드가 비동기적으로 실행된다.

12. 용어

자바 프로그래밍 언어를 이용한 xUnit의 테스트 기법으로써 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 Framework이다.

JUnit

JUnit은 자바에서 테스트를 쉽고 체계적으로 작성할 수 있도록 도와주는 프레임워크

13. 보기 중 블랙박스 테스트 기법 3가지 선택

image-20241014120801635

ㄷ : Boundary Value Analysis

ㄹ : Equivalence Partitioning

ㅂ : Cause-Effect Graph

블랙박스 기법 : 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증, 기능테스트라고도 함. 내부 구조 모름, 기능 중심 테스트, 사용자 관점 테스트, 입출력을 중점적으로 테스트, 내부 동작, 소스 코드 고려하지 않음

  • 동치(동등)분할 검사

    입력 데이터를 몇 개의 그룹으로 나누고, 대표적인 값을 선택해 테스트

    입력 값의 범위에 따라 정상값, 비정상값 나누어 테스트

  • 경계값 분석

    입력 값의 경계 부분을 집중적으로 테스트

    1~100까지 허용된 범위라면 1, 100, 0, 101같은 경계값 테스트

  • 원인-효과 그래프 검사

    원인과 결과 간의 관계를 그래프로 표현한 후 이를 기반으로 테스트 케이스 도출

    조건 간의 상관관계를 확인하는 데 유용

  • 비교 검사

    같은 기능을 수행하는 여러 시스템, 버전을 비교

    성능, 결과의 일관성 확인

  • 오류 예측 검사

  • 결정 테이블 테스트

    조건-행동을 표로 정리, 각 경우의 테스트 수행

    복잡한 비즈니스 로직을 다룰 때 사용

  • 상태 전이 테스트

    상태 변화에 중점, 한 상태에서 다른 상태로 전이할 때 행동 테스트

  • 유스 케이스 테스트

    실제 사용자가 수행할 작업 기반으로 테스트

  • 탐색적 테스트

    테스터의 경험과 직관에 의존, 창의적 결함을 발견하는 데 효과적

화이트박스 기법 : 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스 설계. 내부 구조나 코드 로직을 알고 이를 기반으로 테스트.

  • 기초 경로 검사

    • 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정. 측정 결과는 실행 경로의 기초를 정의하는 데 지침으로 사용
  • 제어 구조 검사

    • 조건 검사

      프로그램 모듈 내에 있는 논리적 조건을 테스트

    • 루프 검사

      반복 구조에 초점을 맞춰 테스트

    • 데이터 흐름 검사

      변수의 정의와 변수 사용 위치에 초점

16. 영어 단어 약자

  • 정보 보호 관리 체계의 역문 약자

    ISMS(Information Security Management System)

17. DB Key

  1. 슈퍼키는 (1)의 속성을 갖는다.

  2. 후보키는 (1)과 (2)의 속성을 갖는다.

    1 : 유일성, 2 : 최소성

18. 해킹

  • 이 공격은 APT 공격에서 주로 쓰이는 공격으로, 공격 대상이 방문할 가능성이 있는 합법적인 웹 사이트를 미리 감염시킨 뒤, 잠복하고 있다가 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치하는 방식

    watering hole

  1. watering hole

    목표 조직이 자주 방문하는 웹사이트를 사전에 감염시켜 사이트 방문 시 악성코드에 감염되게 하는 공격

  2. 좀비 PC

    악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터 => C&C 서버의 제어를 받아 주로 DDos 공격 등에 이용됨

  3. C&C 서버

    해커가 원격지에서 감염된 좀비 PC에 명령을 내리고 악성 코드를 제어하기 위한 용도의 서버

  4. 봇넷(Botnet)

    악성 프로그램에 감염된 다수의 컴퓨터들이 네트워크로 연결된 형태

  5. 연속적으로 자신을 복제하여 시스템의 부하를 높임으로 시스템을 다운시키는 바이러스의 일종 => 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등

  6. 제로 데이 공격

    발견된 취약점의 존재가 널리 공표되기 전에 해당 취약점으로 가해지는 보안 공격

  7. 키로거 공격(key logger)

    사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호 등 개인 정보를 빼돌리는 공격

  8. 랜섬웨어

    사용자의 컴퓨터에 잠입해 내부 문서, 파일 암호화해 열지 못하게 하는 프로그램

    => 암호 해독 프로그램 전달을 조건으로 돈 요구

  9. 백도어

    시스템 설계자가 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로

    => 탐지 방법 : 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사

  10. 트로이 목마

    정상적인 프로그램으로 위장하여 숨어 있다가 프로그램이 동작할 때 활성화 되어 부작용을 일으키는것 => 자기복제 능력은 없음

20. V 모델에서의 테스트 단계

image-20241014153523784

  1. 단위 테스트
  2. 통합 테스트
  3. 시스템 테스트
  4. 인수 테스트

댓글남기기