기타

2025년 정보처리기사 실기 핵심 요약

공영재 2025. 5. 9. 11:06

트랜잭션

- ACID

Atomicity (원자성) : 전부 수행되거나 전부 취소되어야 함 (Commit / Rollback)
Consistency (일관성) : 트랜잭션 수행 후에도 DB 상태는 항상 유효해야 함
Isolation (독립성) : 동시에 실행되어도 서로 간섭 없이 동작해야 함
Durability (영속성) : 완료된 트랜잭션 결과는 시스템 고장 후에도 유지

- 부분완료(partially commited) : 아직 COMMIT되지 않아 확정되지 않음 / COMMIT / ROLLBACK

 

정규화

- 이상 현상: 삽입, 삭제, 갱신

- 함수적 종속: A(결정자) -> B(종속자)

- 정규화 (제1, 제2, 제3, 보이스/코드 BCNF, 제4, 제5)

제1정규형 (1NF) : 모든 속성값이 원자값(더 이상 나눌 수 없음)
제2정규형 (2NF) : 1NF + 부분적 함수 종속 제거 (기본키 전체에 종속)
제3정규형 (3NF) : 2NF + 이행적 함수 종속 제거 (비기본키 → 비기본키)
BCNF (보이스-코드 정규형) : 모든 결정자가 후보키 (3NF보다 강화된 조건)
제4정규형 (4NF) : 다중값 종속 제거 (A →→ B 형태의 종속 관계 분해)

- 반정규화 : 성능 향상을 위해 정규화된 데이터를 의도적으로 통합하거나 중복

 

데이터베이스 설계

- 개념적 설계: E-R Diagram

- 논리적 설계: 목표 DBMS에 맞는 설계, 정규화, 트랜잭션 인터페이스

- 물리적 설계: 특정 DBMS에 맞는 설계, 물리적 구조, 데이터 타입, 인덱스 등 고려

 

키(Key)
- 후보키(Candidate Key): 유일성 + 최소성을 만족하는 튜플 식별 속성 집합
- 기본키(Primary Key): 후보키 중 선택된 대표 키 (NULL·중복 불가)
- 대체키(Alternate Key): 기본키 제외 나머지 후보키
- 슈퍼키(Super Key): 유일성만 만족하는 속성 집합 (최소성 없음)
- 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 키 (없는 값 참조 불가)

무결성 제약조건
- 개체 무결성: 기본키는 NULL·중복 불가
- 참조 무결성: 외래키는 NULL이거나 참조 릴레이션의 기본키 값과 일치해야 함

순수 관계 연산자
- Select (σ): 조건을 만족하는 튜플 선택
- Project (π): 지정한 속성만 추출해 열 선택
- Join (▷◁): 공통 속성 기준으로 두 릴레이션을 결합 (= 교차곱 + 선택)
- Division (÷): B의 조건을 모두 만족하는 A의 튜플에서 공통 부분 추출

 

정보보안 3요소

- 기밀성: 정보의 암호화

- 무결성: 인가된 사용자만 변경

- 가용성: 인가됐으면 언제든지 접근 (DoS는 가용성을 해침)

 

블랙박스 테스트 기법

- 동등 분할 기법

- 경계값 분석

- 원인-효과 그래프 검사

- 상태전이 검사

 

보안 솔루션

- VPN : 공중 네트워크 사용해 전용 회선처럼 보안 통신 제공

- SIEM: 보안 경고 실시간 분석, 빅데이터 기반 심층 분석

- WAF: 웹 기반 공격(SQL 삽입, XSS) 방어하기 위한 방화벽

- 기타 - IDS(탐지), IPS(방지), NAC(접근통제)

 

결합도(Coupling) - 낮을수록 좋음 (자료가 가장 좋음)

- 자료 결합도(값 전달) -> 스탬프 결합도(배열, 오브젝트 전달) -> 제어 결합도(제어 요소 전달) -> 외부 결합도(외부에서 데이터 참조) -> 공통 결합도(전역변수 이용) -> 내용 결합도(다른 모듈 변수 이용)

 

응집도(Cohesion) - 높을수록 좋음 (기능적이 가장 좋음)

- 우논시절 통순기

 

형상관리 : 개발 시 발생하는 모든 변경사항 통제 및 관리

- 도구: CVS, SVN, Git

- 절차: 형상 식별 - 형상 통제 - 형상 감사 - 형상 기록

 

라우팅 프로토콜

- RIP, OSPF

 

네트워크

- OSI 7계층

- 패킷 교환

- 프로토콜 : 송수신 간 데이터 교환을 위한 표준 통신 규약

- ARP/RARP : ARP: IP→MAC, RARP: MAC→IP

 

DB

- RAID : 데이터를 여러 디스크에 분산 저장

- 리커버리

- 신기술

 

디자인 패턴

- 생성 패턴 : 클래스나 객체의 생성과 참조 과정 정의

