정보처리기사 요약
Post

정보처리기사 요약

약술형

SDLC (소프트웨어 생명주기) : 소프트웨어 생명주기는 시스템의 요구분석부터 유지보수까지 전 공정을 체계화한 절차이다.

기능 점수 :요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식이다

PERT : 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정 관리하는 기법

소프트웨어 아키텍처 : 소프트웨어 구성요소와 구성요소 간의 관계를 표현하는 시스템의 구조이다

소프트웨어 아키텍처 패턴 : 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결 방식이다

프로세스 : 운영체제가 관리하는 실행단위로 프로세서에 의해 처리되는 PCB를 가진 시스템 프로그램

팩토리 메서드 : 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고 하위 클래스에서 인스턴스를 생성하도록 하는 방식

앱스트랙트 팩토리 : 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴

인터프리터 패턴 : 구체적으로 구문을 나누고 그 분리된 구문의 해석을 맡는 클래스를각각 작 성하여 여러 형태의 언어 구문을 해석하게 만드는 디자인 패턴

운영체제 : 하드웨어, 소프트웨어를 사용할 수 있게 해 주고, 컴퓨터 사용자와 컴퓨터 하드 l nl

배치 작업 : 일련의 작업을 하나의 작업 단위로 묶어서 일괄로 처리하는 작업

네트워크 : 원하는 정보를 원하는 ㅡ 연결해 주는 응용 프로그램 인터페이스이다
​ 미들웨어 : 응용 소프트웨어가 운영체제로부터 받 는 서비스 이외에 추가적으로 이용할 수 있는 서비스를 제공하는 소프트웨어이다

WAS : 다른 이기종 시스템과의 애플리케이션 연동을 지원하는 서버이다

요구공학 : 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동이다

XML : html의 한계를 극복하는 특수한 목적을 갖는 다목적 마크업 언어이다

UML : 객체지향 소프트웨어 개발 과정에서 산출물을 명세화 , 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해 만든 표준화된 범용 모델링 언어이다!
​ ​
​ Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고, 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술이다

SSO : 한번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 기술

UI : 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체이다


UX : 제품과 시스템, 서비스 등을 사용자가 직/간접적으로 경험하면서 느끼고 생각하는 총체적 경험을 의미한다

유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 한다는 원칙

인터랙션 : 입출력장치 를 매개로 디지털 시스템과 사람이 주고받는 일련의 의사소통 과정이다

스크럼 : 애자일 방법론 중 매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론이다

스프린트 : 스크럼 방법론에서 2-4주의 짧은 개발 기간으로 반복적 수행을 통해 개발품질을 향상시키는 프로젝트 수행법이다

스토리보드 : 와이어프레임, 프로세스, 정책, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 개발자와 디자이너가 참고하는 산출 문서

프로토타입 : 요구사항을 좀 더 잘 이해하고 결정하기 위하여 전체적인 기능을 간략한 형태로 구현한 시제품이다

인스턴스 : 객체지향 프로그래밍에서 해당 클래스의 구조로 컴퓨터 저장 공간에서 할당된 실체

스위치 : 2계층 장비로서 동일 네트워크 내에서 출발지에 들어온 데이터 프레임을 목적지 MAC 주소 기반으로 빠르게 전달하는 네트워크 장비이다 나

게이트웨이 : 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 네트워크 장비이다

시퀀스 다이어그램 : 시스템의 동적 행위를 표현하고 객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램이다

XP : 의사소통을 개선하여 피드백으로 품질을 향상하고 1-3주의 반복 개발 주기를 갖는 방법론이다

JDBC : 자바에서 데이터베이스를 사용할 수 있도록 연결해 주는 응용 프로그램 인터페이스이다

활동 다이어그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리 흐름을 순서대로 표현하는 다이어그램이다

커뮤니케이션 다이어그램 : 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하고, 객체 간의 연관 관계까지 표현하는 다이어그램이다

데이터 흐름도(DFD) : 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림으로, 시스템 분석과 설계에서 매우 유용하게 사용되는 다이어그램이다

