홈으로

시험 직전 모드

값이 큰 것부터 위에 두었습니다. 아래로 내려갈수록 시간이 더 필요하니, 남은 시간만큼만 읽고 덮으세요. 필기에 나오는 것만 골라 두었습니다.

바꿔 내는 짝

30분

21개 — 시험이 가장 좋아하는 자리입니다. 둘을 나란히 두고 어느 쪽인지만 가려내세요.

프로토타입 모형↔나선형 모형📐 설계

둘 다 반복하지만 목적이 다르다. 프로토타입은 요구사항을 끌어내려고, 나선형은 위험을 줄이려고 돈다.

워크스루↔인스펙션📐 설계

워크스루는 개발자가 주도해 미리 배포한 자료로 훑는 비공식 검토, 인스펙션은 제3자(중재자)가 이끄는 공식 검토다.

집합 관계(Aggregation)↔포함 관계(Composition)📐 설계

속이 빈 마름모는 집합 — 부분이 따로 살 수 있다. 속이 찬 마름모는 포함 — 전체가 없어지면 부분도 없어진다.

include↔extend📐 설계

include 는 반드시, extend 는 조건부다. 화살표 방향도 반대다 — include 는 기본→포함, extend 는 확장→기본.

오버로딩(Overloading)↔오버라이딩(Overriding)📐 설계

오버로딩은 이름이 같고 매개변수가 다르다(컴파일 시), 오버라이딩은 물려받은 것을 덮어쓴다(실행 시).

전략(Strategy)↔상태(State)📐 설계

둘 다 객체를 갈아 끼우지만, 전략은 '어떻게 할지'를 밖에서 고르고 상태는 '지금 무엇인지'에 따라 스스로 바뀐다.

결합도↔응집도📐 설계

결합도는 모듈 '사이', 응집도는 모듈 '안'이다. 결합도는 낮게, 응집도는 높게가 목표다.

알파 테스트↔베타 테스트🔧 개발

알파는 개발자가 보는 앞에서 통제된 환경, 베타는 실제 사용자가 실제 환경에서 한다.

스텁(Stub)↔드라이버(Driver)🔧 개발

스텁은 '불리는' 하위 모듈 흉내(하향식), 드라이버는 '부르는' 상위 모듈 흉내(상향식)다.

AJAX↔REST🔧 개발

AJAX 는 화면을 새로 고치지 않고 부르는 방식이고, REST 는 자원을 URI 로 나타내는 설계 양식이다. 층이 다르다.

설치 매뉴얼↔사용자 매뉴얼🔧 개발

설치 매뉴얼은 '깔 때', 사용자 매뉴얼은 '쓸 때' 본다. 오류 메시지 대처는 설치 쪽, 기능별 사용법은 사용자 쪽이다.

2NF↔3NF🗄️ DB

2NF 는 '부분' 종속, 3NF 는 '이행' 종속을 없앤다. 부분은 복합키의 일부에만 붙는 것, 이행은 다리를 건너 붙는 것이다.

WHERE↔HAVING🗄️ DB

WHERE 는 묶기 전 행을 거르고, HAVING 은 묶은 뒤 그룹을 거른다. 집계 함수는 HAVING 에만 쓸 수 있다.

프로시저↔트리거🗄️ DB

프로시저는 사람이 CALL 로 부르고, 트리거는 테이블에 변화가 생기면 저절로 돈다.

데이터 정제↔데이터 변환🗄️ DB

정제는 잘못된 값을 바로잡는 일이고, 변환은 새 구조에 맞게 꼴을 바꾸는 일이다.

Call by value↔Call by reference💻 언어

값 전달은 복사본이라 원본이 안 바뀌고, 주소 전달은 원본이 바뀐다. 매개변수에 * 가 있는지 보면 된다.

메서드 호출↔필드 접근💻 언어

메서드는 실제 객체(Child)를 따르고, 필드는 참조 타입(Parent)을 따른다.

XSS↔CSRF🛡️ 구축관리

XSS 는 스크립트를 심어 '다른 사용자 브라우저에서' 돌게 하고, CSRF 는 로그인된 사용자가 '모르게 요청을 보내게' 한다.

증분 백업↔차등 백업🛡️ 구축관리

