시험장에서 떠오르는 한 줄

시험 직전 암기장

긴 설명은 접고, 답안으로 꺼낼 한 줄만 훑습니다.

Java🔥 반드시03

오버로딩과 매개변수 타입

같은 이름의 메서드 중 매개변수 타입에 맞는 것을 컴파일할 때 선택합니다.

Java⭐ 빈출04

업캐스팅과 부모 참조

자식 객체를 부모 타입 변수로 다룰 수 있지만 보이는 멤버는 부모 타입 기준입니다.

Java🔥 반드시06

상속과 생성자 실행 순서

객체를 만들 때 부모 생성자 본문이 자식 생성자 본문보다 먼저 실행됩니다.

Java🧠 이해 필요07

this와 super 생성자 연결

this(...)는 같은 클래스, super(...)는 부모 클래스의 생성자를 호출합니다.

Java🔥 반드시08

static 필드와 객체별 필드

static 필드는 클래스가 공유하고 인스턴스 필드는 객체마다 따로 존재합니다.

Java🧠 이해 필요09

추상 클래스와 구현 메서드

추상 클래스는 직접 만들 수 없으며 구체 자식이 추상 메서드를 구현합니다.

Java⭐ 빈출10

interface와 구현 객체

인터페이스 타입으로 구현 객체를 다루며 implements로 계약을 이행합니다.

Java⭐ 빈출11

try와 catch 실행 경로

예외가 발생하면 try의 남은 문장을 건너뛰고 맞는 catch로 이동합니다.

Java⭐ 빈출12

finally와 반환값 추적

일반적인 try/catch 종료 때 finally가 실행되며 반환값 계산 시점을 구분합니다.

Java⚠ 함정16

String 불변성과 재대입

String 연산은 원래 객체를 고치지 않으며 결과를 다시 저장해야 합니다.

Java🧠 이해 필요17

for 반복과 continue

continue는 현재 회차의 나머지를 건너뛰고 다음 회차로 이동합니다.

Java🧠 이해 필요19

switch와 break

전통적인 switch 문은 break가 없으면 다음 case의 문장으로 이어집니다.

Java🔥 반드시20

재귀와 호출 복귀

재귀는 종료 조건까지 호출한 뒤 되돌아오며 남은 계산을 수행합니다.

Java⚠ 함정22

논리 연산 단락 평가

&&는 앞이 false, ||는 앞이 true이면 뒤를 평가하지 않습니다.

Java⚠ 함정23

정수 나눗셈과 형변환

정수끼리 나눈 뒤 변환하는 것과 나누기 전에 실수로 바꾸는 것은 다릅니다.

Java🧠 이해 필요24

객체 참조와 독립 상태

같은 객체를 가리키는 참조는 상태를 공유하고 new 객체는 독립 상태를 갖습니다.

Java🟡 후순위25

static 메서드 숨김

같은 이름의 static 메서드는 오버라이딩이 아니라 선언 타입 기준으로 선택됩니다.

Java🧠 이해 필요26

instanceof와 다형성 배열

instanceof는 실제 객체가 해당 타입으로 다뤄질 수 있는지 검사합니다.

C🧠 이해 필요28

변수와 대입

대입은 오른쪽 값을 계산한 후 왼쪽 변수에 저장합니다.

C⚠ 함정29

정수 나눗셈과 나머지

정수 나눗셈은 0 방향으로 소수 부분을 버리며 %는 나머지를 구합니다.

C🔥 반드시30

배열과 인덱스

배열의 첫 원소는 0번이며 유효한 인덱스 범위 안에서 접근합니다.

C🔥 반드시31

C 문자열과 널 문자

C 문자열은 문자 배열이며 끝에 널 문자 \0이 들어갑니다.

C🔥 반드시33

포인터와 역참조

포인터는 주소를 저장하며 역참조로 가리키는 값을 읽거나 수정합니다.

C🔥 반드시34

배열과 포인터의 연결

대부분의 식에서 배열 이름은 첫 원소를 가리키는 포인터로 변환됩니다.

C🔥 반드시35

포인터 연산과 이동

p + k는 같은 배열에서 k개의 원소만큼 이동한 위치입니다.

C🔥 반드시36

후위 증가

x++는 현재 값을 식에 제공한 후 x를 1 증가시킵니다.

C🔥 반드시37

전위 증가

++x는 x를 1 증가시킨 값을 식에 제공합니다.

C⭐ 빈출39

함수 인자의 값 전달

일반 정수 인자는 값이 복사되므로 매개변수만 바꿔도 호출자 변수는 그대로입니다.

C⭐ 빈출40

주소 전달로 원본 수정

함수에 변수 주소를 넘기고 역참조하면 호출자 저장칸을 수정할 수 있습니다.

C⭐ 빈출41

구조체와 멤버

구조체는 여러 값을 하나로 묶으며 일반 변수의 멤버는 .으로 접근합니다.

C🔥 반드시43

재귀와 종료 조건