사용성 테스트 : 사용자가 직접 제품을 사용하면서 미리 작성된 시나리오에 맞추어 과제를 수행한 후 질문에 답하는 테스트이다

데이터 모델 : 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다

정규화 : 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실분해하는 과정이다

반 정규화 : 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리를 수행하는 데이터 모델링 기법이다

이상현상 : 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상이다

클러스터 : 대상이 되는 범위의 요소를 몇 개 모은 단위체이다

파티션 : 대용량의 테이블을 작은 논리단위로 나누어 성능저하 방지 및 관리를 상대적으로 용이하게 하고자 하는 기법

데이터베이스 : 다수의 사용자, 프로그램, 시스템 등에서 사용할 목적으로 통합하여 관리하는 데이터의 집합이다

빅데이터 : 시스템, 서비스, 조직 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트 크기의 비정형 데이터이다

맵 리듀스 : 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작한 소프트웨어 프레임워크이다

NOSQL : 전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요없고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이다

데이터마이닝 : 대규모 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다

온톨로지 : 실세계에 존재하는 개념들과 속성, 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스이다

ERD : 업무 분석 결과로 도출된 실체와 개체 간의 관계를 도식화한 다이어그램이다

HDFS : 대용량 데이터의 집합을 처리하는 응용 프로그램에 적합하도록 설계된 하둡 분산 파일 시스템이다

개체 정의서 : 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서이다

WSDL : 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어이다

SOAP : HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다

스키마 : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조이다

커넥션 풀 : 데이터베이스와 연결된 커넥션을 미리 만들어서 풀 속에 저장해 두고 필요할 때 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법이다

API : 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스이다

소켓 : 네트워크를 경유하는 프로세스 간 통신의 접속점으로 클라이언트와 서버 프로그램 사이에 데이터를 송수신하는 방식

오브젝트 : 저장공간에서 할당되어 값을 가지거나 식별자에 의해 참조되는 공간이다

EAI : 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해 주는 솔루션이다

느슨한 결합 : 특정 서비스를 변경하더라도 연결된 다른 서비스에는 영향을 주지 않는 유연한 구조라는 의미이다

ESB : 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처이다

웹 서비스 : 네트워크에 분산된 정보를 서비스 형태로 개방하여 표준화된 방식으로 공유하는 기술이다

UDDI : WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준이다

REST : HTTP URI를 통해 자원을 명시하고 HTTP 메서드를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용하는 것

테스트케이스 : 명세 기반 테스트의 설계 산출물로, 설계된 입력값, 실행조건, 기대 결과로 구성된 테스트 항목의 명세서를 말한다

JSON : 속성-값 쌍, 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다

델파이 기법 : 전문가들의 의견수립, 타협, 중재의 방식으로 반복적인 피드백을 통한 하향식 의견 도출 방법으로 문제를 해결하는 기법이다

FTP : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜이다

컴포넌트 : 특정한 기능을 수행하기 위해 독립적으로 개발되어 보급되는 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어 프로그램이다

AJAX : 자바스크립트를 사용한 비동기 통신기술로, 클라이언트와 서버 간의 XML 데이터를 주고받는 기술이다

프로시저 : SQL를 이용해 생성된 데이터를 조작하는 프로그램으로 데이터베이스 내부에 저장되고 일정한 조건이 되면 자동으로 수행된다

배치작업 : 실시간 작업의 반대 개념으로 일련의 작업을 하나의 작업 단위로 묶어서 일괄 처리하는 작업이다

스니핑 : 공격대상에게 직접적인 공격을 가하지 않고 데이터만 몰래 들여다보는 수동적 공격기법이다

API 암호화 기법 : 애플리케이션 레벨에서 암호모듈을 적용하는 애플리케이션 수정 방식

Plug-in 암호화 기법 : 암복호화 모듈이 DB서버 내에 설치된 방식

TDE 암호화 기법 : DB서버의 DBMS 커널이 자체적으로 암복호화 기능을 수행하는 방식

IPSec : 3계층에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜이다

제니퍼 : 애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해 주는 APM 소프트웨어이다

