본 내용은 인프런의 정보처리기사 자격증 대비 교육(필기) 강의를 요약한 것입니다.
[지금 무료]정보처리기사 자격증 대비 교육(필기) 강의 | 국립안동대학교 SW융합교육원 - 인프런
[지금 무료]정보처리기사 자격증 대비 교육(필기) 강의 | 국립안동대학교 SW융합교육원 - 인프런
국립안동대학교 SW융합교육원 | NCS개정 정보처리기사 필기 합격을 위한 핵심요약 특강으로 CBT 필기시험과 필답형 실기시험을 효율적으로 학습 할수 있습니다., 정보처리기사 자격증 대비 교육(
www.inflearn.com
6강_[3과목] 데이터베이스 구축
- 관계 대수
- 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법
- 주어진 릴레이션 조작을 위한 연산의 집합
- 질의에 대한 해를 구하기 위해 수행해야할 연산의 순서를 명시
- 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
- 일반 집합 연산과 순수 관계 연산으로 구분
- 순수 관계 연산자: Select, Project, Join, Division
- 일반 집합 연산자: 합집합, 교집합, 차집합, 교차곱
2. SQL의 분류
- DDL(Data Definition Languge)
- 데이터베이스의 정의/변경/삭제에 사용되는 언어
- 논리적 데이터 구조와 물리적 데이터 구조로 정의
- 논리적 데이터 구조와 물리적 데이터 구조 간의 사상을 정의
- 번역한 결과가 데이터 사전에 저장
- DDL의 종류
- CREATE: 스키마, 도메인, 테이블, 뷰 정의
- DROP: 스키마, 도메인, 테이블 뷰 삭제
- ALTER: 테이블 정의 변경
- CASCADE vs RESTRICT
- DROP View: View_이름 [CASCADE | RESTRICT];
- CASCADE: 삭제할 요소가 다른 개체에서 참조 중이라도 삭제가 수행
- RESTRICT: 삭제할 요소가 다른 객체에서 참조 중일 경우 삭제가 취소
- DML(Data Manipulation Language)
- DML의 종류
- SELECT: 튜플 검색
- INSERT: 튜플 삽입
- DELETE: 튜플 삭제
- UPDATE: 튜플 내용 변경
- DML의 종류
- DCL(Data Control Language)
- DCL의 종류:
- GRANT: 데이터베이스 사용자에게 사용 권한 부여
- REVOKE: 데이터 베이스 사용자로부터 권한 취소
- COMMIT: 명령어로 수행된 결과를 실제 물리적 디스크로 저장, 명령어로 수행을 성공적으로 완료하였음을 선언
- ROLLBACK: 명령어로 수행에 실패하였음을 알리고, 수행된 결과를 원상 복구
- DCL의 종류:
3. 하위 질의, SQL 연산자
- 하위 질의의 개념
- 하위 질의문은 하위 질의를 먼저 처리하고 검색된 결과는 상위 질의에 적용되어 검색됨
- 논리 연산자 설정
- AND, OR, NOT
- BETWEEN ~ AND
- 구간 값 조건식
4. 트랜잭션 (Transaction)
- 원자성: 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함
- 일관성: 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 함
- 고립성: 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함
- 영속성: 트랜잭션의 완료 결과가 데이터 베이스에 영구히 기억되어야 함
- 트랜잭션 상태
- 활동: 초기 상태로 트랜잭션이 Begin_Trans 에서 부터 실행을 시작하였거나 실행 중인 상태
- 부분 완료: 트랜잭션의 마지막 연산이 실행된 직후의 상태, 모둔 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과는 데이터 베이스에 반영하지 않은 상태
- 철회: 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태
- 완료: 트랜잭션이 성공적으로 완료 연산을 수행한 상태
5. 뷰
- 뷰의 생성 시 CREATE 문, 검색 시 SELECT 문을 사용
- 뷰의 정의 변경 시 ALTER 문을 사용할 수 없고, DROP 문을 이용
- 뷰를 이용한 또 다른 뷰의 생성이 가능
- 하나의 뷰 제거 시 그 뷰를 기초로 정의된 다른 뷰도 함께 삭제
- 뷰에 대한 조작에서 삽입, 갱신, 삭제 연산은 제약이 따름
- 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거
6. 인덱스
- 데이터베이스 성능에 많은 영향을 주는 DBMS 의 구성 요소로 테이블과 클럿터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 별도로 구성한 순서 데이터
- 데이터베이스 대부분에서 테이블을 삭제하면 인덱스도 같이 삭제됨
7강_[4과목] 프로그래밍 언어
1. C언어의 연산자 우선순위 (높음 → 낮음)
- 괄호() → 산술 연산자 → 비트 이동 연산자 → 관계 연산자 → 비트 논리 연산자 → 논리 연산자
- 산술 연산자: *, /, %, +, -
- 비트 이동 연산자: <<, >>
- 관계 연산자: <, <=, >, =, ==, !=
- 비트 논리 연산자: &, ^, |
- 논리 연산자: !, &&, ||
- 삼항 연산자: ?, :
2. C 언어의 논리 연산자
- 논리부정(!) 연산자: '참'을 '거짓'으로 '거짓'을 '참'으로 부정
- 논리곱(&&) 연산자: 좌측과 우측 피연산자가 모두 '참'이어야 '참'의 결과
- 논리합(||) 연산자: 좌측과 우측 피연산자 중 좌측 연산자가 '참'이면 '참'의 결과
3. C 언어의 변수명 작성 규칙
- 영문 대소문자, 숫자, '_' 혼용 가능
- 첫 글자는 영문이나 '_'로 시작 가능
- 대소문자 구분
- 공백 포함 불가능
- 예약어 불가능
- 라이브러리 함수: include <헤더파일.h>
- include <stdlib.h>
- atoi(): 문자열을 정수형으로 변환
- atof(): 문자열을 실수형으로 변환
- itoa(): 숫자를 문자열로 변환
- include <math.h>
- ceil(): 자리 올림
- floor(): 자리 버림
- include <stdlib.h>
4. for 문과 문자열 처리 함수
- for 반복문
- 일정 횟수만큼 반복 수행할 때 사용
- 문법 구조
for(초기식; 조건식; 증감식){
명령문1;
명령문n; }
- 문자열 처리 함수
- include <string.h>
- strlen(): 문자열 길이
- strcat(), strncat(): 하나의 문자열에 다른 문자열을 연결
- strcpy(), strncpy(): 문자열을 복사
- strcmp(), strncmp(): 문자열 내용 비교
- include <stdlib.h>
- atoi(), atol(), atoll(), atof(): 인수로 전달된 문자열을 숫자형으로 변환
- include <ctyp.h>
- toupper(), tolower(): 영문자를 대문자, 소문자로 변환
- include <string.h>
5. Java 연산자의 종류 및 우선순위 (높음 → 낮음)
- 단항 연산자 → 산술 연산자 → 시프트 연산자 → 관계 연산자 → 비트 연산자 → 논리 연산자 → 조건 연산자 → 할당 연산자 → 콤마 연산자
6. Java의 배열 객체
- 배열 객체.length: 배열 객체의 크기(요소의 개수)
- 출력 함수
- System.out.print(): 괄호 안을 출력하고 줄 바꿈을 안 한다.
- System.out.println(): 괄호 안을 출력하고 줄 바꿈을 한다.
- System.out.printf(): 변환 문자를 사용하여 출력한다.
7. Java 삼항 연산자
- if~else 문
- if(조건식)
조건식의 결과가 참일 때 실행하는 명령문;
else
조건식의 결과가 거짓일 때 실행하는 명령문;
- if(조건식)
- 삼항 연산자
- 조건식? 참일 때 명령문 : 거짓일 때 명령문
8. Python
- 1991년 귀도 반 로섬(Guido van Rossum)이 개발한 고급 프로그래밍 언어
- 플랫폼에 독립적이고 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어
- 변수명 작성 규칙
- 영문 대소문자, 숫자, '_'를 혼용하여 사용 가능
- 첫 글자는 영문자나 '_'로 시작
- 영문자는 대소문자 구분
- 공백 포함 불가능
- 예약어를 사용 불가능
8강_[4과목] 프로그래밍 언어 활용
1.기억 장치 교체 전략
- 주기억 장치의 모든 페이지 프레임이 사용 중일 때, 어떤 페이지 프레임을 교체할 것인지 결정하는 전략
- 종류
- OPT: 가장 오랫동안 사용되지 않을 페이지를 먼저 교체하는 기법, 실현 가능성 희박
- FIFO: 가장 먼저 적재된 페이지를 먼저 교체하는 기법, 구현 간단
- LRU: 각 페이지마다 계수기나 스택을 두어 현시점에서 가장 오랫동안 사용하지 않은 페이지 교체하는 기법
- LFU: 참조된 횟수가 가장 적은 페이지 먼저 교체하는 기법
2. 운영체제 스케쥴링
- HRN(Highest Response-ratio Next)
- 우선순위 계산식 = (대기시간 + 서비스를 받을 시간) / 서비스를 받을 시간
- SJF(Shortest Job First)
- 비선점 스케줄링 기법의 일종
- 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU 할당하는 스케줄링 기법
3. 기억장치 배치 전략
- First Fit: 프로그램/데이터가 할당 가능한 영역 중에서 첫 번째 영역에 할당
- Best Fit: 프로그램/데이터가 할당 가능한 영역 중에서 단편화가 가장 작은 영역에 할당
- Worst Fit: 프로그램/데이터가 할당 가능한 영역 중에서 단편화가 가장 큰 영역에 할당
4. 가상 기억 장치(Virtual Memory)
- 주기억 장치의 부족한 용량을 해결하기 위해 보조 기억 장치를 주기억 장치처럼 사용하는 기법
- 가상 깅거 장치의 일반적인 구현 방법에는 프로그램을 고정된 크기의 일정한 블록(페이지)으로 나누는 페이징 기법과 가변적인 크기의 블록(세그먼트)으로 나누는 세그멘테이션 기법이 있다.
5. 워킹 셋(Working Set)
- 운영체제의 가상 기억 장치 관리에서 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
6. UNIX, LINUX의 쉘(Shell)과 커널(Kernel)
- UNIX의 특징
- Multi-User 및 Multi-Tasking 을 지원
- 네트워킹 시스템이며 대화식 운영체제
- 높은 이식성과 확장성, 프로세스 간 호환성이 높다.
- 트리 구조의 계층적 파일 시스템을 갖는다.
- 쉘(Shell)
- 사용자가 지정한 명령들을 해석하여 커널로 전달하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스를 담당
- 종류: C Shell, Bourn Shell, Korn Shell 등
- 커널(Kernel)
- 운영체제의 핵심 부분인 커널(Kernel)은 프로세스 관리, 기억 장치 관리, 입출력 관리, 파일 시스템 관리 등의 기능을 수행
- 사용자 인터페이스 제공은 쉘(Shell)의 기능
- umask
- 파일이나 디렉토리 생성 시 초기 접근 권한을 설정할 때 사용
- 초기 파일의 권한은 666이고 디렉터리는 777이며 여기에 umask 값을 빼서 초기 파일 권한 설정 가능
- 파일 초기 권한 666 - ? = 파일 권한 644 ( umask = 022)
7. OSI 7계층
- OSI (Open Systems Interconnection) 참조 모델
- 국제표준화기구(ISO)에서 개발한 모델로 컴퓨터 네트워크에서 여러 시스템이 데이터를 주고받고 서로 연동할 수 있는 표준화된 인터페이스를 제공하기 위해 프로토콜을 기능별로 나눈 것이다.
- OSI 7계층 구조
- 1계층: 물리 계층 (Physical Layer)
- 통신회선을 통하여 비트전송을 수행하기 위하여 전기적, 기계적인 제어 기능을 수행하는 계층
- 프로토콜 종류: RS-232, Ethernet, Wi-Fi, Bluetooth, V.24, X.21
- 2계층: 데이터 링크 계층 (Data Link Layer)
- 인접한 두 개의 통신 시스템 간에 신뢰성 있는 효율적인 데이터를 전송하는 계층
- 링크의 설정과 유지 및 종료를 담당
- 전송 데이터의 흐름 제어, 프레임 동기, 오류 제어 수행
- 링크의 효율성을 향상
- 프로토콜 종류: HDLC, PPP, LLC, LAPB, LAPD, ADCCP
- 3계층: 네트워크 계층 (Network Layer)
- 통신망을 통하여 패킷을 목적지까지 전달하는 계층
- 패킷의 경로 선택 및 중계 역할
- 과도한 패킷 유입에 대한 폭주 제어 기능
- 프로토콜 종류: IP, ICMP, IGMP, ARP, RARP
- 4계층: 전송 계층 (Transport Layer)
- 통신 양단간(End-to-End) 투명한 데이터 전송 제공
- 에러제어 및 흐름 제어 담당
- 프로토콜 종류: TCP, UDP
- 5계층: 세션 계층 (Session Layer)
- 응용간의 대화 제어 (Dialogue Control)를 담당하는 계층
- 긴 파일 전송 중에 통신상태가 불량하여 트랜스포트 연결이 끊어지는 경우, 처음부터 다시 전송을 하지 않고 어디까지 전송이 진행되었는지를 동기점(synchronization point)을 이용하여 오류 복구
- 6계층: 표현 계층 (Presentation Layer)
- 응용 프로세스 간에 데이터 표현상의 차이에 상관없이 통신이 가능하도록 독립성을 제공 (코드변환, 데이터 압축 등)하는 계층
- 7계층: 응용 계층 (Application Layer)
- 네트워크 가상 터미널 (network virtual terminal)이 존재하여 서로 상이한 프로토콜에 의해 발생하는 호환성 문제를 해결하는 계층
- 프로토콜 종류: HTTP, SMTP, FTP, DNS, SNMP, Telnet
- 1계층: 물리 계층 (Physical Layer)
8. TCP/IP/ICMP/UDP
- TCP (Transmission Control Protocol)
- OSI 7계층의 전송 계층에 해당
- 신뢰성 있는 연결 지향형 전달 서비스 제공
- 메세지를 캡슐화와 역캡슐화 함.
- 특징: 접속형 서비스, 전이중 전송 서비스
- 기능: 패킷 다중화 (역다중화), 오류 제어, 흐름 제어, 순서 제어
- IP (Internet Protocol)
- OSI 7계층의 네트워크 계층에 해당하며 비신뢰성 서비스를 제공
- 비연결성으로 송신지가 여러 개인 데이터 그램을 보내면서 순서가 뒤바뀌어 도달할 수 있으며 IP 프로토콜의 헤더 길이는 최소 20~60byte
- ARP (Address Resolution Protocol): 논리 주소(IP 주소)를 물리 주소(MAC 주소)로 변환하는 프로토콜
- RARP (Reverse Address Resolution Protocol): 호스트의 물리 주소(MAC 주소)로부터 논리 주소 (IP 주소)를 구하는 프로토콜
- ICMP(Internet Control Message Protocol, 인터넷 제어 메세지 프로토콜)
- TCP/IP 계층의 인터넷 계층에 해당
- 네트워크 운영체제의 오류 메시지를 전송 받는 데 주로 사용, 인터넷 프로토콜에 의존하여 작업 수행
- IP 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜
- UDP(User Datagram Protocol)
- 비연결형 및 비신뢰성 전송 서비스 제공
- 흐름 제어나 순서 제어가 없어, 전송 속도 빠름
- 수신된 데이터의 순서 재조정 기능 지원하지 않음
- 복구 기능을 제공하지 않음
9. IPv6 (Internet Protocol version 6)
- 128비트 길이의 IP 주소로 16비트씩 8부분의 16진수로 표시
- 인증 및 보안 기능을 포함하고 있어, IPv4보다 보안성 강화됨
- IPv6 확장 헤더를 통해 네트워크 기능 확장 용이
- 자동으로 네트워크 환경 구성 가능
- 인증 및 보안 기능을 포함하고 있어 IPv4보다 보안성 강화
- IPv6의 주소체계: 유니캐스트(Unicast), 애니캐스트(Anycast), 멀티캐스트(Multicast)
이상으로 인프런 정보처리기사 자격증 대비 교육(필기) 강의 6~8강 요약본 이었습니다.
다음 블로그는 마지막 5과목 9~10강 요약본 입니다!
좋은 하루 되세요!!
'Certificate Study' 카테고리의 다른 글
[정보처리기사][필기] 정보 시스템 구축 관리 요약 (인프런) (1) | 2025.01.22 |
---|---|
[정보처리기사][필기] 소프트웨어 개발 및 데이터베이스 구축 요약 (인프런) (2) | 2025.01.17 |
[정보처리기사][필기] 소프트웨어 설계 및 개발 요약 (인프런) (2) | 2025.01.14 |