재귀 함수는 종료 조건에 도달한 뒤 호출 순서의 역순으로 복귀합니다.

C🔥 반드시44

이중 포인터

int **pp는 int 포인터의 주소를 저장하며 **pp로 정수 칸에 접근합니다.

C⭐ 빈출45

비트 AND와 마스크

비트 AND는 같은 자리의 비트가 둘 다 1일 때 1입니다.

C⭐ 빈출46

비트 이동

부호 없는 정수의 왼쪽 이동은 비트를 왼쪽으로 옮기고 오른쪽 이동은 낮은 자리를 버립니다.

C🧠 이해 필요47

XOR와 OR

XOR는 서로 다른 자리만 1, OR는 한쪽이라도 1이면 1입니다.

C🧠 이해 필요48

반복문과 누적값

반복 조건과 증가식 순서대로 매 회차의 누적값을 추적합니다.

C🧠 이해 필요50

조건 분기와 삼항 연산

조건이 참이면 첫 값, 거짓이면 두 번째 값을 선택합니다.

C🧠 이해 필요51

지역 static 변수

함수의 지역 static 변수는 호출이 끝나도 값을 유지합니다.

C🧠 이해 필요52

switch와 fall-through

break가 없으면 다음 case의 문장도 이어서 실행됩니다.

C🧠 이해 필요54

이차원 배열

a[r][c]는 r행 c열이며 행마다 연속된 원소들이 배치됩니다.

C⚠ 함정55

포인터 차이

같은 배열 원소를 가리키는 두 포인터의 차이는 원소 개수입니다.

C⭐ 빈출56

sizeof와 배열 길이

실제 배열의 원소 수는 sizeof 배열 / sizeof 첫 원소로 구할 수 있습니다.

C⚠ 함정57

단락 평가와 논리값

&&와 ||는 결과가 정해지면 오른쪽을 생략하며 결과는 0 또는 1입니다.

Python🔥 반드시58

List와 원소 변경

List는 순서가 있고 원소를 바꿀 수 있습니다.

Python⚠ 함정59

리스트 별명과 얕은 복사

b=a는 같은 리스트를 가리키고 a[:]는 바깥 리스트의 얕은 복사를 만듭니다.

Python⭐ 빈출60

Tuple과 한 원소 튜플

Tuple은 원소를 직접 바꿀 수 없으며 한 원소 튜플은 쉼표가 필요합니다.

Python🔥 반드시61

Dictionary와 키 갱신

Dictionary는 키로 값을 찾으며 같은 키에 다시 대입하면 값을 갱신합니다.

Python🔥 반드시62

Set과 집합 연산

Set은 중복을 제거하며 출력 순서를 전제로 하지 않습니다.

Python🔥 반드시63

Slice와 시작·끝·간격

a[start:stop:step]은 시작을 포함하고 끝은 제외합니다.

Python⭐ 빈출64

음수 인덱스

-1은 마지막 원소, -2는 뒤에서 두 번째 원소입니다.

Python🧠 이해 필요65

문자열과 문자열 메서드

문자열은 불변이며 replace·upper 등의 결과를 저장해야 합니다.

Python⭐ 빈출66

range와 반복 누적

range의 끝값은 포함되지 않으며 continue는 다음 회차로 이동합니다.

Python🧠 이해 필요67

조건문과 정수 나눗셈

if-elif-else는 처음 참인 가지 하나만 실행하며 //는 아래로 내립니다.

Python🔥 반드시68

함수 인자와 지역 이름

인자는 객체의 참조를 전달하고 매개변수 재대입은 지역 이름만 바꿉니다.

Python🟡 후순위69

가변 기본 인자

기본 인자의 리스트는 함수 정의 시 한 번 만들어져 호출 사이에 공유될 수 있습니다.

Python🟡 후순위70

지역 변수와 global

함수 안에서 대입한 이름은 기본적으로 지역 변수이며 global 선언은 전역 이름을 사용합니다.

Python⭐ 빈출71

클래스와 객체별 속성

self로 저장한 인스턴스 속성은 객체마다 따로 관리됩니다.

Python🧠 이해 필요72

상속과 메서드 재정의

자식이 재정의한 메서드를 호출하며 super는 부모 구현을 연결합니다.

Python🧠 이해 필요73

리스트 컴프리헨션

표현식, 반복 범위, 조건 순서로 결과 원소를 만듭니다.

Python⚠ 함정74

언패킹과 동시 대입

오른쪽을 먼저 계산한 뒤 왼쪽 이름들에 순서대로 넣습니다.

Python⚠ 함정75

sorted와 sort

sorted는 새 목록을 반환하고 list.sort는 원본을 정렬한 후 None을 반환합니다.

Python⚠ 함정76

and와 or의 반환값

and와 or는 단순한 True/False 대신 평가한 피연산자 값을 반환할 수 있습니다.

DB⭐ 빈출78

슈퍼키

유일성은 있지만 불필요한 속성을 포함할 수 있습니다.

DB🔥 반드시79

