Qualification

[정처기] 실기 공부 #2

yeon.___.jin 2025. 4. 18. 20:34
반응형

흥달쌤 유튜브 라이브를 보고 다시 한번 복습하며 정리한 내용으로, 제가 정리한 부분도 있어 틀린 부분이 있을 수도 있습니다.
혹시 잘못된 부분이나 보완할 점이 있다면, 댓글로 자유롭게 알려주시면 감사하겠습니다 🙇‍♂️🙇‍♂️


후보키 기본키로 사용 가능한 속성 집합, 유일성/ 최소성을 만족 
기본키 후보키 중 하나를 선택,  NULL 불가, 중복 불가
유일성/ 최소성 만족
대체키 후보키가 2개 이상일 때, 기본키로 선택되지 않은 나머지 후보키, 유일성/최소성 만족 
슈퍼키 유일성은 만족하지만 최소성은 만족 불가
외래키 다른 릴레이션의 기본키를 참조하는 속성 

 

무결성 제약조건

  • 개체 무결성 : 기본키는 중복되지 않고, NULL 값을 가질 수 없다.
  • 참조 무결성 : 외래키는 NULL 이거나, 참조 릴레이션의 기본키와 일치해야 한다.
  • 도메인 무결성 : 모든 속성 값은 정의된 도메인에 속해야 한다.
  • 고유 무결성 : 특정 속성 값은 중복되지 않고 유일해야 한다.
  • 릴레이션 무결성 : 삽입, 삭제, 갱신 등의 연산은 릴레이션의 무결성을 해치지 않아야 한다.

트랜잭션 - 하나의 일 처리 단위

ACID

원자성 (Atomicitiy) - 모두 반영되거나, 모두 반영되지 않아야 한다 / COMMIT, ROLLBACK의 영향을 받음

일관성 (Consistency) - 트랜잭션이 종료되면 일관된 상태를 유지해야 함

독립성, 경리성( Isolation) - 다른 트랜잭션이 영향을 미치면 안됨

영속성 (Durability) - 트랜잭션이 완료되면, 결과는 영구히 보존되어야 함

 

COMMIT/ROLLBACK

COMMIT - 트랜잭션의 변경 내용을 확정해서 DB에 반영

ROLLBACK - 트랜잭션의 변경 내용을 취소해서 이전 상태로 복원

부분완료상태 - 트랜잭션 수행 중, 아직 반영되지 않은 상태

 

정규화

정규화를 하는 이유 - 데이터를 잘게 나누어 중복을 제거

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

  • 제1정규형(1NF) - 도메인이 원자값
  • 제2정규형(2NF) - 부분 함수 종속 제거 
  • 제3정규형(3NF) - 이행적 함수 종속 제거
  • 보이스/코드 정규형(BCNF) - 모든 결정자가 후보키가 되어야 함
  • 제4정규형(4NF) - 다치 종속 제거
  • 제5정규형(5NF) - 조인 종속 제거

반정규화

정규화된 데이터를 의도적으로 중복시켜 → 성능 향상, 개발/운영 편의성 도모

 

데이터베이스 설계 단계

1. 요구 조건 분석  
2. 개념적 설계 E-R 다이어그램
3. 논리적 설계 목표에 맞는 DBMS에 맞는 설계
정규화
트랜잭션 인터페이스 설계 
4. 물리적 설계 특정 DBMS에 맞는 설계
물리적 구조, 저장 구조, 데이터 타입의 특지,인덱스 등을 고려 
구현  

 

3계층 스키마

외부 스키마 - 개념 스키마 - 내부 스키마 - 데이터베이스

 

외부 스키마 - 사용자가 보는 관점

개념 스키마 - 데이터베이스의 전체적인 구조와 제약조건

내부 스키마 - 전체적인 입장에서 본 것 

 

논리적 독립성 - 외부스키마와 개념 스키마 사이에 존재, 개념스키마가 변경되어도 외부 스키마에 영향 X

물리적 독립성 - 개념스키마와 내부 스키마 사이에 존재, 내부스키마가 변경되어도 개념 스키마나 내부 스키마에 영향 X

 

정보 보안 요소 

  • 기밀성 : 정보의 암호화
  • 무결성 : 인가된 사용자만 변경
  • 가용성 : 언제든지 접근
  • 인증 : 사용자의 신원 확인
  • 부인방지 / 부인봉쇄 : 정보 전송 부인 방지 

AAA

  • 인증 (Authentication) - 사용자의 신원 확인
  • 권한 부여 (Authorization) - 사용자에게 권한 부여 / 제한
  • 계정 관리 (Accounting) - 사용 내역 기록 

