자료 표현 방식

  • 비트(Binary Digit)
    • 컴퓨터 자료 표현의 최소 단위이며, 하나의 2진수 값(0 or 1)을 가진다.
  • 니블(Nibble)
    • 4개의 비트가 모여서 구성
  • 바이트(Byte)
    • 8개의 비트 또는 2개의 니블이 모여서 구성
    • 문자 표현의 최소 단위
    • 영문자, 공백문자, 숫자 한개를 표현하는 데는 1바이트가 필요
    • 한글, 특수문자, 한자 한개를 표현하는데 2바이트 필요
  • 필드(Field)
    • 데이터베이스의 테이블에서 하나의 열을 의미하며 항목 이라고도 한다.
  • 레코드(Recored)
    • 하나 이상의 필드가 모여서 구성하며 자료 처리의 기본 단위
    • 보통 데이터베이스 테이블에서 하나의 행을 의미하며 튜플이라고도 한다.

 

스택(Stack)

  • 데이터를 저장하는 기억 장치가 한쪽으로만 입구와 출구가 있다.
  • 데이터의 삽입과 삭제가 한쪽에서만 일어나는 자료 구조
  • 데이터가 저장될 때 입력된 데이터의 위치를 스택 포인터가 가리킴
  • 스택 포인터는 데이터가 입력(push)될 때마다 1씩 증가하며 스택 크기보다 큰 값을 갖게 되면 데이터를 더 이상 기억할 수 없는 오버플로우(Overflow) 상태
  • 스택에 데이터가 출력(Pop)될 때에는 1씩 감소하며 저장된 데이터가 없을 경우에는 스택 포인터는 0값을 기억
  • 데이터의 삽입과 삭제가 같은 쪽에서 이루어지는 구조
  • 나중에 입력된 데이터가 먼저 출력하는 메모리 사용 구조
  • 스택은 가장 나중에 삽입된 데이터가 가장 먼저 삭제되므로 후입 선출(LIFO) 구조
  • 재귀적 함수를 호출 할 때 사용

큐(Queue)

  • 한쪽 방향으로 데이터가 삽입되고 반대 방향으로 데이터가 삭제되는 데이터 구조
  • 큐는 가장 먼저 삽입된 데이터가 가장 먼저 삭제되므로 선입 선출(FIFO) 구조
  • 데이터를 저장하는 기억 장치가 양쪽으로 있으며 한쪽으로는 입구, 다른 한쪽으로는 출구가 있다.
  • 데이터가 저장될 때 입력된 데이터의 위치를 삽입 포인터가 가리키고 있고 출력된 데이터는 삭제 포인터가 가리키고 있다. 
  • 일상 생활에서 응용으로 은행에서 번호표 서비스에 가장 적합한 자료 구조
  • 인터넷에서 동영상을 실시간으로 받아보는 스트리밍 서비스에서 사용하는 버퍼도 큐 구조를 가진다.

웹 서버(Web Server)

  • 웹 브라우저의 요청을 받아 HTML 문서 파일이나 이미지, 자바스크립트의 정적 데이터를 제공한다.
  • 대표적인 웹 서버로 Apache, IIS 등이 있다.

웹 응용 서버(Web Application Server)

  • 서버에서 응용 프로그램이 동작할 수 있는 환경을 제공한다.
  • 안정적인 트랜잭션 처리 및 관리, 서로 다른 시스템 사이에서 응용 프로그램 연동을 지원
  • 웹 서버는 정적 데이터를 서비스하고 웹 응용 서버는 동적 데이터를 서비스 한다.

트랜잭션(Transaction)

  • 쪼갤 수 없는 작업 처리의 최소 단위
  • 작업 단위, 처리단위 처리동작 등으로 해석
  • 상점에서 고객의 주문이나 판매되는 것과 같은 하나의 사건을 말하며 은행에서 입금, 조회, 출금 등과 같은 하나의 작업을 트랜잭션이라 한다.

빌드 자동화 도구

  • 제품 소프트웨어의 실행 파일을 자동으로 만들어 주는 도구
  • 빌드 자동화 도구는 지속적인 통합 개발 환경에서 유용하게 활용
  • 실행 파일을 한번 만들어 놓고, 새롭게 추가되는 프로그램이 있으면 자동으로 실행 파일에 추가
  • 실행 파일 생성을 자동화하기 위하여 저장소에 있는 프로그램 소스 코드를 자동으로 가져와 실행 파일을 만드는 도구
  • 자주 반복해서 최종 결과물을 만들어내야 하는 개발자 입장에서는 빌드 도구는 반드시 필요한 도구
  • 빌드 자동화 도구 종류는 Ant, Gradel, Jenkins  등이 있다.

소켓(Socket)

  • 인터넷 서비스 프로그램은 고유의 프로그램 번호가 있는데 이것을 포트(Port)라고 한다.
  • 포트는 컴퓨터 통신에서 서버 컴퓨터에 연결해주는 일종의 접속점으로 정보의 출입구 역할을 하는 곳
  • 소켓은 포트를 사용할 수 있도록 개방하거나 닫는 역할을 한다.
  • 데이터를 보내거나 받기 위해서는 반드시 소켓을 열어서 소켓에 데이터를 써 보내거나 소켓으로부터 데이터를 읽어드려야 한다.

스레드 풀(Thread Pool)

  • 프로세스는 하나의 프로그램이 메모리에 적재되어 실행될 때를 프로세스라고 한다.
  • 스레드는 하나의 프로세스를 여러 개의 조각으로 나눈 단위
  • 컴퓨터 시스템의 자원을 효과적으로 사용하여 성능을 배가시키기 위해서는 스레드를 사용한다.
  • 스레드는 빈번하게 생성되었다가 삭제된다. 
  • 삭제되는 스레드들을 잠시 보관했다가 재사용할 수 있게 만든 공간을 스레드 풀이라고 한다.

힙 메모리(Heap Memory)

  • 힙은 대량의 메모리를 할당하고 회수하는데 힙 메모리를 가리키는 지시자에 의해 동적으로 동작한다.
  • 스택은 소량의 메모리를 선입선출 방식으로 할당과 회수를 수행한다.

'자격증 > 정보처리기사' 카테고리의 다른 글

1. 소프트웨어 설계(필기)  (0) 2023.11.20
2-5 인터페이스 구현  (0) 2023.11.17
1-3 애플리케이션 설계  (0) 2023.11.15
1-2 요구사항 확인  (0) 2023.11.14
1-1 소프트웨어 종류 및 개발 방법론  (0) 2023.11.13