정처기 용어 2

alexhwang_·2021년 4월 14일
1

정처기 실기 용어 복습2

이상
-릴레이션에서 일부 속성들의 족속으로 인해 데이터의 중복이 발생하여 테이블 조작 시 불일치가 발생하는 것

RTO
-비상사태 또는 업무 중단 시점으로부터 업무를 복수하기 위한 목표시간

데이터마이닝
-데이터 웨어하우스에 저장된 데이터 집합에서 유용한 상관관계를 발견하여 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다.

레드섹
-TCP 및 TLS를 통해 RADIUS 데이터 그램을 전송하기위한 프로토콜

병행제어
-병행제어는 동시에 여러개 수행할 때, 데이터베이스 일관성 유지를 위해 트랜잭션 간의 상호 작용을 제어하는 것

로킹기법
-로킹기법은 하나의 트랜잭션이 데이터를 액세스하는 동안 다른 트랜잭션이 그 데이터 항목을 액세스할 수 없도록 하는 기법

CALS
-제품의 수명 주기를 통해 도면, 거래 등 모든 기술 정보 등을 통합 데이터베이스로 관리하고 지원하는 시스템

살라미
-금융 기관 컴퓨터에 불법으로 접속하여 불특정 다수의 계좌에서 돈을 조금씩 자신의 계좌에 넣토록 하는 불법 프로그램 기술의 일종

다크데이터
-정보를 수집한 후, 저장만 하고 분석에 활용하고 있지 않는 다량의 데이터
공통평가기준(Common Criteria)
-정보 보호 제품의 평가 기준을 규정한 국제 표준(IOS 15408)

크리슈머
-제품개발과 유통과정에 소비자가 직접 참여하는 프로슈머보다 발전한 개념

OWASP TOP10

타이포스쿼딩
-네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 일

정보열광자
-필요한 정보를 기다리지 않고 적극적으로 찾아다니는 것을 의미

디지털포렌식
-정보기기에 내장된 디지털 자료를 근거로 삼아 그 정보기기를 매개체로 하여 발생한 어떤 행위의 사실 관계를 규명하고 증명하는 신규 보안서비스 분야

크라우드소싱
-군중과 외부 용역의 합성어, 인터넷을 통해 일반 대중이 기업 내부 인력을 대체하는 것

커넥티드 카
-운전자의 편의와 교통 안전을 돕고 인터넷의 다양한 서비스를 제공

킬스위치
-분실한 정보기기를 원격으로 조작해 개인 데이터를 삭제하고 사용을 막는 일종의 자폭기능

DHCP
-TCP/IP 통신을 실행하기 위해 필요한 설정 정보를 자동적으로 할당, 관리하기 위한 통신 규약

BCP
-재난 발생시 비즈니스의 연속성을 유지하기 위한 계획

지그비
-저속 전송속도를 갖는 홈오토메이션 및 데이터 네트워크를 위한 표준기술
-버튼 하나의 동작으로 집안 어느 곳에서나 전등 제어 및 홈 보안 시스템을 제어 관리 가능

블루투스
-IEEE 802.15.1에서 표준화된 무선 통신 기기 간에 가까운 거리에서 낮은 전력으로 무선통신을 하기 위한 표준

트러스트존
-프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안기술

QKD
-안전한 통신을 위해 양자 역학적 특성을 이용해 비밀키를 분배,관리하는 기술
웨바홀리즘
-웹과 알코올 중독증의 합성어

위키노믹스
-네티즌이 만들어가는 온라인 백과사전인 위키피디아의 경제 법칙을 의미하는 신종어

SET(안전한 전자 거래)
-메시지 암호화, 인증, 디지털 서명 등을 통해 인터넷상에서 안전한 전자상거래가 이루어질 수 있도록한다.
루트킷
-불법적인 해킹에 사용되는 아의적인 기능들을 제공하는 도구
-해커가 설치한 악성코드가 백신이나 PC사용자에게 발각되지 않도록 숨겨주는 역할

크라임웨어
-온라인상에서 불법 활동을 조장하기 위해 만들어진 컴퓨터 프로그램들. 스파이웨어, 브라우저 하이젝커, 키로거 등을 말한다.

옵테인 메모리
-인텔과 마이크론이 합작하여 개발한 RAM과 플래시 메모리의 중간형태에 해당하는 비휘발성 메모리

ITIL
-IT 서비스의 운영 및 관리를 돕기 위한 문서들의 집합