후보키

유일성 + 최소성

DB🔥 반드시80

기본키

후보키 중 대표로 선택한 키

DB⭐ 빈출81

대체키

기본키로 선택되지 않은 후보키

DB🔥 반드시82

외래키

다른 관계의 키를 참조하여 관계를 연결합니다.

DB⭐ 빈출83

개체 무결성

기본키는 NULL과 중복을 허용하지 않습니다.

DB⭐ 빈출84

참조 무결성

외래키 값은 참조 대상에 존재하거나 허용된 NULL이어야 합니다.

DB⭐ 빈출85

도메인 무결성

속성 값은 정해진 타입과 허용 범위를 따릅니다.

DB🧠 이해 필요86

스키마와 인스턴스

스키마는 구조, 인스턴스는 특정 시점의 데이터

DB🧠 이해 필요87

관계형 모델

튜플은 행, 속성은 열, 도메인은 허용 값 집합

DB🔥 반드시88

함수 종속

X → Y: 같은 X이면 항상 같은 Y

DB⭐ 빈출89

이상 현상

삽입·갱신·삭제 이상은 중복 설계의 부작용

DB🔥 반드시90

원자성

모두 성공하거나 모두 취소합니다.

DB🔥 반드시91

일관성

트랜잭션 전후에 정의한 무결성 규칙을 만족합니다.

DB🔥 반드시92

고립성

동시에 실행되는 거래의 간섭을 제어합니다.

DB🔥 반드시93

영속성

커밋된 결과는 장애 후에도 유지되어야 합니다.

DB⚠ 함정94

Dirty Read

아직 커밋하지 않은 다른 거래의 값을 읽습니다.

DB🧠 이해 필요96

2단계 잠금

확장 단계는 획득, 축소 단계는 해제

DB🧠 이해 필요97

WAL과 회복

데이터 페이지보다 관련 로그를 먼저 안정 저장합니다.

DB🧠 이해 필요98

체크포인트

회복 때 살펴볼 로그 범위를 줄이는 기준점

DB⭐ 빈출99

인덱스

조회 위치를 빨리 찾는 보조 구조

DB⭐ 빈출100

뷰

SELECT로 정의하는 가상 테이블

DB🧠 이해 필요101

트리거

데이터 변경 등의 이벤트에 의해 실행됩니다.

SQL🔥 반드시102

CREATE

CREATE → DDL · 테이블 생성

SQL⭐ 빈출103

ALTER

ALTER → DDL · 컬럼 추가

SQL⭐ 빈출104

DROP

DROP → DDL · 테이블 정의 삭제

SQL⭐ 빈출105

TRUNCATE

TRUNCATE → DDL · 전체 행 비우기

SQL🔥 반드시106

SELECT

SELECT → DML · 행 조회

SQL🔥 반드시107

INSERT

INSERT → DML · 행 추가

SQL🔥 반드시108

UPDATE

UPDATE → DML · 행 변경

SQL🔥 반드시109

DELETE

DELETE → DML · 행 삭제

SQL⭐ 빈출110

GRANT

GRANT → DCL · 권한 부여

SQL⭐ 빈출111

REVOKE

REVOKE → DCL · 권한 회수

SQL🔥 반드시112

COMMIT

COMMIT → TCL · 거래 확정

SQL🔥 반드시113

ROLLBACK

ROLLBACK → TCL · 거래 취소

SQL⭐ 빈출114

SAVEPOINT

SAVEPOINT → TCL · 부분 취소 기준점 설정

SQL🔥 반드시115

INNER JOIN

조건이 맞는 양쪽 행의 조합만 반환

SQL🔥 반드시116

LEFT JOIN

왼쪽은 전부 유지, 미대응 오른쪽은 NULL

SQL⭐ 빈출117

RIGHT JOIN

오른쪽은 전부 유지, 미대응 왼쪽은 NULL

SQL⭐ 빈출118

FULL OUTER JOIN

양쪽의 미대응 행까지 유지

SQL🧠 이해 필요119

SELF JOIN

같은 테이블에 다른 별칭을 붙여 연결

SQL🧠 이해 필요120

CROSS JOIN

모든 행 조합: m×n

SQL🔥 반드시121

GROUP BY / HAVING

WHERE는 그룹 전, HAVING은 그룹 후

SQL🔥 반드시122

NULL과 COUNT

NULL은 미지 값, COUNT(col)은 NULL 제외

SQL⚠ 함정123

DISTINCT

선택한 컬럼 조합의 중복을 제거

SQL⭐ 빈출125

UNION / UNION ALL

UNION은 중복 제거, UNION ALL은 유지

DB🧠 이해 필요127

ERD와 관계 차수

개체는 대상, 속성은 특징, 관계는 대상 사이의 연결입니다.

SQL🧠 이해 필요129

프로시저와 절차형 SQL

등록한 작업 루틴을 호출하여 데이터 조작을 묶습니다.

SQL🧠 이해 필요130

사용자 정의 함수

