데이터 웨어하우스의 데이터를 전략적인 정보로 변환시켜 의사결정을 지원하는 역할을 하는 시스템이다.
시멘틱 웹 (Semantic Web)
인터넷과 같은 분산 환경에서 리소스에 대한 정보와 자원 사이의 관계-의미 정보를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 지능형 웹이다.
온톨로지 (Ontology)
실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 개념화 명세서이다.
비선점 스케줄링
우선순위 스케줄링
우선순위를 할당해 우선순위가 높은 순서대로 처리하는 방법이다.
FIFO 스케줄링
작업이 컴퓨터에 들어온 순서대로 수행하는 방법이다.
SJF 스케줄링 (최소 작업 스케줄링)
수행 시간이 적은 작업을 우선적으로 처리하는 방법이다.
HRN 스케줄링
SJF의 큰 작업이 시간이 많이 걸리는 점을 보완한 방법이다.
선점 스케줄링
라운드 로빈 스케줄링
FIFO 방식의 변형으로 일정한 시간을 부여하는 방법이다.
MLQ 스케줄링 (다단계 스케줄링)
서로 다른 작업을 각각의 큐에서 시간 할당에 의해 처리하는 방법이다.
MFQ 스케줄링 (다단계 피드백 큐 스케줄링)
FIFO와 라운드로빈 스케줄링 기법을 혼합한 알고리즘이다.
=
자료의 정의로서 '~으로 구성되어(is Composed of)있다.'는 것을 나타낸다.
+
자료의 연결(and, along with)을 나타낸다.
( )
자료 생략 가능함을 나타낸다.
{ }
자료의 반복을 나타낸다.
[ ]
자료의 선택을 나타낸다.
**
자료의 설명을 나타낸다. (주석)
GRANT ALL ON 테이블명 TO 사용자 [WITH FRANT OPTION]
REVOKE [GRANT OPTION FOR] 권한_리스트 ON 테이블명 FROM 사용자 [CASCADE];
모듈 간의 연관도 또는 상호의존성이다.
결합도 유형
자료 결합도 (Data Coupling) - 결합도↓
모듈 간의 인터페이스가 자료 요소(파라미터)로만 구성될 때의 결합도이다.
스탬프 결합도 (Stamp Coupling)
모듈간의 인터페이스가 자료 구조(배열, 객체, ...)로 전달될 때의 결합도이다.
제어 결합도 (Control Coupling)
단순 처리 대상인 데이터만 전달되는 것이 아니라 어떻게 처리해야하는지를 결정하는 제어요소가 전달되는 경우의 결합도이다.
외부 결합도 (External Coupling)
어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도이다.
공유 결합도 (Common Coupling)
공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도이다. 파라미터가 아닌 모듈 밖에서 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도이다.
내용 결합도 (Content Coupling) - 결합도↑
한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정할 때의 결합도이다.
로킹 (Locking)
트랜잭션이 사용하는 데이터 항목에 대해 잠금을 설정한 트랜잭션이 해제할 때까지 독점적으로 사용할 수 있게 하는 상호배제 기능을 제공하는 기법이다.
낙관적 검증 (Optimistic Validation)
트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 기법이다.
타임 스탬프 순서
트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임 스탬프(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법이다.
다중버전 동시성 제어 (MVCC; Multi Version Concurrency Control)
트랜잭션의 타임 스탬프와 접근하려는 데이터의 타임 스탬프를 비교하여 직렬 가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법이다.
별칭 사용 시 AS 별칭
라고 사용하면 된다. AS '별칭'
가 아니다.
동일한 키로 데이터를 암호화하고 복호화 하는 암호화 기법이다.
스트림 암호화 방식
평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 하는 방식이다.
ex. LFSR, RC4, TKIP
TKIP (Temporal Key Integrity Protocol)
기존의 무선 랜 보안 프로토콜인 WEP의 취약성을 보완한 데이터 보안 프로토콜로, 임시 키 무결성 프로토콜이라고도 한다.
암호 알고리즘의 입력 키 길이를 128비트로 늘리고 패킷당 키 할당, 키값 재설정 등의 키 관리 방식을 개선했다.
블록 암호화 방식
한 번에 하나의 데이터 블록을 암호화 하는 방식이다.
ex. DES, SEED, AES, ARIA, IDEA, Skipjack
DES (Data Encryption Standard)
NBS에서 발표한 개인키 암호화 알고리즘이며, 후에는 해독이 쉬워지면서 AES로 대체되었다.
블록 크기: 64비트, 키 길이: 56비트
SEED
KISA(한국인터넷진흥원)에서 개발한 블록 암호화 알고리즘이다.
블록 크기: 128비트, 키 길이: 128 or 256
AES (Advanced Eccryption Standard)
DES의 한계를 느낀 미국 표준 기술 연구소(NIST)에서 발표한 개인키 암호화 알고리즘이다.
블록 크기: 128비트, 키 길이: 128 or 192 or 256
IDEA(International Data Encryption Algorithm)
스위스의 라이와 메시가 1990년에 개발한 PES를 개선한 알고리즘이다.
블록 크기: 64비트, 키 길이: 128비트
Skipjack
NSA(국가 안전 보장국)에서 개발한 암호화 알고리즘이다.
클리퍼 칩이라는 IC 칩에 내장되어 있다.
블록 크기: 64비트, 키 길이: 80비트
공개키 암호화 방식
RSA
System.out.print("%x", 51) // 출력결과 : 33
응용 계층 (Application Layer) - HTTP,FTP
표현 계층 (Presentation Layer) - JPEG, MPEG
세션 계층 (Session Layer) - RPC, NetBIOS
전송 계충 (Transport Layer) - TCP, UDP
네트워크 계층 (Network Layer) - IP, ICMP
데이터링크 계층 (Data Link Layer) - HDLC, PPP
물리 계층 (Physical Layer) - RS-232C
system.out.print("인사 : " + "안녕" );
system.out.print("하세요");
// 출력 결과 :
// 인사 : 안녕 하세요 (x)
// 인사 : 안녕하세요 (o)
주 공정법 (CPM; Critical Path Method)
여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법이다.
PERT (Program Evaluation and Review Technique)
일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법이다.
중요 연쇄 프로젝트 관리 (CPPM; Critical Chain Project Management)
주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법이다.
커밋 (Commit)
하나의 트랜잭션이 성공적으로 끝나고, 데이터베이스가 일관성 있는 상태에 있거나 하나의 트랜잭션이 끝났을 때 사용하는 연산이다.
롤백 (Rollback)
하나의 트랜잭션이 비정상적으로 종료되어 트랜잭션이 원자성이 꺠질 경우 처음부터 다시 시작하거나, 부분적으로 연산을 취소하는 연산이다.
REDO, UNDO
DBMS는 데이터베이스에 치명적인 손실이 발생했을 떄 이를 복구하기 위해 사용되는 데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 기록한 로그를 생성한다.
REDO
데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 start와 commit에 대한 기록이 있는 트랜잭션들의 작업을 재작업한다.
즉, 로그를 이용하여 해당 데이터 항목에 대한 이전 값을 이후 값으로 변경하는 연산이다.
UNDO
데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 'start'는 있지만 완료를 나타내는 'commit'기록이 없는 트랜잭션들이 작업한 내용들을 모두 취소한다.
즉, 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다.
XSS (Cros Site Scripting)
검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 사용자가 해당 웹 페이지를 열람함으로써 웹 페이지에 포함된 부적절한 스크립트가 실행되는 공격이다.
사이트 간 요청 위조 (CSRF; Cross SIte Request Forgery)
사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹 사이트에 요청하게 하는 공굑이다.
SQL 삽입 (SQL Injection)
응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행 시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격이다.