LBS(위치 기반 서비스)
-위성 위치 확인 시스템(GPS)나 통신망을 활용하여 얻은 위치 정보를 기반으로 여러 가지 애플리케이션을 제공하는 서비스

오픈스택
-클라우드 컴퓨팅 플랫폼을 개발하고 관리할 수 있는 공개 소스 소프트웨어 기반의 클라우드 운영체제
-2010년에 시작된 클라우드 플랫폼 프로젝트로 2012년에 설립된 비영리 단체인 오픈스택 파운데이션에서 관리

Maven
-Maven은 대규모 프로젝트에서 수많은 라이브러리를 관리할 수 있는 도구이며, pom.xml파일에 태그를 통해 추가해 주면 네트워크를 통해 자동으로 해당 라이브러리를 다운받아 사용할 수 있게 해준다.

Gradle
-Maven과 유사한 도구로 안드로이드 개발을 위한 ADT에 기본으로 포함되어 있으며, Groovy라는 언어를 이용해 Ant의 빌드 유연성과 Maven의 xml표현 한계를 극복한다.


pip
-Python은 외부 라이브러리 추가를 위해 Command Line 명령어로 간단하게 외부 라이브러리를 설치할 수 있는 pip 프로그램을 사용한다.

세마포어
-둘 이상의 프로세스 사이에서 공유 자원을 한 프로세스가 사용하고 있는 동안에 다른 프로세스를 대기시키고 사용이 끝나면 해제시키는 메커니즘

CI(Continuous Integration)

  • 초기에 그리고 자주 통합해서 통합시 발생하는 여러 가지 문제점을 조기에 발견하고 피드백 사이클을 짧게해 소프트웨어 개발의 품질과 생산성을 향상시키는 것

Public
-모든 클래스에 접근가능

Protected
-동일클래스, 동일패키지, 상속관계에서만 접근가능

Private
-자신을 포함한 클래스에서만 접근가능

Package
-동일클래스, 동일패키지에서만 접근가능

스니핑
-네트워크의 중간에서 남의 패킷 정보를 도청하는 해킹 유형의 하나

스누핑
-네트워크상에서 남의 정보를 염탐하여 불법으로 가로채는 행위

스푸핑
-승인받은 사용자인 것처럼 속이는 것

제어의역흐름
-개발자가 관리하고 통제해야 하는 객체들의 제어 권한을 프레임워크에 넘겨 생산성을 향상시킨다.

델파이기법
-각 분야의 전문가로부터 연계 데이터 및 사용자 요구 사항 식별

교착상태4가지
상호배제,환형대기,점유와대기,비선점

DVCS
-분산버전관리시스템

DFD
-데이터 자료 흐름도

SSL
-인터넷상에서 데이터 통신 보안을 제공하는 암호 프로토콜

데이터모델 3요소
구조,연산,제약조건

ODBC
-다양한 데이터베이스 관리 시스템에 접근하여 사용할 수 있도록 개발한 표준 개방형 응용 프로그램 인터페이스 규격으로, DBMS에 관계없이 어떤 응용 프로그램에서나 모두 접근하여 사용할 수 있도록 하기위하여 마이크로 스프트에서 개발한 표준방법

인터페이스 설계 4원칙
직관성, 유연성, 학습성, 유효성

개발언어 선정 기준
적정성, 효율성, 이식성, 친밀성, 범용성

프로토콜 3요소
구문, 타이밍, 의미

테스트검증기준의 테스트종류
명세기반테스트, 구조기반테스트, 경험기반테스트

공개키암호화 방식
-암호화에는 공개키가 사용되고 복호화에는 개인키가 사용되는 비대칭적 구조의 암호화 방식

참조 무결성
-외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야한다.

개체 무결성
-한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널 값이나 중복 값을 가질 수 없다.

속성 무결성
-컬럼은 지정된 데이터 형식을 반드시 만족하는 값만 포함

키 무결성
-한 릴레이션에 같은 키 값을 가진 튜플들은 허용 안됨

사용자 정의 무결성
-모든 데이터는 업무 규칙을 준수해야함

도메인 무결성
-각 속성 값은 반드시 정의된 도메인에 속한 값이어야 한다.

배치프로그램의 5가지 필수요소
대용량데이터, 견고함, 안정성, 자동화, 성능