계산을 함수로 정의하고 반환값을 SQL 표현식에 사용합니다.

SQL⚠ 함정131

트리거와 OLD / NEW

이벤트에 연결되어 자동 실행하며 변경 전·후 행을 참조합니다.

SQL🧠 이해 필요132

윈도우 순위 함수

ROW_NUMBER는 행 번호 / RANK는 동점 뒤 건너뜀 / DENSE_RANK는 순위 연속

정규화🔥 반드시135

제1정규형

1NF → 속성에 원자값

정규화🔥 반드시136

제2정규형

2NF → 비주요 속성의 부분 종속 제거

정규화🔥 반드시137

제3정규형

3NF → 비주요 속성의 이행 종속 제거

정규화🔥 반드시138

BCNF

BCNF → 비자명 함수 종속의 결정자는 슈퍼키

정규화⭐ 빈출139

제4정규형

4NF → 비자명 다치 종속의 결정자는 슈퍼키

정규화⭐ 빈출140

제5정규형

5NF → 후보키로 설명되지 않는 조인 종속을 분해

보안🔥 반드시141

기밀성·무결성·가용성

기밀성은 비밀 보호, 무결성은 변조 방지, 가용성은 필요할 때 사용입니다.

보안⭐ 빈출142

인증과 인가

인증은 누구인지, 인가는 무엇을 할 수 있는지 확인합니다.

보안⭐ 빈출143

DAC 임의적 접근 통제

DAC는 소유자에게 접근 권한 결정의 재량을 줍니다.

보안⭐ 빈출144

MAC 강제적 접근 통제

MAC는 중앙 정책과 보안 등급으로 접근을 강제합니다.

보안🧠 이해 필요146

최소 권한 원칙

업무에 필요한 최소 권한만 줍니다.

보안🔥 반드시147

대칭키 암호

대칭키는 암호화와 복호화에 같은 비밀 키를 씁니다.

보안🔥 반드시148

비대칭키 암호

공개키와 개인키는 서로 연결된 다른 키입니다.

보안🔥 반드시149

해시와 충돌 저항성

해시는 요약값이며 복호화하는 암호문이 아닙니다.

보안🔥 반드시150

전자서명

개인키로 서명하고 공개키로 검증합니다.

보안🟡 후순위151

PKI와 인증서

인증서는 공개키와 주체의 연결을 확인하게 합니다.

보안🧠 이해 필요152

TLS와 HTTPS

TLS는 통신 구간을 보호하며 사이트 내부의 모든 취약점을 없애지는 않습니다.

보안🔥 반드시153

SQL Injection

입력값을 SQL 명령과 분리해서 바인딩합니다.

보안🔥 반드시154

XSS

브라우저가 입력을 실행 코드로 해석하지 않게 합니다.

보안⭐ 빈출155

CSRF

로그인된 브라우저의 권한을 악용한 요청 위조입니다.

보안🧠 이해 필요156

버퍼 오버플로

버퍼 범위를 넘는 쓰기는 다른 메모리를 손상시킬 수 있습니다.

보안🧠 이해 필요157

OS 명령어 삽입

입력을 셸 명령문과 직접 합치지 않습니다.

보안🧠 이해 필요158

경로 탐색 공격

사용자가 정한 경로가 허용된 디렉터리 밖으로 나가지 않게 합니다.

보안🧠 이해 필요159

피싱과 사회공학

피싱은 믿을 만한 상대인 척하여 정보를 빼냅니다.

보안⭐ 빈출160

랜섬웨어

랜섬웨어는 데이터나 시스템 사용을 막고 대가를 요구합니다.

보안🔥 반드시161

DoS와 DDoS

DoS는 서비스 방해, DDoS는 여러 출발지에서 분산된 서비스 방해입니다.

보안🧠 이해 필요162

재전송 공격

과거의 유효한 메시지를 다시 보내는 공격입니다.

보안🧠 이해 필요163

비밀번호 해시와 Salt

비밀번호는 Salt와 적절한 비용의 전용 해시로 저장합니다.

보안🟡 후순위164

위협·취약점·위험

위협은 해칠 가능성, 취약점은 약점, 위험은 가능성과 피해를 함께 봅니다.

보안🟡 후순위165

Zero Trust

내부 네트워크라는 이유만으로 자동 신뢰하지 않습니다.

보안⭐ 빈출166

IDS와 IPS

IDS는 탐지·알림, IPS는 탐지에 더해 차단을 수행할 수 있습니다.

네트워크🔥 반드시167

OSI 7계층

물리 → 데이터 링크 → 네트워크 → 전송 → 세션 → 표현 → 응용 순서입니다.

네트워크🔥 반드시168

TCP 연결과 신뢰성

TCP는 순서 있는 바이트 스트림을 신뢰성 있게 전달합니다.

네트워크🔥 반드시169

UDP

UDP 자체는 전달·순서·중복 방지를 보장하지 않습니다.

네트워크🔥 반드시170

IPv4와 서브넷

