모의고사 4회
온라인 분석 처리(Online Analytical Processing; OLAP)
데이터 웨어하우스나 데이터마트 같은 시스템과 상호 연관되는 정보 시스템이다. 데이터 웨어하우스가 데이터를 저장하고 관리한다면 온라인 분석 처리는 데이터 웨어하우스의 데이터를 전략적인 정보로 변환시켜서 의사결정을 지원하는 역할을 한다.
시멘틱 웹 (Semantic Web) | 인터넷과 같은 분산 환경에서 리소스에 대한 정보와 자원 사이의 관계-의미 정보를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 지능형 웹 |
온톨로지 (Ontology) | 실세계에 존재하는 모든 개념과 개념들의 속성, 그리고 개념 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 개념화 명세서 |
다단계 피드백 큐 (MLFQ; Multi Level Feedback Queue)
FCFS(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용한 알고리즘
자료 사전 기호
= | 자료의 정의로서 '~으로 구성되어(is composed of) 있다.'는 것을 나타냄 정의는 주석을 사용하여 의미를 기술하며 자료 흐름과 자료저장소에 대한 구성 내역을 설명하고, 자료 원소에 대하여 값이나 단위를 나타냄 |
+ | 자료의 연결(and, along with)을 나타냄 |
( ) | 자료 생략 가능함을 나타냄 |
{ } | 자료의 반복을 나타냄 반복 횟수를 기록하는데 { }에서 좌측에는 최소 반복 횟수를 기록하고 우측에는 최대 반복 횟수를 기록 반복 횟수를 기록하지 않을 때는 디폴트(Default)로 최소는 0, 최대는 무한대를 나타냄 |
[ ] | 자료의 선택을 나타냄 |
** | 자료의 설명을 나타냄 주석(Comment) |
GRANT 명령 [그온투]
GRANT 권한 ON 테이블 TO 사용자;
GRANT 권한 ON 테이블 TO 사용자 [WITH 권한 옵션]; |
관리자가 사용자에게 테이블에 대한 권한을 부여 WITH GRANT OPTION은 사용자가 권한을 받고 난 후 다른 사람들과 권한을 나누어 가질 수 있는 옵션 |
결합도(Coupling)
모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성을 의미하며 결합도가 낮을수록 품질이 좋아진다
결합도의 유형
[내공외제 스자] 내용 / 공통 / 외부 / 제어 / 스탬프 / 자료 결합도 (결합도 높은 순)
결합도 낮음 (높은 품질) ← 결합도 높음 (낮은 품질)
내용 결합도 Content Coupling | 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도 |
공통 결합도 Common Coupling | 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도 |
외부 결합도 External Coupling | 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도 |
제어 결합도 Control Coupling | 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도 |
스탬프 결합도 Stamp Coupling | 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도 |
자료 결합도 Data Coupling | 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우의 결합도 |
병행 제어 기법
로킹 Locking | 같은 자원을 엑세스하는 다중 트랜잭션 환경에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법 로킹의 특징 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있음 로킹 단위가 작아지면 데이터베이스 공유도가 증가 로킹 단위가 작아지면 로킹 오버헤드가 증가 한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 함 |
낙관적 검증 Validation | 트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 기법 |
타임 스탬프 순서 Time stamp Ordering | 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임 스탬프(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법 |
다중버전 동시성 제어 MVCC; Multi Version Concurrency Control) |
트랜잭션의 타임 스탬프와 접근하려는 데이터의 타임 스탬프를 비교하여 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법 |
대칭 키 암호화 알고리즘
DES(Data Encryption Standard) | 1975년 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 암호화 알고리즘 블록 크기는 64bit, 키 길이는 56bit인 페이스텔(Feistel) 구조 DES를 3번 적용하여 보안을 더욱 강화한 3 DES(Triple DES)도 활용됨 |
SEED | 1999년 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit의 평문 블록을 128bit 암호문 블록으로 암호화하여 출력하는 방식 블록 크기는 128bit이며 키 길이에 따라 128bit, 256bit로 분류 |
AES(Advanced Encryption Standard) | 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘 DES의 개인 키에 대한 전사적 공격이 가능해지고, 3 DES의 성능 문제를 극복하기 위해 개발 블록 크기는 128bit이며 키 길이에 따라 128bit, 192bit, 256bit로 분류 AES의 라운드 수는 10, 12, 14 라운드로 분류되며 한 라운드는 SubBytes, ShiftRows, MixColums, AddRoundKey의 4가지 계층으로 구성 |
ARIA(Academy, Research Institute, Agency) | 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘 ARIA는 학계(Academy), 연구기관(Research Institute), 정부(Agency)의 영문 앞글자로 구성 블록 크기는 128bit이며 키 길이에 따라 128bit, 129bit, 256bit로 분류 ARIA는 경량 환경 및 하드웨어에서의 효율성 향샹을 위해 개발되었으며 ARIA가 사용하는 대부분의 연산은 XOR과 같은 단순한 바이트 단위 연산으로 구성 |
IDEA(International Data Encryption Algorithm) | DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호문을 만듦 |
LFSR(Linear Feedback Shift Register) | 선형 되먹임 시프트 레지스터(LFSR)는 시프트 레지스터의 일종으로 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어있는 스트림 암호화 알고리즘 이때 사용되는 선형 함수는 주로 배타적 논리합(XOR)이고, LFSR의 초기 비트 값은 시드(Seed)라고 함 |
Java
%x 16진법으로 출력
%d 정수로 출력
%o 8진법으로 출력
OSI 7계층
[아파서 티내다, 피나다]
Application(7) / Presentation(6) / Session(5) / Transport(4) / Network(3) / Data Link(2) / Physical (1)
계층 이름 | 설명 | 프로토콜 | 전송단위 | 장비 |
응용 계층 Application Layer |
사용자와 네트워크 간 응용서비스 연결, 데이터 생성 | HTTP FTP |
데이터 (Data) |
호스트 (PC 등) |
표현 계층 Presentation Layer |
데이터 형식 설정, 부호교환, 암·복호화 | JPEG MPEG |
||
세션 계층 Session Layer |
송수신 간의 논리적인 연결 연결 접속, 동기제어 |
RPC NetBIOS |
||
전송 계층 Transport Layer |
송수신 프로세스 간의 연결 신뢰성 있는 통신 보장 데이터 분할, 재조립, 흐름 제어, 오류 제어, 혼잡 제어 |
TCP UDP |
세그먼트 Segment |
L4 스위치 |
네트워크 계층 Network Layer |
단말기 간 데이터 전송을 위한 최적화된 경로 제공 | IP CMP |
패킷 Packet |
라우터 |
데이터링크 계층 Data Link Layer |
인접 시스템 간 데이터 전송, 전송 오류 제어 동기화, 오류 제어, 흐름 제어, 회선 제어 |
HDLC PPP |
프레임 Frame |
브리지, 스위치 |
물리 계층 Physical Layer |
0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환 | RS-232C | 비트(Bit) | 허브, 리피터 |
집합 연산자 | 설명 |
UNION | 중복 행이 제거된 쿼리 결과를 반환 |
UNION ALL | 중복 행이 제거되지 않은 쿼리 결과를 반환 |
INTERSECT | 두 쿼리 결과에 공통적으로 존재하는 결과를 반환 |
MINUS | 첫 쿼리에 있고 두번째 쿼리에는 없는 결과를 반환 |
쿼리 e.g.) SELECT A FROM B WHERE C >= '1' UNION ALL SELECT A FROM B WHERE C >= '2';
일정관리 모델
주 공정법(CPM; Critical Path Method) | 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법 모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드(Node)와 노드 간을 연결을 통해 공정을 계산하기 위한 Activity 표기법 |
PERT(Program Evaluation and Review Technique) | 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정방식을 통해 일정을 관리하는 기법 |
중요 연쇄 프로젝트 관리 (CCPM; Critical Chain Project Management) |
주 공정 연쇄법으로 자원제약사항을 고려하여 일정을 작성하는 기법 |
프로토콜 | 설명 | 특징 |
RIP(Routing Information Protocol) | AS(Autonomous System, 자치 시스템, 자율 시스템)내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜 거리 벡터 라우팅 기반 메트릭(Metric) 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고 라우팅 테이블을 구성/계산하는 데 Bellman-Ford 알고리즘을 사용하는 내부 라우팅 프로토콜 |
최대 홉 수(Hop Count)를 15개로 제한 사용 포트로는 UDP를 사용(UDP 포트 번호 520 사용) 30초마다 전체 라우팅 정보를 브로드캐스팅 |
OSPF(Open Shortest Path First) | 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜 링크 상태 라우팅 기반 메트릭(Metric) 정보를 한 지역(Area) 내 모든 라우터에 변경이 발생했을 때만 보내(Flooding)고 라우팅 테이블을 구성/계산하는 데 다익스트라(Dijkstra) 알고리즘을 사용하는 내부 라우팅 프로토콜 |
최소 지연, 최대 처리량 등 관리자가 라우팅 메트릭 지정 AS를 지역(Area)으로 나누어 라우팅을 효과적으로 관리 기능 홉 카운트에 제한이 없음 |
BGP(Border Gateway Protocol) | 자치 시스템(AS) 상호 간(Inter-AS 또는 Inter-Domain)에 경로 정보를 교환하기 위한 라우팅 프로토콜 변경 발생 시 대상까지의 가장 짧은 경로를 경로 벡터(Path Vector) 알고리즘을 통해 선정하고, TCP 연결(port 179)을 통해 자치 시스템(AS)으로 라우팅 정보를 신뢰성 있게 전달 |
ISP 사업자들 상호 간에 주로 사용되는 라우팅 프로토콜 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공 라우팅 비용(CPU 부하)이 크고, 라우팅 테이블의 크기가 커서 메모리 사용량이 많음 |
입력 데이터 검증 및 표현 취약점
취약점 | 설명 | 대책 |
XSS (Cross Site Script) | 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우 사용자가 해당 웹 페이지를 열람함으로써 웹 페이지에 열람함으로써 웹 페이지에 포함된 부적절한 스크립트가 실행되는 공격 | 특수문자 등록을 방지하기 위해 특수 문자 필터링 HTML 태그 사용 금지(특히 < 문자 사용 시 <로 변환 처리) 자바스크립트로 시작하는 문자열은 모두 문자열 변환 처리 |
사이트 간 요청 위조 (CSRF; Cross Site Request Forgery) |
사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 | 입력화면 폼을 작성 시 GET 방식보다 POST 방식 사용 입력 폼과 입력처리 프로그램에서 세션별 CSRF 토큰을 사용하여 점검 중요기능의 경우 재인증을 통해 안전하게 실제 요청 여부를 확인하도록 구현 |
SQL 삽입(Injection) | 응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스(DB)의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격 기법 | 바인딩 매개변수 방식 적용하여 사전에 변수 타입을 명시적으로 지정 사용자로부터 입력될 수 있는 모든 값을 체크하여 필터링 Servlet Filter 기능 적용(Java에서만 적용) |
'T.I.L(Today I learned) > CS' 카테고리의 다른 글
220815 정보처리기사 실기 D-62 (0) | 2022.08.15 |
---|---|
220814 정보처리기사 실기 D-63 (0) | 2022.08.14 |
220812 정보처리기사 실기 D-65 (0) | 2022.08.12 |
220811 정보처리기사 실기 D-66 (0) | 2022.08.11 |
220810 정보처리기사 필기 합격 & 실기 D-67 (0) | 2022.08.10 |
댓글