ORM(Object-Relational Mapping, 객체 관계 매핑)
-객체지향 프로그래밍의 객체와 관계형 데이터베이스 간의 변환, 연결하는 기술

코드 인스펙션(Code Inspection)
-개발 소스 코드를 분석하여 개발 표준에 위배 되었거나 잘못 작성된 부분을 수정하는 작업

스크립트 언어
-응용 소프트웨어를 제어하는 컴퓨터 프로그래밍 언어로, 사용자가 응용 프로그램의 동작을 사용자의 요구에 맞게 수행할 수 있도록 해준다. 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하는 언어

커널
-컴퓨터 원영체계의 가장 중요한 핵심으로써 운영체계의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공

NoSQL(Not Only SQL)
-최근에는 관계형 DB의 한계를 벗어나, Web2.0의 비정형 초고용량 데이터 처리를 위해 데이터의 읽기보다 쓰기에 중점을 둔, NoSQL이 많이 사용되고 있다.

특징
1)Schema-less
2)탄력성
3)효율적 질의가능
4)캐싱

회복개요
장애의 유형
-실행장애
-트랜잭션장애
-시스템장애
-미디어장애

회복기법

지연갱신기법
-트랜잭션이 성공적으로 종료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기하는 기법

즉시갱신기법
-트랜잭션이 데이터를 변경하면 트랜잭션이 부분 완료되지 전이라도 즉시 실제 데이터베이스에 반영하는 기법

검사점기법
-트랜잭션 실행 중 주기적으로 변경 내용이나 시스템 상황 등에 관한 정보와 함께 검사점을 로그에 보관하는 기법

그림자 페이지 기법
-갱신 이전의 데이터베이스를 일정 크기의 페이지 단위로 구성하여 각 페이지마다 복사본인 그림자 페이지로 별도 보관해 두고, 실제 페이지를 대상으로 트랜잭션에 대한 변경 작업을 수행하는 기법

미디어 회복 기법
-데이터베이스 내용을 주기적으로 안전한 저장 장치에 덤프해 놓는다.

데스크톱 가상화(VDI)
-물리적으로 존재하진 않지만 실제 작동하는 컴퓨터 안에서 작동하는 또 하나의 컴퓨터를 만들 수 있는 기술

병행제어기법
1)2단계잠금기법
-잠금을 2단계로 구분하여 진행하는 기법
2)타임스탬프 순서
-트랜잭션 순서 규칙은 해당 트랜잭션의 도착 시간 별로 타임스탬프를 할당한다.
3)검증기법
-트랜잭션 처리 시 먼저 메모리 상에서 복사본에 대한 연산을 수행하고 검증 완료시 DBMS에 반영하는 기법

엑세스포인트(AP)
-무선 LAN에서 기지국 역할을 하는 소출력 무선기기로 유선과 무선을 잇는 브릿지 역할을 하게 되며, POE스위치와 연결한다.

무선랜 컨트롤러(WLC)
-AP 및 클라이언트를 통합 관리하며, 방화벽, IDS, VPN 등 통합 무선랜 환경에 필요한 보안기능을 통합

인증 서버
-허가된 사용자에 대해 인증 권한 부여하여 비허가된 사용자를 차단

무선랜 관리 서버(WNMS)
-무선 인프라 장비와 SNMP 프로토콜로 연동하여 무선 데이터 수집, 무선 네트워크 배치 시각화 및 모니터링, 장애 발생 알림 기능 등을 제공

PoE 스위치
-AP나 인터넷 전화기에 전원을 공급하는 장비로 일반 L2스위칭 기술에 PoE 전원 공급기능을 포함

TCP 흐름제어 기법
1)Stop and Waiting Flow Control
-수신자가 에러 체크 후 에러가 있으면 에러가 발생한 데이터부터 하나씩 다시 받는 방식
2)슬라이딩 윈도우(Sliding window)
-흐름제어를 수행하기 위해 TCP가 사용하는 프로토콜로 수신측에서 제대로 수신한 바이트에 대한 확인 응답을 전송할 때마다 버퍼의 범위가 한꺼번에 미끄러지듯이 이동한다.

TCP 혼잡제어 기법
1)슬로우 스타트(Slow Start)
-미리 정해진 임계 값에 도달할 때까지 윈도우의 크기를 2배씩 증가
2)혼잡회피(Congestion Avoidance)
-전송 되는 데이터의 크기가 임계 값에 도달하면 혼잡회피 단계로 넘어간다. 세그먼트의 수를 1로 줄인다.
동시에 임계 값을 패킷 손실이 발생하였을 때의 윈도우크기의 반으로 줄인다.