인증

  • 지식 기반 : 아이디/비밀번호
  • 소유 기반 : OTP, 신분증
  • 생체 기반 : 지문, 홍채, 얼굴 인식
  • 행위 기반 : 서명, 동작패턴

인증방식 

  • OAuth : 다른 서비스에 접근할 수 있도록 돕는 인증 프로그램
  • SSO : 한 번의 로그인으로 여러 서비스에 자동으로 인증되는 방식
  • 아이핀 : 주민등록번호 대체 수단

접근 통제

  • 강제적 접근 통제(MAC) - 등급
  • 임의적 접근 통제(DAC) - 신원/신분
  • 역할 기반 접근 통제(RBAC) - 역할

병행제어를 하지 않았을 때의 문제점 

  • 갱신 분실
  • 비완료 의존성
  • 모순성
  • 연쇄복귀

병행 제어 기법

  • 로킹(Locking) - 트랜잭션이 자원을 사용하는 동안 다른 트랜잭션의 접근을 막음
  • 2단계 로킹 규약(Two-Phase Locking Protocol) - 확장 & 축소 단계를 가지고 있음
  • 타임 스탬프(Time Stamp) - 트랜잭션마다 시간순서(번호) 부여 → 순서 지켜서 처리
  • 낙관적 병행제어 - 충돌이 거의 없을 거라고 가정 → 마지막에 검사해서 문제 있으면 ROLLBACK
  • 다중 버전 병행제어 - 하나의 데이터에 여러 버전(Time Stamp) 유지 → 읽기/쓰기 충돌 최소화

회복 기법

  • 로그 기반 회복 기법
    • 지연 갱신 : 트랜잭션이 끝날 때까지 실제 DB 반영 X, 끝나고 반영 + REDO
    • 즉시 갱시/즉각 갱신 : 트랜잭션 도중에도 DB 반영, 장애 발생시 REDO + UNDO
  • 검사점 회복 기법 
  • 그림자 페이징 회복 기법
  • 미디어 회복 기법(덤프)

REDO - 트랜잭션이 성공적으로 끝났는데, 장애로 반영이 안 됐을 경우 → 다시 반영하기 ( 재실행)

UNDO - 트랜잭션이 끝나지 않았는데 장애가 발생한 경우, 이전 상태로 되돌리기 (되돌리기)

 

블랙박스 테스트 기법

  • 동등 분할 기법(Equivalence Partitioning Testing)
  • 경계값 분석(Boundary Value Analysis)
  • 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
  • 오류 예측 검사(Error Guessing)
  • 비교 검사(Comparison Testing)
  • 상태전이 검사(State Transition Testing)

보안 솔루션

  • VPN - 공중 네트워크를 사용해 전용 회선처럼 보안 통신을 제공하는 솔루션, 전용회선을 쓰는 것처럼
  • SIEM - 보안 경고의 실시간 분석, 빅 데이터 기반 보안 분석 (로그분석기)
  • WAF - 웹 기반 공격을 방어하기 위한 방화벽
  • IDS - 비정상적인 접근을 탐지하는 시스템
  • IPS - IDS + 실시간 차단 기능 포함
  • DLP - 데이터 유출
  • NAC - 사용자나 장비가 네트워크에 접근할 때 인증/검증하여 접근을 통제하는 기술
  • FDS - 금융 거래 패턴을 분석하여, 비정상적이거나 이상 거래 탐지

결합도(Coupling)

  • 자료 결합도(Data) - 값 전달 ⬇️ (가장 낮음, 가장 좋음)
  • 스탬프 결합도(Stamp) - 배열, 오브젝트 등 전달
  • 제어 결합도(Control) - 제어 요소 전달
  • 외부 결합도(External) - 외부에서 데이터 참조
  • 공통 결합도(Commmon) - 전역변수 이용
  • 내부 결합도(Content) - 다른 모듈의 변수/기능 이용 ⬆️ (가장 높음)

응집도(Cohesion), 높을수록 좋음

  • 기능적 응집도 (Functional) - 단일 목적 수행 (응집도 강함, 품질이 높음)
  • 순차적 응집도 (Sequential) - 출력값을 입력값으로 사용
  • 통신적 응집도 (Communication) - 동일한 입력과 출력을 사용
  • 절차적 응집도 (Procedural) - 순차적으로 사용
  • 시간적 응집도 (Temporal) - 특정 시간에 처리
  • 논리적 응집도 (Logical) - 유사한 성격
  • 우연적 응집도 (Coincidental) - 연관 없는 경우 (응집도 약함, 품질이 낮음)