IPv4는 32비트이며 마스크로 네트워크와 호스트 부분을 나눕니다.

네트워크🧠 이해 필요171

IPv6

IPv6는 128비트이며 브로드캐스트 주소를 사용하지 않습니다.

네트워크⭐ 빈출172

DNS

DNS는 이름에 대한 레코드를 조회하는 분산된 계층 체계입니다.

네트워크🧠 이해 필요173

DHCPv4

Discover → Offer → Request → ACK로 설정을 받습니다.

네트워크⭐ 빈출174

ARP와 다음 홉

ARP는 같은 링크의 IPv4 주소에 대응하는 MAC 주소를 찾습니다.

네트워크🧠 이해 필요175

ICMP

ICMP는 IP 전달의 제어·오류 정보를 알립니다.

네트워크⭐ 빈출176

HTTP 메서드와 상태 코드

HTTP는 요청·응답이며 메서드의 의미와 상태 코드를 구분합니다.

네트워크🧠 이해 필요177

포트와 소켓

IP는 호스트를, 전송 포트는 통신하는 끝점을 구분하는 데 사용합니다.

네트워크🧠 이해 필요178

SMTP·POP3·IMAP

SMTP는 전송, POP3·IMAP은 메일함 접근입니다.

네트워크🟡 후순위179

FTP·SSH·SFTP

FTP와 SFTP는 다른 프로토콜이며 SFTP는 SSH 기반 파일 전송입니다.

네트워크🧠 이해 필요180

NAT와 NAPT

NAT는 주소를, NAPT는 주소와 포트를 변환합니다.

네트워크🧠 이해 필요181

라우팅과 최장 접두사

일치하는 경로 중 가장 긴 접두사를 우선합니다.

네트워크⭐ 빈출182

RIP

RIP는 거리 벡터 방식이며 홉 수를 비용으로 사용합니다.

네트워크⭐ 빈출183

OSPF

OSPF는 링크 상태 정보를 사용하며 최단 경로를 계산합니다.

네트워크🟡 후순위184

BGP

BGP는 자율 시스템 사이의 경로와 정책을 다룹니다.

네트워크🧠 이해 필요185

스위치와 라우터

L2 스위치는 MAC 주소로, 라우터는 목적 IP 경로로 전달합니다.

네트워크🧠 이해 필요186

흐름 제어와 혼잡 제어

흐름은 수신자 용량, 혼잡은 네트워크 용량을 고려합니다.

네트워크⭐ 빈출187

VPN과 IPsec

VPN은 공유망 위에 논리적인 사설 연결을 구성합니다.

네트워크🧠 이해 필요188

MAC 주소와 IP 주소

MAC은 링크 전달, IP는 네트워크 사이의 전달을 이해하는 주소입니다.

네트워크🟡 후순위189

CIDR과 경로 집약

/n은 주소 앞부분 n비트가 접두사라는 뜻입니다.

OS🧠 이해 필요190

프로세스와 PCB

프로세스는 실행 중인 프로그램이며 PCB에 실행 상태를 관리합니다.

OS🧠 이해 필요191

프로세스와 스레드

같은 프로세스의 스레드는 주소 공간을 공유하되 실행 문맥은 따로 가집니다.

OS🧠 이해 필요192

프로세스 상태 전이

준비는 CPU 대기, 대기는 사건 대기, 실행은 CPU 사용입니다.

OS🧠 이해 필요193

문맥 교환

중단한 실행 문맥을 저장하고 다음 실행 문맥을 복원합니다.

OS🔥 반드시194

FCFS와 대기 시간

FCFS는 먼저 도착한 작업부터 비선점 실행합니다.

OS🔥 반드시195

SJF

SJF는 준비된 작업 중 짧은 실행 시간을 우선하는 비선점 방식입니다.

OS⭐ 빈출196

SRTF 선점형 SJF

SRTF는 남은 실행 시간이 가장 짧은 작업을 우선합니다.

OS🔥 반드시197

Round Robin

정해진 시간 할당량만큼 실행하고 남으면 큐 뒤로 보냅니다.

OS🧠 이해 필요198

우선순위와 Aging

낮은 우선순위의 기아를 줄이기 위해 대기 중 우선순위를 높일 수 있습니다.

OS🔥 반드시199

교착 상태와 4조건

상호 배제·점유 대기·비선점·순환 대기를 확인합니다.

OS🧠 이해 필요201

경쟁 상태와 임계 구역

공유 자료에 대한 실행 순서가 결과를 바꾸면 경쟁 상태를 의심합니다.

OS⭐ 빈출202

뮤텍스와 세마포어

뮤텍스는 배타적 소유, 세마포어는 허용 개수나 신호를 관리합니다.

OS🧠 이해 필요203

가상 메모리

프로세스의 가상 주소를 물리 메모리 등에 매핑합니다.

OS⭐ 빈출204

페이징과 세그먼테이션

페이징은 고정 크기, 세그먼테이션은 논리 단위의 가변 크기입니다.

