관계 데이터 모델의 제안자인 코드가 수학의 술어해석에 기반을 두고 관계 데이터베이스를 위해 제안하였다.
관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의 할 때 계산 수식을 사용
관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
#관계 대수(절차적특성)
SELECT: 시그마
PROJECT: 파이
JOIN: 보타이
DIVISION: 나누기
양방향암호화: 평문 <-> 사이퍼텍스트
- 대칭키 알고리즘: 키가 1개, 많은량 암호화, 속도가 빠르다.
- 블럭방식: DES, AES, IDEA
- Stream방식: OTPad, RC4
키분배의 문제땜에 비대칭키 알고리즘을 사용
- 비대칭키 알고리즘(공개키 알고리즘): 키가 2개 (개인키, 공개키), 적은량 암호화, 속도가 굉장히 느리다.
- 인수분해: RSA
- 이산대수: DH, DSA, ElGmal
- 타원곡선
단방향암호화: 평문 -> 사이퍼텍스트
블록암호 알고리즘
AES
- 128bit 평문을 128/192/256bit로 암호화
- 키 크기에 따라 10/12/14회 라운드 수행
- 레인달에 기반한 암호화 방식
- SPN암호 방식을 사용한다
SEED
- 순수 국내기술로 개발한 128비트 및 256비트 대칭키 블록 암호화 알고리즘이다.
ARIA
- 국가 보안 기술 연구소(NSRI)필두로 학계 ,국가 정보원등의 암호 기술전문가들이 개발한 국가 암호화 알고리즘
- AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원한다.
- SPN 암호 방식을 사용한다.
IDEA
- 1990년 스위스에서 만들어진 PES를 개량해 만들어진 블록 암호 알고리즘
- 키길이가 128비트, 블록길이가 64비트
- Feistel 방식과 SPN의 중간형태 구조
스트림암호 알고리즘
- LFSR
- RC4
- A5
인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안솔루션
답: VPN (Virtual Private Network)
보안솔루션
- 방화벽 (Firewall)
- 네트워크 간에 전송되는 정보를 선별하는 기능을 가진 침입 차단 시스템
웹방화벽 (Web Firewall) 와프 라고도함
- 웹 기반 공격응ㄹ 방어할 목적으로 만들어진 웹서버 특화 방화벽
- 침입탐지 시스템(IDS; Intrusion Detection System)
- 컴퓨터 시스템의 비정상적인 사용, 오용 등을 실시간으로 탐지하는 시스템
- 이상탐지, 오용탐지
- 이상탐지: 잘된케이스만 탐지할수있도록
- Behavior, Statistical Detection로 불리며, 평균적 시스템의 상태기준으로, 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌
잘 알려지지 않은 공격탐지에 적합
- 오용탐지: 잘못된케이스만 집어넣는거, 알려진 공격 패턴(signature)에 대한 갱신 중요, 새로운 패턴의 공격에 대해서는 탐지 불가
- Signature Base나 knowledge base로 불리며 미리 입력해둔 공격패턴이 감지되면 이를 알려줌, 잘 알려진 공격탐지에 적합
- 침입방지 시스템(IPS; Intrusion Prevention System)
- 방화벽과 침입탐지 시스템을 결합하는 것.
보안 솔루션
데이터 유출방지(DLP; Data Lekage/Loss Preveiton)
- 내부 정보의 유출을 방지하기 위한 보안솔루션
NAC(Network Access Control)
- 네트워크에 접속하는 내부PC의 MAC주소(고유랜카드주소)를 IP관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안솔루션
ESM(Enterprise Security Management)
- 다양한 장비에서 발생하는 로그 및 보안이벤트를 통합관리 하는 보안 솔루션
네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹내에서 라우팅 정보를 교환할때 사용하는 라우팅 프로토콜을 IGP 라고 하고,
다른 그룹과 라우팅 정보를 교환하는 프로토콜을 EGP 라고 한다.
IGP 의 대표적인 프로토콜은 RIP와 OSPF 가 있고, EGP 의 대표적인 프로토콜은 BGP 이다.
OSI 7 Layer
응
표
세
전
네
-----위에 계층가려면 라우터 필요(라우터를 통과해야함)
데
물
정적 라우팅
- 라우터 장비에 관리자가 직접입력해야함
동적 라우팅
- 알아서 라우팅함
- IGP
- 거리벡터(Distance Vector)
- RIP : 최대 15홉 이동, 거리(컴퓨터구조에선 횟수)를 중요시,
- Link-State Vector
- OSPF
- EGP
- BGP
1) 은 개발자의 통제 하에 사용자가 개발환경에서 수행하는 테스트이다.
내부에서 진행하는 자체 검사로 실제 사용 환경에서 동작시키며 관련자만 참여한다.
- 알파테스트
2) 는 개발된 소프트웨어를 사용자가 실제 운영환경에서 수행하는 테스트이다.
- 베타테스트
V모델 (외우기)
단위 -> 통합 -> 시스템 -> 인수
하향식: 스텁
상향식: 드라이브
인수테스트: 알파 / 베타테스트
시스템테스트 : 기능(사용자가 요구한 기능을 정확히 동작하는지 보는거) / 비기능(성능,보안이슈등) 테스트
변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트는 무엇인지 찾아 쓰시오.
답: Regression(회귀 테스트)
애플리케이션 테스트 유형 분류
- 프로그램 실행 여부
- 정적 테스트: 소스코드 내부를 보는거 / 개발자만봄
- 동적 테스트: 프로르램 실행 시킨거 ( 소스코드 수행을보는거), 단위테스트에서도 수행가능 , 개발자/사용자 둘다봄
- 테스트 기법
- 화이트박스 테스트: 소스코드 안에 동작이 잘되는지 보는거
- 기초 경로 검사
- 제어 구조 검사
- 조건검사
- 루프검사
- 데이터흐름검사
(개발자 관점)
- 커버리지: 내가 얼만큼 테스트했느냐 범위를 보는거
- 블랙박스 테스트: 동작테스트, 동등(동치)분할 검사, 경계값 분석, 원인효과 그래프기법, 오류예측 검사, 비교검사
- 테스트에 대한 시각
- 검증 테스트: 개발자가 하는거, 잘수행하고있는지
- 확인 테스트: 사용자가 하는거, 내가원하는게 잘 들어가져있는지
테스트 목적
- 회복 테스트: 일부러 고장을 내고, 다시 어떻게 회복을 하는지 보는거
- 안전 테스트
- 강도 테스트: 서버가 있어, 냅다 부하를 주는거(컴퓨터 프로그램이 5만개의 스레드를 만들어서 죽나안죽나)
- 성능 테스트
- 구조 테스트
- 회귀 테스트: 수정한게 잘 동작하는지
- 병행테스트
테스트 기반
- 명세 기반 테스트: 문서를 가지고 해서 시간이 많이걸림
- 구조 기반 테스트: 시간이 많이걸린다. 소스코드 다 본다
- 경험 기반 테스트: 경험이 많은 사용자가 와서 테스트를해본다(요쯤되면 오류가 발생할것 같아)
테스트 오라클: 이 결과가 참인지 거짓인지 확인하기 위해서 미리 정의 된 참값과 비교하는거
- 참 오라클: 발생된 모든 오류를 검출할 수 있음
- 샘플링 오라클: 특정한 테스트 케이스의 입력 값에 대해서만 결과 제공
- 휴리스트 오라클: 샘플링 오라클을 개선한 오라클
- 일관성 검사 오라클: 테스트 케이스의수행 전과후의 결과 값이 동일한지를 확인하는 오라클
응집도 (낮 -> 높) 응집도는 높을수록 좋음
우연적 응집도 - 모듈 내부의 각 구성 요소들이 연관이 없는 경우
논리적 응집도 - 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리
시간적 응집도 - 특정 시간에 처리되어야 하는 활동을 한 모듈에서 처리
절차적 응집도 - 모듈 안의 구성요소들이 기능을 순차적으로 수행하는 경우 (순차적 응집도랑 헷갈리지않게 외우기)
통신적 응집도 - 동일한 입력과 출력을 사용하여 다른 기능을 수행
순차적 응집도 - 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용
기능적 응집도 - 모듈 내분의 모든 기능이 단일한 목적을 위해 수행
결합도(낮 -> 높) 결합도는 낮을수록 좋음
자료 결합도 - 모듈간의 자료(값을) 통해서만 모듈 상호 작용 발생
스탬프 결합도 - 모듈간의 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
제어 결합도 - 값만 전달되는게 아니라, 제어 요소가 전달되는 경우
외부 결합도 - 모듈에서 외부로 선언한 변수를 다른 모듈에서 참조
공통 결합도 - 전역변수를 참조
내용 결합도 - 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용
1)는 W3상에서 정보를 주고받을 수 있는 프로토콜이다.
GET, POST 방식을 이용하여 문서를 주고 받는데, 이 문서 내에서 다른 문서를 링크 정보가 들어가는데, 이런 링크 정보를
만들 수 있는게 2) 이다.
이런 2)를 만들 수 있는 마크업언어가 3) 이다.
1) HTTP
2) Hypertext
3) HTML
IPSecurity
Soap - WSDL 설명서를 가지고와서 Soap이라는 프로토콜을 이용해서 서로 통신을 하는거
WSDL - 만들어진 사용 설명서, 외부로 통신할때 쓰는거, XML로 만들어서 어쩌구 사용법이 들어가있다.
UDDI - WSDL을 등록시킨거
자신이 사용하지 않는 인터페이스는 구현하지 말아야 하고, 자신이 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
그러므로 인터페이스를 작게 나누어 만들어야 한다.
답: 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)
객체지향 설계원칙 (SOLID)
- 단일 책임 원칙(SRP, Single Responsibility Principle): 한 클래스는 하나의 책임만을 가져야 한다.
- 개방 폐쇄 원칙(OCP, Open-Closed Principle): 확장에는 열려 있고, 수정에는 닫혀 있어야 한다.
- 리스코프 치환 원칙(LSP, Liskov Substitution Principle): 자식클래스는 언제나 부모 클래스를 대체할 수 있어야한다.
- 인터페이스 분리 원칙(ISP, Interface Segregation Priciple): 자신이 사용하지 않는 인터페이스는 구현하지 말아야한다.
- 의존성 역전 원칙(DIP, Dependency Inversion Principle): 의존관계를 맺을때 자주 변화하는것보다, 변화가 거의 없는것에 의존해야 한다.
UI 설계 원칙
- 직관성: 화면의 버튼, 항목, 입력란 등 누구나 쉽게 이해하고 사용 할 수 있어야 한다.
- 유효성: 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 한다.
- 학습성: 사용자가 쉽게 배우고 익힐 수 있어야 한다.
- 유연성: 사용자의 요구를 최대한 수용하면서 오류를 최소화해야 한다.
IP 주소가 192.168.100.132 이고, 서브넷 마스크가 255.255.255.192 인 경우 1)~2)에 해당하는 값을 쓰시오.
네트워크 주소 192.168.100.1)
사용 가능한 주소 개수 2)
답: 1) - 128 / 2) - 62
함수적 종속 문제
함수적 종속관계에서 종속자가 기본키에만 종속되며, 기본키가 여러속성으로 구성되어 있을 경우 기본키를 구성하는 모든 속성이 포함된
기본키의 부분집합에 종속된 경우 이를 완전함수종속(=Full) 이라 한다.
기본키가 여러 속성으로 구성 되어 있을 경우 기본키를 구성하는 속성 중 일부만 종속되는 경우 이를 부분함수종속(=Partial)라고 한다.
X->Y, Y->Z 이란 종속 관계가 있을 경우, X->Z가 성립 되는 경우를 이행적함수종속(=Transitive)라고 한다.
완전함수종속 (Full)
부분함수종속 (Partial)
이행적함수종속 (Transitive)
이상현상 - 정규화(잘게잘게 쪼갠다) 되지 않는 테이블에서 발생함
- 삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되는 현상이다.
- 삭제 이상이란 릴레이션에서 한 튜플을 삭제할때 의도와는 상관없는 값들로 함께 삭제되는 연쇄 삭제 현상이다.
- 갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
정규화 수행과정
- 비정규 릴레이션
- 제 1정규형 (도메인이 원자값)
- 제 2정규형 (부분 함수적 종속 제거)
- 제 3정규형 (이행적 함수 종속 제거)
- BCNF (결정자이면서 후보키가 아닌 것 제거)
- 제 4정규형 (다치 종속 제거)
- 제 5정규형 (조인 종속성 이용, 제거)
'정보처리기사 실기 (2023)' 카테고리의 다른 글
| 22년 1회 실기 정리 (0) | 2023.08.21 |
|---|---|
| UML && 디자인패턴 정리 (0) | 2023.08.04 |
| 개념정리 #1 (0) | 2023.08.01 |