ER모델
-개념적 데이터 모델의 가장 대표적인 것으로, 1976년 피터 첸에 의해 제안

기본키 : 후보키 중에서 특별히 선정된 키. 중복된 값을 가질수 없다.
후보키 : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다. 유일성과 최소성을 만족
슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다. 유일성은 만족 최소성은 불만족
외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
대체키 : 후보키 중에서 선정된 기본키를 제외한 나머지 후보키

오픈소스 WAS인 Tomcat 엔진의 4가지 모듈
1)Catalina : Servlet 컨테이너 역할            2)Coyote : http 컴포넌트 역할
3)Jasper : JSP에 대한 요청 수행              4)Cluster : http 세션 로드밸런싱

데이터베이스정의
1)통합된데이터(Integrated Data) : 자료의 중복을 배제 또는 최소화 한 데이터의 집합
2)저장된데이터(Stored Data) :컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터의 집합
3)운영데이터(Operational data) : 조직의 업무를 수행하는데 있어서 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 데이터의 집합
4)공용데이터(Shared Data) : 여러 응용 시스템들이 공동으로 소유하고 유지하는 데이터의 집합

데이터베이스의특징
1)실시간접근  2)계속적인 변화  3)동시공용  4)내용에 의한 참조

분산데이터베이스 4대 목표
1)위치투명성 : 사용자가 물리적으로 저장되어 있는 곳을 알 필요 없이 논리적인 입장에서 데이터가 모두 자신의 사이트에 있는 것처럼 처리
2)중복(복제)투명성 : 트랜잭션이 데이터의 중복 개수나 중복 사실을 모르고도 데이터 처리가 가능
3)병행투명성 : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실현 되더라도 그 트랜잭션의 결과는 영향을 안받음
4)장애투명성 : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션을 정확하게 처리함

해싱검색 :해싱 함수를 이용하여 자료를 검색하는 방법

용어정리
해싱함수 : 해시 테이블의 주소를 생성해 내는 함수
해시테이블 : 해싱함수에 의하여 참조되는 테이블
버킷(bucket) : 하나의 주소를 같는 파일의 한구역
슬롯(slot) : n개의 슬롯이 모여 하나의 버킷을 형성
충돌(collision) : 서로다른 2개 이상의 레코드가 같은 주소를 갖는 현상
시노임(Synonym) : 같은 주소를 같는 레코드의 집합
오버플로 : 버킷 내에 기억 공간이 없는 현상

제산법(Division) : 키를 임의의 양의 정수로 나는 나머지를 그 키의 레코드를 저장하는 주소로 결정
폴딩(Folding) : 키를 여러 부분으로 나누고, 나누어진 각 부분의 값을 모두 더하거나 보수를 취한 결과 값을 레코드 주소로 결정
계수분석(Digit Analysis) : 키 값을 구성하는 숫자의 분포를 파악하여 균등한 분포의 숫자를 선택하여 레코드 주소를 결정
제곱법(Mid-sqare) : 키 값을 제곱한 값의 중간 부분 값을 선택하여 레코드 주소로 결정
기수 변환(Radix Transformaion) : 주어진 키 값을 다른 진법으로 변환하여 얻은 결과 값을 레코드 주소로결정
ORM(Object-Relational Mapping,객체 관계 매핑) 프레임워크
-객체지향 프로그래밍의 객체와 관계형 데이터베이스간의 변환, 연결하는 기술

MCI(Multi Channel Integration, 채널 통합/연계 솔루션)
-모든 고객 접점과, 기업내부 시스템간 Interface를 통합하는 기술

FEP(Front End Processor, 전치프로세서)
-입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어

EAI(Enterprise Application Integration, 기업 애플리케이션 통합 솔루션)
-기업에서 운영하는 서로 다른 애플리케이션을 통합

CRM(Customer Relationship Management, 고객 관계 관리)
-기업이 고객 관계를 관리해 나가기 위해 필요한 방법론이나 소프트웨어 등을 가리키는 용어

VOC(Voice of Customer, 고객의 소리)
-콜센터에 접수되는 고객불만사항을 접수부터 처리가 완료될 때까지 처리상황을 실시간으로 관리하고 처리결과를 관서별로 지표화하여 관리,평가함으로써 고객의 체감서비스를 향상시키는 고객 관리 시스템