열거체 : 서로 연관된 정수형 상수들의 집합이다
3
구조체 : 사용자가 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 자료형이다

추상 클래스 : 미구현 추상 메서드를 한 개 이상 가지며, 자식 클래스에서 해당 추상 메서드를 반드시 구현하도록 강제하는 기능이다

컴파일러 : 고급언어를 기계어로 번역하는 프로그램으로 컴파일 방식의 언어는 모두 컴파일러가 필요하다

​ 인터프리터 : 소스코드를 한 줄씩 번역하여 실행할 수 있도록 하는 프로그램이다

트랜잭션 : 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자 하나의 논리적 기능을 수행하기 위한 작업의 기본 단위이다

병행 제어 : 다수 사용자 환경에서 여러 트랜잭션을 수행할 때 데이터베이스 일관성 유지를 위해 상호작용을 제어하는 기법이다

사용자 정의 함수 : 일련의 SQL 처리를 수행하고 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL이다

트리거 : 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다

옵티마이저 : SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해 주는 DBMS 내부의 핵심엔진이다

RBO : 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저이다

CBO : 통계 정보로부터 모든 접근 경로를 고려한 질의실행 계획을 선택하는 옵티마이저이다

힌트 : 실행하려 하는 SQL문에 사전에 정보를 주어서 SQL 문 실행에 빠른 결과를 가져오는 효과를 만드는 문법

베이스라인 : 개발 과정의 각 단계의 산출물을 검토, 평가, 조정, 처리 등 변화를 통제하는 시점의 기준

루틴 : 소프트웨어에서 특정동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임

DAO : 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체로 세부 내용 노출 없이 데이터를 조작하는 객체
​ DTO : 프로세스 사이에서 데이터를 전송하는 객체로 데이터 저장 및 회수 외에 다른 기능이 없는 객체이다

화이트박스 테스트 : 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식이다

MyBatis : 객체지향 언어인 자바의 관계형 DB 프로그래밍을 좀 더 쉽게 할 수 있게 도와주는 개발 프레임워크이다

모듈 : 모듈은 그 자체로 하나의 완전한 기능을 할 수 있는 독립된 실체이다

소프트웨어 형상 관리 : 소프트웨어 개발을 위한 전체 과정에서 모든 항목의 변경 사항을 관리하기 위한 활동이다

추상화 : 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려내는 기법이다

MVC 패턴 : 사용자 인터페이스로부터 비즈니스 로직을 분리하여 서로 영향 없이 쉽게 고칠 수 있는 패턴이다

JVM : 자바 바이트 코드를 실행할 수 있는 주체로 CPU나 운영체제 종류와 무관하게 동작하는 것을 보장하는 가상 머신

JDK : 자바 응용 소프트웨어 개발 키트

기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성

무결성 : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성

가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성

DoS 공격 : 시스템을 악의적으로 공격해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격이다

DDoS 공격 : 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법이다

DRDoS 공격 : 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로부터 다량의 응답을 받아서 서비스 거부가 되는 공격 기법이다

스푸핑 : 악의적인 목적으로 임의로 웹사이트를 구축해 일반 사용자의 방문을 유도한 다음 사용자의 시스템 권한을 획득한 뒤 정보를 빼가거나 사용자가 암호와 기타 정보를 입력하도록 속이는 해킹 수법이다

네트워크 스캐너 : 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 취약점을 탐색하는 공격 도구이다

사전 크래킹 : 시스템 또는 서비스의 ID와 패스워드를 크랙하기 위해서 ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격기법이다

레인보우 테이블 공격 : 패스워드 별로 해시 값을 미리 생성해서 테이블에 모아 놓고 크래킹 하고자 하는 해시 값을 테이블에서 검색해서 역으로 패스워드를 찾는 공격 기법이다

IP 스푸핑 : 침입자가 인증된 컴퓨팅 시스템인 것처럼 속여서 타깃 시스템의 정보를 빼내기 위해 본인의 패킷 헤더를 인증된 호스트의 IP 어드레스로 위조하여 타깃에 전송하는 공격 기법이다

