정보처리기사 실기 오답노트

yo·2021년 6월 26일
0

자바: 1-8, 1-37, 1-56, 1-75, 1-77, 1-101, 1-103, 1-123
c: 1-121
추후: 1-84, 1-82, 1-86

1. 모듈의 독립성을 높이기 위해서는 결합도(Coupling)은 약하게, 응집도(Cohesion)은 강하게 만들어야 한다.

  • 결합도: 모듈 사이의 관련성
  • 자료, 스탬프, 제어, 외부, 공통, 내용 결합도 순으로 결합도가 강해진다.
  • 우연적, 논리적, 시간적, 절차적, 통신적, 순차적, 기능적 응집도 순으로 강해진다.

2. ACID

  • 원자성(Atomicity): 트랜잭션은 연산들을 전부 실행하든지 전혀 실행하지 않아야 한다. 일부만 실행해서는 안된다.
  • 일관성(Consistency): 트랜잭션이 성공적으로 실행되면 데이터베이스 상태는 모순되지 않고 일관된 상태가 된다.
  • 독립성(Isolation): 트랜잭션 실행 도중의 연산 결과는 다른 트랜잭션에서 접근할 수 없다.
  • 지속성(Consistency): 트랜잭션이 성공했을 경우 영구적으로 반영되어야 한다.

3. 에플리케이션 주요 성능 지표

  • 처리량(Throughput): 일정 시간 내에 에플리케이션이 처리하는 일의 양
  • 응답시간(Response time): 에플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
  • 경과(반환)시간(Turnaround time): 에플리케이션에 작업을 의로한 시간부터 처리가 완료될 때까지 걸린 시간
  • 자원 활용률(Utilization): 애플리케이션의 의로한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등 자원 사용률. 단위 시간당 작업을 수행하는 총 시간 비율

4. 비정규화(Denormalization)의 개념을 서술하시오.

  • 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로,
    성능개선을 위하여 의도적으로 정규화 원칙을 위배하는 행위
- 데이터의 정합성, 무결성을 우선으로 -> 정규화
- db 구성의 단순화와 성능을 우선으로 -> 비정규화

MD5(Message_Digest Algorithm 5)

  • MD4를 대체하기 위해 나옴
  • 128비트 암호하 해시 함수
  • RFC1321로 지정
  • 프로그램이나 파일이 원본 그대로인지 확인하는 무결성 검사 등에 사용됨.
  • 1991년 로널드 라이베스트(R.rivest)가 만듬

프로토콜의 기본 요소 3가지

  1. 구문(Syntax)
  2. 의미(Semantics)
  3. 시간(Timing)
  • 프로토콜 정의: 서로 다른 시스템에 있는 두 개체 간에 데이터를 전송하는 통신규약

LAND Attack

  • Local Area Network Denial Attack
    -출발지와 목적지 주소를 똑같이 만들어서 공격하는 방식
  • 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 함.

살충제 패러독스(Pesticide Paradox)

  • 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상
  • 소프트웨어 테스트의 기본 7원칙 중 하나

물리 계층(Physical Layer)

  • 전송이 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의하는 계층
  • 통신회선으로 Data를 나타내는 0과1비트의 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업을 당담.

Data Mining의 개념

데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법

비선점형 스케줄링 HRN

  • 계산식: (대기시간 + 서비스 시간) / 서비스 시간
  • Highest Response-Ratio Next)
  • SJF의 약점 보완

RPO, RTO

  • RPO

    • Recovery Point Objective
    • 목표 복구 시점, 데이터 손실을 시간으로 환산한 개념
  • RTO

    • Recovery Time Objective
    • 목표복구시간
    • 재해 발생 시 시스템 복구까지 허용할 수 있는 최대 시간

AJAX

  • Asynchronous JavaScript And XML
  • 브라우저가 가지고 있는 XMLHttpRequest객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법
  • HTML만으로 어려운 다양한 작업을 웹페이지에서 구현

ROLLBACK에 대하여 간단히 서술하시오

: 특정 COMMIT 지점으로 되돌아 가는 것.

  • 트랜잭션 실패작업을 취소하고 이전 상태로 되돌릴 때 사용하는 명령어.

