오답노트(모의고사 4회)

강신찬·2023년 7월 2일
0

UML의 구성요소

  • 사물, 관계, 다이어그램 3가지로 이루어져있으며,
  • Things은 사물, Relationship은 관계, Diagram은 다이어그램입니다.
UML은 띵다리~로 외우세요
UML은 뒷다리로 쏙~♬외우세요 팔딱팔딱 개구리 됐네~~
뒷(Thing)
다(Diagram)
리 Relationship)

EAI(Enterprise Application Integration)

  • 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴

FEP(Front-End Processor)

  • 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어

GPL(General Public License)

  • 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스

Duplexing

  • 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)

  • 이중통신(duplex) 또는 쌍방향 통신은 두 지점 사이에서 정보를 주고 받는 전자 통신 시스템을 말한다. 이중 통신을 할 때 전송 방향마다 두 개의 통신 선호를 사용하면 단순하지만 전송로를 아끼기 위해 여러 종류의 전송 방식이 쓰인다.

버블 정렬

  • 첫위치부터 시작해서 오른쪽값과 비교
  • 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
96 비교 -> 69735 -> 97비교 -> 67935 -> 93비교 -> 67395 -> 95비교 -> 67359

퀵 정렬

  • 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬하는 방식

삽입정렬

  • 가장 간단한 정렬 방식, 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬

쉘 정렬

  • 삽입정렬 확장 개념, 입력파일을 매개변수값으로 서브파일 구성하고 각 서브파일을 삽입정렬 방식으로 순서 배열하는 과정을 반복하는 정렬

선택정렬

  • n개의 레코드 중에서 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 n-1개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하는 정렬

힙 정렬

  • 전이진 트리를 이용한 정렬 방식

2-Way 합병 정렬

  • 이미 정렬되어 있는 두 개의 파일을 한 개의 파일로 합병하는 정렬 방식

기수 정렬

  • 레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬

파티셔닝 - 병렬 데이터베이스 환경 중 수평분할에서 활용되는 분할 기법

  • 파티셔닝의 유형에는
    • range
    • hash
    • list
    • composite
    • round robin

자동반복 요청방식(ARQ: Automatic Repeat reQuest)

Stop-and-Wait ARQ(정지-대기 ARQ)

  • 송신 측이 하나의 블록을 전송한 후 수신 측에서 에러의 발생을 점검한 다음, 에러 발생 유무 신호를 보내올 때까지 기다리는 방식

Go-Back-N ARQ

  • 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록부터 모두 재 전송

Selective-Repeat ARQ(선택적 재전송 ARQ)

  • 여러 블록을 연속적으로 전송하고, 수신측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록만을 재전송

Adaptive ARQ(적응적 ARQ)

  • 전송 효율을 최대로 하기 위해서 데이터 블록의 길이를 채널의 상태에 따라 동적으로 변경하는 방식

Working Set

  • 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합

Locality

  • 어느 한순간에 특정 부분을 집중적으로 참조

Thrashing

  • 지나치게 페이지 부재가 발생함으로 인하여 전체 시스템의 성능이 저하되는 현상

Deadlock

  • 교착상태. 두 개 이상의 작업이 서로 작업이 끝나기 만을 기다리고 있는 것

LRU(Least Recently USed) 알고리즘

  • LRU알고리즘은 가장 오랫동안 사용하지 않은 페이지를 교체
  • 결함 : 주기억장치의 페이지가 변동 되는것

BLP 기밀성 모델 - Bell-Lapadula Model

  • 정보의 불법적인 파괴나 변조보다는 불법적인 비밀 유출 방지에 중점
  • 기밀성 강조

Clark-Wilson 무결성 모델 - Clark-Wilson Integrity Model

  • 비밀 노출 방지보다 자료의 변조 방지가 더 중요함(금융, 회계관련 데이터, 기업 재무재표 등)

Chinese Wall Model

  • 충돌을 야기시키는 어떠한 정보의 흐름도 없어야 한다. 이익의 충돌 금지, 최근 일을 한 적 있는 파트너는 동일 영역에 있는 다른 회사 자료에 접근해서는 안된다.

암호화 방식

단방향

  • 해시
    • 종류
      • SHA, MD5, N-NASH, SNEFRU 등
    • 특징
      • 임의의 길이의 입력 데이터나 메시지를 고정 길이의 값이나 키로 변환
      • 암호화, 무결성 검증을 위하여 사용