ARP 스푸핑 : ARP 메시지의 주소를 변조하여 ACL을 회피하여 공격하는 기법이다

ICMP Redirect 공격 : 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격기법이다

트로이 목마 : 악성 루틴이 숨어 있는 프로그램으로 실행하면 악성 코드를 실행하는 프로그램이다

버퍼 오버플로우 공격 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터 를 입력하여 프로세스의 흐름을 변경시켜 악성 코드를 실행시키는 공격기법

스택가드 : 카나리라고 불리는 무결성 체크용 값을 삽입해 버퍼 오버플로우 발생 시 카나리 값을 체크하고 변할 경우 호출하지 않는 방식으로 대응

스택쉴드: global RET라는 특수 스택에 저장해 두고 함수 종료 시 저장된 값과 스택의 RET 값을 비교해서 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단한다

ASLR : 메모리 공격을 방어하기 위해 주소공간 배치를 난수화하고, 실행 시마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정주소 호출을 차단한다

APT 공격 : 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격기법

랜섬웨어 : 시스템의 파일들을 암호화하여 복호화할 수 없도록 하고 피해자에게 암호화된 파일을 인질로 삼아 몸값을 요구하는 악성 소프트웨어이다

이블 트윈 공격 : 무선 와이파이 피싱 기법으로 합법적인 와이파이 제공자처럼 행세하며 핫스팟 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격 기법이다

Tripwire : 크래커가 침입하여 시스템에 백도어를 만들어 놓거나 설정 파일을 변경해 놓았을 때 이러한 사실을 알 수 있게 분석하는 도구이다
​ ​
​ Tcpdump : 자신의 컴퓨터로 들어오는 모든 패킷의 내용을 도청할 수 있으며, 공격자에 대한 추적 및 공격 유형 분석을 위한 패킷 분석 시 활용할 수 있는 도구

DAC : 시스템에 대한 접근을 사용자/그룹의 신분 기반으로 제한하는 방법

MAC : 시스템 정보의 허용 등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템에 대한 접근을 제한하는 방법

RBAC : 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법

디피-헬만 : 최초의 공개키 알고리즘으로 이산대수의 계산이 어려운 문제를 기본 원리로 한다

RSA : 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘을 이용하는 공개키 암호화 알고리즘이다

ECC : 타원 곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘이다

AES : 128, 192, 256비트로 나누어지고 AES의 라운드 수는 10, 12, 14라운드로 분류되어 있는 대칭 키 암호화 알고리즘이다

ElGamal : 이산대수의 계산이 어려운 문제를 기본 원리로 하며, 전자서명과 데이터 암복호화에 함께 사용 가능한 알고리즘이다
​ SSL/TLS : 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜이다

Seven TouchPoint : 실무적으로 검증된 개발 보안 방법론 중 하나로써 SW 보안의 모범 사례를 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론이다

위협 : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위

취약점 : 위협이 발생하기 위한 사전 조건으로 시스템의 정보 보증을 낮추는데 사용되는 약점

디버깅 : 컴퓨터 프로그램이나 시스템의 정확성 또는 논리적인 오류(버그)를 검출하여 제거하는 과정이다

웹 방화벽(WAF) : 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안 장비로 SQL 인젝션, XSS 등과 같은 웹 공격을 탐지하고 차단하는 기능을 지녔다

네트워크 접근 제어(NAC) : 단말기 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션

방화벽 : 기업 내부, 외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단하는 시스템

UTM : 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템

VPN : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션이다

RTO : 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간

RPO : 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실 허용 시점

DRP : 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획

​ DRS : 재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보해 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터

BIA : 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석

PoD : ICMP 패킷을 크게 보내 다수의 IP 단편화 패킷이 발생하게 하고 수신 측에서 재조립하는 과정에서 많은 부하 발생 혹은 재조합 버퍼의 오버 플로우로 정상 서비스가 불가능하게 만드는 공격 기법이다

SYN 플러딩 공격 : 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격이다

테스트 케이스 : 테스트를 위한 설계 산출물로 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서

테스트 슈트 : 테스트 케이스를 실행환경에 따라 구분해 놓은 테스트 케이스의 집합이다