IPsec(Internet Protocol Security)

  • IP 프로토콜 수준의 보안 서비스를 목적으로 L3계층에서 인증 및 암호화를 제공하는 통신규약
  • 무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜로 Network Layer인 인터넷 프로토콜(IP)에서 보안성을 제공해 주는 표준화된 기술

정적 분석 도구

  • 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구
  • 정적 분석: 프로그램을 수행하지 않고 분석하여 복잡도 측정 및 호출 관계를 분석

Observer Pattern

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

SOAP(Simple Object Access Protocol)

  • 단순 객체 접근 프로토콜

  • HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 웹 서비스 방식에서 HTTP 기반의 SOAP을 사용하여 송수신한다. SOAP대신 RESTful프로토콜로 대체할 수 있다.

SQL Injection이 무엇인지 간단히 서술하시오.

웹 응용 프로그램에 강제로 악의적인 SQL구문을 삽입하여
데이터베이스를 비정상적으로 조작하는 공격 기법

UI 설계 원칙

  • 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 한다.
  • 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다.
  • 유연성: 사용자의 요구사항최대한 수용하고 실수를 최소화해야 한다.
  • 유효성: 사용자의 목적을 정확하게 달성해야 한다.

chmod

  • r(읽기): 4

  • w(쓰기): 2

  • x(실행): 1

  • chmod 777 a.txt: owner, group, other 모두에게 a.txt에 대한 읽기, 쓰기, 실행 권한 부여

  • chmod 700 a.txt: owner에게만 읽기, 쓰기, 실행 권한 부여

  • chmod 751 a.txt: owner는 읽기 쓰기 실행, owner가 속한 group에게 읽기, 실행, 다른 그룹에게는 실행 권한만 부여

LOD(Linked Open Data)

  • 웹 상에 존재하는 데이터를 개별 URI로 식별하고, 각 URI에 대한 링크 정보를 부여하여 성호 연결된 웹을 지향하는 모델.
  • 전 세계 오픈된 정보를 하나로 묶는 방식으로 link data와 open data의 합성어

형상 통제

  • 형상에 대한 변경 제안검토, 승인하여 현재 기준선(Baseline)반영할 수 있도록 통제하는 것을 말한다.

블랙박스 테스트

  • 외부 사용자 요구사항 명세를 보면서 테스트를 수행
  • 구현된 기능을 테스트
  • 명세 기반 테스트라고도 한다.
  • 동치 분할 테스트, 경계 값 테스트 등 내부 구조를 보지 않는 테스트 기법

sql 컬럼 추가, 변경, 삭제

  • 아래 예시는 users테이블의 age 컬럼을 추가, 변경 ,삭제함.
  • ALTER TABLE users ADD age number; (추가)
  • ALTER TABLE users MODIFY age CHAR(10); (변경)
  • ALTER TABLE users DROP age; (삭제)

C++의 생성자(Constructor)

  • 객체 생성 시 호출되는 메소드로 멤버변수의 초기화를 위해 사용된다.

스키마란?

  • 데이터베이스의 전체적인 구조제약조건에 대한 명세기술, 정의한 것.

헝가리안 표기법

  • 변수 명명 규칙 중 하나
  • 변수명, 함수명 등의 식별자 이름을 작성할 때 데이터 타입의 정보를 이름 접두어로 지정하는 코딩의 규칙이다. 예를 들어 인덱스 역할을 하는 int형 변수명을 inum으로 문자열 변수명을 strName으로 지정하는 표기법이다.

리펙토링의 목적

  • 가독성을 높이고 유지보수의 편리성을 높일 수 있다.
  • 소프트웨어 생산성을 향상시킬 수 있다.
  • 리펙토링: 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법.

스니핑(Sniffing), 스푸핑(Spoofing)

  • 네트워크 해킹에 대표적인 방법 두 가지.
  • 스니핑: 네트워크 상에서 다른 사람의 패킷 교환도청하는 행위. 직접 공격하지 않고 데이터만 몰래 들여다보는 수동적 공격기법.
  • 스푸핑: 자기 자신의 식별정도를 속여 서로 다른 대상 시스템을 공격하는 기법. 능동적 공격.
    - IP Spoofing: IP주소를 속여 다른 시스템을 공격
    • ARP Spoofing: ARP 테이블 상의 정보를 위조하여 공격대상 컴퓨터와 서버 사이의 정보 우회(MAC Adress) 위조
    • DNS Spoofing: Local host파일 또는 DNS서버를 장악하여 사용자가 요청하는 DNS쿼리를 공격자가 원하는 주소로 안내하도록 위조.