OS🟡 후순위205

TLB

TLB는 최근 주소 변환 정보를 빠르게 찾는 캐시입니다.

OS🔥 반드시207

FIFO 페이지 교체

가장 먼저 들어온 페이지부터 교체합니다.

OS🔥 반드시208

LRU 페이지 교체

가장 오랫동안 사용하지 않은 페이지를 교체합니다.

OS⭐ 빈출209

OPT 최적 페이지 교체

앞으로 가장 늦게 사용하거나 다시 쓰지 않을 페이지를 교체합니다.

OS🧠 이해 필요210

스래싱과 작업 집합

페이지 교체에 시간을 대부분 쓰면 스래싱을 의심합니다.

OS🟡 후순위211

파일·디렉터리·inode

디렉터리는 이름을 연결하고 inode는 파일 메타데이터 등을 관리합니다.

OS🟡 후순위212

IPC와 공유 메모리

프로세스 간 자료 전달과 동기화를 별도로 생각합니다.

OS🧠 이해 필요213

CLI·GUI와 셸

CLI는 명령을 입력하고 GUI는 창·메뉴 등 화면 요소로 조작합니다.

OS🧠 이해 필요215

pwd·cd와 상대 경로

pwd는 현재 위치를 보여 주고 cd는 셸의 작업 디렉터리를 바꿉니다.

OS⭐ 빈출217

chmod와 rwx 권한

r=4 · w=2 · x=1을 소유자/그룹/기타 사용자 순으로 더합니다.

OS🧠 이해 필요218

ps·kill과 signal

ps는 프로세스 정보를 보고 kill은 신호를 보냅니다.

OS⭐ 빈출219

LFU 페이지 교체

LFU는 참조 횟수가 가장 적은 페이지를 교체합니다.

보안⭐ 빈출220

APT 지능형 지속 위협

APT는 표적에 발판을 유지하며 목적을 지속적으로 추구하는 위협입니다.

보안⭐ 빈출221

Rootkit과 은폐

Rootkit은 호스트 기능을 은밀하게 바꾸어 공격 활동을 숨기는 도구 묶음입니다.

테스트🧠 이해 필요222

테스트의 기본 원칙

테스트는 결함을 찾지만 결함이 전혀 없음을 증명하지 못한다.

테스트⭐ 빈출223

Verification과 Validation

Verification은 명세를 제대로 구현했는지, Validation은 사용자 목적에 맞는지 확인한다.

테스트🔥 반드시225

블랙박스와 화이트박스

블랙박스는 명세·입출력, 화이트박스는 내부 구조를 기준으로 시험한다.

테스트🔥 반드시226

동등 분할

같은 처리를 예상하는 입력 집합마다 대표값을 고른다.

테스트🔥 반드시227

경계값 분석

범위가 바뀌는 경계와 그 가까운 값을 집중 검사한다.

테스트🧠 이해 필요228

결정 테이블 테스트

조건의 조합과 그 조합에 따른 행동을 표로 검사한다.

테스트🧠 이해 필요229

상태 전이 테스트

현재 상태와 사건에 따라 바뀌는 다음 상태를 시험한다.

테스트🔥 반드시230

문장 커버리지

실행한 문장 수 ÷ 실행 가능한 전체 문장 수 × 100.

테스트🔥 반드시231

분기 커버리지

각 분기의 가능한 결과를 실행한다.

테스트⭐ 빈출232

조건 커버리지

복합 조건 안의 각 기본 조건이 참·거짓을 갖도록 검사한다.

테스트⭐ 빈출235

테스트 스텁과 드라이버

스텁은 호출되는 하위 모듈 대역, 드라이버는 호출하는 상위 모듈 대역.

테스트⭐ 빈출236

하향식·상향식 통합

하향식은 위부터 스텁, 상향식은 아래부터 드라이버.

테스트🧠 이해 필요238

테스트 케이스와 오라클

입력·사전조건·기대 결과를 정하고, 기대 결과를 판단할 근거를 둔다.

테스트⚠ 함정239

오류·결함·실패

사람의 오류 → 산출물의 결함 → 실행 중 관찰되는 실패.

테스트🟡 후순위242

탐색적 테스트

학습·테스트 설계·실행을 함께 진행하며 발견에 따라 다음 시험을 바꾼다.

테스트🧠 이해 필요243

리뷰·워크스루·인스펙션

워크스루는 작성자 설명 중심, 인스펙션은 정해진 절차와 역할 중심.

테스트🟡 후순위244

위험 기반 테스트

발생 가능성과 영향이 큰 위험에 테스트를 우선 배분한다.

테스트🧠 이해 필요245

소프트웨어 품질 특성

정확한 기능·안정적인 운영·빠른 처리·쉬운 변경 등 서로 다른 품질을 구분한다.

설계🧠 이해 필요247

Builder · 빌더

생성 패턴 · 복잡한 객체의 조립 과정과 최종 표현을 분리한다.

설계🧠 이해 필요249