UI 설계

  • 직관성 - 누구나 쉽게 이해하고 사용
  • 유효성 - 사용자의 목적을 정확하게 달성
  • 학습성 - 누구나 쉽게 배우고 익힘
  • 유연성 - 사용자의 요구사항을 최대한 수용

UI 유형

  • CLI - 키보드로 명령어 입력
  • GUI - 그래픽과 텍스트 기반의 인터페이스
  • NUI - 인간의 자연스러운 움직임

형상관리 - 개발 과정에서 발생하는 모든 변경 사항을 통제하고 관리하는 방법

형상 관리 절차 (순서 X, 구분만)

  • 형상 식별 - 관리 항목 구분
  • 형상 통제 - 변경 요청을 검토하고 승인하여 현재의 기준선에 반영
  • 형상 감사 - 계획에 따른 검토
  • 형상 기록 - 과정을 기록

형상 관리 도구 - CVS, SVN, Git

 

패킷 교환

  • 가상회선 방식 (연결형) - 호를 설정해줌 (연결을 확립), 연결을 확립하게 되면 끊임없이 데이터를 주고받을 수 있음
  • 데이터그램 방식 (비연결형) - 연결확립 X, 목적지에 다 보내는 방식

OSI 7계층

  • 응용 - 사용자와 프로그램 간 인터페이스 제공
  • 표현 - 서로 다른 데이터 표현형식 간 변환 담당(암호화, 디코딩)
  • 세션 - 세션을 관리하고 통신 연결 상태를 유지
  • 전송 - 양 종단간의 신뢰성 있는 정보를 전달
  • 네트워크 - 데이터를 목적지까지 라우팅하고 전송 경로를 설정 / 라우터
  • 데이터링크 - 인접한 노드들간의 신뢰성 있는 정보를 전달 / 스위치, 브리지
  • 물리 - 전기적인 신호를 이용해서 전달 / 허브, 리피터

라우팅 프로토콜

정적 라우팅 프로토콜은 시험에 나오지 않을 것 같음

동적 라우팅 프로토콜 - 자기가 알아서 경로를 판단

  • EGP (외부)
  • IGP ( 내부)
    • 거리 벡터 알고리즘 (RIP, 벨만포드)
    • 링크 상태의 알고리즘 (OSPF, 다익스트라)

EAI - 기업 내 다양한 플랫폼 및 애플리케이션을 연결하고 통합하는 솔루션

  • point-to-point
  • Hub & Spoke
  • Message Bus
  • Bus Hybrid

전송 데이터

  • JSON : 이름과 값의 쌍으로 데이터를 구성
  • XML : 데이터를 저장하고 전달하는 목적의 마크업 언어, 구조화된 언어
  • YAML : 데이터 직렬화 언어

인터페이스 구현

  • AJAX
    • 비동기 방식으로 데이터를 교환할 수 있는 통신 기능
    • 페이지를 새로고침하지 않고 페이지 일부만을 변경
  • SOAP
    • HTTP, HTTPS, SMTP 등을 통해 XML 기반 메시지를 교환하는 포로토콜,
    • SOAP(메시지 교환 프로토콜), UDDI(업체 목록 등록), WSDL(세부사항 기술)
  • REST
    • HTTP URI를 통한 자원 식별과 HTTP Method를 통한 CRUD 작업을 구현하는 자원 기반의 프로토콜

스토리지

DAS
(Direct Attached Storage)
직접 연결 / 공유 불가 컴퓨터에 직접 꽂는 외장하드처럼 생각!
→ 서버 1대만 사용 가능
NAS
(Network Attached Storage)
파일 공유 / 네트워크 공유기처럼 연결해서 여러 명이 파일 공유
 파일 서버 역할
SAN
(Storage Area Network)
고속 / 블록 단위 / 비쌈 대형 병원/은행에서 DB서버용 고성능 저장소
→ 빠르고 비싸고 전문적

RAID

  • RAID-0 : 스트라이핑
  • RAID-1 : 미러링
  • RAID-2 :  해밍코드
  • RAID-3 : 한 디스크에 패리티 저장
  • RAID-4 : RAID-3과 유사, 블록 단위로 분산 저장
  • RAID-5 : 각 디스크에 패리티 포함
  • RAID-6 : 두 개의 패리티, 분산저장

