본문 바로가기
Data Analysis/정보처리기사

[수제비 2020 기출 1~4회] 출제 개념 정리

by suvii 2024. 4. 26.

[수제비 2020 기출 1회]

  • 프로토콜의 기본 요소 (구타의)
    : 구문, 타이밍, 의미

  • XML
    : XML은 W3C에서 개발되었고, 웹 브라우저 간 호환이 되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발된 다목적 마크업 언어이다. XML은 송⋅수신시스템 간 데이터 연계의 편의성을 위해서 전송되는 데이터 구조를 동일한 형태로 정의한다.

  • JSON
    : 속성-값으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷으로, Ajax에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용한다.

  • 트랜잭션의 특성 (ACID)
    : 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)

  • 랜드 어택(Land Attack)
    : 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법

  • 릴리즈 노트의 주요 작성 항목 - 헤더
    : 문서 이름(릴리즈 노트 이름), 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등의 정보를 포함

  • 애플리케이션 성능 측정 지표
    • 처리량 : 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
    • 응답 시간 : 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간
    • 경과 시간 : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
    • 자원 사용률 : 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량

 

[수제비 2020 기출 2회]

  • 파이썬 코드
    add와 update는 값을 추가하는 함수인데, 이미 있는 값은 한 번 더 추가하지 않음.

  • AJAX
    : AJAX는 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법이며, 하이퍼 텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹 페이지와 자유롭게 상호작용할 수 있도록 하는 기술이다.

  • 애자일(Agile) 방법론
    : 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론이다. 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론이다.

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

  • 디자인 패턴 종류
    • 생성 패턴
    • 구조 패턴
    • 행위 패턴 (상전 미인이 옵치 아이템 비커 메체)
      상태(State) 패턴, 전략(Strategy) 패턴(알고리즘), 옵저버(Observer) 패턴(1대 다)
      Mediator, Interpreter, Iterator, Template Method, Visitor, Command, Memento, Chain of Responsibility
  • 안드로이드
    : 리눅스(Linux) 운영체제 위에서 구동하고 자바와 코틀린 언어로 응용 프로그램을 작성하며, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제

  • SOAP(Simple Oject Access Protocol)
    : HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 웹 서비스 방식에서 HTTP 기반의 SOAP를 사용하여 송수신한다. SOAP 대신 레스트풀(RESRful) 프로토콜로 대체할 수 있다.

  • 입력 데이터 검증 및 표현에 대한 취약점
    • XSS(Cross Site Scripting) : 사용자가 검증되지 않은 웹 페이지를 열람함으로써 웹 페이지에 포함된 부적절한 스크립트가 실행되는 공격
    • 사이트 간 요청 위조(CSRF) : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
    • SQL 삽입(Injection) : 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격 기법
  • 접근 권한 변경(chmod) 명령어
    chmod  사용자(읽기(4)/쓰기(2)/실행(1))  그룹(4/2/1)  그외(4/2/1)  파일이름

  • UI 설계 원칙 (학유직유 : UI 설계는 학유지유(학연직연: 학교연 직장연))
    • 학습성 : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작
    • 유연성 : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작
    • 직관성 : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함
    • 유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작
  • LOD(Linked Open Data)
    : 전 세계 오픈된 정보를 하나로 묶는 방식으로, link data와 open data의 합성어

  • 형상 관리
    : 형상 관리는 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다. 형상 관리 기법을 활용한 도구로는 CVS, SVN, Git 등이 있다.
    • 형상 별 : 형상 관리 대상을 정의 및 식별하는 활동
    • 형상 제 : 형상 항목의 버전 관리를 위한 형상통제위원회 운영 및 변경 활동 통제
    • 형상 사 : 소프트웨어 베이스라인의 무결성 평가
    • 형상 록 : 소프트웨어 형상 및 변경 관리에 대한 각종 수행결과를 기록(형상결과 보고서) 

 