Prototype · 프로토타입

생성 패턴 · 원형 객체를 복제하여 새 객체를 만든다.

설계🔥 반드시250

Singleton · 싱글턴

생성 패턴 · 클래스 인스턴스를 하나로 제한하고 접근 지점을 제공한다.

설계🧠 이해 필요251

Adapter · 어댑터

구조 패턴 · 기존 인터페이스를 사용자가 기대하는 인터페이스로 맞춘다.

설계🧠 이해 필요252

Bridge · 브리지

구조 패턴 · 추상화와 구현을 분리하여 각각 독립적으로 바꾼다.

설계🧠 이해 필요253

Composite · 컴포지트

구조 패턴 · 트리의 낱개와 묶음을 같은 인터페이스로 다룬다.

설계🧠 이해 필요254

Decorator · 데코레이터

구조 패턴 · 같은 인터페이스의 래퍼로 객체 기능을 겹쳐 추가한다.

설계🧠 이해 필요255

Facade · 퍼사드

구조 패턴 · 복잡한 하위 시스템에 간단한 통합 진입점을 제공한다.

설계🟡 후순위256

Flyweight · 플라이웨이트

구조 패턴 · 반복되는 내부 상태를 공유하고 개별 외부 상태를 따로 전달한다.

설계🧠 이해 필요257

Proxy · 프록시

구조 패턴 · 대리 객체로 실제 객체 접근을 통제한다.

설계🧠 이해 필요259

Command · 커맨드

행위 패턴 · 요청을 객체로 만들어 저장·대기·취소 같은 처리를 분리한다.

설계🟡 후순위260

Interpreter · 인터프리터

행위 패턴 · 작은 언어의 문법을 객체로 표현하고 문장을 해석한다.

설계🧠 이해 필요261

Iterator · 반복자

행위 패턴 · 내부 저장 구조를 드러내지 않고 요소를 순서대로 접근한다.

설계🟡 후순위262

Mediator · 중재자

행위 패턴 · 여러 객체의 복잡한 상호작용을 중재 객체에 모은다.

설계🟡 후순위263

Memento · 메멘토

행위 패턴 · 캡슐화를 지키며 이전 상태를 저장하고 복원한다.

설계🔥 반드시264

Observer · 옵저버

행위 패턴 · 한 객체의 상태 변경을 등록된 여러 관찰자에게 알린다.

설계🧠 이해 필요265

State · 상태

행위 패턴 · 현재 상태를 객체로 분리하여 상태에 따른 동작을 바꾼다.

설계🧠 이해 필요266

Strategy · 전략

행위 패턴 · 알고리즘 대안을 캡슐화하여 교체한다.

설계🧠 이해 필요267

Template Method · 템플릿 메서드

행위 패턴 · 전체 알고리즘 순서는 유지하고 일부 단계를 하위 클래스가 바꾼다.

설계🟡 후순위268

Visitor · 방문자

행위 패턴 · 객체 구조의 요소 클래스와 그 요소에 수행할 연산을 분리한다.

설계⭐ 빈출269

클래스도와 객체도

클래스도는 타입의 구조, 객체도는 특정 시점 인스턴스의 모습.

설계⭐ 빈출270

유스케이스와 액터

시스템 밖의 역할과 그 역할이 시스템으로 이루려는 목표를 표현한다.

설계⚠ 함정271

include와 extend

include는 포함할 행동 쪽, extend는 확장될 기본 유스케이스 쪽으로 화살표.

설계⭐ 빈출272

시퀀스도와 통신도

시퀀스도는 메시지 순서, 통신도는 협력 연결과 번호를 강조한다.

설계🧠 이해 필요273

활동도

행동의 흐름, 조건 분기, 병렬 작업과 합류를 표현한다.

설계🧠 이해 필요275

컴포넌트도와 배치도

컴포넌트도는 소프트웨어 구성·인터페이스, 배치도는 실행 노드와 배치.

설계⭐ 빈출276

일반화·실체화·의존

일반화는 특수→일반, 실체화는 구현→계약, 의존은 사용→대상.

설계⭐ 빈출277

집합과 합성

빈 마름모는 공유 집합, 채운 마름모는 강한 소유 관계인 합성.

설계🧠 이해 필요278

UML 가시성과 다중성

+ public, − private, # protected, ~ package; 0..*는 0개 이상.

설계🧠 이해 필요281

좋은 요구사항 명세

모호하지 않고 일관되며 검증 가능하고 추적 가능한 요구로 작성한다.

설계🧠 이해 필요282

요구사항 추적성

요구의 출처와 설계·구현·시험 사이 연결을 유지한다.

설계🔥 반드시284

응집도의 종류

전통적 순서: 우연 → 논리 → 시간 → 절차 → 통신 → 순차 → 기능.

설계🔥 반드시285

결합도의 종류

전통적 약→강: 자료 → 스탬프 → 제어 → 외부 → 공통 → 내용.

기타🔥 반드시286

형상관리와 기준선