소프트웨어 취약점
메모리보안침입
1)버퍼 오버플로(Buffer Overflow)
-메모리 버퍼의 경계값을 넘어서 메모리값을 읽거나 저장해 예기치 않은 결과를 발생시킬 수 있는 보안약점
2)허상 포인터(Dangling Pointer)
-유요한 객체를 가리키고 있지 않은 포인터로, 현재 전혀 다른 데이터를 갖고 있으므로 예측할 수 없는 행동을 발생시킬 수 있는 보안약점

입력확인오류
1)포맷 스트링 버스(Format String Bug)
-printf() 등 외부입력값에 포맷스트링을 제어할 수 있는 함수를 사용하여 발생할 수 있는 보안약점
2)SQL 인젝션(SQL Injection, SQL 삽입)
-검증되지 않은 외부 입력값이 SQL 쿼리문 생성에 사용되어 악의적인 쿼리가 실행될 수 있는 보안약점
3)코드 인젝션(Code Injection)
-유효하지 않은 데이터를 실행함으로써 악의적인 결과를 초래하는 보안약점
4)이메일 인젝션(Email Injection)
-이메일을 보낼 때 받는사람 목록을 추가하거나 본문에 완전히 다른 메시지를 부정하게 추가할 수 있는보안약점
5)HTTP 헤어 인젝션(HTTP Header Injection)
-공격자가 HTTP헤더에 개행문자 등을 삽입해 공격하는 보안약점
6)HTTP 응답 분할(HTTP Response Splitting)
-HTTP요청에 들어 있는 파라미터가 HTTP 응답헤더에 포함되어 사용자에게 다시 전달될 때, 두 번째 응답에 악의적인 코드를 주입해 공격하는 보안약점
7)디렉토리 접근 공격(Directory Traversal)
-비공개 디렉토리 파일에 대해 부정하게 디렉토리 패스를 가로질러 접근하는 공격
8)사이트간 스크립팅(XSS:Cross Site Scripting)
-검증되지 않은 외부 입력값에 의해 사용자 브라우저에서 악의적인 스크립트가 실행될 수 있는 보안약점

경쟁상태
1)검사시점과 사용시점(TOCTOU : Time-Of-Check to Time-Of-Use)
-멀티 프로세스 상에서 자원을 검사하는 시점과 사용하는 시점이 달라서 발생하는 보안약점
2)심볼릭링크 경쟁(Symbolic Link Race)
-심볼릭 링크 파일을 수정하여 원본 파일을 수정할 수 있는 보안약점

권한혼동버그0
1)사이트 간 요청 위조(CSRF : Corss Site Request Forgery)
-사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
2)클릭재킹(Clickjacking)
-투명한 버튼이나 링크를 함정으로 사용할 웹페이지에 심어두어 의도치 않은 콘텐츠에 액세스 시키는 공격
3)FTP 바운스 공격(FTP Bounce Attack)
-FTP 프로토콜 구조의 허점을 이용한 공격으로 전송 목적지 주소를 임의로 지정해 임의의 목적지로 메시지나 자료를 전송할 수 있는 공격

알고리즘 기법
1)분할 정복법(Divide and Conquer)
-여러 알고리즘의 기본이 되는 해결방법으로, 큰 문제를 조금씩 나눠가면서 풀 수 있는 문제 단위로 나눈 다음 그것들을 다시 합쳐서 해결하자는 개념
2)동적 계획법(Dynamic Programming:DP)
-특정 범위까지의 값을 구하기 위해 그것과 다른 범위까지의 값을 이용해 효율적으로 값을 구하는 기법
3)그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm)
-매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자 라는 모토를 가지는 알고리즘 설계 기법
4)백트래킹(Backtracking)
-모든 경우의 수를 전부 고려하는 알고리즘. 일종의 트리탐색 알고리즘이라고 봐도 된다.

디자인패턴 필수 4요소
패턴이름(Name),문제(Problem),해법(Solution),결과(Consequence)

생성패턴
-객체의 생성과 과정을 캡슐화 하여 객체가 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 하여 프로그램에 유연성을 더해준다

구조패턴
-클래스타 객체들을 조합하여 더 큰 구조로 만들 수 있게 해주는 패턴

행위패턴
-클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴

생성패턴 종류
1.Factory Method(팩토리 메소드)
-어떤 객체를 생성할지를 서브클래스가 결정하도록 하고 책임을 위임하는 패턴
2.Abstract Factory(추상 팩토리)
-상세화된 서브클래스를 정의하지 않고도 서로 관련성 있거나 의존적인 여러 객체 그룹을 생상할 때 유용
3.Builder(빌더)
-생성 단계를 캡슐화 하여 구축 공정을 동일하게 이용하도록 하는 패턴
4.Prototype(프로토타입)
-원본 객체를 복사(견본)하여 새 객체를 생성할 수 있도록 하는 패턴
5.Singleton(싱글톤)
-오직 하나의 객체만을 가지도록 하는 패턴

구조패턴 종류
1.Adapter(어댑터)
-인터페이스가 호환되지 않는 클래스를 함께 사용하도록 하는 패턴
2.Bridge(브리지)
-구현부에서 추상층을 분리하여 각자 독립적으로 확장할 수 있게 하여 결합도를 낮춘 패턴
3.Composite(컴포지트)
-부분-전체 계층을 표현하며 개별 객체와 복합 객체를 동일하게 다루도록 하는 패턴
4.Decorator(데코레이터)
-소스를 변경하지 않고 기능을 확장하도록 하는 패턴
5.Facade(퍼사드)
-단순화된 하나의 인터페이스로 제공하는 패턴
6.Flyweight(플라이웨이트)
-공유를 통하여 많은 유사한 객체들을 효과적으로 지원하는 패턴
7.Proxy(프록시)
-객체의 대리자를 이용하여 원래의 객체의 작업을 대신 처리하는 패턴

행위패턴 종류
1.Interpreter(인터프리터)
-언어 규칙 클래스를 이용하는 패턴
2.Template Method(템플릿 메서드)
-알고리즘 골격의 구조를 정의한 패턴
3.Chain of Responsibility(책임 연쇄)
-객체들끼리 연결 고리를 만들어 내부적으로 전달하는 패턴
4.Command(커맨드)
-요청을 캡슐화할 수 있으며, 매개변수를 써서 여러 가지 다른 요청을 추가 할 수 있는 패턴
5.Iterator(이터레이터)
-내부 표현은 보여주지 않고 모든 항목에 순차적으로 접근하는 패턴
6.Mediator(미디에이터)
-객체 간 상호작용을 캡슐화한 패턴
7.Memento(메멘토)
-객체의 상태 값을 미리 저장해 두었다가 복구하는 패턴
8.Observer(옵저버)
-한 객체의 상태변화가 일어났을 때 그 객체에 의존(상속)하는 다른 객체들에게 알리고, 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 가지는 패턴
9.State(스테이트)
-객체 내부 상태에 따라서 동일한 동작을 다르게 처리하는 패턴(다형성)
10.Strategy(스트래티지)
-다양한 알고리즘을 캡슐화하여 알고리즘을 교환하여 사용 가능하도록 한 패턴
11.Visitor(비지터)
-객체의 구조와 처리 기능을 분리시키는 패턴=서로 다른 클래스로 분리한다=캡슐화 위배

MS-SDL
-마이크로소프트에서 보안수준이 높은 안전한 소프트웨어를 개발하기 위해 자체수립한 개발방법론(교육-대응(7))

Seven Touchpoints
-실무적으로 검증된 개발 보안 방법론 중 하나로 소프트웨어 보안의 모범 사례를 SDLC에 통합한 방법론

CLASP(Comprehensive, Lightweight Application Security Process)
-소프트웨어 개발 생명주기 초기단계에 보안 강화를 목적으로 하는 정형화된 프로세스로써, 활동중심,역할기반의 프로세스로 구정된 집합체이다. 이미 운영중인 시스템에 적용하기 좋다. 5가지의 활동 관점을 제시함으로써 이들 관점 내에서의 활동을 정의한다.

CVE(Common Vulnerabilities and Exposures)취약점
정의:컴퓨터 하드웨어 또는 소프트웨어 결함이나 체계,설계상의 허점
진단방법:어플리케이션의 취약점 진단
개선가능여부:설계상의 허점이기 때문에 자체개선 불가능

CWE(Common Weakness Enumeration)취약점
정의:다양한 소프트웨어 언어 및 아키텍쳐, 디자인 설계, 코딩 등의 대발 단계에서 발생가능한 취약점
진단방법:Web 서버 소스 취약점 진단
개선가능여부:개발자의 소스코드 수정을 통하여 자체 개선이 가능