[수제비 2020 기출 3회]

  • 리팩토링
    : 리팩토링은 소프트웨어 모듈의 외부적 기능은 수정하지 않고, 내부적으로 구조, 관계 등을 단순화하여 소프트웨어의 유지보수성을 향상시키는 기법이다. 리팩토링의 목적은 복잡한 코드의 단순화, 유지보수성 향상, 생산성 향상, 품질 향상에 있다.

  • 프로토콜
    : 프로토콜은 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다.
    심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메세지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 프로토콜이라는 용어로 정의했다.

  • ICMP
    : ICMP는 IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜로, TCP/IP에서 오류가 발생하면 ICMP 메시지를 보내서 오류가 발생했음을 알린다.
  • 관계 대수 - 순수 관계 연산자
    • Select(σ) : 조건을 만족하는 튜플 반환
    • Project(π) : 주어진 속성 값 추출
    • Join(⋈) : 공통 속성을 이용해 연관된 튜플 반환
    • Division(÷) : 릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 꺼내 프로젝션
  • 헝가리안 표기법
    : 헝가리안 표기법은 식별자 표기 시 접두어에 자료형을 붙이는 표기법이다.
      (int형일 경우 n, char형일 경우 c, 문자열일 경우 sz)

  • 블랙박스 테스트의 유형 (동경 원상 비오 : 동경에서 음악을 배운 원상비오)
    • 동등분할 테스트 : 입력데이터의 영역을 유사한 도메인 별로 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트
    • 경곗값 분석 테스트 : 입력 조건의 경곗값을 포함한 테스트 케이스를 설계하여 테스트
    • 원인-효과 그래프 테스트 : 입력 데이터 간의 관계와 출력에 영향을 미치는 상황
    • 상태 전이 테스트, 비교 테스트, 오류 예측 테스트
  • DB 스키마
    : DB 스키마는 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조이다.
    스키마는 데이터 정의어(DDL)의 대상이 되는 객체로서, DDL의 대상으로는 도메인, 스키마, 테이블, 뷰, 인덱스가 있다.

  • C++ 생성자
    : C++에서 생성자란 해당 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메서드이다.

 

[수제비 2020 기출 4회]

  • 패키지 다이어그램
    : 폴더 모양의 패키지와 점선으로 표시된 의존 관계, <<import>>라는 스테레오 타입 표기를 통해 패키지 다이어그램인지 파악할 수 있다.

  • 데이터베이스의 회복 기법
    • 로그 기반 회복 기법 : 지연 갱신 회복 기법(트랜잭션 완료 전까지 DB에 기록 x) / 즉시 갱신 회복 기법(트랜잭션 수행 중 갱신 결과를 바로 DB에 반영)
    • 체크 포인트 회복 기법 : 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원
    • 그림자 페이징 회복 기법 : 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구
  • 스니핑(Sniffing)
    : 공격 대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격 기법

  • NAT(Network Address Transformation)
    : NAT는 IP 패킷에서 외부의 공인 IP 주소와 포트 주소에 해당하는 내부 IP 주소를 재기록하여 라우터를 통해 네트워크 트래픽을 주고받는 기술이다.
    NAT는 보통 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위해 사용한다. NAT를 통해 외부의 공인 IP 주소와 포트 주소에 해당하는 내부 IP 주소를 변환시켜서 통신을 수행한다.

  • 하둡(Hadoop)
    : 하둡(Hadoop)은 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 셋을 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임 워크이다. 구글, 야후 등에 적용한 기술이다.
    • 하둡 분산 파일 시스템(HDFS) : 대용량 차일을 분산된 서버에 저장하고, 그 저장된 데이터를 빠르게 처리할 수 있게 한다.
    • 맵리듀스(Map Reduce) : 대용량 데이터 셋을 분산 병렬 컴퓨팅에서 처리하거나 생성하기 위한 목적으로 만들어진 소프트웨어 프레임워크로, 모든 데이터를 키-값 쌍으로 구성하고 데이터를 분류한다.
  • 이상 현상의 종류 (삽삭갱)
    • 삽입 이상 : 데이터 삽입 시 불필요한 데이터가 함께 삽입되는 현상
    • 삭제 이상 : 한 튜플을 삭제할 때 연쇄 삭제 현상
    • 갱신 이상 : 갱신 시 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
  • 프로세스 상태 전이
    생성 → 준비 → 실행 (→ 대기 → 준비 → 실행) → 완료

  • 테스트 오라클 (참샘휴일 : 좀만 내일 휴일임)
    • 참(True) 오라클 : 모든 입력값에 대해 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클
    • 샘플링(Sampling) 오라클 : 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클
    • 휴리스틱(Heuristic) 오라클 : 샘플링 오라클을 개선한 오라클로, 나머지 값들에 대해 추정으로 처리하는 오라클
    • 일관성 검사(Consistent) 오라클 : 애플리케이션 변경이 있을 때, 수행 전과 후의 결괏값이 동일한지 확인하는 오라클
  • 유닉스(Unix)
    : 유닉스는 데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제이다.

  • SW 개발 보안의 3대 요소 (보안을 위한 무기가)
    • 기밀성 : 인가되지 않은 사용자의 접근에 따른 정보 공개 및 노출을 차단하는 특성
    • 무결성 : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성을 보장하고 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
    • 가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성