블랙박스 테스트 : 사용자의 요구사항 명세서를 보면서 수행하는 테스트이다

솔트 : 일방향 해시 함수에서 다이제스트를 생성할 때 추가되는 바이트 단위의 임의의 문자열이다

테스트 커버리지 : 프로그램의 테스트 수행 정도를 나타내는 값으로 테스트 수행의 완벽성을 측정하는 도구이다

기능 기반 커버리지 : 테스트 대상 애플리케이션의 전체 기능을 모수로 설정하고 실제 테스트가 수행된 기능의 수를 측정하는 방법이다

라인 커버리지 : 애플리케이션 전체 소스 코드의 라인 수를 모수로 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정하는 방법이다
​ 코드 커버리지 : 소스 코드의 구문, 조건, 결정 등의 구조 코드 자체가 얼마나 테스트되었는지를 측정하는 방법이다

세션 하이재킹 : TCP 신뢰성 기반의 연결을 이용한 공격 방법으로, 통신 내용을 엿보거나, 세션을 가로채어 정상적인 인증 과정을 무시하고 불법으로 시스템에 접근할 수 있는 공격이다

맥 케이브 순환 복잡도 : 제어 흐름의 복잡한 정보를 정량적으로 표시하는 기법이다 (브=에-노+이) / 원은 노드 / 화살표는 엣지

시큐어 코딩 : 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법이다

상태전이 테스트 : 테스트 대상/시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법

소스코드 최적화 : 읽기 쉽고 변경 및 추가가 쉬운 클린 코드를 작성하는 것으로 소스 코드 품질을 위해 기본적으로 준수해야 할 원칙과 기준을 정의

커널 : 하드웨어와 관련된 내부적인 역할을 담당

쉘 : 운영체계의 가장 바깥 부분에 위치해서 사용자 명령에 대한 처리를 담당하는 역할이다

윈도즈 : 그래픽 사용자 인터페이스 제공 / 선점형 멀티태스킹 방식 제공 / 자동감지 기능 제공 / OLE 제공
​ ​
​ ​ 유닉스 : 범용 다중 사용자 방식의 시분할 운영체제이다 다양한 시스템에 서로 이식할 수 있고, 멀티태스킹과 다중 사용자를 지원하도록 설계되었다 대화식 운영체제 기능 제공 / 다중 작업 기능 제공 / 다중 사용자 기능 제공 / 이식성 제공 / 계층적 트리 구조 파일 시스템 제공

리눅스 : 유닉스를 기반으로 개발되고, 소스 코드가 공개된 오픈 소스 기반의 운영체제이다

맥 : 애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제이다

CLI : 사용자가 직접 명령어를 입력, 컴퓨터에 명령을 내리는 방식

GUI: 마우스로 화면을 클릭하여 그래픽 위주로 컴퓨터를 제어하는 방식

chmod : 기존 파일 또는 디렉토리에 대한 접근 권한을 변경할 때 사용한다

메모리 관리 기법에는 반입 : 시기 / 배치 : 위치 / 할당 : 방법 / 교체 : 대상

디스패치 : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU를 할당한다

프로세스 상태 전이 : 디스패치 /타이머 런 아웃 / 블록 / 웨이크 업

서비스 시간 : 프로세스가 결과를 산출하기까지 소요되는 시간

선점형 스케줄링 : 하나의 프로세스가 CPU를 점유하고 있더라도 우선 순위가 높은 프로세스가 CPU를 사용 중인 프로세스를 중단시키고 점유하는 스케줄링 방식

비선점형 스케줄링 : 한 프로세스가 CPU를 할당받으면 작업 종료 후 반환하기 전까지는 다른 프로세스가 CPU를 점유할 수 없는 스케줄링 방식

가상화 : 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술이다

컴퓨팅 가상화 : 물리적으로 컴퓨터 리소스를 가상화하여 논리적 단위로 리소스를 활용할 수 있도록 하는 기술

스토리지 가상화 : 스토리지와 서버 사이에 소프트웨어/하드웨어 계층을 추가하여 스토리지를 논리적으로 제어 및 활용할 수 있도록 하는 기술

