정보처리산업기사 실기 정리
[2022년 1회] |
/ 나눗셈 ex) 7/2 3 |
%나머지연산 ex)7%3 1 |
스택 : 후입선출, 큐 : 선입선출 |
데이터링크 : 프레임 단위, 오류제어 및 흐름제어 제공
|
웹 트래픽을 차단해주는 방화벽 : WAF(웹 어플리케이션 방화벽)
|
파이썬 type 메서드( 정수형 - int, 실수형 - float, 문자형 - str, 논리형 - bool, 리스트 -list )
|
Primary Key(기본키) : 유일하게 레코드를 식별하는 키. NULL 불가, 중복 불가.
|
Candidate Key(후보키) : 기본키 후보가 될 수 있는 키들.
|
Alternate Key(대체키) : 기본키로 선택되지 않은 후보키.
|
Super Key(슈퍼키) : 레코드를 유일하게 식별할 수 있는 속성들의 집합, 후보키 포함 가능.
|
Foreign Key(외래키) : 다른 릴레이션의 기본키를 참조하는 키.
|
Main Key(메인 키) : 비공식적인 용어로, 보통 Primary Key를 의미함.
|
정규화는 여러 단계로 나누어지며, 각 단계는 **정규형(Normal Form)**이라고 불립니다. 주요 정규형에는 제1정규형(1NF), 제2정규형(2NF), 제3정규형(3NF) 등이 있습니다. 각 정규형은 테이블의 특정 특성을 만족해야 합니다.
|
제1정규형(1NF) - 원자값(Atomic Value) / 목표: 모든 속성 값이 원자값(더 이상 분해할 수 없는 값)이어야 한다.
|
제2정규형(2NF) - 부분 함수 종속 제거 / 목표: 부분 함수 종속을 제거한다.
|
제3정규형(3NF) - 이행적 함수 종속 제거 / 목표: 이행적 함수 종속을 제거한다.
|
보이스-코드 정규형(BCNF) - 기본키와 종속 관계 강화 / 목표: 모든 결정자가 후보키여야 한다.
|
제4정규형(4NF) - 다치 종속 제거 / 목표: **다치 종속(Multi-valued Dependency)**을 제거한다.
|
제5정규형(5NF) - 조인 종속성 제거 / 목표: 조인 종속성을 제거한다.
|
이상 : 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데 이를 이상이라 하며, 삽입 이상, 삭제 이상, 갱신 이상이 있다.
|
SSH (보안 쉘 접속) - 포트 번호: 22 |
SMTP (메일 전송) - 포트 번호: 25 |
POP3 (메일 수신) - 포트 번호: 110 |
FTP (파일 전송) - 포트 번호: 21 (제어용, 기본포트번호) / 20 (데이터 전송용)
|
Telnet (원격 접속) - 포트 번호: 23 |
HTTP (웹 서버) - 포트 번호: 80 |
HTTPS (보안 웹 서버) - 포트 번호: 443 |
비트 xor - 서로 다를때 1, 같으면 0 |
[2022년 2회] | |||
1. IP → MAC 변환 (ARP) | |||
2. MAC → IP 변환 (RARP, BOOTP, DHCP)
|
|||
3. NAT(Network Address Translation) | |||
사설 IP ↔ 공인 IP 변환 | |||
4 | |||
외부 스키마 (External Schema) → 사용자 관점
|
|||
개념 스키마 (Conceptual Schema) → 논리적 구조 (전체적인 데이터베이스 설계)
|
|||
내부 스키마 (Internal Schema) → 물리적 저장 구조
|
|||
5 | |||
Operational Data → (d) 조직의 고유한 업무를 수행하는 데 반드시 필요한 자료
|
|||
기업이나 조직이 운영하는 데 필수적인 데이터 | |||
Sharded Data → (c) 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료
|
|||
데이터베이스를 여러 개의 파티션(Shard)으로 나누어 여러 시스템에서 공유 및 유지
|
|||
Stored Data → (a) 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
|
|||
하드디스크, SSD, 클라우드 등에 저장된 데이터 | |||
Integrated Data → (b) 자료의 중복을 배제한 데이터의 모임
|
|||
중복을 최소화하고 통합된 형태의 데이터 | |||
6 | |||
알고리즘 | 선점형 | 특징 | |
FCFS (선입선출) | ❌ |
도착 순서대로 실행 (Convoy Effect 발생 가능)
|
|
SJF (최단 작업 우선) | ❌ |
실행 시간이 짧은 프로세스를 먼저 실행 (기아 문제 발생 가능)
|
|
HRN (최대 응답 비율 우선) | ❌ | SJF를 개선, 기아 문제 방지 | |
SRTF (최단 잔여 시간 우선) | ✅ |
SJF의 선점형 버전, 남은 실행 시간이 짧은 프로세스가 CPU를 가져감
|
|
RR (라운드 로빈) | ✅ |
일정 시간(Quantum)만 실행 후 프로세스 전환 (시분할 시스템에 적합)
|
|
Priority Scheduling | ✅ / ❌ |
우선순위가 높은 프로세스를 먼저 실행 (기아 문제 발생 가능)
|
|
MLQ (다단계 큐) | ✅ |
여러 개의 큐로 나누어 관리, 각 큐마다 다른 스케줄링 적용 가능
|
|
MLFQ (다단계 피드백 큐) | ✅ |
MLQ에 피드백 기능 추가, 우선순위를 동적으로 변경 가능
|
|
7 | |||
방식 | 설명 | 장점 | 단점 |
온프레미스 | 자체 구축 및 운영 | 보안성 높음, 커스터마이징 가능 | 초기 비용 큼, 확장성 낮음 |
클라우드 | 클라우드 제공업체 이용 | 확장성 높음, 초기 비용 절감 | 보안 우려, 벤더 락인 |
하이브리드 | 온프레미스 + 클라우드 혼합 | 보안 & 유연성 조화, 확장 가능 | 구축 복잡, 비용 관리 필요 |
8 | |||
단위테스트 = 모듈테스트 (블랙박스 테스트, 화이트박스 테스트)
|
|||
9 | |||
알파테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법으로, 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하며 기록한다
|
|||
베타 테스트 : 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법으로, 실제 업무를 가지고 사용자가 직접 테스트 한다
|
|||
10 | |||
🔹 기본 숫자 출력 형식 | |||
형식 지정자 | 설명 | 예제 (printf 사용) | 출력 결과 |
%d | 정수(int) 출력 | printf("%d", 10); | 10 |
%f | 실수(float, double) 출력 | printf("%f", 3.14); | 3.14 |
%.2f | 소수점 2자리까지 출력 | printf("%.2f", 3.14159); | 3.14 |
%.0f | 소수점 없애기(반올림) | printf("%.0f", 3.6); | 4 |
%e | 지수 표기법 | printf("%e", 1234.56); | 1.23E+03 |
%g | 자동으로 %f 또는 %e 선택 | printf("%g", 1234.56); | 1234.56 |
%x | 16진수 출력 | printf("%x", 255); | ff |
%o | 8진수 출력 | printf("%o", 255); | 377 |
[2022년 3회] | |
1 | |
1️⃣ 릴레이션의 구성 요소 | |
릴레이션을 구성하는 주요 요소는 다음과 같습니다:
|
|
튜플(Tuple): (카디널리티) | |
튜플은 **행(row)**을 의미하며, 하나의 데이터 항목을 나타냅니다.
|
|
예를 들어, 학생 테이블에서 id, 이름, 나이 등 한 명의 학생에 대한 정보가 튜플로 표현됩니다.
|
|
속성(Attribute):(디그리) | |
속성은 **열(column)**을 의미하며, 데이터 항목의 종류나 속성을 정의합니다.
|
|
예를 들어, 학생 테이블에서 이름, 학번, 나이 등이 속성입니다.
|
|
도메인(Domain): (그 속성의 값) | |
도메인은 속성에 저장될 수 있는 값들의 유효 범위를 정의합니다.
|
|
예를 들어, 나이 속성은 0부터 100까지의 값을 가질 수 있습니다.
|
|
2 | |
1️⃣ 트랜잭션의 ACID 특성 (영어도 암기)
|
|
트랜잭션은 4가지 중요한 특성인 ACID를 가지고 있습니다. 이 특성들은 데이터베이스에서 트랜잭션을 안전하게 관리하고, 장애가 발생했을 때 데이터가 일관성 있게 유지되도록 보장합니다.
|
|
1.1️⃣ 원자성(Atomicity) | |
원자성은 "트랜잭션 내의 작업은 모두 성공하거나, 아니면 모두 실패해야 한다"는 특성입니다.
|
|
즉, 트랜잭션 내에서 일어나는 모든 연산은 하나의 단위로 실행되어야 하며, 중간에 문제가 생기면 모든 연산이 취소되어야 합니다.
|
|
예: 은행 이체에서 돈을 보내는 작업과 받는 작업이 모두 성공하거나, 둘 다 실패해야 합니다. 일부만 처리되면 안 됩니다.
|
|
"회복" | |
1.2️⃣ 일관성(Consistency) | |
일관성은 트랜잭션이 완료될 때 데이터베이스가 일관된 상태를 유지해야 한다는 특성입니다.
|
|
트랜잭션이 시작되기 전과 후에 데이터베이스의 규칙(예: 제약조건)을 모두 만족해야 합니다.
|
|
예: 은행 계좌에서 돈을 이체할 때, 두 계좌의 잔액이 항상 올바른 상태여야 합니다. 트랜잭션 실행 후에도 모든 제약이 지켜져야 합니다.
|
|
"무결성 제약 조건 , 동시성 제어" | |
1.3️⃣ 고립성(Isolation) | |
고립성은 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션은 독립적으로 실행되어야 한다는 특성입니다.
|
|
트랜잭션이 실행되는 동안 다른 트랜잭션의 영향을 받지 않도록 보장합니다. 동시에 여러 트랜잭션이 실행되더라도 결과적으로 각각의 트랜잭션은 마치 독립적으로 실행된 것처럼 동작해야 합니다.
|
|
예: 두 사용자가 동시에 계좌이체를 하면, 각 사용자의 이체가 다른 사용자의 이체에 영향을 미치지 않도록 보장해야 합니다.
|
|
고립성 수준(Isolation Level)을 설정하여 트랜잭션 간의 격리 정도를 설정할 수 있습니다. (예: READ COMMITTED, REPEATABLE READ 등)
|
|
"동시성 제어" | |
1.4️⃣ 지속성(Durability) | |
지속성은 트랜잭션이 완료된 후, 그 결과는 영구적으로 저장되어야 한다는 특성입니다.
|
|
트랜잭션이 성공적으로 완료되면, 그 결과는 시스템 장애가 발생하더라도 손실되지 않도록 보장됩니다.
|
|
예: 은행에서 돈을 이체하고 트랜잭션이 완료되면, 이체한 내역은 시스템이 재시작되어도 유지되어야 합니다.
|
|
"회복" | |
3 | |
네트워크 계층 : 대표적인 프로토콜로 IP, ICMP, ARP, RARP
|
|
- 네트워크 연결의 설정, 유지, 해제를 담당
|
|
OSI 7계층은 1~3 계층을 하위 계층, 4~7 계층을 상위 계층이라고 함
|
|
- 하위 계층 : 물리, 데이터 링크, 네트워크
|
|
- 상위 계층 : 전송, 세션, 표현, 응용 | |
1. 물리 계층 (Physical Layer) | |
기능: 물리 계층은 실제 하드웨어 장치(케이블, 리시버 등)를 통해 데이터 전송을 담당합니다. 데이터를 비트 단위로 전송하며, 전기적 신호나 광학적 신호로 변환하여 전송합니다.
|
|
데이터 단위: 비트 (Bit) | |
예: 0과 1로 이루어진 전기적 신호 | |
2. 데이터 링크 계층 (Data Link Layer) | |
기능: 데이터 링크 계층은 물리 계층에서 발생할 수 있는 오류를 감지하고 수정하며, 신뢰성 있는 데이터 전송을 제공합니다. 데이터의 흐름 제어와 오류 검출 및 수정 등의 기능을 수행합니다. 또한, 물리적 주소(MAC 주소)를 사용하여 장치 간의 데이터 전송을 처리합니다.
|
|
데이터 단위: 프레임 (Frame) | |
프레임은 데이터와 헤더 정보(MAC 주소, 오류 검사 정보 등)를 포함한 데이터 단위입니다.
|
|
3. 네트워크 계층 (Network Layer) | |
기능: 네트워크 계층은 데이터 전송 경로를 설정하고, 패킷을 목적지까지 전달하는 역할을 합니다. IP 주소를 사용하여 데이터를 라우팅하고, 패킷의 길이 제한을 처리하는 등 네트워크 간의 통신을 관리합니다.
|
|
데이터 단위: 패킷 (Packet) | |
패킷은 데이터와 헤더 정보(IP 주소 등)를 포함한 데이터 단위입니다.
|
|
4. 전송 계층 (Transport Layer) | |
기능: 전송 계층은 종단 간(End-to-End) 데이터 전송을 담당하며, 데이터의 신뢰성을 보장하기 위해 흐름 제어, 오류 수정, 재전송 등의 기능을 제공합니다. TCP와 UDP가 대표적인 프로토콜입니다.
|
|
데이터 단위: 세그먼트 (Segment) (TCP) / 데이터그램 (Datagram) (UDP)
|
|
세그먼트는 TCP 연결을 통한 데이터 전송 단위이며, 데이터그램은 UDP 연결을 통한 데이터 전송 단위입니다.
|
|
5. 세션 계층 (Session Layer) | |
기능: 세션 계층은 두 응용 프로그램 간의 연결을 설정, 관리, 종료하는 역할을 합니다. 이 계층은 데이터 교환의 순서, 동기화 및 세션 제어를 처리하며, 다양한 세션을 동시에 처리할 수 있습니다.
|
|
데이터 단위: 세션 데이터 (Session Data)
|
|
세션 데이터를 구체적으로 나타내는 단위는 없지만, 세션 제어 정보를 포함하는 데이터 단위로, 이 계층은 응용 프로그램 간의 세션을 관리합니다.
|
|
6. 표현 계층 (Presentation Layer) | |
기능: 표현 계층은 데이터를 응용 프로그램에서 사용할 수 있는 형식으로 변환합니다. 데이터 형식, 암호화, 압축 등의 작업을 처리합니다. 예를 들어, 데이터를 텍스트, 이미지, 비디오 등의 형식으로 변환하거나, 데이터를 암호화 및 복호화합니다.
|
|
데이터 단위: 데이터 (Data) | |
이 계층은 데이터를 구체적으로 정의하지 않지만, 데이터가 다른 형식으로 표현되도록 변환됩니다.
|
|
7. 응용 계층 (Application Layer) | |
기능: 응용 계층은 사용자와 네트워크 간의 인터페이스를 제공합니다. 다양한 응용 프로그램 프로토콜(HTTP, FTP, SMTP, DNS 등)을 통해 실제 네트워크 서비스를 제공합니다.
|
|
데이터 단위: 메시지 (Message) | |
응용 계층에서는 사용자가 송수신하는 실제 데이터가 메시지 단위로 처리됩니다.
|
|
4 | |
단위테스트(Unit Test) | |
- 코딩 직후 테스트하는것 | |
- 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행
|
|
통합테스트(Intergration Test) | |
- 단위 테스트가 완료된 모듈드을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트
|
|
시스템 테스트(System Test) | |
- 개발된 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트
|
|
인수 테스트(Acceptance Test) | |
- 개발한 소프트웨어를 사용자가 직접 테스트함
|
|
🔹 사용자 인수 테스트, 운영상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트, 알파 테스트, 베타 테스트
|
|
5 | |
특징 | SJF (Shortest Job First) |
선점 여부 | 비선점형 (Non-preemptive) |
실행 방식 | 실행 시간이 가장 짧은 프로세스를 먼저 실행 |
실행 중 프로세스 | 실행 중인 프로세스를 중단하지 않음 |
문제점 | 긴 프로세스의 무한 연기(Starvation) 가능 |
비선점(Non-preemptive) | 선점형 (Preemptive) |
FCFS(FIFO) | 선점 우선순위 |
SJF | SRT |
HRN | R.R |
기한부, 우선순위 | 다단계 큐, 다단계 피드백 큐 |
CPU를 강제로 빼앗아 사용할 수 없음 | CPU를 강제로 빼앗아 사용 |
6 | |
1. 개체 무결성 제약 조건 : 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정
|
|
2. 도메인 무결성 제약 조건 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정
|
|
3. 참조 무결성 제약 조건 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정
|
|
7 | |
IPv4 : 8비트씩 4부분, 총 32비트 | |
- A class : 네트워크 호스트 호스트 호스트(국가나 대형통신망에 사용) / 0~127로 시작
|
|
- B class : 네트워크 네트워크 호스트 호스트(중대형 통신망에 사용) / 128~191
|
|
- C class : 네트워크 네트워크 네트워크 호스트(소규모 통신망에 사용) / 192~223
|
|
- D class : 멀티캐스트용으로 사용 / 224~239
|
|
- E class : 실험적 주소 | |
8 | |
- DDL(Data Define Languge, 데이터 정의어) : CREATE, ALTER, DROP
|
|
- DCL(Data Control Language, 데이터 제어어) : COMMIT, ROLLBACK, GRANT, REVOKE
|
|
- DML(Data Manipulation Language, 데이터 조작어) : SELECT, INSERT, DELETE, UPDATE
|
- Source Port : 송신 호스트의 포트 번호가 저장되는 필드
- Destination Port : 수신 호스트의 포트 번호가 저장되는 필드 - Sequence Number : 분할된 세크먼트를 조립할 수 있도록 데이터의 순서가 저장되는 필드 - Acknwledgment Number : 데이터를 올바르게 수신했음을 상대방에게 알릴 때 전달할 데이터가 저장되는 필드 - Data Offeset : 전체 세그먼트 중 헤더를 제외한 데이터의 시작 위치가 저장되는 필드 - Checksum : 헤더와 데이터의 오류 확인에 사용되는 필드 |
'IT > 정보처리산업기사 실기' 카테고리의 다른 글
유닉스(Unix)계열 운영체제 (1) | 2023.09.14 |
---|