가상기억장치성능에 영향을 미치는 요인
1.워킹셋(Working Set)
-프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합으로, 자주 참조되는 워킹 셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상을 줄임
2.스래싱(Thrashing)
-프로세스의 처리기산보다 페이지 교체 시간이 더 많아지는 현상
3.구역성(Locality, 국부성):참조 국부성
-프로세스가 실행되는 동안 일부 페이지만 집중적으로 참조하는 성질

교착상태 발생 4가지 필요충분 조건(동시 만족 시 발생)
1.상호배제(Mutual Exclusion)
2.점유와대기(Hold&Wait)
3.비선점(nonpreemption)
4.환형대기(Circular Wait)

교착상태 해결방안
1.예방기법(Prevention) : 교착 상태가 발생되지 않도록 사전에 시스템을 제어하는 방법, 교착 상태 발생의 4가지 조건 중에서 어느 하나를 제거(부정)함으로써 수행
2.회피기법(Avoidance) : 교착 상태 해결방안으로 발생 가능성을 인정하고 교착 상태가 발생하려고 할 때, 교착상태 가능성을 피해가는 방법 (주로 은행가 알고리즘이 사용됨)
3.발견기법(Detection) : 시스템에 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견
4.회복기법(Recovery) : 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것

은행가 알고리즘 : 다익스트라가 제안한 회피 기법으로 각 프로세스에게 자원을 할당하여 교착상태가 발생하지 않으며 모든 프로세스가 완료될 수 있는 상태를 안전상태, 교착상태가 발생할 수 있는 상태를 불완전 상태라 함.
국제 표준 제품 품질 특성
1.제품 품질 특성 평가 : 완성된 제품에 대한 평가
-ISO/IEC 9126 (품질 특성 및 측정 기준제시(국제 표준으로 널리 사용됨))
(기능성,신뢰성,사용성,효율성,유지보수성,이식성)
-ISO/IEC 14598 (소프트웨어 제품 평가 프로세스 및 평가 모듈을 제공(품질 평가 프로세스))
-ISO/IEC 12119 (패키지 SW 품질 요구사항 및 테스트)
-ISO/IEC 25000 (여러 표준 문서를 통합하고 재구성하여 만든 표준문서)

2.프로세스 품질 특성 병가 : 개발 과정에 대한 평가
-ISO/IEC 9000 (품질 경영과 품질 보증에 관한 국제 규격)
-ISO/IEC 12207 (SW 생명 주기 프로세스를 기본, 지원 조직 SDLC로 구분)
-ISO/IEC 15504 (SPICE)
(0.불완전단계/1.수행단계/2.관리단계/3.확립단계/4.예측단계/5.최적화단계)
-ISO/IEC 15288 (시스템 생명주기 프로세스)
-CMMI (프로세스 표준모델)(결과 지향모델,성과중심,가장좋은 활동을 제시하고자함)
(1.초기단계/2.관리단계/3.정의단계/4.정량적 관리단계/5.최적화단계)

CMM(Capability Maturity Model, 능력 성숙도 모델)
(활동중심으로한 모델,절차의 완성에 관심을 가지고 결과에는 관심을 두지 않는다.)
-소프트웨어 품질관리체계 중 하나로 소프트웨어 기술을 지원하는 조직의 응용 프로그램을 개선하는데 도움을 주기 위해 1986년 미국 소프트웨어 공학 연구소에서 개발한 절차
(1.초기단계/2.반복단계/3.정의단계/4.관리단계/5.최적화단계)

IDE(Integrated Development Environment, 통합개발환경)
-코딩,디버그,컴파일,배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 SW

CI(Continuous Integration, 지속적인 통합)
-개발자들이 각자 작성한 코드를 초기에 그리고 자주 통합해서 통합시 발생하는 여러 가지 문제점을 조기에 발견하는 것(ex 젠킨스)

젠킨스(Jenkins)
-소프트웨어 개발시 지속적 통합 서비스를 제공하는 툴

CD(Continuous Delivery, 지속적인 배포)
-팀이 짧은 주기로 소프트웨어를 개발하는 소프트웨어 공학적 접근의 하나로, 소프트웨어가 언제든지 신뢰 가능한 수준으로 출시될 수 있도록 보증하기 위한 것.(변경사항의 배포에 대한 비용, 시간, 위험을 줄일 수 있다.)

0개의 댓글