증분은 '마지막 백업' 이후, 차등은 '마지막 전체 백업' 이후를 뜬다. 복구는 차등이 빠르고 백업은 증분이 빠르다.

IDS↔IPS🛡️ 구축관리

둘 다 침입을 찾아내지만 IDS 는 알리기만 하고 IPS 는 그 자리에서 끊는다.

오용 탐지↔이상 탐지🛡️ 구축관리

오용 탐지는 알려진 공격 패턴과 견주고, 이상 탐지는 평소와 다른 행동을 찾는다. 알려지지 않은 공격은 이상 탐지만 잡을 수 있다.

통째로 외울 것

1시간

약어 풀이와 순서입니다. 뜻을 아는 것으로는 부족하고 글자 그대로 나와야 합니다.

나선형 4단계
계획 및 정의 → 위험 분석 → 개발 및 검증 → 고객 평가
폭포수
단계가 겹치지 않는다. 되돌아가기 어렵다
프로토타입
견본으로 요구사항을 끌어낸다. 버리는 것이 원칙
XP 5가지 가치
용기·단순성·의사소통·피드백·존중
스크럼 산출물
제품 백로그 · 스프린트 백로그 · 번다운 차트
요구사항 4단계
도출 → 분석 → 명세 → 확인
구조 6가지
클래스·객체·컴포넌트·배치·복합체 구조·패키지
행위 7가지
유스케이스·시퀀스·커뮤니케이션·상태·활동·상호작용 개요·타이밍
캡슐화
데이터 + 함수를 묶고 밖에서 못 건드리게
정보 은닉
안쪽 구현을 감추고 인터페이스로만
다형성
같은 메시지, 객체마다 다른 응답
S
단일 책임 — 바뀔 이유는 하나
O
개방 폐쇄 — 확장은 열고 변경은 닫고
L
리스코프 치환 — 하위가 상위를 대신
I
인터페이스 분리 — 안 쓰는 것에 의존 금지
D
의존 역전 — 추상에 의존
GoF 23
생성 5 · 구조 7 · 행위 11
결합도 낮음→높음
자료 · 스탬프 · 제어 · 외부 · 공통 · 내용
응집도 낮음→높음
우연 · 논리 · 시간 · 절차 · 통신 · 순차 · 기능
EAI 4유형
Point-to-Point · Hub & Spoke · Message Bus · Hybrid
1단계
구성·기능·인터페이스 파악
2단계
아키텍처·소프트웨어 구성 파악
3단계
하드웨어·네트워크 구성 파악
🔧 개발자료 구조
스택
LIFO — 후입선출
큐
FIFO — 선입선출
🔧 개발트리 순회
전위
뿌리 → 왼 → 오
중위
왼 → 뿌리 → 오
후위
왼 → 오 → 뿌리
O(n²)
버블 · 선택 · 삽입
O(n log n)
병합 · 힙 · 퀵(평균)
퀵 최악
O(n²) — 이미 정렬된 자료에 첫 원소를 피벗으로 잡을 때
화이트박스
기초 경로 · 조건 · 루프 · 데이터 흐름
블랙박스
동치 분할 · 경계값 · 원인-결과 · 오류 예측 · 비교
하향식
위 → 아래 · 스텁(Stub)
상향식
아래 → 위 · 드라이버(Driver)
V(G)
E − N + 2 = 분기 수 + 1
🔧 개발형상 관리
형상 관리 4단계
식별 → 통제 → 감사 → 기록
CMMI
초기 → 관리 → 정의 → 정량적 관리 → 최적화
SPICE
0 불완전 · 1 수행 · 2 관리 · 3 확립 · 4 예측 · 5 최적화
IPSec
네트워크 계층 보안
SSL/TLS
전송 계층 보안
S-HTTP
응용 계층 보안
NTAF
STAF + FitNesse (NHN)
외부
사용자 관점 · 여러 개
개념
조직 전체 · 하나
내부
저장 방식 · 물리
🗄️ DB키의 종류
슈퍼키
유일성 O · 최소성 X 일 수 있음
후보키
유일성 O · 최소성 O
🗄️ DB정규화
1NF
원자값
2NF
부분 함수 종속 제거
3NF
이행 함수 종속 제거
BCNF
결정자가 모두 후보키
DDL
CREATE · ALTER · DROP · TRUNCATE
DCL
GRANT · REVOKE
TCL
COMMIT · ROLLBACK · SAVEPOINT
A
원자성 — 전부 아니면 전무
C
일관성
I
고립성 — 중간 결과를 못 본다
D
지속성 — 고장 나도 남는다
CAP
일관성 · 가용성 · 분할 내성 중 둘까지
프로시저
CALL 로 부른다. 반환값이 없어도 된다
함수
반드시 값을 하나 돌려준다
트리거
이벤트가 나면 저절로 돈다
커서
DECLARE → OPEN → FETCH → CLOSE
Range
이어지는 값을 구간으로
Hash
해시 함수로 고르게
Eager
변경을 즉시 모든 사본에
Lazy
변경을 나중에 반영
E
Extraction — 원천에서 뽑기
T
Transformation — 규칙에 맞게 바꾸기
L
Loading — 목표에 넣기
arr[i]
*(arr + i) 와 같다
a[1:4]
1,2,3 — 끝은 포함하지 않는다
비선점
FCFS · SJF · HRN · 우선순위
선점
RR · SRT · 다단계 큐 · 다단계 피드백 큐
HRN
(대기 + 서비스) ÷ 서비스
2계층
브리지 · 스위치 · 프레임
3계층
라우터 · 패킷 · IP
4계층
TCP · UDP · 세그먼트
3-way
SYN → SYN+ACK → ACK
/26
호스트 62개 (64 − 네트워크 − 브로드캐스트)
자동화
사람 개입 없이 돈다
견고성
잘못된 자료에도 멈추지 않는다
안정성
문제 지점을 추적할 수 있다
🛡️ 구축관리비용 산정 모형
조직형
5만 줄 이하
반분리형
30만 줄 이하
내장형
30만 줄 초과
🛡️ 구축관리보안 — 암호화
대칭키
DES · AES · SEED · ARIA · IDEA
비대칭키
RSA · ECC · ElGamal · Diffie-Hellman
해시
MD5 · SHA 계열 · HAS-160
🛡️ 구축관리접근 통제
DAC
소유자가 결정
MAC
보안 등급으로 강제
RBAC
역할에 권한
🛡️ 구축관리보안 솔루션
IDS
탐지하고 알린다
IPS
탐지하고 막는다
NAC
단말이 규정을 지키는지 보고 접속 통제
DLP
내부 자료 유출 방지