양방향

  • 개인키 (암호화, 복호화 시 동일한 개인키를 이용)

    • 종류

      • Stream 방식 (평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화)
        • LFSR, RC4
      • Block 방식 (한 번에 하나의 데이터 블록을 암호화)
        • DES, SEED, AES, ARIA
    • 특징

      • 암호화/복호화 속도가 빠르며, 알고리즘이 단순, 공개키 암호 기법보다 파일 크기가 작음
      • 사용자의 증가에 따라 관리해야 할 키의 수가 상대적으로 많아진다
  • 공개키 (암호화 시 사용자에게 공개되는 공개키 사용, 복호화 시 비밀키 사용, 비대칭 암호 기법이라고도 함)

    • 종류

      • RSA
    • 특징

      • 키의 분배가 용이하고, 관리해야 할 키 수가 적음
      • 암호화/복호화 속도가 느리며 알고리즘이 복잡, 개인키 암호화 방법보다 파일의 크기가 크다.

MQTT 프로토콜

  • IBM 개발
  • 발행/구독 프로토콜
  • TCP/IP를 통해 실행되어 기본 네트워크 연결을 제공
  • TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜

MLFQ(=MFQ)(Multi Level Feedback Queue)

  • 짧은 작업이나 입출력 위주의 프로세스에 우선순위를 부여하는 선점형 스케줄링 기법

Zigbee

  • 홈 네트워크 및 무선 센서망에서 사용되는 기술로, 버튼 하나의 동작으로 집안 어느 곳에서나 전등 제어 및 홈 보안 시스템을 제어관리하는 가정 자동화를 목표로 출발하였음.

PLCP(Physical Layer Convergence Procedure : 물리계층 수렴 처리)

  • 논리적인 802.11 MAC 부계층과 물리적인 특성을 연결하는 역할
  • 802.11 MAC 부계층이 물리적 특성에 관계없이 동작하도록 함

Traffic Distributor

  • 네트워크 통신 간에 트래픽을 분배해주는 솔루션

DPI

  • 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보를 분석하는 컨텐츠 내용 분석 기술
  • 네트워크 보안, 관리, 컨텐츠 관리 등이 목적
  • OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술

    단어의 정의를 몰라도 하나씩 뜯어보면 Deep(내부) Packet Inspection(분석)으로 유추 가능

요구 분석(Requirement Analysis)

기능적 요구사항

  • 시스템이 수행해야 하는 행위들을 구체화 한 것
  • 시스템에서 제공해야 할 기능을 정의한 것
  • 입력기능, 출력기능, 데이터베이스 기능, 통신 기능 등

비기능적 요구사항

  • 시스템이 가져야 하는 기능 이외의 요구사항
  • 시스템의 전체적인 품질이나 고려해야 하는 제약사항 등
  • 사용 용이성, 효율성, 신뢰성, 이식성, 유연성, 확장성 등
  • 성능적인 면: 응답 속도, 자원 사용량 등
  • 보안 측면: 침입 대응, 침입 탐지, 사용자 인증, 권한 부여 등

워크스루

  • 요구사항 명세서 작성자를 포함하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견

인스펙션

  • 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견.

DML(데이터 조작어)

  • SELECT
  • INSERT
  • DELETE
  • UPDATE

DDL(데이터 정의어)

  • CREATE
  • ALTER
  • DROP

DCL(데이터 제어어)

  • GRANT
  • REVOKE
  • COMMIT
  • ROLLBACK
  • SAVEPOINT

배치 프로그램의 필수 요소

  • 대용량 데이터
  • 자동화
  • 견고성
  • 안정성
  • 성능

응집도

  • 연적
    • 서로 관련없는 요소로만 구성
  • 리적
    • 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈 형성
  • 간적
    • 특정 시간에 처리되는 몇개의 기능을 모아 모듈로 구성
  • 차적
    • 모듈 안 구성요소들이 기능을 '순차적'으로 수행
  • 차적
    • 활동을 통해 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용하는 경우
  • 환적
    • 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우
  • 능적
    • 모든 기능 요소가 단일 문제와 연관되어 수행될 경우

우리 논산시절 기억나 순대와 교자 기대했는데..

프로세스의 상태 종류

  • 보류 (pending)
  • 준비 (ready)
  • 실행 (running)
  • 대기 (blocked)
  • 교착 (deadlock)
  • 완료 (terminated)

페이징 기법

  • 컴퓨터가 메인 메모리에서 사용하기 위해 데이터를 저장하고 검색하는 메모리 관리 기법
  • 페이징기법을 통해 물리적 메모리는 연속적으로 할당되어 존재할 필요가 없음
  • 페이징기법을 통해 비연속적 메모리를 연속적메모리처럼 만들 수 있음

