📡 1. 통신 및 네트워크 기초
✅ 통신 방식 비교
방식 | 정의 | 특징 | 예시 |
---|---|---|---|
회선 교환 | 통신 전에 물리적 경로 고정 | 전용선, 실시간, 비효율 | 전화망(PSTN) |
패킷 교환 - 데이터그램 | 매 전송 시 경로 결정 | 유연하지만 지연 가능 | 인터넷(IP) |
패킷 교환 - 가상 회선 | 처음만 경로 설정, 이후 고정 | 효율적, 빠름 | ATM, MPLS |
✅ 주요 네트워크 프로토콜
프로토콜 | 계층 | 설명 |
---|---|---|
TCP | 전송 | 연결 지향, 신뢰성 보장 (3-way handshake) |
UDP | 전송 | 비연결, 빠름, 신뢰성 낮음 |
IP | 인터넷 | 주소 지정, 비연결형 |
ICMP | 인터넷 | 오류 메시지 전달 (ping) |
ARP / RARP | 네트워크 | IP↔MAC 변환 |
🔐 2. 정보보안
✅ 보안 기술
용어 | 설명 |
---|---|
템퍼프루핑 | 변경 감지 후 실행 차단 |
코드 난독화 | 소스코드 해석 어렵게 |
워터마킹 | 불법 복제 방지용 식별 정보 |
무결성 검사 | 체크섬/해시로 데이터 변경 확인 |
시그니처 탐지 | 기존 공격패턴 비교 |
행위 기반 탐지 | 실행 행위 분석 |
✅ 암호화 및 인증
구분 | 설명 | 대표 알고리즘 |
---|---|---|
대칭키 | 같은 키로 암/복호화 | AES, DES, SEED |
비대칭키 | 공개키/개인키 | RSA, ECC |
해시 | 고정 길이 값으로 변환 | SHA-256 등 |
디지털 서명 | 송신자 인증 및 위조 방지 | 해시+비대칭 |
전자봉투 | 대칭+비대칭 혼합 방식 | - |
✅ 주요 공격 기법
기법 | 설명 |
---|---|
스니핑 | 네트워크 도청 |
스푸핑 | IP/이메일 등 위조 |
피싱 | 가짜 사이트로 유도 |
파밍 | DNS 변조로 유도 |
SQL Injection | 쿼리 조작 |
XSS | 스크립트 삽입 |
디도스(DDoS) | 대량 트래픽 유발 |
💻 3. 운영체제 및 시스템 소프트웨어
✅ 접근통제 방식
방식 | 설명 |
---|---|
MAC | 강제 접근 통제 – 규칙 기반 |
DAC | 임의 접근 통제 – 소유자 권한 부여 가능 |
RBAC | 역할 기반 – 직무 중심 접근제어 |
💽 4. 데이터베이스
✅ 데이터베이스 기본 용어
용어 | 정의 |
---|---|
릴레이션 | 테이블 전체 |
튜플 | 행 (Row) |
애트리뷰트 | 열 (Column) |
도메인 | 속성 값의 범위 |
카디널리티 | 고유값 수 |
차수 | 속성 개수 |
✅ 스키마 계층
구분 | 정의 |
---|---|
외부 스키마 | 사용자 관점 |
개념 스키마 | 조직 전체 논리 구조 |
내부 스키마 | 물리적 저장 구조 |
✅ 무결성 제약조건
이름 | 정의 | 예시 |
---|---|---|
개체 무결성 | PK는 NULL/중복 불가 | 학번 |
참조 무결성 | FK는 부모 테이블의 PK | 학생-성적 테이블 |
도메인 무결성 | 값은 도메인 내 존재 | 성별 ‘남/여’ |
고유 무결성 | 중복 불가 속성 | 주민번호 |
NULL 무결성 | NULL 금지 | 필수값 |
키 무결성 | 유일 식별 키 존재 필요 | 기본키 설정 |
사용자 정의 | 논리적 제약조건 | 나이 > 0 등 |
🧪 5. 소프트웨어 공학 및 테스트
✅ 테스트 기법
기법 | 정의 | 특징 |
---|---|---|
동등 분할 | 입력값 그룹화 | 그룹 내 대표값만 테스트 |
경계값 분석 | 경계값 집중 테스트 | 경계에서 오류 발생 확률 ↑ |
결정 테이블 | 조건별 결과 표로 작성 | 조합 누락 방지 |
상태 전이 | 상태 변화 기반 테스트 | ATM 등 상태기반 시스템 |
원인-결과 그래프 | 논리 관계 시각화 | 복잡한 조건 표현 |
에러 추정 | 경험 기반 오류 예측 | 노련한 테스터 유리 |
✅ 코드 커버리지
기법 | 정의 |
---|---|
구문 커버리지 | 모든 문장 최소 1회 실행 |
조건 커버리지 | 각 조건이 T/F 실행 |
분기 커버리지 | if문 참/거짓 실행 |
경로 커버리지 | 모든 경로 실행 (이론적) |
✅ 테스트 모듈
모듈 | 정의 |
---|---|
스텁 | 하향식에서 하위 모듈 대체 |
드라이버 | 상향식에서 상위 모듈 대체 |
☁️ 6. 클라우드 & 라우팅
✅ 클라우드 컴퓨팅
구분 | 설명 |
---|---|
IaaS | 인프라 제공 (서버) |
PaaS | 플랫폼 제공 (개발 환경 포함) |
SaaS | 소프트웨어 제공 (사용만 하면 됨) |
✅ 라우팅 프로토콜
프로토콜 | 방식 | 특징 |
---|---|---|
RIP | Distance Vector | 단순, 홉 수 제한(15) |
OSPF | Link State | 대규모 적합 |
BGP | Path Vector | AS 간 라우팅 |
⚙️ 7. 설계 및 디자인 패턴
패턴 | 특징 | 예시 |
---|---|---|
싱글톤 | 유일 인스턴스 생성 | DB 연결 객체 |
팩토리 메서드 | 객체 생성 서브클래스 위임 | 버튼 생성 |
추상 팩토리 | 관련 객체 집합 생성 | UI 테마 |
빌더 | 단계별 복잡 객체 생성 | 햄버거 빌더 |
어댑터 | 인터페이스 변환 | USB↔HDMI |
프록시 | 접근 제어 대리 객체 | 프록시 서버 |
옵저버 | 자동 알림 | 유튜브 구독 |
데코레이터 | 기능 동적 확장 | 커피 시럽 추가 |
🧾 8. 오류 제어
기법 | 설명 |
---|---|
해밍 코드 | 1비트 오류 정정 |
패리티 비트 | 1비트 오류 검출 |
CRC | 다항식 기반 오류 검출 |
FEC | 수신자가 자체 정정 |
BEC | 수신자 재전송 요청 |