꼭 봐야 할 개념

3시간

38개 — 한 줄 정의와 '시험에 어떻게 나오는가'만 모았습니다. 더 보고 싶으면 제목을 누르세요.

폭포수는 순서대로, 프로토타입은 만들어 보여 주고, 나선형은 위험을 먼저 재며 돈다.

나선형 모형의 네 단계 순서와 '위험 분석'이 어느 자리인지가 단골이다. 폭포수의 단점(되돌아가기 어렵다)과 프로토타입의 목적(요구사항 확인)을 바꿔 내기도 한다.

스크럼은 일을 굴리는 틀, XP는 코드를 다루는 실천법이다.

XP 의 다섯 가치를 고르게 하거나, 스크럼의 회의 이름을 바꿔 낸다. '일일 스크럼은 15분 내외로 선 채로 한다' 같은 서술의 참·거짓도 자주 나온다.

도출 → 분석 → 명세 → 확인. 기능 요구와 비기능 요구를 가른다.

'응답 시간은 2초 이내여야 한다'가 기능인지 비기능인지 고르게 한다. 개발 프로세스 네 단계의 순서도 단골이다.

사물·관계·다이어그램. 구조 다이어그램은 정적, 행위 다이어그램은 동적이다.

'다음 중 행위 다이어그램이 아닌 것은?' 형태로 거의 매회 나온다. 배치 다이어그램을 동적으로 착각하게 만드는 선지가 흔하다.

클래스·객체·캡슐화·상속·다형성. 실기 단답형의 단골이다.

실기에서 '데이터와 함수를 하나로 묶고 외부 접근을 막는 것'의 이름을 적게 한다. 필기는 오버로딩과 오버라이딩을 바꿔 낸다.

단일 책임·개방 폐쇄·리스코프 치환·인터페이스 분리·의존 역전.

다섯 원칙의 영문 약자와 설명을 짝짓게 한다. 실기에서는 설명을 주고 원칙 이름을 적게 한다.

