2021년 1회
네트워크 계층 프로토콜
- IP: 송수긴 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용하는 통신 프로토콜
- ARP: IP → MAC
- RARP: MAC → IP
- ICMP: IP 패킷 처리할 때 발생하는 문제를 알려주는 프로토콜
- IGMP: 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜 (화상회의, IPTV)
- 라우팅 프로토콜: 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜
DB 설계 절차 (요개논물구)
- 개념적 설계 (요구사항 명세서를 기반으로 E-R 다이어그램 표현)
- 논리적 설계 (목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정 수행)
- 물리적 설계 (특정 DBMS의 특성 및 성능을 고려하여 데이터베이스 저장 구조로 변환)
요구사항 분류 (기능적, 비기능적)
WSDL(Web Service Description Language)
- 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현된 언어
반정규화
- 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법
단위 테스트
- 개별 모듈, 서브루틴이 정상적으로 실행되는지 확인
통합 테스트
- 인터페이스 간 시스템이 정상적으로 실행되는지 확인
IPC(Inter-Process Communication)
- 프로세스간 통신 기술 (메시지 큐, 공유메모리, 소켓, 세마포어)
EAI
- 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션
카디널리티 = 튜플 = 행
디그리 = 속성 = 열
#include <stdio.h>
struct A {
char name[10];
int age;
}
void main() {
struct A s[] = {"Kim", 20, "Lee", 21, "Park", 22, "Seo", 23"
struct A *p;
p = s;
p++;
printf("%s", p->name); // Lee
printf("%s", p->age); // Park
}
데이터 모델 구서요소 (연구제)
- 연산: 데이터베이스에 저장된 실제 데이터를 처리하는 작업 (select, project, join)
- 구조: 논리적으로 표현된 개체 타입 관계, 데이터 구조 및 정적인 성질 표현
- 제약조건: 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약조건
서버 접근 통제 유형
- 임의적 접근 통제(DAC): 시스템에 대한 접근을 사용자/그룹의 신분 기반으로 제한
- 강제적 접근 통제(MAC): 시스템 정보의 허용등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템 접근을 제한
- 역할 기반 접근통제 (RBAC)
결합도의 유형 (내공외제 스자)
- 내용 결합도: 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용
- 공통 결합도: 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
- 외부 결합도: 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신, 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도
- 제어 결합도: 단순 처리할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도
- 스탬프 결합도: 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
- 자료 결합도: 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우의 결합도
세션 하이재킹: 세션을 가로채다는 의미로 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 전달
2021년 2회
애드 혹 네트워크
- 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크, AP 불필요
UX/UI
- UX: 제품과 시스템, 서비스 등을 사용자가 직/간접적으로 경험하면서 느끼고 생각하는 총체적 경험
- UI: 넓은 의미에서 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체
UPDATE 회원 SET 전화번호 = ‘010-14’ WHERE 회원번호 = ‘N4’;
SELECT ~ FROM T1 JOIN T2 ON T1.C = T2.C
트랜잭션 ACID
- 원자성: 트랜잭션을 구성하는 연산 자체가 모두 정상적으로 실행되거나 모두 취소되어야 한다.
- 일관성: 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 수행 후의 상태가 같아야 함
- 격리성: 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질
- 영속성: 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질
데이터베이스 정규화 단계
- 도부이 결다조
AES
- NIST에서 발표한 블록 암호화 알고리즘, DES 단점 극복 및 128 bit 블록 크기
- SubBytes, ShiftRows, MixColumns, AddRoundkey 4가지 계층으로 구성
럼바우 데이터 모델링
- 객체 모델링: 정보 모델링이라고도 하며, 시스템에서 요구하는 객체를 찾고 객체 간의 관계 정의 (ER)
- 동적 모델링: 시간의 흐름에 따라 객체들 사이의 흐름제어, 동적인 행위 표현 (상태 다이어그램)
- 기능 모델링: 프로세스들의 자료 흐름을 중심으로 처리 과정을 표현 (자료 흐름도)
화이트박스 테스트 종류
- 문장: 프로그램 내의 모든 명령문은 적어도 한 번 실행
- 분기: 결정 포인트 내에 적어도 한번의 참과 거짓을 수행
- 조건: 전체 조건식이 관계없이 개별 조건식의 True/False에 대해 수행
로킹
- 같은 자원을 액세스하는 다중 트랜잭션 환경에서 DB 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 실행을 보장하는 기법
static
- 객체 생성 없이 사용하기 위해서 static 키워드 적용
행위 패턴
- 반복적으로 사용되는 객체들의 상호작용을 패턴화한 것으로 관련된 패턴 (Interpreter, Observer, Command, Iterator, Strategy, Visitor)
하향식 통합 테스트: 테스트 스텁, 상향식 통합 테스트: 테스트 드라이버
패킷 교환 방식
- 데이터그램: 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식 (비연결형)
- 가상회선: 패킷이 전송되기 전에 송, 수신 스테이션 간의 논리적인 통신 경로를 미리 설정 (연결형)
응집도의 종류 (우논시절 통순기)
- 우연적 응집도: 모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도
- 논리적 응집도: 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도
- 시간적 응집도: 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리
- 절차적 응집도: 모듈이 다수의 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 처리
- 통신적 응집도: 동일한 입출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우의 응집도
- 순차적 응집도: 모듈 내에서 한 활동으로부터 나온 출력 값을 다른 활동이 사용할 경우의 으집도
- 기능적 응집도: 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도
2021년 3회
3A
- Authentication: 접근을 시도하는 가입자 또는 단말에 대한 식별 및 신분을 검증
- Authorization: 검증된 가입자나 단말에게 어떤 수준의 권한과 서비스를 허용
- Accounting: 리소스 사용에 대한 정보 수집 및 관리
GRANT: 사용자에게 권한 부여
ARP Spoofing
- 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전달
OSI 7 Layer
- 데이터 링크: 직접적으로 연결된 두 개의 노드 사이에서 데이터 전송을 가능하게 하고, 오류 수정
- 네트워크: 단말기 간의 데이터 전송을 위한 최적화된 경로 제공
- 표현: 데이터의 압축과 형식 설정, 암 복호화 담당
UML 관계
- Aggregation: 하나의 사물이 다른 사물에 포함된 관계
- Generalization: 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
테스트 케이스 구성 요소
- 테스트 조건ㄴ, 테스트 데이터, 예상 결과 ..
원인 결과 그래프
- 그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트
DES
- IBM에서 개발한 블록 암호화 알고리즘으로 블록의 크기는 64비트, 키 길이는 56비트, 16라운드
#include <stdio.h>
void main() {
int *arr[3]; 포인터 배열
int a = 12, b = 24, c = 36;
arr[0] = &a;
arr[1] = &b;
arr[2] = &c;
printf("%d", *arr[1] + **arr + 1); *arr[1] = 24, **arr = *arr[0] = 12 + 1 = 37
클래스 다이어그램 구성요소
- 클래스: 공통의 속성, 연산, 관계, 의미를 공유하는 객체들의 집합
- 속성: 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술
- 연산: 이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징
- 접근제어자 (-, +, #, ~)
Factory Method
- 상위 클래스에서 객체를 생성해서 인터페이스를 정의, 하위 클래스에서 인스턴스를 생ㅇ성하도록 하는 방식
데이터베이스 파일 구조
- 순차 방법: 레코드들의 물리적 순서가 레코드들의 논리적 순서와 같게 순차적으로 저장하는 방법
- 인덱스 방법: 인덱스가 가리키는 주소를 따라 원하는 레코드에 접근할 수 있도록 하는 방법
- 해싱 방법: 킷값을 해시 함수에 대입시켜 계산한 결과를 주소로 사용하여 레코드에 접근하게 할 수 있는 방법
GUI 유형
- CLI: 명령어 기반 인터페이스
- GUI: 그래픽 환경을 기반으로 한 인터페이스
- NUI: 신체 부위를 이용하는 인터페이스
- OUI: 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 인터페이스