반응형
관계 대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
- 관계 대수 연산자의 종류
- 일반 집합 연산자 : 수학의 집합 개념을 릴레이션에 적용한 연산자
- 합집합(∪), 교집합(∩), 차집합(-), 카티션 프로덕트(×)
- 순수 관계 연산자 : 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자
- Select(σ), Project(π), Join(▷◁), 디비전(÷)
- 일반 집합 연산자 : 수학의 집합 개념을 릴레이션에 적용한 연산자
관계 해석
- 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
- 프레디킷 해석에 기반한 언어이며 비절차적 언어
관계 대수와 관계 해석 비교
구분 | 관계 대수 | 관계 해석 |
특징 | 절차적 언어(순서 명시) | 비절차적 언어(계산 수식의 유연적 사용) |
목적 | 어떻게 유도하는가?(Who) | 무엇을 얻을 것인가?(What) |
종류 | 순수관계 연산자, 일반집합 연산자 | 튜플 관계 해석, 도메인 관계 해석 |
대칭 키 암호화 알고리즘
- DES(Data Encryption Standard)
- 1975년 IBM에서 개발하고 미국의 연방 표준국에서 발표한 대칭 키 기반의 블록 암호화 알고리즘
- 블록 크기는 64bit, 키 길이는 56bit인 페이스텔 구조, 16라운드 암호화 알고리즘
- DES를 3번 적용하여 보안을 더욱 강화한 3 DES도 활용됨
- SEED
- 1999년 국내 한국인터넷진흥원이 개발한 블록 암호화 알고리즘
- 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit의 평문 블록을 128bit 암호화 블록으로 암호화하여 출력하는 방식
- 블록 크기는 128bit이며, 키 길이에 따라 128bit, 256bit로 분류
- AES(Advanced Encryption Standard)
- 2001년 미국 표준 기술 연구소에서 발표한 블록 암호화 알고리즘
- DES의 개인 키에 대한 전사적 공격이 가능해지고, 3 DES의 성능 문제를 극복하기 위해 개발
- 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit 256bit로 분류
- AES 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShiftRows, MixColumns, AddRoundKey의 4가지 계층으로 구성
- ARIA(Academy(학계), Research Institute(연구소), Agency(정부 기관))
- 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘
- ARIA는 학계, 연구기관, 정부의 영문 앞글자로 구성
- 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit 256bit로 분류
- ARIA는 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발되었으며, ARIA가 사용하는 대부분의 연산은 XOR과 같은 단순한 바이트 단위 연산으로 구성
- IDEA(International Data Encryption Algorithm)
- DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
- 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호화를 만듦
- LFSR(Linear Feedback Shift Register)
- 시프트 레지스터의 일종으로, 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어 있는 스트림 암호화 알고리즘
- LFSR에서 사용되는 선형 함수는 주로 배타적 논리합(XOR)이고, LFSR의 초기 비트 값은 시드라고 함
- Skipjack
- 미 국가안보국에서 개발한 Clipper 칩에 내장된 블록 알고리즘
- 소프트웨어로 구현되는 것을 막고자 Fortezza Card에 칩 형태로 구현됨
- 전화기와 같이 음성을 암호화하는 데 주로 사용되고 64비트 입출력, 80비트의 키, 32라운드를 가짐
VPN(Virtual Private Network)
- 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션
- SSL VPN : 4계층에서 소프트웨어적으로 동작하므로 별도의 장치가 필요 없으며 가격이 저렴하다.
- IPSec VPN : 3계층에서 동작하므로 IP 헤더를 조작해야 하므로 별도의 하드웨어 장치가 필요하나 보안성이 뛰어나다.
객체지향 설계 원칙(SOLID)
- 단일 책임의 원칙(SRP;Single Responsibility Principle)
- 하나의 클래스는 하나의 목적을 위해서 생성되며, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는데 집중되어 있어야한다는 원칙
- 객체지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙
- 개방 폐쇄 원칙(OCP;Oen Close Principle)
- 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려 있고, 변경에는 닫혀 있어야한다는 원칙
- 리스코프 치환의 원칙(LSP;Liskov Substitution Principle)
- 서비스 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다는 원칙
- 인터페이스 분리의 원칙(ISP;Interface Segregation Principle)
- 한 클래스는 자신이 사용하지 않은 인터페이스는 구현하지 말아야한다는 원칙
- 객체 설계 시 특정 기능에 대한 인터페이스는 그 기능과 상관없는 부분이 변해도 영향을 받지 않아야 한다는 원칙
- 의존성 역전의 원칙(DIP;Dependency Inversion Principle)
- 실제 사용 관계는 바뀌지 않으며, 추상을 매개로 메시지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙
인수 테스트
- 알파 테스트
- 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 방법으로 사용자가 프로그램을 수행하는 것을 개발자가 모니터링하여 오류를 수정하는 테스트
- 베타 테스트
- 사용자의 환경에서 개발자 없이 수행하는 테스트 방법으로, 사용자가 오류정보를 수집하여 개발자에게 보내면 개발자가 취합하여 오류를 수정하는 테스트
테스트 목적에 따른 분류 (회안성 구회병)
- 회복 테스트(Recovery Testing)
- 시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트하는 기법
- 안전 테스트(Security Testing)
- 불법적인 소프트웨어가 접근하여 시스템을 파괴하지 못하도록 소스 코드 내의 보안적인 결함을 미리 점검하는 테스트 기법
- 성능 테스트(Performance Testing)
- 사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 측정하는 테스트 기법
- 구조 테스트(Structure Testing)
- 시스템의 내부 논리 경로, 소스 코드의 복잡도를 평가하는 테스트 기법
- 회귀 테스트(Regression Testing)
- 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법
- 병행 테스트(Parallel Testing)
- 변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교하는 테스트 기법
라우팅 프로토콜
- 내부 라우팅 프로토콜(IGP;Interior Gateway Protocol)
- 동일한 AS 내의 라우팅에 사용되는 프로토콜
- RIP(Routing Information Protocol)
- 거리 벡터 라우팅 기반 메트릭 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고 라우팅 테이블을 구성/계산하는 데 Bellman-Ford 알고리즘을 사용하는 내부 라우팅 프로토콜
- 최대 홉 수를 15개로 제한하고 30초마다 전체 라우팅 정보를 브로드캐스팅하는 특징
- OSPF(Open Shortest Path First)
- 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준을 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜
- 링크 상태 라우팅 기반 메트릭 정보를 한 지역 내 모든 라우터에 변경이 발생했을 때만 보내고 라우팅 테이블을 구성/계산하는데 다익스트라 알고리즘을 사용하는 내부 라우팅 프로토콜
- 홉 카운트에 제한이 없고 AS를 지역으로 나누어 라우팅을 효과적으로 관리
- EGP(Exterior Gateway Protocol)
- 서로 다른 AS 간 라우팅 프로토콜로 게이트웨이 간의 라우팅에 사용되는 프로토콜
- BGP(Border Gateway Protocol)
- AS 상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜로 초기에 라우터들이 연결될 때 전체 라우팅 테이블을 교환하고, 그 이후에는 변화된 정보만을 교환하는 방식
- BGP(Border Gateway Protocol)
- 서로 다른 AS 간 라우팅 프로토콜로 게이트웨이 간의 라우팅에 사용되는 프로토콜
함수 종속(FD; Functional Dependency)
- 릴레이션에서 속성의 의미와 속성 간 상호 관계로부터 발생하는 제약조건
- 함수 종속 종류
- 부분 함수 종속(Partial Functional Dependency)
- 릴레이션에서 기본 키가 복합 키일 경우 기본 키를 구성하는 속성 중 일부에게 종속된 경우
- 완전 함수 종속(Full Functional Dependency)
- 릴레이션에서 X→Y 관계가 있을 때, Y는 X의 전체 속성에 대해 종속하고, 부분 집합 속성에 종속하지 않는 경우
- 이행 함수 종속(Transitive Functional Dependency)
- 릴레이션에서 X→Y, Y→Z종속 관계가 있을 때, X→Z가 성립되는 경우
- 부분 함수 종속(Partial Functional Dependency)
HTTP(Hyper Text Transfer Protocol)
- 월드 와이드 웹에서 HTML 문서를 송수신하기 위한 규칙들을 정의해 놓은 표준 프로토콜
- 인터넷에서 요청과 응답에 의해 처리하는 프로토콜로 GET, POST, PUT 등의 방식을 사용
Hypertext
- 문장이나 단어 등이 링크를 통해 서로 연결된 네트워크처럼 구성된 문서로 이미지등을 누르면 다른 사이트로 옮겨갈 수 있도록 하이퍼링크가 걸려있음
HTML(HyperText Markup Language)
- 웹을 이루는 가장 기초적인 구성요소로, 웹 콘텐츠의 의미와 구조를 정의할 때 사용
- 인터넷 웹 문서를 표현하는 표준화된 마크업 언어
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사 - 실기] 제품 소프트웨어 패키징 (0) | 2023.04.22 |
---|---|
[정보처리기사 - 실기] 응용 SW 기초 기술 활용 (0) | 2023.04.21 |
[정보처리기사 - 실기] 2022년 1회 기출문제 개념 정리 (0) | 2023.04.11 |
[정보처리기사 - 실기] 요구사항 확인 (0) | 2023.03.28 |
2023 정보처리기사 실기 요약 정리 (0) | 2023.03.27 |