DoS 공격 - 정상적인 서비스를 수행하지 못하도록 방해하는 공격

  • Smurf Attack : IP와 ICMP 프로토콜의 특성을 이용
  • Ping Of Death : 정상 크기 이상의 ICMP 패킷 전송
  • Land Attack : 출발지 IP와 목적지 IP가 동일한 패킷 전송
  • Teardrop Attack : 재조립 과정 방해
  • SYN Flooding : SYN 신호만 전송
  • UDP Flooding : 대량의 UDP 패킷을 전송
  • Ping Flooding  : 대량의 ICMP Echo 요청 패킷

DDOS : 분산 서비스 공격 

 

보안용어

  • 타이포스쿼팅 - 사이트의 주소 일부러 틀리게 만들어, 사용자의 실수 유발
  • 트러스트존 - 일반 영역과 보안 영역을 분리해 민감한 데이터를 안전하게 처리
  • APT -장기간에 걸쳐 목표를 정밀하게 노린 지속적이고 지능적인 공격
  • 랜섬웨어 - 데이터를 암호화한 뒤, 복호화 대가로 몸값을 요구
  • 다크데이터 - 수집/저장 되었지만 활용되지 않는 데이터
  • 스턱스넷 - 물리적 파괴 목적
  • 스니핑 - 네트워크 상에서 전송되는 데이터를 가로채어 도청
  • 킬스위치 - 비상 상황 시 즉시 종료하거나 작동을 차단하는 보안 기능
  • 제로데이 공격 - 보안 취약점이 공개되기 전에 이를 악용해 이루어지는 공격
  • 사회 공학 - 사람의 심리/신뢰를 이용해 기밀 정보나 접근 권한을 탈취하는 비기술적 해킹 수법
  • 파밍 - 악성 코드나 DNS 변조 등을 통해 사용자를 가짜 사이트로 유도
  • 살라미 - 소액을 반복적으로 빼내어 큰 이득을 취하는 금융범죄

클라우드 서비스 -> 빌려쓰다 

  • IAAS : 인프라 자원(서버, 스토리지 등) 제공
  • PaaS : 개발할 수 있는 환경을 빌리는 클라우드 (플랫폼)
  • SaaS : 소프트웨어를 인터넷상에서 제공

소프트웨어 정의 기술

  • SDN : 네트워크를 소프트웨어로 제어
  • SDS : 스토리지 소프트웨어를 분리
  • SDC : 컴퓨팅 자원을 소프트웨어로 제어
  • SDDC : 데이터센터의 인프라 가상화

유닉스 - 1969년, 미국 AT&T 벨 연구소에서 켄 톰슨이 개발한 운영체제

유닉스의 구성

  • 커널 : UNIX의 가장 핵심적인 부분
  • 쉘 : 명령어 해석기

권한 변경 : chmod(권한 부여), umask(권한을 뺐음), chown

 

프로토콜 : 표준화된 통신 규약

기본 요소 

  • 구문 (Syntax)
  • 의미 (Semantics)
  • 타이밍 (Timing)

오류 제어

  • 전진 오류 수정(FEC) - 스스로 오류 검출 및 수정(해밍코드, 상승코드)
  • 후진 오류 수정(BEC) - 오류 발견 후 재전송 요청(패리티 검사, CRC, 블록 합)

리팩토링 - 기능의 변경 없이 내부 구조를 개선하는 방법

소스코드 품질 분석

  • 동료 검토(Peer Review) - 개발자 등 동료가 자발적으로 참여하는 비공식적인 검토 활동
  • 워크스루(Walkthrough) - 작성자가 주도하여 문서를 설명하고 참여자들이 질문하며 검토
  • 인스펙션(Inspection) - 공식적인 검토 절차
  • 외계인 코드 - 아주 오래되거나, 참고 문서 또는 개발자가 없어서 유지보수 작업이 어려운 프로그램

객체지향 분석 방범론

럼바우(Rumbaugh) 방법

  • 객체 모델링(Object Modeling) - 객체 다이어그램
  • 동적 모델링(Dynamic Modeling) - 상태 다이어그램
  • 기능 모델링(Functional Modeling) - DFD(자료 흐름도)

소프트웨어 개발 방범론

애자일 : 작고 빠른 반복을 통해 고객의 요구에 유연하게 개발하는 소프트웨어 개발 방범론

나선형 모델 : 계획 -> 위험분석 -> 개발 -> 평가 이 과정을 반복해 점진적으로 개발 

폭포수 : 순차적 처리, 고전적

프로토타입 : 시제품

 

객체지향 구성요소

  • 클래스 - 속성과 연산을 정의해서 만든 틀
  • 객체 - 클래스의 인스턴스
  • 속성 - 객체들이 가지고 있는 고유한 데이터
  • 메서드 - 작업을 수행하기 위한 명령문의 집합
  • 메시지 - 객체에게 어떤 행위를 하도록 지시 