NAT(Network Access Translation)

  • 컴퓨터 네트워킹에 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술로서 네트워크 주소 변환이라고 한다.
  • 외부 네트워크에 알려진 것과 다른 IP주소를 사용하는 내부 네트워크에서 IP주소를 변환하는 기술

하둡(Hadoop)

  • 대량의 자료를 분산처리하는 빅데이터 플랫폼.
  • 대량의 자료를 처리할 수 있는 대형 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈소스 자바 소프트웨어 프레임워크

DB 이상현상의 종류 3가지

  • 삽입 이상: 불필요한 데이터를 함께 삽입하지 않으면 데이터를 삽입하는 것이 불가능
  • 갱신 이상: 중복된 데이터 가운데 일부만 수정되어 데이터의 불일치가 발생
  • 삭제 이상: 어떤 데이터를 삭제하면 유용한 데이터도 함께 삭제 됨.

테스트 오라클(Test Oracle)

  • 테스트를 수행한 결과가 참인지 거짓인지 판단하기 위하여 미리 정의된 참 값을 대입하여 비교하는 기법 및 활동
    • 참 오라클
      • 확인 가능한 모든 전수 테스트 가능
    • 샘플링 오라클
      • 전수 테스트가 불가한 경우 사용. 경계값, 구간별 예상 값 결과 작성 사용
    • 휴리스틱 오라클
      • 샘플링 오라클 + 휴리스틱
    • 일관성검사 오라클
      • 이전수행결과와 현재 수행결과가 동일한지 검증.

동등 분할 테스트(동치 분할 테스트)

0-60구간, 60-70구간, 70-80구간, 80-90구간, 90-100구간에서 테스트 데이터가 각각 55, 65점, 78점, 85점, 95점 정도 되는 테스트 기법.

UNIX

  • 미국 벨 연구소 켄 톰슨과 데니스 리치가 1960년대에 만든 운영체제
  • 거의 c언어로 구현되어 있으며 구조적인 파일 시스템을 갖고, 시스템의 파일이 하나의 트리구조이다.

정보보안 3대 요소

  • 기밀성(Confidentiality)
    • 자산이 인가(authorization)된 당사자에 의해서만 접근하는 것을 보장하는 것.
    • 위협오소: 도청 ,사회공학 공격 등
  • 무결성(Integrity)
    • 자산이 인가된 당사자에 의해서 인가된 방법으로만 변경 가능한 것으로 자산의 완전성정확성을 보장하는 것.
    • 위협요소: 논리폭탄, 백도어, 바이러스 등
  • 가용성(Availability)
    • 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속적으로 사용할 수 있도록 보장하는 특성
    • 자산이 적절한 시간에 인가된 당사자에게 접근 가능해야 하는 것
    • 위협요소: DoS, DDoS, 지진, 홍수, 화재 등

디자인 패턴(생성, 구조, 행위 패턴 존재)

테스트 오라클

테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참(True)값을 입력하여 비교하는 기법 및 활동을 말한다.

참(True)오라클

  • 모든 입력값에 적합한 결과를 생성하여, 발생한 오류를 모두 검출

일관성 검사(Consistent)오라클

  • 에플리케이션 변경이 있을 때, 수행 전과 후의 결과값이 같은지 확인

샘플링 오라클

  • 임의로 선정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공

휴리스틱 오라클

  • 임의의 입력값에 대해 올바른 결과를 제공하고, 나머지 값에 대해서는 휴리스틱(추정)으로 처리

블랙박스 테스팅 기법

화이트박스 테스팅 기법

  • 소스코드 보면서 테스트 하는 기법

스니핑(Sniffing)

  • 네트워크상에 통과되는 패킷들의 내용을 엿보는 행위이다.

서비스 공격 유형 종류

정보보안

정보보안의 3원칙: 기밀성, 무결성, 가용성

가용성

형상관리

index create

DCL

IPSec


chmod

profile
Never stop asking why

0개의 댓글