정보처리기사 실기 노트

3 minute read

간단히 끄적여보는 정보처리기사 실기 정리 노트이다.

  1. ARP (Address Resolution Protocol)
    • 네트워크 계층에 있는 프로토콜
    • IP 주소를 물리적 주소로 변환시켜줌
  2. RARP (Reverse Address Resolution Protocol) 네트워크 계층에 있는 프로토콜
    • 네트워크 계층에 있는 프로토콜
    • 물리적 주소에 해당하는 IP 주소를 알려줌
  3. 설계의 종류 물리적 설계 결과로 테이블 정의서, 명세서 등이 있음 개념적 설계 결과로 E-R 다이어그램이 나옴 논리적 설계 과정에서 정규화 과정 수행함

  4. WSDL (Web Services Description Language)
    • 웹 서비스가 제공하는 서비스에 대한 정보를 기술하기 위한 XML 기반의 마크업 언어
    • 웹 서비스 인터페이스 정의 부분과 웹 서비스 구현 부분으로 구성됨
  5. 소프트웨어 개발 요구사항
    • 요구사항: 소프트웨어를 사용할 고객 또는 그것의 개발과 관계되는 사람들이 출시 될 소프트웨어에 대해 바라는 모든 것들, 소프트웨어 프로세스의 시작점은 요구사항을 파악하고 분석하는 것이다.
    • 기능적 요구사항은 시스템이 제공하는 기능 또는 서비스에 대해 상세하게 기술된 요구사항
    • 비기능적 요구사항은 시스템 속성이나 시스템에 의해 제공되는 서비스나 기능에 대한 제약사항에 대해 기술된 요구사항
  6. IPv4 & IPv6 IPv4 주소 체계는 숫자로 구성된 IP주소로 현재 네트워크 IP 주소 체계에 사용된다. 예. 255.255.255.255 이런식으로 점으로 구분되어 각 수가 0~255의 값을 가질 수 있다. IP주소는 32bit 체계이며, 8bit씩 4개의 옥텟으로 구성된다.

IPv6는 128bit 주소 체계인데 기존의 32bit의 IPv4보다 4배나 많은 정보를 수용할 수 있다. 16비트씩 8부분으로 16진수로 표시한다. 예. 2001:0230:avcd:ffff:0000:0000:ffff:1111

  1. IPC (InterProcess Communication) IPC는 프로세스들 사이에 서로 데이터를 주고 받는 행위나 방법을 말한다. 다음과 같은 방법/경로가 존재한다.
    • Shared Memory: 다수의 프로세스가 공유 가능한 메모리를 구성하여 통신
    • Socket: 네트워크 소켓을 이용하여 네트워크를 경유하는 프로세스들 간 통신
    • Semaphores: 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신
    • Pipes/Names Pipes: Pipe라고 불리는 선입선출 형태로 구성된 메모리를 통하여 통신
    • Message Queueing: 메시지가 발생하면 이를 전달하는 형태로 프로세스들 간 통신
  2. 디자인 패턴은 주로 객체지향 프로그래밍 언어로 소프트웨어 개발할 때에, 특정 상황에서 자주 나타나는 문제를 해결하기 위해 수많은 개발자가 쌓아온 솔루션이다. 한마디로 말해, “어떠한 문제가 발생하는 상황이 있는데, 이런 방법으로 해결한다”로, 어떠한 문제를 해결하기 위해 존재하는 것이 디자인 패턴이다. 디자인 패턴은 문제 해결의 목적을 가지고 3가지 형태로 분리된다.
  • 생성 패턴 (Creational Pattern): “객체를 어떻게 생성할 것인가?”

  • 구조 패턴 (Structural Pattern): “생성된 객체들을 어떻게 조합/합성할 것인가?”

  • 행동 패턴 (Behavioral Pattern): “객체들이 어떻게 상호작용하고 어떻게 책임을 가져가는가?”

  1. NAT (Network Address Translation) 말 그대로 네트워크 주소 변환을 해주는 기술이다. IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP주소를 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술이다. NAT는 라우터에서 동작하는데, 내부망에서는 사설 IP 주소를 사용하여 통신을 하고, 외부망과의 통신시에는 NAT를 거쳐 공인 IP 주소로 자동 변환한다. NAT를 이용하는 이유는 대게 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.

  2. 데이터베이스 이상 (Anomaly) 이상이란 릴레이션에서 일부 속성들의 종속이나 데이터의 중복으로 인해 데이터 조작시 불일치가 발생하는 것을 말한다. 즉, 테이블을 설계할 때, 잘못 설계하여 데이터를 삭제, 수정, 삽입할 때 논리적으로 오류가 생기는 것이다. 대부분의 이상현상은 데이터 중복성 때문인데, 이를 제거하는 과정이 정규화이다.

  3. 리팩토링
    • 결과의 변경 없이 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것
  4. 데이터베이스 스키마란? 데이터베이스의 구조와 제약조건에 대한 명세를 기술한 것

  5. 회귀 테스트 (Regression Testing) 회귀 테스트는 프로그램의 변경이 기존 기능에 나쁜 영향을 미치지 않았는지 확인하는 소프트웨어 테스트 유형이다. 회귀 테스트는 이미 수행된 테스트 케이스를 전체 또는 부분 선택하여 수행한다.

  6. Pair-wise Testing Pair-wise 테스트는 조합 테스트(Combination Testing)의 한 방법으로써, 각 테스트 데이터 값들 간에 최소한 한번씩을 조합하여 테스트한다.

  7. SOAP (Simple Object Access Protocol) HTTP/HTTPS/SMTP 등을 통해 XML 기반의 메시지를 네트워크 상 교환하는 프로토콜이다. 웹 서비스에서 기본적인 메시지를 전달하는 기반이 된다.

  8. 트랜잭션 트랜잭션(Transaction)은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위, 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다. 트랜잭션 연산으로 commit과 rollback이 있다.

Commit: 한개의 논리적 단위(트랜잭션)에 대한 작업이 성공적으로 끝났고 데이터베이스가 다시 일관된 상태에 있을 때, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산이다.

Rollback: 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 꺠뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도, 트랜잭션의 원자성을 구현하기 위해 이 트랜잭션이 행한 모든 연산은 취소(Undo)하는 연산이다. Rollback을 하면 해당 트랜잭션을 재시작하거나 폐기한다.

  1. 선언형 언어 vs 명령형 언어
    • 선언형 언어는 프로그램이 수행해야 할 문제를 기술하는 언어 (가독성과 재사용성이 좋음)
    • 명령형 언어는 문제를 해결하기 위한 방법을 기술하는 언어
  2. UML (Unified Modeling Language) 객체지향 모델링 언어로써 구성 요소에는 사물, 관계, 다이어그램 등이 있다. 사물 (Things) - 구조 사물, 행동 사물, 그룹 사물, 주해 사물 관계 - 연관, 집합, 포함, 일반화, 의존, 실체화 다이어그램 - 구조적 다이어그램(클래스, 객체, 컴포넌트, 배치, 복합체 구조, 패키지), 행위 다이어그램(유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍)

Updated:

Leave a comment