! 추상 팩토리 : 구체적인 클래스에 의존하지 않고 인터페이스로 연관-의존하는 객체들의 그룹으로 추상적 생성

! 빌더 : 작게 분리된 인스턴스를 건축하듯이 조합해 객체 생성

! 팩토리 메서드 : 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴

! 프로토타입 : 원본 객체 복제해서 생성

! 싱글톤 : 하나의 객체를 생성하면 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없는 패턴

- 구조 패턴 : 구조가 복잡한 시스템을 개발하기 쉽도록 클래스나 객체를 조합해 더 큰 구조로 만드는 패턴

! 어댑터 : 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴

! 브릿지 : 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한 패턴

! 컴포지트 : 여러 객체를 가진 복합 객체와 단일 객체를 구분없이 다루고자 할 때 사용하는 패턴. 트리 구조

! 데코레이터 : 객체간의 결합을 통해 능동적으로 기능을 확장할 수 있는 패턴. 덧붙이는 방식

! 퍼싸드 : wrapper 객체로 서브 클래스들 사이 통합 인터페이스 제공

! 프록시 : 접근이 어려운 객체와 여기에 연결하려는 객체 사이에서 인터페이스 역할

- 행위 패턴 : 클래스나 객체가 상호작용하는 방법 및 책임을 정의하는 패턴

! 책임 연쇄 : 한 객체가 처리하지 못하면 다음 객체로 넘어감

! 커맨드 : 요청을 객체 형태로 캡슐화, 로그에 남김

! 인터프리터 : 언어에 문법 표현을 정의하는 패턴 및 프로토콜과 같은 것을 개발할 때 사용

! 반복자 : 자료구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴. 노출 없이 순차 접근

! 중개자 : 상호작용을 캡슐화해 의존성 줄여 결합도 감소

! 메멘토 : 특정 시점에서의 객체 내부 상태를 객체화, 해당 시점으로 돌릴 수 있는 기능 제공 패턴

! 옵저버 : 상태가 변화하면 상속된 다른 객체들에게 변화된 상태를 전달

! 상태 : 상태에 따라 동작을 다르게 처리해야할 때 상태 캡슐화 및 참조

! 전략 : 알고리즘을 개별적으로 캡슐화

! 템플릿 메서드 : 상위 클래스에서 골격을 정의, 하위 클래스에서 구체화

! 방문자 : 각 클래스의 자료구조에서 처리 기능을 분리하여 별도의 클래스로 구성, 분리된 기능은 클래스 방문해서 수행

 

요구사항 검토

- 피어리뷰: 동료간 상호 리뷰

- 워크 스루: 요구사항 명세서를 미리 배포해 사전 검토

- 인스펙션: 명세 작성자를 제외한 검토 전문가들이 명세서 확인

- 프로토타이핑: 견본품으로 최종 결과 예

 

미들웨어

- DB, RPC, MOM, TP-Monitor, ORB, WAS

 

EAI

- Point to point, Hub & Spoke, Message Bus, Bus Hybrid

 

APM(Application Performance Management) : 어플리케이션 성능 관리 위해 접속자, 트랜잭션, 장애 진단 등 모니터링 기능 제공

 

테스트

- 단위, 통합, 인수

- 파레토 법칙 : 전체 결함의 80%는 전체 코드 중 20%의 영역에서 발생

 

암호화

- LFSR: 선형 피드백 시프트 레지스터, 스트림 암호에 사용됨.
- RC4: 스트림 기반 대칭키 암호 알고리즘.
- DES, AES, ARIA, SEED: 대표적 대칭키 블록 암호 알고리즘.
- RSA: 큰 소수의 곱 기반 공개키 암호 알고리즘.

 

서비스 공격

- Ping of death: 과도한 ping으로 시스템 마비.
- Smurfing: IP 스푸핑 + ICMP를 통한 증폭 공격.
- Tear drop: 잘못된 fragment offset으로 시스템 다운 유도.
- Land attack: 출발지=목적지 IP/포트로 패킷 보내기.
- DDoS: 분산된 공격으로 자원 고갈 유도.

그 외 세션 하이재킹, ARP 스푸핑, 스니핑, 워터링 홀, 키로거 공격, 랜섬웨어, 백도어

 

배치 전략

- First Fit(첫번째 영역), Best Fit(단편화 가장 적게), Worst Fit(단편화 가장 크게)

 

아래 블로그가 매우 도움되었습니다.

https://velog.io/@okbear3/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC-%EC%8B%A4%EA%B8%B0-%EC%9D%B4%EB%A1%A0-%EC%A0%95%EB%A6%AC

 

# 후기

2025년 기준 정보처리기사 실기는 Java, C, Python에 대해 숙지하는 것이 훨씬 중요했다.

컴퓨터공학 전공자에게 훨씬 유리한 시험이라 느꼈다.

loading