I/O 가상화 : 서버와 I/O 디바이스 사이에 위치하는 미들웨어 계층으로 서버의 I/O 자원을 물리적으로 분리하고 케이블과 스위치 구성을 단순화하여 효율적인 연결을 지원하는 기술

컨테이너 : 컨테이너화된 애플리케이션들이 단일 운영체제 상에서 실행되도록 해 주는 기술

분산처리 기술 : 여러 대의 컴퓨터 계산 및 저장 능력을 이용하여 커다란 계산문제나 대용량의 데이터를 처리하고 저장하는 기술

네트워크 가상화 기술 : 물리적으로 떨어져 있는 다양한 장비들을 연결하기 위한 수단으로 중계장치의 가상화를 통한 가상 네트워크를 지원하는 기술

클라우드 컴퓨팅 : 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술이다

사설 클라우드 : 기업 내부에 보유하고 있는 컴퓨팅 자원을 사용하여 내부에 구축되는 클라우드

공용 클라우드 : 클라우드 서비스 제공 업체에서 다중 사용자를 위한 컴퓨팅 자원 서비스를 제공하는 클라우드

인프라형 서비스 : 서버, 스토리지 같은 시스템 자원을 클라우드로 제공하는 서비스

플랫폼형 서비스 : 인프라를 생성, 관리하는 복잡함 없이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공하는 서비스

소프트웨어형 서비스 : 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 소프트웨어를 서비스 형태로 이용하는 서비스

리피터 : 1계층 장비로 디지털 신호를 증폭시켜주는 역할을 하여 신호가 약해지지 않고 컴퓨터로7수신되도록 하는 장비

브리지 : 2계층 장비로 두 개의 근거리 통신망을 서로 연결해 주는 통신망 연결 장치

라우터 : 3계층 장비로 LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비

게이트웨이 : 3계층 장비로 프로토콜을 서로 다른 통신망에 접속할 수 있게 해 주는 장치

프로토콜 : 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신규약이다

프로토콜의 3요소는 구문 : 데이터 형식, 코딩, 신호 레벨 규정 / 의미 : 조정과 에러 처리를 위한 규정 / 타이밍 : 속도 조절과 순서 관리 규정

네트워크 프로토콜 : 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다

HDLC : 점대점 방식이나 다중 방식의 통신에 사용되는 동기식 비트 중심의 데이터 링크 프로토콜

PPP : 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜 1

프레임 릴레이 : 프로토콜 처리를 간략화하여 단순히 데이터 프레임들의 중계 기능과 다중화 기능만 수행하는 고속 데이터 전송 기술

ATM : 정보전달의 기본 단위를 53바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술

IP : 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 프로토콜 (3계층)

ARP : IP 네트워크 IP주소를 MAC 주소로 변환하는 프로토콜 (3계층)

RARP : IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소는 모르는 경우 서버로부터 IP 주소를 요청할 때 사용하는 프로토콜 (3계층)

ICMP : IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 / 메시지 형식은 8바이트 (3계층)

IGMP : 인터넷 그룹 관리 프로토콜로 호스트 컴퓨터와 인접 라우터가 멀티캐스트그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜 (3계층)

IPv4 : A클래스 : 1~126 / B클래스 : 128~191 / C클래스 : 192~223 / D클래스 : 224~239 / E클래스 : 240~255

IPv4 : 인터넷에서 사용되는 패킷 교환 네트워크상에서 데이터를 교환하기 위한 32비트 주소체계를 갖는 네트워크 계층의 프로토콜이다

듀얼스택 : IP 계층에 두 가지 프로토콜이 모두 탑재되어 있고 통신 상대방에 따라 해당 IP 스택을 선택하는 방법

주소변환 기술 : IPv4와 IPv6 사이에 주소변환기를 사용해 서로 다른 네트워크 상의 패킷을 변환시키는 방법이다

멀티캐스트 프로토콜 : 인터넷에서 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜이다

유니캐스트 프로토콜 : 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 프로토콜이다