무엇을 관리할지 식별하고 변경을 통제·기록·감사한다.

기타🟡 후순위287

형상 상태 기록과 감사

상태 기록은 변경·버전 현황, 감사는 산출물과 요구·기록의 일치 확인.

기타⭐ 빈출289

폭포수·나선형·V 모델

폭포수는 단계 흐름, 나선형은 위험 분석 반복, V 모델은 개발과 테스트 대응.

기타⭐ 빈출290

애자일의 핵심 가치

협력·작동하는 제품·변화 대응을 중시하며 짧게 피드백한다.

기타🧠 이해 필요292

XP의 실천

짧은 피드백과 품질을 위해 테스트·짝 프로그래밍·리팩터링 등을 함께 실천한다.

기타🧠 이해 필요293

TDD의 순서

실패 테스트 → 최소 구현으로 성공 → 동작 보존 리팩터링.

기타🧠 이해 필요294

REST의 자원과 무상태성

자원을 일관된 인터페이스로 다루고 각 요청은 처리에 필요한 맥락을 제공한다.

기타🧠 이해 필요295

JSON과 XML

JSON은 이름-값·배열 등의 값 구조, XML은 태그 기반 요소 구조.

기타🧠 이해 필요296

SOAP와 WSDL

SOAP는 메시지 틀, WSDL은 서비스 인터페이스 설명.

기타🧠 이해 필요297

RPC와 메시지 기반 연계

RPC는 원격 기능 호출 추상화, 메시징은 메시지 전달로 협력한다.

기타🟡 후순위298

IaaS·PaaS·SaaS

IaaS는 기반 자원, PaaS는 앱 실행 플랫폼, SaaS는 완성된 앱 서비스.

기타🟡 후순위299

IoT·센서·액추에이터

IoT는 물리 세계와 연결된 장치가 네트워크로 데이터와 동작을 주고받는 구조.

기타🟡 후순위300

빅데이터의 V 특성

기본 3V: Volume 규모, Velocity 속도, Variety 다양성.

설계🧠 이해 필요301

SOLID 설계 원칙

SRP 책임, OCP 확장, LSP 대체, ISP 작은 계약, DIP 추상 의존.

설계🧠 이해 필요302

MVC의 역할 분리

Model은 데이터·업무, View는 표현, Controller는 입력 반응을 조정.

테스트🧠 이해 필요303

결함 보고와 우선순위

재현 조건·기대/실제 결과·영향을 기록하고 심각도와 수정 우선순위를 구분한다.

기타🟡 후순위304

블록체인과 연결 해시

공유 원장의 블록을 암호학적으로 연결하여 변조 탐지·저항을 돕는다.

기타🧠 이해 필요309

인월·기간·생산성 계산

노력은 인원×투입 기간, 비용은 노력×인월 단가로 조건에 맞춰 계산한다.

기타🧠 이해 필요312

배포 방식과 롤백 개념

Blue-Green은 두 환경의 전환, Canary는 작은 대상부터 점진 적용, Rollback은 이전 상태로 복귀한다.

기타🧠 이해 필요315

미들웨어와 ESB

미들웨어는 시스템 간 연결을 돕고 ESB는 라우팅·변환·연계를 중개한다.

기타🧠 이해 필요318

순차 검색과 이진 검색

순차는 하나씩, 이진은 정렬된 범위를 절반씩 줄여 찾는다.

기타🧠 이해 필요319

선택·삽입·버블 정렬 추적

선택은 최솟값 선택, 삽입은 정렬된 앞부분에 끼우기, 버블은 이웃 비교·교환이다.

기타🧠 이해 필요320

병합·퀵 정렬과 안정성

병합은 정렬된 부분을 합치고, 퀵은 피벗으로 나누며 퀵의 최악은 O(n²)이다.

기타⭐ 빈출321

이진트리의 전위·중위·후위

전위는 루트-왼쪽-오른쪽, 중위는 왼쪽-루트-오른쪽, 후위는 왼쪽-오른쪽-루트이다.

설계🧠 이해 필요325

UI 표준·메뉴·입력폼 흐름

사용자 요구와 UI 지침에 맞춰 일관된 메뉴·입력·피드백·화면 흐름을 설계한다.

설계🧠 이해 필요327

연계 주기·실패·중복 처리

요구 지연·처리량에 맞춰 주기를 정하고 실패·재시도·중복·데이터 표준을 명세한다.

기타🧠 이해 필요328

설치 매뉴얼과 사용자 매뉴얼

설치 매뉴얼은 환경·설치·확인 절차, 사용자 매뉴얼은 목적별 사용·오류 해결을 안내한다.

기타🟡 후순위329

DRM: 콘텐츠 사용 권한 관리

DRM은 콘텐츠 사용을 허가된 권한·조건에 맞춰 통제하는 기술 체계이다.

기타🟡 후순위330

힙과 힙 정렬

최대 힙은 부모≥자식, 최소 힙은 부모≤자식이며 루트에서 우선값을 꺼낸다.