다섯 개: 추상 팩토리·빌더·팩토리 메서드·프로토타입·싱글톤.

GoF 23개를 생성 5 · 구조 7 · 행위 11 로 나눈 개수를 묻거나, 특정 패턴이 어느 갈래인지 고르게 한다.

결합도는 낮을수록, 응집도는 높을수록 좋다. 순서를 외운다.

'결합도가 가장 낮은 것은?'과 '응집도가 가장 높은 것은?'이 번갈아 나온다. 순서를 통째로 외워 두는 편이 빠르다.

🔧 개발자료 구조

선형은 줄 세우고, 비선형은 가지를 친다. 스택은 후입선출, 큐는 선입선출.

스택으로 중위 → 후위 변환을 시키거나, 큐와 스택의 쓰임을 바꿔 낸다.

🔧 개발트리 순회

전위는 뿌리 먼저, 중위는 가운데, 후위는 뿌리 나중.

그림을 주고 순회 결과를 적게 하는 문제가 필기·실기 모두에서 나온다. 손으로 직접 따라가는 연습이 필요하다.

버블·선택·삽입은 O(n²), 병합·힙은 O(n log n), 퀵은 평균 O(n log n) 최악 O(n²).

'3회전 후의 상태를 적으시오' 형태가 실기에 나온다. 필기는 시간 복잡도를 바꿔 낸다 — 특히 퀵의 최악이 O(n²)이라는 점.

🔧 개발테스트 레벨

단위 → 통합 → 시스템 → 인수. V 모델로 개발 단계와 짝지어 본다.

알파와 베타를 바꿔 내는 문제가 잦다. V 모델의 짝도 자주 묻는다.

화이트박스는 안을 보고, 블랙박스는 밖에서만 본다.

'다음 중 블랙박스 기법이 아닌 것은?'이 단골이다. 경계값 분석이 왜 효과적인지(오류는 경계에서 난다)도 묻는다.

하향식은 스텁, 상향식은 드라이버. 이 짝을 바꿔 내는 문제가 매회 나온다.

'하향식 통합에서 사용하는 것은?' → 스텁. 이 한 줄이 거의 매회 나온다. 실기 단답형으로도 나온다.

V(G) = 간선 − 노드 + 2. 또는 분기 개수 + 1.

그래프를 주고 V(G) 를 계산하게 한다. 실기에서도 그대로 나오므로 공식을 외워 둔다.

데이터는 JSON·XML 로 주고받고, AJAX 로 화면을 새로 고치지 않고 부른다. 검증은 xUnit 계열 도구로 한다.

검증 도구 이름과 설명을 짝짓게 하거나, 인터페이스 보안을 계층별로 묻는다. IPSec-네트워크, SSL-전송, S-HTTP-응용 이 짝은 그대로 외워야 한다.

외부는 사용자의 눈, 개념은 조직 전체, 내부는 저장 방식.

세 스키마의 이름과 관점을 바꿔 낸다. 독립성 두 가지도 잦다.

🗄️ DB키의 종류

후보키 → 기본키·대체키, 그리고 슈퍼키·외래키.

'유일성은 만족하지만 최소성은 만족하지 않는 키는?' → 슈퍼키. 이 형태가 단골이다.

개체·참조·도메인. 기본키는 NULL 불가, 외래키는 있는 값만.

CASCADE 와 RESTRICT 의 동작을 바꿔 낸다.

🗄️ DB정규화

1NF 원자값 · 2NF 부분 함수 종속 제거 · 3NF 이행 종속 제거 · BCNF 결정자가 후보키.

'부분 함수 종속을 제거하면 몇 정규형인가?' → 2NF. 단계와 제거 대상을 짝짓는 문제가 매회 나오고, 실기 단답형으로도 나온다.

🗄️ DB이상 현상

삽입·삭제·갱신 이상. 정규화로 없앤다.

세 가지 이상의 정의를 바꿔 내는 문제가 잦다.

CREATE/ALTER/DROP · SELECT/INSERT/UPDATE/DELETE · GRANT/REVOKE, 그리고 TCL.

DROP · TRUNCATE · DELETE 의 차이가 단골이다. TRUNCATE 는 DDL 이라 ROLLBACK 으로 되돌릴 수 없다는 점도 나온다.