브로드캐스트 프로토콜 : 하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 데이터를 전송하는 프로토콜이다

애니캐스트 프로토콜 : 단일 송신자로부터의 데이터그램을 토폴로지상의 잠재적인 수신자 그룹 안에서 가장 가까운 노드로 연결시키는 전송 프로토콜이다

라우팅 프로토콜 : 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해 주는 라우터 간의 상호 통신규약이다

RIP : AS 내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜이다

RIP 특징 : 벨만-포드 알고리즘 사용, 15홉 제합, 30초마다 정보 공유, UDP 사용

OSPF : RIP 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용해 최단 경로를 찾는 라우팅 프로토콜이다

OSPF 특징 : 다익스트라 알고리즘 사용, 라우팅 메트릭 지정, AS 분할 사용, 홉 카운트 무제한

BGP : AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜

BGP 특징 : 경로벡터 알고리즘 사용, TCP 연결을 통해 자치 시스템으로 라우팅 정보를 신뢰성 있게 전달

라우팅 알고리즘 : 송신 측으로부터 수신 측까지 데이터를 전달하는 과정에서 다양한 물리적인 장치들을 거쳐 간다

거리 벡터 알고리즘 : 벨만-포드 알고리즘을 사용하고 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘이다

링크 상태 알고리즘 : 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘이다

전송 계층 : 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해 주며 종단 간 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다

TCP : 4계층에 위치하며 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 해 주는 프로토콜

TCP 특징 : 신뢰성 보장 / 연결 지향적 특징 / 흐름 제어 / 혼잡 제어 (신연흐혼)

UDP : 비연결성이며 신뢰성이 없고 순서화되지 않은 데이터그램 서비스를 제공하는 전송 계층의 통신 프로토콜

UDP 특징 : 비신뢰성 / 순서화되지 않은 데이터그램 서비스 제공 / 실시간 응용 및 멀티캐스팅 기능 / 단순 헤더

세션 계층 : 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다

RPC : 5계층 프로토콜로 원격 프로시저 호출이라고도 불리며 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜

​ 표현 계층 : 정보를 통신에 알맞는 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다

응용 계층 : 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다

HTTP : 텍스트 기반의 통신규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜

FTP : TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일을 전송하기 위한 프로토콜

SMTP : 인터넷에서 TCP 포트 번호 25번을 사용하여 이메일을 보내기 위한 프로토콜

POP3, IMAP = 이메일 가져오는 프로토콜

Telnet : 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜

패킷 스위칭 : 작은 블록의 패킷으로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하는 통신 방식

X.25 : 통신을 원하는 두 단말 장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신 프로토콜이다

X.25 특징 : 고정된 대역폭 / 패킷 사용 / 1~3계층 담당 / 송수신 신뢰성 / 성능 저하

서킷 스위칭 : 네트워크 리소스를 특정 사용층이 독점하도록 하는 통신방식

온프레미스 방식 : 외부 인터넷망이 차단된 상태에서 인트라넷망만을 활용하여 개발환경을 구축하는 방식이다

클라우드 방식 : 클라우드 공급 서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식이다

클라우드 기반 개발환경 인프라 제공 범위는 컴퓨팅 환경, 스토리지, 데이터베이스, 네트워킹 전송, 개발자 도구, 보안 환경 구축, 응용 기술 세팅, 생산성 향상이 있다

모듈화 : 모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하게 하는 모듈 중심의 소프트웨어 설계 기법이다

제품 소프트웨어 패키징 : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정

소프트웨어 빌드 : 소스코드 파일을 컴퓨터에서 실행할 수 있는 제품 소프트웨어의 단위로 변환하는 과정이다

릴리즈 노트 : 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서이다

릴리즈 노트 작성 프로세스 : 모정개영 정추 (모듈 식별 / 릴리즈 정보 확인 / 릴리즈 노트 개요 작성 / 영향도 체크 / 정식 릴리즈 노트 작성 / 추가 개선 항목 식별)

패키징 도구의 활용 시 고려할 사항 : 암이사적 (암호화/보안 고려 / 이기종 연동 고려 / 사용자 편의성 고려 / 적합한 암호화 알고리즘 적용)