페이지 크기가 작은경우

  • 더 많은 페이징 사상테이블 필요
  • 내부 단편화 감소
  • 페이지의 집합을 효율적으로 운영가능
  • 기억장치의 효율이 좋음
  • 총 입출력 시간 증가

페이지크기가 큼

  • 주기억 장치 공간 절약
  • 참조되는 정보와 무관한 양의 정보가 주기억 장치에 남게 됨
  • 테이블이 복잡하지 않아 관리 용이

Stack Protection

  • Stack Overflow를 탐지하고 보안을 강화시키는 기법

Stack Guard

  • Stack 상에 일정한 주소번지에 프로그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하여 프로그램이 비정상적으로 종료 시키는 기법
    • 카나리(Canary 또는 Canaries)
      • buffer와 SFP 사이에 buffer overflow를 탐지하기 위한 특정 값(canary value)를 삽입하는 기법
      • Canary 종류
        • terminator, random, random XOR (스택가드는 canary 세 가지 모두를 지원)
      • ProPolice 종류 : terminator와 random
      • StackGuard와 ProPolice는 (함수 포인터들을 오버플로우하는) 자동으로 할당된 구조체들에서 오버플로우를 방어하지 못한다.

Stack Shield

  • 함수의 리턴주소를 복사하여 실제 리턴주소를 참조하지 않고 함수를 리턴해주는 기법

Syslog

  • 시스템에서 로그메시지를 처리하기 위해서 제공

Recovery Control

  • 부적절한 사건/상황으로 인해 발생한 피해를 극복, 장애/혼란을 정돈하고 정상상태로 회복

CBD Component-Based Development의 약자, 컴포넌트 기반 방법론

  • 기존의 시스템이나 소프트웨어를 구성하는 "컴포넌트를 조합"하여 하나의 새로운 어플리케이션을 만드는 방법론

CBD 방법론의 개발 공정

요구파악 단계

  • 요구사항 기술서, 용어 사전, 개념 모델, 유즈케이스 모델

분석 및 설계

  • 객체 모델, UI 설계서, 아키텍처 기술서, 인터페이스 명세서, 컴포넌트 명세서, 컴포넌트 설계서, 데이터베이스 설계서

구현

  • 개발 표준 정의서, 플랫폼 종속적 코드

테스트

  • 테스트 계획서, 컴포넌트 테스트 보고서, 통합 테스트 보고서, 인수테스트 보고서

구조적 방법론

  • 정형화된 분석절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론

객체지향 방법론

  • 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 소프트웨어를 개발할 때 기계의 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론

정보공학 방법론

  • 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료중심의 방법론

컴포넌트기반 방법론

  • 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론

접근통제 기술-MAC/ DAC/ RBAC

MAC:강제 (Mandatory) 접근통제

  • 접근통제권한은 시스템이 지정
  • 주체와 객체의 등급을 비교하여 권한부여

DAC:임의 (Discretionary) 접근통제

  • 접근통제권한은 데이터소유자가 지정 및 제어
  • 데이터에 접근하는 사용자의 신원에 따라 권한부여
  • 부여된 권한을 다른 사용자에게 허가 가능
  • 관련 SQL 명령어: GRANT/ REVOKE

RBAC:역할기반 (Role Based) 접근통제

  • 접근통제권한은 중앙관리자가 지정
  • 사용자의 역할에 따라 권한부여
  • 임의+강제 접근통제의 단점보완
  • 다중프로그래밍환경에 최적화

Cipher Container

  • 자바에서 암호화 복호화 기능을 제공하는 컨테이너

Scytale

  • 암호화 기법으로 단순하게 문자열의 위치를 바꾸는 방법

SPICE 모델

  • 0단계 불안정 (구현 전 or 목적 달성 전)
  • 1단계 수행 (목적이 전반적으로 이뤄짐)
  • 2단계 관리 (작업 산출물 인도)
  • 3단계 확립(공학 원칙을 지킴)
  • 4단계 예측(산출물의 양적 측정이 가능해져, 일관된 수행 가능)
  • 5단계 최적화(지속적으로 업무 목적 만족)

랜섬웨어

  • 임의로 시스템을 잠그거나 혹은 데이터를 암호화하여 사용할 수 없게 한 다음 이를 빌미로 돈을 요구하는 기법.

파밍

  • 홈페이지 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한 다음 개인정보를 탈취하는 기법.

피싱

  • 메일 등으로 공공기관이나 금융기관에서 보낸 것처럼 위장하여 사용자에게 계좌번호, 카드번호의 비밀번호를 빼내는 기법. 대표적으로 스미싱이 있습니다.

xss

  • 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격을 유발
profile
꾸준히 공부하는 풀스텍 개발자

0개의 댓글