INNER 는 양쪽 다 있는 것, OUTER 는 한쪽이 없어도 남긴다.

WHERE 와 HAVING 을 바꿔 내는 문제가 매회 나온다. 실기에서는 조건을 주고 SQL 을 직접 쓰게 한다.

원자성·일관성·고립성·지속성.

ACID 네 글자와 뜻을 짝짓게 한다. 실기 단답형 단골이라 영문 철자까지 외워 둔다.

SQL 에 조건과 반복을 넣어 하나의 덩어리로 저장해 둔다. 트리거는 부르지 않아도 저절로 돈다.

프로시저·함수·트리거를 바꿔 내는 문제가 가장 흔하다. "직접 호출하지 않는다"는 트리거, "반드시 값을 반환한다"는 함수다.

배열 이름은 첫 원소의 주소다. *(p+i) 와 p[i] 는 같다.

배열과 포인터를 섞은 코드를 주고 출력을 적게 한다. 실기에서 거의 매회 나온다.

값 전달과 주소 전달. 주소를 넘겨야 원본이 바뀐다.

swap 함수를 주고 값 전달인지 주소 전달인지에 따라 결과가 달라지는 문제가 단골이다.

참조 변수의 타입이 아니라 실제 객체가 메서드를 정한다.

상속 관계에서 어떤 메서드가 불리는지 묻는 코드 문제가 매회 나온다. 필드는 타입을 따른다는 점이 함정이다.

리스트는 바뀌고 튜플은 안 바뀐다. 슬라이싱은 끝을 포함하지 않는다.

슬라이싱과 range 의 '끝을 포함하지 않는다'가 함정으로 쓰인다. 실기 코드 문항에서 자주 나온다.

선점과 비선점. FCFS·SJF·RR·우선순위.

'다음 중 선점 스케줄링이 아닌 것은?'과 HRN 계산이 단골이다.

배치 전략 세 가지와 페이지 교체 알고리즘.

참조열을 주고 LRU·FIFO 로 페이지 부재 횟수를 세게 한다. 벨레이디의 모순은 FIFO 에서만 난다는 점도 묻는다.

물리·데이터링크·네트워크·전송·세션·표현·응용.

특정 장비나 프로토콜이 어느 계층인지 묻는다. 라우터=3, 스위치=2 는 반드시 외운다.

TCP는 연결형, UDP는 비연결형. 서브넷 계산은 실기에도 나온다.

3-way handshake 순서와 서브넷 계산이 단골이다. 실기에서는 '사용 가능한 호스트 수'를 적게 한다.

🛡️ 구축관리비용 산정 모형

LOC·COCOMO·기능 점수. COCOMO 세 모드가 단골이다.

COCOMO 세 모드의 이름과 규모 기준을 짝짓게 한다. 숫자(5만·30만)까지 묻는다.

🛡️ 구축관리보안 — 공격 기법

DDoS·스미싱·랜섬웨어·SQL 삽입·XSS.

공격 이름과 방식을 짝짓게 한다. Smurf 와 SYN Flooding 을 바꿔 내는 문제가 잦다.

🛡️ 구축관리보안 — 암호화

대칭키는 빠르고 키 관리가 어렵다. 비대칭키는 느리지만 키 배분이 쉽다.

알고리즘 이름을 주고 대칭인지 비대칭인지 고르게 한다. AES 는 대칭, RSA 는 비대칭이 기본이다.

🛡️ 구축관리접근 통제

DAC는 주인이, MAC는 규칙이, RBAC는 역할이 정한다.

세 가지 접근 통제의 이름과 결정 주체를 짝짓게 한다. 실기 단답형으로도 나온다.

🛡️ 구축관리보안 솔루션

방화벽은 경계에서 거르고, IDS 는 찾아내 알리고, IPS 는 찾아내 끊는다. VPN 은 공중망 위에 안전한 길을 낸다.

IDS 와 IPS 의 차이를 묻는 것이 가장 흔하다. "탐지하고 알린다"는 IDS, "탐지하고 막는다"는 IPS 다.

마지막으로

필기는 과목마다 20문항이고, 한 과목이라도 40점에 못 미치면 평균이 아무리 높아도 떨어집니다. 남은 시간이 얼마 없다면 가장 약한 과목 하나만 붙드세요.