객체지향 특성

  • 캡슐화 - 속성과 메서드를 하나로 묶은 것
  • 정보 은닉 - 내부 데이터에 직접 접근할 수 없도록 제한
  • 상속 - 상위 클래스의 속성과 메서드를 하위 클래스가 물려받는 것
  • 다형성 - 하나의 메시지에 대해 여러 가지 방법으로 응답
    • 오버로딩 - 하나의 클래스 내에서 같은 이름의 메서드를 매개변수의 수나 타입이 다르게 정의하는 것
    • 오버라이딩 - 상속받은 메서드를 하위 클래스에서 재정의하는 것 (이름, 매개변수 동일)
  • 추상화 - 실체의 핵심적인 개념만을 추출

객체지향 설계 원칙(SOLID)

  • 단일 책임 원칙(SRP) - 한 클래스는 하나의 책임만 가져야 한다
  • 개방-폐쇄 원칙(OCP) - 확장에는 열려 있고, 수정에 닫혀 있어야 한다
  • 리스코프 치환 원칙(LSP) - 자식 클래스는 언제나 자신의 부모 클래스를 대체한다.
  • 인터페이스 분리 원칙(ISP) - 사용하지 않는 인터페이스는 구현하지 말아야 한다.
  • 의존관계 역전 원칙(DIP) - 변화가 거의 없는 것에 의존한다.

백업

  • 전체 백업 - 모든 데이터를 백업
  • 증분 백업 - 변경/추가 데이터만 백업
  • 차등 백업 - 모든 변경/추가된 데이터를 백업
  • 합성 백업 - 전체 백업본과 여러 개의 증분 백업을 합쳐 새로운 전체 백업 구성

백업 수행 방식

  • API 방식 - 백업 대상의 API 호출을 통해 데이터 추출
  • Plug-in 방식 - 전용 플러그인 사용하여 백업 수행
  • TED 방식 - 에이전트 없이 백업하는 방식 (무중단 백업에 활용)

RTO/RPO

  • 복구 시간 목표(RTO) - 서비스를 사용할 수 없는 상태로 허용되는 시간
  • 복구 시점 목표(RPO) - 최대 데이터 손실 시간

테스트 오라클

  • 테스트 결과가 올바른지 판단하기 위해 정의된 참값과 비교하여 검증하는 기법
  • 테스트 결과가 참인지 거짓인지 판단하기 위해 미리 정의된 참값을 대입해 비교하는 기법/활동

유형

  • 참 오라클 : 모든 입력 값 테스트
  • 샘플링 오라클 : 제한된 입력만 테스트
  • 추정 오라클(휴리스틱) : 특정 입력 값 외에 나머지는 추정결과를 제공
  • 일관성 검사 오라클 : 소프트웨어 변경 전후의 결과 비교

인증제도

  • ISMS - 정보보호 관리체계 인증
  • PIMS - 개인정보보호 관리체계 인증
  • ISMS-P - 정보보호 및 개인정보보호 관리체계 인증
  • ITSEC - 유럽의 평가 기준
  • TCSEC - 미국의 평가 기준
  • CC - 평균 결과 통합

HDLC

  • 데이터 링크 계층에서 사용하는 비트 지향 프로토콜
  • 동기/비동기 모두 지원

프레임 구조

Flag - 주소필드(정보 프레임) - 제어필드(감독 프레임) - 정보데이터(비순서 프레임) - FCS - Flag

 

프레임 유형

  • 정보 프레임 : 실제 데이터 전송을 위한 프레임
  • 감독 프레임 : 오류 검출 및 흐름 제어를 위해 사용
  • 비순서 프레임 : 링크 설정, 해제 등 추가적인 제어 목적

전송 모드

  • 정규 응답 모드(NRM)
    • 주국과 하나 이상의 종국으로 구성
    • 제어부가 0으로 시작
  • 비동기 균형 모드(ABM)
    • 모든 단말이 주국 역할 가능, 가장 유연
    • 제어부가 10으로 시작
  • 비동기 응답 모드(ARM)
    • 주국이 통신을 제어하지만, 종국도 자체적으로 데이터 전송
    • 제어부가 11로 시작 

 

반응형

'Qualification' 카테고리의 다른 글

[정처기] 실기 공부 #1  (1) 2025.04.16
[Python] 리스트  (0) 2025.04.08
[SQLD] 정리본 #1  (0) 2025.03.04