저작권 : 창작물인 저작물에 대한 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한

DRM : 클리어링 하우스에서 콘텐츠 제공자, 분배자, 소비자 간의 패키징 배포 및 키 관리, 라이선스 발급 관리를 수행한다

DRM 관리 구성 요소 : 제분패 보컨클 (콘텐츠 제공자 / 분배자 / 패키저 / 보안 컨테이너 / DRM 컨트롤러 / 클리어링 하우스)
​ ​
패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능

보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치

DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제

클리어링 하우스 : 소비자와 유통업자 간의 거래에 대해 디지털 저작권 라이선싱을 중개하며 라이선스를 발급하는 정산소이다

패키징 도구 구성 요소 : 암키식저 파정크인 (암호화 / 키 관리 / 식별 기술 / 저작권 표현 / 암호화 파일 생성 / 정책 관리 / 크랙 방지 / 인증)

전자 서명 : 서명자를 확인하고 서명자가 해당 전자문서에 서명했다는 사실을 나타내기 위해 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보

DOI : 저작권 보호 및 정확한 위치 추적을 위해 특정한 번호를 부여하는 일종의 바코드 시스템이다

URI : 인터넷에 있는 자원을 고유하게 식별할 수 있도록 나타내는 주소

XrML : 디지털 콘텐츠 / 웹 서비스 권리 조건을 표현한 XML기반의 마크업 언어

MEPG-21 : 멀티미디어 관련 요소 기술들이 통일된 형태로 상호 운용성을 보장하는 멀티미디어 표준 규격이다

CMS : 작성, 수집, 관리, 배급하는 콘텐츠 생산에서 활용하는 폐기까지 전 공급 과정을 관리하는 기술이다

Secure DB : 커널 암호화 방식으로 데이터베이스 파일을 직접 암호화하고 접근 제어와 감사 기록 기능이 추가된 데이터베이스 보안 강화 기술이다

SSO : 한 번의 시스템 인증으로 다른 여러 정보 시스템에서 재인증 절차 없이 접근할 수 있는 통합 로그인 기술

QoS : 네트워크상의 데이터에 중요도를 분류하고 이를 기반으로 우선 순위를 정하여 데이터 전송 시 특정 수준의 성능을 보장하기 위한 능력이다

제품 소프트웨어 매뉴얼 : 사용자 측면에서 패키징 이후 설치, 제품 소프트웨어를 사용하는 데 필요한 주요 내용을 기록한 문서이다

제품 소프트웨어 설치 매뉴얼 기본 작성 항목 - 문서 이력 정보 : 매뉴얼 변경 이력에 대한 정보를 버전별로 표시

제품 소프트웨어 설치 매뉴얼 기본 작성 항목 - 설치 매뉴얼 주석 : 주의 사항, 참고 사항이 존재함

제품 소프트웨어 설치 매뉴얼 작성 프로세스 : 개요 및 기능 식별, UI 분류, 설치파일/백업 파일 확인, 삭제 절차 확인, 이상 유형 확인, 최종 매뉴얼 적용

제품 소프트웨어 사용자 매뉴얼 : 사용자가 소프트웨어 사용에 필요한 내용, 제반 절차, 환경 등의 내용을 포함하는 문서
​ 제품 소프트웨어 배포용 미디어 제작하기 : 선관설 검정인 (배포용 미디어 선정 / 관리 체계 확인 / 설치 파일/매뉴얼 확인 / 최종 배포본 검증 / 배포용 미디어 정보 확인 / 최종 미디어 인증 확인 및 배포)

제품 소프트웨어 버전 관리는 개발 조직이나 이미 배포된 제품이 있으면 보유 제품 버전과 새로 개발된 버전을 동시에 유지, 관리하여야 한다

차등 백업 : 마지막 백업 이후 변경되는 모든 데이터를 백업하는 방식

증분 백업 : 정해진 시간을 기준으로 그 이후 변경된 파일만 백업하는 방식

CDN : 콘텐츠를 효율적으로 전달하기 위하여 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템