'2025/05/26'에 해당되는 글 10건
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 4.시스템 보안 구축
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 3.소프트웨어 개발 보안 구축
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 2.IT프로젝트 정보시스템 구축관리
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 1.소프트웨어개발 방법론 활용
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 3.응용 SW 기초 기술 활용
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 2.프로그래밍 언어 활용
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 1.서버프로그램 구현
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 5.데이터 전환
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 4.물리 데이터베이스 설계
- 2025.05.26 :: 정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 3.논리 데이터베이스 설계
https://youtu.be/Q5MfwUmPzgM?si=WuDzlelJUfNvhISO
1. 서비스 거부 공격
1-1. 서비스 거부 공격 개요
- 서비스 거부 공격은 서비스를 많이 제공하는 공격임
- 특히, 클라이언트와 서버의 역할 구조에서 서버가 서비스를 제공해야 하는 의무가 제한적이기 때문임
- 서비스 거부 공격을 악용하여 서비스를 막는 현상을 서비스 거부 공격이라 함
- 서비스 거부 공격의 종류로는 핑플러드, 핑오버, 데스모깅, 데스티드랍, 랜드 디도즈가 있음
- (중요) 네트워크의 연결 상태를 점검하는 유틸리티브인 ping플러드를 악용하여 다운로드할 수 있음
1-2. 핑플러드와 카오버
- 핑플러드는 네트워크의 연결 상태를 점검하는 유틸리티브로, 인터넷 통신 서비스에서 사용하는 프로토콜임
- ICMP 요청을 받을 때, 요청을 초과하여 반복적으로 인터넷 대상 서버로 요청을 보냄
- 이 과정에서 네트워크 자원을 모두 사용하여 다운로드되는 공격 방법이 됨
- 핑플러드는 특정 대상 서버를 직접적으로 다운시키는 공격이 아닌, 내부 네트워크를 불능 상태로 만드는 방식임
- 카오버는 ICMP 요청의 최대 크기를 초과하여 패킷을 보냄으로써 네트워크의 자원을 고갈하는 공격 방법임
1-3. 스머핑과 보안
- 스머핑은 ICMP와 IPV6의 특성을 악용한 공격 방법임
- 공격자는 패킷의 헤드 정보를 위장하여 네트워크 라우터의 보낸 주소로 보내고, 해당 네트워크를 불능 상태로 만듦
- 스머핑 공격은 특정 대상 서버만 다운시키는 것이 아니라, 해당 서버가 존재하는 네트워크를 불능 상태로 만듦
- 보안 통제 항목에는 다섯 가지 유형이 있으며, 각각의 특징과 역할이 있음
- 보안 아키텍처와 보안 프레임워크에 대한 개념도 중요함
2. 네트워크 공격 방법
2-1. 네트워크 공격 종류
- 네트워크 공격에는 스머핑, 싱크플로딩, 패킷 스캐닝, 송신 프로토콜 공격, 서비스 도스 공격이 있음
- 스머핑은 공격 대상의 주소를 네트워크 라우터의 브로드캐스트 주소로 위장해 응답을 보냄
- 싱크플로딩은 서버에서 클라이언트에게 '나 너한테 접속할 수 있다'고 요청하고, 이에 응답을 받으면서 실제 연결이 안 되더라도 요청을 계속 받음
- 패킷 스캐닝은 네트워크 내의 모든 컴퓨터에 브로드캐스트 주소를 수신지로 보내 패킷을 전송함
- 서비스 도스 공격은 네트워크 라우터의 브로드캐스트 주소를 사용하지 못하게 설정함
2-2. 공격 방식과 예시
- (중요) 스머핑은 브로드캐스트 주소를 네트워크 회선 단위별로 부여해 패킷을 전송하는 방식임
- 싱크플로딩은 가상의 클라이언트 주소로 위장해 네트워크를 타고 연결하려는 공격임
- 패킷 스캐닝은 네트워크 내의 모든 컴퓨터에 브로드캐스트 주소를 수신지로 보내 패킷을 전송하는 방식임
- 서비스 도스 공격은 네트워크 라우터의 브로드캐스트 주소를 사용하지 못하게 설정하는 공격임
- 디도스 공격은 호스트를 여러 곳에 분산시키는 공격 방식임
2-3. 디도스 공격과 기타
- 디도스 공격은 호스트를 여러 곳에 분산시키는 공격 방식으로, 2011년 북한의 디도스 공격으로 농업 전산망이 다운돼 접속 속도가 증가함
- 디도스 공격 툴로는 트리거 프로그램, 푸시 라인, 랜덤 피팅, 손실 경사 등이 있음
- 호스트를 다수의 에이전트로 관리하는 핸들러 프로그램을 설치하거나, 네트워크 취약점이 있는 호스트에 분산 서비스 공격 툴을 설치하기도 함
- 디도스 공격은 호스트가 다수의 에이전트를 관리하거나, 네트워크의 취약점을 악용해 서비스를 중단시키는 방식임
3. 네트워크 공격과 보안
3-1. 네트워크 공격 유형 이해
- 네트워크 침해 공격과 관련된 용어 설명함
- 스미싱 - 문자 메시지에 악성코드 포함, 메시지 클릭 시 악성코드 설치함
- (중요) 악성코드 포함 이메일 발송해 정보 탈취하거나 클릭 기다리는 공격임
- 스페어 피싱 - 일반 이메일 위장해 메일 내용에 링크나 첨부 파일 보내 사용자 정보 탈취함
- 큐싱 - QR코드 통해 특정 페이지로 이동하거나 앱 다운로드 유도하는 금융사기 기법임
3-2. 보안과 서버 인증
- 네트워크 침해 공격과 관련한 용어 정리함
- 본넷 - 악성 프로그램에 감염돼 네트워크 망 자체를 시스템 복제하는 공격임
- 웜 - 네트워크를 통해 연속적으로 자기 복제해 시스템 가동 멈추게 하는 공격임
- (중요) 보안 취약점 발견 시, 널리 공표되기 전까지 공격을 '제로 데이 공격'이라 함
- 랜섬웨어 - 인터넷 사용자 컴퓨터에 내부 문서, 파일 암호화해 중요한 정보 보호함
3-3. 보안 서버와 인증
- 보안 서버 - 인터넷을 통해 개인정보 암호화하고 송수신하는 기능을 갖춘 서버임
- 스니핑을 이용한 정보 유출 방지 위해 보안 서버 구축이 필요함
- 보안 서버 인증 - 사용자 컴퓨터 시스템, 네트워크 시스템, 다중 사용자 컴퓨터 시스템의 로그인 요청 시 확인하는 과정임
- 인증 종류 - 지식 기반, 소유 기반, 생체 기반, 행위 기반 인증 등이 있음
- 지식 기반 인증은 별도 물리적 장치 없이 관리 비용이 저렴하지만 보안에 취약할 수 있음
4. 보안 인증과 보안 아키텍처
4-1. 보안 인증의 종류와 특징
- 생체 기반 인증은 지문, 홍채, 망막 얼굴 엄성 등의 정보를 이용하여 인증함
- 행위 기반 인증은 사인이나 동작 정보를 이용하여 인증하며, 위치 기반 인증은 인증 시도하는 위치의 적절성을 확인함
- (중요) 서버 인증은 암호화 응용 프로그램을 설치하여 전송 정보를 암호화하고 송수신하는 기능을 갖춰야 함
- 보안 서버는 개인 관계인이 직접 연결되어 파일을 공유할 수 있도록 하는 서버이며, 파일 트랜스 프로토콜 서버, FTP 서버 등이 해당됨
4-2. 접근 통제의 개념과 필요성
- 접근 통제는 사용자 및 장비의 접근 필요성에 따라 정보 자산에 대한 접근 권한을 부여하는 것임
- (중요) 접근 통제 정책의 종류에는 임의적 접근 통제, 강제적 접근 통제, 역할 기반의 접근 통제 등이 있음
- 임의적 접근 통제는 사용자나 사용자 그룹의 신분에 따라 접근을 제어하며, 강제적 접근 통제는 제3자가 접근 통제 권한을 지정함
- 역할 기반의 접근 통제는 사용자에게 최소한의 권한을 부여함으로써 권한의 남용을 방지하고, 직무에 따라 허가를 결정함
4-3. 보안 아키텍처의 중요성과 내용
- 보안 아키텍처는 정보 시스템의 무결성, 가용성, 기밀성을 확보하기 위한 구조로, 보안 수준의 변화가 있어도 기본 보안 아키텍처 수정 없이 지원할 수 있어야 함
- 보안 아키텍처를 통해 물리적, 기술적 보안 개념의 수립과 보안 관리 능력 향상, 일관된 보안 수준 유지가 가능함
- 보안 아키텍처는 보안 수준의 변화가 생겨도 기본 보안 아키텍처 수정 없이 지원할 수 있어야 함
- (중요) 보안 아키텍처에는 정보 시스템의 설계, 관리, 보호를 위한 보안 요소를 포함하며, 이들 간의 관계를 정의함
5. 보안 아키텍처
5-1. 보안 아키텍처 이해
- 보안 아키텍처는 보안 요구사항의 변화나 추가를 수용해야 함
- 보안 아키텍처 표는 정보 시스템 아키텍처, 보안 구조, 보안 영역으로 구성됨
- 보안 영역은 정보 시스템 제어 시스템, 클라우드, 무선, 사물인터넷 등으로 나뉨
- 보안 프레임워크는 안전한 정보 시스템 환경을 유지하고 보안 수준을 향상시키기 위한 국제 표준임
- (중요) 보안 프레임워크는 조직의 보안 관리 규격을 정의함
5-2. 보안 프레임워크의 요소
- 보안 프레임워크의 주요 요소는 요구사항, 주요 내용, 통제 항목, 수임
- 요구사항은 보안계층의 정보 보호 수행을 위한 경영 방식과 지원 사항을 포함함
- 통제 항목은 2개, 정보 보안 조직의 효율적인 보안 관리를 위한 조직의 책임과 역할을 포함함
- 자산관리, 인적자원보안, 접근통제, 암호화, 물리적 환경보안, 통신보안, 운영보안 등이 포함됨
- (중요) 보안 프레임워크는 ISO 국제 표준화기구의 27001 모델을 기반으로 함
5-3. 보안의 직관 통제와 서버 보안 접근 통제
- QR 코드를 통해 악성 앱을 다운로드하거나, 로그인 시 사용자의 정보를 확인하는 것은 금융 사기 기법임
- 다중 사용자 컴퓨터 시스템이나 네트워크 시스템에서 로그인 요청 시 가입자인지 확인하는 것은 인증 절차임
- 서버 보안에 의한 접근 통제는 식별, 인증, 책임이 필수이며, 감사는 필수 항목이 아님
- 인증과 인가, 감사는 서버 보안 접근 통제의 필수 요소임
- 서비스 공격 유형에는 핑플로드, 핑오버데스, 플러딩, 케어 드랍, 랜드 디두스 등이 있음
6. 시스템 보안과 보안 아키텍처
6-1. 접근 통제와 보안 아키텍처의 개요
- 접근 통제 정책의 종류에는 임의적 접근 통제, 강제적 접근 통제, 역할 기반 접근 통제 등이 있음
- 보안 아키텍처는 정보 시스템의 무결성, 가용성, 기밀성 등을 보호하기 위한 체계를 설정함
- (중요) 보안 아키텍처는 보안 수준의 변화에도 관계없이 기본적인 보안 원칙을 수정 없이 지켜야 함
- 보안 프레임워크는 보안 정보를 보호하기 위한 국제 표준이자, 보안 인증임
6-2. 시스템 보안의 설계와 구현
- 시스템 보안 설계는 로그 분석, 보안 솔루션, 취약점 분석 등에 기반함
- (중요) 로그 분석을 통해 시스템의 침입 흔적을 파악하고, 보안 솔루션을 통해 문제를 해결함
- 취약점 분석과 평가를 통해 시스템의 취약점을 식별하고, 그에 대한 해결책을 제시함
- 보안 프레임워크는 실제 시스템의 보안 요구사항을 충족시키기 위해 설계됨
6-3. 시스템 보안 구현의 주요 로그 분석
- (중요) 리눅스와 윈도우에서 주로 사용하는 로그 분석은 로그 파일의 주요 내용을 포함함
- 커널 로그는 리눅스에서의 내부 로그를, 부팅 로그는 윈도우에서의 운영체제 로그를 담당함
- 시스템 로그는 시스템의 구성 요소에 의해 발생하는 이벤트를, 보안 로그는 시스템 접속에 대한 로그를 기록함
- 윈도우의 이벤트 뷰어를 통해 로그 파일의 종류와 내용을 확인할 수 있음
7. 네트워크 보안 솔루션의 종류와 기능
7-1. 네트워크 보안 솔루션의 개요와 종류
- 네트워크 보안 솔루션은 접근 통제, 침입 차단 및 탐지 등을 수행함
- (중요) 보안 솔루션의 주요 종류로는 방화벽, 침입 탐지 시스템, 방화 방지 시스템 등이 있음
- 각각의 보안 솔루션은 상황에 따라 선택 및 적용됨
7-2. 방화벽과 침입 탐지 시스템의 세부 기능
- 방화벽은 외부로부터의 네트워크 침입을 막는 보안 솔루션
- (중요) 침입 탐지 시스템은 사용자 행위를 검색하고, 비정상적인 패킷을 탐지함
- 방화벽과 침입 탐지 시스템은 서로 보완하며 사용되며, 악의적인 행동을 100% 완벽하게 예방하는 것은 어려움
7-3. 방화 방지 시스템과 데이터 유출 방지 시스템의 세부 기능
- 방화 방지 시스템은 네트워크에 접속하는 내부피씨의 맥주소를 관리함
- 데이터 유출 방지 시스템은 내부 사용자의 데이터 유출을 방지하는 보안 솔루션
- (중요) 각각의 시스템은 서로 보완하며, 적절한 사용을 위한 관리 기능을 제공함
8. 보안 솔루션과 취약점 분석
8-1. 보안 솔루션의 이해
- 보안 솔루션은 다양한 보안 이벤트를 통합 관리함으로써 비용과 자원을 절약함
- (중요) 로그 및 보안 이벤트를 통합 관리함으로써 로그의 중복 및 부족한 부분을 보완하고 보안 장치 간의 연동을 통해 보안 관리 체계를 수립함
- 방화벽, VPN 등 다양한 보안 솔루션에서 발생하는 로그 및 이벤트를 통합 관리함으로써 비용과 자원을 절약함
- 각 솔루션별로 장단점과 기능 차이가 있으므로 통합 관리하여 비용과 자원을 절약하고 보안 관리 체계를 수립함
8-2. 보안 솔루션의 관리 및 평가
- 보안 솔루션 관리에는 계획 수립, 대상 선별, 취약점 분석, 평가 등의 과정이 포함됨
- 계획 수립은 보안 솔루션을 관리하는 주체, 수행 절차, 소요 예상, 산출물 등을 포함함
- 대상 선별은 정보 시스템 자산을 선별하고, 유형별로 그룹화하여 취약적 분석 평가 대상 목록을 작성함
- (중요) 취약점 분석은 관리적, 물리적, 기술적 점검을 통해 정보 시스템의 취약점을 확인하고 개선 방향을 수립함
8-3. 취약점 분석 및 평가
- 취약점 분석은 정보 시스템 운영을 방해하는 사이버 위협으로부터 정보 시스템의 취약점을 분석 및 평가함
- 취약점 분석 평가의 범위는 정보 시스템과 시스템 자산에 직간접적으로 관련된 물리적, 관리적, 기술적 요소를 포함함
- 위험 등급이 상위 등급의 경우, 조기 개선, 중등 등급의 경우 중기 또는 장기 개선으로 개선 방향을 수립함
- 관리적 점검은 통제 구역을 직접 찾아가서 발로 찾아가는 물리적 점검을 포함함
00:04
정보시스템 구축 관리 마지막 과목인 챕터 21 시스템 보안 구축 첫 번째 시스템 보안 설계 살펴보도록 하겠습니다. 학습 목표인데요. 서비스 거부 공격의 개념과 서비스 거부 공격의 종류별 특징을 이해한다. 두 번째 서버 인증과 서버 접근 통제의 개념을 이해하고 인증의 종류 그리고 접근 통제 정책의 종류를 이해한다. 세 번째 보안 아키텍처와 보안 프레임워크에 대한 개념 및 보안 통제 항목에 대한 종류를 이해한다. 입니다. 학습 목표 학습 내용은요, 다섯 가지로 나눠져 있어요. 다섯 가지 서비스 공격 유형 서버 인증 서버 접근 통제 그리고 보안 아키텍처 보안 프레임웍 순으로 살펴보도록 하겠습니다. 첫 번째 서비스 거부 공 서비스 공격 유형입니다.
01:00
서비스 공격 유형의 개요로서 개념 정리를 해보면 자 서비스 공격이다. 서비스를 많이 하는 공격이다. 그게 아닙니다. 네 서비스 공격은 일반적으로 서비스를 오히려 못하게 막는 서비스 거부 공격을 뜻합니다. 특히 서버의 역할 클라이언트 서버 구조에서 보면 클라이언트는 요청 고객이고 서버는 서비스를 제공하잖아요. 제공하는 서비스 종류에 따라서 웹 서버 ftp 서버 뭐 메일 서버 등이 있겠는데 즉 서버는 서비스 요청에 서비스를 제공을 해야 하는 의무가 있어요. 자 그런데 이 서버가 처리할 수 있는 능력은 무한이 아니죠. 제한적이란 말이에요. 얘가 서비스 할 수 있는 능력을 오버하는 해당 요청이 동시다발적으로 오게 되면 능력을 초과하게 되면 얘 못해 서비스 못 하겠어 라고 다운돼 버리거든요. 이를 악용하는 부분이 되겠습니다.
01:57
서비스 거부 공개의 종류로서요 네 7가지 살펴보도록 하겠는데 네 핑 플러드 핑 오브 데스 스머핑 그리고 뭐 신 에스와이 앤 플러딩 테어드랍 랜드 디도즈 네 7가지 순차적으로 살펴보도록 하겠습니다. 첫 번째 서비스 거부 공격의 첫 번째 핑 플라우드 핑 플라우드 홍수 자 이 핑이라는 부분 자체는요 원래는 네트워크의 연결 상태를 점검하는 유틸리티입니다. 네 누구든지 이용할 수 있어요. 인터넷이 예를 들어서 특정 사이트에 웹 브라우저 시행시켜가지고, 접속했는데 접속이 안 돼요. 어 이거 문제가 뭐야?
02:38
이 컴퓨터가 문제야 내부 네트워크가 문제야 이 네트워크에서 빠져나가는 라우터가 문제야 아니면 그 서버가 문제인가 라는 부분을 테스트를 범위가 좁은 부분에서 점차적으로 넓은 범위로 핀 테스트를 통해서 확인할 수 있거든요. 여기 그림 이미지 보시면 도스 창을 띄워 가지고요. cmd 보조 프로그램은요, 명령 프롬프트 띄워가지고 ping 입력하고 그 다음에 목적지 서버 주소 이렇게 딱 누르게 되면 기본적으로는 4개의 패킷을 보내요. 32비트짜리를 하나 둘 셋 네 개를 보내고 응답을 받아요. 네 4개 보낸 것 중에 몇 개의 응답을 받았느냐 로스지율 손실 그 다음에 응답받을 때까지 얼마나 시간이 걸렸느냐 시간값 가지고 해당 네트워크 연결 상태를 파악할 수 있는 유틸리티브인데 자 이 자체를 악용할 수도 있다.
03:33
먼저 핑플러드다 핑플러드는요 하나의 사이트에 매우 많은 양의 icmp 에코리퀘스트 에코가 메아리죠 메아리 네 정상에서 야호 하면 반대로 야호 오잖아요. 네 icmp라고 하는 부분 자체는요 인터넷 컨트롤 메시지 프로토콜인데 tcprp 기반의 인터넷 통신 서비스에서 인터넷 프로토콜에 결합이 되어서 전송되는 프로토콜인데 ip에 대한 통신 중에 발생하는 오류 처리와 전송 경로 변경 그리고 에코 요청 에코 응답과 같은 제어를 위한 메시지를 취급하는 프로토콜입니다. icmp가 리퀘스트하는 요청을 받게 되면 리스폰스를 해야 된다라는 말이에요. 그런데 그 리스폰스를 할 수 있는 능력을 초과해서 요청을 하게 되면 그게 이제 ping flowd입니다. 동시다발적으로 요청하게 되면 다운돼버리는 거죠.
04:30
ping flowd 서비스 할 수 있는 해당 핀의 요청을 동시다발적으로 오버해서 요청을 받게 되면 시스템 자원을 모두 사용해서 다운로드되는 공격 방법이 되겠습니다. 두 번째는 연관되어진 부분인데요. ping of das예요. 죽음의 ping이다. 이렇게 되어 있는데, ping 명령을 전송할 때 기본값은 아까 제가 구두상으로 말씀드릴 때 크기가 32바이트 크기인데 얘를 옵션을 지정해서요. 크기를 더 크게 지정할 수 있어요. 맥시멈 크기가 얼마냐면 허용 크기가 6536바이트입니다. 그런데 해당 얘 패킷 크기를 얘를 초과해 가지고요. 초과한 크기로 공격 대상자한테 픽 요청을 하는 거예요.
05:13
그러면 이제 공격 대상지 서버에서는 너무 큰 패키지에 네 픽 요청을 받았을 때 네트워크가 마비되어지는 현상이 생길 수 있다. 그래서 졸트나 sping이나 icmp 버거나 icnp 같은 경우에 변종 공격을 대비해서 icmp ping 메시지가 전송되지 못하도록 방화벽에도 차단하는 기술이 개발되어졌다 쉽네 하기가 그래서 도시 창을 띄워가지고 피아인지 하고 난 다음에 한 칸 띄우고 w 네이버 점 컴하고 이렇게 딱 눌렀어요. 그러면 이렇게 4개 보내고 응답 받느냐 안 돼요. 네이버는 허용을 안 해요. 막아놨어요. 이게 악용 수단의 공격 툴이 되다 보니까 아예 우리는 ping에 대해서는 우리는 서비스를 응답 안 한다. 이렇게 설정이 돼 있거든요.
06:13
자 예시로 그냥 제가 보여드린 거예요. ping test를 할 때 목적지 대상에 보내는 해당 그 사이즈 크기를 뭐 하이펀 l 가지고 네 그리고 개수가 기본적으로는 4개거든요. 4개 보내고 4개만 더 받는데 개수를 더 많이 늘릴 수 있어요. 하이펀 앤 옵션으로 또는 아예 강제 종료할 때까지는 계속 반복해서 보낸 하이펀티 같은 경우에는 강제 종료되기까지는 계속 핀을 보내고 받아요. 그렇게 할 수도 있어요. 넘어가겠습니다. 스머핑입니다. 스머핑 스머핑은 ip나 icmp 특성을 악용한 거다 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 자체를 불능 상태로 만드는 공격 방법이다.
07:00
특정 서버만을 해당 다운시키는 게 아니라 해당 서버가 존재하는 내의 네트워크를 불능 상태로 만드는 관행 질문이 크게 중요하진 않은데 설명을 드리면, 공격자가 패킷에 패킷은요, 인터넷 망에서 데이터를 전송하는 전송 단위가 됩니다. 전송 단위인데 이 패킷에는 헤드 정보가 붙어가지고 어디에서 출발했고 어디로 가는 거야. 라고 하는 네 rp 정보들이 들어가 있어요. 그런데 해당 송신 보내는 주소 자체를 공격 대상의 컴퓨터에 ip 주소로 위장을 해가지고 네 보내고 어디에다 보냈느냐 해당 네트워크의 라우터의 브로드 퀘스트 주소에다가 보낸다 일반적으로 네트워크 회전을 이렇게 하나 가져왔어요. c 클래스 회전을 하나 가지고 왔다 저희가 정보통신파트에서 인터넷 주소 체계 저희가 다뤘었잖아요.
07:58
근데 다루면서 네트워크 회사를 하나 가지고 오면 네트워크에서 연결할 수 있는 컴퓨터의 대수는 해당 ip 버전 4 같은 경우엔 클래스 등급에 따라 틀리다 예를 들어서 c 클래스 하나를 가져갔다 가지고 오게 되면은 해당 연결하신 컴퓨터의 대수는 28승 256대 그런데 256대에서 두 개의 해당 ip는 빠져요 네트워크 회선에 고유 부여된 주소와 이 네트워크 회선에 연결되어지는 모든 컴퓨터에 브로드 캐스터를 하는 몽땅 다 한꺼번에 보내는 주소는 일반 사용자가 사용할 수 없는 rp주소로 해서 마이너스 2씩 빠져요 자 브로드캐스트 주소가 네트워크 회선 단위별로 부류가 되어지는데 이 브로드캐스트 주소에다가 네 브로드캐스트 주소를 수신지로 해가지고 패킷을 전송한다.
08:53
전송을 하게 되면 라우터의 브로드캐스트 주소에다가 주소로 수신되어진 패킷은 해당 네트워크 내에 있는 모든 컴퓨터에 전송을 해버리죠 일괄 전송을 그러면 이 메시지를 받은 컴퓨터가 다시 해당 응답 메시지를 보냈는데 어디에 보내느냐 아까 여기 어떻게 했다고 그랬어요. 공격 대상의 ip 주소로 위장을 했다고 그랬죠 그러면 특정 해당 컴퓨터로 위장해서 보낸 송신지 서버로 다시 응답 메시지가 집중적으로 보내지면서 공격지 의 네트워크 과부하로 정상적 서비스 수행이 불가능하게끔 하는 방식이 스머핑입니다. 이 스머핑 공격을 무력화시키려면 네트워크 라우터에 있는 브로드 퀘스트 주소를 사용하지 못하게 미리 설정하는 것이 바람직하겠다. 이렇게 정리하겠습니다.
09:47
네 번째 syn 플로우딩 싱플로우딩 자 syn은 어 싱크로라이즈 한다. 이건데 자 tcp 즉 osr 7계층 하면서 tcp는 전송 계층에서 신뢰성 있게 데이터를 보내는 역할을 담당하는 프로토콜이다 라고 했었습니다. 어떻게 신뢰성 있게 보내느냐 하면 얘는 철저하게요. 쓰리웨이 핸드 쉐이크라는 과정을 거쳐요 쓰리웨이 핸드 쉐이크 핸드 세이크를 악수한다는 말이잖아요. tcp로 신뢰성 있게 전송하는 경우에는 보내는 쪽에서요 네 받는 쪽에다가 아니면 대상 서버에다가 어 나 너한테 접속해서 뭔가 요청할 거야. 라고 하는 그 메시지를 보내기 전에 나 너한테 접속할 거야. 라고 먼저 손을 내밀어요. 그러면은 서봇단에서는 어 접속해도 돼 라고 응답을 받고요.
10:43
어 그래 그럼 나 이제 접속해서 데이터 보낸다 라고 이제 다시 응답 메시지를 보내고 난 다음에 데이터를 보내요. 그래서 그 세 가지 3위에 핸드쉐이크 과정을 거친 다음에 데이터를 전송하는데 첫 번째 단계가 클라이언트가 서브한테 syn인 싱크로나이즈 시퀀스 넘버의 약어입니다. syn 패키지 나 이제 나 나하고 접속할 거야. 라고 하는 메시지를 보낼 때 보낼 때 보내는 해당 패킷은 어디에서 보내진다고 하는 주소를 가상의 클라이언트 해당 주소가 있는 게 아니라 가상의 클라이언트 주소로 해서 보내는 거예요. 네 자 그러면 서버단에서는 접속해도 돼 라고 하는 메시지를 보내는 거는 두 번째 메시지 뭐냐면 싱크 a ck 엑날로즈입니다.
11:42
알겠어 그래도 보내도 돼 라고 하는 두 번째 단계의 전송 패키지는 서버에서 클라이언트한테 싱크 액 패킷을 보내는데 전송지가 있는 게 아니라 가상의 클라이언트 ip 주소로 위장해서 보내졌기 때문에 얘가 정상적인 주소가 아니잖아요. 그러면 해당 이 싱크 액 신호 자체가 제대로 전달 안 되겠죠. 전달 안 되지만 얘는 어쨌든 서버는 연결할 거야. 라고 요청을 받게 되면 연결해도 돼 라고 하면서 얘가 연결할 수 있도록 접속을 받아들이기 위한 메모리의 일정 공간을 확보를 합니다. 서버단에서는요 확보를 해놓는 거죠.
12:29
이 절차 자체가 여러 번 발생을 하게 되면 서버단에서는 실제 제대로 연결도 되지 않으면서 요청 온 부분에 대해 가지고 연결할 수 있는 해당 메모리 공간만 계속 늘려가다 보면 유한자원이니까. 해당 서버가 가용한 메모리를 다 대기 상태로 있으면서 나중에는 서비스가 중단되는 거죠. 그게 싱크플로딩이에요. 그래서 얘를 방지하기 위해서는 어떻게 하냐면 수신지의 싱크 수신의 대기 시간을 줄이거나 침입 탐지 차단 시스템을 활용을 해서 싱크플로딩 공격을 방지할 수 있겠습니다. 3위에서 핸드쉐이키 이런 용어가 들어가면 syn 플로우딩 이렇게 개념 잡으시면 되겠습니다. 다섯 번째 테어드랍입니다. 테어드랍은요, 해당 데이터의 송수준 과정에서 패킷의 크기를 일반적으로 쪼개요 1메가짜리 이미지를 보낸다 그러면 1메가를 통째로, 보내지 않습니다.
13:23
얘를 일반적으로 128kb 단위별로 토막을 이렇게 내요 대략적으로 한 8개 정도 토막 이렇게 내가지고 토막을 내가지고 보내면서 받는 쪽에서는 다시 토막 난 해당 패키지를 조합해 가지고 다시 1메가짜리 이미지로 네 해당 네 받아들이는 거거든요. 자 그러면 보낼 때 분할하고 나서 조합할 수 있는 순번을 어디에다가 프레그먼트 옵셋이라는 값에다가 담아 가지고 보내는데 그냥 이 옵셋값 자체를 변경시켜 가지고 수신 받은 쪽에서 이 패킷을 조립을 할 때 힘 이게 네 오류를 발생시키게끔 그래서 이거 해결하다가 과부하 걸려 가지고 시스템 다운로드 되게끔 하는 공격 방식이 케어 드롭이 되겠습니다. 눈물방울 공격이다.
14:10
이렇게 다음 랜드는요 패킷을 전송을 할 때 송신지 ip 보내는 쪽 ip하고 수신 쪽 수신지 ip하고를 같게 해버려요 유장해가지고 그래서 모든 공격 대상의 ip 주소로 설정을 한 다음에 공격 대상자한테 전송을 하게 되면 이 패킷을 받은 공격 대상은 송신 ip가 자기 자신 주소이면 자기 자신한테 다시 얘를 보내는 거예요. 자기 자신 송신지 ip가 자기 자신이니까. 자신한테 응답을 수행하게 되는데 이러한 패킷이 계속해서 전송이 되어지게 되면 자신에 대해서 무한응답하는 형태로 하면서 서비스가 중단되는 그런 형태의 공격 그래서 랜드에 대비하기 위해서는 송신 ip하고 수신 ip를 검사할 필요성이 있겠다. 마지막 일곱 번째 디도스입니다. 디스트리뷰티드 디나이얼 오브 서비스 도스 공격은 디나이얼 오브 서비스 거부 몰 서비스들 근데 디는 뭔데 디스리뷰티드예요.
15:09
그래서 분산 서비스 공격이라고 이야기를 합니다. 분산 서비스 공격은 여러 곳에 분산되어진 공격 지점에서 한 곳의 서버에 대해서 서비스 공격을 수행하는 것을 이야기합니다. 과정적인 부분은 크게 중요할 것 같지는 않고요. 분산서비스 공격의 툴로는 간단하게 보면 트린제로나 tfn이나 용어 그냥 tfn2k 그리고 스테칠 듀레 이렇게 이러한 이름들이 있습니다. 개념은 2011년도부터 북한의 디도스 공격으로 농업 전산망이 다운돼서 접속 속도가 늘어요. 아니면 어떤 서버가 다운됐어요. 이런 해당한 언론 보도 자료들이 많았었거든요. 그래서 이 용어도 많이 알려졌어요. 요즘은 공격의 범위를 확대하기 위해서 일부 호스트에 다수의 에이전트를 관리할 수 있는 핸들러 프로그램을 설치를 해서 마스터로 지정한 다음에 공격을 이용하기도 한다.
16:07
또는요 해당 네트워크에 취약점이 있는 호스트를 참석해서 이들한테 분산 서비스 공격용 툴을 설치해가지고 좀비 pc로 만든 다음에 해당 디도즈 공격에 이용하는 경우도 있다. 이렇게 정리하고 넘어가겠습니다. 분산 서비스 공격 디도즈 공격 추가적으로요 네트워크 침해 공격 용어하고요. 그리고 개인정보 정보 보안 침해 공격 용어 추가적으로만 더 정리하겠습니다. 네트워크 침해 공격과 관련되어진 용어에 대한 설명입니다. 스미싱 있어요. 스미싱은 sms 피싱 네 문자죠 문자 메시지 sms 무료 쿠폰이나 모바일 초대장 등 문자 메시지를 보낸 다음에 메시지에 있는 주소를 클릭했을 때 악성코드를 설치해서 검증 정보를 빼나가는 행위가 스미싱 네 문자메시지 그리고 apt는요 어드벤스터 퍼시스턴트 스레드입니다.
17:03
지능용 지속 위협은 다양한 it 기술과 방식들을 이용해서 조직적으로 특정 기업이나 조직 네트워크에 침투해서 활동 거점을 마련하고 때를 기다리고 있다가 보안을 무력화하고 정보를 수집한 다음에 외부로 빼돌리는 형태의 공격이다. 공격방법은 내부자에게 악성코드가 포함되어진 이메일을 올해 기간 동안 꾸준히 발생해서 한 번이라도 클릭하기를 기다리는 형태 그리고 스톡스넷과 같은 악성 코드가 담긴 usb동으로 전파하는 형태가 되겠다. 다음 스페어 피싱입니다. 스페어 피싱은 사회공학의 환기법인데 특정 대상을 선정한 다음에 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송을 해서 메일 내용에 본문 링크나 첨부된 파일을 가도록 유도해서 사용자 정보를 탈취하는 부분이 있다. 앞부분하고 약간 비슷하게 한다. 그죠 근데 여기는 사회적 사회공학 환기법입니다.
17:58
사회공학이라고 하는 부분은 컴퓨터 보안에 있어서 인간 상호의 어떤 작용의 깊은 신뢰를 바탕으로 한 사람을 속여 가지고 정상적 보안 질서를 깨뜨리기 위한 비기술적 시스템 침입 수단이 되겠습니다. 큐싱 큐싱은 qr코드 qr코드 있죠. 이렇게 사각형으로 해가지고 평면으로 해가지고 이렇게 돼있는 거 찍으면 뭔가 특정 페이지에 이동한다든지 아니면 그다음 앱을 다운로드 받는다든지 이렇게 활용할 수도 있고요. qr코드를 통해서 악성 앱을 다운로드를 유도하거나 악성 프로그램을 설치하도록 하는 금융사기 기법으로 qr코드와 개인정보의 금융정보를 낳는다 피싱의 합성어가 되겠다. 다음 정보 보안 침해 공격과 관련되어진 용어 몇 가지만 더 정리하겠습니다. botnet이다.
18:52
자 이 용어들은요, 이전에 해당 시험 출제 기준이 바뀌기 전에 실기 파트의 it 신기술 부분에서 보안과 관련해서 나왔던 부분들이라서 일반적으로 제가 체킹한 사항으로는 기출문제를 활용할 가능성이 높아요. 그래서 이 부분도 저희 서비스 공격 유형과 연관된 부분이라서 추가 정리를 해드리는 겁니다. 본넷이다. 악성 프로그램에 감염이 되어서 악의적 의도로 사용될 수 있는 다수 컴퓨터들의 네트워크 연결 형태를 본넷이라고 한다. 옴이다. 보안 관련된 부분 네트워크의 연속적으로 자기 복제 기능 자기 자기 자신을 복제해서 시스템 부하를 높인다. 그래서 결과적으로는 네트워크 망 자체를요 시스템뿐만 아니라 네트워크 망을 마비시키는 네트워크를 통해 연속적인 자기 복제 기능 웜 제로 데이 공격이다. 보안 취약점이 발견이 돼버렸어요.
19:42
보안 취약점이 발견되었을 때 발견된 취약점이 널리 알려지기 널리 공표되기 전에 해당 취약점을 통해서 이루어지는 보안 공격을 제로 데이 공격이라고 합니다. 랜섬웨어다 랜섬웨어는 인터넷 사용자의 컴퓨터에 사용해서 내부 문서나 파일이나 이러한 것들을 암호화 시켜버려요 내용 못 보게끔 중요한 문서인데 이거 어떻게 해 그러면 해당 그거 암호 해독용 프로그램 줄 테니까. 대신 돈 내 이렇게 사용자 요구하기도 한다. 암호화 트로이 목마다 정상적인 프로그램에 정상적인 기능을 하는 프로그램을 위장해서 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어서 부작용을 일으키는 것으로 얘는 자기 복제 능력은 없어요. 트로이 목마 키로그 공격이란 키 키보드요 키보드에 입력하는 키 얘들을 탐지하는 거죠.
20:39
그래서 아이디나 패스워드나 계좌번호 카드 정보와 같은 개인정보를 빼내가는 해킹 공격은 키로그 공격이 되겠습니다. 문제 정리할게요 서비스 거부 서비스 공격 유형 많은 내용 저희가 살펴봤는데 다음 중 디우스 디스트리뷰티드 리아이어 오브 서비스에 대한 설명으로 옳지 않은 거 특정 서버의 정상적인 기능을 방지할 목적으로 사용된다. 여러 대의 장비를 이용하여 대량의 데이터를 한 곳에 서버에 집중적으로 전송해 왔습니다. 네트워크를 통해서 연속적으로 자신을 복제하여 시스템의 부하를 높임으로 시스템을 다운시키는 부분은 웜에 대한 설명입니다. 멈에 대한 설명입니다. 웜 3분의 7였고 표적이 되는 서버는 데이터 범람으로 결국 시스템의 가동이 멈추게 된다. 맞습니다.
21:28
두 번째 공격자가 가상의 클라이언트를 위장하여 3웨이 핸드셰이크라는 부분이 있으면 바로 정답으로 scen 플러딩을 고르면 되겠습니다. 넘어갈게요 다음 서버 인증입니다. 보안 서버에 대한 개념과 인증에 대한 개념 정리 먼저 할게요 보안 서버 보안 서버는 인터넷을 통해서 개인정보를 암호화하여 송수신할 수 있는 기능을 갖춘 서버로 이야기를 하고요. 스니핑을 이용한 정보 누출 스니핑이라는 건 냄새를 쿵쿵 맡다는 말이에요. 그래서 네이브 네트워크 내의 돌아다니는 패킷들을 캐치해서 중요 정보 빼나가는 스니핑을 이용한 정보 유출이냐 피싱 속이라는 말이잖아요. 프라이빗 피싱을 이용한 위조 사이트 등에 대비해서 보안 서버 구축이 필요하겠다. 개인정보의 기술적 관리적 보호 조치 기준에 따르면 보안 서버는 다음과 같은 이름을 갖춰야 돼요.
22:28
네 어떤 거 서버에 ssl 인증서를 설치해서 정보 전송 정보에 대한 암호화 후 송수신하는 기능 그리고 서버에 암호화 응용 프로그램을 설치해서 전송 정보를 암호화하여 송수신하는 기능들은 갖춰야 되겠다. 그게 보안 서버라는 말이에요. 인증이라고 하는 부분 자체는 여러 사람들이 사용하는 컴퓨터 시스템의 서버 컴퓨터죠 다중 사용자 컴퓨터 시스템이나 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차가 인증입니다. 자 인증의 종류로는요 네 지식 기반 인증 4가지가 있어요. 네 지식 기반 인증 그리고 소유 기반 인증 생체 기반 인증 행위 기반 인증들이 있겠습니다. 세부적으로 살펴볼게요 지식 기반 인증이라는 것은 썸팅 유 노예요. 알고 있는 거 일반적으로 저희 사용하는 방식들이죠. 로그인할 때 회원 가입한 아이디와 비밀번호 입력하세요. 그게 그 사례입니다.
23:24
사용자가 기억하고 있는 정보를 기반으로 인정하는 건데 이 방법은 별도의 어떤 물리적 장치가 필요 없기 때문에 관리 비용이 저렴하다가 장점이지만 인증 방법 중에 가장 보안에 취약할 수도 있다. 라는 게 단점입니다. 지식 기반 인증 이해는 아이디와 비밀번호로 로그인하는 방식과 그리고 아이핀 방식이요. 행자부가 주관이었는데. 지금은 이 아이핀도 예전에는 주민번호 대신 사용할 수 있는 인터넷상에서 해당 인증수단으로 행자부에서 주관했는데 이건 지금 없애고 있어요. 원래에는 신규 회원 이 아이템 발급을 받지는 않고 있습니다. 자 우선 지식 기반의 인증입니다. 소유 기반의 인증입니다. 선택 유 헤브 가지고 있는 거 소유자가 사용자가 소유하고 있는 것을 기반으로 인증하는 절차 요거는 근데 이제 도난될 수 있는 위험 소지가 있긴 있죠.
24:21
소유물이 쉽게 도용될 수 있기 때문에 예방 이 방법은 지식 기반 인증하고 또는 생체 기반 인정하고 같이 사용하는 편입니다. 분실 및 도용의 위험이 존재한다. 소유 기반 인증 이해는 신분증 주민등록번호 운전면허 여권 네 그 다음에 스마트 카드 네 ic칩 내장되어 있는 거 그러한 것들 또는 otp 해당 비밀번호 어느 계좌 이체한다고 할 때 일회적으로 비밀번호를 생성시키는 거죠. 사용자가 패스워드 요청할 때마다 암호 알고리즘을 통해서 새롭게 생성한 패스워드를 사용한다. 이게 소유기반 인증이 되겠습니다. 생체 기반 인증 네 선택 유아 그 당신이 그 자체 당신 자체 사용자의 고유한 생체 정보를 기반으로 인증을 수행하는 거 사용이 쉽지 않 이건 사용은 쉽고요. 도난 위험도 적지만 도난 도난 위험도 적고 위조가 어렵다는 장점도 있긴 합니다.
25:18
생체 기반의 인증의 예는 지문 홍채 망막 얼굴 엄성이나 정맥 등이 생체 기반 인증이 되겠고 기타 인증 기법으로서는 행위 기반 인증은 사인하세요. 네 행동으로요 행동 정보를 이용해서 인증하는 거 사인이나 또는 동작 특정 동작 이렇게 그다음에 위치 기반 인증은 인증 시도하는 위치의 적절성 확인 gps나 ip 주소 이용 문제 정리하겠습니다. 서버 인증에 대한 퀴즈 문제입니다. 다음 중 보안 서버에 대한 설명으로 틀린 거 골라라 보안서원은 암호화 응용 프로그램을 설치하여 전송 정보를 암호화하여 송수신하는 기능을 갖춰야 한다. 네 맞죠.
26:03
보안사원은 ssl 슈큐어 쇼킷 레이어 인증서를 설치하여 전송 정보를 암호화하여 송수신 기능을 갖춰야 돼 맞고 스니핑을 이용한 정보 유출과 피싱을 이용한 유저 사이트 등에 대비해서 보안 서버 구축이 필요하다 맞고 보안 서버는 인터넷을 통해서 개인 관계인이 직접 연결되어 파일을 공유할 수 있도록 하는 서버는 파일 트랜스 프로토콜 서버 ftp 서버예요. 파일을 주고받는 때 이용하는 서버는 ftp 서버 얘가 틀렸습니다. 다음 서버 접근 통제에 대해 살펴보도록 하겠습니다. 네 엑세스 컨트롤 접근 통제 또는 접근 제어 이 부분인데요. 저희가 13장이 인 물리 데이터베이스 설계에서도 물리 데이터 요소 중에 접근 통제라는 부분을 저희가 다뤘습니다. 그 부분도 참고해 보시면 좋을 것 같고, 정리하겠습니다.
26:56
접근통제는 사용자 및 장비의 접근 필요성에 따라서 정보 자산에 대한 접근 권한을 부여하므로 비인가자는 인가자의 무단접근을 제한을 두는 것을 이야기합니다. 접근통제는 다음과 안전 통제를 통해서 자원의 불법적 접근 및 파괴를 예방할 수 있는데, 비인가되어진 사용자의 접근 감시 그리고 접근 요구자의 사용자 식별 그리고 접근 요구의 정당성 확인 및 기록 그리고 보안 정책에 근거한 접근의 승인 및 거부 접근 통제의 3요소라고 해서 이전에 저희가 다뤘어요. 접근 통제 정책 접근 통제 메커니즘 그리고 접근 통제 보안 모델이 있는데, 이 파트에서는 저희가 접근 통제 정책 중심적으로 정리하도록 하겠습니다. 접근통제의 정책의 종류입니다. 첫 번째 임의적 접근 통제 임의적 접근 통제의 정책은 객체에 접근하고자 하는 주체의 접근 권한에 따라서 접근 통제를 적용하는 방식이 되겠다.
27:56
사용자가 접근 권한을 임의적으로 추가 또는 처리하는 것을 하는 것이 가능하고 데이터 소유자가 사용자나 사용자 그룹의 신분에 따라서 임의로 접근을 제어할 수 있다. 구현 위해서는 엑세스 컨트롤리스트를 사용해 신원 기반이나 사용자 기반 통제 방식을 사용한다. 두 번째 강제적 접근통제는 주체와 객체의 등급을 비교를 해서 접근 권한을 부여하는 방법이고 이 접근 통제 방법은 제3자가 접근 통제 권한을 지정한다. 라는 특징이 있습니다. 제3자가 접근 통제 권한을 지정한다. 강제적 조건 통제는 사용자가 아니라 제3자가 최상위 보안을 가지는 등급을 가진 자도 모든 자료의 열람은 불가능할 겁니다.
28:50
보안등급과 규칙 기반과 관리 기반 접근 통제 방식으로 모든 주체 및 객체에 대해 일정하며 어느 하나의 주체 객체 단위로 접근 제한을 설정할 수는 없다. 임의적 접근 통제와 비교한 강제적 접근 통제의 특징이었고 그리고 역할 기반의 접근 통제다 임의적 접근 통제의 단점을 보완한 기법으로 비임의적 접근 통제라고도 합니다. 사용자한테 최소한의 권한을 부여함으로써 권한의 남용을 방지할 수 있고 직무에 따라 허가를 결정하게 하므로 직원이 자꾸 자주 바뀌는 구조에서 유리한 정책이 되겠다. 역할 기반의 접근 통제 인사담당자는 인사담당자인 경우에는 이 권한을 줄 거야. 역할에 기반한 접근통지 접근통제행렬이라고 있습니다만 접권통제행렬은 주체를 열 누구야 홍길동 박철순이야 그다음에 주체 어 바뀌어서 설명드렸군요.
29:49
주체 주체가 열이에요. 사원이다. 부서다 상품이다. 판매 현황이다. 거래업체다 이게 열이에요. 주체가 열 그리고 객체 이용자 이용자는 행 홍길동 이하 박철순 이하 각각에 대해서 열 단위별 주체에 대해 객체가 가지는 권한을 표 양식으로 해가지고 표기한 거예요. 각각의 권한을 부여하는 방법으로 주체와 객체가 커질 경우 행렬 유지가 어렵다라는 단점이 있긴 합니다. 홍길동은 사원에 대한 모든 권한을 다 가져 부서에 대한 모든 권한을 다 가져 상품에 대해서는 읽기만 알 수 있어 판매 현황에 대해서도 읽기만 알 수 있어 거래 영역에 대해서는 읽기만 할 수 있어 라이트는 수정할 수 있는 권한 이렇게 이해하시면 될 것 같습니다.
30:35
그래서 접근 통제 행렬이라는 거는 열에다가 주체를 명기를 하고 행에다가는 이용하는 객체를 명기로 해가지고 표 내에 네 권한을 표기해 가지고 하는 방식 조건 제어 마지막 조건 제어는 사용자에 따라 공유 데이터에 접근할 수 있는 권한을 제한하는 방법 조건의 허용을 결정하는 인증 그리고 사용자 행위에 대해 강제적으로 제한하는 인가 등이 있다. 문제 풀어볼게요 다음 중 데이터 보안에 대한 접근 통제에 대한 설명으로 틀린 거 골라라 접근 통제는 객체와 이를 이용하는 주체 사이에 정보의 활용을 제한한 것을 이야기한다. 두 번째 접근 통제는 허가된 사용자만 인증의 객체에 접근하게 함으로써 불법적인 자원 접근 및 파괴를 예방할 수 있어요.
31:26
접근통제는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는데 제3자가 접근 통제 권한을 가진다 이게 틀렸습니다. 제3자가 접근 통제 권한을 가진 것은 강제 접근 통제입니다. 강제 접근 등에는 주체와 객체의 등급을 비교하여 조건 권한을 부여 그리고 객체 배열 보안 등급과 사용자 인가 등급을 부여할 수 있다. 다음 내용으로서 보안 아키텍처 짧게 살펴볼게요 보안 아키텍처하고 보안 프레임워크는 내용이 많지가 않습니다. 보안 아키텍처는 정보 시스템의 무결성 가용성 기밀성 이게 뭐였어요. 보안의 3요소였죠 보안의 3요소 무결성 가용성 긴밀성을 확보하기 위해 보안 요소 및 보안 체계를 식별하고 이들 간의 관계를 정의한 구조이다.
32:22
구조 구조 아키텍처 보안 아키텍처를 통해서 물리적 기술적 보안 개념의 수립과 보안관리 능력의 향상 그리고 일관된 보안 수준의 유지를 기대할 수 있다. 관리적 보안이라고 하는 부분은 보안 정보 보호 정책 정보 보호 조직 정보 자산 분류 정보 보호 교육 및 훈련 인적 보안 업무 연속성 관리 등을 정의한 거고, 물리적 보안은 건물이나 사무실이나 대한 출입 통제 지침이나 전산시 관리 지침이나 정부 시스템 보호 설치 및 관리 지침 재해 복구 센터 운영 등에 대한 정의가 물리적 보안이 있고 기술적 보안은 사용자 인증이라든지. 조건 제외거나 pc 서버 네트워크 응용 프로그램 데이터 등에 대한 보안 지침 정의가 기술적 보안에 해당되어지겠습니다.
33:14
보안 아키텍처는요 보안 수준에 변화가 생겨도 네 이거 약간 네 보안 아키텍처는 보안 수준의 변화가 생겨도 기본 보안 아키텍처의 수정 없이는 지원할 수 기본 보안 아키텍처의 수정 없이 지원할 수 있어야 한다. 보안 아키텍처는 보안 수준의 변화가 생긴다 하더라도 기본 보안 아키텍처 수정 없이 지원할 수 있어야 한다. 여기 시험에 보기 항목으로 틀린 보기 항목 잘 나올 것 같아요. 보안 아키텍처는 보안 요구사항의 변화나 추가를 수용할 수 있어야 된다. 넘어가겠습니다. 보안 아키텍처 표는 itootx850의 보안 표준을 기준으로 구성한 보안 아키텍처 모델의 이해가 되겠습니다.
34:04
보안계층에는 인프라 시스템 응용 프로그램 데이터 db 단말기 인터페이스 보안 영역은 정보 시스템 아키텍쳐 아키텍쳐 구조요 구조 보안 아키텍처 보안구조 보안 영역으로 분류할 때는 대상으로서 포함대상으로 정보시스템 제어시스템 클라우드 무선 그리고 사물인터넷 보안 요소로서는 보안 요소 인증 접근 통제 그리고 데이터 처리 보호 암호화 추적 감사 위협 탐지로 이렇게 나누는 경우도 있다. 자 보안 프레임워크입니다. 네 보안 프레임워크의 개념입니다. 프레임워크는 뼈대의 골조를 의미하는데 보안 프레임워크라고 하는 부분은 안전한 정보 시스템 환경을 유지하고 보안 수준을 향상시키기 위한 책임 해당 국제표준으로서는 iso 국제표준화기구의 27001 모델이 있습니다.
34:58
iso 27001 모델은 정보 보안 관리를 위한 국제 표준으로서요 일종의 보안 인증 인자 가장 대표적인 보안 프레임워크입니다. 브리티시 스탠더드 인스터튜튜가 지정한 bs779 기반으로 구성이 되어졌고 조직에 대한 보안 관리 규격이 정의되어 있어서 실제로 심사 및 인증용으로도 사용되고 있습니다. iso 2027001의 보안 통제 항목들의 종류인데요. 개괄적으로만 보겠습니다.
35:28
요구사항 주요 내용 통제 항목 수 이렇게 되어 있는데, 보안계층은 정보 보호 수행을 위한 경영 방식과 지원 사항이 주요 내용이고 통계 항목은 2개 그리고 정보 보안 조직 효과적인 보안 관리를 위한 조직의 책임과 역할 통제 항목 수 7개 자산관리 그리고 개괄적으로 볼게요 인적자원보안 접근통제 암호화 물리적 및 환경적 보안 통신보안 운영보안 시스템 획득 개발 및 유지보수와 공급자 관계 그리고 정보 보호 사고 관리 정보 보호 측면 업무 연속성 관리 준거성과 같은 요구 사항들이 있고 주요 내용 및 통제 항목 수로 정리되어 있는 게 네 일 간단하게 정리한 게 iso 27001 해당 모델 내에 보안 통제 항목들이 되겠고요.
36:28
모의평가론 내용 정리하도록 하겠습니다. 1번입니다. 다섯 문제만 정리할게요 다음과 같은 특징을 가지는 서비스 공격 유형으로 올바른 것은 qr 코드를 통해 qr이라고 나오면 바로 구할 수 있어야 됩니다. qcing을 이야기합니다. qcing qr코드 통해서 악성 앱 다운로드 유도하거나 악성 프로그램 설치로 하는 금융사리 기법이다. 이렇게 돼 있어요. 1번 큐싱 두 번째 다음이 설명하는 건 무엇인가요?
37:00
다중 사용자 컴퓨터 시스템 또는 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인 접근 권한을 검증하는 보안 절차다 이 사람은 우리 시스템에 가입된 가입자냐 어떤 권한을 가지는 해당 이용자인가 라는 부분 자체를 검증하는 절차는 인증 절차죠 인증 어센티케이션 로그인 절차라든지 아이디 입력하세요. 비밀번호 입력하세요. 아니면 지문 입력하세요.
37:35
이렇게 다음 세 번째 서버 보안에 의한 접근 통제에 관한 설명으로 올바르지 않은 거 식별 및 인증은 시스템에 로그인할 수 있는 사람을 결정 그리고 인간은 인증된 사람이 생기는 것을 결정하고 그리고 책임은 해당 사용자가 무엇을 하였는지를 밝힌다 서버 보안에 의한 접근 통제는 인증과 인가가 필수이고 감사는 필수 항목에 포함되지 않는다. 이건 내용에서 저희가 안 가렸어요. 이러한 형태의 문제화해서 나올 수 있어서 제가 정리한 건데 문제 풀면서 추가 설명을 드리는 부분입니다. 소보 보안의 직권 통제에는요 인증 인간 감사 이 세 가지가 다 필수 항목이에요. 서버 보안에 의한 접근 통지에는 인증 인가 감사 세 가지가 다 필수 포함 사항이다. 그래서 이게 틀렸고 접근 제어 시스템은 식별 및 인증 인간 책임의 기본 서비스를 제공한다.
38:30
인간은 역할 기반 접근 통제 그리고 접근 통제 목록 그리고 xacml과 같은 정책 언어 등에 추가된다. 이렇게 정리하겠습니다. 네 번째 문제 다음 중 포항 아키텍처에 대한 설명으로 잘못된 거 보안 아키텍처란 정보 시스템의 무결성 개념 문제입니다. 정보 시스템의 무결성 가용성 기밀성을 확보하기 위한 보안 요소 및 보안 체계를 식별하고 이들 간의 관계를 정의한 구조예요. 맞고요. 보안 아키텍처는 보안 요구사항의 변화나 추가를 수용할 수 있어야 된다. 오류 보안 아키텍처를 통해서 관리적 물리적 기술적 보안 개념의 수립 그리고 보안 관리 능력의 향상 일관된 보안 유지 수준의 유지를 기대할 수 있다.
39:22
오류가 아니라 보안 아키텍처를 통해서 보안 아키텍처를 통해서 관리적 물리적 기술적 보안 개념 수립 보안 관리 능력 향상 일관된 보안 수준을 유지할 수 있다. 맞습니다. 이거 빠져야 될 것 같아요. 오타인 것 같아요. 마지막으로, 보안 아키텍처는 보안 수준의 변화가 발생할 경우에 기본 보안 아키텍처를 수정하여 빠른 변화에 대응하여야 된다. 이렇게 되어 있는데, 보안 아키텍처는 기본 아키텍처의 수정 없이라고 저희가 내용상에서 학습을 했었습니다. 보안 악기 기본 보안 악기 특집 수정 없이도 변화에 대응하여야 됩니다. 틀린 건 4번입니다. 다음 중 대표적인 보안 프레임워크인 iso 2007 27001 모델에 대한 설명으로 틀린 거 보안 프레임워크 보안 프레임워크란 안전한 정보시스템 환경을 유지하고 보안 수준을 향상시키기 위한 체계를 말해요.
40:15
iso 27001은 정보보호 관리를 위한 국제표준이고 일종의 보안 인증입니다. iso27001은 음 bsi bsi가 제정한 bs 어 7799를 네 기반으로 구성한 거예요. 맞고 iso 27001은 조직에 대한 정보 보안 관리 규격은 제외되어 있어 심사 인증용으로 사용할 수 없다. iso 27001은 심사 인증용으로 사용하고 있습니다. 틀린 것은 4번입니다. 핵심 정리는 간단히 정리하고 클로징 하겠습니다. 서비스 공격의 유형 시험 출제 비중도 여기가 오히려 비중도 높게 나오지 않을까 싶어요.
41:02
이 파트에서는요 서비스 거부 공격의 종류는요 핑플로드 핑오브데스 스머핑 플러딩 케어 드랍 랜드 디두스 특징 설명해 놓고 보기에서 고를 수 있게끔 익혀 놓으시면 되겠고 네트워크 침의 공격의 종류로선 스미싱 그리고 npt 지속형 지능형 지속 위협 그리고 스페어 피싱 큐싱 qr코드 그리고 보안 정보 보안 침해 공격으로서는 본넷 웜 제로 데이 어택 그리고 랜섬웨어 트로이 목마 피에로 어택 이러한 것들이 있었죠. 두 번째 서버 인증판자를 살펴봤던 내용입니다. 보안서버라는 거는 인터넷을 통해서 개인정보를 암호화하여 송신할 수 있는 기능을 갖춘 서버를 했고 인증이라고 하는 분은 녹인을 요청한 사용자의 정보를 확인하고 조건 권한을 검증하는 보완 절차였고요. 인증의 종류는 4가지 지식 기반 인증 그리고 소유 기반 인증 그리고 행위 기반 인증이 있었습니다.
42:02
서버접근 통제 파트에서 살펴봤던 내용으로서는 접근통제는 사용자 및 장비 의 접근 필요성에 따라서 정보 자산에 대한 접근 권한을 부여함으로써 비인가자에 대한 무단 접근을 제한했고 접근 통제의 3요소는 접근 통제 정책 접근 통제 메커니즘 그리고 접근 통제 보안 모델이 있었습니다. 세부적으로 살펴봤던 거는 저희가 접근 통제 정책의 종류를 살펴봤었죠. 임의적 접근 통제 강제적 접근 통제 역할 기반 접근 통제 그리고 접근 통제 행렬 직권 제어가 있었는데, 개념 이렇게 위주로 정리하시면 될 것 같아요. 네 번째 보안 아키텍처 정보 시스템 무결성 가용성 기민일성 확보 위한 보안 요소 및 보안 체계 식별하고 이들 간의 관계를 정의한 구조였고요.
42:49
네 아키텍처 보안 아키텍제를 통해서 물리적 관리적 기술적 보안 개념의 수립과 보안 관리 능력 향상 그리고 일관된 보안 수준 유지를 기대할 수 있고 보안 아키텍처는 보안 수준의 변화가 생겨도 기본 보안 아키텍제 수정 없이 아까 틀린 보기 나왔죠 보안아키텍제는 보안 수준의 변화가 생겨도 기본 보안 아키텍처는 수정 없이 지원할 수 있어야 되고 그리고 보안 요구사항의 변화나 추가를 수용할 수 있어야 한다. 마지막 보안 프레임워크 보안 프레임워크에서는 저희가 iso27001 모델에 대해서 보안 정보 보안 관리를 위한 국제 표준이었다. 일종의 보안 인증이자 가장 대표적인 보안 프로그램이 된다. 네 이상으로 시스템 보안 설계에 대해 살펴봤습니다. 시스템 보안 구축 두 번째 마지막 내용입니다. 시스템 보안 구현에 대해 살펴보도록 하겠습니다. 학습목표인데요.
43:46
로그분석의 개념과 리눅스와 윈도우에서의 주요 로그 분석 대상을 이해한다. 두 번째 보안 솔루션의 개념과 보안 솔루션의 종류별 특징을 이해한다. 세 번째 취약점 분석 평가의 개념 그리고 범위 및 항목과 수행 절차에 대해 이해한다. 학습할 내용은 세 파트입니다. 로그 분석 보안 솔루션 취약점 분석이 되어 있는데요. 초포커스는 두 번째 보안 솔루션에 대해서 포커스 두고 학습하시는 걸 권해드립니다. 용어 사전에서는요 로그는 시스템 사용에 대한 모든 내역을 기록해 놓은 것이다. 이 로그 분석을 통하면 시스템에 대한 침입 흔적이나 취약점 확인이 가능합니다. 로고분석입니다. 로그 개념 방금 저희가 용어를 정리했는데 로그는 시스템 사용에 대한 모든 내역을 기록해 놓은 것이다.
44:45
로그 정보를 이용하면 시스템 침해 사고 발생이 됐을 때 해킹의 흔적이나 공격의 기법 파악이 가능하다 그래서 정기적으로 분석을 하게 되면 로그 정보를 시스템에 대한 침입 흔적이나 취약점 확인이 가능합니다. 자 운영체제별로요 크게 대분류해서 리눅스와 윈도우를 사례로 해서요. 로그 분석 살펴보도록 하겠는데 리눅스에서의 로그는요 리눅스는 시스템의 모든 로그를 어디에 기록하느냐 var 슬러시 로그라는 디렉토리에 기록 관리합니다. 로그 파일을 관리하는 시스 로그 d 데몬이라고 하는 부분 자체는 윈도우에서의 서비스 역할을 하는데 사용자가 직접적인 개입 없이도 해당 특정 상태가 되면 자동적으로 동작하는 시스템 프로그램입니다. 윈도우 리눅스는 데몬이라고 하고 윈도우에서는 서비스라는 용어를 사용합니다.
45:44
로그 파일을 관리하는 시스 로그 디 데모는 etcna의 디렉토리명입니다. 시스 로그 점 컴프라는 파일을 읽어서 로고 관련되어진 파일들의 위치를 파악하고 로고 작업을 시작을 하는데 해당 이 파일은 수정 불가능하냐? 수정할 수도 있어요. 시스 로그 점 컴프 파일은요, 파일을 수행해서 로고 관련되어진 파일들의 저장 위치와 발명 변경이 가능합니다. 리눅스에서의 주요 로그 파일입니다. 윈도우보다는 오히려 리눅스가 문제로 내기가 더 수월할 거예요. 왜 보기 항목이 많으니까 자 로그의 종류인데 커널 로그 커널은 다시 한번 정리하겠습니다. 네 이 리눅스 운영체제에서 가장 핵심적 부분을 담당한다.
46:42
하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할 그리고 프로세스 관리 저장 장치 관리 파일 관리 입출력 장 입출력 관리 프로세스 간의 통신 등 어 다양한 여러 기능들을 수행하는 게 어디다 커널입니다. 네 이 커널 로그는요 해당 관련된 파일이 뭐냐 얘만요 div라는 디렉토리 안에 있는 안에 저장되어져요 다른 로그 파일들은 다요 var 디토리 안에 저장되어져요 var 디렉토리 안에 저장되어지는데 커널 로그는 dev 디렉토리 안에 컨솔이라고 하는 파일에 저장되어집니다. 얘를 다루는 데몬 서비스는 커널이에요. 자 내용적인 부분을 보게 되면 네 커널에 관련된 내용을 관리자에게 알리기 위해 파일로 저장을 않고 지정되어진 장치의 표시를 해 이렇게 소개하고 있습니다.
47:41
커널에 관련되어진 내용을 관리자에게 알리기 위해 파일로 저장하지 않고 지정된 장치에 표시된다. 그러니까 연관되어진 콘솔이잖아요. 명령창이잖아요. 명령 네 콘솔 화면 명령 자 두 번째 부팅 로그단 부팅 로고는 vr 로그 디렉터인 4개의 부트점 로그 파일에 저장을 하는데 데모는 연관 데모는 부트구요. 부팅 시에 나타나는 메시지를 기록한다. 그리고 크론 데모 크론 로그는요 작업 스케줄러인 크론 작업 내역을 기록한다. vara 로그네이의 크론 연관된 데모는 크론 d 그리고 시스템 로그는 커널에서 실시간으로 보내지는 메시지를 기록한다. 관련 파일은 vara 로그레이의 메시지 시스 로그 디 데몬 그리고 보안 로그는요 시스템 접속에 대한 로그를 기록한다.
48:40
접속 기록 vara의 로그 내에 시큐어 보안 로그 시큐어 xinet 데몬 연관 관련 데몬이고 fdb 데모은 fdb를 접속하는 사용자에 대한 로그를 기록한다. 엑스퍼로그 ftp 데몬 메일 메일로그 송수진 메일에 대한 로그를 기록한다. 샌드메일 파퍼 이렇게 관련 데몬으로 정리할 수 있겠습니다. 다음 윈도우 부분인데요. 윈도우 운영체제 내에서는 어 이벤트 뷰어를 이용을 해서요. 네 이벤트 로고를 확인할 수가 있습니다. 네 이벤트 뷰어는 어디에서 저희가 볼 수 있느냐 하면 제어판에 있는 관리 도구 중에 이벤트 뷰를 선택해서 실행시킬 수 있고요.
49:25
물리적으로 해당 이벤트 로그들이 저장되어지는 물리적 경로는 시드라미네일 윈도우즈 네일 시스템 32 내에 윈 이브이티 내에 로그스라는 폴더 안에 저장되어지는데 윈도우 10 기준입니다. 이 경로 제가 설명드리는 거 자 이벤트 배열을 실행했을 때 이러한 창이 떠요 이러한 창이 뜨면서 보면은 사용자 지정보기 윈도우즈 로그 내에 이렇게 있습니다. 이벤트 비오 창의 실행 화면입니다. 윈도우의 이벤트 뷰어의 로그 종류 다섯 가지 있는데요. 응용 프로그램과 관련된 로그는 응용 프로그램에서 발생하는 네 이벤트를 기록하고요. 기록되는 이벤트는 응용 프로그램 개발자에 의해서 결정할 수 있겠다. 보안과 관련된 로고는 로그온 시도나 파일이나 객체 생성 조회 제거 등의 리소스 사용과 관련된 이벤트를 기록합니다. 한다.
50:23
그리고 시스템 로고는 윈도우 시스템 구성 요소에 의해 발생하는 이벤트를 기록하고요. 셋업은 어떤 설치죠 프로그램 설치와 관련되어진 이벤트 목록 그다음에 포워디드 이벤트는 다른 컴퓨터와의 상호작용으로 발생하는 이벤트를 기록하는 로고가 되겠습니다. 퀴즈요 네 다음 중 리눅스의 주요 로그 파일이 아닌 건 뭔데 자 좀 전에 저희가요 네 몇 개를 정리했었냐면은 리눅스 로그 파일 종류요 네 둘 4 6 7개 정리했었거든요.
50:58
커널 부팅 크론 시스템 보안 ftp 메일 자 첫 번째 컨솔이라고 하는 부분 자체는 앞서서 저희가 커널에 대한 커널 커널에 대한 커널 로그 해서 관련 파일로서 컨솔 를 저희가 정리했었죠. 얘만 dva의 콘솔이에요라고 특징을 약간 제가 말씀을 드렸고 다른 것들은 다 var 카테고리 안에 포함되어진다 이렇게 했었죠. 2번 커널은 로그파일이 아니라 커널의 로그파일은 콘솔이에요. 그래서 예가 틀렸어요. 크론 스케줄러요 스케줄러 크론 그다음에 시큐어 보안적인 부분 해당 리눅스의 주요 로그 파일들은 맞고 2번이 틀렸습니다.
51:50
다음 두 번째 문제 다음 중 윈도우의 이벤트 뷰를 통해서 확인할 수 있는 로그 항목이 아닌 것은 아까 로그 항목 저희 몇 개 살펴봤냐면 5개 살펴봤었거든요. 응용 프로그램 맞고요. 시스템 맞고요. 보안 맞고요. 그다음에 로그인이라고 하는 부분 자체는 로그인 횟수라든지 이러한 것들은 어디에 보안 로그 파일에 기록되는 내용입니다. 얘는 내용 그래서 4번이 틀렸습니다. 다음 보안 솔루션으로 넘어가도록 하겠는데요. 네 보안 솔루션이 오히려 시험에 나올 확률이 좀 높습니다. 보안솔루션에 대한 개념입니다. 보안솔루션이란 접근통제 침입 차단 및 탐지 등을 수행하여 외부로부터의 불법적 침입을 막는 기술 및 시스템을 보안솔루션이라고 한다.
52:47
주요 보안솔루션의 종류 총 8가지 위주로 살펴보도록 하겠습니다. 살펴볼게요 뒤에 방화벽 침입탐지 시스템 ids 침입방지시스템 데이터 유출방지 웹방화벽 vpn nac 그다음에 엔터프라이즈 시큐리티 매니저 esm까지 빠졌는데 esm까지 총 8개 살펴볼게요 순차적으로 보겠습니다. 방화벽부터 볼게요 보안솔루션의 종류 첫 번째 방화벽 파이어 월 방화 불 불 불 파이어 불이잖아요. 벽 화재가 발생했을 때 화재의 전파를 막는 벽이 방화벽이죠. 건축 용어인데 해당 컴퓨터 시스템에서 보안용으로 사용하고 있습니다. 기업이나 조직 내부의 네트워크와 인터넷 간에 전송하는 정보를 선별하여 수용할까 거부할까 수정할까와 같은 기능을 가지는 침입 차단 시스템이에요.
53:45
불이 번지는 걸 막는다 얘도 방화벽도 외부에서요 외부에서 내부로 들어오는 걸 막아요. 내부에서 외부로 나가는 걸 허용을 합니다. 즉 네이버 네트워크에서 외부로 나가는 패킷은 그대로 통과시키되 외부에서 내부로 들어오는 패킷들은 내용을 철저하게 체킹해 가지고요. 인증된 패킷만 통과시키는 역할을 담당합니다. 해킹 등의 외부로의 정보 유출을 막기 위해 사용이 되어진다 파이어 월 방화벽 요 시험에 나올 확률 높아요. 옛날 예전부터 자주 나왔어요. 다음 침입 탐지 시스템 약어가 ids입니다. 침입 인트루션 네 탐지 디텍 디텍션 발견한다.
54:36
디텍션 시스템 약어가 ids 침입 탐지 시스템 컴퓨터 시스템이 비정상적인 사용이나 잘못 사용된 거 오용 그리고 남용 너무 무분하게 사용된 거 이런 것들 컴퓨터 시스템의 비정상적인 사용과 오용과 남용 등을 실시간적으로 탐지한다. 탐지에 포커스를 두고 있습니다. 발견하는 거예요. 방화벽과 같은 침입 차단 시스템만으로는 내부 사용자의 불법적인 행동과 외부 해킹에 100% 완벽하게 대처하는 게 힘들더라 그래서 문제가 발생한 경우에 모든 내외부 정보의 흐름을 실시간적으로 차단하기 위해 해커침입 패턴에 대한 추적과 해커 침입 패턴에 대한 추적과 유해 정보 감시가 필요하더라 그래서 사용하는 게 침입탐지 시스템이고 오형 탐지는 미리 입력해 둔 공격 패턴이 감지되면 알려주는 부분이고요.
55:32
이상 탐지는 전체적인 시스템의 상태하고 비교했을 때 비정상적인 행위나 자원 사용이 감지되면 알려주는 종류들이 있습니다. 침입 탐 방지 시스템입니다. 네 다음 침입 방지 야구가요 ips에요. 엔트리지션 침입을 프리벤션 한다고요. 막는다고요. 네 시스템 이거는 방화벽 앞단의 방화벽은 차단이었죠. 네 차단이었고 그다음에 좀 전에 설명한 건 침입 탐지였어요. 저 방화벽과 침입 탐지 시스템을 결합한 게 침입 방지 시스템입니다. 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등 방어 조치를 취하는 보안 솔루션이다. 침입탐지기능으로 얘도 있다고 그랬잖아요. 두 개 결합했으니까 차단 기능뿐만 아니라 탐지 기능도 있다.
56:25
신입 탐지 기능으로 패킷을 하나씩 검사한 후에 비정상적인 패킷이 탐지가 되면 방화복 기능으로 해당 패킷을 차단한다. 네 번째 데이터 유출 방지 약어가 dlp인데요. 오늘 살펴보게 되면 데이터 리키즈 loss 프리벤션 내부 정보의 외부 유출을 방지하는 보안 솔루션이야 대기업권 같은 경우에 보면 내부적으로 일렬 lg 디스플레이 같은 경우에 보면 내부적으로 usb 사용을 못해요. 파일 이미 내부에서 외부로 보내는 걸 다 막아놨어요. 보안적인 측면에서 데이터 어떤 정보 유출적인 부분에서요 그래서 어 예를 들어서 어떤 사람이 나 회사 이제 나가면서 중요 정보를 빼갈 수는 없으니까 파일로 가져갈 수는 없으니까 어떻게 하냐면 복사를 이렇게 해가지고 문서로 가져갈 수 있어요.
57:24
네 그 케이스 같은 경우도 이런 데이터 유출 방지 시스템 내에 보면 사내 직원이 사용하는 pc와 네트워크 상의 모든 정보를 검색하고 메일이나 메신저나 웹하더나 네트워크 프린트 등의 사용자 행위를 탐지 통제해 외부로 유출을 사내를 방지한다. 이렇게 돼 있어요. 아까 제가 말씀드렸던 lg 디스플레이어 같은 경우에는 직원들이 메일을 외부로 반송 보낸 것도 막았다. 이렇게 이야기를 하던데 업무 직종에 따라 틀릴 겁니다. 자 어쨌든 요런 사항입니다. 내부 정보의 외부 유출을 방지하는 보안 솔루션이야 내부 직원이 사용하는 pc와 네트워크의 모든 정보를 검색하고 메일이나 메신저나 웹하더나 네트워크 프린트 등 사용자 행위를 통지해서 통제해서 외부로 유출을 사전을 방지합니다. 웹 방화벽입니다. 앞서서 방화벽 살펴봤는데 앞에 웹이라고 붙어있어요. 일반 방화벽을 탐지하지 못하는 sql 삽입 공격이라든지.
58:22
이전에 저희가 했었어요. 했었어요. sql 삽입은 해당 그 데이터베이스에 데이터를 조작하는 에스큐엘 문을 포함시켜가지고, 공격하는 거 크로스 사이트 스크립팅 xss 등 웹 기반의 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽 이 웹 방화벽이다. 웹 관련되어진 공격을 감시하고 공격의 웹 서버에 도달하기 전에 이를 찾아간다 서비스 범위 자체가 좀 제한적이죠. 웹과 관련되어진 공격 감지 네 해당 차단한다. 이렇게 이해하시면 되겠습니다. 다음 vpn입니다. vpn은 야근인데 virtual 프라이빗 네트워크입니다. 가상 사설 통신망 vpn 자 인터넷망은 공용망이잖아요.
59:15
네 와 다 모든 사람들이 다 이용하는데 거기 내에서요 네 가상적인 사설망이다 라고 해서 자 인터넷 등 통신사업자는 공중 네트워크 퍼블릭 공개되어져 있는 네트워크에 네트워크인데 암호화 기술을 이용을 하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이 vpn입니다. vpa는 암호화되어진 규구를 통해서 인터넷망을 전용서에 사설망으로 구축한 것처럼 이용하므로 비용 부담은 줄일 수가 있겠고 그리고 원격지의 지사나 업무소나 이동 근무자가 지속적 제한 없이 임무 수행을 가능하게 도와줄 수 있다. 이렇게 정리하겠고 네 총 8개 중에 6개 했구요. 일곱 번째 nac nac는 약은데 네트워크 엑세스 컨트롤입니다. 네트워크 접근 통제 네트워크에 접속하는 내부 피씨의 맥 주소라고 하는 부분은 랜카드 주소라고 보시면 돼요.
1:00:15
랜카드별로 고유한 번호가 48비트 주소가 부여돼있어요. 언어 제조사에서 만든 몇 번째 랜카드야 이렇게 고유 주소 중복되지 않는 주소가 부여돼 있습니다. 궁극적으로 네트워크에 연결된 컴퓨터로 구분하는 수단은 불변의 고유 주소가 맥이거든요. 랜카드거든요. 내부 pc의 맥 주소를 ip 관리 시스템이 해당 랜카드에 부여하는 ip 주소는 바뀔 수는 있어요. 그래서 이제 해당 이 ip 관리 대장을 적을 때 보면 어떤 뭐 사무실에 있는 어 누구 컴퓨터 레그드레스 주소 ip 주소 이렇게 네 대장관리를 하거든요. ip 관리 시스템에 등록한 후에 일관되어진 보안 관리 기능을 제공하는 보안솔루션이야 내부 pc의 사용 원한을 관리하여 불법적인 소프트웨어 설치를 방지할 수 있고 일반적으로 배포 관리 기능을 이용해서 백신이나 보안 패치 등의 설치 및 업그레이드를 수행한다.
1:01:15
마지막으로, 네트워크에 접속한 비인가되어진 시스템을 자동으로 검출하여 자산을 관리하는 보안 솔루션이 nh다 내부 pc에 맥주소를 ip 관리 시스템에 등록해 일관된 보안 관리 기능을 제공하는 보안 솔루션이라고 정리하겠습니다. 마지막으로, esm입니다. 엔터프라이즈 시큐리오케이션 매니지먼트의 약어인데요. 기업 보안 관리 전사적 보안 관리 다양한 장비에서 발생하는 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통해서 관리하는 보안 솔루션이야 방화벽 ids ips 웹 방화벽 vpn 등에서 발생하는 로그 및 보안 이벤트를 통합 관리 통합 관리함으로 비용 및 자원을 절약한다. 보안설로소 간의 상호 연동을 통해서 종합적인 보안관리체계 보안관리체계를 수립할 수가 있겠다.
1:02:14
관 솔루션 단위별로 약간 장단점 또 기능 차이가 있으니까 이거를 종합적인 측면에서 해당 중복되어진 거는 일부 이거 약간 뺄 수 있고 조정적인 부분을 해서 통합 관리해서 비용 및 자원을 줄일 수 있고 종합적인 보안 관리 체계 수립이 가능하다 그게 뭔데 엔터프라이즈 시큐리티 매니지먼트 esm이라는 보안 솔루션입니다. 문제 풀고 정리하겠습니다. 네 1번 다음에 제시되어진 내용과 관련되어진 보안 솔루션으로 올바른 것은 sql 사이트 공격 크로스사이드 스크립팅 이것만 봐도 답을 구할 수 있을 것 같긴 합니다. 웹 기반 공격 방어 목적으로 만들어진 웹서버에 특화된 솔루션인 웹파이월이죠. 웹파이월 웹방화벽 1번이 정답입니다.
1:03:04
두 번째 컴퓨터 시스템의 비정상적인 사용과 오용과 남용 등을 실시간적으로 탐지 발견한다는 말이에요. 하는 시스테머인데 약으로만 제가 일부러 구성을 했는데 원어로 제가 안 뿌렸어요. 공격력 공격을 탐지는 디텍스 오인이죠. 디텍션 인트루전 디텍션 시스템 그래서 ids 3번이 정답입니다. ips는 프리벤션을 막는다는 거고, 침입 방지 시스템이었고 vpn은 virtual 프라이빗 네트워크 가상사설 네트워크 망이었고 nac는 네트워크 액세스 컨트롤 약어였죠 다음 취약점 분석 마지막 파트입니다. 취약점분석은 자 분석만 하는 게 아니라 평가적인 부분을 덧붙여 가지고 일반적으로 합니다.
1:04:03
그래서 같이 묶어가지고 취약점 분석 평가 이렇게 묶어서 살펴봅니다. 취약점 분석 평가의 개념 사이버 위협으로부터 정보 시스템의 취약점을 분석 및 평가한 후에 개선하는 일련의 과정을 뜻한다. 취약점 분석 평가란 안정적인 정보 시스템 운영을 방해하는 사이버 위협에 대해 항목별 세부 점검을 하는 항목을 파악을 하여 취약점 분석을 수행하고요. 취약점이 발견이 되면 위험 등급을 부여하여 개선 방향을 수립한다. 등급을 상중화 이렇게 상은 우선적으로 해야 되는 거고, 중화는 중기 장기적으로 해나가는 거 이렇게 뒤에 세운 내용 나옵니다. 범위 및 항목입니다. 취약점 분석 평가 범위 및 항목 정보 시스템과 정보 시스템 자산에 직간접적으로 관련되어진 물리적인 거 관리적인 거 기술적인 분야를 모두 다 포함을 하고요.
1:05:02
취약적 분석 평가의 기본 항목은 상정화 3단계로 중요도로 분류합니다. 상으로 분류되어진 것은 얘는 중력 높으니까 반드시 점검해야 될 대상이야 필수 점검 항목으로 분류를 하고 네 중이나 하로 분류되어진 항목은 회사 사정에 따라서 선택적으로 중기 또는 장기적으로 점검을 하는 대상으로 분류합니다. 다음 취약점 분석에 대한 수행 절차 및 방법입니다. 순서상으로 첫 번째 취약점 분석 평가에 대한 계획을 먼저 수립을 하고요. 계획 내에는 수행 주체와 수행 절차와 소요 예상과 산출물 등에 대한 세부 계획을 수립합니다. 그리고 두 번째 단계에서는 대상에 대한 선별 과정이 진행되어지는데요. 정보시스템 자산을 선별하고요. 유형별로 그룹화하여 취약적 분석 평가 대상 목록을 작성합니다.
1:05:59
그리고 식별되어진 대상 목록의 각 자산에 대한 중요도를 산정을 합니다. 다음 세 번째 단계는 취약적 분석을 수행하죠. 취약적 분석 평가를 위한 관리적 물리적 기술적인 세부 점검 항목표를 작성을 하고 관리적인 점검은 보안 정보 보안 정책이나 지침 등 관련 문서 확인과 정보 보호 담당자 시스템 관리자 사용자 등과 면담을 통해서 수행을 하고요. 물리적 점검은 전산실이나 발전실 등 통제 구역을 직접 발로 찾아가서 현장을 점검하는 형태로 수행이 되어지고 마지막으로, 기술적인 점검은 점검 도구나 모의 해킹 등을 통해서 수행할 수가 있겠습니다. 마지막으로, 취약적 분석 수행을 통해서 내용에 대한 평가입니다.
1:06:58
평가 마지막 평가수행 취약적 분석 세부 결과를 작성을 하고요. 파악되어진 취약점별로 유형변급을 상중하로 구분 표시하고 상은 조기개선 중기 위험 등급 중 하는 중기 또는 장기 개선으로 분류해서 개선의 방향을 수립합니다. 모평가 정리하겠습니다. 네 문제 풀게요 첫 번째 다음 중 리눅스의 로그 파일에 대한 설명으로 틀린 거 시스템의 모든 로그를 vr 내에 로그 리액토리에서 기록 관리해요. 네 맞습니다. 두 번째 로그 파일 중에 메일로그는 vr 슬러시 로그 내의 메일 로그는 주고받는 사람 어 메일에 대한 로그를 기록 관리해요. 네 맞습니다. 시스 로그 컴프 파일 컴퓨터 파일들이 로그 관련되어진 파일들의 위치가 기록되어 있어요. 수정되거나 삭제하지 않도록 관리해야 된다라는 설명은 틀렸어요.
1:07:57
해당 시스 로그 컴퍼 파일은 내용을 수정하거나 삭제할 수 있습니다. 로그 파일 중에 커널 로그는 커널에 관련된 내용을 관리자에게 알리기 위해 파일로 지정하지 않고 지정된 장치에 표시한다. 설명 맞습니다. 다음은 무엇에 대한 설명인가 기업이나 조직 내부의 네트워크와 인터넷 간에 전송하는 정보를 선별하여 수용 거부 수정 기능을 가진 보안 시스템 이야 내부 네트워크에서 외부로 나가는 패키지는 그대로 통과 외부에서 내부로 들어오는 거는 면밀히 체크해서 인증된 패키지만 통과하는 구조야 파이월에 대한 설명입니다. 방화벽 얘는 차단이죠. 차단 차단 시스템입니다.
1:08:41
3번 다음 중 보안 솔루션인 esm 엔터프라이시큐리티 매니지먼트 관련 설명으로 틀린 거 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션이야 밑에 보면 방화벽 ids ips 웹 방화벽 웹방화벽 vpn 등 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션 맞습니다. 보안 솔루션 간에 상호 연동을 통해서 종합적인 보안 장치 간에 중복된 것도 있고 약간 부족한 부분들 서로 전체적인 측면에서 보안 관리 체계를 수립할 수 있어 맞고 방화벽 ids ips 웹 방화벽 vpn 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리함으로써 비용 및 자원을 절약할 수 있다. 이것도 맞습니다.
1:09:32
네 번째 네트워크 내부에 pc에 맥주소를 ip 관리 시스템에 등록한 후에 일관된 보안 관리 기능을 제공한다라는 부분은 esm에 대한 설명이 아니라 네트워크 엑세스 컨트롤 nc 유시원에 대한 설명이에요. 그래서 4번이 틀렸습니다. 네 번째 다음 중 취약점 분석 및 평가에 관한 설명으로 잘못된 거 틀린 거 첫 번째 취약점 분석 평가란 사이버 위협으로부터 정보시스템 취약점을 분석 및 평가한 후에 개선하는 일련의 활동이 아니 맞고요. 관리적점검은 전산실이나 발전실 통제구역을 직접 찾아가서 발로 찾아가니는 물리적 점검이었어요. 관리적이 아니라 물리적 점검이었습니다.
1:10:25
이거 틀렸죠 다음 취약적 분석 평가의 범위는 정보시스템과 정보시스템 자산에 직간접적으로 반영한 물리적 관리적 기술적 분야를 포함한다. 맞고 위험 등급이 상위인 것은 조기 개선하고 위험 등급이 중하는 중기 또는 장기 개선으로 개선 방향을 수립한다. 맞습니다. 학습했던 내용 핵심정리하겠습니다. 세 파트로 나눠서 살펴봤었는데 로그 분석이다. 로그는 시스템 사용에 대한 모든 내역을 기록한 것인데 로그 분석을 통해서 시스템에 대한 침입 흔적이나 취약점 확인이 가능했고 리눅스의 로그와 윈도우 로그 중에 리눅스 로그가 더 내용이 많으니까 다시 한번 정리합니다.
1:11:06
로그의 종류는 총 7개의 커널 로그 부팅 로그 크론 로그 시스템 로그 보안 로그 ftv 로고 메일 로고가 있더라 커널은 커널에 관리되어진 내용을 관리자에게 알리기 위해 파일로 저장하지 않고 지정된 장치에 표시하는데 dv 디렉토리 내에 컨솔 파일이 연관되어진 부분이고 데모는 커널이었다. 부팅은 부팅 시 크론의 작업 스케줄로 크론 뒤에 작업 내용을 기록하는 거야. 시스템 로그는 실시간으로 보내주는 메시지 기록이라서 var 레일 로그 내의 메시지즈가 관련되어진 로그 파일이고요. 보안 로그 ftb 로그 메일 로그는 건너뛰겠습니다. 두 번째 보안 솔루션 접근 통제 침입 탐지 및 침입 차단 및 탐지 등을 수행하여 외부로부터의 불법적인 침입을 막는 기술 및 시스템이었고요.
1:11:57
주요 보안 솔루션 총 8개 저희가 살펴봤는데 명칭만 되짚어보고 넘어갈게요 방화벽 있었고, 차단이 없고 침입 탐지 디텍션 방지 프리벤션 그리고 데이터 유출 방지 그리고 웹방화벽 웹에 네 제한적으로 방화벽 기능 수행하는 거 vpn 가상사슬 뇌동망 nh 그리고 종합적인 엔트프라이저 시큐어 매니지먼트 esm 8가지가 있었습니다. 마지막 취약점 분석 사이버 위협으로부터 정보 시스템의 취약점을 분석 및 평가한 후에 개선하는 일련의 과정이 없고 수행 절차 및 방법으로서는 계획 수립 먼저 했죠. 취약적 분석 평가 계획 수립 그리고 두 번째 평가 대상에 대한 선별 그다음에 분석 수행 그 분석 수행에 대한 평가 수행 순으로 진행이 되어졌습니다. 이상으로 시스템 보안 구현에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 정보시스템 구축관리' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 3.소프트웨어 개발 보안 구축 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 2.IT프로젝트 정보시스템 구축관리 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 1.소프트웨어개발 방법론 활용 (0) | 2025.05.26 |
https://youtu.be/dQrl7D7jB90?si=cOvlagoQskaRbSHT
1. 소프트웨어 개발 보안 설계
1-1. 소프트웨어 개발 보안 설계의 목표 및 방법론
- 소프트웨어 개발 보안 설계의 목표는 안전한 소프트웨어 개발을 위해 보안 강화
- (중요) 소프트웨어 개발 생명 주기 전반에 보안 강화를 위한 프로세스를 포함한 것이 시큐어 소프트웨어 개발 생명 주기
- 대표적인 방법론으로는 마이크로소프트의 '사들 컴프레인시버 올라이트' 웨이트 애플리케이션 시큐어 프로세스 등이 있음
- 보안 요소는 필수 요소(기밀성, 무결성, 가용성)와 추가 요소(인증, 부인 방지)를 포함
1-2. 보안 요소와 보안 점검 활동
- 보안 요소는 세 가지인 필수 요소(기밀성, 무결성, 가용성)와 인증, 부인 방지에 대해서 설명
- 보안 점검 활동은 요구사항 분석, 설계, 구현, 테스트, 유지보수 등으로 이루어짐
- 요구사항 분석 단계에서는 보안 요구 사항을 식별하고, 보안 요소별로 등급을 구분
- 설계 단계에서는 보안 요구 사항들을 소프트웨어 설계서에 반영하고, 보안 대책과 소요 예산 사고 발생 시 영향 범위를 수립
1-3. 보안 활동의 구체적인 분석 및 수행
- 구현 단계에서는 보안 요구 사항들을 실제 개발 과정에 반영
- 테스트 단계에서는 설계 단계에서 식별된 위협들을 점검하고, 구현 단계에서 발생한 위협들과 취약점들을 점검
- 유지보수 단계에서는 보안 사고를 식별하고, 보안 패치를 실시하여 보안 이슈를 최소화
- (중요) 보안 요소를 기준으로 보안 활동을 지속적으로 점검하고, 필요 시 수정하거나 보완
2. 입력 데이터 보안
2-1. 입력 데이터 보안 개요
- 일반 사용자의 시스템 입력 시 폼 양식으로 통한 데이터 입력을 검증함
- 데이터 입력 시 데이터로 인한 문제를 예방하기 위한 보안 점검이 필요함
- 입력된 데이터로 인한 문제를 예방하기 위해 소프트웨어 개발 구현 단계에서 유효성 검증 체계를 갖춤
- 입력된 데이터가 불가로 하여금 안 되게끔 구현하고, 입력되지 않게끔 함
- 입력된 데이터의 자료형과 일관된 언어셋을 사용하여 코딩하는 것이 좋음
2-2. 입력 데이터 보안 약점
- (중요) 동적 쿼리 사용 시, 입력 데이터에 대한 보안 취약점이 존재함
- 크로스 사이트 스크립트에 악의적인 스크립트를 삽입하여 방문자 정보를 탈취하거나 비정상 기능을 수행하는 보안 약점이 있음
- 악의적인 명령어 포함 스크립트 파일 업로드로 시스템 손상을 주거나 제어할 수 있는 보안 약점이 있음
- 자료실 파일 첨부 시, 해당 프로그래밍 언어별 확장자 제한, 파일명 암호화 등으로 보안 약점이 있음
- 경로 조작 및 자원 삽입을 통해 서버 자원 수정, 삭제 가능성이 있는 보안 약점이 있음
2-3. 보안 기능과 보안 약점
- 소프트웨어 개발 구현 단계에서 인증, 접근 제어, 기밀성, 암호화 등 보안 기능을 구현해야 함
- 중요한 정보나 기능의 접근을 제어하고, 인증된 사용자의 기능과 데이터에 대해 개별적으로 접근 권한을 부여해야 함
- 개인정보나 인증 정보의 안전한 암호화 기술 적용이 필요함
- (중요) 인증되지 않은 사용자의 중요 자원에 대한 접근을 막고, 인가되지 않은 사용자의 권한 설정을 방지해야 함
- 부적절한 인가 조건이나 실행 경로를 통해 정보나 권한을 탈취하는 보안 약점이 있음
3. 소프트웨어 보안
3-1. 소프트웨어 보안의 중요성
- 소프트웨어 보안에 대한 이해가 중요함
- 안전한 암호화 알고리즘을 사용해야 함
- 중요 정보를 저장하거나 전송할 때 암호화를 통해 보호해야 함
- (중요) 보안 프로토콜을 이용해 보안 약점을 방지할 수 있음
- 소프트웨어 실행 중 오류 처리로 인한 보안 약점 주의해야 함
3-2. 보안 기능 관련 보안 약점
- 인증, 접근 제어, 암호화 등 보안 기능이 올바르게 작동하도록 코딩해야 함
- 유효성 검정 체계를 갖추어 잘못된 입력 데이터로 소프트웨어 보안 문제 발생하지 않도록 해야 함
- 사용자에 따라 차별화된 인증 방안을 적용해야 함
- 암호화 기술을 적용해 중요한 정보를 보호해야 함
3-3. 에러 처리로 인한 보안 약점
- 소프트웨어 실행 중 오류 발생 시, 예외 처리 구문을 통해 문제점을 예방해야 함
- 예외 처리 구문을 통해 오류로 인한 문제가 발생하지 않도록 해야 함
- (중요) 오류 메시지를 통해 정보 노출, 오류 상황 대응 부재, 부적절한 예외 처리가 보안 약점임
- 교착 상태는 에러 처리가 아닌 시간 및 상태 보안 점검 대상임
- 불충분한 세션 관리로 인한 정보 노출과 피해의 위험이 있음
4. 소프트웨어 개발 보안
4-1. 세션 통제 고려사항
- 모든 페이지에서 로그아웃 가능하도록 유저 인터페이스 구성함
- 로그아웃 요청 시 해당 세션 제거하도록 함
- 특정 페이지에서 로그아웃 안 되게 보이게 함
- 로그아웃은 특정 페이지에서만 가능한하도록 설계함
- 중복 로그인 허용하지 않고, 로그아웃 조건에 대한 세션 관리 정책 수립함
4-2. 세션 아이디 관리
- 세션 아이디는 최소 128비트 길이로 생성하고, 예측 불가하도록 함
- 세션 아이디가 노출되지 않도록 유저 인터페이스에서 랜딩 기능을 사용하지 않는 방향으로 설계함
- (중요) URL 리라이트 기능을 사용하여 세션 아이디 전달을 보완함
- 장기간 접속한 세션 아이디는 주기적으로 재할당하도록 함
4-3. 소프트웨어 개발 보안 구현
- 암호 알고리즘의 개념과 종류를 이해함
- 코드 오류, 캡슐화, API 오용 등 보안 점검 항목을 인지함
- 보안 약점으로 불충분한 세션 관리, 정보 노출, 보안 점검 사항을 인지함
- (중요) 소프트웨어 개발 보안 구축을 위한 보안 약점 분석과 설계 단계별 보안 점검을 이해함
5. 암호화 알고리즘과 보안 약점 이해
5-1. 암호화 알고리즘의 종류와 사용 상황
- 암호화 알고리즘은 대칭키, 비대칭키, 공개키, 해시키로 나뉨
- 대칭키 암호 알고리즘은 개인키와 비밀키에 대해 암호화 및 복호화 가능
- 비대칭키 암호 알고리즘은 복호화만 가능하나 암호화 가능
- 공개키 암호 알고리즘은 공개된 키로 암호화 및 복호화 가능
- (중요) 해시키 암호 알고리즘은 단방향 암호화로 복호화 불가능하나 무결성 검증 용도로 사용
5-2. 암호 알고리즘의 단점과 보안 약점
- 대칭키 암호 알고리즘의 키 분배가 용이하고 관리할 키의 수가 적음
- 암호화 및 복호화 속도가 느리며 알고리즘이 복잡함
- 해당 파일의 크기가 크다는 것이 단점
- (중요) 비대칭키 암호 알고리즘은 보안에 취약하며 개인키 보호에 취약
5-3. 코드 오류와 보안 약점
- 코드 오류는 소프트웨어 구현 중 발생하는 보안 약점
- '널 포인터'는 메모리에 값을 저장할 때 발생하는 보안 약점
- '널 포인터'로 인한 오류를 방지하려면 참조를 통한 값을 사용 전에 체크 필요
- 소프트웨어 오류 시 널 포인터로 메모리 주소를 가리키면 소프트웨어 종료 가능
6. 코드 오류 보안
6-1. 자원 해제 오류
- 프로그램 내 자원 반환 코드 누락 시 자원 해제 오류 발생함
- 자원( CPU의 메모리, 프로세스 등)을 다 처리한 후 반환해야 함
- 해당 데이터베이스와 웹 문서를 연결하여 값을 가져오거나 저장하는 과정에서 오류 발생 가능
- (중요) 부적절한 자원 해제 시 프로그램 오류로 인해 자원 반환되지 못할 수 있음
- 흰 매블이나 소켓 등 시스템 자원이 계속 점유되면 자원 부족으로 인해 새로운 입력을 처리하지 못할 수 있음
6-2. 자원 사용 오류
- 이미 사용된 자원을 참조하는 경우, 해당 주소를 저장하는 포인터를 초기화하여 방지할 수 있음
- 변수를 선언한 후 값이 부여되지 않은 변수를 사용하지 않기 위해 변수 선언 시 할당된 메모리를 초기화함
- (중요) 잘못된 세션에 의한 정보 노출을 방지하기 위해 지역변수를 활용하여 변수의 범위를 제한함
- 캡슐화의 보안 약점은 잘못된 세션에 의한 정보 노출, 제거되지 않고 남은 디버그 코드, 시스템 데이터 노출로 나뉨
6-3. 캡슐화의 보안 약점
- 캡슐화는 정보 담당에 필요한 데이터와 기능을 묶는 것으로, 불충분하거나 잘못 사용되면 문제가 발생할 수 있음
- 캡슐화의 보안 약점은 잘못된 세션에 의한 정보 노출, 제거되지 않고 남은 디버그 코드, 시스템 데이터 노출로 나뉨
- (중요) 캡슐화를 통해 전역 변수와 지역 변수를 활용하여 잘못된 세션에 의한 정보 노출을 방지함
- 소프트웨어 개발 시 코드 검사를 통해 버그 여부를 확인하여 디버그 코드를 제거할 수 있음
- 캡슐화를 통해 시스템 데이터 정보 노출을 방지할 수 있음
7. 소프트웨어 보안
7-1. 소프트웨어 보안체계
- 소프트웨어 보안을 위한 네 가지 주요 체계를 이해함
- (중요) 시스템 데이터 노출 체계를 통해 중요한 정보를 외부에 공개하는 방법을 배움
- 코딩 사항과 메소드에 대한 권한적 제한을 통해 보안을 강화함
- 소스 코딩 시 퍼블릭과 프라이빗 권한을 사용하여 메소드를 제한함
- 퍼블릭 메소드가 프라이빗 메소드를 반환하면 보안 약점이 발생함
7-2. 캡슐과 보안약점
- 캡슐에 점검이 충분하지 않으면 보안 약점이 발생할 수 있음
- 소프트웨어 제어에 사용된 중요한 정보가 디버그 코드에 노출될 수 있음
- 디버그 코드의 인증 및 식별 절차를 우회하는 코드가 포함되면 공격자가 이를 악용할 수 있음
- 디버그 코드는 최소한의 정보만 제공하도록 수정해야 함
- (중요) 보안 약점 방지를 위해 디버그 코드의 중요성을 인식해야 함
7-3. 보안 점검과 약점
- (중요) 보안 점검 항목을 통해 API 오용으로 인한 보안 약점을 파악함
- DNS 룩업에 의존한 보안 결정과 취약한 API 사용으로 인한 보안 약점이 있음
- DNS 검색을 통해 도메인명을 비교하여 접근하는 경우, 보안 약점이 발생할 수 있음
- 보안 문제로 검지된 API를 안전한 API로 대체하여 보안 약점을 방지할 수 있음
- 보안 상 안전한 API를 사용하도록 지침을 제공함
8. 소프트웨어 보안
8-1. 소프트웨어 보안의 중요성
- 소프트웨어 보안의 취약점을 사전에 예방해야 함
- 보안 약점은 널 포인트, 부적절한 자원 해제, 코드 오류, 자원 반환 후 초기화하지 않은 변수 사용의 네 가지로 나뉨
- (중요) 캡슐화는 정보 은닉에 필요한 중요 데이터와 기능을 불충분하게 캡슐화해서 생기는 보안 문제임
- 캡슐화 보안 약점은 잘못된 캡슐화, 정보 노출, 시스템 데이터 노출의 세 가지가 있음
- 보안 약점은 소프트웨어 구현 단계에서 개발자들이 코딩 중 실수하기 쉬운 오류를 예방하는 보안 점검 항목임
8-2. 보안 점검 항목
- 보안 약점은 널 포인트, 부적절한 자원 해제, 코드 오류, 자원 반환 후 초기화하지 않은 변수 사용의 네 가지가 있음
- 코드 오류는 소프트웨어 구현 단계에서 개발자들이 코딩 중 실수하기 쉬운 오류를 예방하는 보안 점검 항목임
- 캡슐화는 정보 은닉에 필요한 중요 데이터와 기능을 불충분하게 캡슐화해서 생기는 보안 문제임
- 캡슐화 보안 약점은 잘못된 캡슐화, 정보 노출, 시스템 데이터 노출의 세 가지가 있음
- 널 포인트 역참조는 복잡한 포인터 값을 해제할 때 발생하는 코드 오류임
8-3. 보안 약점과 보완
- 캡슐화 보안 약점은 시스템 데이터의 정보 노출, 잘못된 캡슐화, 소스 코드의 노출로 이어질 수 있음
- 널 포인트 역참조는 자원을 잘못 참조할 때 발생하는 코드 오류임
- 자원 반환 후 초기화하지 않은 변수 사용은 자원이 반환된 후에도 해당 변수를 초기화하지 않아 문제가 됨
- 초기화하지 않은 변수 사용은 메모리 해제가 되어 초기화되지 않은 자원이 사용된 것을 방지하는 해결책이 있음
- 보안 보완을 위해 캡슐화를 꾸러미로 묶어 데이터와 함수를 객체로 묶어서 코딩하는 것이 필요함
00:03
정보시스템 구축 관리의 세 번째 능력 단위 파트인 소프트웨어 개발 보안 규칙에 대해 살펴보도록 하겠는데요. 그중에 첫 번째 소프트웨어 개발 보안 설계부터 살펴보겠습니다. 학습목표는 sdlc 소프트웨어 디벨먼트 라이프 사이클이에요. 시큐어 소프트웨어 개발 생명 주기 개념과 그리고 sdlc의 단계별 보안 활동에 대해 이해한다. 입력 데이터 검정 및 표현 보안 기능 에러 처리 세션 통제는 보안 점검 대상들인데 보안 점검의 개념과 각각의 보안 약점 및 방지 방법에 대해 이해한다. 입니다. 학습 내용은요, 총 5개 파트로 되어 있는데요. 시험 출제 기준에 준용해서 정리해 드릴게요.
00:57
첫 번째 시큐어 sdlc 그리고 입력 데이터 검증 및 표현 세 번째 보안 기능 인증 접근 제어 기밀성 권한 관리 등 그리고 네 번째 에러 처리 마지막으로, 세션 통제 순으로 살펴보도록 하겠습니다. 용어사들로서 보안 요소인데요. 보안 요소는 소프트웨어 개발에 있어서 충족시켜야 할 요소 및 요건을 의미하는데 주요 보안 요소는 세 가지를 이야기하라고 하면 세 가지는 기밀성 무결성 가용성이고요. 그 외에 확대해서 인증과 부인 방지도 포함이 되어집니다. 세션 통제는 세션은 서버와 클라이언트 연결을 의미하는데 세션 통제는 세션의 연결과 연결로 인해서 발생하는 정보를 관리하는 것을 뜻합니다.
01:49
첫 번째 내용으로서 시큐어 stlc에 대해 살펴보도록 하겠는데 stlc는 앞단에 저희가 소프트웨어 개발 해당 방법과 관련되어진 내용으로서 살펴봤던 소프트웨어 개발 생명 주기의 약어가 되겠습니다. 여기 앞에 시큐어가 붙었어요. 즉 보안상 안전한 소프트웨어를 개발하기 위해 소프트웨어 개발 생명 주기 전반에 대한 보안 강화를 위한 프로세스를 포함시킨 것이 시큐어 slc이고요. 소프트웨어의 유지보수 단계 제일 마지막 단계죠 요구사항 분석 설계 구현 테스트 마지막에 유지보수 유지보수 단계에서 보안 이슈가 발생했을 때 그걸 해결하기 위해서 소모되는 많은 비용을 최소화하기 위해 등장을 했다.
02:46
대표적인 방법론으로서는 마이크로소프트의 sdl 시큐어 리벨먼트 라이프 사이클과 시큐어 소프트웨어사의 클랩 컴프레인시버 올라이트 웨이트 애플리케이션 시큐어 프로세스 등이 있습니다. 시큐어 sdlc는요 요구사항 분석 설계 구현 테스트 유지보수 등 sdlc 전체 단계에 걸쳐서 수행되어야 하는 보안 활동을 제시를 하고 있습니다. 세부 단계별 해당 보안 활동을 살펴보게 되면 요구사항 분석 단계에서의 보안 활동은 보안 항목에 해당하는 요구사항을 뽑아내는 식별하는 작업을 수행을 하고요. 전산화되는 정보가 가지고 있는 보안수준을 보안요소별로 등급을 구분하여 분류를 합니다.
03:36
그리고 조직의 정보 보안 관련된 보안정책을 참고해서 소프트웨어 개발에 적용할 수 있는 보안정책 항목들의 출처 요구수준 세부 내용 등을 문서화하는 작업을 수행을 합니다. 자 앞단에서 몇 번 언급을 했습니다. 보안 요소는 세 가지를 이야기하라 필수 요소 필수 보안 요소는 기밀성 무결성 가용성 세 가지 기밀성은 비밀성이라고 보시면 돼요. 해당 시스템 내에 정보와 자원은 인가된 사용자만 접근을 허용하는 것을 이야기하고요. 정보가 전송 중에 노출되더라도 내용을 읽을 수 없게끔 하라 해당 권한이 있는 사람만 볼 수 있게끔 무결성은 정보 시스템의 정보가 오직 인가된 사용만 수정할 수 있게끔 하라가 무결성이고요.
04:30
가용성은 이용 가능하게끔 해 인가받은 사용자는 언제든지 사용 가능하게끔 하라 이렇게 쉽게 암기할 수 있는 방법을 설명을 드리면, 김일성 북한의 기밀성이 다치지 않게끔 해당 가용하여 유지하자 이렇게 개념 잡으시면 김일성 무결성 가용성 이렇게 하면 쉽게 암기할 수 있을 것 같고요. 추가적으로 인증요 인증은 있는지 권한이 있는 사용자인지 아닌지라는 부분에 대한 확인 절차죠 합법적 사용자이냐 아니냐 로그인 절차 부인 방지는 보냈는데 안 보냈어 받았는데 안 받았어. 이러한 것들을 부인하는 거 부인할 수 없도록 증거를 제공하는 게 부인 방지가 되겠습니다. 다음 단계에서 요구사항 분석 그다음에 설계단계 설계단계에서의 보안활동인데요.
05:21
식별되어진 보안 요구 사항들을 소프트웨어 설계서에다가 반영을 하고 그리고 보안설계서를 작성한다. 소프트웨어에서 발생할 수 있는 위협을 식별해서 보안 대책과 소요 예산 사고 발생 시의 영향 범위와 대응책 등을 수립합니다.
05:41
네트워크와 서버 물리적 보안 그리고 프로그램 등 환경에 대한 보안 통제 기준을 수립해서 회계를 반영하는데 네트워크와 관련해서는 외부의 사이버 공격으로부터 개발 환경을 보호하기 위해 네트워크를 분리한다든지 방화벽을 설치하는 것과 관련되어진 내용이 정립이 돼야 되겠고 그리고 서버와 관련해서는 보안이 뛰어난 운영체제를 사용을 하고 보안 업데이트 그리고 외부 접속에 대한 접근 통제 등을 실시 물리적 보안은 출입 통제 개발 공간에 대한 제한 폐쇄 회로 등의 감시 설비를 설치하는 것 그리고 개발 프로그램에서는 인가되지 않은 프로그램을 통제하고 지속적으로 데이터의 무결성 검사를 실시하는 내용들이 반영이 되어져야 되겠습니다. 세 번째 단계인 구현 단계에서의 보안 활동인데요. 실제적으로 개발하는 거죠.
06:35
코딩을 할 때 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하고요. 설계서에 따라서 보안 요구 사항들을 구현해 가야 되겠습니다. 그리고 개발 과정 중에 지속적으로 만들어진 부분에 대해서 단위 테스트를 통해서 소프트웨어에 발생할 수 있는 보안의 취약점을 최소화시킬 필요가 있겠고요. 코드 점검 및 코드 진단 작업을 통해서 소스코드에 대한 안정성 확보하는 단계 내용이 구현 단계에서의 보안 활동입니다. 네 번째 테스트 단계 구현한 부분에 대한 테스트 단계에서의 보안 활동으로서는 설계 단계에서 작성을 한 보안 설계서를 바탕으로 보안 사항들이 정확하게 반영이 되어져서 동작되고 있는지를 점검을 합니다. 동적 분석 도구 또는 모의 침투 테스트를 통해서요. 설계 단계에서 식별되어진 위협들이 해결되어졌는지 여부를 검증을 하고요.
07:32
그리고 구현 단계에서 추가로 제시되어진 위협들과 취약점들을 점검할 수 있도록 테스트 계획을 수립 및 시행하고요. 테스트 단계에서 수행되어진 모든 결과는 문서와 및 개발자에게 알려주는 피드백 과정이 필요하겠습니다. 마지막 단계인 유지보수단계에서의 보안활동입니다. 이전과정을 모두 수행했음에도 발생할 수 있는 보안사고들을 식별하고 보안 사고가 발생했을 때 회의를 해결하고 보안패치를 실시하는 보안활동은 유지보수단계에서 진행되어지는 활동입니다. 관련되어진 퀴즈 문제인데요. 다음 중 시큐어 sdlc에 대한 설명으로 틀린 거 첫 번째 보안상 안전한 소프트웨어를 개발하기 위해 소프트웨어 개발 생명 주기에 보안 강화하는 프로세스를 포함한 거야. 맞습니다.
08:27
소프트웨어 개발 단계에서 보안 이슈를 최소화하기 보안 이슈를 해결하기 위해 소모되는 많은 비용을 최소화하기에 등장했어. 틀렸습니다. 왜 틀렸느냐 소프트웨어 단계 중에 마지막 단계인 유지보수단계 유지보수 단계에서 보안 이슈를 해결하기 위해 만들어졌어요. 그래서 개발 단계가 아니라 유지보수 단계입니다. cq와 sds는 엄격하여 준수하여 개발한 경우에 보안으로 인한 유지보수 비용을 낮출 수가 있다. 맞고요. 그리고 소프트웨어 개발을 5단계로 구분하게 되면 각 단계별로 수행할 보안 활동을 제시한다. 맞습니다.
09:08
두 번째 시스템 내의 정보화 자원이 인가되어진 허용되어진 사용자한테만 네 인가된 사용자에게만 허용되고 그리고 전송 중에 노출이 되더라도 데이터를 읽을 수 없도록 하는 보안 요소는 뭔가 보안 요소 아까 5가지 살펴봤죠 그중에서 인가된 사용자만 허용은 기밀성이었습니다. 컴피덴셜리티 1번이 정답이었고요. 다음 입력 데이터 검증 및 표현에 대해 살펴보도록 하겠는데요. 여기부터는 보안 점검에 대한 내용들입니다. 먼저 개념입니다. 입력데이터 검증 및 표현개념은 일반 사용자들이 시스템에 뭔가를 입력할 때 인터페이스 역할을 하는 것은 일반적으로 폼 양식문이죠. 뭐 이름 입력하세요. 네 아니면 뭐 주문 내역서에 뭐 어떤 선택하세요. 이러한 폼 양식의 입력란을 통해서요.
09:59
입력되어지는 데이터에 데이터로 인해서 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검하는 항목들 이 입력 데이터 검증 및 표현에 대한 내용들이고요. 대상이고요. 입력 데이터로 인해서 발생하는 문제를 예방하기 위해서 소프트웨어 개발 구현 단계에서 유효성 검증 체계를 갖추고 검증되지 않은 데이터가 입력되지 않게끔 네 입력되는 경우에는 이를 처리하도록 구현을 하도록 하고 네 아예 처음부터 입력이 안 되게끔 금지하는 게 더 바람직하겠습니다. 입력 데이터를 처리하는 객체에 지정되어진 자료형이 올바른지 확인하고 그리고 캐릭터 셋은 일관되어진 언어셋을 사용해서 코딩하는 것이 바람직합니다. 캐릭터 셋은 컴퓨터에서 처리하기 위해 사용하는 코드표를 의미하고요.
10:58
아스키나 유니코드나 utf8과 같은 것들이 있습니다. 입력 데이터 검증 및 보안에 대한 보안 약점에 대한 종류 살펴보도록 하겠는데 이 보안 점검 대상별 보안 약점은 어떤 것들이 있는가에 포커스 맞춰서 정리할 필요성이 있으세요. 입력 데이터 검증 및 표현과 관련되어진 보안 약점의 종류로 저는 4가지 제시했는데 첫 번째 sql 삽입니다. sql은 쿼리물이잖아요. 데이터베이스 조작어잖아요. 입력란에다가요 sql을 삽입을 시켜가지고, 데이터베이스를 조작하게끔 할 수 있는 취약점이 있어요. 입력란에 sk를 삽입을 해서 무단으로 db를 조회한다든지 조작하는 보안 약점이 있을 수 있다. 이를 방지하기 위해서는 동적 쿼리를 사용하는 입력 데이터에다가 예약이나 특수문자를 입력 못 하게끔 막아서 필터링 되도록 설정을 해서 방지할 수 있겠습니다.
11:56
다음 크로스 사이트 스크립트 크로스 사이트는 웹사이트에 악의적인 스크립트를 삽입을 해서 방문자들의 정보를 탈취하거나 비정상적인 기능을 수행할 수 있는 보안 약점이 있는데, html 태그에 사용을 제한을 하거나 스크립트에 삽입되지 않도록 태그는 꺾쇠로 묶음으로 인지가 되는데 입력란에다가 이러한 태그 사용을 못하게끔 막는 거죠. 네 입력을 하더라도 다른 문자로 서버단에서는 바꿔가지고 인지가 될 수 있게끔 해서 방지할 수 있겠습니다. 그리고 위험한 형식의 파일 업로드 악의적인 명령어가 포함되어진 스크립트 파일을 업로드해서요. 시스템 손상을 주거나 시스템을 제어할 수 있는 보안 약점이 되겠고요. 주로 자료실 같은 경우에 파일 첨부를 하잖아요.
12:51
찾아보기 버튼 눌러가지고 첨부를 하는데 해당 프로그래밍 언어별 예를 들면 웹이다. 그러면 asp다 jsp다 php면 해당 첨부 파일은 해당 언어 파일 형식들은 asp로 구현되어진 웹사이트다 그러면 자료실에서는 자료 첨부 파일 노선은 asp를 막아야 돼요. 또는 php 파일은 첨부 못하게끔 그래서 업로드하는 파일의 확장자를 제한해서 한다든지 파일명을 암호화한다든지 웹사이트와 파일 서버 경로를 분리한다든지 실행 속성을 제거하는 등의 방법으로 방지할 수가 있겠습니다. 마지막으로, 경로 조작 및 자원 삽입인데요.
13:33
데이터의 입출력 경로를 조작해서 서버 자원을 수정 삭제할 수 있는 보안 약점이고 사용자 입력값을 식별자로 사용하는 경우에 경로 순의 공격을 막는 필터를 사용해서 방지 가능하다 경로를 표현할 때 저희가 사용하는 게 슬롯이나 역슬로시 되는 게 있잖아요. 이러한 것들을 사용 못하게끔 방지할 수 있겠습니다. 입력 데이터 검증 및 표현과 관련된 퀴즈 문제 보안 점검 관련 내용 중에 입력 데이터 검증 및 표현과 관련된 설명으로 올바르지 않은 것 첫 번째 악의적인 나쁜 의도의 악의적 입력 데이터로 인한 프로그램의 권한 탈취나 오류 등을 방지한다. 맞고요. 입력 데이터가 올바른 자료형으로 취급되는지 확인한다.
14:26
네 오케이 충분한 조치가 취해지지 않으면 에스큐엘 삽입이나 크로스타이트 스크립 등의 외부 공격에 취약할 수 있다. 맞구요. 입력 데이터의 언어 셋은 캐릭터 셋은 다양 가능한 다양하게 활용한다가 아니라 네 하나의 어떤 일관된 그때로 활용하는 게 바람직합니다. 여러 가지 섞어오게 되면 혼돈으로 발생할 수 있고요. 서버단에서 다시 변환하는 절차가 필요하기 때문에 다양하게 활용하는 건 바람직하지 않습니다. 4번이 틀렸고 다음 보안 기능에 대한 보안 점검 부분인데요. 보안 기능은 뭔데 보안 기능은 소프트웨어 개발의 구현 단계에서 코딩하는 기능인 인증이나 접근 제어나 기밀성이나 암호화 등을 올바르게 구현하기 위한 보안 점검 항목들이 되겠고요.
15:23
각 보안 기능들은 서비스 환경이나 취급 데이터에 맞게 처리될 수 있도록 구현이 필요하고 소프트웨어의 기능 또는 데이터에 접근하려는 사용자별로 중요도를 구분하고 차별화되어진 인증 방안을 적용할 필요성이 있겠습니다. 인증된 사용자가 이용할 기능과 데이터에 대해 개별적으로 접근 권한을 부여하여 인가되지 않은 기능과 데이터로의 접근을 차단할 필요성이 있겠고요. 개인정보나 인증 정보와 같은 중요한 정보에 대한 변조나 삭제나 오남용 등을 방지하기 위해 안전한 암호화 기술을 적용할 필요성도 있겠습니다. 보안 기능에서의 보안 약점의 종류인데요. 개괄적으로 볼게요 적절하게 인증이 없이 중요 기능을 사용할 수 있도록 허용할 할 수 있다.
16:15
네 보안 검사를 우회해서 인증 과정 없이도 중요한 정보나 기능의 접근을 변경하는 것 이를 막기 위해서는 중요 정보나 기능을 수행하는 페이지에서 다시 인증 절차를 수행하게끔 해서 방지할 수 있겠고 두 번째 중요한 자원에 대한 잘못된 권한을 설정할 수도 있겠다. 권한 설정이 잘못되어서 자원의 접근 권한 설정이 잘못된 자원에 접근해서 해당 자원을 임의로 사용하게끔 할 수 있는데, 이를 막기 위해서는 인가되지 않은 사용자의 중요 자원에 대한 접근 여부를 검사함으로써 방지할 수 있겠고 부적절한 인가 조건 제어 기능이 없는 실행 경로를 통해서 정보 또는 권한을 탈취하는 건데 모든 실행 경로에 조건 제어 검사를 수행하고 사용자에게 필요한 조건 권한만 부여하도록 해서 방지할 수 있겠다.
17:07
하드코드된 비밀번호 같은 경우에는 관리자 로그인이나 이런 걸로 할 때 db에다가 저장을 해놓고, 불러오는 게 아니라 소스에다가 입력한 아이디가 어드민이야 비밀번호가 123456이야 이런 형태로 처리해버리는 걸 이야기하는 거예요. 하드코드된 비밀번호 소스코드가 유출이 되어져 버리면 거기 안에 아이디 비밀번호도 예제되어져 버리니까 관리자 권한이 탈취될 수 있는 문제가 발생할수있다. 그래서 어떻게 패스워드는 암호화해서 별도 파일에 저장하고 디폴트 패스워드는 사용을 하지 말자 취약한 암호화 알고리즘 사용 관련되어진 네 보안 약정은 암호화 되어진 환경 설정 파일을 해독하여 비밀번호 등의 중요 정보가 탈취될 수 있다. 네, 그렇기 때문에 안전한 암호화 알고리즘을 이용해야 된다. 다음 중요 정보에 대한 평문 저장 및 전송 평문은 내용을 그대로 바로 볼 수 있는 거예요. 암호화되지 않았기 때문에 평문 데이터가 탈취되면 중요 정보가 노출된다.
18:05
그렇기 때문에 중요 정보를 저장하거나 전송할 때 암호화 과정을 거치도록 하자 또는 암호화 프로토콜 https나 ssl과 같은 보안 프로토콜을 이용해서 방지할 수 있겠습니다. 보안 기능에 대한 보안 약점의 종류였고요. 퀴즈 보안 점검 내용 중에 보안 기능 관련 설명 틀린 거 인증이나 접근 제어나 암호화 등이 올바르게 처리될 수 있도록 코딩되어졌는지 확인하는 것을 의미한다. 맞고요. 잘못되어진 입력 데이터로 소프트웨어 보안 문제가 발생하지 않도록 유효성 검정 체계를 갖춘다는 입력 데이터 파트에 대한 부분이고 보안 기능과 관련된 부분은 아니에요. 그래서 2번이 틀렸고요. 그다음에 기능 사용자 따른 차별화 인증 방안 적용 중요 정보는 암호화 기술을 적용한다.
18:56
맞습니다. 다음 에러처리에 대한 보안 점검 내용 살펴보면 소프트웨어 실행 중에 발생할 수 있는 에러야 오류 오류가 발생했을 때 오류 내용이 해당 화면에 출력이 되는데 오류들을 사전에 정의해서 오류로 인해 발생할 수 있는 문제점을 예방하기 위한 보안점검 항목들인데 각 프로그램 언어에 예외 처리 구문을 통해서 오류에 대한 사항을 정의할 필요성이 있겠고요. 예외 처리 구문으로 처리하지 못하는 오류들은 중요 정보를 노출시키거나 소프트웨어 실행이 중단되는 등 예기치 못한 문제가 발생할 수 있어요. 그래서 이를 인지하고 에러 처리의 미비로 인한 코딩이 유발하는 보안 약정에는 어 세 가지가 있는데, 오류 메시지를 통한 정보 노출이 될 수 있겠고요.
19:46
그리고 오류 상황에 대한 대응 부재와 그리고 부적절한 예외 처리가 있는데, 구체적으로 살펴보면 오류 메시지를 통한 정보 노출의 경우는 오류 발생을 할 때 실행 환경이나 사용자 정보나 재봉인 정보 등이 해당 화면에 노출되어지는 경우 이러한 정보로 소프트웨어가 이러한 중요 정보를 소프트웨어가 메시지로 오류는 이러이러한 오류가 발생했다고 하면서 실행 환경이나 사용자 정보나 디보기 정보가 노출될 수 있다. 이 말입니다. 그래서 외부에 노출되는 보안 약점이 되겠고요. 해당 오류 메시지를 통해서 노출되는 경로나 기본기 정보는 해커의 악의적 행동을 도와줄 수가 있기 때문에 보안 처리 구문에 예외 이름이나 스택트레이스 등을 출력하도록 코딩하는 경우는 해커 간 소프트웨어의 내부 구조를 파악을 해버릴 수 있어요.
20:40
그래서 오류 발생할 때 가능한 한 내부에서만 처리되도록 하거나 메시지 출력하는 정보를 최소화하자 라는 부분으로 방지할 수가 있겠습니다. 에러 처리의 두 번째 보안 약점의 종류는 오류 상황에 대한 대응 부재입니다. 소프트웨어 개발 중에 예외 처리를 하지 않았거나 미비로 인해서 발생할 수 있는 보안 약점이고요. 예외처리를 하지 않은 오류들로 인해서 소프트웨어 실행이 중단되거나 의도를 벗어나는 동작이 유도될 수 있다. 그래서 오류가 발생하는 부분에 대해서는 예외처리 구문을 꼭 포함시키는 것이 바람직하고 예외처리 구문이 없는 경우에는 제어문을 이용을 해서 라도 오류에 오류가 악용되지 않도록 코딩하는 것이 바람직하다 세 번째 에러 처리의 보안 약정 종류로 부적절한 예외 처리입니다.
21:30
예외 처리를 하는데 함수의 반환값 또는 오류들을 세분화 오류들을 세분화하여 처리하지 않고 광범위하게 묶어 가지고 한 번에 처리한다든지 또는 누락되어진 예외가 존재할 때 발생할 수 있는 보안 약점이 되겠고요. 모든 오류들을 세세하게 정의하여 처리할 필요는 없지만, 모든 오류들을 광범위하게 묶어가지고 예외처리 구문으로 정의하는 것은 바람직하지 않습니다. 그래서 함수 등이 예상하지 못했던 함수 등이 예상했던 결과와 다른 값을 반환하여 예외로 처리되지 처리되지 않은 경우에 잘못된 값으로 인한 다양한 문제가 발생할 수 있다. 그래서 어떻게 모든 함수의 반환값이 의도대로 출력이 되는지 확인하고 세분화되어진 예외 처리 수행을 통해서 오류를 방지할 수 있겠습니다. 보안의 취약점을 방지할 수 있겠습니다. 에러 처리와 관련된 퀴즈입니다.
22:26
다음 중 에러 처리와 관련된 내용으로 올바르지 않은 것 첫 번째 소프트웨어에서 발생할 수 있는 오류들을 사전에 정의하여 대비한다. 맞죠. 두 번째 따라 처리와 관련되어진 보안 약점에는 오류 메시지를 통한 정보 노출 오류 상황 대응 부재 부적절한 예외처리 세 가지가 있다. 맞죠. 각 프로그램 언어의 예외처리 구분을 통하여 오류들을 정의할 수가 있습니다. 자바라든지 자바 언어 같은 경우에는 예외 처리 구문이 트라이캐치 구문으로요 c++도 그렇고요. 기본 내재되어 있는데, c라든지 이러한 언어는 예외 처리 구문이 없어요. 그런 경우엔 제어문을 이용해서 if 라든지 조건문을 이용해 가지고 예외가 발생했으면 이렇게 처리해 이렇게 정의할 수 있겠습니다.
23:17
에러 처리가 충분히 이루어지지 않은 경우에 교착상태가 발생할 수 있다. 이 교착상태의 용어 정리를 먼저 해드리면, 베드로락인데 둘 이상의 프로세스들이 음 자원들 둘 이상의 프로세스 자원들이 점유 자원들 프로세스들이 자원을 점유한 상태로 서로요 대치한 상태예요. 서로 다른 프로세스가 점유하고 있는 자원을 요구하고 있는 자리를 비켜주지 않고 그래서 대치해서 무제한 기다리는 현상이 교착 상태인데 에러 처리가 충분하게 이루어지지 않는 경우에 교착 상태가 발생할 수 있다. 이 교착 상태는 에러 처리가 아니라 시간 및 상태라고 하는 보안 점검 대상이 있는데, 거기에 해당되어져요 에러 처리에 해당되지 않습니다. 교착상태는 4번이 틀렸습니다. 세션 통제입니다.
24:11
네 세션 통제에 대한 개념은 사용자 컴퓨터가요 특정 웹 서버에 접속을 하게 되면 연결되면서 세션이 생겨요 즉 세션은 서버와 클라이언트의 연결을 의미하고요. 세션 통제는 해당 이 세션의 연결과 연결로 인해 발생할 수 있는 정보를 관리하는 것을 뜻합니다. 세션 통제는 소프트웨어 개발 과정 중에 요구사항 분석 및 설계 단계에서 진단을 해야 하는 보안 점검 내용이 되겠고요. 요구사항 분석과 설계 세션 통제의 보안 약점으로서는 두 가지 불충분한 세션 관리와 잘못된 세션에 의한 정보 노출이 있습니다. 불충분한 세션 관리라고 하는 부분은 일정한 규칙이 존재하는 세션 아이디가 발급되거나 타임아웃을 너무 길게 설정하는 경우 로그인하고 난 다음에 일정 시간 동안 사용하지 않게 되면 자동적으로 로그아웃을 시켜야 돼요.
25:09
로그아웃 시켜야 되는데 로그아웃 장기간 장기적인 시간이 경과되더라도 유지해버리게 되면 다른 사람이 그 사이에 볼 수 있잖아요. 타임아웃이 너무 길게 설정되어 있는 경우에 발생할 수 있는 보안 약점이야 세션 관리가 충분하지 않으면 침입자가 세션 하이제킹이라고 해서 세션을 가로채기 할 수 있어요. 이와 같은 공격을 통해 가지고 획득한 세션 아이디로 인가되지 않은 시스템의 기능을 이용한다든지 중요 정보에 접근이 가능할 수도 있습니다. 잘못된 세션에 의한 정보 노출은요, 다중 스레드라고 하는 부분 자체는 프로세스의 작업 단위 세부적인 작업 단위였죠 다중 스레드 환경에서 멤버 변수의 정보를 저장할 때 발생할 수 있는 보안 약점인데 싱글톤 패턴 패턴의 종류 중에 싱글톤 패턴은 하나의 기체를 생성하면 생성된 객체를 어디서든지 참조할 수 있지만 여러 프로세스가 동시에 참조할 수는 없는 디자인 패턴입니다.
26:06
싱글 유통패턴에서 발생할 수 있는 레이스 컨디션이라고 하는 부분 자체는 두 개 이상의 프로세스가 공용자원을 획득하기 위해서 서로 경쟁하고 있는 상태가 레이스 컨디션이에요. 레이즈 컨디션으로 인해서 동기화 오류가 발생하거나 멤버 변수에 정보가 노출될 수 있다. 네 멤버 변수보다 지역 변수를 활용해서 변수의 범위를 제한함으로써 방지할 수가 있겠다. 이 정도만 정리하도록 하겠습니다. 세션 통제에서의 설계시 고려사항입니다.
26:38
세션 설계할 때 고려사항으로서는 가지가 제시되어져 있는데, 시스템의 모든 페이지에서 로그아웃이 가능하도록 하라 로그아웃 페이지를 한 페이지만 유지 가능하게끔 하게 되면 그 페이지로 가서 로그아웃해야 되는 불편함이 있으니까 모든 페이지에서 로그아웃 가능하게끔 유저 인터페이스를 구성하고 그리고 로그아웃 요청할 때 할당되어진 세션이 완전하게 제거되도록 하자 완전하게 로그아웃 되게끔 특정 페이지에서는 로그아웃 안 되게 안 되고 보이게끔 이렇게 하면 문제가 생길 수 있겠죠.
27:08
보안 문제가 그리고 세션 타임 아웃은 중요도가 높으면 2에서 5분 정도만 사용 안 하면 최소한이 끊어지게끔 낮으면 15에서 30분 정도 어느 정도 상한 시간을 주자 이전에 세션이 종료되지 않으면 새 세션이 생성되지 못하게끔 설계를 하고 중복 로그인이 허용되지 않은 경우에 클라이언트의 중복 조건에 대한 세션 관리 정책 수립이 필요하고 패스워드 변경 시에 활성화된 세션은 삭제하고 재할당하자 세션 설계 시의 고려사항입니다. 세션 아이디 관리로서는 세션 아이디는 안전한 서버에서는 최소한 최소 128비트의 길이를 생성을 하고 세션 아이디가 예측 가능하게 하면 안 돼요.
27:53
그래서 세션 id를 예측 불가능하도록 난수 알고리즘을 발생을 시 활용을 해서 임의적으로 이렇게 규칙성 없게끔 세션 아이디를 부여하는 것이 바람직하겠고 세션 아이디가 노출되지 않도록 ur의 릴라이트 기능을 사용하지 않는 방향으로 설계하는 게 낫겠다. url 리라이트는 쿠키를 사용할 수 없는 환경에서 세션 아이디를 전달하기 위해 url의 세션 아이디를 포함시키는 것을 뜻합니다. 로그인 시 로그인 전에 세션 아이디는 삭제하고 재할당하자 장기간 접속하고 있는 세션 아이디는 주기적으로 재할당하도록 설계하자 퀴즈문제입니다. 세션 통제에 대한 설명으로 틀린 거 인가된 클라이언트만 시스템 자원에 접근할 수 있도록 통제하는 것을 말한다. 인가된 클라이언트만 접근한다. 이거는 보안 요소 중에 기밀성에 대한 설명인데요.
28:50
세션은 누구든지 접속을 우선 하게끔 허용을 해야 돼요. 그래서 인가된 클라이언트 시스템 자원에 접근할 수 있게끔 통제하는 부분이 세션 통제에 대한 잘못된 설명이에요. 틀렸고 서버와 클라이언트 연결과 연결로 인해 발생하는 정보를 관리하는 거고, 보안 약점으로서는 불충분한 세션 관리가 잘못된 세션에 의한 정보 노출이 있고 cq와 sdl의 요구사항 분석과 설계 단계에서 진단하는 보안 점검 사항이다. 맞습니다. 소프트웨어 개발 보안 구축 두 번째 소프트웨어 개발 보안 구현에 대해 살펴보도록 하겠습니다. 학습 목표는요 암호 알고리즘의 개념 그리고 암호 알고리즘의 종류별 특징을 이해한다. 그리고 두 번째 코드 오류 캡슐화 api 오용에 대한 개념 그리고 각 보안 점검 항목별 보안 약점의 종류와 특징에 대해 이해한다. 입니다.
29:48
학습할 내용은요, 크게 네 파트로 나눠져 있는데, 출제 기준에 맞춰가지고 첫 번째 살펴볼 내용이 암호 알고리즘 두 번째 코드 오류 세 번째 캡슐로와 네 번째 apr o형이 되겠습니다. 간단한 용어 정리는 하나만 체킹하겠습니다. 해쉬 해쉬는 암호 알고리즘의 종류인데요. 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값 또는 키로 변환하는 단방향의 암호 알고리즘이다. 이렇게 정리하고 넘어가겠습니다. 자 내용입니다. 첫 번째 다룰 내용은 암호 알고리즘인데요. 해당 이 파티에서는 비중도는 이 암호 알고리즘에 대한 비중도를 좀 더 높게 잡으셔야 될 것 같고, 문제화해서 나올 확률도 높습니다.
30:35
암호 알고리즘은 주민번호나 패스워드나 은행 계좌와 같은 중요 정보를 보호 목적으로 내용을 그냥 볼 수 있는 평문이 아닌 암호화 과정을 거쳐서 암호 모드로 만들어서 내용을 보더라도 이해를 못하게끔 만드는 절차 또는 방법을 뜻한다. 암호 알고리즘은 해시를 이용을 하는 단방향 암호화 방식과 개인키와 공개키로 분류되는 양방향 암호화 방식으로 구분된다. 무슨 말이냐 해시 암호 알고리즘은 단방형이다. 평문을 암호문으로만 만들 수 있지 암호문을 다시 복호화 과정을 거쳐서 평문으로 바꿀 수 있는 기능은 지원을 안 합니다. 그런데 다른 양방향 암호 알고리즘이라는 부분은 평문을 암호문으로 바꿨다가 다시 암호문을 평문으로 다시 복호화해서 내용을 볼 수 있게끔 한다. 이렇게 이해하시면 되겠습니다.
31:29
암호화방식 양방향이냐 단방향이냐 양방향은 다시 비밀키 암호화 알고리즘과 공개키 암호화 알고리즘으로 다시 나눠지는데요. 자 제일 뒤에 있는 게 이 암호 알고리즘의 종류예요. 기초적인 부분 자체가 공개키 암호 알고리즘 하나밖에 없으니까 얘는 명확하게 공개키 암호 알고리즘은 rsa 이렇게 익혀 놓으시면 되겠고요. 뒤에 상세하게 비밀키 암호 알고리즘 공개키 암호 알고리즘을 살펴보도록 할 겁니다. 자 우선 종류만 정리하겠습니다. 비밀키에는 다시 스트림 방식이 네 가지 시드 아리아데스 그리고 aes 그리고 블록 방식의 rc4 그리고 lfsr이 있는데, 스트림 방식이라고 하는 부분은 평론과 동일한 길이 스트림 즉 문자열을 생성해서 비트 단위로 암호화한다. 이렇게 보시면 되겠고 블록 방식이라는 건 한 번에 하나의 데이터를 블록으로 암호화 시킨다. 이렇게 정리하도록 하겠습니다.
32:25
마지막에 단방향 암호화 알고리즘은 해시 하나밖에 없고요. 암호화 알고리즘의 종류는 md5나 sha나 ahas 이렇게 세 가지가 있습니다. 세부 내용으로서 양방향 암호화 알고리즘 이 양방향 암호화 알고리즘은 다시 두 가지로 나눠진다 그랬죠 네 첫 번째가 비밀키 암호화 알고리즘 자 용어가요 동일 용어가 비밀키 암호화 알고리즘이라고도 하고 개인키 암호화 알고리즘이라고도 하고 또 대칭키 암호화 알고리즘이라고도 합니다. 같은 뜻입니다. 대상 자체가 비밀키라고 하는 부분 자체는 시크릿키 키를 노출시키면 안 돼 이 말입니다. 그리고 개인키 프라이빗키를 이야기하는 거고요. 그리고 대칭키다 라고 하는 부분 자체는 즉 암호화할 때 사용한 키와 암호문을 다시 평문으로 만드는 복호화할 때 사용하는 키가 같다는 말이에요.
33:19
두 개의 키가 같다 그러면 어떻게 암호화했던 키를 공개를 하게 되면 다른 사람이 그냥 극히 가지고 뚝딱 복호화해가지고 내용을 암호문을 평문으로 봐버리잖아요. 그러니까 어떻게 평문을 암호문으로 만들 때 사용했던 키를 노출 안 되게끔 비밀스럽게 보관해야 된다. 그래서 비밀키라고 이야기하는 거고, 그리고 키가 같기 때문에 대칭키 다 장점은요, 두 키가 같아요. 암호화와 복호화할 때 사용하는 키가 같기 때문에 속도가 빨라요. 그리고 알고리즘이 단순해요. 그리고 공개키 암호화 기법보다는 파일의 크기가 작다 이것도 장점입니다. 그런데 단점은 키가 노출되지 않게끔 비밀스럽게 보관을 해야 된다는 거죠. 사용자 증가에 따라서 관리해야 할 키 수가 상대적으로 많아질 수 있다는 게 단점입니다. 반대로요 네 어 공개키 암호화 알고리즘 비대칭키 암호화 알고리즘이라고도 합니다.
34:18
암호화할 때 사용하는 키하고 복호화할 때 사용하는 키가 같지 않다 이 말입니다. 그래서 평문을 암호문으로 만들 때 사용하는 키는 공개돼 있어요. 그래서 공개키라고 이야기를 하고요. 복호화할 때 사용하는 키는 공개 공개를 하면 안 되죠. 그리고 그 키가 다릅니다. 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 다르다 장점은 반대예요. 비밀키 개인키 암호화 알고리즘화가 반대예요. 키의 분배가 용이하고 관리할 키의 수가 적어 단점은 암호화 복호화 속도가 느리다 알고리즘이 복잡하다 그리고 해당 파일의 크기가 크다는 게 단점입니다. 상반된 부분입니다. 암호 알고리즘의 종류 네 어 5가지 정리해 놓았는데 비밀키 적 개인키 비 어 이건 대칭키죠 이거는 대칭키 대칭키 암호 알고리즘 종류 4가지 시드다 sed 어디에서 만들었냐 우리나라에서 만들었어요.
35:12
언제 99년도에 어디에서 한국인터넷진흥원에서 개발한 암호화 알고리즘인데 해당 블록 크기는 128비트이고 키의 크기에 따라서 128 256으로 나눕니다. 그리고 아리아가 있어요. 아리아도 우리나라에서 만들었어요. 어디에서 만들었느냐 국가정보원 국정원 2004년도에 만들었는데 학계와 연구기관과 정부기관이 합쳐 가지고 같이 만들었다 그래서 아리아의 이름은 네 학계 아카데미의 a 머릿글 땄고요. 그리고 영구기관 리서치 인스터튜트 ri 그리고 정보기관 에이전시라고 해서 합쳐가지고 r이 ar i a r이야 라는 이름으로 부여를 했고요. 블록의 크기에 따라서요 128 블록 크기는 128비트를 사용하고 키는 크기가 128 192 256 세 종류가 있습니다.
36:13
참 데스가 있습니다. des data 인크립션 스탠더드 약어인데요. 75년도에 미국의 표준기술연구소 옛날 이름이 nbs였어요. 미국 표준기술연구소에서 75년도에 만든 암호화 알고리즘인데 해당 블록의 크기는 64비트 그리고 키의 크기는 56비트 이전에 만들어졌잖아요. 지금 현재 말씀드렸던 해당 알고리즘 종류 중에 제일 오래된 알고리즘이다. 그렇죠. 75년도니까 그래서 블록 크기는 64 다른 것들은 다 128로 거의 같게 돼 있거든요. 키 길이는 56입니다. 네 번째 as가 있습니다. 어드벤스드 인스 디캡션 스탠더드 약어인데요. 2001년도에 데스를 만들었던 미국 표준기술연구소에서요 이 des에 대한 한계를 느껴가지고 새롭게 만든 암호 알고리즘이 as입니다. 블록 크기가 128비트 키는 128 192 256 세 종류가 있구요.
37:11
마지막으로, 공개키는 하나만입니다. rsa 얘도 마찬가지 약어인데 머릿걸로 따냈어요. r이라고 하는 분은 사람 이름입니다. 78년도에 mit의 리베스트 사람 이름의 머리클 r 그리고 네 샤미르 s 그리고 애드러먼 a 이 세 사람에 의해가지고 만드는 공개 공개키 암호 알고리즘입니다. 네 rsa 큰 숫자를 소인수분해하기 어렵다는 부분에 대해서 착안해서 만들어진 공개키 암호 알고리즘입니다. 종류 정도 특징 제시했을 때 그 특징에 맞춰가지고 종류를 뽑아낼 수 있는 정도로 구분하시면 되겠습니다. 마지막으로, 해시입니다. 단방량 암호화 알고리즘 해시는 저희가 이전달에 몇 번 언급이 됐던 암호화 알고리즘입니다. 데이터베이스 파트에서도 자 앞서서 용어 정리했던 것처럼 임의의 길이의 입력 데이터나 메시지를 고정 길이의 값이나 키로 변환한다.
38:06
해시화 알고리즘을 해시함수라고도 부른다 해시함수로 변환된 값이나 키를 해시값 또는 해시키로 부른다 이 해시는 암호화가 궁극적인 목적이라기보다는 암호문으로 만들어 버리면 얘는 단방향이기 때문에 복호화가 안 된다고요. 내용을 다시 평문으로 못 본다고요. 그래서 오히려 무결성 검증에 대한 용도로 오히려 더 많이 사용이 되어집니다. 무슨 말이냐 어떤 내용을 전송을 할 때 내용의 일부분을 해시를 이용해가지고 암호문으로 만들어 가지고 해당 전송하는 내용에 포함을 시켜요 그리고 보냈어요. 받은 쪽에서요 다시 복호화를 하는 게 아니라 해시로 해시 알고리즘으로 암호화했던 부분의 데이터를 다시 받은 쪽에서 다시 암호문으로 만들어요.
38:48
만들어가지고 기존에 전송되기 전에 어 만들었던 암호문하고 받아서 어 이 암호문 만드는 거하고 같은 양 결과적으로 뭐냐 전송 간의 어떤 수정이나 이런 변화 변경 사항이 있냐 없냐라는 걸 검증하는 무결성을 검증하는 용도로 사용이 되어집니다. 해시 함수의 종류는 mb5와 sha 그리고 asa 이렇게 종류가 있습니다. 자 퀴즈를 정리해 보도록 하겠습니다. 데이터를 암호화하는데 사용되는 rsa 기법은 양방향 암호 알고리즘이었죠. 자 양방향 암호화 알고리즘 중에서 어떤 비밀키 공개키 공개키 공개키 방식이었습니다. 키 종류가 암호문을 만들 때 사용한 키하고 복구할 때 사용한 키가 틀리다 그래서 암호문을 만드는 키는 공개되어 있다. 이 말이죠. 보기 항목 암호화키와 복호화키를 별도로 사용해 다르게 사용한다.
39:46
맞습니다. 해독키는 반드시 비밀로 보호되어져야 돼 네 맞습니다. 해독키는요 이 평문을 만들어 암호화키는 공개돼 있고 암호화키를 네 일반적으로 공개키라고 해 맞습니다. 암호화키를 사용하여 해독키를 유도할 수 있다. 이거 틀렸죠 이렇게 허용하게 되면 암호화키만 알고 있으면 이 해독키도 유도해서 풀 수 있으면 암호화 알고리즘에 대한 해당 용도에 부합되지 않다 않다 이렇게 볼 수도 있겠습니다. 두 번째 문제 분산 데이터베이스의 불법적 조건을 차단하기 위하여 데이터 암호화가 필요해 des 알고리즘에서는 평면을 몇 비트로 블록화하느냐 des는 1975년도에 만들어졌다라고 말씀드렸어요. 근래에는 대부분 다 보면 블록의 크기가 128인데 얘는 64에요. 반토막이 64비트 64 64 64 3번 지우고 실제 키의 길이는 몇 비트를 사용하느냐 실제 키의 길이는 64보다 작은 56을 사용합니다. 그래서 1번이 정답입니다.
40:45
얘는 그냥 암기할 수밖에 없죠 데스 암호 알고리즘의 블록 크기는 64 그리고 실제 키의 크기는 56 넘어갈게요 두 번째 내용입니다. 코드 오류에 대해 살펴보도록 하겠는데요. 코드 오류는 개념이 소프트웨어 구현 단계에서 개발자들이 코딩을 하는 소스 코딩을 하는 중에 실수하기 쉬운 형의 변환이다. 타입력 데이터 형식 문자열에 대한 숫자열이 숫자형이다. 있죠. 실수형이다. 뭐 이러한 형 변환이나 자음 반환 등의 오류를 예방하기 위한 보안 점검 항목들이 되겠다.
41:30
코드 오류로 발생할 수 있는 보안 약점 종류는 널 포인트 역참조 부적절한 자원 해제 해제된 자원 사용 그리고 초기화되지 않음 변수 사용이 되겠는데 뒤에 세부적인 내용 살펴보도록 하겠는데 널 포인트라고 하는 부분 자체는요 널이는 없다는 말이에요. 네 적 늘은 널 널이라고 하는 부분은 값이 없다는 것을 의미하는데 네 그리고 포인터는요 메모리 위치를 가리키는 용도예요. 포인터 가리키다 뭘 가리키느냐 메모리의 주소 번지를 가리키는 역할을 담당하는 부분입니다. 그래서 널이 포인트한다. 널 포인트 없는 게 뭔가 가리킨다 이 말이잖아요. 이건 오류예요. 자 먼저 코드 오류의 보안 약점 첫 번째 널포인트 역참조 상세하게 살펴보겠습니다. 널포인터가 가리키는 메모리에 어떤 값을 저장했을 때 발생할 수 있는 보안 약점이야 이 말입니다. 많은 라이브러리 함수들이 오류가 발생하는 경우에 nural 값을 반환을 합니다.
42:28
그런데 이 오류가 발생할 때 반환하는 nule값인 이 반환값을 포인트로 참조를 시키게 되면 발생하는 오류가 nurpoint 오류예요. 대부분의 운영체제에서는 널 포인트로 메모리에 첫 주소를 가리킨다 해당 주소를 참조하게 되면 소프트웨어가 비정상적으로 종료될 수도 있습니다. 공격자는 이러한 널 포인트 참조 오류로 발생하는 예외 사항을 악용할 수도 있어요. 방지 방법은요, nural이 사용될 수 있는 포인트를 사용하기 전에 널 값을 갖고 있는지 여부를 한번 검사를 하는 방식으로 방지할 수 있겠습니다. 혹시 널값을 가지고 있느냐 두 번째 부적절한 자원 해제입니다.
43:15
부적절한 자원 해제라는 부분 자체는 자원을 반환하는 코드를 누락시켰다 자원이라는 거는 해당 cpu 내에 cpu의 메모리라든지 아니면 cpu의 어떤 프로세스라든지 처리하고 있는 거 이러한 것들을 다 수행하고 난 다음에 반환 끊어야 되는데 종료를 시켜야 되는데 그걸 안 했다. 이 말이에요. 대표적으로 보면 해당 데이터베이스하고 연결시켜가지고, 뭔가를 값을 가져오고 또는 저장하고 다 처리했어요. 그러면 데이터베이스하고 웹 문서라고 가정했을 때 ph 편 jsp 등 사용자로부터 회원가입을 받았어요. 입력받은 정보값들을 가지고 왔어요. 그다음에 해당 얘를 데이터베이스의 테이블에 저장해드리면, 데이터베이스와 연결하는 커넥션 하는 객체를 생성해가지고 해당 입력을 했어요. 입력을 하게 되면 그다음에 이 커넥션한 해당 클래스에 대한 객체는 끊어야 되는데 아니면 메모리에 남아 있거든요.
44:05
그와 같이 자원을 다 처리하고 난 다음에 반환을 해야 되는데 그걸 누락했다든지 그런 경우에 프로그램 오류로 할당되어진 자원을 반환하지 못했을 때 발생하는 보안 약정이다. 이 말이고요. 흰 매블이나 소켓 등 유일한 시스템 자원이 계속 점유하고 있으면 자원 부족으로 인해서 새로운 입력을 철회하지 못할 수도 있다. 자 프로그램 내에서는요 자원반환 코드가 누락되었는지 확인하고요. 오류로 인한 함수가 중간에 종단되었을 종료되었을 때는 예외처리에 관계없이 자원은 반환되게끔 코딩을 해서 해당 부적절한 자원 해제의 오류를 막을 수가 있겠습니다. 요렇게 정리하겠습니다. 네 아까 데이터베이스 연결이라는 부분을 예제로 삼았는데요. 데이터 해당 웹 문서에서 데이터베이스와 연결해가지고 처리해야 될 게 다 끝났으면 해당 이 연결적인 부분 자체를 클로즈 시켜야 돼요. 그렇지 않으면 메모리에 계속 남아가지고, 해당 그 자원을 잠식한단 말이에요.
45:02
그게 계속 계속 계속 누적이 되어지게 되면 자원 부족으로 인해서 새로운 입력값을 처리하지 못하는 오류가 생길 수 있다. 이 말입니다. 코드 오류의 세 번째 해제된 자원 사용이다. 3번은 아까는 부적절한 자원 해제였고 지금 살펴보고자 하는 부분은 해제된 자원 사용이에요. 즉 이미 사용이 종료되어졌다 라고 해서 반환되어진 메모리인데 그 메모리를 참조하게 되면 발생할 수 있는 보안 약점이다. 반환되어진 메모리를 참조하는 경우에 예상하지 못한 값 또는 코드를 수행하게 되어서 의도하지 않은 결과가 발생할 수 있다. 그러면 해제된 자원 사용에 대한 오류를 막으려면요 반환된 메모리에 접근할 수 없도록 주소를 저장하고 있는 포인터를 초기화해서 방지할 수 있겠다.
45:52
네 번째 초기화하지 않은 변수를 사용하는 경우 변수를 선언하고 난 다음에 변수를 선언한 후 값이 부여되지 않은 변수를 사용할 때 발생할 수 있는 오류가 있다. 이 말입니다. 변수 선언으로 메모리가 할당되어지면 해당 메모리가 이전에 사용되던 내용이 남아있는 경우에 그 값 자체를 해당 참조 여부일 수도 있다. 그래서 어떻게 해결하느냐 변수를 선언을 할 때 할당된 메모리를 초기화시켜라 초기화함으로써 초기화되지 않은 변수 사용으로 인한 코드 오류를 방지할 수 있겠다. 자 이 파트에 대해서 퀴즈로 정리해 보겠습니다. 다음 중 코드 오류와 관련되어진 보안 약점에 대한 설명으로 틀린 것은 첫 번째 nurpoint nural nural point가 가리키는 메모리 값을 메모리 값에 값을 저장하면 오류가 발생한다. 맞습니다.
46:50
두 번째 네 이건 널 포인트 역참조에 대한 오류죠 없고요. 두 번째 널 포인트 역참조 그 말이죠. 널 포인트 역참조를 방지하려면 널 포인터를 초기화해야 된다. 언뜻 보면 맞는 말 같은데, nall이라는 게 뭐라고 그랬어요. nural은 없다. 라는 말이에요. 없는데 그걸 초기화해 가지고 없애봤자 해결이 되지 않습니다. 그래서 이 널 포인트를 초기화한다. 이건 틀렸어요. 세 번째 이미 사용 중 사용이 종료되어진 반환 메모리를 참조하지 않기 위해서는 해당 주소를 저장하고 있는 포인트를 초기한다. 맞고요. 변수를 선언한 후에 값이 부여되지 않은 변수를 사용하지 않기 위해서는 변수 선언 시 할당된 메모리를 초기화한다. 맞습니다. 다음 캡슐화에 대해서 살펴볼게요 캡슐화는 저희가 객체 지향 데이터베이스에서 데이터와 어떤 동작적인 부분을 하나의 꾸러미로 묶는다 그게 캡슐화의 개념이었어요. 근데 여기서 지금 저희가 살펴보는 부분은 보안적인 측면에서입니다.
47:50
캡슐화의 보안점검사항입니다. 캡슐화는 정보 언닉에 필요한 중요 데이터와 기능을 묶는 거였는데 이 자체가 불충분하게 되어서 또는 잘못 사용되어서 발생할 수 있는 문제 를 뜻하고요. 캡슐라인 보안 약정으로서는요 네 가지가 있는데, 잘못된 세션에 의한 정보 노출 이거는 이전 단어에서 저희가 세션 통제 파트에서 살펴봤던 부분이긴 합니다. 그리고 두 번째 제거되지 않고 남은 디버그 코드 그리고 세 번째 시스템 데이터 정보 노출 이 세 가지에 대해 살펴볼게요 캡슐로 보안 약점의 첫 번째 잘못된 세션에 의한 정보 노출은 앞단에 저희가 세션 통제 소프트웨어 개발 보안 설계 파트에서 세션 통제 파트에서 했던 것 같아요.
48:39
같은데, 이제 해당 처리 절차 단계가 소프트웨어 개발 보안 설계 파트에서는 설계 단계에서 점검했던 부분이고 지금 캡슐화해서 잘못된 세션에 의한 정보 노출은 구현 단계에서 점검하는 측면이다라는 과정적인 부분만 다르고 개념은 같아요. 다중 스트레드 환경에서요 멤버 변수에다가 정보를 저장할 때 발생할 수 하는 보안 약점이 된다. 싱글톤 패턴에서 발생하는 레이스 컨디션으로 인해서 동기화 오류가 발생하거나 멤버 변수의 정보가 노출될 수도 있다. 이렇게 되어 있어요. 싱글톤 패턴은 패턴 중에서 하나의 객체는 여러 프로세스에서 동시 참조는 안 돼 라고 하는 패턴이고요. 레이스 컨디션은요, 레이스 경쟁한다고요. 경쟁 상태라고요. 두 개 이상의 프로세스가 공용인 자원을 서로 간에 획득하기 위해서 서로 간에 경쟁하고 있는 상태를 뜻합니다.
49:36
우선 멤버 변수라는 부분에서는요 변수의 종류는 프로그램에서 전역 변수가 있고요. 뭐 전체적으로 다 역량을 사용할 수 있는 변수 전역 변수 그리고 일부 지역에서만 사용할 수 있는 지역 변수가 있어요. 멤버 변수는 밑에 있는 소수 코드 코드는 c 뿔의 예제인데 클래스 하나의 클래스 내에 클래스 안에서 사용되어지는 변수가 멤버 변수입니다. 그럼 지역변수는 뭔데 여기서는 지금 shaf+에서는 메인 함수가 있어요. 메인 함수 안에서 사용되어지는 변수는 지역변수입니다. 그래서 잘못된 세션에 의한 정보 노출을 방지하기 위해서는 멤버원 수보다는 지역변수를 활용을 해서 변수의 범위를 제한하는 것이 바람직하다 이렇게 정리하겠습니다.
50:22
두 번째 캡슐화의 보안 약정 제거되지 않고 남은 디버그 코드 디버그라는 건 버그 문제가 있는 부분 자체에 대한 원인을 파악하기 위해서 해결하는 그 과정이 디버그인데 개발 중인 버그를 수정하거나 결과값 확인을 위해서 남겨둔 코드들로 인해서 발생하는 보안 약점이 되겠다. 디버그코드의 인증이라든지. 식별 절차를 생략하거나 우회하는 코드가 포함되어 있다고 한다면, 공격자가 그것을 악용할 가능성이 있다. 그래서 어떻게 소프트웨어를 배포하기 전에 코드 검사를 통해서 남아있는 디버그가 있는지 확인하고 있으면 그걸 어떻게 삭제하자 삭제함으로써 방지할 수가 있다. 세 번째 시스템 데이터 정보 노출입니다. 시스템의 내부 정보를 시스템 메시지를 통해서 외부로 출력하도록 코딩을 했을 때 발생할 수 있는 보안 약점입니다. 시스템 메시지를 통해서 노출하는 메시지에는 중요 정보를 담으면 안 되겠죠.
51:21
그래서 메시지는 최소한의 정보만을 제공함으로써 방지가 가능하다 그리고 추가적으로요 네 두 가지를 살펴보겠는데 코딩 사항이잖아요. 해당 저희가 자바나 자바에서 소스 코딩할 때 해당 권한적인 부분으로서 퍼블릭이라든지. 프라이빗이라든지. 프로텍티드를 사용을 하는데 퍼블릭 같은 경우 누구든지 사용할 수 있게끔 측면이고 프라이빗티는 어 네이버적으로만 클래스 내에서만 이렇게 돼 있거든요. 자 보세요. 퍼블릭 메소드로 반환되어진 프라이빗 베이얼이다. 설명 보겠습니다. 클래스 내에서만 접근이 가능하도록 한 가능한 프라이빗 베이어를 모든 클래스에서 접근 가능한 퍼블릭이라고 하는 권한이 보유되어진 메소드에서 반환을 하게 되면 발생하는 보안 약점이 되겠고요. 퍼블릭 메소드가 프라이빗 베이얼을 반환하게 되면 프라이빗티는 클래스 내에서만 볼 수 있게끔 했지만, 퍼블릭은 다른 클래스도 볼 수 있는 거거든요.
52:20
그러다 보니까 퍼블릭 메소드가 프라이빗 배열을 반환하면 배어리 주소가 웹으로 공개가 되어서 웹에서 접근이 가능할 수 있다. 라는 보안 약점입니다. 그래서 프라이빗 베이어를 별도의 메소드를 통해서 조작을 한다든지 아니면 동일한 형태의 복제본을 반환받아서 값을 전달하지 해당 그 배열의 주소 자체를 사용하지는 마라 이 말입니다. 마지막 다섯 번째 프라이빗 베이올에서 퍼블릭 데이터 할당 프라이빗 베이올에 퍼블릭으로 선언되어진 데이터나 메소드의 파라미터를 저장할 때 발생하는 보안 약점이 되겠는데 프라이빗 베이얼에 퍼블릭 데이터를 저장하게 되면 프라이빗 베이어를 외부에서도 접근 가능하게 돼버릴 수도 있다.
53:09
그래서 퍼블릭으로 선언된 데이터를 프라이빗 베일을 저장할 때 레퍼런스 값이 아닌 직접 값을 저장함으로써 방지가 가능하다 이렇게 정리하겠습니다. 약간 혼란스러운 부분이 있어요. 4번 5번은 그죠 이거보다는 앞에 있는 부분들 더 정리를 하시는 게 좋을 것 같아요. 캡슐과 보안약정 문제 풀이해보겠습니다. 캡슐 라인에 대한 점검이 충분하지 않을 때 발생하는 보안 약정 중에 제거되지 않고 남은 디버그 코드와 관련된 설명으로 틀린 거 첫 번째 개발 중인 버그 수정이나 결과값 확인을 위해서 남겨둔 코드로 인해서 발생하는 보안 약점이에요. 맞고요. 두 번째 소프트웨어 제어에 사용된 중요한 정보가 디버그 코드로 인해 노출될 수 있다. 맞습니다. 디버그 코드의 인증 및 식별 절차를 우회하는 코드가 포함이 되어 있으면 공격자가 이것을 악용을 할 수 있다. 맞고요. 디버그 코드에 최소한의 정보만 노출되도록 제한하여 방지할 수 있다가 틀렸습니다.
54:09
왜 틀렸느냐 디버그 코드는 최소한 정보만 노출되도록 수정하라는 게 아니라 삭제하자 삭제를 통해서 방지할 수 있다. 이렇게 정리했었죠. 다음 apio형입니다. api는 애플리케이션 프로그래밍 인터페이스죠 프로그래머가 라이브러리가 제공하는 여러 함수를 이용해서 프로그램을 작성할 때 해당 함수의 내부 구조를 알 필요 없고 단순하게 api 정의된 입력값만 주고 결과값을 사용을 그래서 이용할 수 있다. api에 대한 정리였고요. 소프트웨어 구현 단계에서 api를 잘못 사용을 하거나 또는 보안에 취약한 api를 사용하지 않도록 하기 위한 보안 점검 항목들이 되겠는데 api 오용으로 인한 보안의 약정은 두 가지 dns 룩업에 의존한 보안 결정과 취약한 api 사용이 있습니다. 뒤에 세부 살펴보도록 하겠고요.
55:05
밑에 있는 그림은 일례로 api 오형 중에 dns 룩업에 의존한 보안 결정의 소스 코딩 방식이다. 소스상에서 보게 되면은 해당 이 도메인 에 대한 호스트 값으로 그 어드레스가 이걸 포함하고 있어 네, 그렇다고 한다면, 어떻게 이렇게 코딩한 케이스인데 첫 번째 dns 룩업에 의한 보안 결정에 해당되는 부분이거든요. 도메인명 인터넷 주소 영문 주소가 도메인이죠. 네이버 점 컴이라든지. 패스트 캠퍼스 co kr이라든지. 도메인명에 의존하여 인증이나 조건 통제 등의 보안 결정을 내리는 경우에 발생할 수 있는 보안 약정이야 dns가 도메인 네인 시스템 또는 서버인데 영문의 주소가 어떤 ip 주소를 가지고 있는지를 묻고 답해주는 서비스를 제공하거든요.
55:54
이 dns 엔트리를 소개해가지고 동일한 도메인에 속한 서버인 것처럼 위장하거나 사용자가 네트워크 안에 트래픽 네트워크 트래픽을 유도하여 네 악성 사이트를 경유하도록 주장을 할 수가 있습니다. 그래서 dns 검색을 통해서 도메인 이름으로 비교하기보다는 직접적으로 ip 주소를 직접 입력하여 접근함으로써 dns log up dns 조회로 인한 보안 결정의 약점을 방지할 수 있겠습니다. 그리고 취약한 api 사용입니다. 보안 문제로 사용이 검지되어진 api를 사용하거나 잘못된 방식으로 api를 사용했을 때 발생할 수 있는 보안 약제입니다. 보안상 안전화 api라고 하더라도 자원에 대한 직접 연결이나 네트워크 소켓을 통한 직접 호출과 같이 보안에 위협을 줄 수 있는 엔티페이스를 사용하는 경우에 보안 약점이 노출될 수 있다.
56:51
그래서 이걸 방지하는 방법은 보안 문제로 검지된 함수는 안전한 함수로 대체하고 그리고 api 매뉴얼을 참고해서 보안이 보장되는 인터페이스를 사용함으로써 방지가 가능하겠습니다. 문제로 정리하겠습니다. 보안 약점 중에 취약한 api 사용으로 인한 보안 약점에 대한 설명으로 가장 옳지 않은 거 틀린 거 골라라 첫 번째 보안 문제로 사용이 검지된 api를 사용할 때 발생할 수 있는 보안 약점이에요. 맞고 ip 주소를 직접 입력하지 않고 dns 검색을 통해서 도메인명을 비교하여 접근함으로써 방지할 수 있다가 아니라 거꾸로 저기 dns 검색을 통해 가지고 비교하는 경우에 해당 취약한 apr 사용을 위한 보안 약정의 대상이 될 수 있다. 그래서 해결책이 도메인을 직접 사용하지 말고 ip를 사용하라 이거였죠 그런데 얘는 바뀌었죠.
57:48
ip 주소를 직접 입력하지 않고 dna 검색을 통해서 비교함으로써 접근하면서 방지할 수 있다. 방지책은 반대입니다. dns를 이용하지 않고 ip 주소를 직접 입력하라가 방지책입니다. 네트워크 소켓을 통해서 직접 호출 등 인터페이스를 잘못 이용할 때 발생할 수 있는 보안 약점이에요. 그리고 보안상 사용이 검지된 api를 다른 안전한 api로 대체함으로써 방지할 수 있다. 맞습니다. 자 살펴봤던 4개 파트를 모의고사 문제 가지고 정리하고 총괄 정리할게요 자 해시에 대한 설명으로 틀린 거 해시는 단방향 암호화 알고리즘이었습니다. 평문을 암호문으로 만들기만 가능했죠. 임의의 길이의 입력 데이터를 받아서 고정된 길이의 해시값으로 변환한 것이에요. 맞고요. 해시 함수는 해시 값으로 변환하는 알고리즘을 의미한다. 네 맞고요. 양방향 암호화 알고리즘의 한 종류다 틀렸죠 양방향이 아니고 단방향이었습니다.
58:44
평문을 암호문으로만 만들 수 있었어요. 해시함수의 종류는 md5와 sha 그리고 has 등이 있습니다. 두 번째 다음에서 사용하는 암호화 알고리즘으로 올바른 것은 한국 인터넷 진흥원에서 만들었다 이것만 해도 뽑아지긴 해요. 시드 네 1999년에 개발한 블록 암호화 알고리즘인데 블록 크기는 128비트요 비트고 종류는 128 256 버전이 있다. 키의 종류에 따라서 자 정답은 cd 4번이 정답입니다. 3번입니다. 코드 오류로 인한 부적절한 자원 해제가 발생하지 않도록 방대하는 방법으로 방법에 해당하는 것은 이라고 돼 있어요. 부적절한 자원 해제라고 하는 부분 자체는 아까 제가 데이터베이스 연결 뭐 이런 사례로 설명을 드렸던 부분입니다.
59:38
포인트 사용하기 자 그럼 옆에 제가 힌트를 먼저 정리를 하면 코드 오류의 종류는 네 가지가 있었어요. 널 포인트 역참조가 있었고요. 그리고 부적절한 자원 해제가 있었고요. 그리고 해제된 자원 사용이 있었고요. 그리고 초기화되지 않은 변수 사용 이 네 가지가 있었어요. 여기서 문제에서 묻는 부분은 지금 현재 부적절한 자원 해제 방지 방법 올바른 거 이렇게 이야기하고 있습니다. 복약묵 포인터 사용 전에 널 값이 있는지 확인하라 라는 부분은 네 가지 코드 오류 종류 중에 첫 번째인 널 포인트 역참도에 대한 방지책이고요. 두 번째 자원 반환 후에 해당 자원을 참조하는 포인터를 초기화하라 라고 하는 해결책은 세 번째인 코드 오류 해제된 자원 사용에 대한 방지책입니다.
1:00:29
지금 저희가 살펴보는 건 부적절한 자원 해제에 대한 부분인데 첫 번째 두 번째는 아니에요. 세 번째 예외 처리와 관계없이 자원은 그냥 반환을 해 이게 네 해결책입니다. 부적절한 자원 해제 발생 방지책이고요. 네 번째 변수 선언할 때 할당된 메모리 값의 초기값을 부여하라 라고 하는 부분 자체는 코드 오류의 종류 마지막인 초기화하지 않은 변수 사용에 대한 오류를 막을 수 있는 방지책이 되겠습니다. 이렇게 연결해 가지고도 정리해 보시는 것도 괜찮을 것 같아요. 네 번째 문제 보안 점검 내용에서 캡슐화의 정의로 올바른 것은 캡슐화를 꾸러미로 묶는다는 거죠. 언닉성 인터페이스를 제외한 세부 내용이 보이지 않도록 데이터와 함수를 객체로 묶어서 코딩하는 것을 말한다. 문제에서 묻는 거는 정의로 바른 거 이렇게 돼 있기 때문에 1번이 정답입니다.
1:01:18
다음 5번 다음 중 apr o용으로 발생할 수 있는 보안 약점에 대한 설명으로 틀린 거 골라라 첫 번째 ip가 아닌 도매명을 통해 보안 결정을 내릴 때 발생할 수 있다. 여기는 발생할 수 있다. 입니다. 맞죠. 아까는 방지할 수 있다. 이렇게 되어있을 경우에는 반대로 돌려야 되겠고 도메인에 취약한 api를 사용할 때 발생한다. 네 오케이 보안에 문제가 없는 api라도 잘못된 방식으로 사용하는 경우에 발생할 수 있어 마지막 자신을 호출하는 함수의 종료 시점이 존재하지 않아서 무한히 반복될 때 사용한다고 하는 부분 자체는 무한 루프 시간과 상태와 관련되어진 보안 점검 항목인데 apio형하고는 관련성이 없습니다. 4번이 틀렸습니다. 내용 네 파트로 살펴봤었어요.
1:02:13
핵심 정리해 보면 암호 알고리즘은 중요 정보요 주민번호나 패스워드나 은행 계좌 같은 중요 정보를 보호하기 위해서 누구든지 보면 알 수 있는 평문으로 두지 말고 암호화 알고리즘 절차를 거쳐가지고 암호문을 만들어서 노출 안 되게 하자 이 측면이고 암호화 알고리즘의 종류예요. 암호화 방식의 종류는 양방향과 단방향이 있다. 단방향은 해시 해시를 사용하는 단방향 암호화 방식과 개인키와 공개키로 분류된 양방향 암호화 방식으로 구분되어진다 이렇게 살펴봤었어요.
1:02:49
예를 들어서 다음 중 양방향 암호화 알고리즘 아닌 거 골라 그런 경우에 해시가 나오면 해시 알고리즘 종류 중에 보기 항목 있으면 고르면 되겠고 그다음에 비밀키와 공개키 이거도요 다음 중 비밀키 암호화 방식이 아닌 거 골라 그런 경우에는 해시 또는 이 공개키 암호화인 rsa가 보기가 있으면 틀린 보기로 고르는 형태 문제 출제될 수 있습니다. 다음 코드 오류입니다. 네 코드 오류는 소프트웨어 구현 단계에서 개발자들이 코딩 중 실수하기 쉬운 형 변환이나 자료 반환 같은 오류를 예방하는 보안 점검 항목들이고 보안 약점의 종류는 4가지가 있었다. 널 포인트 역참조 부적절한 자원 해제 그리고 해제된 자원 사용 초기화되지 않은 변수 사용 이렇게 네 가지가 있었습니다. 세 번째 캡슐화는 정보 은닉에 필요한 중요 데이터와 기능을 불충분하게 캡슐화해서 생기는 보안 문제가 있을 수 있다. 이거였고요.
1:03:48
캡슐화 보안 약정의 종류로서는요 잘못된 세션에 의한 정보 노출 제거되지 않은 디버그 코드 그리고 시스템 데이터의 정보 노출 이 세 가지가 있었고, 퍼블릭 메소드로부터 반영된 프라이빗 배열과 프라이빗 배열의 퍼블릭 데이터 할당이라는 것도 있었습니다. 마지막으로, apr 오용에 대해서 살펴봤었는데 소프트웨어 구현 단계에서 api를 잘못 사용하거나 보안에 취약한 api를 사용하지 않도록 하기 위한 보안 점검 검증 항목들이었고 apr 오용으로 발생할 수 있는 보안의 약점의 종류는 두 가지인 dns 로그업에 의존한 보안 결정과 취약한 api 사용이었습니다. 네 이상으로 소프트웨어 개발 보안 구현에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 정보시스템 구축관리' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 4.시스템 보안 구축 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 2.IT프로젝트 정보시스템 구축관리 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 1.소프트웨어개발 방법론 활용 (0) | 2025.05.26 |
https://youtu.be/NwnQD6v6mSQ?si=pwnyYUMCDqCwv5JZ
1. 네트워크 구축 관리 및 신기술 이해
1-1. 네트워크 관련 신기술 및 트렌드
- 네트워크 관련 신기술은 총 21개로, 신기술 중에서도 주관식 문제가 주어졌음
- (중요) 에드워크, 저전력 블루투스 기술, 클라우드 컴퓨팅, 파스 서비스 등 다양한 신기술이 있음
- 에드워크는 모바일 호스트만으로 구성되어 별도의 고정된 유선망을 필요로 하지 않음
- 저전력 블루투스 기술은 낮은 전력으로 저용량의 데이터를 처리함
- 클라우드 컴퓨팅은 중앙 컴퓨터 즉, 서버 컴퓨터에 서비스 컴퓨터를 부착하여 인터넷 기능을 갖게 됨
1-2. 네트워크의 장비 트렌드와 구축 방법
- 백본 스위치는 네트워크를 백본으로, 백본 스위치는 스위칭 역할을 함
- 백본에서 스위칭 역할을 하는 장비가 백본 스위치임
- 네트워크 관련 장비 중 스위치의 종류는 백본 스위치, 일반 스위치로 나뉨
- 네트워크 장비를 구축할 때는 장비의 설치환경과 구축제한사항을 고려해야 함
- (중요) 네트워크 장비의 특성에 따라 장비의 설치환경을 파악하는 것이 중요함
1-3. 네트워크 장비의 세부 기능과 제한사항
- 백본 스위치는 여러 네트워크를 연결하는 중추적인 역할을 함
- 네트워크 장비의 특성에 따라 장비의 구축 간 제한사항이 존재함
- (중요) 네트워크 장비의 설치환경을 적절히 파악하여 장비의 구축을 진행해야 함
- 장비의 구축 시에는 장비의 기능적 특성과 제한사항을 고려해야 함
- 장비의 설치환경을 파악하는 것이 장비 구축의 성공적인 진행에 중요함
2. 무선통신과 네트워크 기술의 이해
2-1. 무선통신과 네트워크 기술의 개요
- 무선통신과 네트워크 기술은 3GPP와 5G 핵심 기술에 포함됨
- 네트워크 인프라를 다수의 물리적 코어로 슬라이싱하여 분리하는 슬라이싱 기술이 주요함
- 네트워크 기술의 다양성은 네트워크의 특성에 따라 달라짐
- 네트워크 장비 간의 협업이 필수적이며, 네트워크의 정의와 계획이 필요함
- (중요) 네트워크의 관리와 제어를 위해 소프트웨어가 정의하는 네트워크(소프트웨어 디파인 네트워크)가 사용됨
2-2. 사물인터넷 기술과 그 특성
- 사물인터넷 기술은 스마트 상징 기술과 무선 통신 기술을 결합한 실시간 데이터 교환 기술임
- 사물이 인터넷에 연결되어 정보를 주고받기 때문에, 해킹 등으로 인한 정보 유출 위험이 존재함
- (중요) 따라서 사물 인터넷 기반 서비스에서는 정보 보안 기술의 적용이 필수적임
- 사물 인터넷 기술은 라우터, 백본 스위치 등에 적용되며, 라우터는 최적의 경로를 배정함
2-3. 네트워크 장비와 그 기능
- 네트워크 장비는 라우터, 백본 스위치 등이 있으며, 라우터는 네트워크 장비의 핵심 역할을 함
- 라우터는 네트워크 장비 간의 상호 연결을 가능하게 하며, 백본 스위치는 라우터와 장비 간의 연결을 관리함
- 네트워크 장비는 서로 다른 네트워크 망에 연결되어 있으며, 네트워크 망의 구조는 다양함
- (중요) 네트워크의 망은 별형, 링형, 스타형, 고리형 등 여러 형태를 가질 수 있음
- 네트워크 망의 형태에 따라 각각의 특성에 맞게 사용되고 관리됨
3. 네트워크의 종류와 특징
3-1. 네트워크의 기본 개념과 종류
- 네트워크란 네트워크 간 연결을 의미하며, 종류는 위키드 무역과 데이터 망을 포함함
- (중요) 네트워크에는 반드시 폭 허브 장치가 필요하며, 이는 외부에서 들어오는 회선을 통해 연결됨
- 한 개의 컴퓨터에서 다른 컴퓨터로 이동하는 것은 문제 파악과 유지 보수가 필요함
- 트리형은 한 개의 컴퓨터와 네트워크를 연결하여 확장하는 형태로, 확장이 많을 경우 트로픽이 과중 많이 발생할 수 있음
3-2. 망과 네트워크의 분류
- 망은 한 개의 컴퓨터가 다른 네트워크와 연결되어 서로 연결되는 방식으로, 특정 노드에 문제가 발생해도 다양한 우회 경로가 생김
- 네트워크의 분류는 서비스 지역 단위별로 분류되며, 로컬 네트워크, 대도시 네트워크, 광대형 네트워크로 나뉨
- 광대형 네트워크는 규모에 따라 네트워크의 연결 구조가 달라지며, 연결 속도와 에러 발생률이 높아짐
- (중요) 각 네트워크의 분류와 연결 구조는 네트워크의 규모와 성능에 따라 달라짐
3-3. 스위치의 분류와 역할
- 스위치는 네트워크 계층에서 링크 계층으로 연결되는 역할을 하며, 스위치의 계층에 따라 레이어가 달라짐
- (중요) 스위치는 프레임을 전달할 때, 스토어-앤프래징, 컷-서로 나누어 전송하거나 프레그먼트-프리 방식을 사용함
- 100번 스위치는 네트워크의 중심에 배치되며, 대규모 트래픽 처리를 위한 고성능을 제공함
- 스위치의 배치는 라우터, 라우팅 보안 필터 등 다양한 장비와 함께 작동함
4. 통신 네트워크의 이해와 소프트웨어 개발 보안
4-1. 네트워크 구조와 인터넷의 기본 개념 이해
- 네트워크는 물리적 망, 별형, 버스형, 트리형, 망형으로 구성됨
- 네트워크는 네트워크의 분류를 결정하는 요소임
- (중요) 인터넷은 사람과 사물 간 정보를 소통하는 지능력 기술 및 서비스임
- 인터넷 연결이 가능하면 인터넷에 연결된 기기가 서로 정보를 주고받음
- 사물인터넷은 인터넷에 연결되지 않은 사물들 간에도 정보를 주고받는 기능을 포함함
4-2. 네트워크 관련 신기술과 장비
- 인공지능, 퍼지 언어, 패턴 인식 등 인공지능 관련 신기술들이 있음
- 인공지능 기술은 신경망이나 퍼지 언어 등으로 알려진 인공지능 시스템에 사용됨
- (중요) 라우터는 네트워크 망의 최적 경로를 배정해주는 역할을 함
- 스위치는 네트워크 망의 물리적 특성을 반영해주는 역할을 함
- 라우터와 스위치는 네트워크의 핵심 장비임
4-3. 소프트웨어 개발 보안 정책과 관련 법령
- 소프트웨어 개발 보안 정책은 소프트웨어 개발 과정에서 보안 취약점을 최소화하는 활동임
- (중요) 보안 활동 참여자별 역할에 따라 보안 활동의 전반적인 실행 방향이 결정됨
- 소프트웨어 개발 보안 활동에 관련된 법령과 규정이 존재함
- 관련 법령은 보안의 중요성과 소프트웨어 개발에 대한 제약을 줄이기 위한 것임
- 보안 활동이 원활히 수행될 수 있도록 관련 법령의 이해가 필요함
5. 가상현실과 그 응용
5-1. 가상현실의 정의와 예시
- 가상현실, 증강현실, 블록체인, 딥러닝 등을 학습함
- (중요) 가상현실은 가상 현실에 실제 환경을 더해 현실감을 높인 것임
- 증강현실은 현실의 실제를 기반으로 정보를 추가해 제공하는 기술임
- 블록체인은 분산장부에 정보를 저장하는 기술로, 중앙집중형 서버에서 해킹 위험이 적어지고 보안이 강화됨
- 딥러닝은 AI의 한 종류로, 주어진 데이터를 바탕으로 스스로 학습해 필요 정보를 찾음
5-2. 가상현실의 응용 분야
- 가상현실의 활용 분야로는 게임, 교육, 오락, 패션 등이 있음
- 증강현실은 포켓몬스터와 같은 게임에서 활용되어 현실 세계에 포켓몬스터를 등장시킴
- (중요) 가상현실은 교육 분야에서 활용되어 학습자에게 실제 세계에 경험을 제공함
- 패션 분야에서는 가상현실을 의상에 입어 실제처럼 느낄 수 있게 함
5-3. 해시와 메시업
- 해시는 입력 데이터를 고정 길이의 값으로 변환하는 기술임
- 대칭 및 비대칭 암호화 기법과 함께 사용되어 무결성 검정에 용이함
- 메시업은 웹에서 제공하는 정보나 서비스를 이용해 새로운 소프트웨어나 서비스 데이터베이스를 만드는 기술임
- 구글 맵스와 같은 웹 서비스에서 메시업을 활용하여 새로운 정보를 제공함
6. 웹 기술과 소프트웨어 보안
6-1. 웹 기술의 발전과 변화
- 웹의 기본 개념과 웹 기술의 발전 과정을 설명함
- (중요) 구글 지도와 구글 하우스 맵의 등장으로 웹 기술의 변화를 강조함
- 오픈 그리드 서비스 아키텍처와 그 특성을 설명함
- 개인정보 강화 기술과 프라이버시 임팩트 어세스먼트에 대해 언급함
- 양자 암호화와 리치 인터넷 애플리케이션에 대해 설명함
6-2. 소프트웨어 보안의 필요성과 기술
- 소프트웨어 보안의 필요성과 기술적 해결책을 제시함
- 소프트웨어 개발 보안 정책의 개념과 필요성을 설명함
- 소프트웨어 개발 생명주기와 보안 활동의 중요성을 강조함
- 소프트웨어 보안 정책의 구체적인 요소와 내용을 소개함
- (중요) 소프트웨어 보안의 장기적 목표와 절차에 대해 설명함
6-3. 소프트웨어 개발 보안 정책
- 소프트웨어 개발 보안 정책의 개요와 목적을 설명함
- 보안 소프트웨어 개발 생명주기의 개요와 각 단계에서 요구되는 보안 활동을 강조함
- (중요) 소프트웨어 보안 정책의 절차와 관련된 기술적 구현 방법을 제시함
- 소프트웨어 개발 보안 정책의 구체적인 요소와 내용을 소개함
- 각 단계에서 요구되는 보안 활동의 세부 내용과 중요성을 강조함
7. 소프트웨어 보안 취약점과 관련된 법령
7-1. 소프트웨어 보안 취약점의 발생 요인
- 보안 요구사항이 정의되지 않은 경우에 취약점 발생 가능
- (중요) 소프트웨어 설계 시 논리적 오류가 포함된 경우에 취약점 발생 가능
- 소프트웨어 배치가 적절하지 않으면 보안 취약점 발견 시 적절하게 대응하지 못함
- 소프트웨어 보안 취약점 발생은 보안 취약점 발생과 관련 있음
7-2. 소프트웨어 개발 보안과 관련된 기관
- 소프트웨어 개발 보안 관련 활동 주체는 행정안전부
- 관련 기관에는 한국인터넷진흥원, 감리법인, 한국 소프트웨어 개발 보안 계획 기관 등이 있음
- 각 활동 주체는 행정안전부, 한국인터넷진흥원, 감리법인, 한국 소프트웨어 개발 보안 계획 기관, 사업자, 감리 법인 등을 통해 소프트웨어 개발 보안을 관리
- 각 활동 주체는 소프트웨어 개발 보안 정책을 수립하고, 사업자 선정 시 보안 준수 여부를 점검
7-3. 소프트웨어 개발 보안과 관련된 법령
- 개인정보보호법, 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등이 소프트웨어 개발 보안과 관련된 법령
- 해당 법령은 소프트웨어의 안전성 확보와 보호를 위해 필요한 기준을 제시
- (중요) 개인정보 역량평가를 위한 평가기관의 지정과 역량평가 절차 등은 별도의 법령에 의해 규제
- 뉴미디어 서비스 개인정보 보호 가이드라인은 이용자 개인정보의 안전한 이용 환경을 조성하기 위한 기준을 제시
8. 소프트웨어 개발 보안 및 하드웨어 구축 관리
8-1. 소프트웨어 개발 보안의 중요성 및 역할
- 소프트웨어 개발 보안은 시큐어 코딩 표준을 준수하여 프로그램을 개발
- 제3자가 소프트웨어 안전을 판단할 수 있도록 문서화하는 작업도 담당
- (중요) 소프트웨어 개발 보안의 목적은 데이터의 기밀성, 무결성, 가용성을 유지
- 보안 활동은 소프트웨어 개발 생명 주기 전체 단계에서 수행
8-2. 소프트웨어 개발 보안과 관련된 법령 및 규정
- (중요) 개인정보보호법과 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등이 소프트웨어 보안과 관련됨
- 프로젝트 관리자는 응용 프로그램에 대한 보안 전략을 팀 구성원들에게 전달
- 팀은 프로젝트 관리자의 역할을 수행하며, 정보처리에 개인정보의 처리 및 보안에 관련된 사항을 정함
8-3. 하드웨어 구축 관리
- 하드웨어 신기술 트렌드 및 정보에 대한 이해
- (중요) 서버 장비 운용 요소의 개념과 서버 소프트웨어 유형 및 스토리지 시스템의 종류 및 특징
- 시큐어 OS나 운영체제에 보안 기능을 추가하여 외부 침입으로부터 시스템 자원을 보호하는 운영체제
- 고가용성의 개념 및 필요성에 대한 이해
9. 초미세 기술과 서버 장비 운용
9-1. 초미세 기술과 가상화 네트워크
- 초미세 기술을 이용해 센서, 액추에이터 등의 기계 구조를 미세하게 제작
- 이 기술을 이용해 전기 기계적 동작을 수행하는 시스템을 만들 수 있음
- (중요) 가상화 네트워크는 물리 네트워크 자원을 하나의 자원처럼 사용하는 기술
- 네트워크 자원의 일관성 있는 관리 및 보안 정책 유지가 가능
- VPN, 멀티프로토콜 스위칭 등의 가상화 네트워크 사례 존재
9-2. 태블릿과 레이드
- 태블릿은 폰과 태블릿의 합성어로 화면이 크고, 태블릿의 단점은 화면이 작음
- 레이드는 디스크에 여러 개의 하드디스크를 구성해 파일을 저장, 여러 디스크에서 동시에 읽거나 쓸 수 있는 기능 제공
- 레이드를 이용해 디스크 속도를 향상시키고, 효율적으로 정보를 관리 가능
9-3. 서버 가상화와 보안 솔루션
- 서버 가상화는 CPU, 메모리, 하드디스크 등의 물리적 자원들을 논리적으로 통합해 하나의 서버처럼 사용
- (중요) 서버 기반의 컴퓨터의 유지보수 비용을 절감하고, 정보 유출 방지가 가능
- 트러스트 존 테크놀로지에서 개발한 기술로, 프로세스 내 일반 애플리케이션을 처리하는 보안 구역을 설정
- 보안 솔루션으로 백신 소프트웨어, ids 등을 사용해 침입을 탐지하고 프리벤트 막기 가능
10. 보안운영체제
10-1. 보안운영체제의 보호방법
- 보호 방법은 논리적 분리, 물리적 분리, 암호적 분리, 시간적 분리로 나뉨
- 물리적 분리는 특정 장비만 사용하도록 제한함
- 논리적 분리는 프로세스를 논리적으로 분리함
- 암호적 분리는 내부 정보를 암호화함
- 시간적 분리는 프로세스 동시 실행을 방지함
10-2. 모니터의 보안 기능
- 모니터는 격리성, 검증 가능성, 관전성 세 가지 특징을 가짐
- (중요) 검증 가능성은 각 접근 주체에 대해 안전하고 고유한 식별 및 인정 기능을 제공함
- (중요) 임의적 접근 통제는 주소 그룹이나 개인에 따라 권한을 부여함
- 강제적 접근 통제는 규칙에 따라 강제적으로 접근을 통제함
- 모든 적분 경로를 통제하고 비밀번호 변경과 권한 설정을 보호함
10-3. 고가용성과 보호
- 고가용성은 장애 발생 시 다른 시스템으로 대체하여 서비스를 유지하는 환경 구축 기술임
- 클러스터와 이중화가 고가용성을 극대화하는 방법임
- 서비스 종류 중 연속성과 꾸준성을 유지하는 것이 중요함
- 클러스터는 여러 대의 서버를 하나의 서버처럼 운영하는 기술임
- 이중화는 데이터베이스 서비스 중단이나 물리적 손상을 대비하여 복구하는 것임
11. 정보시스템 구축과 관리의 중요성
11-1. 정보시스템의 트렌드와 구축 요소
- 정보시스템의 변화와 신기술의 등장을 설명함
- 하드웨어, 소프트웨어, 데이터베이스 등 정보시스템의 요소들을 소개함
- 각 요소들이 서로 어떻게 연결되고 작용하는지 설명함
- (중요) 소프트웨어 모듈과 모듈 간의 결합도에 대해 언급함
- 스토리지 시스템의 특징과 이에 대한 이해를 강조함
11-2. 하드웨어 구축과 관리
- 하드웨어의 발전과 그에 따른 기술 변화를 설명함
- 소프트웨어의 구축과 운영에 필요한 저장공간 확보에 대해 이야기함
- (중요) 네트워크 어태치드 스토리지 개념과 다스와 나스의 차이점을 명확히 함
- 하드웨어 구축 시 고려해야 할 관리 요소와 방법에 대해 설명함
11-3. 데이터베이스의 트렌드와 관리
- 데이터베이스의 특징과 관련 신기술에 대해 소개함
- (중요) 데이터베이스의 관리 기능에 대해 다루며, 병행제어 컨텍스트와 표준화 개념에 대해 설명함
- 데이터의 양, 생성 속도, 형태 등 데이터베이스의 특징을 이해함
- 데이터 관리에 필요한 방법과 기술에 대해 설명함
12. 데이터베이스의 복구와 표준화
12-1. 데이터 복구의 이해
- 트랜잭션 장애 시, 데이터 복구를 통해 장애 전 상태로 복구함
- 트랜잭션 장애의 종류에는 트랜잭션 장애, 시스템 장애, 미디어 장애 등이 있음
- 시스템 장애는 하드웨어적 장애, 미디어 장애는 데이터베이스에 손상을 주지 않음
- (중요) 복구 관리기는 트랜잭션 실행 실패 시, 트랜잭션을 취소하고 복구를 시키는 시스템임
12-2. 병행제어의 중요성
- 병행제어는 트랜잭션의 동시 수행을 통해 데이터 일관성 유지에 기여함
- 병행제어의 목적은 사용자 응답 시간 최소화, 네 가지 목표를 가짐
- (중요) 병행제어의 문제점에는 갱신 분실, 비완료 의존성, 모순성, 연쇄 복귀 등이 있음
12-3. 데이터 표준화의 필요성
- 데이터 표준화는 데이터의 정확한 의미 파악 및 상반적 시각 조정을 위한 것임
- 데이터 표준화를 통해 데이터의 정합성과 안정성을 향상시키고, 의사결정의 오류를 줄일 수 있음
- (중요) 데이터 표준화는 시스템 간 데이터 공유 시, 데이터 변환 및 정제 작업을 최소화함
- 데이터 표준화 절차에는 데이터 관리, 조직, 절차 등이 포함됨
13. 데이터 관리
13-1. 데이터 표준화의 필요성과 유형
- 데이터 표준화는 데이터 모델과 데이터베이스에서 오브젝트를 정의하는 과정임
- 필요성 있는 오브젝트만을 대상으로 표준화하는 것이 효율적임
- 표준화 유형은 표준 단어, 표준 도메인, 표준코드, 표준 용어로 나뉨
- 표준 단어는 업무에서 사용하는 일정한 의미를 갖고 있는 최소 단위의 단어임
- 표준 도메인은 컬럼의 성질에 따라 고유한 개념을 의미함
13-2. 데이터 관리자의 역할과 절차
- 데이터 관리자는 데이터 표준화의 원칙을 수립하고, 데이터 표준 준수 여부를 관리하는 역할을 맡음
- 데이터 관리자는 데이터 표준화 요구 사항을 수집하고, 데이터 표준 정의, 확정, 관리 절차를 진행함
- (중요) 데이터 표준화 절차는 데이터 표준화 요구 사항 수집, 데이터 표준 확정, 관리 절차 순으로 진행됨
- 표준화 요구 사항 수집, 데이터 표준 확정, 관리 절차는 전사적으로 수립되어야 함
- 데이터 관리자는 데이터 정의 체계와 감독 업무를 수행하여 표준화 절차를 준수함
13-3. 데이터 표준화 효과와 평가
- 데이터 표준화는 동일한 명칭 지정으로 명확한 의사소통, 데이터 유지보수 및 운영 효율성, 관리비용 절감 등의 효과가 있음
- 데이터 변환 없이 새로운 기준에 따라 데이터를 저장할 수 있어, 데이터 공유 시 불필요한 변환이 필요 없음
- 데이터 표준화는 장기적인 데이터 보존 기록 기능을 제공함
- 표준화된 데이터는 병행 제어에 유리하며, 시스템 활용도를 높이고 일관성 유지에 도움이 됨
- 데이터 표준화는 트랜잭션의 병행과 제어를 통해 데이터 공유를 최대화하고, 시스템의 일관성과 효율성을 높임
00:03
정보 시스템 구축 관리 두 번째 출제 대상인 it 프로젝트 정보 시스템 구축 네 가지 파트 중에서 첫 번째 네트워크 구축 관리에 대해 먼저 살펴보도록 하겠습니다. 학습 목표인데요. 네트워크와 관련되어진 it 신기술을 익히고 네트워크 장비별 특징을 이해합니다. 구축하고자 하는 네트워크 장비의 설치환경 파악과 장비 구축 간의 제한사항을 식별할 수 있다. 세부 내용으로서는 두 가지로 두 파트로 나눠서 살펴보겠는데요. it 신기술 및 네트워크 장비 트렌드 정보 그리고 두 번째 네트워크 장비 라우터 100번 스위치 등이라고 출제 기준에 제시되어진 기준대로 살펴보겠습니다. 용어 사전으로서 100번 스위치단 백본이라고 하는 부분 자체는 사람이 척추뼈를 이야기해요.
00:58
척추뼈 백본 여러 네트워크들을 연결할 때 중추적인 역할을 중추적 역할을 수행하는 네트워크로 네트워크를 백본이라고 합니다. 그리고 백본에서 스위칭 역할을 하는 장비가 백본 스위치가 되겠습니다. 첫 번째 it 신기술 및 네트워크 장비 트렌드 정보에서 먼저 살펴보자 하는 부분은 네트워크 관련된 신기술인데 총 21개 정도를 뽑아봤어요. 기존에 저희가 출제 기준 바뀌기 전에 정보처리 기사는 실기 과목의 it 신기술이라고 하는 파트가 주관식 단답형 문제로 출제가 됐어요. 그 주관식 단답형 출제됐던 문제들 기출문제들 중에 네트워크와 관련해서 출제되었던 내용들만 좀 선별을 했습니다. 개념 정도로만 정리하시면 될 것 같고, 암기할 필요성은 크게는 없을 것 같아요.
01:54
첫 번째 에드워크 네트워크이다. 에드웍 네트워크는 모바일 호스트만으로 구성되어진 네트워크입니다. 재난 현장과 같이 별도의 고정되어진 유선망을 구축할 수 없는 장소에서 모바일 호스트만으로 이용해서 구성하는 네트워크이고요. 망을 구성한 후에 단기간 사용이 되는 경우 유전망을 구성하기 어려운 경우에 적합하고요. 빠른 망 구성과 저렴한 비용이 장점입니다. 두 번째 저전력 블루투스 기술 비에너지 약어인데 블루투스 로우 에너지 일반 블루투스와 동일한 2.4gb 때의 주파수 대역을 사용하지만 연결되지 않은 대기 상태에서는 절전 모드를 유지한다. 그래서 주로 낮은 전력으로 저용량의 데이터를 처리하는 시계나 장난감 비콘 착용 컴퓨터 등 국소형 사물 인터넷에 적합한 기술이다. 세 번째 클라우드 컴퓨팅은 이거는 시험에 나올 확률이 좀 높아요.
02:53
클라우드 컴퓨팅은 각종 컴퓨팅 자원을 중앙 컴퓨터 즉 서버 컴퓨터에다가 서비스 컴퓨터에다가 두고 인터넷 기능을 갖는 컴퓨터뿐만 아니라 스마트폰도 대상이고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해서 컴퓨터 작업을 수행할 수 있는 것을 이야기입니다. 중앙컴퓨터는 복수의 데이터 센터를 가상화 기술로 통합한 대형 데이터 센터로 각종 소프트웨어나 데이터 보안 솔루션 기능을 보유하고 있고요. 서비스의 종류는 ios는 인프라 스트럭처 애저 서비스 기반이 되어지는 서비스 해당 어 걸레는요 기업 내에서 전산 부서를 별도로 안 둬요 관리자 정도만 두고요.
03:45
해당 외부의 클라우드 컴퓨팅을 이용해서 자원에 필요한 부분들을 이용하는 형태인데 거의 독자적으로 구축한 서버처럼 몽땅 다 사용할 수 있는 게 ios 서비스라고 보시면 되고 파스 서비스는 플랫폼이에요. 플랫폼 애저 서비스 개발 환경에 대한 제약사항이 있을 때 제공하는 업체마다 해당 그 자바 중심적으로 서비스 제공하는 업체가 있는가 하면 답넷 중심적으로 제공하는 업체들 있잖아요. 그런 경우에는 해당 자바 중심적으로 플랫폼을 제공하는 경우에는 자바 프로그램 언어로만 개발할 수가 있어요. 그래서 플랫폼 애저 서비스고 소프트웨어 애저 서비스는 일반 사용자들이 많이 접하는 웹브라우저만으로도 해당 사이트에 접속해서 브라우저 안에서 어떤 소프트웨어적인 작업을 수행할 수 있는 곳 구글의 드라이브 내에 구글 워드나 구글 해당 프레젠테이션이라든지. 또는 네이버 양식 있죠. 네이버 오피스 그러한 것들이 소프트웨어 서비스에 해당되어집니다.
04:43
다 클라우드단에서 서비스가 되어진다 서버단에서 지리 정보 시스템은 지리적인 제오 그래픽 인포메이션 시스템 야구를 제한했습니다. 지리적인 자료를 수집 분석 출력할 수 있는 컴퓨터 응용 시스템으로 위성을 이용해서 모든 사물의 위치 정보를 제공한다. 이 정도로만 하고 넘어갈게요 다섯 번째 지능형 초연결이다. 과학기술정보통신부 주관으로 추진 중인 사업인데 스마트시티나 스마트스테이션 등 4차 산업혁명 시대에 맞아서 새로운 변화에 따라 급격하게 증가하는 데이터 트래픽을 효과적으로 수행하기 위해서 시행되는 정보주관의 사업으로 기존의 초고속 통신망 광대역 통신망 빛인 광대역 융합망을 잇는 중장기의 네트워크 발전 전략이 되겠다. 여섯 번째 m2m m2m은요, 머신과 머신 간 이 말입니다. 사물 통신 신기술이고요.
05:40
무선 통신을 이용해서 기계와 기계 사이에 통신이 이루어지는 거 일례로 버스 운행 시스템이라든가 이런 거 있잖아요. 버스터미널에서 어 이거 버스가 지금 현재 어디에서 어디에 오고 있는가 그 정류장하고 버스 간에 통신이 이루어져서 지금 몇 정거장 전에 오고 있다. 그렇게 이해하시면 쉬울 것 같고, 뭐 그 외에 변압기 원격 감시라든지 전기 가스 원격 검침 등 어 무선으로요 통합하여 상호작용하는 통신이다. 이 정도로만 정리하겠습니다. iot iot가 요즘 많이 거론되어지고 있는 용어이기 때문에 시험에 나올 가능성도 높은 파트입니다. 인터넷 오브 띵스죠 사물인터넷입니다.
06:32
사물인터넷 정보통신기술을 기반으로 실생과 가상세계의 다양한 사물들을 사물들 간의 통신이 m2m이었는데. 이 iot는 뭘 기반으로 인터넷은요, 인터넷망을 이용해서 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술이다. 사물과 사물 간의 지중통신화 할 수 있는 m2m을 개념을 인터넷으로 확장 한거다 그리고 해당 iot의 이용 대상 자체는 사람과 사물 사물과 사물 등 해당 모든 대상을 다 포함한다. 이 정도로만 개념 정리하겠습니다. 여러 번째 메시 네트워크이다.
07:19
메시 네트워크는 차세대 인터넷 통신 차세대 이동통신 홈 네트워크 킹 공공안전 등 혁신 목적을 위한 새로운 방식의 네트워크 기술로 대규모 디바이스의 네트워크 생성에 최적화한 거다 무선 라인의 한계를 극복하기 위해서 라우터들을 기지국으로 활용했다는 특징이 있고요. 모든 구간들을 동일한 무선망처럼 구성을 했다. 이 정도로 정리하겠습니다. 그리고 모바일 컴퓨팅은 모바일 이용해가지고 해당 컴퓨팅 작업을 하는 것을 이야기합니다. 휴대용 기기로 이동하면서 자유로운 네트워크에 접속해서 업무를 수행할 수 있는 환경 넘어갈게요 열 번째 모바일 클라우드 컴퓨팅은 모바일 컴퓨팅 클라우드 컴퓨팅을 합친 거라고 보시면 되겠죠. 클라우드 서비스를 이용을 하는데 모바일 기기로 클라우드 컴퓨팅 인프라를 구성을 해서 여러 가지 정보와 자원을 공유하는 기술이다.
08:18
모바일 이동성과 클라우드 컴퓨팅의 경제성을 결합한 거다 이렇게 정리하겠습니다. 다음 mdn인데요. 네임드 데이터 네트워킹 데이터 이름을 붙였다. 콘텐츠 자체의 정보와 라우트 기능만으로 데이터 전송을 수행할 수 있는 기술이다. 기존의 네트워크망에서는 해당 패킷 단위별로 쪼개가지고 그 패킷에 다시 이 패킷은 어디에서 출발했고 목적지는 어디다 라고 하는 ip 헤드 정보 값들이 붙죠 기존의 ip망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있다. 이 정도로만 정리할까요? 해시 테이블 기반으로 p2p 시스템과 같이 콘텐츠에 담겨 있는 정보와 라우터 기능만으로 목적지를 확정할 수 있다. 옛날에는 이 p2p도 개념 문제로 나오긴 했는데 po2pa 같은 경우에는 컴퓨터가 서버 역할도 하고 클라이언트 역할도 하는 거가 p2p라고 보시면 돼요.
09:14
근데 해당 찾아가는 방식 자체가 주소 기반이 아니라 콘텐츠 자체의 정보와 라우트 기능만으로 데이터 전송을 수행하는 거 ndn 네임드 데이터 네트워크 다음 네트워크 슬라이싱 쪼갤다는 말이에요. 슬라이싱 분리한다는 말입니다. 3gpp는요 3세대 서드제너레이션 파트너 프로젝트로 이동 통신 관련 국제 표준을 위해서 각국의 통신 관련된 기관이 참여하는 기술 협력기구이고요. 3g pp를 포함한 여러 글로벌 이동통신 표준화 단체가 선정한 5g 핵심 기술 5g it 20020의 핵심 기술이다.
10:09
네트워크에서요 하나의 물리적 코어 네트워크 인프라를 다수의 가장 네트워크로 슬라이싱한다. 분리한다. 를 특징으로 삼는다 이렇게 정리하면 좋을 것 같아요. 다음 nfc는 어느 정도 일상에서 저희가 접하는 용어죠 건글이 무선통신 니오필드 커뮤니케이션 주로 모바일 결제 파트에서 활용이 되어지고 있는데, 고주파를 이용한 권고리 무선통신 기술이고요. rfid의 일종인데 rfid라고 하는 부분 자체는 레이스오 프리퀀시 아이덴피케이션 사물에 전자 테이그를 부착해서 무전 통신을 이용해서 사물과 주변 정보 간에 감지하는 센서 기술 rfid 부분입니다. rfid 기술의 일종인데 13.56mhz 주파수를 이용해서요.
11:04
10cm 내에 최고 424kbps의 속도로 데이터 전송이 가능하고 주로 모바일 기기 모바일 기기 결제 에 주로써 이용되어진다 이렇게 정리하겠습니다. 다음 ngn 넥스트 제너레이션 네트워크입니다. 차세대 통신망의 약어입니다. 넥스트 제너레이션 네트워크 itu it 국제전기통신연합위원회에서 개발하고 있는 유선망 기반의 차세대 통신망인데 유선망뿐만 아니라 유선요 무선 반대 유선 유선망뿐만 아니라 이동 사용자를 목표로 해서요. 이동통신에서 제공하는 완전한 이동성 이동성 제공을 목표로 개발되고 있습니다.
11:48
다음 피코네일 여러 개의 독립되어진 통신 장치가 블루투스 건거리 무선통신 블루투스 기술이나 uwb라던데 울트라 와이드 브랜드 초광대역 통신 기술 이용을 해서 통신망을 행사하는 무선 네트워크 기술 이다. 네트워크를 구성하는 장비 간에 사전에 네트워크의 정의와 계획 없이 상황에 따라서 조정 프로토콜에 의해서 마스터와 슬라이브의 역할을 하면서 네트워크를 형성한다. 마스터 슬라이브라든지 이런 특징이 포함되어진 게 피코넷을 설명하고 있는 문구입니다. stn이다. 소프트웨어 디파인 네트워크예요. 소프트웨어가 정의하는 네트워크이야 네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어로 네트워킹을 가상화하여 제어하고 관리하는 네트워크 소프트웨어 디파인 네트워크 이 정도로만 정리하겠습니다.
12:46
다음 son 셀프 오거나이징 네트워크 자동 구성 네트워크 주변 상황에 맞추어서 서로 망을 구성하는 네트워크야 이 정도로 말할게요 usn 유비쿼터 센서 네트워크는요 이거는 시험 나올 확률이 약간 높아요. 유비쿼터 센서 네트워크는 각종 센서 센서라는 키워드 기억하시면 좋을 것 같고, 각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트웍이야 필요한 모든 곳에 대신 rfid 태그를 부착하여 이를 통해가지고 사물의 인식 정보 및 주변 환경까지 탐지해서 네트워크에 연결하여 정보를 관리한다. 다음 uwb는 앞서서 간단하게 먼저 했어요. 울트라 와이드 밴드 초광대역을 뜻하고요. 짧은 거리에서 많은 양의 데이터 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술로 무선 디지털 펄스라고도 하고 블루투스와 비교되는 기술이다.
13:47
그리고 wban 야광입니다. 와이어리스 선이 없다구요. 무선 바디 에어리얼 네트워크다 웨어러블 웨어러블은 입을 수 있는 거잖아요. 입는 네 웨어러블 또는 몸에 씹는 형태의 센서나 기기를 무선으로 연결하는 개인영역 네트워크 기술이다. 이렇게 정리하겠습니다. 다음 와이썬 마지막입니다. 와이썬은 스마트 그리드 스마트 그리드라고 부르는 전기 생산부터 소비까지 전 과정에 정보통신 기술을 접목해서 에너지 효율성을 높이는 지능형 전력망 시스템을 스마트 그리드라고 하는데 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리 통신 기술이다. 이렇게만 정리하겠습니다. 간단하게요.
14:44
퀴즈 몇 개만 풀고 넘어갈게요 다음 중 사물인터넷에 대한 설명으로 옳지 않은 거 사물인터넷은 iot라고도 한다. 인터넷 오브 띵스 맞죠. 스마트 상징 기술과 무선 통신 기술을 융합하여 실시간으로 데이터를 주고받는 기술이야 오케이 사물인터넷 기반 서비스는 개방형 아키텍처를 필요로 하기 때문에 정보 공유에 대한 부작용을 최소화하기 위해서 정보 보안 기술의 적용이 중요하다 그렇습니다. 사물들이 다 인텔망으로 연결되어지니까. 해킹이라든지. 이런 것들을 통해서 cctv를 통해서 외부 사람들을 보면서 개인 사생활 침해라든지 이런 것들이 발생할 수도 있기 때문에 정보보안 기술에 대한 중요성이 더 높아질 겁니다.
15:36
사람을 제외한 사물과 공간 데이터 등을 인터넷 전설을 연결해 주는 무선 통신 기술을 의미한다가 틀렸는데 왜 틀렸냐 사람을 제외한 이라는 부분이 틀렸어요. 사람을 포함해서 사물과 공간 데이터 내에 포괄적으로 모든 걸 연결한다. 다음 다음에 설명하는 용어로 올바른 것은 모든 사물에 부착한 rfid 태그나 센서를 통해서 탐지된 사물의 인식 정보는 물론이고 주변의 온도 속도 위치 정보 압력 등과 같은 환경 정보를 실시간으로 네트워크와 연결하여 수집하여 관리하는 네트워크 시스템이야 여기서 키 포인트는 센서를 키포인트로 잡아서 보기 항목에서 골라보면은 유비쿼터 센서 네트워크 1번이 정답입니다. usn은 유비쿼터 센서 네트워크의 약어예요.
16:24
각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크망이 되겠고 gisn은 지리정보시스템 nfc는 건거리 데이터 통신 m2n은 사물통신 다음 파트로 네트워크 장비 라우터 백본 스위치 등에 대한 파트인데 라우터 부분은 최적의 경로를 배정하는 역할을 담당하는 네트워크 장비였죠 저희가 네트워크 7계층이나 이런 파트에서 많이 언급이 되었기 때문에 이 파트에서는 제가 100번 스위치 스위치 중심적으로 좀 더 내용을 정리해 드리도록 하겠고 해당 네트워크 세븐 레이어나 이런 파트에 설명 안 됐던 개념적인 측면에서 토폴로지 물리적 네트워크 망이나 네트워크 종류를 추가적으로 더 설명을 드리도록 하겠습니다. 기출문제 나왔던 거 우선 노출되지 않게 위해서 뽑았어요. 먼저 살펴보고자 하는 건 토폴로지인데요. 네트워크 설치 구조입니다.
17:21
이 토폴로지라는 것은 물리적인 물리적 구조를 뜻하는 겁니다. 물리적구조 네트워크의 물리적 구조 종류가 다섯 가지가 있는데요. 네 특징 위주로 종류 고를 수 있으면 돼요. 스타형이다. 얘는 한글로 하면 성형이다. 별형요 별묘처럼 되어 있어요. 중간에 허브 또는 컴퓨터가 배치되어지고요. 중간에 있는 얘가 다른 거하고 연결되어지는 가지가 이렇게 뻗어나가요 별이 빛을 발사하는 것처럼 허브의 모든 노드를 직접 연결하는 일반적 방법이야 일반 가정에서 이 방법을 사용할 겁니다. 문제 파악과 수리가 쉽지만 중앙 안에 있는 허브 또는 공유기가 고장이 나 버리면 전체 대통령이 마비될 수 있다고 하는 단점이 있고요. 버스 일상생활에서 버스를 생각하시면 돼요.
18:09
해당 도로를 타고 각 터미널 정류장 단위별로 사람이 태우고 가서 내리고 이렇게 처럼 모든 네트워크 노드를 하나의 주 간선 케이블로 연결을 했고 케이블 에 종전장치가 있다. 이렇게 형태는 버스 노선이라고 생각하시면 돼요. 다음 링형입니다. 고리형역 모든 컴퓨터들이 하나의 링으로 연결되어 있는 형태예요. 통신의 제어가 간단하고요. 신뢰성이 높지만, 문제가 발생했을 때 얘는요 단방향으로만 이렇게 한쪽 이쪽 방향이나 이쪽 방향으로만 이렇게 동시에 양방향으로 보낼 수는 없어요. 그런데 중간에 연결 지점이 끊어져 버리게 되면 해당 이쪽으로 갈 수 있는 길이 없어져 버리는 거죠. 이렇게만 갈 수 있는 거죠. a라는 컴퓨터에서 b라는 컴퓨터로 갈 수 있는 게 문제 파악과 유지 보수가 약간 어렵다 단점이고요. 트리형은요, 네 일반적으로 기업체는 이 트리망을 사용하는 편입니다.
19:08
하나의 컴퓨터와 네트워크를 연결해서 확장하는 형태 사무실이 이쪽 사무실 이쪽 사무실 이렇게 돼 있다면 외부에서 들어온 회선에서요 1층 사무실 레이어 다시 허브 장치에서 다시 컴퓨터로 다시 2층 허브 장치에 다시 컴퓨터로 이렇게 하나의 컴퓨터에서 네트워크를 연결하여 확장하는 형태의 네트워크 쪽은 쉬우나 확장이 많을 경우에 트로픽이 과중 많이 발생할 수 있다는 게 단점입니다. 마지막으로, 망령입니다. 링형을 계산한 거예요. 링형은 하나씩만 연결됐지만 네트워크 상의 노드들이 노드라고 하는 부분은 네트워크에 연결된 컴퓨터를 노드라는 표현을 씁니다. 해당 네트워크 연결된 컴퓨터들이 서로 각각 다 1:1로 다 연결되어지는 방식 그래서 특정 노드에 문제가 발생해도 다양한 우회 경로가 많이 생길 수 있어서 전송이 가능하다 하지만 구축 비용이 많이 발생하는 단점은 있어요.
20:07
다음 네트워크에 대한 분류입니다. 네트워크의 분류는 서비스 지역 단위별로 분류할 때 일반적으로 세 가지로 이렇게 분류를 합니다. 건거리 통신망 레인입니다. 로컬레이어리어 네트워크 회사나 학교 연구실과 같이 비교적 가까운 거리에 있는 컴퓨터 또는 프린트 간 자원을 연결하여 구성을 한다. 주로 자원 공유 목적으로 사용되어지고 권거리 통신망에는 주로 버스 연관 링 구조가 사용되어진다 다음 대도시망이다. 맨이라고 이야기를 하는데 메트로폴리티아 에어리얼 네트워크의 야근입니다. 권거리 통신망이 모여서요 대도시 규모로 연결되어진 게 맨이고요. 마지막으로, 광대형 통신망 이거는 이제 규모에 따른 분류를 세 가지로 할 때 마지막 광대형 통신망은 ydaer의 네트워크 망이에요. 국가와 국가 혹은 대륙과 대륙 간 멀리 떨어져 있는 어떤 연결을 하는 방식이다. 이렇게 보시면 될 것 같고요.
21:03
거리가 머니까 통신 속도가 느려지고 에러 발생률이 높을 수는 있겠죠. 부가가치 통신망은 시험에 자주 나왔기 때문에 추가시켜서 설명을 드립니다. 부가가치 밸류를 edid했다. 한 네트워크망이다. 그래서 벤이라는 용어를 씁니다. van 통신사업자의 회사원을 임차하여 단순한 전송 기능 이상의 부가적인 가치를 부여한 데이터 등 복합 서비스를 제공한다. 이렇게 특징 지을 수 있겠습니다. 다음 스위치요 네 스위치에 대해서 좀 더 살펴보면요 스위치의 분류는요 자 앞단에 저희가 네트워 세븐 레이어 할 때 스위치는 2단계에서 역할을 담당을 했고요. 어떤 렌과 레인을 연결해주는 역할을 한다라고 했었습니다.
21:53
그래서 보다 큰 렌을 만드는 장치야 osr 계층에서는 스위치는 어디에 해당되어져 그러면 2계층이라고 했는데 이 스위치를 좀 더 세분화시키면 이용되어지는 레이어에 따라서 2계층에 해당되는 게 l2 3계층에도 사용될 수 있어요. l3 4계층 전송 계층에도 사용될 수 있고요. 그다음에 l7은 응용 계층에도 사용될 수도 있다. l2 l3l4 l7으로 분류할 수 있는데, l2 스위치는 osa 2계층에 속하는 장비인데 일반적으로 스위치라고 하면 l2 스위치를 이야기합니다. map 주소를 기반으로 맥 주소라는 거는 랜카드 번호라고 보시면 돼요. 프레임을 전송한다.
22:37
동일 네트워크 간의 연결만 가능하다 l3 레이어는 l3 스위치는요 os와 7계층에 3계층에 해당되어진다 물리계층 데이터링크 계층 3계층은 네트워크 계층이죠. 네트워크 계층에 속하는 장비로 l2 스위치에 라우터 기능을 추가를 시켜서 ip 주소를 기반으로 패킷을 전송할 수도 있다. 서로 다른 네트워크 간의 연결이 가능하다 l4 스위치는 os7 계층 중에 4위층은 물리 계층 데이터링크 계층 네트워크 계층 전송 계층입니다. 전송 계층 트랜스포트 레이어 상위층에 해당하는 장비로 로드 밸런스가 달린 l3 스위치로 로드 밸런스는 특정 서버에만 부하가 발생하지 않도록 트래픽을 분석시켜주는 장비가 로드 밸런스고요.
23:26
로드 밸런스가 달린 l3 스위치로 ip 주소 및 tcp udp 기반으로 사용자의 요구를 서버의 부하가 적은 곳으로 배분하는 노드 밸런싱 기능을 제공한다. l4 스위치 전송기능이 내장되어진 추가되어진 스위치 l7 스위치는 osa 7계층은요, 공룡 계층이죠. 공룡 계층에 해당하는 장비로 ip 주소와 tcp udp 포트 정보의 패키지의 내용까지 참조해서 세밀하게 로드 밸런싱을 할 수가 있다. 스위치에 대한 세부 분류였습니다. 다음 스위치의 방식인데요. 스위치가 프레임을 전달할 때 이 프레임은 해당 데이터의 전송 단위죠 해당 데이터 링크 계층인 스위치에서는 프레임 단위로 데이터를 전송을 했었어요.
24:18
스위치가 프레임을 전달하는 방식에 따라서 스토어 저장하고 포워딩하는 전달하는 것과 커스트로 그리고 프레그먼트 프리로 나눠 놓는데 스토어 아인 포워딩은 데이터를 모두 받은 다음에 스위칭하는 방식이고요. 그리고 두 번째 컷소로는요 데이터를 목적지 주소만을 확인하고 바로 스위칭하는 방법 프레그먼트 프리는 스토어 앤 포워딩과 컷 스루의 장점을 결합한 방식이 프레그먼트 프리 방식입니다. 100번 스위치요 100번 스위치는 이 개념 문제로 나올 수 있어요. 100번 스위치 여러 네트워크들을 연결할 때 중추적 역할을 하는 네트워크를 100번이라고 한다. 척추라고 말씀드렸죠 100번이라고 하는데 100번 스위치 역할을 하는 장비를 100번 스위치라고 한다.
25:13
100번 스위치는 모든 패키지 질환은 가는 네트워크의 중심에 배치하고요. 대규모 트래픽을 처리하려면 고성능의 100번 스위치가 사용이 돼야 되고 주로 l3 스위치가 100번 스위치 역할을 담당한다. l3는 네트워크잖아요. 네트워크 계층 그래서 라우터의 기능을 추가시켜 가지고 경로 배정이라든지. 네 다음 하이어라키컬 3 레이어 모델이라고 네트워크 구축을 위한 하이어 라키컬 3 레이어 모델은 계층 구조를 3계층으로 해 놓았는데요. 여기가 제일 밑에 액세스 계층이고요. 사용하는 장비는 l2 스위치를 이용을 하고요. 사용자가 네트워크에 접속할 때 최초로 연결하는 계층이고 성능은 낮아도 되지만 포트 수는 사용자 수만큼 있어야 되고 사용자로부터 오는 통신을 집약해서 어디로 상위는 디스트리뷰션 계층으로 전송을 한다.
26:10
디스트리뷰션 계층에서 사용되는 배치 장비는 라우터와 l3 스위치 그리고 엑세지 계층에서 연결되어진 계층이고 엑세지 계층에서 오는 통신을 집하기 위해서 다시 상위 계층인 코어 계층으로 전송을 담당한다. 브로드캐스트의 도메일을 브롤러리 퀘스트 라우터를 배치를 하고요. 적절한 라우팅 보안 정책이 필요하고 보안된 필터민 서비스를 제공한다. 그리고 제일 상위가 코어 계층이에요. 코어 계층은 사용 장비가 100번 스위치를 사용하고요. 액세스 계층과 반대로 포트 수가 적어도 되지만 성능이 좋은 장비를 배치한다. 최대한 빠른 서비스 지원을 담당을 한다. 이렇게 정리할 수 있겠습니다. 자 문제를 정리해 볼게요 다음 레인의 네트워크 토폴로지 물리적 망 구성은 어떤 형인가 주어지는 게 주관선이 있고요.
27:09
그다음에 여기에 해당 컴퓨터들이 연결되어져 있다. 일상생활에서 버스 노션도의 해당 정류장 별 타고 내리고 이렇게 하는 것처럼 개념 잡으면 쉽게 고를 수 있는 문제 버스형입니다. 두 번째 통신사업자의 회선을 임차하여 단순한 전송 기능 이상의 부가가치를 부여한 데이터로 복합적 서비스를 제공하는 정보통신망 종류 4가지로 나눠서 살펴봤잖아요. 규모별로 근거리 통신망 대도시 규모 통신망 메인 관객 통신망 외인 마지막으로, 저희가 부가가치 중심망 브레인 밸류 eded network망 4번이 정답입니다. 가치를 붙였다고요. value edided network 다음 hylitical streenarior 모델에 대한 설명으로 틀린 거 디스트로비션 계층은 디스트리빌층 계층은 두 번째 상위 계층이었어요. 제일 밑에 계층은 액세스 계층이었고요.
28:08
그다음에 디스트리뷰션 계층 그다음에 코아 계층이었습니다. 디스트리뷰션 계층은 백봉 계층이라고 한다. 백봉 계층은 코아 계층이었어요. 코아 계층 그래서 1번 틀렸고 액세스 계층 디스트로비션 계층 코어 계층으로 분류하고 액세스 계층은 사용자가 네트워크에 최초 연결하는 지점이고 코어 계층은 인터넷에 연결하는 계층이야 맞습니다. 모의평가 문제 다섯 문제로 정리하겠습니다. 다음에서 설명하는 용어로 올바른 것은 인터넷을 기반으로 사람과 사람 사물 간의 정보를 상호 소통하는 지능력 기술 및 서비스를 말한다. 말한다. 인터넷에 연결되어진 기기가 사람의 개입 없이 상호 간에 알아서 정보를 주고받고 받아 처리할 수 있다. 사물인터넷이죠. iot intern 오브 띵즈에 대한 설명입니다. m2n은 사물통신이고 sdn은 소프트웨어 디파인 네트워크 rfid는 칩입니다.
29:07
내장칩 다음 다음 중 지리적으로 분산되어 있는 컴퓨터 자원을 초고속 인터넷망을 통해 격자 구조 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 사용하는 방법은 이 문제는요 제가 내용상에서 포함을 안 시켰는데요. 설명하면서 알려드리려고 기출문제입니다. 격자가 영어로 그리드예요. 그리드 그래서 이 힌트로 답을 고를 수 있어요. 그리드 컴퓨팅이 되겠습니다. 실이 조분산되어있는 컴퓨터 자료를 초고속망을 통해서 격자 구조로 연결해서 공유 이렇게 돼 있습니다.
29:50
유비쿼터스는 도처에 존재하지 않는 해당 네트워크 망 보이지 않는 네트워크망 가상 컴퓨터 클라우드 컴퓨터 다음 세 번째 다음에 설명하는 용어에 해당하는 것은 인터넷상에서 서버 및 회선 플랫폼 소프트웨어 등과 같은 정보 기술 자원을 소유하지 않고 서비스 형태로 빌려서 쓰는 방식이야 상식이라고 되어있는데, 빌려 쓰는 방식이다. 매우 큰 가상화되어진 컴퓨팅 환경이다. 가상화 기술이 요구되어지고요. 얘는 뭐냐면 하드웨어적인 부분 자체를 가상적으로 얘를 쪼개가지고 여러 사람들이 빌려 쓸 수 있는 공간을 할당하는 서버단에서 처리가 되어지는 클라우드 컴퓨팅을 설명하고 있습니다. 클라우드 컴퓨팅에 대한 설명입니다. 이거는 기억을 좀 하실 필요가 있으세요. 다음 중앙에 호스트 컴퓨터가 있고요. 이를 중앙에 이렇게 있고요.
30:44
이를 중심으로 해당 터미널들이 이렇게 연결되어 있는 망 구성 형태가 되겠냐 물리적 망 별처럼 보이죠. 성형입니다. 스타 영역 스타 3번이 정답입니다. 마지막 네 번째 l4 스위치에 대한 기능이 아닌 것은 스위치가 osr 레이어 중에 어디에 따라서 기능이 추가되어진다고 말씀드렸는데요. 4계층은 osa 7계층이요. 네 물리계층 그 다음에 1계층 2계층 데이터링크 반복해서 네 저희가 이거 osa 7계층은 꼭 알아주셔야 돼요. 이제 네트워크 표준 모델이에요.
31:31
3계층 네트워크 계층 4계층 트랜스포츠 전송 계층 5계층 세션 계층 6계층 표현 계층 프레젠테이션 7계층이 억류 계층 그렇게 돼 있단 말이에요. 4계층은 전송이에요. 전송 전달하는 거 대표적인 프로토콜 tcp하고 udp가 있었죠. 자 l4 스위치의 기능이 아닌 거 로드 밸런싱 기능을 제공합니다. 네 부하가 많은 부분은 이렇게 네 로드 밸런싱 전체적으로 유지하는 거 7cp udp를 기반으로 tlp 분류합니다. 맞구요. 패킷 내용을 참조해서 트리핑을 분배한다. 패킷에 대한 내용 참조하는 부분은 l7이었어요. l7 스위치가 패킷 내용까지 참조했습니다. 3을 틀렸고 사용자 요구를 서버의 부하가 적은 곳으로 배분한다. 부하를 밸런싱한다. 로드 밸런싱 기능 제공했죠. 내용 정리합니다.
32:31
두 파트로 크게 나눠서 살펴봤었어요. it 신기술 및 네트워크 장비 트렌드 정보 파트에서 살펴봤던 내용은 네트워크 관련된 신기술 총 21개 제가 뽑았었는데 다 함께 할 필요는 없고 그중에서도 이렇게 간단하게만 다시 용어 정리해볼게요 에드워크 네트워크가 있었구요. 그리고 클라우드 컴퓨팅 iot 사물인터넷 그리고 mnnn 네임드 네트워크 네임드 데이터 네트워크 ip 기반이 아니라 해당 콘텐츠 내용과 라우팅 기술 그리고 nfc 권고리 통신망 피코넷이 있었고, usn 센서 중심적인 유비쿼터스 네트워크 센서 네트워크였습니다. 네트워크 장비 라우터 100번 스위치 중에서 라우터는 저희가 뺐어요. 라우터는 앞단에서 다뤄가지고 라우터는 최적의 경로를 배정해주는 역할을 담당한다.
33:24
5에서 7개 층 중에 3계층 네트워크 계정에 해당되는 주요 장비야 이렇게 그리고 프로토콜이 서로 다른 거 네, 네이버 네트워크에서 레인과 레인을 연결할 때는 브릿지나 스위치 등이 사용이 되어졌었고요. 자 네트워크 토폴로이즈에 대한 부분을 저희가 물리적인 망 구성으로서요 별처럼 생긴 거 별형 버스형 링형 트리형 망령 이렇게 살펴봤고 그다음 네트워크의 분류로서요 규모에 따른 분류로서는 근거리 통신망 레인 대도시 통신망 맨 광대역 통신망 웬 그리고 밸류를 가치를 더한 거 웬 스위치의 종류는 osr 7계층의 종류별로 l2 l3 l4 l7 스위치가 있었고, 하이아티컬 3 레이어 모델로서는 액세스 계층 디시비션 계층 코어 계층이 있었습니다. 이상으로 네트워크 구축 관리에 대해 살펴봤습니다.
34:19
it 프로젝트 정보 시스템 구축 관리 두 번째 소프트웨어 구축 관리에 대해 살펴보도록 하겠습니다. 학습 목표는 소프트웨어와 관련되어진 it 신기술의 종류와 특징을 이해한다. 두 번째 소프트웨어 개발 보안의 개념과 보안 관련 기관 및 소프트웨어 개발 프로젝트의 참여자별 보안 활동 역할에 대해 이해하도록 하겠고요. 마지막으로, 소프트웨어 개발 보안 활동 관련 법령 및 규정에 대해 살펴보도록 하겠습니다. 학습할 내용은 두 파트로 나눠서 it 신기술 및 소프트웨어 개발 트렌드 정보 두 번째 소프트웨어 개발 보안 정책에 대해 알아보도록 하겠습니다.
35:03
용어 사전으로서는 소프트웨어 개발 보안 정책이란 소프트웨어의 개발 과정에서 발생할 수 있는 보안에 대한 취약점을 최소화하여 보안의 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동이라고 정의할 수 있겠습니다. it 신기술 및 소프트웨어 개발 트렌드 정보인데요. 이 파트는 ncs 학습 모듈하고는 관련성이 좀 떨어집니다. 시험 출제 기관에서 출제 기준에 추가시킨 내용인데 기존의 정보처리기사 실기 파트에 it 신기술이라는 용어를 물었거든요. 그 부분에 대한 기출문제로 활용하고자 추가시킨 거라고 이해가 되어지고 기존에 출제되었던 문제의 용어 위주로 정리해 보도록 하겠습니다. 소프트웨어 관련 신기술인데요. 총 스무 개 정리할게요 첫 번째 인공지능 시험에 나올 확률이 높습니다. 자주 사용하는 용어들이니까요?
36:03
인공지능이란 컴퓨터 스스로 인간의 두뇌와 같이 추론 학습 판단 등 인간 지능적인 작업을 수행할 수 있는 시스템이라고 정의할 수 있겠고요. 인공지능의 응용 분야에는 신경망이나 퍼지라는 부분 자체는 인간의 말이나 의미 사고 측정에 대한 본질적 포함되어 있는 애매모호한 함을 수학적으로 다루는 이론이 퍼지 이론이 되겠고 그리고 패턴 인식 전문가 시스템 자연어 인식 이미지 처리 컴퓨터 시각 로봇 공학 등에 응용되고 있고 인공지능을 개발한 프로그래밍 랭귀지로서는 리스프와 프롤로그 등이 있겠습니다. 우선 개념 정리 중심적으로 문제가 나왔을 때 용어를 고를 수 있는 정도로 학습하시면 돼요. 두 번째 증강현실 증강현실도 시험에 나올 확률이 높습니다. 오그멘티드 리얼리티입니다. 리얼리티에다가 덧붙였다고요.
37:01
증강 가상현실 상대적인 용어인데 가상현실이라는 버추얼 리얼리티입니다. 실제로 존재하지 않는 거죠. 이미지나 주변 환경 채색 등 모두가 가상적인 이미지로 만들어진 것인데에 비해서 이 증강현실이라는 것은 뭘 베이스로 했다. 현실을 베이스로 한 겁니다. 실제 있는 것을 베이스로 즉 기반으로 해서요. 거기에다가 정보를 추가해서 제공하는 기술이 되겠고 대표적인 게임 있죠. 포켓몬스터라는 게임 같은 경우에는 현실의 지리적 위치에 기반으로 포켓몬스터 게임을 덧붙여가지고 증강현실의 대표적인 콘텐츠가 되겠고요. 활용 분야로는 게임 교육 오락 패션 등 다양한 분야에 응용이 가능하겠습니다. 가상현실과 비교해서 경영실의 차이는 리얼리티 현실을 기반으로 만들어진 거다 세 번째 블록체인입니다. 블록체인은 비트코인과 같은 가상화폐가 많이 이슈화되어지면서 알려진 용어인데요.
38:00
비트코인과 분산 장부다 p2p 네트워크를 이용해서 po2po는 컴퓨터가 클라이언트 및 서버 역할을 같이 하는 거죠. po2po 네트워크를 이용해서 온라인 금융 거래 정보를 온라인 네트워크 참여사의 디지털 장비에 디지털 지갑이라고도 하는데 디지털 장비에 분산 저장하는 기술이다. 기존의 금융 회사들이 사용하고 있는 중앙 집중형 서버에 거래 정보를 저장할 필요가 없고 그렇다 보니까 관리 비용이 절감되어진다 그리고 분산 저장되어지기 때문에 해킹에 대한 위험이 더 낮아질 수 있다. 해킹이 어려워질 수 있다. 보안이나 거래 안정성이 향상된다. 대표적인 사례는 가상화폐 비트코인이 있겠습니다. 네 번째 공통 평가 기준 compon 크라이케어리오 iso 15480 표준으로 408 표준으로 채택되어진 정보보호제품평가기준입니다.
38:53
정보보호제품평가기준 정보화의 순기능 역할을 보장하기 위해서 정보화 제품의 정보 보호 기능과 이에 대한 사용 환경 등급을 정한 기준이 되겠습니다. 다섯 번째 복잡 이벤트 처리 cap 약어인데요. 컴플렉스 이벤트 프로세싱 실시간으로 발생하는 많은 사건적 이벤트들 중에 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법이 되겠습니다. 검융이라든지. 통신 전력 물류 국방 등에서 대용량의 데이터 스트림에 대한 요구에 실시간적으로 대응하기 위해서 개발된 기술이었고요. 미들웨어에 접속을 하게 되면 기업이 독자적으로 실시간 애플리케이션 개발도 가능하겠다.
39:49
미들웨어라는 용어는 소프트웨어와 하드웨어의 중간단 미들웨어 운영체제와 또는 해당 운영체제에 의해 실행되어지는 어 응용 프로그램 사이에서 방금 말씀드렸듯이 소프트웨어와 하드웨어 중간은 펌웨어였고 미디어웨어는 다른 개념이죠. 미디어웨어는 운영체제와 해당 운영체제에 의해 실행되어지는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적으로 서비스를 제공하는 소프트웨어를 뜻합니다. 저희가 학습했던 예제 중에는 왓스도 미들웨어였고요. 웹 애플리케이션 서버 같은 경우도 다음 딥러닝 딥러닝은 깊게 학습한다. 말이죠. 인터넷 두뇌를 모델로 해서요. 인공식량망을 기반으로 기계학습하는 기술이다. 많은 데이터를 이용해서 컴퓨터가 마치 사람처럼 스스로 학습 러닝에 포커스를 두시면 될 것 같아요.
40:43
앞서 살펴봤던 ai 같은 경우는 인공지능망이고요. 여기는 딥러닝 컴퓨터가 마치 사람처럼 스스로 학습할 수 있어 특정 업무를 수행할 때 정형화된 데이터를 입력받지 않고 스스로 필요한 데이터를 수집 분석하여 고속으로 처리가 가능하다 일곱 번째 디지털트윈 트윈이라는 건 상둥이라는 말이잖아요. 현실에 있는 사물을 소프트웨어로 가상화한 모델을 뜻하고 자동차나 항공이나 에너지 국방 헬스케어 등 여러 분야에서 활용 가능하고 현실 속의 사물을 대신해서 다양한 상황을 모의 실험하기 위한 용도로 사용된다. 여덟 번째 엑스퍼트 시스템 전문가 시스템 주로는 의료 같은 경우에 보면 다양한 치료 케이스들이 있죠. 그리고 법률적인 부분들도 그렇고 다양한 사례집들이 있는데, 그걸 다 함기할 수는 없잖아요.
41:38
의료진단 등과 같이 특정 분야의 전문가가 수행하는 고도의 업무를 지원입니다. 서포트하기 위한 컴퓨터 응용 프로그램이 되겠고요. 인간의 지적 활동과 경험을 통해서 축적되어진 전문가의 지식과 전문가에 의해 정의되어진 추론 규칙을 활용해서 결정하거나 문제를 해결할 때 스포트 도움을 받을 수 있는 시스템이 되겠습니다. 다음 아홉 번째 그레이웨어입니다. 웨어라는 건 장치 소프트웨어 하류웨어 그레이웨어라는 부분은 회색 장치 소프트웨어 개념인데요. 소프트웨어를 제공하는 입장에서는 악의적이지 않은 거야. 정상적인 소프트웨어야 라고 주장할 수 있지만 사용하는 사용자 입장에서는 이게 유용한 프로그램일 수도 있고 그렇지 않고 악의적일 수도 있다.
42:37
그러한 케이스가 에드웨어나 스파이웨어나 기타 이러한 것들이 되겠는데 즉 그럴웨어는 정상적인 소프트웨어를 화이트 백색으로 봤을 때 악성 소프트웨어를 흑색으로 하면 섞어가지고 중간적이라는 측면에서 그레이웨어라는 용어를 씁니다. 즉 어떤 사람 입장에서는 이게 유용할 수도 있고 어떤 사람의 입장에서는 악의적인 어떠한 소프트웨어가 될 수도 있다라고 분류할 수 있는 거 중간적 성격의 소프트웨어 다음 해시입니다. 해시는 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환한다. 암호화 알고리즘 종류 중에서도 보면 해시라는 게 있었는데, 실제 이 해시 알고리즘은 복호화가 안 돼요. 그렇기 때문에 궁극적인 목적 자체는 해시는 무결성 검정을 위한 방법으로 사용되어집니다. 무슨 말이냐 해당 데이터를 전송하는 과정에서 a가 b한테 보냈는데 그 과정상의 어떤 변경이 있다. 없다. 적인 부분을 체킹할 수 있는 용도로 사용이 되어집니다.
43:36
그래서 얘는 대칭 및 비대칭 암호화 기법하고 같이 사용이 되어져서요 전자화폐나 전자서명 등 다양한 방면에서 활용되고 있다. 다음 메시업입니다. 메시업 같은 경우에도 이것도 시험에 나올 확률이 조금 높습니다. 메시업은 개념이 웹에서 제공하는 정보나 서비스를 이용을 해서 새로운 소프트웨어나 서비스 데이터베이스 등을 만드는 기술이다. 예를 보면 구글 맵스 구글 지도 있죠. 그 구글 지도 해당 db에 추가적인 부동산 매물 정보를 추가 결합해 가지고 네 새로운 어떤 데이터베이스를 만든 얘가 구글 하우딩 맵이 되겠는데요. 다수의 정보원이 제공하는 콘텐츠를 조합해서 새로 만드는 게 아니라 하나의 새로운 서비스로 제공하는 웹사이트 또는 애플리케이션을 뜻합니다.
44:28
열두 번째 오픈 그리드 서비스 아키텍처 ogsa 오픈 그리드 서비스 아키텍처 애플리케이션 공유를 위한 웹서비스를 그리드상에서 제공하기 위해 만든 개방형 표준이다. 그리드라고 하는 부분은 격자를 이야기하는 거죠. 한 번에 한 번에 한 번만 연결할 수 있던 기존의 웹과는 달리 동시에 여러 곳에 연결할 수 있는 인터넷망 구조를 그리드라고 이야기를 합니다. 그래서요 ogsa 같은 경우에는 ibm을 비롯한 수백 개의 기업이 회원으로 가입하고 있는 글로벌 그리드 포럼이 개발을 주도하고, 있고 웹 서비스 표준을 적극적으로 따르고 기존의 웹 개발 툴대로 그대로 사용 가능하다 라고 하는 특징도 있습니다.
45:15
열세 번째 개인정보 강화 기술 pet라든지 프라이버시 인핸싱 테크놀로지 개인정보를 인핸싱하는 기술 근래에 심각하게 위험이 대두되고 있는 개인정보에 대한 침해 위험을 관리하기 위한 핵심 기술이다. 암호화나 익명화 등 개인정보를 보호하는 기술에서 사용자가 직접 개인정보를 통제하기 위한 기술까지 다양한 사용자 프라이버시 보호 기술을 통칭 전체 아울러서 지칭합니다.
45:49
14번 개인정보 역량평가제도 pai 프라이버시 임팩트 어세스먼트 개인정보 영향평가제도 pai pia와 pia 프라이버시 임팩트 어세스먼트 개인정보 활용하는 새로운 정보 시스템의 도입 및 기존의 정보 시스템의 중요한 변경이 이루어질 때 시스템 구축 운영 및 기업의 고객은 물론 국민의 사정에 미칠 영향에 대해서 미리 조사 분석 평가하는 제도가 되겠습니다. 평가 제도가 됩니다. 개인정보 영향이 미치는 게 어느 정도인가? 열다섯 번째 양자 암호화 분배입니다. 양자 quantumky destribution인데요. 양자 통신을 위한 비밀키의 분배 관리 기술이라 양자라는 부분은 물리학에서 상호작용과 관련되어진 모든 물리적 독립체의 최소 단위가 된다.
46:45
보안이 필요한 두 시스템에 양자 암호키 분배 시스템을 설치 운영함으로써 두 시스템은 암호 알고리즘 동작이 필요한 비밀키를 안전하게 공유 그리고 양자키 분배에 의해 얽힌 상태 광자 쌍을 이용하여 단일 광자를 이용하는 방법이 있다. 네 해당 키 자체에 양자라고 하는 키워드가 있으면 고를 수 있는 정도로 익혀 놓으시면 될 것 같아요. 그리고 열여섯 번째로, 리치 인터넷 애플리케이션인데 지금은 서비스가 저물고 있는 플래시 애니메이션이요. 플래시 애니메이션과 웹서버 애플리케이션 기술을 통합해서 기존의 html보다 보다 역동적으로 다이내믹한 인트러티브한 웹페이지를 제공하는 개념의 웹페이지 제작 기술이 리치 인터넷 애플리케이션이 되겠습니다. 시멘틱 웹 시험에 나올 확률이 높아요.
47:44
시멘틱 웹은 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공까지 해서 새로운 정보를 만들어 낼 수 있는 의미론적인 웹이라는 의미를 가지는 차세대 지능형 웹이 되겠습니다. 이렇게 정리할게요 다음 18번 서비스 지향 아키텍처 서비스 오리엔티드 아키텍처 약어로 soa가 되겠고요. 정보 시스템을 공유 및 재사용이 가능한 서비스 단위나 공유나 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처가 되겠습니다. soa는 비즈니스 로직과 기술을 추상화하여 도메인 간의 느슨한 결합을 유도한다. 19번 소프트웨어의 에스쿠로 에스쿠로는 예치대조예요.
48:41
해당 전자상거래에서 보면 대금은 지불했는데 물품이 엉뚱한 게 온다든지 그런 것들을 막기 위해서 해당 대금 자체를 직접 주지 않고 에스쿠로 예치금 제도 운영하는 언행이나 이런 데 맡겼다가 제대로 받았어. 할 때 주는 소프트웨어 에스크로 제도는 소프트웨어 개발자의 재산권을 보호하고 사용자는 저렴한 비용으로 소프트웨어를 안정적으로 사용 및 유지보수 받을 수 있도록 소스 프로그램과 기술 정보 등을 제3자 기관에 보관하는 것을 뜻하고요. 마지막으로, 증발품이다. 베이퍼그레이어 같은 경우에는 판매 계획 및 배포 계획은 발표했는데 실제적으로 고객한테는 판매되거나 배포되지 않고 있는 소프트웨어를 뜻합니다. 자 빠르게 20개의 해당 용어별 문구 정리해 봤는데요.
49:29
시험 문제 퀴즈로 정리해 볼게요 컴퓨터 스스로 인간의 두뇌와 같이 추론과 학습과 판단 등 인간 지능적인 작업을 수행하는 시스템은 무엇인가 인공지능 매시업 서비스 소표와 증강현실 중에 인공지능이 되겠죠. 컴퓨터 스스로 인간의 두뇌와 같이 추론 학습 판단하는 인간지능적 작업 인공지능 두 번째 다음에서 설명하는 최신 정보 기술로 올바른 걸 골라라 컴퓨터가 정보들 사이의 연관성을 이해하고 처리할 수 있는 에이전트 프로그램을 통해 사용자가 원하는 정보를 찾아 제공한다. 컴퓨터들끼리 정보를 주고받으며 자체적으로 필요한 일을 처리할 수 있고 차세대 지능형 웹이다. 마지막 설명이 제일 키포인트예요. 차세대지능형 웹 시멘틱 웹을 설명하고 있습니다.
50:24
시멘틱 웹 의미론적인 정보를 유추하는 웹 3번 소프트웨어와 관련되어진 신기술 설명이 틀린 거 해시는 데이터 암호화가 아닌 무결성 검증을 위한 방법으로 사용되어진다 전송 간의 수정 사항이 있는지 없는지를 체킹하는 목적 설명 맞고요. 증강현실은 이미지 주변 배경 객체 모두를 가상의 이미지로 만들어서 보여줘라고 되어 있는데요. 이 설명 문구는 증강현실이 아니라 가상현실에 대한 설명입니다. 그래서 예가 틀렸습니다. 증강현실은 현실을 기반으로 정보를 추가한 것 증강 시신은 컴먼 퀄리티어리어 정보의 순기능 역할을 보장하기 위해 정보화 제품의 정보 보호 기능과 이에 대한 사용자 환경 등급을 정한 기술이 맞고요.
51:22
마지막 매시업은 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스 데이터베이스 등을 만드는 기술이다. 맞는 설명입니다. 다음 두 번째 파트 소프트웨어 개발 보안 정책에 대해 살펴보도록 하겠는데요. 소프트웨어 개발 보안 정책은 개념이 소프트웨어 개발 과정에서 발생할 수 있는 보안에 대한 취약점을 낮추자 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 1년의 보안 활동을 뜻합니다. 소프트웨어 개발 생명주기 소프트웨어 디벨먼트 라이프 사이클 각 단계에서 요구되는 보안 활동을 수행해서 안전한 소프트웨어 개발하는 것을 목적으로 한다. 나중에 저희가 챕터 20 챕터에 보면 해당 소프트웨어 보안 정책과 관련해서 구체적으로 시큐어 stlc에 대해 살펴볼 거예요. 보안 소프트웨어 개발생명주기에 대해 살펴볼 겁니다. 그와 연관된 내용입니다.
52:20
소프트웨어 보안에 대한 취약점이 발생하는 경우는 어떤 경우일까? 보기 항목 5개 나와 있으니까 문제와 내기 수월하겠죠. 사지선답형으로 객관식이 나오니까 보안 취약점이 발생할 수 있는 경우 첫 번째 보안 요구사항이 정의되어 있지 않은 경우 두 번째 소프트웨어 설계 시 논리적인 오류가 포함되어 있는 경우 물리적 오류가 아니라 논리적 오류입니다. 소프트웨어 설계시 기술 취약점을 갖고 있는 코딩 규칙을 적용한 경우 소프트웨어 배치가 적절하지 않은 경우 보안 취약점 발견할 때 적절하게 대응하지 못하는 경우가 소프트웨어 보안 취약점이 발생하는 경우가 되겠습니다. 다음 소프트웨어 개발 보안과 관련된 기관에 대해 정리해보도록 하겠는데요. 소프트웨어 개발 보안과 관련되어진 활동 주체인 정책기관은 행정안전부입니다.
53:15
행정안전부가 소프트웨어개발 보안 관련되어진 활동 주체입니다. 과학정보통신부가 아니라 행정안전부입니다. 발주기관은 행정기관이 되겠고 전문기관은 한국인터넷진흥원이 관련되어진 전문기관이고 그리고 개발기관인 사업자 그리고 보안 약점을 진단하는 감리법인 총 관련 활동 주체는 다섯 개가 되겠고요. 해당 각 활동 주체별 역할적인 부분은 행정안전부는 해당 소프트웨어 개발 보안 정책을 총괄합니다. 그래서 관련되어진 보안 법규나 지침이나 제도를 정비하고 소프트웨어 보안 약점 진단원 양성 및 관련 업무를 수행합니다. 전문기관인 한국인터넷진흥원은요, 키스 아닙니다.
54:11
약어가 소프트웨어 개발 보안 정책 및 가이드업 소프트웨어 개발 정책 및 가이드 개발 그리고 소프트웨어 개발 보안 기술 지원 교육과정 및 자격 제도를 운영합니다. 발주기관 소프트웨어 개발 보안 계획을 수립하고 소프트웨어 개발 보안 능력을 갖춘 사업자 및 감리 법인을 선정하고 소프트웨어 개발 보안의 준수 여부를 점검합니다. 그리고 사업자 참여하는 실제적으로 사업을 진행하는 사업자는 소프트웨어 개발 보안 관련 기술 수준 및 적용 계획을 명시하고 개발 인력 대상으로 소프트웨어 개발 보안 관련 교육을 실시하고 소프트웨어 개발 보안 가이드를 참조해서 개발과 자체적으로 보안 약점 진단 및 제고 그리고 보안 소프트웨어 보안 약점 관련 시정 요구를 이행합니다. 마지막으로, 감리 법인 진단원은요, 감리 계획 수립 및 협의 진단원을 활용하여 소프트웨어 보안의 약점을 제고 약점이 제거되어졌는지 여부 진단 그리고 조치 결과를 확인하는 역할을 담당합니다.
55:08
네 소프트웨어 개발 역할별 보안 활동에 대해 살펴보면 소프트웨어 개발에 참여하는 다양한 역할자들 별 보안 활동은 어떤 것들을 담당해야 되느냐 먼저 프로젝트 관리자입니다. pm인데요. 해당 프로젝트를 진행하는 총괄자죠 응용 프로그램에 대한 보안 전략을 누구에게 구성원들에게 설명하고 그리고 프로젝트 일정 및 보안 위험에 대한 상관관계와 같은 것들에 대한 보안의 역량을 이해시키고 누구한테 구성원들한테 그리고 조직의 상태를 모니터링하는 역할을 담당합니다. 프로젝트팀을 이끌어 가야 되는 관리자니까 그리고 소프트웨어 요구사항에 대한 분석과 요구사항 분석가는요 아키텍트가 고려해야 할 보안 관련되어진 비즈니스 요구사항을 설명하고요.
55:58
키포인트 요구사항 프로젝트 팀이 고려해야 할 구조에 존재하는 보안 요구사항과 뮤지케이션에 대한 보안 고려 사항을 기반으로 잘못되어진 오용의 사례를 정의합니다. 세 번째 아키텍트는 보안 오류가 발생하지 않도록 보안 기술 문제를 충분히 이해하고 시스템에 사용하는 모든 리소스 정의 및 각 리소스별로 적절한 보안 요구 사항을 적용하는 역할을 담당합니다. 네 번째 설계자 디자이너는 특정 기술이 보안 요구 사항을 만족하는지 확인하고 애플리케이션 보안 노력에 대한 품질 측정을 지원하고 많은 비용을 필요로 하는 수정 요구 사항을 최소화하기 위한 방법을 제공하고 타사의 소프트웨어 통합할 때 발생 가능한 보안 위험을 이해 및 식별되어진 보안 위협에 적절히 대응하는 역할을 담당하고요.
56:55
실제적으로 진행하는 구현 개발자는 구조화되어진 소프트웨어 개발 환경에서 프로그램을 원활히 구현할 수 있도록 시큐어 코딩 표준을 준수 그리고 제3자가 소프트웨어 안전 여부를 쉽게 판단할 수 있도록 문서화하는 작업을 담당합니다. 그리고 테스트 분석가 테스트 분석가는 소프트웨어 개발 요구사항과 구현 결과를 반복적으로 확인하고 테스트 그룹이 반드시 보안 전문가일 필요는 없지만, 전반적인 내용에 대한 학습 및 툴에 대한 사용법은 숙지할 필요가 있겠다. 마지막으로, 보안감사자입니다. 보안감사자는 프로젝트 전체적인 단계에서 활동을 합니다. 소프트웨어 개발 프로젝트에 대한 현재 상태의 보안을 보장하고요. 요구사항 검토할 때 요구사항의 적합성과 완전성을 확인하고 또 설계 단계에서는 보안 문제가 이어질 수 있는지 확인하고 구현 단계에서는 보안 문제가 있는지 확인합니다.
57:53
마지막으로, 관련 법령 및 규정에 대해 살펴보도록 하겠는데요. 소프트웨어 개발 보안과 관련되어진 다양한 법령들이 있는데, 이 중에서 개인정보보호법은 꼭 알아놓으셔야 될 부분입니다. 개인 정보의 처리 및 보호에 관한 사항을 정함으로써 개인의 자유와 권리를 보호한다. 그리고 두 번째도 정보통신망 이용촉진 및 정보보호 등에 관한 법률도 알아놓을 필요가 있습니다. 정보통신망의 이용촉진 및 정보통신서비스 이용자들에 대한 개인정보를 보호한다. 그리고 나머지 부분은 해당 설명 문구로 이렇게 구별할 수 있는 정도로 신용정보의 이용 및 보호에 관한 법률은 개인의 신용정보 효율적 이용과 체계적 관리 그리고 위치 정보 위치라는 키워드가 들어가겠죠. 개인 위치 정보의 안전한 이용 환경 조성 그리고 표준 개인정보 보호 지침은 개인 정보 처리에 관한 기준 개인정보 침해 유형 예방조치 등에 대한 세부사항을 규정하고 있고요.
58:52
개인정보의 안전성 확보 조치 기준 개인정보 처리자가 개인정보를 처리함에 있어서 분실이나 도난이나 유출 변조 훼손되지 않도록 안전성을 확보하기 위해 취해야 하는 세부적인 기준을 규정하고 있습니다. 네 보안법령 마지막 개인정보 역량평가에 관한 고시 개인정보 역량평가를 위한 평가기관의 지정과 역량평가의 절차 등에 관한 세부 기준을 규정하고 있습니다. 그리고 it 기술 관련 규정으로서는 rfid 프라이버시 보호 가이드라인 rfid는 해당 사물인터넷이라든지. 이러한 부분에서 내장되어진 칩들에 대한 부분인데요. 여기에 어떤 정보가 내재되어 있죠.
59:42
rfid 시스템의 이용자들의 프라이버시를 보호하고 rfid 이용 환경을 조정하기 위한 가이드라인이 되겠고 위치 정보의 관리적 기술적 보호 조치 권고 해설서 그리고 바이오 정보 가이드라인 개인 바이오 정보에는 홍채라든지 지문이라든지. 저희가 자주 사용하는 그러한 부분들이 있겠죠. 개인 바이오 정보의 보호와 안전한 활용을 위한 원칙 및 조치사항 마지막으로, 뉴미디어 서비스 개인정보 보호 가이드라인이 있다. 이 정도로만 하고 문제로 한번 정리해 보도록 하겠습니다. 첫 번째 다음 중 소프트웨어 보안 취약점이 발생하지 않는 경우는 아까 5가지가 있었거든요. 보안 요구사항이 정의되지 않은 경우 맞겠고 소프트웨어 설계할 때 제가 아까 정리를 했는데 논리적 오류가 포함되어 있는 경우인데 여기는 물리적 오류가 포함된 경우라고 돼 있기 때문에 얘가 틀렸습니다.
1:00:32
소프트웨어 보안 취약점이 발생한 경우는 소프트웨어 설계 시 논리적 네 물리적이 아닌 논리적 오류가 포함된 경우 그리고 기술 취약점을 갖고 있는 코딩 규칙 적용한 경우와 보안 취약점 발견 시 적절하게 대응하지 못한 경우는 맞는 경우입니다. 다음 다음 소프트웨어 개발 관련 소프트웨어 개발 보안과 관련되어진 활동 주체가 아닌 경우는 아까 5가지 활동 주체가 있었는데요. 발주기관 인터넷 진흥원 감리법인 그리고 사업자도 있었고요. 정책기관은 산업통상자원부가 아니고 행정안전부였어요. 행정안전부 그래서 4번이 틀렸습니다. 다음 중 다음과 같은 직무를 수행하는 플렉스 참여단은 고도로 구조화되어진 개발 환경에서 프로그램을 구현하기 위해 시큐어 코딩 표준을 준수하여 개발한다. 이것만으로도 고를 수 있겠는데요.
1:01:31
구현 개발자에 대한 설명이 되겠습니다. 추가적인 역할은 제3자가 소프트웨어 안전을 확 여부를 쉽게 판단할 수 있도록 문서화하는 작업도 담당을 합니다. 네 번째 다음이 설명하는 소프트웨어 개발 보안 관련되어진 규정은 지문 홍채 음성 개인을 식별할 수 있는 신체적 또는 행동적 특징에 관한 정보는 바이오 정보가 되겠죠. 바이오 정보 보호 그리고 안전한 활용을 위한 원칙 및 조치 사항 안내 목적을 한다. 보기 항목 중에 세 번째 바이오 정보 보호 가이드라인이 되겠습니다. 모의평가 문제 다섯 문제로 정리하겠습니다. 첫 번째 소프트웨어를 제공하는 입장에서는 악의적이지 않아 그런데 사용자의 입장에서는 유용할 수도 아닐 수도 있는 소프트웨어는 회색 그레이웨어가 되겠습니다.
1:02:30
다음 인간의 두뇌를 모델로 만들어진 인공 신경망을 기반으로 하는 기계 학습 기술 러닝이라고 했죠. 시멘트 웹 딥러닝 메시업 블록체인 중에 딥러닝이 되겠습니다. 2번이 정답이고요. 다음 세 번째 다음 중 소프트웨어웨어 개발 보안에 대한 설명으로 틀린 것은 첫 번째 소프트웨어 개발 보안의 목적은 데이터의 기밀성 무결성 가용성이다. 이게 소프트웨어의 필수 3요소가 되겠습니다. 소프트웨어 필수 3요소는 기밀성 무결성 가용성입니다. 나중에 저희가 다시 시큐어 파트에서요 저희가 다룰 건데 세 가지 보안 목적이다. 소프트웨어 개발 보안 목적 맞고요. 소프트웨어 개발 보안은 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동이다. 맞죠.
1:03:28
세 번째 보안 활동은 소프트웨어 개발 생명 주기의 개발 단계에서만 수행한다. 이게 틀렸습니다. 보안 활동은 소프트웨어 개발 생명 주기 전체 단계에서 수행을 다 합니다. 요구사항 분석 설계 구현 그다음에 테스트 유지 보수 전 단계에 대해서 기술 취약점을 가지고 있는 코딩 규칙을 적용한 경우에는 소프트웨어 취약점이 발생할 수 있죠. 네 번째 다음과 같은 직무를 수행하는 프로젝트 참여자는 응용 프로그램에 대한 보안 전략을 팀 구성원들한테 전달한다. 프로젝트 일정 및 보안 위험의 상관관계와 같은 응용 프로그램에 대한 보안 역량을 이해시키고 조직의 상태를 모니팅하는 역할을 담당하는 부분은 팀을 관리하는 팀 프로젝트 관리자가 되겠습니다.
1:04:15
프로젝트관리자 다섯 번째 정보처리에 개인정보의 처리 및 보안에 관련된 사항을 정함으로써 개인의 자유와 권리를 보호하는 것을 목적으로 하는 것은 개인정보처리 보호 개인정보보호법이 되겠습니다. 내용 정리하면 두 파트로 나눠서 살펴봤는데요. 첫 번째 it 신기술 파트 중에서도 소프트웨어 개발과 관련되어진 it 신기술 및 소프트웨어 개발 트렌드 정보 총 20개 관련되어진 신기술을 살펴봤는데 그중에서 또 다시 추려서 어 정리해보면 네 중요도도 높은 거 인공지능 용어만 그냥 살펴보고 넘어갈게요 세부적인 내용은 내용 파트에서 설명드렸기 때문에 인공지능 증강현실 현실에다가 덧붙여서 블록체인 가상화폐 딥러닝 깊이 학습한다.
1:05:10
전문가 시스템 축적되어진 다양한 경험치라든지 이러한 것들 의학 파티에서 어떤 진단할 때 활용할 수 있겠고 그레이웨이업 백색과 흑색의 사이 유용 또는 악의적인 중간 단계 메쉬업 그리고 시멘틱 웹 서비스 지능 아키텍처 soa까지 살펴봤습니다. 다음 소프트웨어 개발 보안 정책 관련해서는 소프트웨어 개발 생명 주기의 전 단계에 요구하는 전체적인 각 단계에서 요구하는 보안 활동을 수행해 안전한 소프트웨어 개발을 하는 것을 목적으로 하고요.
1:05:53
소프트웨어 개발 보안과 관련되어진 기관은 5개 기관 네 정책적인 주무기관인 행정안전부 그리고 전담기관인 한국인터넷진흥원 그리고 발주기관 사업자 감리법이 있겠고 개발 역할별 보안 활동으로서는 프로젝트 관리자 요구사항 분석과 아키텍트 설계자 구현개발자 테스트 분석과 보안감사에 대해서 살펴봤었고 소프트웨어 개발 관련되어진 법령 및 규정으로서는 네 주 내용으로서 개인정보보호법과 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등이 있었습니다. 이상으로 소프트웨어 구축 관리 파트에 대해 살펴봤습니다. it 프로젝트 정보시스템 구축관리 세 번째 하드웨어 구축 관리에 대해 살펴보도록 하겠습니다. 학습 목표는요 하드웨어와 관련되어진 it 신기술의 종류와 특징을 이해한다. 두 번째 서버 장비 운용 요소의 개념과 서버 소프트웨어 유형 및 스토리지 시스템에 대한 종류 및 특징을 이해한다.
1:06:51
세 번째 시큐어 os에 대한 개념과 보호 방법 및 보호 기능에 대해 이해하고 마지막으로, 고가용성의 개념 및 특징의 필요성에 대해 살펴보도록 하겠습니다. 학습 내용은요, 두 파트로 나눠져 있는데, it 신기술 파트 중에서 서버 장비에 관련되어진 트렌드 및 정보에 대해 살펴보도록 하겠고 그리고 두 번째는 서버 장비 운용으로서요 시큐어 os나 운영체제는 저희가 앞단에 살펴봤기 때문에 이거는 생략하도록 하겠고 나스다스산 같은 스토리지 시스템 그리고 고가용성에 대해 알아보도록 하겠습니다.
1:07:32
용어 사진으로서 cq os라고 하는 부분 자체는 기존의 os 운영 체제에다가 추가적으로 보안의 취약점을 해소하기 위해 보안 기능을 갖춘 커너를 추가해서 외부 침입으로부터 시스템 자원을 보호하는 운영체제가 되겠고 고가용성이라고 하는 부분은 하이 어베일러빌리티입니다. 이용 자체를 높이자 긴 시간 동안 안정적인 서비스 운영을 위해서 장애가 발생하더라도 적시적으로 다른 시스템을 대체해서 연속성 있게 서비스를 이어갈 수 있도록 하는 환경 구축 메커니즘이 되겠습니다. 첫 번째 it 신기술 및 서버 장비 트렌드 파트에서 하드웨어와 관련된 신기술에 대해 살펴보도록 하겠는데요. 총 12가지 기존의 it 신기술 관련된 기출문제에서 자주 나왔던 것 뽑았습니다.
1:08:29
3d프린팅 자 요즘 대중화에서 많이 이용하고 있죠. 평면으로 출력하는 게 아니라 대상을 아주 얇은 두께로 한 층 한 층 적층시켜서 손으로 만질 수 있는 실제 문제로 물체로 만들어 가는 거야. 소리 프린팅 공용 분야로서는 건축이나 항공 전자 공부제도 공구 제조 그리고 자동차 의료 등 다양한 분야에서 활용되고 있습니다. 두 번째 4k 해상도라고 되어있습니다. 해당 동영상 촬영할 때 고해상도 중에서요 4k 울트라 하이 데프니션 4k 해상도는 가로 해상도가 4kpixel이다. 차세대 고화질 해상도를 지칭한다.
1:09:10
포켓 해상도의 실제 픽셀 수는 가로가 3840이고 세로가 2160인데 풀 hdtv가 해상도가 1200 1920에 1080인데 가로 세로 각각 2배씩 해서 총 4배에 해당하는 초고화질의 영상이 4k 해상도가 되겠습니다. 해상도라는 키워드가 나오면 4k 다음 mdisk 디스크인데요. 밀레니얼 디스크다 한 번의 기록만으로 자료를 영구 보관할 수 있는 광저장장치가 되겠습니다. 디스크 표면의 레이저를 이용해서 자료를 조작을 하고요. 그렇기 때문에 외부 요인에 의한 영향을 받지 않는다. 빛이나 열습도 등에 영향받지 않는다. 디지털 BDOD스크와 블루레이 디스크에 적용되고 있다.
1:10:10
블로레인 디스크라고 하는 부분 자체는 고해상도 비디오를 위한 디지털 데이터를 저장할 수 있도록 만든 광기록 방식의 저장 매체가 되겠고 맵 리스트 맵리스트는 메모리와 레지스터 합성어가 되겠습니다. 메모리는 주기억장치이고 레지스트는 cpu 내에 포함되어져 있는 기억장치 역할이었죠. 메모리는 휘발성 특징이 있었어요. 전원이 공급이 끊어지면 기존에 저장된 데이터가 날아가는데 해당 이 맵리스트는 전류의 방향과 양 등 기존의 경우를 모두 이어가는 특별한 소자다 그래서 전원 공급이 끊어진다 하더라도 직전에 해당 기억했던 게 다시 전원이 공급되면 그대로 복원이 된다는 특징이 있습니다. 다섯 번째 멤스인데요. 약어입니다.
1:11:05
mams mims 마이크로 일렉트로 미케네콜 시스템의 약어입니다. 초정밀 반도체 제조 기술을 바탕으로 센서와 액추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기 기계적 동작을 할 수 있도록 한 초미세 장치 마이크로라는 초미세 메케니컬 기계 및 그래서 초미세의 전기기계적 동작을 수행하는 시스템을 이야기한다. 작은 실리콘 칩 위에 마이크로로 단위의 작은 부품과 이대로 입체적으로 연결하는 마이크로 회로들로 구성이 되어진다 프린트 헤더나 하드디스크 자기 해독 그리고 의료 및 군사 용도로 사용되고 있습니다. 다음 여섯 번째 가상화 네트워크 가상화 네트워크는요 라우터 방화벽 스위치와 같은 물리적 네트워크 자원들을 마치 하나의 자원처럼 사용하는 기술이다.
1:12:04
단일한 네트워크를 여러 개의 가상적인 네트워크로 구성할 수 있다. 서로 영향을 주지 않는 네트워크 자원의 액세스에서 일관성 있는 관리 및 보안 정책 유지가 가능한데 해당 네트워크 가상화의 사례로서는 vpn이 있습니다. vpn이 있습니다. vpm 가상 line 또는 멀티프로토콜 레벨 스위칭 약어인 npls 등이 있습니다. 일곱 번째 n스크린 스크린 개수가 n 여러 개다 n개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스 컴퓨터로 작업을 하고 있다가 컴퓨터로 해당 영상을 보고 있다가 밖으로 나가려고 해요.
1:12:51
그런 경우에 휴대폰에서 이어서 동일한 콘텐츠를 끊김없이 이용할 수 있는 것 그러한 케이스가 엔스크린을 활용하는 경우가 되겠고 물론 사용자가 가지고 있는 여러 개의 단말기에도 동일한 콘텐츠가 끊김없이 이용할 수 있다. 태블릿은 폰과 태블릿의 합성어입니다. 폰이 가지고 있는 단점은 화면이 작다는 거죠. 태블릿이 가지고 있는 장점은 화면이 크다는 거죠. 태블릿 기능을 포함한 몇 인치 5인치 이상의 대화면의 스마트폰이 되겠습니다. 아홉 번째 레이드 레이드도 시험에 자주 나왔었어요.
1:13:34
리던던트 어레이 오브 인 익스펜시브 디스크 비싸지 않는 디스크에 리던던트 어레이 다 여러 개의 하드디스크로 디스크 베이어를 구성을 하여 파일을 구성하고 있는 데이터와 블록들을 서로 다른 디스크의 분산 저장 하는 경우 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있기 때문에 디스크의 속도를 매우 향상시킬 수가 있다. 라는 특징이 있습니다. 다음 열 번째 서버 가상화입니다. 서버 버추얼리제이션 서버 가상화는 cpu나 메모리 하드디스크 등 서버의 물리적 자원들을 논리적으로 통합을 하여 마치 하나의 서버를 통해 서비스를 받는 것처럼 느껴지는 기술이 되겠고요. 기존 서버에 비해서 공간 및 운영 비용에 대한 절감이 가능하고 피지컬 파티셔닝과 버티셔닝이 있다.
1:14:27
다음 신 클라이언트 pc 서버 클라이언트 구조 네트워크 방식에서는 서버가 서비스를 제공하는 부분이고 클라이언트가 이용인데 역할에 대한 비중도에 따라서 신이라고 한다면, 얇다란 말이잖아요. 클라이언트 pc의 역할이 줄고 서버에 대한 비중도가 커지는 거 반대는 fick입니다. fick 두꺼운 거 pc의 역할이 커지고 서버 역할이 작아지는 거 상대했는데 신 클라이언트 pc는요 서버 기반의 컴퓨터와 관련해서요.
1:15:04
pc가 하드디스크나 주변 장치 없이 기본적인 메모리만 갖추고 서버와 네트워크로 운영되는 개인용 컴퓨터다 그래서 원래 유지보수와 같이 등에 발생하는 비용을 절감할 수 있도록 고안되어졌는데 정보 유출 방지를 위해서 재택근무 도입 등 검토로 기업들이 주목을 받고 있습니다. 마지막으로, 트러스트 트러스트 신뢰 존 기술 트러스트 존 테크놀로지 arm에서 개발한 기술인데요. 하나의 프로세스 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 트러스트 보안 기술이 되겠습니다.
1:15:50
문제를 정리해볼게요 다음 중 하드디스크나 주변 장치 없이 기본적 메모리만 갖추고 마지막에 저희가 학습했던 내용이네요. 서버와 네트워크로 운영되는 개인용 컴퓨터에 해당하는 것은 씬 클라이언트 pc가 되겠죠. 4번이 다음 다음에서 설명하는 최신 정보 기술로 올바른 것은 pc와 tv와 휴대폰 등 여러 개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있다. pcr 동영상 보도가 밖으로 나가면서 스마트폰을 이어서 본다 네 스크린의 개수가 여러 개다 n 스크린에 대한 설명입니다. 서버 장비 운용에 대해 살펴보도록 하겠는데요.
1:16:40
먼저 서버 장비에 대한 운용 요소를 정리를 해 보면 서버 장비를 요소는 정보 시스템 운영에 필요한 서버 장비뿐만 아니라 데이터 저장 장치인 스토리지와 그리고 동작시키는 운용체제 그리고 고가용성 장비 보안 솔루션 등 정보 시스템 운영 시작부터 끝까지 필요한 모든 것들이 서버 장비 운용 요소가 되겠고 다음 서버 소프트웨어의 유형으로서는요 다섯 가지로 나눠보면 운영체제 해당 시스템을 동작시키는 윈도우나 유닉스나 리눅스 윈도우 운영체제 중에서도 서버용 운영체제는 윈도우 서버예요. 그리고 유닉스나 리눅스는 서버 운영체제이고요.
1:17:28
dbms 데이터베이스 관리 시스템은요, 데이터를 효율적으로 효과적으로 관리하기 위한 관리 시스템이고 오라클이나 마이너스큐엘이나 db2 등이 있겠고 보안 솔루션 보안 솔루션은 나중에 마지막 저희가 다룰 챕터인 21 챕터의 보안 구성 요소 중에 보안 시스템 구현 파트에서 더 상세하게 다룰 겁니다. 보안의 3대 필수 요소 기밀성 무결성 가용성을 담당하는데 백신 소프트웨어나 ids 이건 침입 탐지고요. 그리고 ips는 프리벤트 네 막는 거고, 네 파이어 월 방화벽이죠. 이러한 것들이 있겠고 클라이언트 컴퓨팅 솔루션은 시스템 자원을 효율적으로 이용하기 위한 가상화 솔루션이에요.
1:18:17
그리고 웹 운영으로서 시스템 자원을 효율적으로 이용하기 위한 웹 운영 파트에서는 설명이 동일하게 돼 있는데, 이거는 서버 운영체제죠 웹 운영으로서 아파치라든지 왓스라든지 제우스 아파치가 웹서버고요. 그리고 왓스 서버 앱 애플리케이즈 서버 그러한 것들이 있겠습니다. 다음으로, 저장 장치 스토리지 시스템입니다. 종류 저희가 13 챕터에서 물리 데이터베이스 설계 중에 물리 요소 조사 분석 파트에서 선행적으로 학습했던 내용이긴 해요. 그래서 더 간략화시켜 가지고 주키 특징만 설명을 위주로 하면 종류가 다스는 다이렉트요 직접적으로 어태치드 연결된 스토리지다 특징이요. 서버 장비의 이 저장 장치가 직접 연결해서 운영이 되어지는 방식이에요.
1:19:07
그래서 장점은 처리 속도가 빠르다 그리고 초기 구축 비용이나 유지 비용이 저렴하다 인데 단점은 다른 서버에 접근할 수 없고 파일 공유가 불가능하다 라는 게 단점입니다. 다이렉트 어태치드 스토리지 반면에 나스는 네트워크 어태치드 스토리지 서버 저장 장치를 네트워크에다가 연결하는 방식이에요. 그래서 구성 설정이 간편하다 별도의 은닉체를 가진 서버 한 곳의 파일을 관리하기 때문에 서버 간의 스토리지 및 파일 공유가 용이하다 라는 게 장점입니다. 그리고 san은 스토리제어리얼 네트워크 산이라고 지칭할 수 있는데, 다스의 빠른 처리와 nas의 공유 장점을 합친 방식입니다.
1:19:55
산 같은 경우에는 특징 키워드로 광케이블과 광채널 스위치를 통해 가지고 네트워크 환경이 구성되어지기 때문에 빠른 속도로 데이터를 처리할 수 있다라는 게 장점이 되겠습니다. 다음 시큐 os요 시큐 os는 기존의 운영체제에 내장되어진 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커너를 추가하여 외부 침입으로부터 시스템 자원을 보호하는 운영체제가 되겠다. 커널은 저희가 앞단에서 유닉스 유닉스 파트에서 다뤘는데 컴퓨터가 부팅될 때 주기억 장치에 적재된 상태로 상주하면서 하드웨어를 보호하고 프로그램 하드웨어 간 인터페이저 역할을 담당하는 게 커널이다. 보안 코너를 보안 개념을 갖춘 코너를 의미하고요. 트로시티드 컴퓨팅 레이스 기반이 tb tcb 기반인 참조 모니터의 개념을 구현하고 집행한다.
1:20:53
보안 커널의 보호 대상은 주기억장치 보조기억장치 저장 데이터 하류 장치 자료구조 명령어 각종 보안 메커니즘이 되겠습니다. 그리고 보호의 방법은 논리적 분리 물리적 분리 암호적 분리 시간적 분리가 있는데요. 해당 머릿거를 이렇게 논물 암시 논에 물이 어느 정도 차 있는지에 따라서 벼가 잘 자랄지 안 자랄지가 암시된다. 이렇게 기억하셔도 되겠습니다. 논리적 분리라는 부분 자체는 프로세스가 논리적 프로세스의 논리적 구역을 지정하는 거고, 물리적 분리는 특정 장비만 사용하도록 제한하는 거고, 암호적 분리는 내부 정보를 암호화하는 거고, 시간적 분리는 프로세스에 대한 동시 실행을 방지하는 것이 되겠습니다. 참정 모니터의 세 가지 특징은요, 격리성 그리고 검증 가능성 그리고 관전성 세 가지가 되겠습니다.
1:21:52
그리고 cq os에 대한 보안 기능인데요. 개괄적으로 한번 볼게요 식별 및 인증 기능이 있어야 돼 역할은 각 접근 주체에 대해서 안전하고 고유한 식별 및 인정 기능이고 그리고 임의적 접근 통제가 있고 강제적 접근 통제가 있습니다. 임의적 적분 통제라는 부분은 디스크리셔널의 억세스 컨트롤의 약어인 dac 소속 그룹이나 개인에 따라서 부여되어진 권한에 따른 접근 통제가 되겠고요. 강제적 조건 통제라고 하는 부분 자체는요 접근 단말이나 접속 방법 권한 요청 객체의 특성 등 여러 보완 속성이 고려되어진 규칙에 따라서 강제적으로 접근 통제가 되어지는데 mandtrory 액세스 컨트롤 약어로 mac라는 해당 용어로 설명이 되어집니다. 규칙기반의 정책이다. 임의적 적분 통제는 신분 기반의 정책이다. 이렇게 특징 지을 수 있겠습니다.
1:22:49
그리고 객체에 대한 재사용 보호와 완전한 조정 오해할 수 없도록 모든 적분 경로를 완전하게 통제하는 기능이고 그리고 신뢰 경로 비밀번호 변경 및 권한 설정 등과 같은 보안 작업을 위해서 안전한 경로를 제공하는 기능이고 그리고 감사 및 감사 기록 축소 모든 보안 관련 사건 및 작업을 기록한 후에 보호하는 기능이 되겠고 막대한 양의 기록들을 분석하고 축소하는 기능이 되겠습니다. 서버 장비 운영에 대한 마지막 파트로 고가용성에 대해 정리해 보면 고가용성은 하이 어바일러빌러티 긴 시간 동안 안정적 서비스 운영을 위해 장애가 발생을 하더라도 적시 다른 시스템으로 대체해서 서비스를 이어가도록 하는 환경 구축 메커니즘이 되겠고 가용성을 극대화하는 방법으로서는 클러스터와 이중화가 있다.
1:23:45
자 서비스 종류 중에 연속성 있게 꾸준하게 서비스가 되어야 되는 건 서버죠 서버 네 웹 서버도 있겠고 데이터베이스 서버도 있겠죠. 저희가 데이터베이스 서버를 다룰 때 해당 클러스터하고 이중화에 대해서 저희가 살펴봤었어요. 클러스터는 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술이 되겠고 이중화라고 하는 부분은 데이터베이스 서비스 중단이나 물리적 손상이 발생을 하더라도 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 게 이중화였습니다. 고가형성이 필요한 이유는요 서비스 다운타임을 최소화시킴으로써 가용성을 극대화하도록 하고 그리고 고가형성으로 기업의 비즈니스 연속성을 확보할 수 있고 마지막으로, 기업의 신뢰성 및 경쟁력 향상에 필요하다 관련된 내용을 문제로 정리해 보도록 하겠습니다. 첫 번째 문제 시큐어 os에 대한 설명으로 틀린 거 골라라 1번 시큐어 os는 기존의 운영체제에 내재되어 있는 보안 취약점을 해소하기 위해 개발되었다.
1:24:42
맞죠. 다음 보호 방법 중에 물리적 분리가 가장 구현하기 복잡하다 아까 보호 방법 네 가지 논문 암시 이렇게 해당 연상법을 기억하는 걸 말씀을 드렸는데 보호 방법 중에 구현 방법이 가장 어려운 거는 옆에 제가 힌트로 정리해 드렸는데 암호화 분리가 가장 어렵고요. 암호화 그다음에 논리 그다음에 시간적 분리 마지막이 물리적 분리입니다. 특정 장비만 사용하게끔 제한하는 거 그래서 보호방법 중에 구현이 가장 복잡한 건 물리적 분리가 아니라 암호적 분리이기 때문에 2번이 틀렸습니다. 3번 보호 대상에는 메모리 및 보호 장치의 데이터로부터 하드웨어 장치까지 다양한 요소를 포함한다. 보안 기능을 갖춘 커널을 인식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제가 된다. 자 모의평가를 정리하도록 하겠습니다.
1:25:42
네 모의평가 문제 1번 하드웨어와 관련되어진 신기술에 관한 설명으로 틀린 거 첫 번째 패블릿은 태블릿 기능을 포함한 10인치 이상의 대화면의 스마트폰이야 스마트폰과 태블릿에 대한 합성어가 패블릿이었는데. 음 사이즈가요 10인치가 아니라 5인치 이상 5인치 이상의 대화면 스마트폰이다. 그래서 1번 틀렸고요. 멤스는 초정밀 반도체 제조 기술을 바탕으로 센서 액추에이션 액추에이트 등 기계 구조를 다양한 기술로 미세 가공하여 전기 기계 동작을 하는 미세 초미세 장치이다. 맞고요. 엠디스크는 한 번의 기록만으로 영구 보관하는 광저장 장치야 그리고 맨 리스트는 메모리하고 레지스터 합성어였고 전원이 끊어지더라도 다시 켜졌을 때 데이터가 날아가지 않고 기억한다. 라는 특징이 있었죠.
1:26:42
두 번째 가상화 기술의 필요성에 대한 가장 적합하지 않은 거 가상화 기술의 필요성 이건 상식선에서 저희가 풀어봐도 될 것 같은데, 가상화는 클라우드 컴퓨팅의 주 기능이 됩니다. 해당 자 먼저요 서비스가 되어지는 주역할적인 부분 자체는 보기 항목으로 정리하겠습니다. 유효자원을 효율적으로 사용할 수 있다. 아마존 같은 경우가 대표적인 전자상거래 업체인데 아마존 같은 경우에는 시즌에 따라서 이용자의 해당 이용률 차이가 너무 많이 나는 거예요.
1:27:27
블랙프라이데이 같은 경우에는 피크를 찍죠 근데 그 수준에 맞춰가지고 하드웨어 시스템을 갖추다 보니까 일상적인 측면에서는 노는 여유 어떤 자원이 생기니까 그거를 임대해주자 라고 만든 게 클라우드 컴퓨팅 중에서 ios 서비스예요. 인프라 애저 서비스 방식인데 즉 유효 자원을 가상화를 기술을 이용하게 되면 효율적으로 이용할 수 있다. 맞습니다. 두 번째 도입 및 운영 비용을 절감할 수 있다.
1:28:00
그래서 기업체 입장에서는 독자적인 전산실을 폐쇄해가고 관리자만 두고 해당 어떤 하드웨어적인 부분에 대한 거는 클라우드 컴퓨팅을 이용해서 필요한 만큼만 임대하는 방식으로 하니까 도입 및 운영비용을 절감할 수 있고 총 소유비용은 증가가 아니라 낮추죠 자체적으로 보유할 필요가 없으니까 본드맨드 필요한 수요에 따라서 전산환경 자원 사용률을 극대화할 수 있다고 봤습니다. 틀린 것은 다음 중 참조 모니터 특징에 해당하지 않는 것은 참조 모니터 특징은 세 가지가 있었어요. 힌트로 정리해놨는데요. 격리성이 아이솔라이티션이고요. 검증 가능성이 베리피 오버빌리티고요. 완정성이 컴플리티니스고요.
1:28:50
컴플링은 결합도죠 이거는 소프트웨어 모듈과 모듈 간의 결합도 응집도와 결합도라는 부분에 대해서 살펴봤었는데 참조 모니터 특징에 해당되지 않습니다. 네 번째 스토리지 시스템에 대한 특징 설명 틀린 거 골라라 정보시스템 구축할 때 저장 데이터 운영에 필요한 많은 저장 공간 확보가 필요하나 이러한 대외용량 데이터를 저장하기 위해서 구성되어진 게 스토리지 장치이다. 맞고요. 다스는 서버 장치에 간접 연결하여 운영하는 방식의 저장 장치이다. 얘기가 틀렸어요. nas의 d는 다이렉트입니다. 직접이죠.
1:29:36
간접이 아니라 직접 연결 저장 장치 nas는 네트워크 어태치드 스토리지죠 서버와 저장 장치를 네트워크로 연결하는 방식 서버 간의 스토리지만 할 공유 가능하다 사는 두 개의 장점으로 다스의 빠른 처리와 nas의 스토리 공유 장점을 합친 방식으로 빠른 속도로 데이터 처리가 용이하다 이렇게 정리할 수 있겠습니다. 학습했던 두 파트 핵심 정리 it 신기술 및 서버 장비 트렌드 정보에서는 하드웨어 관련되어진 신기술 총 12개의 저희가 살펴봤는데 그 중에서도 약간 중요도 높은 거 용어만 정리하겠습니다. 3d 프린팅 그리고 mlistor 그리고 네트워크 가상화 n스크린 레이드 서버 가상화 등을 저희가 살펴봤었고요.
1:30:30
서버 장비 운영 파트에서는요 서버 장비의 운용 요소 서버 장비뿐만 아니라 스토리지와 운영체제와 고가용성 장비와 보안솔루션 등 정보시스템 운영에 필요한 모든 것을 포함한다. 저장 장치의 종류는 다스 나스산이 있었고요. 시큐어 os는 기존의 os에 내재되어진 보안 취약점 해소 목적으로 보안 기능을 가진 커널을 추가한 운영체제고 마지막으로, 고가형성은 안정적 서비스 운영을 위해서 장애가 발생을 하더라도 적시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘이었습니다. 이상으로 하드웨어 구축 관리에 대해 살펴봤습니다. it 프로젝트 정보 시스템 구축 관리 마지막 네 번째 데이터베이스 구축 관리에 대해 살펴보도록 하겠습니다. 학습목표인데요. 데이터베이스와 관련된 it 신기술의 종류와 특징을 이해한다.
1:31:26
두 번째 데이터베이스 관리 기능으로 회복 리커버리 그리고 병행제어 컨퍼런스 컨트롤 개념을 이해한다. 세 번째 데이터베이스 표준화 개념과 구성 요소를 이해한다. 학습할 내용은 세 파트로 나눠서 살펴보도록 하겠는데 it 희생기술 및 데이터베이스 기술 트렌드 정보와 두 번째는 데이터베이스 관리 기능 마지막 세 번째는 데이터베이스 표준화에 대해 살펴보도록 하겠습니다. 시험출제기준에 맞춰서 살펴보고 있습니다. 용어 사전입니다. 데이터 표준화는 시스템을 구성하는 데이터의 요소의 명칭 정의 형식 규칙에 대한 원칙을 수립하여 적용하는 것을 뜻합니다. 내용에서요 첫 번째 it 신기술 및 데이터베이스 기술 트렌드 정보로서요 데이터베이스 관련되어진 신기술 한 7개 정도만 추려가지고 살펴보도록 하겠는데 먼저 빅데이터 걸러에 많이 이슈화되어지고 있는 용어죠 출제 확률이 높습니다.
1:32:24
기존의 관리 방식이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터의 집합이다. 스마트폰 빠른 확산 소셜 네트워크 서비스의 활성화 그리고 사물 네트워크에 대한 확대로 데이터 양이 폭발적으로 증가하게 되었죠. 빅데이터의 특징을 3v라고 해서요. 나타내게 되면 세 가지 v로 시작하는 세 가지 용어 특징으로서는 데이터의 양 발륨 그리고 데이터의 생성 속도가 많이 빠르다 빌라스티 그리고 형태가 다양하다 브라이어티 이렇게 세 가지로 특징화할 수 있습니다. 시험에 나올 확률이 높아요. 빅데이터 특징 세 가지 데이터의 양 발륨 그리고 속도 플라스틱 형태의 다양성 버라이어티 다음 두 번째 용어 브로드 데이터 브로드 데이터는 넓은 데이터다 이렇게 돼 있는데요.
1:33:23
브로드 데이터는 다양한 채널에서 소비자와 상호작용을 통해서 생성되어진 기업 마케팅에 있어 효율적이고 다양한 데이터다 이전에 사용하지 않거나 알지 못했던 새로운 데이터나 기존 데이터의 가치를 더한 데이터 데이터는 사실적인 자료인데 여기에 가치를 더하게 되면 그게 뭐냐 정보죠. infomation이 됩니다. 대량의 자료를 뜻하는 빅데이터와 달리 다양한 정보를 뜻하는 것으로 소비자의 sns 활동이나 위치 정보 등이 이에 속합니다. 다음 세 번째 디지털 아카이빙 디지털 아카이빙은 디지털로 기록한다는 걸 이야기합니다. 늘어나는 정보자원의 효율적 관리와 이용을 위해서 디지털 정보 자원을 장기적으로 보존하기 위한 작업이 되겠고요.
1:34:18
아날로그 콘텐츠는 디지털로 변환한 다음에 압축해서 저장하고 디지털 콘텐츠도 체계적으로 분류하고 메타 데이터를 만들어서 데이터베이스화 하는 작업이 디지털 아카이빙이 되겠습니다. 네 번째 메타데이터 메타데이터도 저희가 이전 단위 해당 데이터 사전이라든지. 이러한 용어를 할 때 나왔던 용어인데 일련의 데이터를 정리하고 설명하는 데이터당 데이터 자체를 설명하는 데이터가 되겠습니다. 메타 데이터는 여러 용도로 사용되는데 주로 빠르게 검색하거나 내용을 간략화 또는 체계적으로 하기 위해서 많이 사용이 되어진다 다섯 번째 데이터 다이어트 데이터 다이어트는 데이터 삭제가 아니라 압축하고 중복된 정보는 중복을 배제해서 새로운 기준에 따라서 나누어 저장하는 작업이 데이터 다이어트 줄인다는 말이죠.
1:35:17
인터넷이나 이동통신 등이 늘어나면서 각 기관 기업의 데이터베이스가 너무 많이 방대한 정보를 찾고 있다 보니까 이를 효율적으로 관리하기 위해서 대두되어진 방안이 되겠다. 여섯 번째 하듐 하듐은요, 네 오픈소스 오픈소스를 기반으로 하는 분산 컴퓨팅 플랫폼인데 이것도 시험에 나올 확률이 높아요. 일반 피식급 컴퓨터들로 가상화되어진 대용 스토리지를 형성해서 그 안에 보관되어진 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발되어진 자바 소프트웨어 프레임워크이고요. 구걸이나 야후 등에서 적용되고 있습니다. 마지막 일곱 번째 타조는요 국내 우리나라가 주도해서 개발하고 있는 프로젝트인데 오픈소스 기반이 방금 살펴봤던 오픈소스 기반의 분산 컴퓨팅 플랫폼인 하두 기반의 분산 데이터웨어하우스 프로젝트가 되겠습니다.
1:36:13
데이터웨어하우스라는 말은 데이터자료와 웨어하우스 창고의 합성어다 기업의 의사결정 과정에 효과적으로 사용할 수 있도록 여러 시스템에 분산되어 있는 데이터를 주제별로 통합 축적해 놓은 데이터베이스가 데이터 웨어하우스가 되겠어요. 하디움의 빅데이터를 분석할 때 맵 리듀스를 사용하지 않는다라고 되어 있는데, 맵 리듀스는 뭔데 맵 리듀스는 흩어져 있는 데이터에 데이터를 연관성 있는 데이터를 분류 묶는 맵 작업을 수행한 다음에 중복 데이터를 제거하고 원하는 데이터를 추출하는 리듀스 작업을 수행하는 것을 이야기합니다. 근데 하드웨어 빅데이터를 분석할 때 맵 리듀스를 사용하지 않고 구조와 직위 언어인 sql을 사용해서요. 하드웨어 분산 파일 시스템 파일을 바로 읽어낼 수 있다. 이게 뭔데 타조에 대한 설명입니다.
1:37:12
대규모 데이터 처리와 실시간 상호 분석 모두 사용 가능하다 관련된 퀴즈로 정리해 볼게요 1번 데이터의 특징을 빅데이터 빅데이터의 특징을 요약하는 3v에 해당하지 않는 거 많은 양 데이터의 양 발육 맞고요. 데이터 생성 속도가 빨라 블라스틱 속도 맞고요. 형태가 다양히 브라이어티 맞고요. 데이터의 가상화가 해당되지 않습니다. 4번이 틀렸습니다. 두 번째 다음에서 설명하는 db 관련되어진 신기술로 올바른 것은 데이터베이스 관련 신기술 다양한 채널에서 소비자와 상호작용을 통해서 생성되어진 데이터다 기존 데이터에다가 새로운 가치를 덧붙여서 만들어진 데이터는 정보라고 말씀드렸죠 브로드 데이터를 뜻합니다. 브로드 데이터 2번이 정답이고요. 두 번째 파트로 데이터베이스 관리 기능에 대해 살펴보도록 하겠는데요.
1:38:07
데이터베이스 관리 기능에서 두 가지 위주로 먼저 살펴보겠습니다. 회복과 병행 제어 위주로 살펴보겠는데 회복 리커버리 개념은요, 트랜잭션 트랜잭션은 데이터베이스의 뭔가 변화를 주는 작업들이었죠. 추가시켜 인서트 수정의 업데이트 삭제 딜리트와 같은 트랜잭션을 수행하는 도중에 장애가 발생해 버렸어요. 그 경우에 데이터베이스가 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전에 정상적 상태로 복구하는 작업이 리커버리 회복이 되겠습니다. 장애의 종류는 어떤 종류가 있느냐 트랜잭션 장애 시스템 장애 미디어 장애로 나눌 수 있는데, 트랜잭션 장애는 입력 데이터의 오류나 불명확한 데이터 시스템 자원의 요구가 과대하다 등 트랜잭션 내부의 비정상적 상황으로 인해서 프로그램 실행이 중지되는 현상이 트랜잭션 장애고요.
1:39:01
시스템장애는 어떤 하드웨어적인 측면에 대한 장애죠 데이터베이스에 손상을 입히진 않지만 하류 오작동이나 또는 소프트웨어적인 부분에 대한 손상 교착 상태 교착 상태라는 거는 얘가 데드라인 상태인 거예요. 멈춰있는 상태예요. 등에 의해서 모든 트랜잭션의 연속적인 수행에 장애를 주는 현상이 시스템 장애이고 미디어 장애는 저장 장치인 디스크 블록에 대한 손상이나 디스크 헤드웨이 충돌로 인해서 데이터베이스 1부 또는 전부가 물리적으로 손상된 상태가 되겠습니다. 회복 관리기에 대해서 정리해 드리면, 회복 관리기는 데이터베이스 관리 시스템의 구성 요소가 되겠는데 트랜잭션 실행이 성공적으로 완료되지 못하면 트랜잭션이 데이터베이스를 생성을 했던 모든 데이터를 취소 언두시킨다.
1:39:54
취소는 로그에 보관한 정보를 이용을 해서 가장 최근에 변경되어진 내용부터 거슬러 올라가면서 트랜잭션 작업을 취소해서 원래의 데이터베이스로 복구를 시키는 것을 뜻하고요. 그리고 트랜잭션 수행 이전에 원래 복구 원래 상태로 복구하는 역할을 담당을 하는 게 회복 관리입니다. 메모리 덤프하고요. 로그를 이용해서 회복을 하는데 메모리 덤프는 주기적으로 데이터베이스 전체를 복사해 두어 둔 게 덤프고요. 로그는 기록이죠. 갱신되기 전후의 내용을 기록하는 별도의 파일인데 이것을 이용해서요. 트랜액션이 완료되기 전 상태로 다시 복구할 수가 있다.
1:40:35
다음 병행제어에 대해 살펴보도록 하겠는데 병행제어는 프로세스의 이용률 증가와 전체 트랜잭션의 작업처리율을 향상시키는 다중 프로그램의 이점을 활용을 해서 동시에 여러 개의 트랜잭션을 병행 수행할 때 동시에 실행하는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간 상호작용을 제어하는 역할을 하는 것을 병행제어라고 합니다. 병행자의 목적은요, 데이터베이스 공유의 제대화 시스템 활용도의 제대화 데이터베이스 일관성 유지 사용자에 대한 응답 시간을 짧게 최소화와 같은 네 가지 목적을 통해서 진행이 되고 있습니다. 병행 수행에 대한 문제점인데요.
1:41:29
병행 수행의 문제점은 병행 제어 기법을 이용하지 않고 제어 없이 트랜잭션들이 병행과 같이 수행된다는 말이잖아요. 트랜잭션들이 데이터베이스에 동시에 접근하도록 허용하는 경우에 발생하는 문제점이 병행 수행의 문제점이 되겠고 문제점의 종류는 네 가지 갱신 분석 분실이다. 영어로는 로스트 업데이트가 되겠습니다. 두 개 이상의 트랜잭션이 같은 자료를 공유해서 갱신을 할 때 갱신의 결과의 일부가 없어지는 현상이 갱신 업데이트가 수정이 안됐다는 거죠. 로스트 된 거예요.
1:42:15
수정하라는 부분 자체가 없어져 버린 왜 두 개 이상의 트랜족션이 같은 자료를 공유해서 갱신을 할 때 갱신 결과 일부가 없어지는 현상이 발생할 수 있는데, 그게 갱신 분실이다. 비완료 원료 현상 영어로는 언커미티드 디펜던시가 되겠습니다. 하나의 트랜잭션 수행이 실패한 후에 회복되기 전인데 다른 트랜잭션이 해당 실패했던 갱신 결과를 참조해버리는 현상 비완료 의존성 임시갱신이라고도 합니다. 모순성 모순성은 두 개의 트랜잭션이 병행 수행될 때 원치 않는 자료를 이용함으로써 발생하는 문제가 되겠고 불일치 분석이라고도 합니다. 연쇄복귀 캐스케이딩 롤백인데요.
1:43:05
병행 수행되던 트랜잭션 중에 어느 하나의 문제가 생겨서 롤백 다시 돌아가게 되면 다른 트랜잭션도 같이 롤백 되어지는 연쇄적인 복귀 캐스케이딩 롤백이 되겠습니다. 문제를 정리해볼게요 1번 트랜잭션들을 수행하는 도중에 장애로 인해서 손상이 되어진 데이터베이스를 손상이 되기 이전에 정상적인 상태로 복구하는 작업은 무엇인가 리커버리가 되겠습니다. 리커버리 다음 병행 제어 기법을 적용하지 않을 경우에 발생하는 병행 수행의 문제점들 네 가지 살펴봤죠 그중에 하나의 트랜잭션이 실패한 후에 회복되기 전인데 다른 트랜잭션이 갱신 결과를 참조하는 현상은 뭐였느냐 완료 의존성이었고 영어로는 uncomited dependency였어요. rost update가 갱신분석 분실이었고요.
1:44:05
갱신 작업이 없어져 버리는 거고, 병행수행으로 그리고 모순성이 인 컨시턴스 그리고 연쇄 복귀가 캐스케이진 롤백을 뜻합니다. 다음 세 번째 마지막 파트로 데이터베이스 표준화에 대해 살펴보도록 하겠는데요. 데이터베이스 표준화는 범위를 좀 더 넓혀서 데이터 표준화 중심적으로 살펴볼게요 데이터표준화 시스템을 구성하는 데이터 요소의 명칭 이름 그리고 정의 형식 규칙 이러한 부분에 대한 원칙을 수립하고 적용하는 것을 표준화 데이터 표준화라고 합니다. 데이터 표준화 작업은 데이터의 정확한 의미를 파악할 수 있게 할 뿐만 아니라 데이터에 대한 상반적 시각을 조정할 수 있는 역할도 수행을 합니다.
1:44:58
데이터 표준화의 대상 네 가지 데이터 명칭은 데이터를 유일하게 구별할 수 있는 유일성 의미 전달의 충분성 그리고 업무적 보편성을 갖는 이름으로 정의하자 이름을 지어줄 때 이름의 명칭을 할 때 유일성 그리고 의미 전달 그리고 업무 보편 업무적인 측면에 대한 관련되어진 용어를 부여하는 게 좋겠다. 이 말이고요. 데이터의정의 데이터를 제3자 입장에서도 쉽게 이해할 수 있도록 해당 데이터가 의미하는 범위 및 자격 요건 등을 규정한 것을 이야기하고요. 데이터 형식은 업무 규칙 및 사용 목적과 유사한 데이터에 대해서 일관되게 데이터 형식을 정의함으로써 데이터 입력 오류나 통제 위험 등을 최소화시킬 수 있겠습니다. 데이터의 타입 있죠. 문자형이다. 숫자형이다.
1:45:52
와 같은 그리고 데이터 규칙 기본값이나 허용값이나 허용 범위 등과 같이 발생할 수 있는 데이터 값을 사전에 지정함으로써 데이터의 정합성과 안정성을 향상시킬 수가 있겠습니다. 데이터 표준화를 통한 기대요구가요 동일한 데이터에 대해서 동일한 명칭을 지정하면 명확하게 의사소통을 가능하게 한다. 표준화되어진 데이터를 사용하게 되면 필요한 데이터의 의미나 위치를 쉽게 파악이 가능하다 세번째 데이터 표준에 따라서 데이터의 형식 및 규칙을 적용을 하면 입력 오류를 방지하고 필요한 데이터로 인한 의사결정의 오류를 줄여서 데이터의 품질을 향상시킬 수가 있다. 네 번째 데이터 표준에 따라서 데이터를 전사적으로 관리를 하면 시스템 간의 데이터를 공유하게 될 때도 데이터 변환이나 정제 작업을 수행하지 않아도 되는 장점이 있다.
1:46:51
마지막으로, 향후 데이터 유지보수 및 운영의 효율성과 관리비용을 절감할 수가 있다. 네 데이터에 대한 표준화 구성 요소인데요. 네 데이터 표준화에 대한 구성 요소는 크게 데이터 표준 데이터 관리 조직 데이터 표준화 절차 이 세 가지가 되겠습니다. 먼저 데이터 표준인데요. 데이터 표준은 데이터 모델이나 데이터베이스에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준화를 수행하는 게 이상적이지만 전체를 대상으로 수행하게 되면 비용이 많이 들겠죠. 그래서 주로 관리해야 되는 필요성이 있는 오브젝트만을 대상으로 데이터 표준화 하는 게 효율적입니다. 데이터 표준의 종류는요 표준 단어 표준 도메인 표준 코드 표준 용어가 있는데, 표준 단어는 업무에 사용하고 있는 일정한 의미를 갖고 있는 최소 단위의 단어를 의미한다. 도메인은 형식입니다.
1:47:50
문자형이냐 숫자형이냐 날짜형이냐 시간형과 같이 컬럼의 성질에 따라서 고립하는 개념이고 표준코드는 선택할 수 있는 값을 정형화하기 위해서 기준에 맞게 이미 정의되어진 코드값으로 도메인을 하는 유형이 되겠고 마지막 표준 용어는 단어나 도메인 표준 코드가 정의되고 정의된 면 이를 바탕으로 표준 용어를 구성을 합니다. 데이터 관리 조직으로는요 전사적으로 수립되어진 데이터에 대한 표준 원칙과 그리고 데이터의 표준 데이터 표준 준수 여부 관리 등을 위해 데이터 관리자가 역할 데이터 관리자 역할이 요구가 되어집니다.
1:48:35
데이터 관리자는 조직 내에 데이터에 대한 정의 체계와 감독 업무를 수행하게 되겠고 데이터 표준화에 대한 절차는요 먼저 데이터 표준화에 대한 요구사항을 수집하고 그리고 데이터 표준 정의 데이터 표준 확정 그리고 데이터 표준 관리 순으로 진행이 되어집니다. 문제풀이를 정리할게요 다음 중 데이터 표준화에 대한 기대효과가 아닌 것은 상식선에서 풀 수 있는 문제가 되겠습니다. 동일한 명칭을 지정하게 되면 명확한 의사소통이 가능하다 향후 데이터 유지보수 및 운영의 효율성 그리고 관리비용도 절감시킬 수가 있겠다. 필요한 데이터의 위치나 의미나 위치를 쉽게 파악할 수 있겠다. 시스템 간의 데이터 공유할 때 데이터 변환이나 정제 작업을 수행하지 않아도 된다고 했죠. 수행한다가 아니라 수행하지 않아도 된다는 게 장점이었어요.
1:49:34
그래서 기도 요구가 아닌 건 4번이 틀렸습니다. 자 모의평가 문제로 정리하겠습니다. 네 1번부터요 다음 중 데이터베이스 관리 관련되어진 신규들에 대한 설명으로 틀린 거 일곱 가지 저희가 살펴봤었는데 메타 데이터는 데이터를 정의하는 설명해주는 데이터야 맞습니다. 그리고 디지털 어차이빙은 얘는 장기적으로 보존 기록하는 거예요. 데이터를 압축하고 겹친 정보는 중복을 배제하고 새로운 기준에 따라서 나누어 저장하는 작업이야 설명은 데이터 다이어트에 대한 설명입니다. 디지털 아츠하이빙은 디지털로 장기적으로 기록 보관하는 걸 뜻합니다. 그래서 설명이 매치가 틀렸어요. 하드웨어는 오픈소스 기반으로 분산 컴퓨팅 플랫폼이 맞고요.
1:50:25
브로드 데이터는 해당 다양한 채널에서 소비자와 상호작용을 통해 생성된 기업 마케팅에 있어 효율적 다양한 데이터 맞습니다. 두 번째 다음에서 설명하는 데이터베이스 관련 신기술로 올바른 것은 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형의 데이터 집합이야 스마트폰의 빠른 확산과 소셜 네트워크 서비스 활성화 사물 네트워크의 확산 확대로 데이터 폭발이 더욱 가속화됐다. 아닌 양의 데이터 빅데이터에 대한 설명이죠. 빅데이터 1번이 정답입니다. 다음 세 번째 트랜잭션의 병행 제어 목적이 아닌 것은 트랜잭션의 병행 제어 목적 첫 번째 데이터베이스에 대한 공유를 최대화한다.
1:51:19
병행제어라고 하는 부분 자체는 해당 같이 수행할 수 있게끔 컨트롤해가면서요 병행수행에 대한 문제점이 발생하지 않도록 같이 수행을 하되 제어를 통해 가지고 하는 걸 이야기하는데 편향적처럼 병행제어는 목적이 데이터베이스 공유 최대화 맞고요. 시스템 활용도에 대한 최대화 데이터베이스에 대한 일관성 유지인데 일관성 최소화라고 되어 있기 때문에 예가 틀렸어요. 마지막으로, 사용자의 응답시간 최소화 맞습니다. 네 번째 다음 중 데이터 표준에 대한 설명으로 틀린 것은 데이터 모델이나 데이터베이스에서 정의할 수 있는 모든 오브젝트를 대상으로 데이터 표준을 수행하는 것이 이상적이다. 현실적으로는 힘들지만 전체적인 모든 오브젝트를 대상으로 표준화를 수행하는 게 바람직하다 맞습니다. 이상적이라는 거죠.
1:52:16
이상적이라는 부분이고 현실적으로는 많이 사용하는 거 주된 부분만 하는 게 낫겠고 효율적이고 두 번째 표준 단어는 업무를 사용하고 업무에서 사용하고 일정한 의미를 갖고 있는 최소 단위의 단어를 의미한다. 표준 단어 최소 단위 단어 맞고 표준 도메인은 선택할 수 있는 값을 정형화하기 위해 기준에 맞게 이미 정의되어진 코드값이야 설명 문구는 표준 코드에 대한 설명이에요. 표준 코드에 대한 설명이고 표준 도메인은 문자형이다. 뭐 숫자형이다. 날짜형이다. 와 같은 해당 컬럼의 데이터 타입에 대한 부분이었거든요. 이게 틀렸고 용어는 단어와 도메인과 코드 표준이 정의된 고 1을 바탕으로 표준용어를 구성한다. 맞습니다. 네 다음 마지막으로, 핵심 정리 저희 세 파트에 나눠서 살펴봤거든요.
1:53:14
파트별로 내용 정리하면 it 신기술 및 데이터베이스 기술 트렌드 정보로서는 데이터베이스 관련 신기술 일곱 가지 살펴봤었어요. 용어만 그냥 다시 한번 살펴보겠습니다. 빅데이터 브로드 데이터 디지털 아카이빙 메타데이터 데이터에 대한 데이터 정의 데이터 다이어트 줄인다는 거고, 하드읍 그다음에 타조 이렇게 7가지 살펴봤어요. 용어 설명해놓고, 이걸 고를 수 있는 정도만 익히시면 되겠습니다. 두 번째 데이터베이스 관리 기능으로서는 크게 회복하고 병행 제어에 대해 살펴봤었거든요. 데이터베이스의 회복은 트랜잭션을 수행하는 도중에 장애가 발생해서요. 데이터베이스가 손상되었을 때 손상되기 이전에 상태로 복구하는 작업이 회복이고 병행 제어는 다중 프로그램의 이점을 활용해서 동시에 여러 트랜잭션을 병행 수행할 때 동시에 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 컨트롤하는 것을 뜻한다.
1:54:13
마지막으로, 데이터베이스 표준화입니다. 데이터에 대한 표준화 네 데이터에 대한 표준화를 저희가 살펴봤었는데 데이터 표준화는 시스템을 구성하는 데이터 요소의 명칭 정의 형식 규칙에 대한 원칙을 수립하고 적용하는 것이었고요. 데이터베이스의 표준화 구성 요소로서는 데이터 표준 데이터 관리 조직 데이터 표준화 절차가 있었습니다. 이상으로 데이터베이스 구축 관리에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 정보시스템 구축관리' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 4.시스템 보안 구축 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 3.소프트웨어 개발 보안 구축 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 1.소프트웨어개발 방법론 활용 (0) | 2025.05.26 |
https://youtu.be/h5HQO5lkgLE?si=EXJaw8vUymzgYqW4
1. 소프트웨어 개발 방법론과 비용 산정 모델
1-1. 소프트웨어 개발 생명주기 모델과 특징
- 소프트웨어 개발 생명주기 모델은 타당성 검토, 분석, 설계, 개발, 테스트, 운영, 유지, 보수, 폐기의 단계로 구성됨
- 각 단계는 순차적 또는 병렬적으로 진행되며, 완성된 결과물을 통해 다음 단계로 진행됨
- (중요) 고전적 모델인 폭포수 모델은 계획 단계가 완료되어야 다음 단계로 진행되며, 선형 순차적 모형임
- 프로토타입 모델은 사용자의 요구사항을 파악하고, 프로토타입을 개발하며 피드백을 받아 수정하는 방식임
1-2. 나선형 모델과 애잘 모델의 특징
- 나선형 모델은 스퍼럴 모델로 시간적 흐름에 따라 개발 과정을 반복하며, 위험 분석 기능을 추가함
- 나선형 모델은 계획 및 초기 요구 분석, 위험 분석, 공학적 개발 평가 순으로 진행됨
- (중요) 애잘 모델은 짧은 개발 주기를 반복해 가면서 지속적으로 개선하는 방식임
- 애잘 모델은 비용이 많이 드는 대규모 시스템 구축에 적합함
1-3. 소프트웨어 비용 산정 모델의 종류와 특징
- 소프트웨어 비용 산정 모델은 소프트웨어의 개발 비용을 산정하는 방법론임
- 이 모델은 소프트웨어의 개발 단계와 복잡성, 성능 등에 따라 달라짐
- (중요) 각 모델은 다양한 분야에서 활용되며, 개발자의 선택에 따라 적절한 모델을 선택해야 함
- 각 모델은 비용 계산, 잠재적 문제, 기능 추가 등을 고려해야 함
2. 소프트웨어 개발 모형과 방법론 이해
2-1. 소프트웨어 개발 모형과 그 특징
- 고전적 모형인 폭포수 모델은 계획, 개발, 유지보수 순서로 진행됨
- 프로토타입 모형은 요구사항 반영과 개선이 가능하나, 개발 단계에서 오류 수정 불가
- (중요) 애자일 모형은 고객 평가와 요구 사항에 따라 유연하게 변화하며, 소규모 프로젝트에 적합
- 애자일 모형은 명확한 계획 단계보다, 실질적인 개발 단계에 중점을 둠
2-2. 소프트웨어 개발 방법론의 종류와 특징
- 소프트웨어 개발 방법론은 구조적 방법론, 정보공학 방법론, 객체 지향 방법론 등 다양한 형태가 있음
- 구조적 방법론은 폭포수 모델과 같이 정량화된 분석 절차에 따라 사용자 요구사항을 파악하고 문서화
- (중요) 정보공학 방법론은 컴퓨팅 파워를 활용하여 소프트웨어를 개발하고 테스트
- 객체 지향 방법론은 현실 세계의 객체를 모델링하고, 이를 소프트웨어에 반영
2-3. 소프트웨어 개발 방법론의 적용과 한계
- 소프트웨어 개발 방법론은 각기 다른 상황에 따라 적절히 선택/활용되어야 함
- 각 방법론은 특정 조건 하에서만 효과적이고, 이를 잘못 적용할 경우 문제 발생 가능성 있음
- 예를 들어, 정보공학 방법론은 시스템이 객체 중심이고, 객체 지향 방법론은 대규모 시스템에 적합함
- (중요) 애자일 모형은 소규모 프로젝트에 적합하며, 고객의 요구사항에 유연하게 대응 가능
3. 소프트웨어 개발 방법론과 요구사항 관리
3-1. 소프트웨어 개발 방법론과 프로젝트 관리
- 소프트웨어 개발 방법론은 구조적 방법론, 정보공학 방법론, 객체 지향 방법론, 컴포넌트 기반 방법론, 애자일 방법론으로 나뉨
- 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영해 계획을 수립함
- 확정된 소프트웨어의 생명 주기와 개발 방법론에 맞춰 활동과 절차를 정의함
- 프로젝트 관리 시 주어진 시간 내에 최소 비용으로 사용자를 만족시키는 시스템 개발이 목표임
3-2. 요구사항 확인과 개발 방법론 선택
- 요구사항 확인은 시스템의 요구사항을 파악하고 문서화하는 체계적 분석 이론임
- 구조적 방법론, 정보공학 방법론, 객체 지향 방법론 등 다양한 개발 방법론 존재
- (중요) 요구사항에 맞게 개발할 때, 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영해 계획을 수립함
- 확정된 소프트웨어 개발 방법론의 활동 목적과 작업 내용을 산출물로 작성함
3-3. 요구사항 관리와 시스템 개발
- 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론이 요구사항 관리임
- (중요) 고객의 요구사항을 바로바로 반영해 즉시 문제를 풀어나가는 애자일 방법론이 요구사항 관리에 적합함
- 요구사항의 지속적인 중요성과 체계적인 관리의 필요성 인지
- 시스템 요구사항 정의, 문서화, 관리하는 프로세스를 공학적 측면에서 정립함
4. 요구공학과 비용 산정 모델
4-1. 요구공학 프로세스
- 요구공학 프로세스는 요구사항 도출, 분석, 명세화 등으로 구성됨
- 요구사항 도출에서는 요구사항 소스와 도출 기법이 필요함
- 분석 단계에서는 요구사항을 분류, 모델링, 구조, 기술, 설계 등으로 분류함
- (중요) 요구사항 협상이 필요한 경우, 우선순위를 정하고, 시스템 정의서나 소프트웨어 요구사항 명세서를 작성함
- 요구사항 도출 기법에는 인터뷰, 시나리오 작성, 작업 분석, 비즈니스 프로세스, 워크샵 등이 있음
4-2. 요구사항 분석과 명세
- 요구사항 분석은 상충을 해결하고 소프트웨어의 범위를 파악하는 데 도움을 줌
- (중요) 요구사항 분석에 활용되는 기법에는 데이터플로우 다이어그램, 데이터 딕셔널, 다이어그램 등이 있음
- 요구사항 명세화는 체계적인 평가와 승인을 가능하게 함
- 명세화 기법에는 시스템 정의서나 소프트웨어 요구사항서 등이 있음
4-3. 비용 산정 모델
- 비용 산정 모델은 소프트웨어의 개발 규모를 예상 비용으로 산정하는 방법임
- (중요) 비용 산정 기법에는 하향식 산정 기법과 바텀업 방식이 있음
- 하향식 기법은 과학적 접근 방식이 아닌, 경험치를 기반으로 비용을 산정함
- 바텀업 방식은 전문가에게 비용을 의뢰하여 산정함
- (중요) 각 기법은 프로젝트의 복잡도, 자원 요소, 생산성 요소 등을 고려하여 비용을 산정함
5. 소프트웨어 프로젝트 비용 산정과 자동화 추정 도구
5-1. 델파이 기법과 상향식 산정 기법 이해
- 델파이 기법은 전문가들의 의견을 종합해 비용을 산정하는 방식임
- (중요) 상향식 산정 기법은 소프트웨어의 각 기능별 비용을 산정한 후, 합산해 전체 비용을 산정함
- 상향식 산정 기법에는 '디렉토리 코딩 오브젝트 라인', '콘크리트 코딩 오브젝트 라인', '개발 환경 변수' 등이 사용됨
- 델파이 기법과 상향식 산정 기법 모두 '낙관치', '비관치', '기대치' 등의 예측치를 사용해 비용을 산정함
5-2. 수학적 산정 기법과 경험적 추정 도구의 이해
- 수학적 산정 기법은 상향식 산정 기법인데, 경험적 추정 기법 또는 실험적 추정 기법이라고도 함
- 이 기법은 개발 비용을 자동으로 산정하기 위해 기존 프로젝트 경험치를 사용함
- (중요) 슬림과 smax, satmax는 수학적 산정 기법의 종류로, 각각 다른 방식으로 비용을 산정함
- 코코모형, 풋납 모형, 기능 점수 모형 등의 기법은 각각 다른 방식으로 비용을 산정함
5-3. 기능 점수 모형의 적용과 자동화 추정 도구의 활용
- 기능 점수 모형은 소프트웨어의 기능을 정량적으로 평가하고, 해당 기능의 기능 점수를 부여함
- (중요) 이 기법은 각 기능에 가중치를 부여해 총 기능 점수를 계산하며, 비용 산정에 활용됨
- 슬림과 smax, satmax는 페일라이트 로딩 곡선과 풍납 예측 모델을 기반으로 함
- 이들 도구는 각각 소프트웨어 프로젝트의 비용을 자동화 추정 도구로 산정함
6. 소프트웨어 개발의 세부 요소와 방법론
6-1. 소프트웨어 개발의 주요 요소와 비용 산정
- 소프트웨어 개발에서 인건비가 비중이 가장 높은 요소로 중요함
- (중요) 프로젝트의 규모에 따라 숙련된 인력을 추가하고, 기능 담당 프로젝트를 관리하는 것이 중요함
- 요구되는 신뢰도가 기능 수행의 일정 기간 동안 지속되는 것을 의미함
- 비용 결정 요소와 복잡도, 성능 등이 비용 산정에 영향을 미침
6-2. 소프트웨어 개발의 흐름과 기술 기법
- 소프트웨어 개발에서 헬로시 기법을 통해 총 라인 수를 예측함
- 프로그래머 평균 생산성을 기반으로 개발 기간을 예측함
- (중요) 코코모 모델을 통해 기능 점수를 측정하고, 이를 바탕으로 비용을 산정함
- 기능 점수 산정은 슬림과 S-Max 두 가지 방법이 있으며, 이 중 S-Max가 더 효율적임
6-3. 소프트웨어 개발의 유형과 방법론
- 소프트웨어 생명주기 모델에 따라 소프트웨어 개발 과정이 순차적 또는 병렬적으로 진행됨
- (중요) 소프트웨어 개발 방법론은 구조적 방법론, 정보공학 방법론, 객체 지향 방법론 등 다양함
- 요구사항을 정의하고 문서화하여 시스템을 개선하고 관리하는 과정이 요구공학에 해당함
- 분석 단계에서는 객체 이론과 상태, 행위를 이해하고, 설계 단계에서는 객체의 속성과 메소드를 정의함
7. 소프트웨어 개발 방법론과 표준
7-1. 소프트웨어 개발 방법론의 선택
- 소프트웨어 개발 방법론은 목표와 상황에 따라 다양하게 선택됨
- (중요) 소프트웨어 개발 방법론 선정 시 고려해야 할 요소는 요구사항, 전략, 성격 등
- 각 방법론에는 하향식 산정 기법, 상향식 산정 기법, 테스트 기법 등 다양한 기법 존재
- 각 기법은 적합한 유형과 수준에 따라 적용되어야 함
- 상황과 요구사항에 따라 소프트웨어 개발 방법론을 선택하는 것이 핵심
7-2. 소프트웨어 개발 표준과 캐러닝 기준
- 소프트웨어 개발 표준은 소프트웨어 개발 단계의 품질 관리를 위한 국제 표준
- (중요) ISO 12207 모델과 CMMI 등 대표적인 소프트웨어 개발 표준 존재
- 각 표준은 개발 프로세스의 단계별 특징과 조직의 표준화된 프로세스를 제공
- 표준화된 프로세스는 개발 프로세스의 성공 여부를 결정하고, 업무 수행에 도움을 줌
7-3. 소프트웨어 개발 프레임워크의 이해
- 소프트웨어 개발 프레임워크는 조직의 프로젝트 관리와 프로세스 개선에 도움을 줌
- 프레임워크는 조직의 표준화된 프로세스를 활용하여 업무 수행
- 프레임워크의 요소에는 문서화, 품질 관리, 검증, 확인, 문제 해결 등이 포함
- (중요) 각 요소는 프로세스의 진행과 향상을 위한 요구사항으로 이해
- 프레임워크 이해는 소프트웨어 개발의 전반적인 프로세스를 관리하는 데 도움을 줌
8. 소프트웨어 개발 프로세스와 방법론
8-1. 소프트웨어 개발의 주요 프로세스와 모델
- (중요) 소프트웨어 개발 주요 프로세스를 기본 생명 주기, 지원 생명 주기, 조직 생명 주기, 통합 생명 주기로 분류함
- 소프트웨어 개발 조직의 업무 능력 및 성숙도를 평가하는 모델로 캐일러링 모델 사용
- 스파이스의 프로세스 수행 능력 단계로 6단계를 제시
- (중요) 스페이스 프로세스 단계에서 각 단계를 불안정, 수행, 관리, 확립, 예측, 최적화로 분류
8-2. 소프트웨어 개발 방법론의 테일러링
- 테일러링은 소프트웨어 개발 방법론의 절차와 사용 기법을 수정 및 보완하는 작업
- 내부적 기능과 외부적 기능에 따라 테일러링 고려사항이 달라짐
- 외부적 기준의 경우, 법적 제약사항과 표준 품질 기준이 필요
- 프로젝트 규모, 복잡도, 구성원 숙련도 등에 따라 테일러링 수준 결정
8-3. 소프트웨어 개발 프레임워크의 종류와 특징
- 스프링 프레임워크는 자바 플랫폼을 기반으로 한 오픈소스 경량형 애플리케이션 프레임워크
- (중요) 전자정보 표준 프레임워크는 개발 프레임워크의 표준화와 품질 향상을 목적으로 함
- 스트러치 프레임워크는 자바 기반의 웹 개발 프레임워크로 다양한 모듈 사용 가능
- 소프트웨어 개발 방법론의 테일러링과 프레임워크 선택, 적용 과정에 대해 이해 필요
9. 소프트웨어 개발 프레임워크 이해
9-1. 소프트웨어 개발 프레임워크 소개
- 소프트웨어 개발 프레임워크는 개발 업체가 개발한 프레임워크를 말함
- 마이크로소프트가 개발한 프레임워크는 단내 프레임워크임
- 장부 프레임워크는 파이슨 기반이며, 쉬운 URL 파싱 기능을 제공함
- (중요) 소프트웨어 개발 프레임워크의 종류는 6가지이며, 이 중 마이크로소프트가 개발한 프레임워크는 단내 프레임워크임
9-2. 소프트웨어 개발 표준 및 테일러닝 기법
- 소프트웨어 개발 표준은 품질 관리를 위한 국제 표준으로, ISO 1207 모델이 있음
- (중요) 테일러닝 기법은 프로젝트의 상황과 특성에 맞게 선택한 개발 방법론의 절차와 사용기법을 수정 및 보완하는 작업임
- 내부적 기준에는 목표, 환경, 요구사항, 규모, 보유 기술이 포함됨
- 외부적 기준에는 법적 제약 사항과 표준 품질 기준이 포함됨
9-3. 소프트웨어 개발 프레임워크 선택
- 소프트웨어 개발 방법론 테일러닝 기법에는 4가지가 있음
- 프로젝트 규모와 복잡도, 구성원의 특성 등에 따라 선택된 개발 방법론이 달라짐
- (중요) 마이크로소프트가 개발한 프레임워크는 단내 프레임워크이며, 장부 프레임워크는 파이슨 기반이임
- 테일러닝 기법은 프로젝트의 상황에 따라 수정되며, 이를 통해 프로젝트의 성공 가능성을 높일 수 있음
00:03
ncs 정보 처리 기사 다섯 번째 과목인 정보 시스템 구축 관리의 첫 번째 능력 단위 요소인 소프트웨어 개발 방법론 활용 중 첫 번째 소프트웨어 개발 방법론 선정에 대해 살펴보도록 하겠습니다. 학습목표인데요. 소프트웨어 개발 생명주기 모델의 개념과 모델 종류별 특징을 이해한다. 두 번째 정형화된 개발 방법론의 특징을 고려하여 응용 소프트웨어 특성에 맞는 개발 방법론을 선정할 수 있다. 세 번째 소프트웨어 공학 기술의 요구사항 분석 기법인 요구공학 방법론을 이해한다. 마지막 네 번째 소프트웨어 비용 산정 모델의 종류와 특징을 살펴보도록 하겠습니다.
00:52
학습 내용은 네 파트로 나눠서요 소프트웨어 생명 주기 모델 두 번째 소프트웨어 개발 방법론 세 번째 요구공학 방법론 마지막으로, 비용 산정 모델 순으로 출제 기준에 맞춰서 단계별로 살펴보겠습니다. 용어 사전으로서 두 가지만 체킹할게요 소프트웨어 개발 생명주기라는 부분은 먼저 타당성 분석 타당성을 검토한 다음에 그다음에 분석 설계 개발 테스트 운영 유지 보수 폐기 단계의 생명 주기를 가지는 것을 이야기하고요. 요구 공학은 요구사항을 정의하고 문서화하고 관리하는 프로세스를 뜻합니다. 세부 내용으로서요 첫 번째 살펴볼 대상은 소프트웨어 생명 주기 모델인데요. 시험에서 한 문제 정도 꼭 나오는 파트입니다.
01:45
이 파트에는 저희가 첫 번째 과목인 소프트웨어 설계 과목을 과목의 첫 번째 능력 단위 요소인 요구사항 분석 파트를 하기 전에 먼저 보시는 게 이해도를 높일 수 있습니다. 소프트웨어웨어 개발 생명 주기 소프트웨어 라이프 사이클 네 소프트웨어웨어 어 개발 디벨롭프 디벨먼트가 들어가면 디벨먼트가 들어가게 되면 약어로 stlc라는 것은 소프트웨어의 디벨먼트 라이프 사이클 소프트웨어 개발 생명 주기를 뜻하는 용어다 이렇게 추가적으로 설명을 드리고요. 내용을 살펴보면요 소프트웨어를 어떻게 개발할 것인가에 대한 추상적인 표현으로 순차적 또는 병렬적 단계로 나눈 것을 뜻합니다. 소프트웨어 생명주기를 표현하는 형태를 소프트웨어 생명주기 모델이라고도 하고요. 소프트웨어 공학 패러다임이라고도 합니다.
02:45
소프트웨어공학이 어떻게 바뀌어 왔는가 소프트웨어 개발 생명 주기는요 일반적으로 타당성 검토 그다음에 분석 설계 개발 테스트 운영 유지 보수 폐기 단계의 생명 주기를 가집니다. 개발자는 문제의 유형이나 개발 방법 등에 따라서 어떠한 모델을 사용할 것인가? 라는 것을 고를 수 있도록 해당 모델의 종류와 특징을 익혀 놓을 필요성이 있겠습니다. 소프트웨어 생명주기 모델의 종류는요 여러 가지가 있는데, 그중에 대표적으로 시험에 나오는 것들만 좀 뽑았어요. 네 가지만 우선 위주로 살펴보겠는데 전형적인 옛날 고전적인 모델부터 해서 프로토타입 모델 나선형 모델 레자일 모델 순으로 세부적으로 살펴보도록 하겠습니다. 첫 번째 폭포수 모델부터 살펴보겠습니다. 워터폴 모델 폭포는 아래에서 위로 올라갈 순 없잖아요.
03:44
강제적으로 자연적으로는 위에서부터 아래로 순차적으로 이렇게 폭포가 흘러가는 것처럼 각 단계를 확실하게 완료를 한 후에 그 결과에 대한 검토 승인 과정을 거친 후 다음 단계로 진행하는 개발 방법론이 되겠고요. 고전적 라이프 자이클 패러다임이라고도 하고요. 개발 과정의 앞 단계가 완료되어져야지만 포커스 모델 첫 번째 계획 그다음에 요구사항 분석 그다음에 설계 구현 테스트 유지보수 순위인데 계획 단계가 완료돼야지만 요구분석 요구사항 분석이 퍼펙트하게 완료되어져야지만 설계단계로 이렇게 넘어가는 순서가 되겠고요. 그래서 선형의 순차적 모형이다라는 특징을 가집니다. 선형 순차적 모형이라고 하면 폭포수 모델이라고 고를 수 있어야 됩니다.
04:37
각 단계가 끝난 다음에 다음 단계를 수행하기 위해 그 결과물이 명확하게 또 산출이 되어져야 된다는 부분이 있습니다. 결과물은 문서화시켜서 문서로 남겨놓아야 되겠고요. 두 번째 프로토타입 모델입니다. 프로토타입은 저희가 오변속 단계에서 시제품을 만든다 라고 했었죠. 주 목적 취지가 뭐냐 하면 사용자의 요구사항을 정확하게 파악하기 위한 목적입니다. 사용자의 요구사항을 정확하게 파악하기 위해서 실제로 개발된 소프트웨어에 대한 프로토타입 시제품은요, 일부를 만들어서 최종 결과물이 어떻게 될 것이다. 라는 것을 예측할 수 있도록 사용자한테 보여주고 거기에 대한 피드백을 받아요. 그래서 빠진 부분이 있나요? 추가되어야 될 게 있나요? 아니면 수정해야 될 게 있나요?
05:29
라고 하는 아래쪽에 해당 개념들을 살펴보게 되면 요구분석에 따라서 추출된 요구분석에 맞춰서 프로토타입을 개발하고 프로토타입에 대한 검토과정 검토 및 평가 과정을 거쳐서 수정해야 될 또는 추가되어진 요구사항이 있으면 그걸 반영해서 프로토타입을 개선해 가면서 구현해나가는 순이다. 이렇게 보시면 되겠고요. 시제품은 발주자나 개발자 모두에게 공동의 참조 모델이 되겠고 최종 결과물이 만들어지기 전에 의뢰자가요 최종 결과물의 일부 또는 모형을 볼 수가 있다. 그래서 요구사항 분석이 좀 더 원활하다 그리고 추후에 구현 단계에서는 구현의 골격이 된다. 뭐가요 프로토타입이요. 그리고 소프트웨어 개발이 완료된 시점에서 오류가 발견이 되게 되면 폭포 오류가 발견되는 폭포수 모형의 단점을 보완하기 위해 만들어진 모형이 프로토타입 모형이 되겠습니다.
06:27
마지막 단계 다 만들어 가지고 넘겨줬는데 어 이 뭐가 빠졌어요. 그럼 어떻게 해야 돼요. 처음부터 다시 해야 되니까. 오히려 비용이 더 증가하더라 그래서 그 단점을 보완하기 위해서 프로토타입 모델이 만들어졌다 이렇게 이해하시면 되겠습니다. 세 번째 나선형 모델입니다. 나선형 모델은 스퍼럴 모델이라고 하는데요. 보엠이 제안한 것으로서 폭포수 모델 기존의 폭포수 모형과 그리고 프로토타입 모형이 가지고 있는 장점에다가 추가시킨 게 뭐냐면 위험 분석 기능을 추가시켰어요. 그래서 이 나선형 모델은 위에 보면 개념도 제시해 놓았는데요. 최초의 초기의 계획 및 요구 분석 자 4파트로 나눠집니다.
07:13
개발 순서는요 크게는 계획 및 정의 그리고 위험 분석 그 다음에 개발 그 다음에 고객 평가 이런 순으로 진행이 되어지는데 스퍼롤이라고 하는 게 단면적으로 그냥 이렇게 평면에다가 원형을 그리는 게 아니라 시간적 흐름에 따라서 입체적으로 생각을 하시게 되면 그려 나갈 때 어떻게 그리냐면 안쪽에서 이렇게 그려 나오신다고 보시면 돼요. 이런 식으로 네 그래서 시간적 흐름에 따라가지고 얘기가 반복이 되어지는 거죠. 그래서 계획 및 초기의 요구 분석이 있는가 하면 그 계획 및 초기에 대한 1차 위험 분석을 하고 1차 시제품을 만들고 1차 평가를 하고 또다시 네 추가적인 요구 분석 그다음에 또 2차 지기 위험 분석 2차 시제품 개발하고 2차 사용자 평가 이런 식으로 진행되어진다 라고 보시면 되겠습니다.
08:06
나선을 따라서 돌듯이 여러 번 소프트웨어 개발 과정을 거쳐서 점진적으로 점진적으로 점차적으로 완벽하게 소프트웨어를 개발해 가는 것이라서 점진적 모형이라고도 합니다. 개발 순서는 계획 및 정의 위험 분석 공학적 개발 평가 순으로 진행되어진다 소프트웨어 개발에서 발생할 수 있는 위험을 관리 위험을 관리하고 최소화하는 것이 목적이고요. 비용이 많이 드는 대규모의 시스템 구축에 적합한 방법입니다. 대규모 시스템 구축에 적합한 방법은 나선형 모델 이렇게 특징 지으시면 되겠습니다. 마지막으로요 애잘 모델 애잘 모델은 애잘이라는 뜻 자체가 민첩하다 또는 기민하다 빠르게라는 의미를 가집니다.
09:00
스프린트 또는 이터레이션 스프린트라고 하는 부분은 전력질주 단거리 전력질주 막 이렇게 단거리로 힘차게 적제하는 거 이터레이션은 반복하는 거 네 스프린트 또는 이터레이션이라고 하는 짧은 개발 주기를 반복해 가면서 개발을 진행하는 특징이 있습니다. 각 개발 주기마다 만들어지는 결과물에 대해서 고객의 평가와 요구를 적극 수행한다. 예잘 모델이 만들어진 동기는 기존의 폭포수 모델이라든지. 해당 네 나선형 모델이라든지. 프로토타입이라든지. 이러한 것들이 보면 계획 단계에서의 문서 작업들이 많이 요구되어지다 보니까 문서 작업을 하다가 시간을 다 보내는 거예요.
09:46
그래서 그거를 줄이자 오히려 문서 작업을 줄이고 실제 개발을 통해 가지고 요구 사항들을 해당 규모를 넓게 잡지 말고 범위를 좁게 잡아가지고, 요만큼 완성하고 난 다음에 또 평가받고 어 됐어 또 다음 거 이렇게 단계별로 해나가는 그래서 소규모 프로젝트에 적합합니다. 그리고 고도의 숙련된 개발자가 있으면 더 좋겠고 겉변하는 요구사항에 맞춰 가지고 맞춤 형태로 요구사항들을 계속 받 수렴해 갈 수가 있다. 라는 특징이 있습니다. 애자일 개발의 네 가지 핵심 가치를 보면 이해도 좀 나올 것 같은데요.
10:19
이 애자일 개발에 대한 선언문 내에 네 가지 핵심 가치가 포함되어 있었는데, 프로세스와 도구보다는 개인과 그들의 협업에 더 가치를 두자 그리고 포괄적인 문서화보다는 제대로 동작하는 소프트웨어에 더 가치를 두자 계약 협상보다는 고객과의 협력에 더 가치를 두고 계획에 따르기보다는 변화에 대응해 가는 것에 더 가치를 두자 뒤에 게 더 제일 가치를 많이 두는 부분이라고 생각하시면 돼요. 이라고 하는 네 가지 핵심 가치가 있습니다.
10:55
마지막으로, 애잘 모형을 기반으로 만들어진 소프트웨어 개발 모형의 종류로서는요 용어만 우선 정리할게요 스크롬 그 다음에 익스트림 프리 프로그램이 약원이 엑스피 그다음에 칸반 린 그리고 크리스탈 asd 그리고 fdd 약어들이라서요 약어를 풀어보면 의미가 좀 이해가 좀 더 되는데 다이나믹 시스템 디벨먼트 메소드의 약어인 dstm 그리고 디스플로올린드 에잘 딜리볼 우리의 약어인 dad 이러한 소프트웨어 개발 모형들이 asr 모형을 기반으로 만들어진 모형들이 되겠고 몇 가지만 비교해 볼게요 에잘 모델 세 가지만 방법론 비교를 해보면 xp라고 하는 부분 자체는요 익스트림 프로그래밍 기법인데 의사소통 개선과 즉각적인 피드백에 의한 단순한 코딩으로 소프트웨어 품질을 높이기 위한 방법론이다.
11:55
특징은요, 1 내지 3주의 이터레이션 반복 주기를 가지고요. 다섯 가지 가치를 가지는데 용기 단순성 의사소통 피드백 존경 그리고 열두 개의 실천 항목들이 있다. 이렇게만 특징 잡아보겠고 그다음에 스크럼 스크럼은 얘는요 대치한다. 이 럭비를 할 때 럭비 선수들이 이렇게 막 이렇게 공을 잡기 위해가지고 딱 대치하는 상황 있죠. 매일 정해진 시간이 정해진 장소에서 짧은 시간에 개발을 위한 팀 어 짧은 시간에 개발을 하는 팀을 위한 프로젝트 관리 중심의 방법론이고요. 30일마다 동작 가능한 제품을 제공하여 하는 스프린트 중심으로 진행이 되어집니다. 관련된 특징으로서는 백로우가 있는데, 제품과 프로젝트에 대한 요구사항이고요. 스프린트라고 하는 부분은 30일 단위의 반복의 짧은 개발 기간으로 분리해서 반복적으로 수행하는 것을 이야기한다.
12:55
스프린트에 포함되어지는 절차가 앞단의 그림상에서 보면 설계 테스트 개발 이게 하나의 스프린트 짧은 반복주의가 되겠습니다. 짧은 프로세스가 되겠습니다. 설계 테스트 개발 다음 두 번째 스프린트 설계 테스트 개발 이렇게 스크럼의 미팅은 매일 15분 정도 미팅으로 오늘 그리고 내일 해야 할 일들을 계획을 잡고요. 스크럼 마스터는 전체적인 프로젝트 리더가 되겠습니다. 그리고 린 방법론이 있는데요. 린방법론은 일본의 도요타 생산 시스템에 대한 재정립 경영 방법론인 린 시스템의 품질 기법을 소프트웨어 개발에 적용한 개발 방법론이 되겠고요. 낭비 요소에 대한 제거를 통해서 프로세스 향상을 목적으로 합니다.
13:43
일곱 가지 원칙으로서는 낭비 제거 품질 내재와 지식 단축 너전 확증 확정 그리고 빠른 인두 사람 존중 전체 최적화라고 하는 특징이 있습니다. 세부적인 내용보다는요 애자연 모델을 사용한 방법이 아닌 거 골라 이 정도로만 나옵니다. 개괄적으로 자 해당 파트에 대한 퀴즈로 정리해 볼게요 첫 번째 소프트웨어 생명주기 모형인 보호회가 제시한 고전적 생명주기 모형이다. 고전적이라는 단어가 들어가게 되면 포커스 모델을 그냥 뽑아도 되겠습니다. 선형 순차적 모델이야 네 여기까지 그리고 타당성 검토 계획과 소프트웨어 분석 설계 구현 테스트 유지 보수 단계를 통해서 소프트웨어 개발한 모형은 도포수 모형입니다. 일 번 정답이고요.
14:38
다음 2번 프로토타이핑 모형에 대한 설명으로 옳지 않은 것은 프로토타입 시제품을 만들어서 요구 사항을 수렴해 옳지 않은 것 첫 번째 개발 단계에서 오류 수정이 불가하기 때문에 유지 보수 비용이 많이 발생을 한다. 개발 단계에서 오류 수정이 불가하다 자 이 특징은 프로토타입 모형에 대한 특징이 아니고요. 네 요구사항을 반영해서요. 바로 반영을 할 수 있죠. 추가적인 어떤 이 점이 잘못됐어요. 프로토타입을 사용해 보도록 하고 거기에 대한 의견 수렴을 통해 가지고 개선해 나가는 거죠. 그렇기 때문에 일 번 설명이 틀렸고 최종 결과물이 만들기 전에 의뢰자가 최종 결과물을 일부 또는 모양을 사용해볼 수 있다. 프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델이 된다. 그리고 프로토타입은 구현 단계의 구현 골격이 될 수 있다. 라는 부분은 맞습니다.
15:37
세 번째 소프트웨어 생명주기 모형충인 sporal 나선형 모형 나선형 모델에 대한 설명으로 가장 옳지 않은 거 틀린 거 대규모의 시스템이 적합합니다. 맞아요. 위험 관리라는 부분을 추가시켰죠 그래서 조금 해보고 해당 위험사항이 있으면 그걸 다시 반영 이렇게 나가는 규모가 작은 것보다는 규모가 큰 거 작은 규모인 경우에는 애자일이 맞았죠 소규모는 애자일 방법이 맞았고 두 번째 개발 순서는 계획 및 정의 위험 분석 공학적 개발 고객의 평가 순으로 진행된다. 그쵸. 위험 분석이 들어가고 첫 번째 계획 및 정의 두 번째 위험 분석 세 번째 공학적 개발 네 번째 고객 평가 수준 다음 세 번째 소프트웨어 개발을 하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다. 맞습니다.
16:31
개발 과정의 앞 단계가 완료되어야지만 다음 단계로 넘어갈 수 있는 선형의 순차적 모형은 워터폴이었죠. 폭포스 모델 그래서 틀린 설명은 4번입니다. 나선형 모델 스플로러 모델에 해당하지 않는 거 네 번째 애잘 모형의 특징에 해당하는 거 해당하지 않는 것은 형식보다는 성숙도 망가진 인간관계 망가짐 중심이야 사람중심 개발 중심보다는 문서 중심이냐 바뀌었어요. 문서 중심보다 실제적으로 개발을 위주로 합니다. 풀셋 중심이 아닌 사람 중심 사람 사이의 참여와 소통에 관한 문제 중심이다. 맞습니다. 다음 두 번째 파트로서요 소프트웨어 개발 방법론에 대해 살펴보도록 하겠습니다.
17:18
소프트웨어 개발 방법론이라는 개념은 소프트웨어 개발 유지 보수 등의 필요한 여러 가지 일들을 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것이 소프트웨어 개발 방법론이다. 소프트웨어 개발 방법론의 궁극적인 목적은 소프트웨어에 대한 생산성과 품질을 높이자라는 게 목적이 되겠고요. 소프트웨어 개발 방법론의 종류로서는 여러 가지가 있는데, 구조적 방법론 역사적인 순차적인 흐름입니다. 구조적 방법론 정보공학 방법론 객체 지향 방법론 그리고 컴포넌트 기반의 방법론 애자의 방법론 제품 계열 방법론이 있는데, 단계별로 살펴보도록 하겠습니다.
18:11
첫 번째 소프트웨어 개발 방법론 구조적 방법론은 폭포수 모델과 같이 정량화되어진 어떤 분석 절차에 따라서요 사용자 요구사항을 파악하여 문서화하는 체계적 분석 이론이다. 이 구조적 방법론에서는 중요하게 생각하는 부분은 뭐냐면 처리 절차예요. 프로세스 중심적인 부분에 포커스를 두고 있습니다. 그래서 구조적 방법론을 사용하는 대표적인 프로그램은 c언어라든지 함수 처리하는 절차적인 부분 자체를 위주로 개발하는 쉬운 이해 및 검증이 가능한 프로그램 코드 생성이 목적이다. 두 번째 정보공학 방법론 정보공학 방법론은 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론인데 구조적 방법론에서 오는 프로세스 중심적인 개발이었다면 정보공학 방법론은 데이터 중심적인 방법론입니다.
19:11
데이터 자료 중심적인 방법론에 의한 특징이 있습니다. 정보시스템 개발 주기를 이용해서 대규모의 정보시스템 구축에 적합합니다. 대규모 정보시스템 구축에 적합하다 다음 세 번째 자주 저희가 접했던 객체 지향입니다. 객체 지향 방법론은 2천 년대부터 주목받고 있는 90년대 중반 이후부터 주목받고 있는 대표적인 개발 방법론이고요. 현실 세계의 개체를 하나 기계 부품의 하나의 객체로 만들어서 소프트웨어 개발할 때 기계 부품을 조립하듯이 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론이 되겠고요. 설계할 때 자료와 자료에 가해지는 프로세스를 묶어서 정의를 하고요.
19:55
그리고 관계도 가지고 객체 지향 방법론을 구성 요소하는 클래스 객체 메시지 등이 있겠고 객체 지향 방법론의 특징은요, 다섯 가지 캡슐화 정보원리 추상화 상속성 다형성이라는 특징이 있습니다. 방법론 중에서는 객체지향 방법론에 대한 문제가 자주 나옵니다. 다음 네 번째 컴포넌트 기반 방법론은요, 아까 객체지향 방법론은 90년대 중반 이후라고 말씀드렸죠 컴포넌트는 객체의 꾸름이에요. 보다 더 큰 단위별로요 컴포넌트 기반 개발 방법론은 기존에 실습되는 소프트웨어를 구성하는 컴포넌트를 컴포넌트라는 것은 파일이나 라이브러드론과 같은 모듈화되어진 자원이다. 컴포넌트를 조합하여 하나의 새로운 어플로케이션을 만드는 방법론이 되겠습니다. 집을 건축을 예제로 해서 소프트웨어 공학을 설명을 많이 하거든요.
20:53
객체라는 거는 집 지을 때 벽돌이라고 생각하시면 되고요. 벽돌 벽돌이 하나의 객체라는 단위가 된다면 컴포넌트는 조립식 벽체라고 생각하시면 돼요. 조립식 건물 있죠. 조립식 건물에 보면 벽체라든지 보다 큰 단위라고 보시면 돼요. 컴포넌트는 재사용이 가능하기 때문에 시간과 노력을 절감시킬 수 있다. 그리고 유지보수 비용을 최소화하고요. 생산성 및 품질을 향상시킨다. 다섯 번째 애잘 방법론 애잘 방법론은 고객의 요구사항 변화에 유용하게 대응이라는 게 주 특징이고요. 일정한 주기를 반복 개발 과정을 통해서 진행하는 방법론이다. 소규모 프로젝트에 적합하고요. 고도로 숙달된 개발자와 그리고 급변하는 요구사항에 적합하다 배달 방법론 종류는 익스트림 프로그래밍 엑스피유 그리고 스크럼 칸반 크리스탈 등이 있었죠.
21:51
다음 마지막으로, 제품 개열 방법론 특정한 제품에 적용하고 싶은 공통되어진 기능을 정의하여 개발하는 방법론이 되겠습니다. 제품이라고 하는 키워드가 들어가는 방법론이다. 이렇게 개념 잡으시면 쉽게 이해할 수 있겠고 임베디드 소프트웨어에 적합하다 임베이디드 소프트웨어란 디지털 tv라든지 냉장고 등 해당 제품의 특정 기능에 맞게 하드웨어의 내장되어진 소프트웨어라고 보시면 돼요. 임베디드 내장형 다음 제품 계열 방법론은 다시 영역 공학과 응용 공학으로 구분을 하였는데요. 영역 공학이라고 하는 부분은 영역 분석 영역 설계의 핵심 자산을 구현하는 영역을 이야기하고요. 응용 공학은 제품 요구 분석과 제품 설계의 제품을 구현하는 영역이 되겠다.
22:44
영역공학과 응용공학을 연계를 위해서 제품의 요구사항과 아키텍처 조립 생산이 필요하다고 정리하도록 하겠습니다. 네, 그러면 저희가 살펴봤던 이 소프트웨어 개발 방법론 6가지가 있었어요. 이 6가지 중에 우리가 지금 수행하고자 하는 프로젝트에 어떤 게 적합할까 소프트웨어 개발 방법론을 먼저 계획 단계에서 정해야 되는데 결정할 때 어떻게 결정하느냐 네 정리해보면 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 반영을 하고요. 확정되어진 소프트웨어의 생명 주기와 개발 방법론에 맞춰서요 소프트웨어 개발 단계 활동 작업 절차 등을 정의합니다. 소프트웨어 개발 방법론 결정이라고 하는 부분은 그리고 이 개발 방법론의 결정 절차는요 먼저 프로젝트 관리와 재사용 현황을 소프트웨어 개발 방법론에 먼저 반영을 하고요.
23:42
프로젝트 관리와 재사용 현황 그리고 두 번째 개발 단계별로요 작업 및 절차를요 소프트웨어 생명 주기에 맞춰서 수립하고요. 마지막으로, 결정되어진 소프트웨어 개발 방법론의 개발 단계별 활동 목적과 작업 내용 그리고 산출물에 대한 매뉴얼 작성 순으로 진행을 합니다. 추가적으로 프로젝트 관리를 하는 부분은요, 주어진 시간 내에 최소 비용으로 사용자를 만족시킬 수 있는 시스템을 개발하기 위한 전반적 활동을 뜻한다. 문제를 정리하겠습니다. 첫 번째 다음의 설명에 해당하는 숙제 개발 방법론의 종류는 뭔가 정형화되어진 분석 절차에 따라서 사용자 요구사항을 파악하여 문서화하는 체계적 분석 이론이야 쉽다 쉽게 이해할 수 있고 검증할 수 있는 프로그램 코드 생성을 목적으로 한다는 여섯 가지 방법론 중에 구조적 방법론에 해당되어지는 설명입니다.
24:40
정용화된 분석이라는 게 키포인트가 되겠고 그리고 소스 코드 생성 목적이다. 두 번째 객체 제향 프로그램 개발 기법에 대한 설명으로 옳지 않은 것은 소프트웨어의 재사용률이 높아져요 객체라는 단위를 사용을 해가지고 재사용률이 높아지는데 맞고요. 절차 중심적인 프로그램 기법이에요. 절차 중심적인 프로그램 기법은 구조적 방법론이었습니다. 객체 지향은 말 그대로 객체 중심적으로 프레임을 하죠. 객체는 해당 데이터와 동작을 묶은 하나의 꾸러미 단위가 되겠고요. 세번째 개체 모델의 주요 요소인 추상화 캡슐화 모듈화가 있다. 설계할 때 자료와 자료에 가해지는 프로세스를 묶어가지고 정리하고 관계를 규명한다. 맞습니다.
25:27
세 번째 고객의 요구사항을 바로바로 반영 즉시 반영하여 상황에 따라 주어진 문제를 풀어나가는 소프트웨어 개발 방법론은 빠르다 민첩하다를 뜻하는 애자인 방법론이 되겠습니다. 2번정답 다음 네 번째 다음 중 제품 계열 방법론에 관한 설명으로 가장 올바른 것은 맞는 걸 골라 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론이에요. 라고 설명했던 방법론의 특징은 정보공학 방법론이었고요. 두 번째 고객의 요구사항을 바로바로 반영 이건 애자일이죠. 애자일방법론 그 다음 특정 제품에 적용하고 싶은 공통된 특징 여기 제품이라는 키워드가 있습니다.
26:19
공정된 기능을 정의 개발하는 방법론이 제품 계열 방법론이 되겠고 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 시스템을 개발해 가는 프로그램 개발하는 방법론은 컴포넌트 기반의 방법론 약어로 컴포넌트 베이스 디벨먼트 cbd 방법론이라고도 합니다. 다음 요구공학 방법론에 대해 살펴보도록 하겠는데요. 이 파트는 저희가 첫 번째 챕터의 요구사항 확인 부분이 요구사항 확인하기 그 내용과 중복사항이 있습니다. 요구공학이라고 하는 부분에 대한 개념입니다. 시스템에 대한 규모가 점진적으로 커져요 커지면서 막 이렇게 개발해보다 보니까 경험치로 야 이거 요구사항이 제대로 반영이 안 되다 보니까 다시 해야 되고 비용이 더 많이 드네 그래서 즉 요구사항에 대한 지속적인 중요도가 높아졌고요.
27:10
그리고 요구사항에 대한 체계적인 관리에 대한 필요성이 대두하면서 시스템의 요구사항을 정의하고 문서화하고 관리하는 해당 프로세스를 공학적 측면에서 정립하자 그게 요구공학이라고 보시면 돼요. 요구공학의 목적은 이해관계자 사이에 효과적인 의사소통 수단을 제공을 하고 요구사항에 대한 공통 이해 설정을 목적으로 합니다. 결과적으로는요 요구사항이 제대로 수렴되지 않았을 때 발생할 수 있는 추가적인 비용을 불필요하게 요구되는 비용을 절감하고 요구사항에 대한 변경추적을 가능하게 하는 것을 목적으로 합니다. 요구공학 방법론에서의 요구공학 프로세스 절차인데요. 도출 분석 뭘요 요구사항을요 요구사항을 도출 요구사항을 분석 요구사항을 명세화하고 요구사항을 확인한다.
28:02
그 절차적 측면에서 대상이 되어지는 부분들 도출에서는 요구사항 소스와 요구사항 도출 기법이 필요하고 분석 단계에서는 요구사항을 분류 개념 모델링 구조 기술 구조 설계 및 요구사항 할당 그리고 요구사항 협상이 필요할 경우도 있다. 요구사항이 창 있게 서로 충돌하는 경우에는 우리는 이거 해주세요. 그래서 서로 충동돼요. 충돌이 발생하면 어느 걸 우선으로 할까 협상 그리고 명세는 시스템 정의서나 소프트웨어 요구사항 명세서를 작성하는 걸 이야기하고 확인은 검토 프로토타이핑 모델 검증 인수 테스트가 되겠습니다. 세부적으로요 요구사항 도출입니다. 리카인먼트 일러스테이션 소프트웨어가 해결해야 될 문제를 이해하고요.
28:49
요구사항이 어디에 있고 어떻게 수집을 해야 하는 거와 관련이 되어진다 요구사항을 뽑아낼 수 있는 활용 기법 지금은요, 보편적으로 많이 사용하는 건 뭐냐면 해당 실제 그 업무를 담당하는 담당자하고 인터뷰를 통해 가지고요. 내용을 파악하는 인터뷰 기법이 있고요. 근데 이 협조가 잘 안 될 수 있어요. 나는 기존에 일을 해야 되는데 오라 그래 가지고 이거 어떻게 하냐고 물으면 네 그래서 오너의 정책적인 측면에 대한 게 중요합니다.
29:21
협조를 잘해주라 이렇게 어쨌든 인터뷰 그리고 시나리오를 작성해 보는 거 그리고 작업 분석 그리고 비즈니스 프로세스 리엔지니어링인 bpr 비즈니스 프로세스에 대한 제공학적인 측면에서 접근하는 거 rft는 해당 요청서 제안서 워크샵이나 벤치마킹 등 이 요구사항 도출에 활용되어지는 기법들이 되겠습니다. 이거는 문제화해서 낼 수 있어요. 다음 요구사항 도출에 사용하는 기법이 아닌 거 고르세요. 1번 인터뷰 2번 뭐, 뭐 워크샵 3번 뭐 이런 식으로 다음 두 번째 요구사항 분석입니다. 네 요구사항 분석은요, 요구사항들 간의 상충을 해결하고 소프트웨어의 범위를 파악하며 소프트웨어가 환경과 어떻게 적용하는지를 이해하는 것을 이야기하고요.
30:09
이 요구사항 분석에 활용되어지는 기법으로서는요 구조적 분석으로서는 데이터플로우 다이어그램 dfd나 데이터 딕셔너리 데이터 사전 그리고 엔터티 릴레이션십 다이어그램 erd 일반적으로 많이 사용하는 방식은 유스케이스 기반인 uml을 다이어그램을 그려본다든지 또는 모델링을 한다든지 이러한 기법들이 요구사항 분석 기법이 되겠고요. 세 번째 요구사항 명세입니다. 스페시피케이션 체계적으로 검토 평가 승인할 수 있는 문서를 작성하는 것을 이야기하고요. 대상이 되어지는 것은 시스템 정의 전환 시스템 요구사항 그리고 소프트웨어 요구사항서가 되겠습니다.
30:55
활용 기법으로서는 er 모델링 그리고 피니트 스테이트 머신이라고 해서 유한 상태의 기계나 fsn 그리고 stat 구조화 해석 설계 기법이라고 스트럭처드 어날로시스 앤 디자인 테크닉 와 같은 요구사항 어 명세 활용 기법들이 있고요. 그리고 음 요구사항 확인 및 검증 마지막입니다. 밸러데이션하고요. 베리피케이션하고 차이가 어떻게 되는가 밸리데이션은 확인입니다. 베리피케이션은 검증입니다. 요구사항 파트에서는 분석가가 요구사항을 이해를 잘 했느냐 라는 것을 밸리데이션 합니다. 확인하는 거고요. 그리고 요구사항 문서가 일관성 있고 완전하게 잘 되어졌는지 라는 부분은 검증을 합니다. 베리피케이션 이해관계자들의 문서 검토 및 형상 관리 수행과 리소스가 요구사항이 할당되기 전에 문서 파악을 위한 검증 수행을 하고요.
31:52
활용 기법으로서는 검토와 프로토타이핑과 모델 검증과 인수하고 난 다음에 테스트를 통해서 추구하는 유니시 테스트가 있겠습니다. 퀴즈인데요. 다음 중 요구공학의 설명으로 옳지 않은 것은 개념 문제입니다. 1번 시스템 요구사항 문서를 생성 검증 관리하기 위하여 수행되는 구조화되어진 활동의 집합을 뜻합니다. 오케이 맞고요. 두 번째 요구사항의 획득 분석 명세 검증 병명관리 기능 구현 등이 수행되는 구조화된 활동이 집합이에요. 여기까지 꺼내야 되죠. 분석 명세 검증까지고요. 변경관리나 기능 구현은 요구공학의 요구사항이 아니죠. 요구사항 파트와 관련성이 떨어집니다.
32:45
2번이 틀렸고 이해관계자 사이에 효과적인 의사소통 수단을 제공하고 요구사항에 대한 공통 이해를 설정합니다. 맞고요. 요구사항 손실 방지 및 페러 감지로 불필요한 비용을 절감하고 요구사항 변경 추적을 가능하게 합니다. 맞습니다. 두 번째 사용자의 요구가 정확하게 요구사항 명세서에 기술이 되어졌는가를 검토하고 베이스라인으로 기준으로 설정하는 활동은 뭔지 요구사항에 대한 검증이었죠. 도출명세 분석 검증 중에 검증입니다. 베리피케이션 다음 마지막으로, 비용 산정 모델에 대해 살펴보도록 하겠는데요. 비용 산정 모델에 대해서는 문제가 한 문제씩 나올 수 있어요. 근데 이 공식적인 부분에 너무 세부적으로 접근을 안 하셔도 돼요. 개념적으로만 네 접근하셔도 돼요. 자 먼저 내용 보겠습니다.
33:42
소프트웨어 비용 산정이라는 건 뭔데 소프트웨어의 개발 규모를 소요되는 인원과 자원과 기관 등으로 확인을 해서 실행 가능한 계획을 수립하기 위해 필요로 하는 비용을 예측하는 과학적 합리적 활동을 뜻합니다. 비용 산정이 제대로 되어져야지 해당 발주자 입장에서는 어디 하나 입장에서는 아 이 정도 비용이면 되겠다. 일단 합리적 가격을 확인할 수 있겠고 개발자 입장에서는 우리는 이 정도 프로젝트를 수행하기 위해서는 이만큼 비용은 꼭 든다. 라는 요구를 할 수 있을 때 근거가 될 수 있겠죠.
34:21
소프트웨어 비용 산정의 선정 기법의 종류는요 크게는 어 위에서 아래로 탑다운 방식의 하향식 선정 기법이 있고 그다음에 바텀업 방식 상향식 선정 방법으로 나눌 수가 있는데, 세부적으로 뒤에서 살펴보겠고 소프트웨어 비용을 결정하는 요소 세 가지 기출 문제가 나왔던 내용이라서 정리했습니다. 소프트웨어 비용 결정 요소는요 먼저 프로젝트 요소가 있고요. 자원 요소가 있고요. 생산적 요소가 있어요. 프로젝트 요소에 해당되는 건 뭔데 프로젝트 요소에는 제품에 대한 복잡도 얼마나 복잡하냐? 크기 그리고 요구되는 신뢰도 요구되는 신뢰도라는 부분은 일정 기간 내에 주어진 조건 하에 프로그램이 필요한 기능을 수행할 수 있는 정도가 요구되는 신뢰도입니다. 자원 요소로서는 인적 자원 개발 관련되어진 전체 인력들 그리고 활용 및 소프트웨어 자원이 있겠고요.
35:19
생산성 요소적인 부분 자체는 개발자에 대한 능력입니다. 그다음 소프트웨어 개발자들 같은 경우에는 저는 경력이 이만큼 됐어요. 그게 크게 중요하기보다는 어떤 프로젝트에서 어떤 업무를 수행했다. 그게 오히려 더 중요하게 여겨집니다. 개발자의 능력 그리고 개발 기간이 생산성 요소에 해당되어집니다. 산정 기법의 종류로도 첫 번째 하향식 적 산정 기법 합당한 방식이에요. 위에서 아래로 이 하향식 적 산정 기법은 과학적인 접근 어떤 분석 방식이 아니라 비과학적인 기법입니다. 과거에 유사 경험을 바탕으로 회의를 통해서 산정한다. 기존에 유사 프로젝트를 수행했던 프로젝트 매니저라든지 그 사람들이 이런 프로젝트를 수행한다고요. 그러면 비용은 예전에 경험치를 이 정도 들었어요.
36:15
이렇게 어떤 구체적인 어떠한 상세의 어떤 데이터를 바탕으로 해서 산정하는 게 아니라 하향 산정 기법 종류는 두 가지가 있는데요. 전문가 감정 기법이 있다. 조직 내에 경험이 있는 2명 이상의 전문가에게 비용 산정을 의뢰해서요. 어 산정을 하는 곳인데 단점은요, 개인적이고 주관적일 수가 있어요. 그래서 이걸 보완하는 게 델파이 기법입니다. 델파이 기법은 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가의 의견을 종합해서 비용을 산정하는 방식인데 이 방법도 마찬가지 경험치를 베이스로 해가지고 비과학적으로 뽑아내는 기법입니다. 하향식 산정 기법 두 가지 전문가 감정 기법과 델파이 기법이 있다.
37:01
반면에 상향식 산정 기법 나머지는 상향 산정 기법인데 어 첫 번째로서요 4년 상향 시 산정 기법은 개념은 세부적 작업 단위별로요 세부적 작업 단위별로 비용을 산정한 다음에 합산해서 전체 비용을 산정하는 방법이 되겠고 대표적으로 loc 기법이 있어요. 소스로 라인 오브 코드요 원시 코드 라인의 수 그다음 이 프로그램 만들 때 어느 정도의 소스 코딩이 필요하냐? 원시 코드 라인 수를 기반으로 뽑아내는 roc 기법 소프트웨어의 각 기능이 코드라인 수에 대한 비관치는 가장 많이 소요되는 라인 수는 어느 정도 될까 라는 게 비관치고요. 반대로 낙관치는 가장 적게 요구되는 라인일수록 이거는 프로그램에 대한 역량에 따라서요 라인이 꼭 많아야지만 결과치를 만들어낸다 그건 아니거든요.
38:00
반복적으로 수행하는 코드 같은 경우에는 반복문으로 처리해 보면 훨씬 더 줄일 수 있잖아요. 자 어쨌든 비관치 낙관치 그리고 기대치 평균 라인 수 전체 코딩 라인 수의 평균치 를 측정해서요. 예측치를 구한다. 그 예측치를 구하는 공식은 여기 참고적으로 6분의 낙관치 플러스 4 곱하기 기대치 플러스 비관치 이렇게 나누는데 이 공식은 몰라도 됩니다. 개념으로 정리하시면 돼요. 소프트웨어의 원시 코드로 라인 수의 비관치 낙관치 기대치 예측치를 구해서 비용을 산정하는 기법은 뭔데 lac 기법이다. 이렇게 산정의 공식 이해는 단순 산술적으로 곱하고 나누고 정도로만 구할 수 있는 형태니까 공식을 꼭 암기할 필요는 없고요. 노력이라고 하는 부분은 인월입니다.
38:49
월당 소요되어지는 인원수 인월이라는 건 월 먼스 먼스요 먼스 그 다음에 맨 그래서 mm이라고도 표현을 해요. 필요한 사람 수 월 약어로 mm이라고도 표현합니다. mm 사람 수는 개발기관 곱하기 투입 인원수가 되겠죠. 그리고 전체 코드 라인 수 나누기 한 사람당 월평균 코드 라인수 로 해서 몇 명이 필요하다 이렇게 구할 수도 있겠고 개발 비용은요, 노력인 월수 곱하기 1인당 월평균 인건비 비용 그리고 생산성은요, 네 로씨 나누기 노력 인 월 이렇게 구할 수가 있겠습니다.
39:34
뒤에 문제 가지고 풀어볼게요 그리고 두 번째는 에퍼튜퍼 태스크 기법 에퍼트 에퍼튜포 테스 어퍼 캐스크 기법 테스크당 애플 2 개발 단계별인 월수 기법인데요. 각 기능을 구현하는 데 필요한 노력을 생명주기의 각 단계별로 차이가 있을 수 있으니까 단계별로 산정을 하는 방법으로 lac 기법보다는 좀 더 정확하다. 그리고 세 번째로, 수학적 산정 기법이라고 했는데 별도로 뺐지만 이 수학적 산정 기법은 상향식 산정 기법에 해당되어집니다. 궁극적으로는 상향식 상향식 산정 기법인데 경험적 추정 기법 또는 실험적 추적 기법이라고도 하고 개발 비용 산정을 자동화 자동적으로 구해보자 라는 걸 목표로 합니다.
40:30
비용을 자동으로 산정하기 위해서 필요로 사용되는 공식은 기존에 유사한 프로젝트를 진행했던 경험치로 유도가 된 공식입니다. 수학적 산정기법의 종류는 코코모형 풋납 모형 기능 점수 모형 세 가지 위주로 살펴보도록 하겠는데요. 여기서 특징적인 부분은 코코몬 모형과 토트남 모형은요, 얘는 los를 기반으로 합니다. roc를 기반으로 roc는 코드 라인 수였죠 근데 이 기능 점수는 펑션 포인트라고 하는 기능 점수를 위주로 뽑아요. 라인 수가 아니라 기능 위주입니다. 그 차이가 있어요. 자 코코모 컨스트럭티브 코스트 모델의 약어입니다. 코코모는 보햄이 제안한 것으로 원시 프로그램의 규모인 엘로시 원시 코드 라인스를 기반으로 해서요. 비용 산정을 합니다.
41:28
개발할 소프트웨어의 규모와 소프트웨어의 종류에 따라서 여기서는 이제 두 가지 특징으로서 소프트웨어의 규모 그리고 소프트웨어 종류 어떤 용도의 소프트웨어이냐 두 가지를 같이 따져요 해서 다시 세분화해서 조직형 어고닉 모드와 그리고 반분리형 세미 디테치드 모드와 내장형 모드 임베이디드 모델로 분류해서 비용 산정 공식이 다릅니다. 조직형은 중소 규모로 eloc 라인 수가 5만 라인 정도 그리고 ksdi라고 하는 부분 자체는 킬로 딜리버드 소스 인스트럭션의 약어로서요 천 천 단위로 묶은 게 네 그래서 킬로라고 생각하시면 돼요. 킬로엘오씨라고도 볼 수 있어요. 네 5만 라인이니까. 여기가 천이니까.
42:23
50ksdr 이렇게 소프트웨어로 사무처리용 업무용 과학용 응용 소프트웨어 개발에 적합하다 반분리형은요, 조직형과 내장의 중간단계 규모로서요 트렌징 처리 시스템이나 운영체제 dbms 등 50만 라인 이하 5만 라인부터 50만 라인 사이 임메디드형은요, 제일 큰 규모 초대형 규모 30만 라인 이상 소프트웨어 개발 1대 임베드형이 사용이 되어진다 문제 가지고 정리할게요 뒤에 다음 풋남 모형은 마찬가지로요 해당 roc를 기반으로 만들어진 건데 시간에 따른 함수로 표현되는 레이어라잇 로든 곡선의 노력분포도를 기초로 하고요.
43:25
대형 프로젝트의 노력분포 산정에 이용되는 기법이다. 개발 기간이 늘어날수록 프로젝트에 적용되어진 인원은 증가한다. 감소한다. 점점 줄어들더라 적용 인원의 노력이 감소하더라 개발 비용을 구하는 공식인데 꼭 암기할 필요는 없고 고려 요소 정도만 원시 코드 라인 수 그리고 개발 기간 그리고 환경변수 값들이 있는데, 환경이 빈약할 때는 2천 좋을 때는 8천 최대일 때는 만 2천 분모에 들어가니까 값이 커질수록 놀이 인원 수는 줄어들겠죠. 공식 암기만 필요는 없고 특징만 기억하시면 되겠습니다.
44:06
마지막으로, 기능 점수 모형은 알버레이트가 제안한 것으로서 소프트웨어 기능을 정대시키는 요인으로서 입력 수 출력 수 질의 파임 인티페이스 개수별로요 다시 또 가중치를 단순 보통 복잡이라고 가중치를 나눠가지고요. 해당 기능 점수요 기능 점수를 부여를 한 다음에 해당 이 기능 점수를 합산해서요. 총기능 점수를 구하고 총기능 점수에다가 해당 총 영향도를 고려해 가지고요. 기능점수로 비용 산정하는 모델입니다. 밑에 참고적으로 소프트웨어 기능에 대한 자료 입력 양식인 경우에 단순한 정도야 그러면 3점 복잡한 거야.
45:05
그러면 6점 이런 식으로 해당 소프트웨어의 출력의 보고서가 몇 개가 필요해 곱하기 이제 여기 복잡한 거 두 개가 필요해요. 그러면 2 7 곱하기 2 이렇게 해가지고 14점 이런 식으로 해당 항목별로 기능 점수들을 구해지겠죠. 네 그 기능 점수들을 합해가지고 구한다. 이렇게 개념 잡으시면 되겠습니다. 입력 출력 지리 파일 인터페이스 개수별로 다시 가중치 단순 보통 복잡이라고 하는 가중치를 부여해가지고 기능 중심 기능 점수로 비용 산정한다. 이렇게 개념 잡으면 되겠습니다. 자동화 추정 도구 마지막으로, 정리하면요 비용 산정의 자동화 추정 도구로 저는 두 가지 살펴보도록 하겠는데 슬림이라고 있어요. 이 slim은요, 페일라이트 로딩 곡선과 풍납 예측 모델을 기반으로 한다. 즉 roc를 기반으로 만들어진 자동화 추정 도구가 되겠고요.
46:03
두 번째 smax satmax라고 하는 자동화 추정 도구는요 펑션 모인트 모형 기능 점수 모형을 기초로 해서 만들어진 자동화 추정 도구가 되겠습니다. 퀴즈로 정리할게요 소프트웨어 프로젝트의 비용 결정 요소와 가장 관련이 적은 거 소프트웨어 프로젝트 비용 결정 요소 아까 세 가지 살펴봤었어요. 개념 밑에서 살펴봤던 부분입니다. 자 상식선에서 볼 수도 있겠는데 개발자의 능력이 굉장히 중요합니다. 소프트웨어 개발에서는 실제 인건비가 제일 비중도가 커요 그래서 프로젝트의 규모 단위별로 숙련자들을 a라는 프로젝트를 추가시켜 가지고 중요한 것만 담당하고 다시 다른 프로젝트를 이렇게 인력 관리가 중요하죠.
46:54
자 그 다음에 요구되어지는 신뢰도 요구되는 신뢰도도 마찬가지 해당 어 일정 기간 동안 이 기능을 제대로 수행할 수 있는 거 이렇게 돼 있으니까 요거도 중요하고요. 비용 결정 요소고 그다음에 하리오의 성능 하리오도 자원적인 측면에서는 고려 요소이긴 합니다. 개발 제품에 대한 복잡도 복잡하냐? 단순하냐에 따라서 비용이 달라지겠죠. 여기서는요 가장 관련이 적은 것 상대적으로 비용 결정 요소와 가장 관련이 적은 것은 인건비라든지 복잡 들어있는 신뢰도는 중요하고요. 하드웨어에 대한 성능이 그나마 가장 관련성이 부족했다. 이렇게 볼 수 있겠습니다. 다음 헬로시 기법에 의해서요. 예측되어진 총 라인 수가요 2만 5천 라인 정도 이 프로그램 만들 때 한 2만 5천 줄 정도 코딩이 되어질 것 같아 일 경우에 개발에 투입되어질 프로그래머가 5명이다.
47:51
프로그래머들의 평균 생산성은 월당 500라인 정도다 그러면 개발에 소재하는 기간은 얼마가 될까 쉽게 구할 수 있어요. 총 라인이 2만 5천이에요. 2만 5천을요 해당 월 단위별로 5천 라인을 코딩할 수 있는 사람이 5명이 있어요. 그러면 월 코딩 라인 수는 2500이 되는 거죠. 얘를 나눠요 2만 5천 나누기 2500 하게 되면 구해지는 거는 얘는 1월이라고 하는 네 부분이기 때문에 한 사람당 월 단위니까 결과적으로 구해지는 숫자값은 10인데 10개월 월이 구해집니다. 그래서 정답은 10개월이 되겠습니다. 쉽죠 어렵지 않습니다. 다음 세 번째 코코모 모델에 대한 어 모델에 의한 비용 산정 네 비용 산정 과정에 해당하지 않는 거 코코모 모델 비용 산정 과정 아닌 거 kdsi를 측정을 해요.
48:50
kloc를 구한다. 맞죠. 첫 단위 라인 수 측정합니다. 맞고요. uf p라고 돼 있어요. 언 어드저스티드 펑션 포인트 펑션 포인트 계산하는 부분 자체는 코코모는 los 기반이에요. 라인 수 기반이고 펑션 포인트는 기능점수잖아요. 얘는 기능점수 모형인 fp모형 해서 필요한 부분입니다. 그래서 2번 틀렸고 개발 노력에 대한 승수를 결정을 한다. 그리고 비용 산정 유형으로 단순형 중간형 임베디드형이 있다. 맞습니다. 개발 규모에 따라서요 곱해지는 성숙값이 틀려요 앞서 제가 스킵하고 넘어왔는데 여기 보면 일례로 5거닉 같은 경우에는 중소규모 같은 경우에 공식이 이렇게 돼 있어요. 일례로 암기할 필요는 없습니다.
49:50
mm 구할 때 월 인원수는 2.4 곱하기 kstdi에 1.05승 이렇게 돼 있는데요. 임베디드형 초대형 규모인 경우에는 mm 구하는 공식은 3.6 곱하기 ksdi에 1.20승 이렇게 이러한 부분을 이야기한다. 이렇게 이해하시면 될 것 같습니다. 넘어갈게요 자 그 다음에 4번입니다. 비용 산정 모듈 퀴즈 비용 예측을 위한 기능 점수 방법에 대한 설명 중에 가장 옳지 않은 거 기능 점수에 대한 설명입니다. 입력 출력 질의 파이 인터페이스 개수를 개수로 소프트웨어의 규모를 표현한다. 맞아요. 두 번째 기능 점수는 원시 코드의 구현에 이용되어지는 프로그램 언어의 종속적이다. 이렇게 되어 있는데요. 프로그램 언어적인 부분에 대한 종속성과는 연관성이 네 없습니다.
50:48
경험을 바탕으로 단순 보통 복잡한 정도에 따라 가중치가 아까 달랐죠 단순 입력이야 3.5 중간 이하 4.5 복잡한 거야. 6점 이런 식으로 프로젝트의 영향도와 가중치의 합을 이용하여 실질적인 기능 점수 실질 기능 점수를 계산해 맞습니다. 다섯 번째 다음 중 레이더라이즈 노든의 곡선과 풋납 음 예측 모델에 기반을 둔 자동화의 예측 도구 두 가지 저희가 살펴봤잖아요. 슬림과 s맥스 중에서요 어디에 해당되어지느냐 여기서는요 네 어 슬림이 정답인데 에스매스 같은 경우에는 기능점수를 기반으로 하는 fp모형이요. fp모형 을 기반으로 하고 있거든요.
51:41
앞 글자에 대한 e f 해당 요 연관 꾸르미를 묶을 때 알파벳 순서로 이렇게 쫙 지으시면 쉽게 구할 수 있을 것 같아요. r p sp 이렇게 돼 있으니까 개념적으로 개념적으로 이렇게 하시면 슬림은 레이 푼남 이렇게 돼 있으니까 rp니까 s 알파벳 정도로 이렇게 하시면 기억하기 쉬울 것 같아요. 모의평가 다섯 문제 정리하고 마무리하겠습니다. 프로토 프로토타입 모형의 장점 가장 올바른 거 적절한 거 프로토타입 모형에서 추구하는 궁극적 목적은 요구사항을 제대로 반영하자 라는 부분입니다. 폭포수 모형이 가지고 있는 단점을 극복한 거였죠 비용과 시간의 절감 책임 환기의 명확한 구분 요구사항 충실반영 3번이 정답입니다.
52:35
두 번째 객체 지향 개발 과정에 대한 설명으로 가장 거리가 먼 거 객체 지향 개발 파트가 시험에 자주 나와요. 분석 단계에서는 객체 이론과 상태와 행위들을 개념적으로 파악해요. 네 설계 단계에서는 객체의 속성과 연산으로 정의하고 접근하는 방법을 구체화합니다. 네 객체의 속성과 메소드 정의 네 오케이 구현 단계에서는 클래스를 절차적 프로그램 언어로 기술합니다. 이게 틀렸습니다. 객체 지향이기 때문에 절차적 프로그래밍 언어는 구조적 개발 방법입니다. 객체 위주의 객체 지향 프로그램 언어를 사용해야겠죠. 3번이 틀렸고 테스트 단계에서는 클래스 단위 테스트와 시스템 테스트를 진행한다. 맞습니다. 세 번째 다음 중 요구공항 절차로 올바른 걸 골라라 이렇게 되어 있는데요.
53:33
요구사항을 어떻게 먼저 뽑아야 되죠. 뽑아낸다 도출 그다음에 뽑아진 요구사항을 어떻게 분석해야 되죠. 그리고 문서화 작업 명세화하고요. 제대로 했는지 제대로 이해했는지 제대로 진행됐는지 확인 검증 해서 정답 1번입니다. 요구사항 도출 분석 명세 확인 검증 네 번째 소프트웨어 각 기능이 원시 코드 라인 수의 비관치 낙관치 기대치를 예측 측정해서 예측치를 구하고 이를 이용해서 비용을 산정하는 기법은 뭔데 laoc 기법이었죠. 비관체는 가장 많이 코딩되어지는 라인 수 약관체는 가장 적게 평균치 기대치는 평균치였고 loc 기법 개념적으로 정리하겠습니다.
54:25
마지막 비용 예측 방법으로 원식 프로그램의 규모에 의한 방법인 코코모 모델 중에 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 소프트웨어를 개발하는 유형은 뭔지 규모에 따라서는 세 가지 제일 작은 거 소규모 5번이 두 번째 중단 중간 단위 규모는 세미 디테치드 제일 큰 규모는 임베디드 3번이 정답입니다. 정리하겠습니다. 네 4가지 파트로 저희가 살펴봤는데 첫 번째 소프트웨어의 생명 주기 모델 소프트웨어 생명주기 모델이라는 것은 소프트웨어를 어떻게 개발할 것인가에 대한 추상적 표현으로 순차적 병렬적 단계로 나누어 표현하는 형태가 되고 생명주기 모델의 종류로서는 네 가지만 저희가 살펴봤는데요. 폭포수 모델 프로토타입 모델 나선형 모델 레잘 모형 모델이 있었다.
55:24
순차적으로 발전해 온 모델 종류들입니다. 폭포수 모델이 전통적이었고요. 애잘 모델이 최근에 각광받는 빠르고 민첩하기 다음 두 번째 소프트웨어 개발 방법론입니다. 소프트웨어 개발 유지보수에 필요로 하는 여러 가지 일들의 수행 방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 기법 및 도구를 체계적 정리의 표준화 한 게 소프트웨어 개발 방법론이고 개발 방법론의 종류는 구조적 방법론 정보공학 방법론 객체 지향 방법론 컴포넌트 기반 방법론 에잘 방법론 제품 계열 방법론이 있습니다. 이 중에서 고전적 측면에서의 구조적 방법론에 대한 것도 나오긴 하는데 객체 지향 방법론과 애잘 방법론에 대한 출제 비중이 좀 더 크다고 볼 수 있겠습니다.
56:19
세 번째 요구공학 방법론 요구사항의 지속적 중요성이 증대되고 체계적 관리에 대한 필요성이 대두하면서 시스템 요구사항을 정의하고 문서화하고 관리하는 프로세스를 공학적 측면에서 다루는 게 요구공학이고요. 용공학의 프로세스는요 도출 분석 명세 확인 검증 단계로 진행이 되어졌습니다. 마지막으로, 비용 산정 모델은요, 소프트웨어 개발 규모에 따라서 소요되는 인원이나 자원이나 기관 등에 대해서 실행 가능한 계획을 수립하기 위해 필요한 비용을 예측하는 과학적 합리적인 활동이 되겠고 음 비과학적인 방법으로 뽑아내는 게 하향식 산정 기법이었고요.
57:07
전문가 감정 기법이나 델파이 기법이었고 일단 각 단계별로 어 이제 뽑아내서 올라가는 게 상향식 산정 기법으로서 라인 수유를 기반으로 한 loc 기법과 해당 생명주기록을 고려해서요. 네 어 뽑아내는 에퍼티퍼 테스크 기법이 있었고, 수학적 산정 기법으로 공식을 만들어서 했던 게 코코몬 모형과 풍납 모형과 통신포인트 모형 fp모형이 있었습니다. 이상으로 소프트웨어 개발 방법론 선정에 대해 살펴봤습니다. 소프트웨어 개발 방법론 활용 두 번째 소프트웨어 개발 방법론 테일러닝에 대해 살펴보도록 하겠습니다. 학습목표는요 응용 소프트웨어 개발에 사용할 표준으로 활동 및 절차 수행에 필요한 기법과 표준 산출물 표준 양식 및 작성기법 적용도구를 정립할 수 있다.
57:59
테일러링 되어진 적용 개발 방법론에 따른 작성 산출물 유형을 확정할 수 있다. 마지막으로, 소프트웨어 개발 프레임워크의 개념과 종류별 특징을 이해한다. 입니다. 살펴볼 내용은 세 파트에 나눠가지고 소프트웨어 개발 표준과 두 번째 캐러링 기준 그리고 소프트웨어 개발 프레임워크가 되겠고요. 출제기준에 맞춰 순차적으로 살펴봅니다. 영어로서요 테일러닝이라고 하는 부분 자체는요 사전적 의미로는 재단이나 양복 어휘나 옷을 이렇게 재단한다. 맞춤 형태로 표준을 기반으로 실제 업무에서 여건에 맞게 수정 보완하는 것을 말합니다. 내용으로서요 먼저 소프트웨어 개발 표준에 대해 살펴보도록 하겠는데 개념입니다.
58:54
소프트웨어 개발 표준이라는 부분은 소프트웨어 개발 단계의 품질관리에 사용되어지는 국제 표준을 뜻하고요. 대표적인 국제 표준으로서는 isoic12207 모델과 cmmi 그리고 스파이스 세 가지 세부적으로 살펴보도록 하겠습니다. 먼저 iso 국제편화기구의 국제정기위원회인 iec12207 모델은 iso 국제표준화기구에서 소프트웨어웨어 개발과 운영과 유지 보수 등을 체계적으로 관리하기 위해서 요구되어지는 소프트웨어웨어 생명주기 프로세스 표준을 제공한 것이고요.
59:38
소프트웨어와 관련되어진 조직과 사람 그리고 소프트웨어 획득자 공급자 개발자 운영자 유지보수 품질관리자 사용자 등 이해관계자들이 각자의 입장에서 수행해야 할 일들을 정의하고 지속적으로 개선시키기 위한 활동을 포함하고 있습니다. 해당 구분으로 보면 기본 생명 주기 프로세스 프로세스를 세 가지로 구분을 해서 제시해 놓고 있는데, 기본 생명 주기 프로세스에 포함되어지는 것은 획득 공급 프로세스 개발 프로세스 운영 유지 보수 기본적인 프로세스죠 그리고 지원생명 주기 프로세스에서는요 문서와 품질보증 형상관리 검증 확인 문제 해결 활동 검토 그리고 감사 해당되고요.
1:00:30
조직 생명주의 프로세스에서는 기반 구조 프로세스 관리 프로세스 개선 훈련 프로세스로 나눠서 정의하고 있습니다. 두 번째 소프트웨어개발표준 cmmi 자 그런데요. capability 능력 maturity 성숙도 모델 통합을 이야기합니다. cmmi는 능력 성숙도 모델 통합인데 미국의 카네기 멜론 대학의 소프트웨어 공학 연구소에서 개발한 표준이 되겠고요. 목적이요. 소프트웨어 개발 조직에 대한 업무 능력 및 조직의 성숙도 평가 모델이 되겠습니다. 국제적인 프로젝트를 수행하는 데 있어 가지고요. 해당 개발자들을 모집을 할 때 요건 자체가 cmmi 레벨이 어느 정도 되는 업체들만 지원할 수 있다.
1:01:26
이런 형태로 활용이 되어지기도 합니다. cmmi의 성숙도는 5단계로 나누는데요. 단계별로 보면 초기 관리 정의 정량적 관리 최적화 단계가 있고요. 해당 단계별로 보면 프로세스의 특징으로서 초기는 정의된 프로세스가 없다. 그래서 특징을 보면 작업자 능력에 따라서 성공 여부가 결정되어지는 단계 성숙도가 미비한 단계죠 낮은 단계입니다. 관리단계에서는 규칙화되어진 프로세스가 있다.
1:02:01
특정한 프로세스 내에 프로세스 정의 및 수행을 하고 있는 정도 단계 수준 그리고 단계는요 표준화되어진 프로세스로서 조직의 표준 프로세스를 활용해서 업무 수행이 되고 있는 단계고 정량적 관리 단계는 예측 가능한 프로세스로서 프로세스를 정량적으로 관리 및 통제하고 있는 정도의 수준 마지막으로, 최적화는 지속적 개선 프로세스로 프로세스 역량 향상을 위해서 지속적인 프로세스 개선이 진행되고 있는 단계다 제일 상위 단계라고 보면 되겠습니다. 마지막 세 번째 스파이스는요 약어인데 소프트웨어 프로세스를 임프루브먼트 개선하고 capability를 결정한 기준은 디터미네이션 capability 디터미네이션의 약어예요.
1:02:51
스파이스 소프트웨어 처리 개선 및 능력 평가 기준이라고 해석할 수 있겠고 정보 시스템 분야에서 소프트웨어 품질 및 생산성 향상을 위해서 소프트웨어 프로세스를 평가 및 개선안인 국제 표준입니다. 공식 랭킹은 isoic 모델이 되겠고 목적은 프로세스 개선을 위해 개발기관을 스스로 평가하도록 하고 그리고 기관에서 지정한 요구사항 조건에 대한 만족 여부를 개발 조직 스스로 평가할 수 있도록 하고 계약 체결을 위해 수탁기관의 프로세스를 평가하는 것을 목적으로 합니다.
1:03:32
더 세부적으로 스파이스는 다섯 가지 프로세스 범주와 40개의 세부 프로세스로 구성이 되어지는데 프로세스의 종류로서 고객 공급자 프로세스에서는 소프트웨어를 개발하여 고객에게 전달하는 것을 고객에게 전달하는 것을 지원하고 소프트웨어의 정확한 운용 및 사용에 대한 프로세스로 구성이 되어지고요. 구성 요소는 인수 공급 요구 도출과 운영이고 세부 프로세스 수는 10개가 되겠다. 공학 프로세스는 시스템 소프트웨어 제품에 대한 명세와 구현 유지보수 하는 프로세스로 구성되어지고 개발 소프트웨어 유지보수를 구성으로 9개의 프로세스 지원 프로세스는 소프트웨어 생명 주기에서 다른 프로세스에 의해서 이용되어지는 프로세스로 구성이 되어지고 구성 요소는 문서와 형상 개괄적으로 보시면 돼요. 상세하게 암기할 필요는 없습니다.
1:04:23
문서와 형상 품질 보증 검증 확인 리뷰 감사 품질 문제 해결 8개 프로세스로 구성되어지고 관리 매니지먼트는 생명주기에서 프로젝트 관리자에 의해서 사용되어지는 프로세스 구성으로서 관리 프로젝트 관리 품질 및 유지 위험 관리로 4개 프로세스 마지막 조직 프로세스는 조직의 업무 목적 수립과 조직의 업무 목표 달성을 위한 프로세스로 구성이 되어지고 프로세스는 9개다 구성 요소는 조직 배치 개선 활동 프로세스 인력 관리 기반 관리 측정도구 재사용 등이 포함되어집니다. 오히려 프로세스 수행 능력 단계 6단계를 오히려 시험에서는 물을 수 있다. 정리해보겠습니다.
1:05:13
스파이스의 프로세스 수행 단계 6단계에서 구분은요, 먼저 불완전하다는 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계가 되겠고요. 앞단에 저희가 cmmi하고 거의 비슷합니다. 이렇게 비교해보면 수행 단계다 수행은요, 프로세스가 수행되고 목적이 달성된 단계 관리는요 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도하는 단계 그다음에 확립은 소프트웨어 공학 원칙에 기반해서 정의된 프로세스가 수행되고 있는 단계 예측은요, 프로세스가 목적 달성을 위해 통제되고 양적인 측정을 통해서 일관되게 수행되는 단계 마지막으로, 최적화 단계는 제일 잘 되고 있는 단계죠 프로세스 수행이 최적화하고 지속적 개선을 통해서 업무 목적을 만족시키는 단계가 되겠습니다. 문제 풀이를 정리해 보겠습니다.
1:06:09
첫 번째 다음 중 소프트웨어 개발 표준에 해당하지 않는 것은 저희 소프트웨어 개발 표준 몇 가지 세 가지 저희가 다뤘어요. 네 첫 번째로, 다뤘던 게 isoic의 1 2 07 모델 그다음 두 번째로, cmmr 세 번째로, 스파이스 포함이 안 된 거는 애자일은 소프트웨어 개발 방법론이죠. 두 번째 다음 중 isoic 1207의 주요 프로세스가 아닌 것은 주요 프로세스 구분으로 세 가지를 다시 나누셨어요. 기본 생명 주기 프로세스 그리고 지원 생명 주기 프로세스 조직 생명 주기 프로세스 통합 생명 주기 프로세스는 없었습니다.
1:06:54
세 번째 소프트웨어 개발 표준 중에 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델은 자 능력 성숙도가 capability maturity였죠 그래서 cmmi 모델이 되겠습니다. capability maturity model intergration 정답은 2번입니다. 네 번째 다음 중 스파이스의 프로세스 수행 능력 단계 여섯 단계 저희가 살펴봤는데 빠르게 살펴봤기 때문에 잘 이해가 안 됐을 거예요. 문제와 이렇게 나올 수 있다라고 제시하는 문제니까 문제 풀면서 다시 이해하겠습니다.
1:07:41
스페이스 프로세스 수행 능력 단계에 대한 설명으로 틀린 것은 힌트를 보면 능력 단계 6단계 불안정 단계 수행 단계 관리 단계 확립 단계 예측 단계 최적화 단계가 있었습니다. 네 1번 불완전 단계에는 프로세스가 구현되지 않았거나 목적을 달성하지 못한 단계예요. 맞겠죠. 다음 두 번째 확립 단계는 소프트웨어 공학 원칙에 기반하여 정의되어진 프로세스가 수행되어지는 단계예요. 확립 단계는 네 번째 단계입니다. 높아요. 소프트웨어 공학 원칙을 기반으로 정의된 프로세스가 수행되는 단계 맞고요. 관리 단계는 세 번째 단계인데 프로세스가 수행되고 목적이 달성된 단계예요. 프로세스가 수행되고 목적이 달성된 단계는 수행 단계입니다.
1:08:31
정의되어진 문구 사항으로서요 그래서 3번이 틀렸다 마지막으로, 최적화 단계는 프로세스 수행의 최적화 그리고 지속적 개선을 통해서 업무 목적을 만족시키는 단계다 이렇게 정리하겠습니다. 다음 테일러링 기준입니다. 소프트웨어 개발 방법론에서의 테일러링이라고 하는 부분은 개념적으로는 프로젝트의 상황 및 특성에 맞도록 선택한 개발 방법론의 절차와 사용 기법 등을 수정 및 보완하는 작업을 뜻합니다. 소프트웨어 개발 방법론의 테러링 수행 절차는요 프로젝트 특징을 정리하고요. 그다음에 표준 프로세스 선정 및 검증 그리고 상위 수준의 커스터마이징 맞춤형으로 바꾼다 그리고 세부 커스터마이징 마지막으로, 캐일러링 문서와 순으로 진행이 되어집니다. 테일러닝의 고려사항이에요.
1:09:30
고려사항은 크게는 내부적 기능과 외부적 기능으로 나눌 수가 있는데, 내부적 기능으로서는 목표 환경력 시스템 개발 환경과 유용이 서로 다를 경우에는 테일러닝이 필요하겠고 두 번째 요구사항입니다. 우선적으로 고려해야 할 요구사항이 서로 다를 경우 프로젝트 생명 주기 활동에서 개발 운영 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다를 경우에는 테러러링이 필요하다 수정 보완이 필요하다 프로젝트 규모형 인력 비용 인력 개발 기관 등 프로젝트 규모가 서로 다른 경우도 테일러링이 필요하겠고 보유 기술 인력 프로세스나 개발 방법론이나 산출물 인력의 숙련도 등이 다른 경우 이 네 가지가 내부적 기준입니다.
1:10:19
내부적 기준 그리고 두 가지가 외부적 기준에 포함되어 있는데, 외부적 기준은 법적 제약 사항이에요. 프로젝트별로 적용해야 될 조수사항력 it 분야에서 내외 배우를 반드시 시켜야 되는 법적 규제 사항이나 지침을 it 컴플라이언스라고 합니다. 이게 서로 다른 경우 법적 제약사항 두 번째 표준 품질 기준 금융이나 제도나 의료 등 업종별 표준 품질 기준이 서로 다른 경우에 테일러닝이 필요하다 다음 테일러닝 기법입니다. 테일러닝 기법은 프로젝트 규모와 복잡도에 따른 테어러닝 그리고 프로젝트 구성원에 따른 테일러링 구성원이라는 건 숙련도가 되겠죠.
1:11:05
구성원들의 기술적 숙련도나 방법론 이해 정도에 따라서 테일러링 수준을 결정하는 것을 뜻하고 규모 및 복잡도는 프로젝트 규모를 기관과 작업 범위 참여 인원에 따라서 대중적으로 구분을 하고 프로젝트 업무 난이도에 따라서는 다시 복잡도를 상정하로 구분하는 기법이 되겠습니다. 세 번째 팀 내 방법론 지원에 따른 테어 러닝은 프로젝트 수행을 할 때 각 팀별로 방법론 담당 인력을 배정을 해서요. 해당 팀의 방법론 교육과 프로젝트 전체에 대한 방법론 운영을 위한 의사소통을 담당하도록 인력을 구성하는 기법이 되겠고요. 마지막으로, 자동화에 따른 타일러닝은 프로젝트 수행할 때 작업 보안을 줄이기 위해서 중간 단계에서의 산출물을 자동화 도구를 사용하여 산출할 수 있도록 지원하는 기법이 되겠습니다.
1:11:54
퀴즈요 소프트웨어 개발 방법론 테일러링의 고려 사항 중에 내부적 요건이 해당되지 않는 거 오히려 외부적 요건을 오히려 익혀 놓으시면 될 것 같은데, 외부적 요건은 법적 제약과 그리고 표준 품질이었거든요. 우선 단계별로 보겠습니다. 시스템 개발 환경과 유형이 서로 다른 경우 이거는 이제 환경 목표적인 부분이었죠. 목표환경이었죠. 목표환경 적인 부분은 내부적 요건에 해당되어졌고요. 프로젝트에서 우선으로 고려해야 될 사항요 요구사항적인 부분도 내부적 요건이었고요. 비용이나 인력 규모 기간 등 프로젝트 규모가 새로 다른 경우 프로젝트 규모도 내부적 요건이었고요. 프로젝트별로 적용되어 오직 it 컴플라이언스 어슬을 다루다 이게 틀렸습니다. 얘는 외부적 요인 조건이었습니다. 외부적 요건 다음 소프트웨어 개발 프레임워크가 되겠습니다. 살펴볼 내용입니다.
1:12:51
소프트웨어 개발 프레임워크 프레임워크는 이전 단계에서 저희가요 해당 서버에 대한 기본 환경 구축 파트에서요 서버 프로그램 파트에서 저희가 살펴보긴 했어요. 프로그램 개발 프레임워크는 개념이 소프트웨어 개발에 공통적으로 사용되는 구성요소와 공통사용 구성요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능을 제공해주는 반제품 형태 반제품 형태의 소프트웨어 시스템을 뜻한다. 프레임워크의 주요 기능에는 예외 처리나 트랜잭션 처리나 메모리 공유 데이터 소스 관리 쿼리 서비스 로깅 인증 서비스 등이 포함되어집니다.
1:13:35
프레임워크의 특징 특정 개념에 대한 추상화를 제공하는 여러 프레임과 컴포넌트로 구성이 되어진다 두 번째 추상적인 개념들이 문제 해결을 위해서 같이 작업하는 방법을 정의하고 있고 그리고 세 번째 컴포넌트에 대한 재사용이 가능하고 네 번째 높은 수준에서 패턴들을 조작할 수 있다. 높은 수준의 패턴 조작 이러한 특징들이 있습니다. 자 소프트웨어 개발의 프레임워크에 대한 종류예요. 자 먼저 살펴볼 게 스프링 프레임워크입니다. 이 스프링 프레임워크는요 자바 플랫폼 자바 언어를 이용해서 개발하는 경우에 음 이용하는 프레임워크 대표적인 이용 프레임워크이고요. 자바 플랫폼을 위한 오픈소스의 경량형 애플리케이션 프레임워크이고 j2ee에서 제공하는 대부분의 기능을 지원할 수 있다.
1:14:34
자바의 엔트프라이즈 에디션은요, 기업 버전 그리고 db 처리를 위해서 jdbc 자바 데이터베이스 커넥션과 알바티스 하이버네이트 jpa 등 라이브러리와 연동 지원이 가능하다 그리고 전자정보의 표준 프레임워크에 기반이 되어진다 이것도 특징적으로 익혀 놓을 필요가 있어요. 전자정보의 표준 프레임워크가 기반이 되어진 기술은 스프링 프레임워크 두 번째 전자정보의 표준 프레이머 우리나라 공공 부문의 정보화 사업에서 효율적인 정보 시스템을 통일화해서 사용하기 위해서 지원하는 필요 기능 및 아키텍처를 제공하는 프레임워크가 되겠고 개발 프레임워크의 표준 적립으로 응용 소프트웨어에 대한 표준화 그리고 품질 및 재사용성 향상을 목적으로 하고요.
1:15:26
오픈소스 기반의 법령화가 되고 공개 대응 기술을 활용함으로써 특정 업체의 종속성을 배제하고 사업별 공통 컴포넌트의 중복 개발을 방지할 수가 있겠습니다. 국내 공공부문의 정보화 사업을 이용하는 프레임워크가 전자정보 표준 프레임워크다 이렇게 정리하면 되겠고요. 세 번째 스트러치 프레임워크 스트러치 프레임워크는요 자바 기반인데 특히 jsp는 웹 애플리케이션입니다. 웹 프로그래밍에 사용되어지는 부분입니다. 웹 개발입니다. 다양한 모닉션이 사용 가능하고요. 오픈소스이기 때문에 개발에 필요한 부분을 수정 및 사용할 수 있고 ui 기반의 프레임워크다 단내 프레임워크 단내 프레임워크는 개발 업체가 마이크로소프트웨어예요. 윈도우의 프로그램 개발 및 실행 환경을 제공하는 프레임워크이고요. 마이크로소프트자가 개발했다.
1:16:25
코드실행을 관리하는 컴먼 랭귀지 런타입이라고 하는 가상 머신 상에서 작동한다. 메모리 관리와 유형 및 메모리 안정성 보안 네트워크 작업 등 여러 가지 서비스를 제공합니다. 앵귤러 js 자바스크립트 기반의 프레임워크입니다. 자바스크립트 기반의 프레임워크이고 단순 자바스크립트 객체로 재사용하기 쉬운 정적인 ui 컴포넌트로 구성되어지고 코드 길이를 더욱 단순화시켰고 html이나 css 개발자와 자바스크립트 개발자를 명확히 분류하고 있다. 마지막으로, 장구 프레임워크는요 파이슨 언어를 기반으로 작성되어진 오픈 소스 웹 애플리케이션 프레임워크다 모델 비유 컨트롤러 mvc 패턴 기반의 프레임워크이고요.
1:17:13
orm은 오버렉트 릴레이션 신 매핑 기능을 지원하고 쉬운 db 관리를 위해서 프로젝트를 생성하면서 관리자 기능을 제공하고 쉬운 url 파싱 기능을 제공한다. 이렇게 여섯 가지 우선 대표적인 소프트웨어 개발 프레임워크 종류 살펴봤습니다. 문제 풀면서 정리하겠습니다. 다음에서 설명하는 소프트웨어 개발 프레임워크에 해당하는 건 어떤 건가 자바 플랫폼을 위한 오픈소스 경량 애플리케이션 프레임워크이고 전자정보 표준 프레임워크에 기반이 된다. 스프링 프레임워크입니다. 3번 스프링 프레임워크는 프레임 종류 중에서는 조금 기억할 필요성이 있어요. 문제화해서 나올 가능성이 높습니다. 다음 모의평가 문제는요 이 파트에서 다루는 부분은 중요도가 그렇게 높지 않아요. 그래서 한 세 문제 정도만 정리해서 풀어보겠습니다.
1:18:07
소프트웨어 개발 표준 중에 소프트웨어 프로세스 평가 및 개선하는 국제 표준에 해당하는 것은 국제 표준 저희가 세 가지 살펴봤었는데 isoic 1207 모델과 cnmr과 스파이스 이렇게 세 가지 살펴봤었는데 그 중에서 소프트웨어 프로세스 평가 및 개선 이렇게 돼 있어요. 스파이스가 소프트웨어 프로세스를 임프로브먼트 한다. 소프트웨어 약을 해서요. 소프트웨어 프로세스를요 임프루먼트 개선한다. 하고 그 다음에 capability를 ditemination 한다. 이렇게 돼 있었죠. 약어권 3번이 정답입니다.
1:18:47
프라시스 평가 및 개선 국제표준 두번째 다음 중 소프트웨어 개발 방법론 테일러닝 기법에 해당하지 않는 것은 첫 번째 프로젝트 관리에 따른 테일러닝 기법 프로젝트 규모와 복잡도에 따른 테일러닝 기법 프로젝트 구성원에 따른 테일러닝 기법 자동화 테일러닝 기법 네 프로젝트 개발 방법론 테일링 기법 4가지를 살펴봤었거든요. 프로젝트 규모와 복잡도 그리고 구성원 자동화에 따른 테일러 기법이 있었고, 프로젝트 관련에 따른 테일링 기법은 없었어요. 네 가지 테일링 기법은 하나 빠진 건 뭐 없는데 규모 및 복잡도 구성원 그리고 팀 내 방법론 지원이라는 게 있었고, 그다음에 자동화 이렇게 네 가지입니다. 프로젝트 관리에 따른 테일링 기법은 없어요.
1:19:40
마지막 세 번째 마이크로소프트사에서 개발한 윈도우 프로그램 개발 및 여기까지만 해도 답은 찾아지죠 해당 6가지 저희가 소프트웨어 개발 프레임워크에 대해 살펴봤는데 그중에서 마이크로소프트가 개발한 거는 단내 프레임워크였습니다. 2번이 정답입니다. 지장구 장구 프레임워크는 파이슨 파이슨 기반이었고요. 네 파이슨 스프링은 자바 스트러츠는 네 자바 중에서도 jsp 기반 자 내용 정리하겠습니다. 첫 번째 소프트웨어 개발 표준에 대해 살펴봤었는데요. 소프트웨어 개발 표준이라는 부분은 품질 관리를 위해서 소프트웨어 개발 단계의 품질 관리에 사용되는 국제 표준이었고요.
1:20:37
세 가지 isoic 1 2 0 7 모델은 소프트웨어 생명 주기 프로세스에 대한 표준을 제공을 하고 있다. 세 가지 기본 생명 주기 프로세스와 지온 생명 주기 프로세스 조직 생명 주기 프로세스로 다시 구분되어졌었고 cmmi는 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델이었고 성숙도는 5단계로 초기 관리 정량적 관리 최적화 단계 개로 구분이 되었었고 마지막 세 번째 스파이스는 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로서 수행 영역 단위는 6단계로 불완전 수행 관리 확립 예측 최적화 6단계가 있었습니다. 두 번째 테어러닝 기준입니다.
1:21:19
소프트웨어 개발 방법론에서의 테어러닝이라고 하는 부분은 프로젝트의 상황과 특성에 맞도록 선택한 개발 방법론의 절차와 사용기법 등을 수정 및 보완하는 작업이 테일러닝이었고 소프트웨어 개발 방법론 테일러닝 할 때 고려해야 될 사항으로 저는 두 가지로 양분해서 내부적 기준과 외부적 기준이 있었는데, 내부적 기준에 해당되는 게 목표 환경 요구사항 규모 보유 기술이었고요. 외부적 기준은 법적 제약 사항과 표준 품질 기준이었습니다. 그리고 소프트웨어 개발 방법론 테일러닝 기법으로서는 4가지 프로젝트 규모와 복잡도 구성원 팀 내 방법론 지원 자동화에 따른 테일러닝 기법이 있었습니다.
1:22:08
마지막으로, 소프트웨어 개발 프레임워크는요 소프트웨어 개발에 공통적으로 사용되어지는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해 주는 반제품 형태의 소프트웨어 시스템이었고 개발 프레임워크의 종류는 6가지가 있었는데, 스프링 프레임워크 자바 기반 전자정보 표준 프레임워크 그리고 스트러처 프레임워크는 jsp 그리고 단내 프레임워크 마이크로소프트 그리고 앵귤러 js는 자바스크립트 기반 프레임워크 장부 프레임워크는 파이슨 기반이었습니다. 이상으로 소프트웨어 개발 방법론 테일러링에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 정보시스템 구축관리' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 4.시스템 보안 구축 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 3.소프트웨어 개발 보안 구축 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제5과목 정보시스템 구축관리 2.IT프로젝트 정보시스템 구축관리 (0) | 2025.05.26 |
https://youtu.be/celPSe9lMDY?si=hgmf-L4vGgUnDW4l
1. 운영체제 기초 이해
1-1. 운영체제 종류와 특징
- 컴퓨터 시스템의 자원 효율적 관리 및 사용자 편리성 제공이 목적임
- 사용자와 시스템 간 인터페이스를 통한 편리성 제공이 중요함
- 시스템이 하드웨어와 네트워크를 관리 제어하고 자원 우선순위 조정 등 제공함
- 시스템 오류 발생 시 복구 및 시스템 성능 평가 기준으로 처리능력, 반환 시간, 사용 가능도, 신뢰도 포함시킴
- 시스템 종류는 윈도우, 마이크로소프트, 유닉스, 리눅스, OS 등 다양함
1-2. 윈도우 운영체제
- 95년 윈도우, 98년 윈도우 98, 밀레엄 버전에서 출시됨
- 메모리 관리, 환경 변수 등 운영체제의 기초적인 요소들을 관리함
- (중요) 그래픽 유저 인터페이스, 키보드 대신 마우스 사용을 지원함
- 선점형 멀티태스킹과 PNP 기능을 통해 동시에 여러 개의 프로그램을 실행함
- 운영체제는 시스템 오류 시 복구 기능을 제공함
1-3. 유닉스와 리눅스
- 60년대 연구소와 MIT, 제너럴 일렉트릭이 개발함
- 시분할 시스템으로 설계된 대화형 운영체제임
- 다중작업과 멀티태스킹을 지원하고 다양한 네트워크 기능 제공함
- 시스템 구성으로 커널과 쉼글이 있음
- (중요) 프로세스 관리, 기억장치 관리, 입출력 관리, 파일 관리 등을 수행함
2. 운영체제 관리와 메모리 관리
2-1. 맥 OS와 운영체제의 특징
- 맥 OS는 80년대에 애플에서 개발한 운영체제임
- (중요) 맥 OS는 애플의 제품을 생산한 것에만 사용 가능함
- 맥 OS의 설치 및 사용 과정이 단순하며, 드라이브 설치 및 인스톨이 필요 없음
- 맥 OS의 특징은 사용자 인터페이스 제공, 입출력 및 보조 역할 수행 등이 있음
- (중요) 맥 OS는 상범위가 제한적이며, 애플 제품에서만 사용 가능함
2-2. 메모리 관리 전략과 보조기억장치의 역할
- 메모리 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치로 가져오는 시기, 위치 등을 지정하는 것임
- (중요) 보조기억장치에서 프로그램이나 데이터를 언제, 어디에 가져올지 결정하는 전략이 중요함
- 반입 전략, 배치 전략, 교체 전략 등 보조기억장치와 메모리 간의 관리 전략이 있음
- 반입 전략은 프로그램이 주기억장치로 들어갈 수 있는 빈 공간을 가장 효율적으로 남기는 방법임
- 배치 전략은 사용 중인 영역 중에 하나를 제거하고 새로운 프로그램이나 데이터를 넣는 방법임
2-3. 메모리 관리와 CPU의 역할
- 메모리 관리는 CPU의 가동과 운영체제의 관계에서 중요함
- 메모리 관리가 필요하며, 메모리가 꽉 차면 시스템 속도가 느려지고, 때로는 멈추는 현상이 발생할 수 있음
- 메모리 관리는 중앙처리 장치인 CPU로 이동한 후, 대기 중인 프로그램을 관리함
- (중요) CPU는 관리 대상이며, CPU의 처리 속도가 다른 기억장치에 비해 빠름
- CPU는 직접적으로 보조기억장치에 저장되어 있는 데이터를 가져오는 데 반해, 주기억장치는 보조기억장치로부터 데이터를 가져오는 데 더 많은 시간이 걸림
3. 메모리 관리와 가상기억장치 전략 이해
3-1. 메모리 관리 전략과 보조기억장치 이해
- 메모리 관리 전략에는 주기억장치 자원을 가장 잘 사용하도록 설계하는 것이 포함됨
- 보조기억장치에서 주기억장치로 이동하는 전략을 스와핑 아웃, 보조기억장치에서 주기억장치로 이동하는 전략을 스와핑 인으로 부름
- 가상기억장치는 보조기억장치의 일부를 주기억장치처럼 사용하며, 이를 가상기억장치라 함
- 가상기억장치로 이동하는 전략에는 페이징 기법과 세그먼트 기법이 있음
3-2. 페이징 기법과 세그먼트 기법
- 페이징 기법은 가상기억장치의 일부를 주기억장치처럼 사용하는 방식
- (중요) 세그먼트 기법은 프로그램을 고정 크기로 나누어 주기억장치에 적재함
- 페이징 기법은 외부 단편화를 발생시키지 않으나, 세그먼트 기법은 내부 단편화를 발생시킴
- 두 기법 모두 메모리 효율성을 높이고, 페이지 교체를 최소화하는 방법으로 사용됨
3-3. 가상기억장치의 특징과 필요성
- 가상기억장치는 주기억장치 용량보다 큰 프로그램을 실행할 수 있게 해줌
- 주기억장치 이용률과 다중 프로그램의 효율성을 제고하며, 블록 단위로 나누어 사용 가능
- 프로그램을 몇 개의 작은 분할 블록 단위로 나누어 기억장치에 보관하고, 필요한 블록만 불연속적으로 처리
- (중요) 가상기억장치 구현 방법에는 페이징 기법과 세그먼트 기법이 있음
4. 기억장치
4-1. 기억장치의 종류와 용도
- 기억장치는 사전처리기와 캐치프레임으로 나뉨
- 사전처리기는 간단한 산술 계산만 가능하고, 캐치프레임은 좀 더 복잡한 연산을 수행함
- (중요) 주기억장치를 보조기억장치의 일부로 사용하여 연산의 복잡도를 줄일 수 있음
- 기억장치의 구현 방법은 페이징 기법과 세그먼트 기법이 있음
- 연속배당 방식에서 기억장치 단편화 문제를 해결할 수 있음
4-2. 페이지 교체 알고리즘
- CPU가 가상 페이지의 주기억 장치에 없는 페이지 모델이나 페이지 결함 발생 시 페이지 교체가 필요함
- 주기억 장치의 모든 페이지 프레임을 사용 중이면 어떤 영역으로 교체해야 하는지 결정하는 게 페이지 교체 알고리즘임
- 페이지 교체 알고리즘은 퍼스트-아웃 방식과 레드-해서-라이프 방식이 있음
- 퍼스트-아웃 방식은 가장 먼저 가상 페이지에 접근한 프레임을 기억하며, 레드-해서-라이프 방식은 가장 최근에 사용하지 않은 페이지를 기억하며 교체함
- (중요) 레드-해서-라이프 방식에서 초기 페이지 프레임이 모두 비어있다면, 1을 첫 번째 페이지 프레임에 담고, 2도 포함하지 않음
4-3. 실습 문제풀이
- 세그먼트 번호를 구해 가상 주소를 구하는 문제를 다룸
- 주소의 구현을 위해 변위를 더해 가상 주소를 구함
- 세그먼트 번호를 통해 시작 주소를 구하고, 변위를 더해 실제 주소를 구함
- 가상 페이지의 주기억 장치에 없는 페이지 모델이나 페이지 결함 발생 시 페이지 교체가 필요함
- 페이지 교체 알고리즘을 통해 가장 최근에 사용하지 않은 페이지를 선택하여 교체함
5. 주기억 장치의 페이지 교체 알고리즘과 관리
5-1. 페이지 교체의 개념과 중요성
- 페이지 교체는 메모리 페이지의 부재를 해결하는 방법임
- (중요) 페이지 결함 발생 시, 가장 최근에 사용하지 않은 페이지를 교체하는 것이 이상적임
- 교체할 페이지는 참조 비트, 변형 비트, 모디파이드 비트를 활용하여 결정함
- 참조 비트, 변형 비트, 모디파이드 비트의 값에 따라 교체 순서를 결정함
5-2. 페이지 교체 알고리즘과 예제
- (중요) '기본 교체 알고리즘'은 페이지의 참조 빈도를 확인해 가장 최근에 사용하지 않은 페이지를 우선 교체함
- '피프 교체 알고리즘'은 가장 오랫동안 사용된 페이지를 교체하며, 페이지 부재 발생 횟수를 줄임
- 각 알고리즘은 초기 페이지 부재 발생과 페이지 교체 가능성에 따라 분류됨
5-3. 주기억 장치의 기타 관리
- '로컬리티'는 프로세스가 실행 중 일부 페이지에 집중적으로 참조하는 현상을 의미함
- '시간 구역성'은 일정 시간 동안 특정 페이지에 집중적으로 참조하는 현상을 의미함
- '공간 구역성'은 일정 지역의 페이지를 집중적으로 참조하는 현상을 의미함
- '워킹셋'은 프로세스가 자주 참조하는 페이지들의 집합으로, 중복된 항목을 제거함
6. 페이지 관리
6-1. 페이지의 성능 저하
- 페이지 참조 빈도가 높을수록 메모리 접근 시간이 길어지고, 페이지 교체 현상이 자주 발생함
- 프로그램의 다중 실행이나 가상 기억 장치 사용 시 페이지 부재 현상이 발생할 수 있음
- (중요) 다중 프로그램 실행 시 페이지 교체 빈도가 높아지고, 시스템 성능을 저하시킬 수 있음
- (중요) 페이지 교체 빈도를 줄이기 위해, 워킹셋을 주기억장치에 상시 유지하고, 페이지 부재 현상을 줄여야 함
- CPU 성능에 대한 지속적인 관리와 분석을 통해 임계치를 예상하여 운영해야 함
6-2. 스케줄링과 PCB
- 프로세스는 CPU에 의해 처리되어지는 사용자 프로그램을 뜻함
- 프로세스 컨트롤 블록을 포함한 프로세스 제어 정보를 저장하는 PCB(프로세스 컨트롤 블록)가 있음
- PCB에는 프로세스의 상태, 주소 기억, 메모리 및 입출력 상태 정보 등이 담김
- 스레드는 프로세스 내의 작업 단위로, 시스템의 자원을 할당받아 실행함
- 스레드 기반 시스템에서 스레드는 독립적인 스케줄링 단위가 되어 프로세스 역할을 함
6-3. 스케줄링 전략
- 스케줄링의 목적은 프로세스 실행 시간 비율을 높이고, 우선순위가 높은 프로세스를 먼저 실행시키는 것임
- 스케줄링 과정은 프로세스가 생성되어 실행될 때까지 여러 단계를 거침
- 스케줄링 전략에는 비선점 스케줄링과 선점 스케줄링이 있음
- 비선점 스케줄링은 이미 할당된 CPU를 다른 프로세스가 점유하지 못하게 하는 기법임
- (중요) 선점 스케줄링은 시스템의 우선순위에 따라 CPU를 효율적으로 사용하기 위해 사용됨
7. 스케줄링과 환경 변수
7-1. 스케줄링의 종류와 특징
- 스케줄링은 작업의 우선순위에 따라 CPU를 할당하는 방식임
- (중요) 비선점 스케줄링은 프로세스가 CPU를 차지할 때까지 다른 프로세스가 빼앗아 사용할 수 있음
- 선점 스케줄링은 우선순위를 조절하여 빠른 응답 시간을 요구하는 시스템에 사용됨
- 선점 스케줄링은 오버헤드를 초래할 수 있고, 인터럽트 타이밍과 클록이 필요함
7-2. 환경 변수와 명령어
- 환경 변수는 시스템 환경 변수와 사용자 환경 변수로 구분됨
- 환경 변수는 변수명과 값으로 이루어져 있으며, 변수명에는 달러 기호가 붙음
- 사용자 환경 변수는 유닉스와 리눅스에서 사용되며, 주로 '디렉토리', '홈 디렉터리', '시스템 드라이브' 등을 포함함
- (중요) 시스템 환경 변수는 환경 명령어를 사용하여 설정할 수 있음
7-3. 환경 변수 설정과 명령어
- 환경 변수 설정 시에는 달러 기호를 사용하여 설정함
- 시스템 환경 변수와 사용자 환경 변수로 나누어 환경 명령어를 사용함
- 명령어 중심적으로 사용하는 운영체제의 기본 명령어인 클리, 래, 키보드 명령어인 래, 리를 이용해 환경 명령어를 구성함
- (중요) 이 명령어들은 운영체제의 기본 동작을 제어하며, 사용자의 편의를 위한 다양한 기능을 제공함
8. 파일 시스템
8-1. 파일 시스템의 종류와 명령어
- (중요) 파일 시스템이란 데이터를 모으고 관리하는 시스템임
- 파일 시스템 종류에는 유닉스, 리눅스, 윈도우가 있음
- 파일 시스템은 파일, 디렉토리, 그 밖의 파일로 구성됨
- 파일 종류에는 여러 가지가 있고, 파일 이름을 통제할 수 있음
- 윈도우 명령어는 파일과 디렉토리에 대한 다양한 기능을 수행함
8-2. 파일 시스템 명령어와 특징
- 윈도우 명령어는 주로 파일과 디렉토리에 대한 변경 작업을 수행함
- 명령어의 유형에는 타입, 셀 스크립트, 파인딩 등이 있음
- 윈도우 명령어는 타입 유형은 파일의 내용 출력, 셀 스크립트는 파일 종류 출력에 사용됨
- (중요) 명령어의 셀 스크립트 파트에서 가장 중요한 것은 파일 사용 권한 지정에 관한 명령어임
- 윈도우 명령어에서는 주로 서버 운영체제에 사용되는 명령어가 많음
8-3. 유닉스의 특징과 파일 삭제 명령어
- 유닉스는 커널로써 시스템의 중심부에 위치함
- 프로세스 관리와 기억장치 관리 등 다양한 역할을 수행함
- 유닉스의 명령어 해석기인 샤를은 명령어를 유닉스와 리눅스에서 다르게 해석함
- (중요) 유닉스의 파일 삭제 명령어는 리눅스의 파일 삭제 명령어인 '리무브'와 같음
- 리눅스의 파일 삭제 명령어는 파일을 포함한 모든 파일을 포함하여 실행함
9. 윈도우 기초와 네트워크 기초
9-1. 윈도우의 특성과 이해
- 윈도우는 컴퓨터 시스템 자원 관리와 인터페이스 제공을 위해 만들어짐
- 윈도우의 종류로는 유닉스, 리눅스, 레고오에스, MS도스 등이 있음
- 메모리 관련 내용을 다루며 기억장치의 계층 구조를 이해함
- 기억장치의 관리 전략으로는 레지스터 캐시, 주기억장치, 보조기억장치 등을 포함함
- (중요) 페이지 할당 기법으로는 연속할당과 분산할당이 있음
9-2. 가상 기억장치와 프로세스 스케줄링
- 가상 기억장치의 구현 기법에는 페이징 기법과 세그먼테이션 기법이 있음
- 페이징 기법은 일정 크기로 페이지를 나누며, 세그먼테이션 기법은 동적으로 페이지를 변경함
- 로컬리티, 워킹셋, 스트레싱 등 관리 방식에 대해 설명함
- (중요) 스케줄링의 종류로는 비선점 알고리즘과 선점 알고리즘이 있음
9-3. 네트워크 구성과 허브의 역할
- 네트워크 프로토콜의 개념과 특성을 이해함
- 네트워크 계층 구조에서 각 층의 역할을 설명함
- (중요) 패킷 스위칭 시스템을 이해하고 다양한 라우팅 알고리즘과 IP 프로토콜을 설명함
- 네트워크 관련 장비들, 게이트웨이와 라우터의 역할에 대해 설명함
- 허브의 종류와 역할, 스위칭 허브와 더미 허브의 차이점을 이해함
10. 네트워크 장비
10-1. 네트워크 장비의 종류
- 네트워크 장비로는 랜카드, 브릿지, 스위치가 있음
- 랜카드는 네트워크의 브릿지 역할을 함
- 브릿지는 동일한 프로토콜을 사용하는 네트워크간의 연결을 돕고, 규모가 커질수록 효율이 떨어짐
- 스위치는 레인과 레인을 연결하여 더 큰 레인을 만듦
- 스위치는 하류웨어 기반으로 처리되어 전송 속도가 빠르고, 수십~수백 개의 포트를 지원함
10-2. 네트워크 구조
- 네트워크 구조는 ISO에서 제시한 7계층 모델로 설명할 수 있음
- 7계층은 물리계층(1계층), 데이터 링크 계층(2계층), 네트워크 계층(3계층), 전송 계층(4계층), 표현 계층(5계층), 응용 어플리케이션 레이어(6계층)로 구성됨
- 호스트는 네트워크에 연결된 컴퓨터를 의미함
- 호스트 간의 데이터 전송은 각 계층에서 수행되며, 데이터 링크 계층과 표현 계층에서 세션으로 관리됨
10-3. 네트워크 장비의 매칭
- 허브와 리피터는 물리계층에 해당함
- 랜카드, 브릿지, 스위치는 데이터 링크 계층에 해당함
- 라우터는 네트워크 계층에 해당하고, 트랜스포트는 게이트웨이 계층에 해당함
- (중요) 시험 문제에서 장비의 매칭을 묻는 문제가 출제될 수 있음
11. 온라인 통신의 전반적인 이해
11-1. 통신 모델과 상호 접속
- (중요) OS 참조 모델은 서로 다른 시스템 간 상호 접속을 위한 개념을 규정함
- 규격 개발과 관련 규정의 정합성 적합성을 조절하기 위한 공통 기반을 제공함
- 계층 단위별 데이터 단위를 설정하고, 이를 시험에서 중요하게 다룸
- 프로토콜의 데이터 단위는 계층별로 달라짐
11-2. 프로토콜의 기능과 구현
- 프로토콜의 주요 기능은 흐름 제어, 오류 제어, 순서 제어임
- (중요) 관련 프로토콜의 종류는, 할 소와 , x 25, 라우터 등이 있음
- 각 계층에서 이러한 기능들을 통해 시스템 간의 전송 연결을 설정하고 해제함
- 데이터 링크 계층에서는 네트워크 계층의 기능을 지원함
11-3. 프로토콜의 기본 요소
- 프로토콜의 기본 요소는 시맨틱, 타이밍, 타이밍을 포함함
- (중요) 프로토콜은 효율적이고 정확한 정보 전송을 위한 규정과 절차의 집합임
- 프로토콜은 간단하게 정의되며, 특징적으로 단편화하고 제어함
- 프로토콜의 기본 요소에 대해 이해하는 것이 중요함
12. 네트워크 프로토콜 이해
12-1. 프로토콜의 구조와 종류
- 네트워크 프로토콜은 7계층으로 구성되어 있음
- (중요) 각 계층은 다른 역할을 담당하며, 각 계층은 또 다른 프로토콜에 연결되어 있음
- 프로토콜의 종류는 라우팅 프로토콜, 네트워크 프로토콜, 전송 프로토콜, 응용 프로토콜로 나뉨
- 라우팅 프로토콜은 네트워크의 시작점에서 목적지까지 경로를 가르쳐주는 역할을 함
- 네트워크 프로토콜은 실제 네트워크에서 사용되는 프로토콜이며, 전송 프로토콜은 데이터 전송에서 사용됨
12-2. 프로토콜의 특성과 적용
- 전송 프로토콜은 전송 계층과 응용 계층에서 사용되며, 네트워크 프로토콜은 네트워크 계층에서 사용됨
- (중요) 라우팅 프로토콜은 경로를 배정하는 역할을 하며, 그중에서는 이들 프로토콜은 특정 계층에서만 사용됨
- 네트워크 프로토콜은 네트워크 계층과 전송 계층에서 사용되며, 이를 통해 전달되는 데이터량을 제어함
- 모든 프로토콜은 이더스트리에 대해 정의하고, 이를 통해 데이터의 전송량과 속도를 제어함
12-3. 네트워크 프로토콜의 중요성과 적용
- 네트워크 프로토콜은 네트워크에서 데이터의 전송량을 제어하고, 오류를 검증하며, 동기화를 지원하는 역할을 함
- (중요) 전송량 제어, 오류 검증, 동기화 등의 기능을 통해 네트워크의 효율성을 높이는 데 중요한 역할을 함
- 다양한 프로토콜들이 존재하며, 각각의 계층에서 다른 역할을 하며, 이를 통해 전체 네트워크의 작동을 제어함
- 네트워크 프로토콜의 사용과 이해는 네트워크의 효율성과 안정성을 보장하는 중요한 기술임
13. 인터넷 프로토콜의 주소 지정과 패킷 분할
13-1. 인터넷 프로토콜의 주소 지정과 패킷 분할
- 인터넷 프로토콜의 주소 지정과 패킷 분할은 네트워크 계층에서 수행함
- 패킷 단위로 비연결 서비스를 제공하며, 이를 통해 비연결성 형태를 취함
- (중요) TCP와 UDP의 차이를 이해하는 것이 중요함
- TCP는 신뢰성 있게 연결하고, UDP는 비연결적으로 연결함
- 패킷의 길이와 헤더 길이, 목적지 주소 등이 주소 지정에 영향을 미침
13-2. 인터넷 주소 체계의 변화와 발전
- (중요) 인터넷 주소 체계는 4단계의 변화를 거쳐 현재의 형태로 발전함
- 주소 체계의 발전은 인터넷 이용의 편의성을 향상시킴
- 주소 체계는 사용자들에게 인터넷을 보다 쉽고 효율적으로 이용하도록 도와줌
- 4단계의 주소 체계는 각각 다른 방식으로 작동하며, 각각의 방식이 상황에 따라 적절하게 사용됨
- 향후 모바일 서비스의 활성화와 함께 더 복잡한 인터넷 주소 체계의 필요성이 부각될 것임
13-3. 서버 네트워킹과 도메인 네임 시스템
- (중요) 서버 네트워킹은 인터넷 주소를 여러 개의 작은 네트워크로 나누어 사용하는 것을 의미함
- 네트워크 회선과 브로드캐스의 주소는 네트워크 계산을 통해 결정됨
- 서버 네트워킹을 통해 인터넷의 손실을 최소화하고 효율성을 높일 수 있음
- 도메인 네임 시스템은 이러한 주소 체계의 일환으로, 컴퓨터 이름, 기관명, 국가명 등을 포함함
- 이러한 도메인 네임 시스템은 인터넷의 사용에 있어서 중요한 역할을 수행함
14. 인터넷 프로토콜과 네트워크 장비 이해
14-1. 인터넷 프로토콜과 네트워크 장비 이해
- 인터넷의 표준 프로토콜은 75P이며, 70P 프로토콜 기반으로 전 세계 수많은 컴퓨터와 네트워크 연결
- 네트워크 장비는 네트워크 장비의 종류로서 게이트웨이, 랜카드, 라우터 등이 있음
- 랜카드는 네트워크 장비의 1계층에 해당되며, 라우터는 4계층에 해당됨
- 허브와 스위치는 2계층에 해당되며, 랜카드와 라우터는 각각 3계층에 해당됨
14-2. 네트워크 프로토콜의 종류와 특징
- 네트워크 프로토콜은 라우팅 프로토콜, 스트리밍 전송 계층, 70P 등 다양한 종류가 있음
- (중요) 스트리밍 전송 계층은 TCP 프로토콜을 제공
- (중요) 7계층은 인터넷 계층, 전송 계층, 응용 계층으로 구성
14-3. 프로토콜의 적용과 사용
- TCP는 프로토콜의 1계층에 해당되며, TCP/IP는 2계층에 해당
- IPV6는 3계층에 해당되며, UDP는 4계층에 해당
- (중요) 7P 프로토콜은 7계층에 해당되며, 4개 계층으로 나눠짐
15. 네트워크 기초와 웹 서버
15-1. 네트워크 기초 이해
- 네트워크의 기본 요소인 프로토콜, 구문, 의미, 시간 등에 대해 설명함
- 라우팅 프로토콜의 종류인 rip, 이그니피, 송부호, 보낸부호 등에 대해 설명함
- (중요) 라우팅 프로토콜의 특성 중, 4와 6의 주소에 대한 특징 비교를 함
- 7계층 네트워크 계층에서 호스트의 주소 지정과 패킷 분할 및 조립 기능을 다룸
15-2. 웹 서버의 개요와 특징
- 웹 서버의 개요와 특징에 대해 설명함
- 웹 서버는 동적 페이지와 정적 페이지로 나뉘며, 웹 서버의 주요 기능과 제품에 대해 설명함
- 웹 서버의 성능 향상을 위한 패키지 개발 방식의 개념과 장단점을 이해함
- (중요) 웹 서버와 웹 애플리케이션 서버의 역할을 분리해서 설명함
15-3. 웹 서버의 종류와 활용
- 웹 서버의 종류 중, 소규모에서 큰 규모까지의 활용을 설명함
- 웹 서버의 기능을 데이터베이스 서버와 비교하여 설명함
- 웹 서버의 주요 제품인 아파치 웹 서버를 소개함
- (중요) 웹 서버의 활용 분야에 따라, 소규모 데이터 관리에서는 마이SQL과 우수 서버, 대규모 데이터 처리에서는 오라클 DB를 활용함
16. 데이터베이스 관리와 웹 서버 기능
16-1. 데이터베이스 관리와 무료 또는 유료 소프트웨어
- 데이터베이스의 안정적 처리를 위한 소프트웨어의 선택 중요성 설명함
- 마이SQL, 마이크로소프트, 마리아 디비 등의 무료 또는 유료 소프트웨어를 소개함
- (중요) 중소 규모 데이터의 안정적 처리를 위한 마이너스큐어의 오픈소스 소프트웨어를 소개함
- 기술 지원, 다수 사용자 간 정보 공유 등에 대한 고려사항을 통해 DBMS 선택을 결정함
- 마이크로소프트 SQL 서버는 윈도우 운영체제에서만 설치 가능함
16-2. 패키지 개발 방식의 장단점
- 패키지 개발 방식의 특징을 설명하고 있음
- 패키지 소프트웨어 개발의 필요성과 편리성을 설명함
- (중요) 패키지 소프트웨어 개발의 단점인 프로세스 개선 저항에 대해 설명함
- 사용자의 요구사항에 맞게 수정해야 하며, 요구사항을 모두 충족시키지 못할 경우 문제 발생 가능성을 지적함
- 패키지의 요구사항을 완전히 충족시키지 못할 경우, 새로운 시스템 개발 필요성을 강조함
16-3. 웹 서버의 기능과 포트 번호
- 웹 서버의 기능과 포트 번호에 대해 설명함
- 웹 서버의 기본 포트 번호에 대해 설명함
- (중요) 웹 서버의 다양한 포트 번호와 그 역할에 대해 설명함
- 웹 문서 주고받기, 쿼리 캐싱 등의 웹 서버 기능에 대해 설명함
- 이 강의의 핵심은 웹 서버의 기본 개념과 웹 서버의 포트 번호, 그리고 패키지 개발 방식의 장단점과 활용 방안에 있다는 것을 강조함
00:03
프로그램 언어 활용의 마지막 학습 능력 단위인 응용 소프트웨어 기초활용의 첫 번째 운영체제 기초 활용에 대해 살펴보도록 하겠습니다. 학습 목표로는 응용 소프트웨어를 개발하여 다양한 운영체제의 특징을 설명할 수 있다. 그리고 cli 명령어 중심적인 인터페이스와 커맨드 라인 인터페이스 및 gui 그래픽 유저 인터페이스 환경에서 운영체제에 대한 기본 명령어를 활용할 수 있다. 운영체제에서 제공하는 작업 우선순위 설정 방법을 이용하여 애플리케이션의 작업 우선순위를 조정할 수 있다. 그리고 이 파트는 기존 과목인 운영체제 파트의 과목과 매칭이 되어지는 부분이라서 새로운 문제보다는 기출문제 유형을 이해하시고 풀이 중심적으로 하는 게 여러분한테 도움이 될 것 같아서 운영체제의 기출문제 유형을 이해한다를 학습 목표로 잡았습니다.
00:59
학습의 내용은 다섯 파트로서 운영체제 종류 메모리 관리 프로세스 스케줄링 환경 변수 셀 스크립트인데 이 중에서 약간 난이도가 있는 부분이 메모리 관리 부분과 프로세스 스케줄링 부분이 되겠습니다. 용어 사전으로서는 메모리 관리하는 부분은 프로그램의 실행이 종료될 때까지 메모리를 사용한 사용할 수 있는 상태로 유즈 및 관리하는 것을 뜻하고요. 환경 변수는 시스템 소프트웨어와 동작에 영향을 미치는 동적 값들의 모임이라고 정의할 수 있겠습니다. 먼저 운영체제 종류입니다. 운영체제는 앞단에서도 저희가 파트별로 살펴봤었죠.
01:44
컴퓨터 시스템의 자원들인 cpu나 주기억장치 보조기억장치나 파일 등과 같은 시스템 자원을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 인터페이스 접촉적 역할을 제공하는 시스템 소프트웨어가 되겠습니다. 운영체제의 역할 시험에 나올 확률이 높습니다. 사용자와 시스템 간에 편리한 인터페이스를 제공한다. 그리고 시스템이 각종 하드웨어와 네트워크를 관리 제어한다. 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공한다. 우선순위를 조정한다든지 데이터를 관리하고 데이터의 자원의 공유 기능을 제공하고 입출록에 대한 보조 기능을 제공하고 시스템 오류가 발생했는지 검사하고 복구하는 기능이 운영체제 역할이 되겠습니다.
02:38
운영체제 목적은 운영체제는 컴퓨터 시스템의 처리 능력 향상 그리고 사용 가능도 향상 변환 시간 단축을 목표로 합니다. 그래서 운영체제의 성능을 평가하는 기준은 뭔가 기초 문제로 나왔던 부분인데요. 처리능력 운영체제 성능평가 기준은 처리능력 반환 시간 사용 가능도와 신뢰도가 되겠습니다. 운영체제 종류는 앞단에서 많이 살펴봤기 때문에 간단하게 윈도우 마이크로소프트 개발한 운영체제 그리고 유닉스 리눅스 맥 os 애플에서 만든 그리고 마이크로소프트웨어에서 만든 clu clr 환경의 운영체제 ms 도스가 있는데, 세부 내용은 조금 더 단계별로 살펴보도록 하겠습니다. 먼저 윈두우 마이크로소프트에서 개발한 운영체제죠 이름에서 창입니다.
03:28
검은 깜깜한 어두운 공간에 창을 뚫어서 빛을 비춰서 사용자들이 쉽게 컴퓨터를 사용할 수 있도록 하자는 목적으로 만든 운영체제죠 95년도에 배포된 운영체제가 윈도우 95고요. 98년도에 배포된 게 윈도우 98 그리고 밀레니엄 버전으로 미 그리고 2천 버전이 빠졌는데 윈도우 2천 그다음에 윈도우 xp 비스타 7 8 8.1 지금 현재는 최신 버전이 10버전이 되겠습니다. 윈도우의 특징 기치 문제에 나왔던 대상인데요. gy와의 환경을 제공한다. 그래픽 유저 인터페이스 키보드로 명령을 입력하지 않고 마우스를 쉽게 조작해서 작업을 수행할 수 있는 것 선점형 멀티태스킹 특징은 동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 사용하면서 운영체제가 각 작업인 cpu 이용 시간을 제어해서요.
04:26
응용 프로그램 시행 중에 문제가 발생했을 때 해당 프로그램을 강제 종료시키고 다른 모든 시스템 자원은 정상적으로 사용할 수 있도록 하는 기능 선점형 멀티태스킹 pnp는 플러그 앤 플레이 기능입니다. 플러그로 꽂으면 작동한다. 이 말입니다. 컴퓨터가 켜져 있는 상태에서 외부 장치가 꽂혔을 때 자동적으로 그 장치를 사용할 수 있는 장치 드라이브를 운영체제가 자동으로 구성해주는 기능이 플러그 앤 플레이 oled는 오브젝트 링킹 임베디드 다른 응용 프로그램에서 작성된 문서나 그림 개체를 복사를 해서 예를 들어서 엑셀에 작업했던 차트를 복사해 가지고 아래 한글에 붙여넣기를 한다든지 문서에서 간에 자유롭게 연결하거나 삽입하여 편집할 수 있는 기능이 oled 오브젝트 링킹 임베딩 기능입니다.
05:22
유닉스는 60년대의 atm 베일 연구소와 mit 그리고 제너럴 일렉트릭이 공동으로 개발한 운영체제이고요. 운영체제의 종류는 현재 다양합니다. ibm에서의 운영체제 버전은 aix 오라클의 솔라리스나 hpa ux 등이 있습니다. 유닉스 버전이 다양한 건 소스를 오픈시켰기 때문입니다. 특징에서 살펴보도록 하겠는데 유닉스의 특징은 대부분 c로 작성이 되어서 이식성이 높다 하드웨어에 종속적이지 않다 장치와 프로세스 간의 호환성이 높다 시분할 시스템으로 설계되었다. 대표적인 시분할 시스템이 뭐냐 여러 사람들이 동시에 공동으로 사용하는 서버들입니다. 서버 서비스를 제공하는 컴퓨터 그래서 유닉스는 서버용으로 서비스가 되죠.
06:17
개인용으로가 아니라 시분한 시스템으로 설계된 대화형 운영체제이며 소수가 공개되어진 개방형 시스템입니다. 그리고 여러 사람이 사용한다. 다중사용자 그리고 각각 여러 개의 작업을 동시에 수행한다. 다중작업 멀티유저 멀티태스킹을 지원하고요. 많은 네트워크 기능을 제공함으로 통신망 관리용 운영체제 즉 서버 운영체제에 적합하고 다양한 유틸리티 프로그램들이 존재한다는 특징이 있습니다. 유닉스에 대한 특징도 시험에 자주 나왔어요. 자 유닉스 시스템의 구성으로서 크게 양분화에서 두 가지 커널과 셀올 이 시스템 구성에 대한 부분도 기존 운영체제 시스템 기출문제에 자주 나왔었습니다. 커널은 유닉스 운영체제의 중심 핵심 역할을 담당을 합니다. 주역할은요, 프로세스관리 기억장치 관리 입출력 관리 파일 관리 등과 같은 기능을 수행하고요.
07:17
컴퓨터가 부팅이 될 때 주기억 장치에 적재되어서 로딩되어서 상주하면서 실행을 합니다. 셀은 자 아까 저희가 목차 내에 마지막이 뭐였죠 shel script라고 있었어요. shel script 셀은 명령어로 인식하는 명령어 해석기입니다. 셀 스크립트는 운영체제 명령어라고 보시면 되겠고요. 사용자의 명령어를 인식하는 명령해석기로 시스템과 사용자 간이 인터페이스 역할을 담당한다. 이 셀은 주기억 장치에 상주하지 않고 명령어가 포함된 파흐 형태로 존재하며 보조 기억 장치에서 교체 처리가 가능하다 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신을 파이프라인이라고 이야기를 하는데요. 파이프라인 기능을 지원하고 입출력 재지정을 통해서 출력과 입력의 방향 변경이 가능합니다.
08:14
쉐르 종류로서는요 본쉐리나 시셀 콘셀 등 여러 종류가 있습니다. 리눅스인데요. 리눅스는 유닉스 운영체제를 미니화하자라는 프로젝트로 미닉스 프로젝트로 만들어진 운영체제가 리눅스입니다. 1991년 리뉴스터발즈가 유닉스 기반으로 개발한 운영체제가 되겠고요. 그래서 유닉스는 pc용으로도 사용이 되어지죠 서버 운영체제로 서비스를 하지만 리눅스도 마찬가지로 오픈 소스이기 때문에 다양한 종류들이 있습니다. 버전이요. 데비안 레디엣 페드와 유븐 우븐 2 센트웨이스 등 다양합니다.
08:56
유닉스의 특징은 프로그램 소스가 무료로 공개되어져서 프로그래머가 원하는 기능을 추가 가능하다 그리고 다양한 플랫폼에 설치해서 사용이 가능하고 재배포가 가능하다 그리고 유닉스와 완벽하게 호환이 되어지고 대부분의 특징은 유닉스와 동일한 특징이 있습니다. 명령어라든지 이러한 것들이 거의 동일합니다. 그리고 맥 os는 80년대에 애플에서 유닉스를 기반으로 개발한 운영체제가 되겠고요. 99년에 osx로 업데이트한 후에 클라이언트 버전 서브 버전 등으로 제품군을 확대했고 2017년도에 osxa 그리고 2018년도에 모하비를 발표했습니다. 맥 os의 특징은 애플에서 생산한 제품에만 사용이 가능하다 상범위가 약간 제한적입니다.
09:54
아이맥이나 맥북 등과 같은 애플사이즈를 생산한 제품에서만 사용 가능하다 드라이브 설치 및 인스톨과 어니스트롤 과정이 단순하다 라는 특징도 있습니다. 자 운영체제 파트 정리하는 퀴즈입니다. 운영체제의 역할로 가장 옳지 않은 것은 지금 이 운영체제 기초 활용 파트에서 다루는 문제들은 대부분 기출문제 중심적으로 뽑았기 때문에 이 기출문제는 다시 재출제될 수도 있습니다. 그래서 명확하게 학습해 주시길 권장해 드립니다. 자 운영체의 역할로 가장 옳지 않은 거 사용자 인터페이스 제공해요. 맞죠. 입출력 및 보조 역할을 수행합니다. 맞죠. 사용자들 간이 하드웨어 자원의 공동사용이 가능하다 맞죠. 원시 프로그램을 목적 프로그램으로 변환한다고 하는 부분은 언어 번역기의 특징이죠. 컴파일러 같은 언어 번역의 특징이기 때문에 운영체제의 역할은 아닙니다.
10:50
틀린 건 4번 다음 중 운영체제가 아닌 것은 프레지는 프레젠테이션 서비스인데 클라우드 중심적으로 pc 중심이 아니라 클라우드 중심적인 프레젠테이션 서비스고요. 프레지 윈도우 유닉스 리눅스는 운영체제의 종류죠 마이크로소프트 윈도우 운영 체제의 특징 아닌 것은 gui 기반의 운영체제예요. 윈도우가 가지고 있는 가장 장점이 있고 마우스를 이용해서도 쉽게 컴퓨터를 사용할 수 있다. 그래픽 유전 인터페이스 트리 디렉토리 구조를 가진다 맞고요. 선점용 멀티태스킹 기능을 가진다 소스가 공개된 개방형 시스템이다. 라는 특징은 아닙니다. 윈도우는 소스를 오픈하지 않습니다. 유닉스원 리눅스의 특징이죠. 다음 유닉스 쉐일에 대한 설명으로 옳지 않은 것은 쉐르 커놀과 셀이 있었습니다. 저희가 살펴봤던 명령어 해석기예요.
11:50
맞고요. 시스템과 사용자 간의 인터페이즈 역할을 담당합니다. 맞고요. 여러 종류의 쉐일이 있어요. 본셰쉬 셀 평은 프로세스 기억장치 입주력 관리를 수행해요. 얘는 커놀의 특징입니다. 커널 핵심 기능이라고 말씀드렸죠 유닉스의 다음 메모리 관리 파트 살펴보도록 하겠습니다. 자 이 파트에 약간 어려울 수도 있는데요.
12:15
단계별로 차근차근 살펴볼게요 메모리 관리의 우선 1차적으로 개념은요, 프로그램의 실행이 종료될 때까지 메모리를 가용 상태를 유지 및 관리하는 것을 뜻하고 여러 프로그램들이 실행이 되어지면 메모리가 꽉 차게 되면 시스템 속도가 느려지고 때로는 멈추는 현상이 발생할 수 있기 때문에 메모리 관리가 필요하다 메모리에 있는 프로그램은 중앙처리 장치인 cpu로 이동하고 cpu는 virtual 가상 또는 논리적 어드레스를 그리고 메모리는 피지컬 어드레스를 사용하는데 이를 맵핑 매칭시켜주는 mmu 메모리 매니지먼트 유니티가 해당 역할을 담당한다.
12:55
그리고 cpu와 지속적으로 데이터를 송수신하는 상황에서 어떤 부분의 메모리가 현재 사용되고 있느냐 그리고 어떤 순서로 메모리에 입력 출력이 되어야 되는지 그리고 메모리 공간이 필요할 경우에 추가적으로 필요한 경우에는 어떻게 확보 및 제거할지와 같은 종합적인 관리가 메모리 관리가 되겠습니다. 먼저 메모리는 기억장치입니다. 기억장치의 구조적인 부분을 먼저 살펴보면 기억장치의 종류는 여러 가지가 있는데, 기억장치 계층 구조들을 살펴보게 되면 보조기억장치 보조기억장치는 대표적으로 하드디스크죠 하드디스크 전원이 끊어져도 기억된 내용이 지워지지 않는 하드디스크나 usb나 이러한 기억장치가 보조기억장치 주기억장치가 랩 메모리입니다.
13:51
랩 메모리 그다음에 캐시 기억 장치와 레지스터는 cpu에 포함되어지는 기억 장치가 되겠고요. 해당 이 네 가지의 기억 장치들 간의 특징을 보면 접근 속도 처리 속도는 레지스트가 제일 빨라요. 레지스트가 제일 빠르고요. 제일 느린 게 보조기억장치입니다. 그래서 이 순서대로입니다. 기억 용량은 오히려 보조기억장치가 제일 많고요. 레지스트가 제일 적어요. 반대 개념이죠. 기억장치 계층의 상위 장치일수록 접근 속도와 그리고 접근 시간이 빠르다 하지만 기억 용량이 적고 가격도 비싸요 고가이다. 주기억장치는 각기 자신의 주소를 갖는 워드 또는 바이트들로 구성이 되어 있고 주소를 이용해서 엑세스 할 수 있다. 랩 메모리는요 8비트 1바이트 단위의 번지를 매겨요 0번지부터 레메모리의 크기까지 제일 큰 값은 다르겠죠.
14:50
그 주소 단위를 액세스합니다. 보조기억장치의 데이터는 주기억장치의 적재를 가지고 온다는 말이고요. 한 다음에 cpu에 액세스 할 수 있습니다. cpu가 직접적으로 보조기억장치에 저장되어 있는 데이터를 가지고 와서 처리하는 것에 비해서 주기억장치가 보조기억장치로부터 가지고 와서 cpu로 넘겨주는 게 만 배 이상 처리 속도가 빠릅니다. 자 다음으로, 메모리 기억 장치에 대한 관리 전략인데요. 기억 장치 이꼴 메모리라고 생각하시면 돼요. 기억장치의 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치로 가지고 오는 시기 언제 그리고 어디에 위치 등을 지정해서 한정된 주기억장치의 공간을 효율적으로 사용하기 위한 관리전략이 되겠고요. 관리전략 종류는 3가지 언제 가져올 건데 반입 전략 영어로는 패치 영어도 기억하셔야 돼요.
15:44
패치 전략 그거 어디에다가 배치할 겁니 프레이스먼트 배치 전략 그리고 기존의 메모리가 다 사용하고 있어요. 그러면 추가적으로는 어떤 거 하고 빼고 넣을 거야. 네 교체 전략 리플레이스먼트 언어 영역과 교체 이 세 가지가 있습니다. 세부적으로는 반입 전략 패치 전략은 시기적인 부분입니다. 보조기억장치에서 보관 중인 프로그래미아 데이터를 언제 주기억장치로 적재할 건지 결정하는데 두 가지 요구가 있을 때 디멘드패치 가져오는 부분이고 예상 반입이라고 하는 부분은 실행된 프로그램에 의해 참조된 프로그램의 데이터를 미리 예상하여 적재하는 방법 두 가지가 있습니다. 배치 전략은 어디에다가 가져올 건데 위치적인 측면이고요. 새로 반입되는 프로그램의 데이터를 조격 장치 어디에다 위치시킬 것인가? 라는 부분인데 이 파트 기출문제 자주 좀 나왔어요. 세 가지 종류가 있습니다.
16:42
최초 적합 이름값만 보면 정확하 어느 정도 유추할 수 있습니다. 합니다. 제일 먼저 핏 단단 배치시킨다. 이 말이에요. 프로그램이나 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 첫 번째 분할 영역에 배치한다. 뒤에 문제로 설명을 드릴게요. 개념만 먼저 읽히겠습니다. 최적 적합 잘 가장 잘 적합시켰다 이 말입니다. 해당 프로그램에 데이터가 들어갈 수 있는 크기의 빈 영역 중에서 해당 그 프로그램의 용량에 가장 근접한 낭비가 생기지 않게끔 빈 기억 공간을 가장 작게 남기는 분할 용량이 배치하는 게 베스트 빛이고요. 최악은요, 빈 공간을 제일 많이 남기는 거죠. 10kg의 프로그램 을 어 배치를 시키는데 어 15짜리가 있고 25짜리가 있다. 그러면 15짜리를 배치하는 게 25짜리 배치하는 것보다는 잉여 남는 공간이 적게 소요되죠.
17:41
그렇기 때문에 25짜리 즉 빈 공간을 많이 남기면서 배치하는 게 제일 나쁜 배치다 워스트 핏이 되겠습니다. 교체 전략입니다. 디플레이스먼트 리퍼레지먼트는 스와핑 기법이다. 주기억장치의 모든 영역이 이미 사용 중인 상태에서 새로운 프로그램이나 데이터를 주기억장치 배치하려고 하면 공간이 없잖아요. 그러면 사용 중이던 영역 중에 하나를 빼고 넣어야겠죠. 그게 교체 스와핑이 되겠고요. 스와핑의 전략 기법으로는 스와핑 아웃 주기억장치의 프로그램이 보조기억장치로 이동하는 게 스와핑 아웃이고 반대가 스와핑 보조기억장치에서 주기억장치로 이동하는 게 스와핑인이 되겠습니다.
18:32
이 스와핑 기법은요, 가상기억장치의 페이징 기법으로 발전을 하게 되는데 해당 이 페이징 기법의 종류는 여러 가지가 있는데, 뒤에서 저희가 살펴볼게요 가상기억장치는 보조기억장치의 일부를 주기억장치처럼 사용하는 것을 이야기하고 이름만 간단하게 보겠습니다. 피포 퍼스트 인 퍼스트 아웃 그리고 optimal regressment 최적 교체 risted recential user 가장 오래 사용하지 않은 페이지 교체에 리스트 frequentius 사용 빈도가 가장 작은 페이지 nur not used ristentrlay 가장 최근에 사용하지 않은 페이지 교체 그리고 scr 세컨드 찬스 리플레이션먼트 2차 기회 교체 기법이 있는데, 뒤에 살펴보겠습니다.
19:19
자 메모리 관리 퀴즈 문제 기억장치 관리 이 메모리 관리 파트는 분량이 많아서 해당 퀴즈를 네 파트로 나눠 가지고 파트별로 이렇게 살펴볼게요 먼저 매물관리의 첫 번째 파트 기억장치 관리 전략은 주기억장치 자원을 가장 잘 사용하도록 설계되어야 하는데 다음 중 주기억장치의 관리전략과 거리가 먼 것은 관리전략 세 가지가 있었습니다. 언제 배치 어디에 배치 어떻게 어느 것과 교체 패치 전략 맞고요. 리플레이스먼트 아 플레이스먼트 배치 맞고요. 리플레이스먼트 교체 맞고요. 페이징 전략이 틀렸습니다. 다음 두 번째 주기억장치 관리 기법인 퍼스트 핏 베스트 핏 워스트 핏 방법에 대해서 10kg이 할당될 부분으로 옳은 것은 빈 영역이라고 보겠습니다.
20:14
빈 영역이라고 보면 배치할 수 있는 영역들이 4개가 있는데, 퍼스트 피스는요 빈 영역 중에 지금 10km짜리잖아요. 10km짜리를 먼저 넣을 수 있는 거예요. 9는 못 들어가죠 15는 들어가죠 그럼 여기 배치하겠죠. 이게 퍼스트 핏 ff라고 표기하겠습니다. 그다음에 베스트 피스는요 빅 영역들 중에 들어갈 수 있는 영역은 구분은 안 되니까. 빼고 나머지 15 10 30 중에 잉여 공간을 제일 남는 공간을 제일 작게 할 수 있는 거 근데 10자리가 있네요. 여기 딱 맞잖아요. 공간 낭비가 없으니까 여기가 베스트 핏 그다음에 가장 익용 공간을 많이 남기는 최악의 피트는 30짜리를 배치하면 20만큼 남죠 그러면 여기가 월스트핏이 되겠습니다. 그래서 2341번이 정답입니다. 퍼스트 핏 베스트 핏 버스트 핏 이런 걸로 어느 정도 유추할 수 있겠습니다.
21:14
다음 메모리 관리의 다섯 번째 파트로 주기억장치 할당 기법에 대해 살펴보도록 하겠는데요. 주기억장치할당기법 개념은 프로그램이나 데이터를 실행시키기 위해서 규격 장치에 어떻게 할당할 것인지에 대한 내용이고요. 할당 기법의 종류는 크게는 연속 할당 기법과 분산 할당 기법으로 나눌 수가 있습니다. 연속적으로 쭉 배당 할당하는 게 연속이고 분할은 군데군데 이렇게 프로그램을 주기억장치에 연속적으로 할당하는 기법이라 다시 세부적으로는 단일분할할당기법과 다중분할할당기법으로 다시 나눌 수 있겠고요. 단일분할분할할당기법은 우년청자 영역과 단일사용자 영역으로 분할을 한다. 세부적으로는 오버레이와 스와핑이 있다. 오버레이는 주격장치보다 큰 프로그램 실행법이고 스와핑은 앞서서 이야기했었죠.
22:11
주격장치 프로그램을 보조기록장 이동이 스와프 아웃이고 반대가 보조기억장치에서 주격이 가져오는 게 스와핑이었습니다. 다중분할 할당 기법은 운영체제 영역과 사용자 영역인데 이 사용자 영역을 다시 여러 개로 나누는 것을 이야기합니다. 여러 개의 사용자 영역으로 분할한다. 다시 고정적으로 분할하는 정적 할당인 고정분할 할당과 동적으로 할당하는 가변분할당으로 다시 나눌 수가 있겠습니다. 정적인 경우에는 해당 단편한 현상이 생길 수도 있어요. 정적으로 나누게 되면 들어가는 잉여 공간이 생긴다. 이 말이고요. 동적인 경우에는 프로그램 크기에 맞게끔 할당하기 때문에 단편화를 해결할 수 있다. 분산할당기법 대분류 분산할당은 기억장치 내용을 특정 단위의 조각으로 나누어서 주기억장치인데 이게 분산하여 할당하는 기법이다.
23:06
연속적이지 않고 여기에 해당되는 게 페이징 기법과 세그먼트 기법이 있겠습니다. 가상기억장치로 넘어가도록 하겠는데요. 가상기억장치는 virtual 메모리 유닛이에요. 보조기억장치 아까 기억장치 종류 계층 구조에서 보조기억장치 주기억장치 그 다음에 cpu인데 이게 캐시기억장치 레지스트가 있었죠. 그중에서 lam 메모리 즉 주기억장치의 용량이 좀 작아요. 그래서 어떤 프로그램을 실행하고자 하는데 얘가 메모리 공간이 부족해서 실행이 안 돼 그 케이스에 어떻게 보면 임시적인 방편이 될 수도 있는데, 보조기억장치의 일부를 주기억장치처럼 사용하는 거예요. 그래서 가상적으로 가상 버추얼 메모리입니다. 주기억장치의 용량보다 큰 프로그램을 실행하기 위해서 사용하는 게 되겠고요. 주기억장치 이용률과 다중프로그램의 효율성을 제고시킬 수 있다.
24:06
가장 기억 장치에 주장된 프로그램을 실행하면 가상 기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요합니다. 그리고 블록 단위로 나누어 사용하기 때문에 연소할당 방식에서 발생할 수 있는 단편화를 해결할 수 있다는 장점이 있고요. 프로그램을 여러 개의 작은 분할 블록 단위로 나누어서 기억장치에 보관해 주고 프로그램 실행할 때 요구되는 블록만 주기억장치에 불연속적으로 할당을 하여 처리한다. 가상기억장치 구현 방법이 페이징 기법과 세그먼트 기법이 있다. 구현 기법 세부적으로 살펴보면 페이징 기법 가장기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 고정된 크기로 나누어서 보통 14kb 정도 크기로 나눠서 가장기억장치 나누어진 가상기억장치 프로그램을 페이지라고 이야기를 하고요.
25:05
그리고 이것을 주기억장치 영역으로 적재시키는데 이 주기억장치 영역은 페이지 프레임이라는 용어를 씁니다. 페이지 프레임에 적재시켜서 진행하는 기법이다. 외부 단편화는 발생하지 않지만 외부적인 단편화는 발생하지 않지만 내부적인 단편화는 발생할 수 있다. 페이지는 기법은 내부 단편화 발생 다음에 살펴볼 세그먼트 기법은 반대예요. 개념이 주소 변화를 위해서 페이지의 위치를 가지고 있는 페이지 맵 테이블이 필요하고요. 페이지의 가상 주소는 pd로 표현을 하는데 p가 참조하는 항목이 있는 가상 메모리의 페이지이고 d는 그 페이지 안에서 참조하는 항목까지 위치 변이가 되겠습니다.
25:56
해당 실제 주소 변환할 때 페이지 프레임 크기가 ps이면 p 참조하는 항목 곱하기 외에 고정 크기로 나누니까 곱하기 ps 한 다음에 더해서 더하기 d로 실제 저장되는 주소를 구할 수가 있습니다. 다음 세그먼트 기법이 되겠는데요. 세그먼트 기법은 가상기억장치에 보관되어 있는 프로그램을 고정 크기가 아니라 다양한 크기의 논리적 단위인 세그먼트로 나누어서 주객장치에 적재시키는 방법입니다. 내부 단편화는 발생하지 않지만 외부적인 단편화는 발생할 수가 있다. 내부 단편은 내부적으로 크게 맞춰가지고 하니까 잉여 공간 안 생긴다. 이 말이고요. 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에 할당된 영역을 침몰할 수 없기 때문에 이를 위해서 기억장치 보조키가 필요하고 주소 변화를 위해서는 세그먼트가 존재하는 위치 정보를 담고 있는 세그먼트 매테이블이 필요합니다.
26:55
이 세그먼트의 가상 주소는 s신표 d 이렇게 표현을 하는데 해당 s는 참조하는 항목이 있는 가상 메모리의 세그먼트 번호고 d는 세그먼트 s에서 참조하는 항목까지의 변위가 되겠다. 실제 주조변환방법은 세그먼트 모노의 주기억장치 시작 주수에다가 변이값을 뒤에서 구할 수 있다. 뒤에 퀴즈 파트에서 문제로 푸는 게 이해도가 더 좋을 것 같아요. 자 메모리 관련된 퀴즈 살펴봅니다. 가상 기억 장치에 대한 설명으로 옳지 않은 것 주기억 장치의 물리적 공간보다 큰 프로그램을 실행할 수 없다고 되어 있는데, 가상 기억 장치에 사용할 목적이 주기억 장치의 물리적 공간보다 더 큰 프로그램을 사용할 수 있게끔 보조 기억 장치의 일부를 주기억 장치에 대해서 사용하는 거죠. 설명이 틀렸고 기억장치의 이용률과 전형 프로그램 효율 순으로 볼 수 있다. 기억장치의 일반적인 구현 방법은 페이징 기법과 세그먼트 기법이 있다.
27:53
연속 배당 방식에서의 기억장치 단편화 문제를 해결할 수 있다. 맞습니다. 두 번째 다음과 같은 세그먼트 테이블이 주어져 있다. 제가 다시 강조드리지만 풀이하는 문제들은 대부분 다 기출문제입니다. 시험에 다시 나올 수 있기 때문에 잘 이해를 하시는 게 좋으세요. 다음은 세그먼트 테이블인데 실제 주소를 구해보라 가장주소 가상 주소는 이 쉼표 100이다. 이렇게 되어 있습니다. 2가 뭔데 세그먼트 번호예요. 세그먼트 번호 세그먼트 번호를 찾아요. 2에 해당되는 거 여기다 이렇게 있습니다. 2n 가상 주소를 구하라 이렇게 돼 있으니까 시작 주소를 뽑아요. 200입니다. 그리고 뒤에 있는 100은 변이에요. 여기다 100을 더해요. 그럼 쉽게 구해지는 값이 실제 주소가 되겠습니다. 얼마냐 2100입니다. 이렇게 구하면 되겠습니다.
28:51
세그먼트 세그먼테이션 기법은 실제 주소를 s 심표 d인데 s가 세그먼트 번호의 시작 주소고 플러스 d가 변위 이렇게 구한다. 페이지 교체 알고리즘인데요. 페이지 교체알고리즘은 종류가 또 세부적으로 많습니다. 단계별 살펴볼게요 cpu가 액세스한 가상 페이지가 주기억장치에 없다. 그 경우에 페이지 부재 또는 페이지 폴트라는 용어를 씁니다. 어쨌든 문제가 발생하는 거죠. 가상 페이지 cpu가 엑셀상 가상 페이지의 주기억 가상 페이지가 주기억 장치에 없는 페이지 모델나 페이지 결함이 발생했을 때 가상 기억 장치에 필요한 페이지를 주기억 장치로 가지고 오는 페이지 교체가 되겠는데 이때 주격장치의 모든 페이지 프레임이 사용 중이다.
29:47
주격장치의 모든 페이지 프로그램을 사용 중이면 어떤 영역으로 교체해야 되느냐 어떤 프레임과 교체 선택해서 교체할지를 결정하는 기법이 페이지의 교체 알고리즘이고요. 종류는 p4 lur n ur opt lfu scr인데 다 약어들이라서 뒤에 상세하게 살펴볼게요 먼저 이 중에서 다시 강조해서 설명드리면, 두 가지는 정확하게 기억할 필요가 있습니다. 피퍼하고요. 그다음 두 번째 lru 두 개 시험 문제에 자주 나왔어요. p4부터 살펴보겠습니다. 퍼스트 인 퍼스트 아웃 자료 구조에서도 저희가 살펴봤던 용어 그대로입니다. 먼저 들어간 게 먼저 나와요. 터널 있죠. 터널링 먼저 들어간 게 1차선이에요. 먼저 들어간 게 출구 먼저 나오죠.
30:40
각 페이지가 주기억장치에 적재될 때 그 시간을 기억시켜서 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법이 되겠습니다. 이해하기 쉽고 프로그램 설계가 간단합니다. 문제 주어졌던 예시 문제인데요. 두 개 프레임을 수행할 수 있는 주기억 장치에서 피퍼 알고리즘 사용했을 때 페이지 부재 페이지 결함의 발생 횟수는 레테냐 단 초기에 모두 비어 있다. 이렇게 되어 있습니다. 자 이 페이지 결함이 뭐였어요. 가상페이지를 불러와라고 했는데 없다. 그게 페이지 부재예요. 어디 초기에는 모두 비어 있기 때문에 없어요. 페이 참조 순서가 1 2 1 3 2 4 이렇게 돼 있어요. 1 가지고 와 없어요. 그러면 페이지 부재 발생합니다. 페이지 프레임에 우선 1 가지고 오는데 결함 발생이 생기는 케이스예요.
31:36
그다음에 이 페이지 프레임 수가 몇 개 두 개라고 돼 있으니까 이렇게 풀이할 때 이렇게 표 형태로 이렇게 그려 가지고 하시는 게 이해도가 높습니다. 1을 가져와야 되는데 1이 없어요. 그러면 페이지 프레임 두 개니까 페이지 프레임 첫 번째 1을 담아요. 그다음에 2가지와 비어 있었기 때문에 없잖아요. 그러면 페이지 프레임 담을 수 있는 개수는 2개니까 두 번째 프레임에다가 2를 담아요. 2개 다 페이지 결함이 발생할 수 있습니다. 그다음에 1 가져와 순서대로 옵니다. 이 순서대로 1 가져와 1은 지금 페이지 프레임이 담겨 있으니까 담겨있는 걸 그대로 가져오는 거예요. 페이지 부재가 발생하지 않습니다. 그다음에 3 가지고 와 라고 했는데 지금 페이지 프레임은 1 2만 있습니다. 3이 없죠 페이지 프레임이 발생했는데 페이지 프레임이 꽉 찼어요.
32:22
두 개만 담을 수 있는데, 그러면 3을 가져왔을 때 기존에 했던 것 중에 교체해야 되는데 교체할 때 기본 원칙은 p4 방식은 가장 오래 머물러 있었던 그 자리하고 교체해라 1이 제일 먼저 들어와 있었으니까 1자리하고 교체를 한 거예요. 3하고 그래서 1이 빠지고요. 3이 들어와서 3이 자리 잡고 3 2가 페이지 프로그램에 저장되어 있습니다. 2가지와 2가 있어요. 그럼 그대로 가져오면 되고 4가지와 4가 없어요. 그러면 32가 저장되어 있는 상태에서 가장 오래 머물렀던 것 둘 중에요. 2가 두 번째로, 들어와서 오래 머물렀으니까 그 자리에 교체를 해서 3 4가 페이지 프로임에 들어가면 되고 페이지 부재가 발생을 한 횟수는 첫 번째 두 번째 1 2와 그리고 3 4 이렇게 총 횟수는 4번이다. 이런 형태로 문제가 나왔어요. 페이지 교체 알고리즘 두 번째 luru에 대해 살펴보도록 하겠는데요.
33:21
risted rastedory used 풀이를 하면 가장 최근에 오랫동안 사용하지 않은 페이지를 교체하는 기법이 되겠습니다. rru에서는 각 페이지마다 계수기 카운터 기어 그리고 스택을 두어서 현 시점에서 가장 오랫동안 사용하지 않은 페이지를 고를 수 있어야 되고요. 그 페이지를 골라서 교체하는 방식이 되겠습니다. 문제 예시는 앞전에 살펴봤던 p4 예제와 같습니다. 두 개의 프레임을 수용할 수 있는 주기억 장치에서 rr u 알고리즘을 사용할 경우인 페이지의 결함의 발생 횟수를 구해보라 단 초기에는 해당 프레임이 모두 비어있다고 가정합니다. 페이지 3절 순서 주어져 있고요. 그러면 표 형태로 해서 이렇게 그려가지고 해당 분석해 보는 게 착오를 줄일 수 있습니다.
34:15
먼저 1인데 전제 조건이 처음에는 페이지 프레임 다 비어있다 라고 했기 때문에 1을 첫 번째 페이지 프레임에 담은 그러면서 부재는 발생하는 거죠. 결함이 발생을 하고 그다음에 2 2도 마찬가지 없어요. 없기 때문에 두 번째 페이지 프레임에 담고요. 이 케이스도 결함이 발생을 합니다. 세 번째 1 참조하라 이렇게 되어 있는데, 페이지 프레임에 담겨 있는 페이지이기 때문에 담겨 있는 일을 그대로 참조하면 되고요. 페이지 부재가 결함이 발생하지는 않습니다. 그다음에 네 번째 3을 참조하게끔 돼 있는데, 3은 없어요. 그러면 가지고 와야 되는데 페이지 부재가 하는데 어떤 거 하고 교체를 해야 되느냐 기존의 페이지 프레임이 두 개라고 했는데 지금 두 개가 꽉 차 있는 상태이란 말이에요. ru 알고리즘은 가장 최근에 사용을 하지 않은 거 이렇게 돼 있어요. 그러면 자 좀 전에 3을 가져오기 전에 1을 가져왔기 때문에 1을 참조를 했죠.
35:14
그렇기 때문에 두 개 중에 최근에 참조하지 않은 거는 2죠 그렇기 때문에 3은요, 2자리하고 교체를 합니다. 2자리하고 교체해가지고 이렇게 배치를 하고 페이지 결함은 발생 부재는 발생을 하는 거죠. 그다음에 2 가지고 오라 이렇게 돼 있으니까 2도 마찬가지 1 3이니까. 없어요. 없으니까 1 3 중에 어떤 거하고 교체해야 되느냐 가장 최근에 사용하지 않은 거 3보다는 1이 더 오랫동안 사용 안 했으니까 해당 2를 교체를 하면 되겠습니다. 그러면 2 3이 차져 있는 상태고 2도 기존에 없기 때문에 결함은 발생한 케이스고요. 4 가져오라 라고 했는데 4도 마찬가지로 23만 담겨 있기 때문에 페이지 프레임에는 그러니까 페이지 부재 결함은 발생을 하고요. 어떤 걸 교체해야 되느냐 가장 최근에 사용하지 않은 거이니까. 2하고 3 중에는 늘 3이 최근에 사용하지 않은 자리이기 때문에 이렇게 교체해 나가는 방법이 되겠습니다.
36:23
앞에 있는 약간 개념이 비슷하네요. 비슷한 부분이 있긴 한데 최근의 사용 여부를 확인하기 위해서 각 페이지마다 참조비트 레퍼런스 비트와 변형 비트 모디파이드 비트 2개의 비트를 사용을 합니다. 참조비트는 페이지가 호출되면 1 기재하고 호출되지 않으면 0을 지정을 하고요. 변형 비트는 페이지 내용이 변경될 때 1 변경되지 않을 때 0을 지정을 해서 참조비트와 변경 비트의 값에 따른 교체 페이지 순서를 결정을 하는데 참조비트 변형 비트가 모두 0일 때 가장 먼저 교체할 대상으로 네 어 결정을 하고요. 3조 비트가 0 변형 비트가 1일 때 두 번째 교체 대상 참조 비트가 1이고 호출됐다. 이 말입니다. 번역 비트 변경되지 않았다. 이 말이에요.
37:18
10일 때 3 1 2 1 때 4 이렇게 순서를 정해서 사용하는 게 nur 기법이 되겠습니다. 나머지는요 이름만 개념만 정리해봐야겠습니다. 네 opt optimal replace 방식 최적 교체 가장 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 기법이야 페이지 부재 개수가 가장 적게 발생하고 가장 효율적인 알고리즘이 되겠다. 개념으로 한번 정리하겠습니다. airfu는 rist printlorly used 사용 빈도가요 가장 적은 페이지로 교체하는 기법 활발하게 사용되는 페이지는 횟수가 많기 때문에 교체하지 않는다. 그리고 scr은 세컨드 두 번째로, 찬스 기회에다 리플레이스먼트 가장 오랫동안 주기억 장치에 있던 페이지 중에 자주 사용되는 페이지의 교체를 방지합니다. 피포 기법의 단점을 보완하는 기법이 scr이 되겠습니다.
38:17
문제 위주로 다시 정리해 볼게요 4개의 프레임 이번에는 4개입니다. 프레임 개수가 4개의 프레임을 수용할 수 있는 주교육 장치가 있다. 초기에는 모두 비어 있다고 가정한다. 다음 순서로 페이지 참조가 발생할 때 p4 교차 알고리즘을 사용할 경우에 페이지 결함의 발생 횟수는 개수가 많아요. 아까 어떻게 말씀드렸습니까? 표 형태로 그려라 라고 말씀을 드렸어요. 설명을 조금 줄이기 위해서 제가 미리 풀이를 했는데 참조 페이지가 우선은 첫 번째 1 가져오라 앞서 전제가 뭐였어요. 초기에는 페이지 프레임 모두 비어있다. 그럼 부재가 발생하는 거죠. 1 우선 프레임 개수 몇 개 내기 첫 번째 프레임에 1을 담아요. 부재는 발생했어요. 결함 발생한 거예요. 2가지와 없어요. 두 번째 프레임에 담아요. 3가지와 없어요. 세 번째 프레임에 담아요. 그다음 1가지와 기존에 담겨 있어요. 1 2 3이 담겨 있으니까 그럼 있는 거는 그대로 가져오면 되고 부재는 발생 안 합니다. 2 가져와 2도 있어요. 4 가져와라고 할 때 4가 없어요.
39:16
4가 없으면 페이지 부가 발생하는데 페이지 프레임 교체는 필요 없어요. 네 개 담을 수 있는데, 세 개까지만 담겨져 있으니까 네 번째 내가 4를 담아요. 됐죠 5가 좋으라 5가 없어요. 이때 이제 피포 방식은 가장 오랫동안 먼저 들어갔던 걸 그 자리를 교체를 합니다. 그래서 일 자리에다가 5를 교체를 하고 5 2 3 4 부재는 발생한 거고요. 1 가지와 아까 1 교체해 버렸기 때문에 1이 없어요. 그러면 이제 페이지 부재가 발생하는데 어디하고 교체해야 되느냐 가장 두 번째로, 가장 오래 있었던 거는 순서대류니까 2죠 2 자리에 1을 넣어요. 그럼 5134가 되고 페이지 부재는 발생했어요. 그다음에 4 가져와 라고 했는데 4는 있어요. 근데 페이지 부재 발생 안 합니다. 그럼 페이지 부재 발생 횟수는 총 6개가 되겠습니다. 기출문제입니다. 기존에 출제됐던 문제입니다. 자 두 번째 세 개의 프레임을 이번에는요 수행할 수 있는 주기억 장치가 있다. 초기에는 모두 비어있다.
40:15
다음 순서로 페이지 참조가 발생할 때 air u 교체 알고리즘 사용하는 경우에 페이지 결함의 발생 횟수 마찬가지 표 형태로 그리는데 시간 관계상 제가 미리 표를 그려놨어요. 참조 페이지 0이야 모두 비어 있다고 했기 때문에 페이지 부재 발생하고 몇 개 프레임 세 개의 프레임이니까. 첫 번째 프레임 세 개 중에 첫 번째 프레임에 0을 담습니다. 1 비어 있으니까 페이지 부재 발생하고 두 번째 프레임에 2 세 번째 프레임에 담았어요. 꽉 찼어요. 이때 이 세 개는 다 페이지 결함이 발생한 거예요. 그다음에 3 가지고 와 라고 했는데 3도 없어요. 그러면 꽉 찼기 때문에 어느 거에 교체해야 되느냐 가장 최근에 사용하지 않은 그렇기 때문에 피프하고 같은 개념으로 볼 수 있는데, 제일 먼저 담았던 0 자리에다가 3을 교체를 합니다. 그래서 3 1 2가 되고 페이지 부재 발생한 거예요.
41:10
0 가져와 라고 했는데 0은 3 1 2 없으니까 교체가 필요합니다. 언어가 교체해야 되느냐 가장 최근에 사용하지 않은 거 올해 사용하지 않은 거 일 자리하고 교체해서 삼 재료 2가 돼요. 그다음에 1 가져와라고 했는데 1이 없어요. 마찬가지 가장 최근에 사용하지 않은 거 이 자리하고 교체해서 삼 재료 1이 됩니다. 4 가져와라고 했습니다. 4 마찬가지 페이지 부재 발생하는데 가장 최근에 사용하지 않은 거 그 자리니까 담겨진 거 삼 오랫동안 남겨 있으니까 자리 교체해서 사 제로 됐고요. 그다음에 0 가져와라고 하면 0은 가지고 있으니까 그대로 페이지 부재 발생하지 않고 쭉 그래서 페이지 부재 발생한 거는 둘 넷 여섯 일곱 개 네 3번이 정답입니다. 다음 파트로 가상 기억 장치의 기타 관리에서 개념적으로 문제가 나오는 거 정리했어요. 로컬리티 지역성 또는 구역성이라는 용어를 사용합니다.
42:10
프로세스가 실행되는 동안에 주격장치를 참조할 때 일부 페이지만 집중적으로 참조하더라 그게 로컬리티예요. 프로세스가 실행되는 동안 주격장치의 참조가 일부 페이지만 주로 참조를 하더라 이 부분은 다시 세부적으로 시간적인 로컬리티 시간 구역성 또는 시간 지역성이라는 용어를 쓰고 공간 구역성 또는 공간 지역성 영어로는 템퍼럴 로컬리티가 시간적인 측면에 대한 로컬리티인데 프레세스가 실행하면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스를 하는 현상 일정 시간 동안 집중적으로 엑세스하는 현상이 되겠습니다. 시간 구역성이 이루어지는 기억 장소로서는 루프 순환이에요.
42:59
계속 반복 그다음에 스택 그럼 서브 루틴 카운팅이 대상이 되겠고 공간적 측면에 대한 로컬리티는 프로세스가 실행할 때 일정 지역의 페이지를 집중적으로 엑세스하는 현상이다. 참조한 페이지에 건처에 있는 참조 페이지 근처에 있는 페이지를 참조할 가능성이 높다라는 것을 뜻하고요. 공간 구역성이 이루어질 수 있는 기억 장치는 배열 array travelo 배열 순회 그리고 순차적 코드의 실행 그리고 프로그램에 관련된 변수들이 서로 근처에서는 하여 할당되는 기억 장수 마지막으로, 같은 영역에 있는 변수 참조가 대상이 되겠습니다. 워킹셋이라는 용어가 나오는데요. 워킹셋은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합입니다. 세트가 있으니까 페이지들의 집합이다. 중복된 건 폐지합니다.
43:58
데닝이 제안한 프로그램의 움직임에 대한 모델로 프로그램의 로컬리 특징을 이용한 거다 자주 참조하는 워킹셋을 주기억장치에 상주시킴으로써 페이지 부재 및 페이지 교체 현상들을 줄일 수가 있겠다. 자주 참조되는 것을 주기억장치에 상주 계속적으로는 위치시킨다. 이 말이에요. 시간이 지남에 따라 자주 참여하는 페이지는 달라질 수 있겠죠. 그래서 워킹셋도 시간에 따라서 달라질 수 있습니다. 마지막으로, 스트레싱입니다. 스트레싱은 프로세스의 처리 시간보다 페이지의 교체 소요 시간이 더 많이 걸리는 현상이에요. 효율성이 떨어지겠죠.
44:41
언제 다중 프로그래밍 시스템 여러 개의 프로그램을 실행시키는 다중 프로그래밍 시스템이나 가상 기억 장치를 사용하는 시스템에서 하나의 프로세스 수행 중에 자주 페이지 부재가 발생을 함으로써 나타나는 현상이 되는데 전체 시스템 성능을 저하시킬 수가 있다. 스트레싱 현상을 방지하는 방법으로서는 다중 프로그램의 정도를 좀 낮춰요 다중 프로그램 정도를 적정 수준으로 유지하고 페이지 부재 빈도를 조절 사용하는 게 필요하고 워킹셋은 유지하는 게 도움이 되겠고요. 부족한 자원을 증설하고 일부 프로세스는 중단시킨다. 마지막으로, cpu 성능에 대한 자료의 지속적 관리 및 분석으로 임계치를 예상하여 운영하는 것이 스트레싱을 방지할 수 있겠다. 문제로 정리해보겠습니다. 퀴즈입니다. 지역성에 대한 설명으로 옳지 않은 것 이 문제들은 다 기출문제 유지이기 때문에 익혀놓으세요.
45:35
로컬리티에 대한 설명 옳지 않은 거 프로세스들은 기억장치 내의 정보를 균일하게 접근하는 것이 아니라 어느 한순간에 특정 부분을 집중적으로 참조한다. 맞죠. 종류는 시간지역성과 공간지역성이 있었고요. 시간지역성의 예로서는 순환 반복적으로 서블루틴 스테이크 시간 지역성 맞아요. 공간 지역성은 하나의 기억 장소에 가까운 장르에도 참조될 가능성이 높다 장래라는 거는 시간적인 개념이잖아요. 공간적 개념이 아니라 그렇기 때문에 설명 문구는 공간 지역성 설명이 아니라 시간 지역성에 대한 설명입니다. 3번이 틀렸어요. 공간 지역성은 참조됐던 페이지에 근처에 있는 것들이 참조될 가능성이 있다. 이 말입니다. 공간 지역상의 대표적인 예는 순차적 코드 이해 진행이 있다. 순차적이니까. 이거 참조했어. 그 다음 거 이렇게 되니까. 맞죠.
46:34
다음 프로세스들 간의 메모리 경쟁으로 인하여 지나치게 페이지 폴터 페이지 부재가 발생하여 전체 시스템의 성능을 저하하는 현상은 뭔가요 개념 문제입니다. 스트레싱이 정답입니다. 2번이 정답 다음 프로세스 스케줄링 살펴보도록 하겠습니다. 프로세스 스케줄링도 약간 내용이 조금 어려울 수도 있는데, 차근차근 설명 드릴게요. 1차적으로 먼저 나눠서 프로세스와 스케줄링 구분해서 설명을 먼저 살펴보겠습니다. 프로세스에 대한 개념으로서요 프로세스는 프로세서 처리기 cpu에 의해 처리되어지는 사용자 프로그램을 뜻한다. 프로세스의 다양한 정의로서는 pcb 야구입니다. 프로세스 컨트롤 블록입니다. 프로세스를 제어하는 블록을 가지는 프로그램이 프로세스야 실기억장치에 저장되어진 프로그램이야 프로세서가 할당하는 실체로서 디스패치가 가능한 단위야 프로세스 프로시저가 활동 중인 거야.
47:34
비동기적 행위를 일으키는 주체다 이거 약간 강조해서 말씀드립니다. 동기적이 아니라 비동기적인 행위를 일으키는 주체다 지정된 결과를 얻기 위한 일련의 계통적인 동작이야 목적 또는 결과에 따라서 발생하는 사건들이 과정이고 운영체제 관리하는 실행 단위가 된다. pcb는 프로세스 컨트롤 블록을 이야기합니다. 운영체제가 프로세스에 대한 중요 정보를 저장해 놓는 곳이야 각 프로세스가 생성될 때마다 고유의 pcb가 생성되고 프로세스가 완료되면 이 pcb는 재개됩니다. pcb에 저장되어지는 정보의 종류는 어떤 것들이 있는가 프로세스의 상태 정보요 준비 중이다. 대기 중이다. 실행 중이다.
48:22
그리고 포인터 포인터라고 하는 부분 자체는 주소 기억인데 부모 프로세스의 주소 기억 그리고 자식 프로세스의 주소기업 그리고 현재 프로세스가 시행 위치한 주소 그리고 프로세스에 할당된 각 자원에 대한 주소 기억 이 포인터가 담당하고요. 그리고 프로세스의 고유 식별자 스케줄링 및 프로세스의 우선순위 cpu의 레이스 정보 주기억 장치의 관리 정보 입출력 상태 정보 상태 정보 그리고 개념 정보들이 pcb 블록하게 저장이 되어지는 정보 종류가 되겠습니다. 스트레드인데요. 네 스트레드는 이것도 시험에 자주 나왔어요. 스레드 프로세스 내의 작업 단위입니다. 프로세스에 포함되는 프로세스를 다 분할하는 개념이라고 볼 수도 있어요.
49:15
프로세스 내의 작업 단위로서 시스템의 여러 자원을 할당받아서 실행하는 프로그램의 단위다 하나의 프로세스인 하나의 스레드가 존재하는 경우는 단일 스레드고 하나의 하나 이상이 여러 개의 스레드가 존재하는 경우는 단용 스레드가 된다. 프로세스의 일부 특성을 갖고 있기 때문에 경량의 프로세스라고도 하고요. 스레드 기반 시스템에서 스레드는 독립적인 스케줄링의 최소 단위로써 프로세스 역할을 담당하기도 한다. 스레드를 사용하는 장점은요, 하드웨어 운영체제에 대한 성능 응용 프로그램에 대한 처리를 항상 그리고 응용 프로그램에 대한 응답 시간 단축 실행 환경을 공유해서 기억 장소 낭비를 줄이고 프로세스들 간의 통신을 향상시키는 장점이 있습니다. 문제를 정리하겠습니다.
50:09
프로세스의 정의로 옳지 않은 것은 프로세스는 pcb를 가진 프로그램이야 맞죠. 프로세스 컨트롤 블록 동기적 행위를 일으키는 주체야 아까 제가 강조하면서 말씀드렸습니다. 여기 앞에가 빠졌어요. 비동기적 비동기적 프로세스는 독립적인 단위로 움직입니다. 그래서 이게 틀렸고 비동기적 행위를 일으킨 주체입니다. 프로세스가 할당된 실체이고 활동적인 프로세스를 뜻한다. 맞습니다. 두 번째 스레이드 특징으로 가장 옳지 않은 것은 실행 환경을 공유해서 기억 장소의 낭비를 줄일 수 있어요. 장점이었고 프로세스 외부에 존재하는 스레이드도 있어요. 이게 틀렸습니다. 프로세스 어디 내부 외부가 아니라 내부에 존재한다. 하나의 프로세스를 여러 개의 슬레드로 생성하여 병행성을 증진시킬 수 있고 프로세스 간 통신을 향상시킬 수 있다.
51:04
다음 이어지는 프로세스 스케줄링의 내용으로서 스케줄링에 대해 살펴볼게요 스케줄링 개념입니다. cpu나 자원을 효율적으로 사용하기 위한 정책이 되겠고요. 프로세스가 생성되어서 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에 할당하는 작업이 되겠다. 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 됩니다. 스케줄의 목적은요, 모든 프로세스에게 공정하게 할당하겠다. 단위 시간당 프로세스를 처리하는 비율을 증가시킬 수 있겠고 cpu가 순수하게 프로세스 실행하는 사용되는 시간 비율을 증가시킬 수 있고 우선순위가 높은 프로세스를 먼저 실행시킬 수 있겠고 오버헤드를 최소화시킨다. 이 오버헤드라는 부분은 시스템에서 시스템에서 목적으로 하는 효과를 얻기 위해 본질적인 게 아니라 부연적으로 요구되는 작동이나 그 때문에 사용하는 필요 자원들을 오버헤드라고 이야기를 합니다.
52:01
얘를 낮춘다 작업을 지시하고 반응하는 응답 시간을 최소화 그리고 프로세스를 제출한 시간부터 실행될 때까지 걸리는 반환 시간을 최소화 프로세스 준비하는 대기 시간을 최소화 그리고 메모리나 입출력 장치 등의 자원을 균등하게 사용 자원을 사용하기 위해서 무한정 연기되는 상태를 회피한다. 이게 어떤 내용 스케줄임의 목적입니다. 비선점 스케줄링이 있고요. 선점 스케줄링이 있어요. 비선점 스케줄링은 이미 할당되어진 즉 스케줄링의 종류예요. 비선점이 있고요. 선점이 있어요. 그중에서 저희가 먼저 비선점부터 살펴봅니다. 비선점 스케줄링은 이미 할당된 cpu를 다른 프로세스가 강제로 못 빼앗아 가게 하는 스케줄링 기법이에요. 그래서 해당 프로세스가 완료될 때까지 cpu를 점유해서 쓰는 거예요.
53:01
모든 프로세스에 대한 요구를 공정하게 처리해 줄 수 있다. 하지만 단점은요, 짧은 작업이지만 긴 작업이 완료될 때까지 기다리게 되는 그러한 단점이 발생할 수도 있고 위에 것 빼먹었는데 프로세스 응답 시간의 예측이 용이하고 일괄 처리 방식에 적합합니다. 얘는 일괄 처리 방식에 적합하다 비선점은 비선점 스케종의 종류는요 피폭 그리고 sjf hrn 그다음에 프라이어티 우선순위 이렇게 종류가 있습니다. 다음 선점 스케줄링입니다. 선점 스케줄링은 우선순위를 예를 조절할 수 있어요. 하나의 프로세스가 cpu 활동받을 실행하고 있을 때 우선순위가 높은 다른 프로세스가 해당 그 cpu를 강제로 빼앗아서 사용할 수 있는 스케줄링 기법이다. 우선순위가 높은 프로세스를 빠르게 처리할 수가 있다.
53:58
빠른 응답 시간을 요구하는 대화식인 어떤 시스템의 시그널 시스템 타임 쉐어링 시스템에 사용이 되어집니다. 아까 비선점은 어디에서 사용된다. 배치였죠 일괄처리 배치 시스템에서 사용되는 게 비선점이었고요. 시분하는 선점 스케줄링 많은 오버레이드를 초래할 수가 있다. 아까 반대 개념이에요. 비선점하고요. 얘는 우선순위를 따져가지고, 얘를 강제로 빼앗고 일어났네 부연적인 작업들이 요구되니까. 오버에 대해서 초래할 수 있고 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타임머 클럭도 필요합니다. 선점 스케줄의 종류를 쓰면 라운드 로빈 로빈 그다음에 srt primptive framiority mlq mfq 멀티 레벨 q 멀티 레벨 피드백 q가 선점 스케줄 종류입니다.
54:54
프레세스 스케줄링 종류 및 특징에 대해서 이렇게 정리를 해봤는데요. 법령 처리되어진 부분들 fc fs 먼저 들어온 게 먼저 서비스 때 그리고 쇼티스트 잡 퍼스트 sjf 그리고 hrn 하이 이스튜어 리스폰스로 올레이티오 레스트 이 세 개가 비선점이고요. rr과 srt mlq mfq는 선점 알고리즘입니다. 여기에서 라운드 로빈 조금 더 살펴볼까요? 피포 방식 먼저 들어온 게 먼저 처리되어지는 순서대로 처리되어지는 거다 이걸 변형으로 일정 시간을 부여한다. 라운드로빈 같은 경우에는 로빈이라고 하는 새가 있어요. 새가 새끼들한테 먹이를 줄 때 균등하게 1 2 3 1 2 3 이렇게 준다. 그래서 돌아간다고요. 라운드 로빈의 새 이름입니다.
55:54
라운드로빈 시분할 방식이 효과적이다. 할당 시간이 크면 p4 같다 할당 시간이 작으면 문맥 교환이 자주 발생한다. 문맥 교환이라고 하는 부분은 새로운 프로세스에 cpu를 할당하기 위해서 현재 cpu에 할당된 프로세스의 상태 정보를 저장시키고 새로운 프로세스의 상태 정보를 설정한 후에 cpu를 할당하여 실행되도록 하는 작업이 문맥 교환이 되겠습니다. 네 나머지는 문제 풀면서요 좀 더 깊게 살펴보도록 하겠고 넘어갈게요 스케줄링 프로세스 스케줄링의 두 번째 파트 퀴즈입니다. 필요한 하드웨어 레이스트를 설정함으로써 프로세스에게 cpu를 할당을 하고 문맥교환을 하는 프로세스 관리 기능은 뭔데 트래픽 컨트롤러 프로세스 스케줄러 디스페쳐 그다음에 io 스케줄 중에 프로세스 스케줄러가 정답입니다.
56:53
다음 비선점 스케줄링 방식에 해당하는 것으로만 짝지어진 것은 비선점 스케줄링 fcfs 맞죠. saf 쇼티스트 가장 짧은 잡을 퍼스트와라 saf 이게 정답입니다. rrs 이렇게 섞어 놓았을 때 고를 수 있으면 돼요. 비선정 스케줄링의 방식은 fcfs는 p4로도 이야기되어집니다. 먼저 들어온 게 먼저 서비스되어진다 그 다음에 saf shotist japost 그다음에 hrn 하이 이스트 리스폰스 레이티오 넥스트였죠 세 가지 기억하시면 좋을 것 같고, 다음 환경변수입니다. 환경변수 파트는 많지 않아요. 분량이 환경변수 개념입니다.
57:50
시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임이야 환경변수는 시스템 환경변수가 있고요. 사용자 환경변수가 있어요. 시스템환경변수와 사용자 계정 내용에서 수행되는 사용자 환경변수가 있고 그리고 환경변수는 변수명과 값으로 구성되어지고요. 할당합니다. 이 환경변수의 값은 이걸로 지정해 그리고 시스템의 기본 정보를 저장하고 자식 프로세스에 상속이 되어집니다. 환경변수는 자식 프로세스에 상속됩니다. 환경변수는 도스나 윈도우에서는 변수 값을 볼 때는 에코 명령어를 사용해가지고요. 에코 1/1% path% 윈도우에서는 환경변수 이름 뒤에다가 % 기호를 감싸주고요.
58:42
유닉스나 리눅스도 단순하게 환경변수의 내용을 볼 때는 에코를 사용하는데 환경변수 앞에는 달러 기호로 붙습니다. 유닉스와 리눅스에서 모든 환경변수의 값을 표시하는 명령어로서는 sat 잘라가지고 세트 그리고 emv 그다음에 print emv 인바이언먼트의 약어겠죠. 이렇게 세 가지는 모든 환경변수와 값 내용을 표시하는 명령어가 되겠고 환경변수를 설정할 때에는 도스나 윈도우에서는 세트 명령어를 사용해 가지고요. 변수명 이꼴 값 유닉스에서는요 앞에서 이 변수 내용을 모두 볼 때는 그냥 세트 emv 이렇게 하는 거고, 변수를 설정할 때에도 emv하고 세트 명령으로 사용되어집니다. emv 변수명 이꼴 값 세트변수명 이꼴 값 이렇게 설정을 합니다. 윈도우의 수요 환경변수의 종류들입니다.
59:40
우선 특징은 윈도우 운영체제의 환경변수들은 % 기호가 이름값 좌우에 배치가 되어진다 이렇게 기억하시면 될 것 같고, app 데이터 설치되어진 모든 프로그램에 필요 데이터가 저장된 폴더야 컴스페 컴퓨터의 상세 정보 기본 명령 프롬프트를 사용할 프로그램들 그 다음에 홈 패스 로그인한 계정의 기본 폴더 패스는 실행 파일을 찾는 경우 프로그램 스파일즈 설치 폴더들 프로그램 내에 그다음에 시스템 드라이브 윈도우가 부팅된 드라이브 시스템 루트 부팅되어지면 운영 체제가 들어 있는 폴더 c 드라이브가 되겠죠.
1:00:24
그다음에 유저네임 그다음에 유저 프로필과 같은 환경변수들이 있겠고 유닉스 및 리눅스에서의 운영체제 환경변수의 종류로서는 우선 특징은 달러가 다 붙는 답인 달러 디스플레이의 위치인데 현재 윈도우x x윈도예요. x 윈도우 x 윈도우는 유닉스계의 원형체제에서 지열 환경을 사용할 수 있게끔 지원하는 시스템 소프트웨어가 엑스 윈도우예요. 리눅스나 리눅스는 pc용으로도 사용되어지잖아요. 필수 상자들이 일일이 명령어를 이렇게 입력해 가지고 사용하면 힘들어서 못 쓰겠죠. 그러니까 지열 환경으로 마우스를 이용해서도 쉽게 사용할 수 있게끔 지원하는 게 엑스 윈도우입니다.
1:01:06
달러 홈은요, 홈 디렉터리 사용자 달러링 기본적으로 지적하는 언어 메일이겠고 달러 페이스 패스 실행 파일 찾는 경로 달러 ps 1 shar 프롬프트 정보 달러 pwd는 패스워드가 아니라 프린트 워크 드라이브 레어 현재 작업하는 디렉트리 워킹 디렉토리 워킹 디렉트리 그다음에 텀 네이 터미널 타입 유저 이렇게 종류들이 있습니다. 문제를 정리해 보겠습니다. 환경 변수에 관한 설명으로 옳지 않은 거 시스템의 기본 정보를 저장하고 있어요. 맞고요. 변수명과 값으로 쌍을 이어서 구성되고 부모 프로세스로부터 상속되지는 않는다니 자식 프로세스로 상속이 됩니다. 3번 틀렸고 시스템 환경변수와 사용자 환경변수로 구분됩니다. 맞습니다.
1:01:56
유닉스에서요 환경 변수를 명령어나 스크립트에 사용할 때 변수 마이크에 붙이는 기호는 뭔데 달러였죠 정답은 2번 마지막으로, 셀 스크립트에 대해 살펴보겠습니다. 셀 스크립트는 운영체제의 명령어입니다. cli 환경 명령어 중심적으로 사용하는 운영체제의 기본 명령어의 개요 운영체제를 제어하는 방법은 gur 그래픽 유전 인터페이스와 cli 네 커맨드 라인 인터페이스가 있는데, gui는 그냥 마우스로만 이렇게 주로 사용하니까 명령어 중심적으로 할 일은 별로 없고 cli가 키보드 명령어를 직접 입력해서 작업을 수행하는 사용자 인터페이스가 된다. drir 도스 창에 dir이라고 이렇게 입력을 하게 되면 디렉터 목록들이 쭉 이렇게 보입니다. 윈도우에서의 기본 명령어요. 어트리 파일의 속성을 변경한다.
1:02:54
cd 체인지 디렉트리 디렉트 위치 변경 책 디스크 디스크 상태 체크하라 cls는 클리어하라 화면 내용을 지워라 카피는 복사하겠고 dl은 딜리티아로 삭제 dir은 디렉토리 목록 표시 그다음에 파인딩을 찾는 거겠죠. 포맷은 디스크 포맷을 트랙과 색도를 초기화하는 거고, md는 메이크 리액트리 디렉토리 생성 무브는 파일 이동 알리엔은 니네임의 약어입니다. 파일 이름을 변경한다. 마지막으로, 타입은 파일의 내용을 표시한다. 이런 것들이 있고요. 윈도우에서 명령어 위주로 잘 안 쓰죠 우선 파트가 지금 윈도우 그러니까 운영체 명령어 파트이기 때문에 정리를 하는 부분입니다. 유닉스와 리눅스 기본 명령어 오히려 유닉스나 리눅스는 명령어 중심적으로 많이들 써요 그래서 오히려 이 셀 스크립트 이름에서도 이 파트의 이름에서도 셀 스크립트 셀이 뭐였어요.
1:03:50
유닉스에서 명령어 해석기였죠 그래서 shar 스크립트는 유닉셀 리눅스에서의 명령어라고 보시면 되겠고 기본 명령어는 윈도우보다는 리눅스 중심적으로 익힐 필요성이 있을 것 같습니다. 자 캐슨 출력입니다. 화면의 표시 앞서서 윈도우에서는 타입이었어요. 타입이 파일 내용 출력이었고요. 그다음에 chdr은 체인지 디렉토리예요. 디렉터의 위치 변경이었어요. 윈도우에서는 아까 cd였죠 체인지 디렉토리 이렇게 쌍을 이뤄가지고 틀린 쌍을 골라 이렇게 같은 기능을 수행하는 명령어의 종류 윈도우와 리눅스 뭐 쌍을 이룬 거 틀린 거 골라 뒤에 문제 유형 그런 문제 유형도 있습니다. c모드는 이거는 약간 중요해요.
1:04:40
유닉스 윈도우에서요 명령어 중에 c모드는 파일의 사용 권한을 시장 간단히 유닉스나 리눅스는 주로 서버 운영체제에 많이 사용되다 보니까 다중 사용자잖아요. 여러 사용자들이 사용할 때 사용 권한을요 파일에 대한 접근 권한 줄 때요 c 모드 이용해 가지고 명령어 이용해서 사용합니다. 쇼는 소유자를 보여 달라 cp는 copy라고 합니다. 복사 xc ec는 새로운 프로세스 수행 파인드 찾는 거고, 포크 네 새로운 프로세스를 생성 그다음에 fsck는 파일 시스템을 검사하고 보수하라 계피 아이디는 프로세스 아이디를 얻어라 ls가 현재 디렉터리의 파일 목록 표시예요. ls도 약간 중요합니다. rnam은 니네임하고는 틀려요 얘는 리무브예요. 파일을 삭제하는 거예요. 파일 삭제 웨이트는 기다려야 된다는 거죠. 문제 풀면서 정리하겠습니다.
1:05:35
셀 스크립트 퀴즈 유닉스에서 파일 사용 권한 지정에 관한 명령어는 아까 제가 중요하다 말씀드렸죠 파일 사용 권한 지정하는 명령어는 c모드였습니다. 3번입니다. 윈도우와 유닉스에서 사용되는 명령어 중에 서로 관련이 없는 것으로 짝지어진 것은 dir 디렉트리 목록 ls 맞아요. 딜리트 rm 8 삭제 맞고요. 타이켓도 맞고요. cd는 체인지 디렉토리 디렉토리 변경이고 c 모듈은 8권한 설정 4번이 틀렸습니다. 다음 모의평가 문제 다섯 문제 정리해 보겠습니다. 유닉스의 커널에 관한 설명으로 옳지 않은 거 유닉스 시스템의 중심부에 해당되어진다 맞습니다. 프로세스 관리와 기억장치 관리 등의 역할을 담당한다. 맞고요. 사용자 명령을 수행하는 명령어 해석기는 shel이었습니다. 예가 틀렸고요.
1:06:35
컴퓨터 부팅할 때 주기억장치에 적재해서 상주하여 실행한다. 맞습니다. 두 번째 페이징 기법과 관련된 설명으로 옳지 않은 것은 페이징 기법과 가상 기억 장치에서 해당 교체 알고리즘에서 사용되어지던 부분이었는데. 볼게요 어떤 프로세스가 프로그램 실행에 사용되는 시간보다 페이지 교체에 소요되는 시간이 더 큰 경우에 스트레싱이 발생을 합니다. 네 맞죠. 스트레싱에 대한 개념 정리한 문구고 페이지 크기가 작을수록 페이지 테이블의 공간이 많이 요구된다. 페이지로 분할을 하잖아요. 페이지 기법은 동일한 크기로 분할하는 부분이잖아요. 개수가 많아요. 그러면 페이지 테이블에 기록되는 내용이 많겠죠. 그래서 페이지 테이블 공간이 많이 요구됩니다.
1:07:28
다중 프로그래밍의 정도가 높을수록 스트레싱 발생 빈도는 낮아진다 아까 스트레싱이 언제 많이 발생하느냐 다중 프로그래밍 정도가 높을 때 많이 발생해요. 그래서 얘가 틀린 거예요. 다중 프로그램의 정도가 높을수록 스트레싱 발생 빈도가 높아요. 그렇기 때문에 스트레싱을 발생을 방지하는 방법 중에 다중 프로그래밍 정도를 낮추어라 작업셋 워킹셋은 스트레싱을 방지하는 방법 중에 하나였다. 맞습니다. 다음 p4 스케줄링에서 3개의 작업 도착 시간과 cpu 사용 시간이 다음과 같다 이때 모든 작업의 평균 반환 시간은 얼마인가 이 부분은 내용상에서 제가 세부적으로 설명을 안 했어요. 그런데 예전에 기출문제에 이런 유형 또 나와서 추가적으로 제가 설명 드리려고 뽑았는데 이 p4 스케줄링이 쉽기 때문에 문제가 혹시나 나오면 이렇게 푸시면 됩니다.
1:08:27
피포 스케줄링에서 3개의 작업 도착 시간이 3개가 이렇게 있어요. 10회 사용 시간들이 각각 주어져 있어요. 해당 모든 작업의 평균 반환 시간은 얼마인가라는 부분에서는요 풀이는 어떻게 하느냐면 밑에 제가 설명을 보면서 알겠습니다. 이전에 투입되어진 잡의 사용 시간까지 고려를 해야 됩니다. 그래서 이전 사용 시간을 모두 더한 다음에 도착 시간을 빼서요 잡 별로 반환 시간을 구할 수가 있다. 첫 번째는 도착 시간이 0부터 시작해서 13이니까. 얘는 해당 잡의 반환 시간은 13이에요. 근데 두 번째 잡은요, 도착 시간이 3인데 cpu 사용 시간이 13이고요. 얘 잡 두 번째 사용 시간은 35예요. 이 케이스는 어떻게 하냐면 첫 번째 cpu 사용 시간에다가 두 번째 잡의 사용 시간을 더하고 도착 시간을 빼서 구해요. 그래서 구하면 해당 13에 48의 이거는 45가 되겠습니다.
1:09:27
그다음에 같은 방법으로 세 번째 잡의 반환 시간도 첫 번째 잡 사용 시간까지 고려해가지고 35 더하기 2 마이너스 8 이렇게 구합니다. 그래서 계산하면 48에다가 50에다가 8을 빼니까 42입니다. 마지막으로, 평균 반환 시간 구하라 이렇게 되어 있으니까 13 더하기 45 더하기 42 한 쓴 100이 나오고 나누기 3 하면 33. 얼마 이렇게 돼 있는데, 수호점 이하는 반음 처리에 33.3이니까. 반음이 안 되고 정답은 33이 되겠습니다. 네 번째 다음 중 유닉스를 사용하는 환경변수가 아닌 것은 달러 디스플레이 달러 시스템 루트가 아닙니다.
1:10:24
시스템 루트는 윈도우의 사용자 윈도우의 환경변수였습니다. 마지막 다섯 번째 유닉스의 파일 삭제 명령어로 옳은 것은 리무브 rm이 리눅스의 파일 삭제 명령어였어요. 자 내용 많이 저희가 살펴봤는데 간단히 정리하겠습니다. 윈도우 운영체제의 종류는 운영체제 역할 컴퓨터 시스템 자원도를 효율적으로 관리 사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 인터페이스 제공하는 시스템 소프트웨어예요. 종류는 윈도우 유닉스 리눅스 레고오에스 ms도스가 있었습니다. 메모리 관련이 많은 내용을 다뤘었는데 기억장치의 계층 구조는 레지스터 캐시 주기억장치 보조기억장치들이 있었고, 기억장치의 관리 전략은 언제 패치 어디에 플레이스먼트 배치 어떤 거와 바꿀 거야.
1:11:20
리플레이스 세 가지가 있었고, 주기억 장치의 할당 기법은 연속할당과 분산할당 기법이 있었고, 가상 기억 장치의 구현 기법은 페이징 기법과 세그먼테이션 기법이 있었고, 페이징 기법은 일정 크기 동일한 크기로 페이지를 나누는 거였고 세그먼테니스는 동적이었고요. 페이지 교체 알고리즘의 종류로서는요 피포 lu ru n ur 옵티멀 그다음에 약어들이 있는데, 해당 이 중에서 중요한 건 두 가지 피퍼하고 lru 위주로 많이 상세하게 연습을 할 필요성이 있고 마지막으로, 가상기억장치 기타 관리로서는요 로컬리티 지역성과 워킹셋과 스트레싱이 있었고, 이 스레싱하고 로컬리티는 개념 문제로 자주 좀 나왔어요. 다음 프로세스 스케줄 룰링 프로세스는 프로세서에 의해 처리되는 사용자 프로그램을 뜻한다.
1:12:14
그리고 스레드는 프로세스 내의 작업 단위이고 시스템의 여러 자원을 할당받아 실행하는 프로그램의 단위다 스케줄링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에 할당하는 작업이고 스케줄링의 종류는 비선점이다. 선점이다로 다시 나눌 수 있는데, 비선점 알고리즘 스케줄링의 종류는 p4 sjf hrm 하나만 정확하게 기억하시면 될 것 같아요. 네 섞어가지고 해당 스케줄의 종류 틀린 거 골라 이렇게 나올 수 있기 때문에 선점인 부분은 우선순위에 따라서 조절할 수 있다고 했죠. 라운드 로빈 srt mlq mfq가 해당되어지는 스케줄링 종류입니다. 네 번째 환경변수 시스템 소프트웨어의 동작에 영향을 미치는 동적 값들의 모임이고 윈도우 환경 변수들은 이름값 좌우에 %를 붙였고 리닉스 환경변수는 앞에 달러 기호를 붙였고 종류는 참고하시면 될 것 같습니다.
1:13:16
마지막 cr 스크립트 명령어요. 키보드로 명령어를 직접 입력해서 작업 수행하는 사용자 인터페이스인데 윈도우보다는 유닉스 명령어들 위주로 살펴보면 좋을 것 같고요. 캐슨 화면에 내용 출력해 체인지 디렉터 위치 변경 c모드 파일의 사용 권한 변경 소유자 권한 소유자 변경 shone이고 그다음에 cp는 파일 복사구 ls 리스트입니다. 파일 내용을 표시하라 그다음 rm은 삭제죠 파일삭제 네 이상으로 운영체제 기초활용에 대해 살펴봤습니다. 응용소프트웨어 기초기술활용의 두 번째 네트워크 기초활용에 대해 살펴보도록 하겠습니다. 학습 목표는요 네트워크 계층 구조에서 각 층의 역할을 설명할 수 있다. 두 번째 응용 특성에 따라 tcp와 udp를 구별하여 적용할 수 있다.
1:14:15
마지막으로, 패킷 스위칭 시스템을 이해하고 다양한 라우팅 알고리즘과 ip 프로토콜을 설명할 수 있다. 입니다. 학습 내용은 5개 파트로 나눴는데요. 인터넷 구성의 개념 네트워크 7 계층 그리고 네트워크 프로토콜 ip tcp 및 udp인데 제가 설명을 위해서 세 번째 네트워크 프로토콜은 추가를 좀 시켰습니다. 연구사들입니다. osr7레이어는 국제표준화기구인 iso internectional standode 오그니제이션 국제표준화기구에서 다른 시스템 간 통신을 위해 네트워크 구조를 제시한 기본 모듈 모델로 7개 지점 구조입니다. 프로토콜은 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 약속 체계예요. 통신할 때 이렇게 하자라고 정해진 약속 그래서 통신 규약이라고 합니다.
1:15:15
내용 첫 번째 인터넷 구성의 개념입니다. 인터넷은 워낙 저희가 보편화되어 있어서 인터넷 개념 우선적으로는 인터넷은 사용하는 통신규약이 tcpip예요. tcpip의 프로토콜을 기반으로 전 세계 수많은 컴퓨터와 네트워크들이 연결되어진 광범위한 컴퓨터 통신망을 이야기하고 언제 69년도에 어디에서 미국 국방성에서 군사활용 목적으로 스타트했던 arpa 아르파넷에서 시작을 했고요. 그리고 인터넷은 기본적으로는 유닉스 운영체제를 기반으로 성장을 했습니다. 시기적으로 유닉스도 그 시점에 만들어졌으니까 통신망과 컴퓨터가 있는 곳이라면 시간과 장소에 관계없이 정보 교환이 가능하다 요즘은 스마트폰도 인터넷 다 이용할 수 있죠. 인터넷에 연결된 모든 컴퓨터 또는 정보 기기들 스마트폰도 여기 해당되니까. 연결 장치로 해당되니까. 연결되어질 때 그 당시 시점은 고유한 ip 주소를 부여를 받습니다.
1:16:16
동시에 여러 사람이 인터넷을 이용하여 데이터를 송실시할 수 있도록 패킷 단위로 데이터를 분할해서 전송하는 패킷 교환 방식을 사용합니다. 패키지 단위별로 꾸러미 단위별로 데이터를 보통 128kb 단위로 쪼개요 컴퓨터 또는 네트워크에 서로 연결하기 위해서는 다양한 장치들이 필요한데 네트워크 장치들 게이트웨이나 라우터나 브릿지나 허브 등 네트워크 장비부터 먼저 살펴볼게요 네트워크와 관련되어진 장비 게이트웨이다. 게이트웨이는 로컬레이어가 네트워크 망이에요. 네트워크 규모에 따른 종류 구분으로서 line 로컬레이어 네트워크 근거리 통신망 규모가 좀 도시 단위별로 커지면 메트로폴리타 네트워크망이라고 해서 man 맨이라는 용어를 쓰고요.
1:17:05
그다음에 원거리 통신망 넓은 네트워크와 네트워크를 다시 연결한 와이드 에어로의 네트워크 웬이라는 규모 단위를 분류할 수 있습니다. len 로컬 단위죠 근거리 통신망에서 서로 다른 프로토콜의 네트워크에 데이터를 보내거나 네이브 네트워크에서 밖으로 빠져나간다 이 말입니다. 다른 네트워크로부터 데이터를 받아들이는 출입구 역할을 하는 게 게이트웨이예요. 이름 자체가 게이트잖아요. 문이라는 말이잖아요. 게이트웨이 기능은요, 데이터의 형식 변환이나 주소변환 프로토콜 변환 등을 수행을 합니다. 라우터 루트가 길이잖아요. r이 붙어 있으니까 길을 안내하는 장치예요. 라우터 서로 다른 얘도 서로 다른 프로토콜이 렌이나 렌과 왼 연결 기능에서 어떤 역할 최적의 경로를 선택할 수 있는 기능을 추가시킨다. 망이니까.
1:18:03
경로 자체가 여러 갈래가 있는데, 그중에서 가장 최적화되어진 경로를 안내해주는 안내 안내자 역할이 라우트입니다. 리피터 반복하다 이 말이잖아요. 전송이 되어지는 신호가 어떤 요인들에 의해 가지고 왜곡된다든지 변형이 됐다든지 아니면 약해질 경우에 원래 신호 형태로 다시 재생해서 전송하는 역할을 하는 게 리피터입니다. 허브 허브는 일상적으로 가정에서도 요즘은 인터넷 이용하는 컴퓨터가 한 대가 아니고 여러 대잖아요. 그런 경우에 허브 또는 공유기와 허브 역할을 한다라고 보시면 돼요. 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치입니다. 각 회선을 통합적으로 관리하고 신호증폭 기능인 리피트 역할도 포함을 하는데 허브의 종류 중에서 스위칭 허브가 이 신호증폭 기능이 있어요. 허브의 종류는 덤의 허브가 있어요. 멍청한 허브라고 이야기를 하는데 왜 멍청하냐?
1:18:58
연결하는 컴퓨터의 대수가 많아지면 많아질수록 얘가 인터넷 연결 회선의 속도 자체를 등분화시켜요 그래서 기존에 100mb 속도를 지원하는 인터넷 라인 회선이면 5대가 연결되어졌다 컴퓨터가 2호보에 더미어보일 그러면 나누기 5를 해버려요 그래서 각 컴퓨터가 이용할 수 있는 속도가 5분의 1로 줄어요. 20mb 정도로 낮춰진다 자 근데 이건 옛날 허브입니다. 요즘 허브들은 다 스위칭 허브들이에요. 스위칭 허브는 네트워크 상의 흐름을 데이터의 유무 및 흐름을 제외하고요. 연결된 컴퓨터 수에 상관없이 해당 속도 자체를 그대로 지원할 수 있게끔 신호 정보 기능이 각 포트 꽂을 수 있는 포트에 다 장착이 되어 있습니다. 허브의 우선 개념은 해당 네트워크 개선에다가 여러 대의 컴퓨터를 붕괴시키는 역할을 한다. 종류는 더미 허브와 스위칭 허브가 있다.
1:19:52
그리고 랜카드형 랜카드는 nic라고도 하는데 인터페이스 카드 약어입니다. 컴퓨터가 네트워크에 연결될 때 접촉적인 역할 컴퓨터의 뒤에 보면 랜선 있죠. 랜선에 꽂히는 부분이 랜카드예요. 이든의 카드 또는 또 어댑터라고도 합니다. 자 브릿지 장치가 있는데요. 브릿지는 다리라는 의미잖아요. 동일한 프로토콜을 사용하는 렌 환경 내에 이 렌의 규모가 커지는 경우에 전체적으로 연결되어 있는데, 턱션 컴퓨터가 바이러스 감염되면 전체적으로 다 바이러스 감염되니까. 얘를 규모에 따라서 일정한 규모로 다시 내부를 분할을 시켰을 때 분할되어진 내부 네트워크 간을 연결할 때 브릿지가 사용이 되어집니다. 동일한 프로토콜을 사용하는 레인과 레인을 연결하거나 레인 안에 컴퓨터 그룹을 연결하는 기능을 수행해 네트워크를 분산적으로 구성해서 보안성을 높일 수가 있다.
1:20:49
마지막으로, 스위치는 브릿지와 같은 레인과 레인을 연결해서 훨씬 더 큰 레인을 만드는 장치인데 하류웨어를 기반으로 처리하기 때문에 전송 속도가 빠르다 포트마다 각기 다른 전송 속도를 지원할 수 있도록 제어할 수 있고 수십에서 수백 개의 포트를 제공합니다. 이렇게 정리하겠습니다. 네 퀴즈를 문제 정리해보면 인터넷트워킹 인터넷의 약어가 인터 네트워킹 약어예요. 인터넷 네트워크 약어가 인터넷이에요. 네트워크와 네트워크를 서로 연결한 거 그게 인터 네트워크 인터 네트워킹을 위해서 사용되는 네트워크 장비로 거리가 먼 거 네트워크 장비가 아닌 거 증폭기 증폭기는 아날로그 신호 파양의 아날로그 신호의 신호 크기를 키우는 네트워크 장비가 아닙니다. 그래서 1번이 틀렸고 라우터는 길 안내자 역할 게이트 외에는 입출력 관문 역할 리퓨터는 해당 얘는 신호 점포 재생이긴 합니다.
1:21:47
재생이긴 한데 아날로그 신호가 아니에요. 리피터도 네트워크 장비입니다. 두 번째 문제 두 개의 서로 다른 형태의 네트워크를 연결하여 최적의 경로를 배정하는 네트워크 장비는 길이 루트입니다. 루트 루트를 안내하는 장치 라우트가 정답입니다. 다음 네트워크 7레이어 네트워크 7계층은 실제적으로 osi 7계층이 올바른 표현이긴 한데 osi는 오픈 시스템 인터커넥션 참조 모델입니다. 개념은요, 국제표준화기구인 iso에서 네트워크 구조를 제시한 표준 모델인데 얘는 이론적 모델이에요. 실제 산업군에서 사용하는 모델은 osr 세븐레이어가 아니라 뒤에 설명이 되겠지만, tcpip 4 레이어입니다. 4계층 모델을 사용하거든요.
1:22:46
우선 osi 7계층은 7개의 계층으로 구성되어 있는데, 그 구성이 어떻게 돼 있느냐 제일 하위가 1계층이 물리적인 계층이에요. 물리계층 영어로는 피지컬 레이어 2계층 데이터 링크 레이어 3계층 네트워크 계층 4계층 전송 계층 트랜스포트 레이어 5계층 세션 계층 6계층 프레젠테이션 표현 계층 7계층 응용 어플리케이션 레이어 이렇게 인터넷에 네트워크에 연결되어진 컴퓨터를 호스트라는 표현을 씁니다. 그래서 호스트 a 호스트 b 제가 두 개 다 영문으로 표현을 안 하고 하나는 한글로 했고 하나는 영문으로 했는데 두 대의 컴퓨터가 서로 연결되어서 데이터를 주고받는다. 라고 할 때 순서가 어떻게 되냐면 누가 이용하느냐 사람이 이용하겠죠. 사람이 컴퓨터의 화면에 나타나 있는 부분에 대해서 어떠한 거를 저희가 입력한다든지 이렇게 하잖아요. 화면에 보이는 게 응용계층이에요.
1:23:47
화면에 보이는 거 사용자가요 네 화면에 뭔가를 입력해 가지고요. 통신하기 위해 가지고 네 에타 그 과정적인 부분이 거꾸로요 네 보내는 쪽 이 보내는 쪽 에서는 응용계층 표현계층 세션 전송 네트워크 데이터링크 물리계층 그다음에 전송 매체를 통해가지고 받는 쪽에서는 거꾸로 1234567로 올라갑니다. 해당 이 개념 설명을 할 때 자주 사용되어지는 예제가 오편 시스템을 예제로 하거든요. 각각의 기능에 대한 설명은요, 원룡 계층은 뭐냐 하면 편지를 보낸다 요즘 편지 많이 안 쓰다 안 하다 보니까 해당 시스템이 오히려 익숙치 않을 수도 있는데, 편지를 내가 a가 b한테 편지를 쓴다 그러면 편지 내용을 작성을 이렇게 쭉 하죠. 편지지에다가 내용을 작성하겠죠. 그게 응용계층이에요. 편지 내용 작성이고요. 그 다음에 해당 이게 편지지가 보내는 게 제대로 상담원한테 전송되려면 어떻게 해야 돼요.
1:24:44
봉투에다가 우편 주소를 적죠 네 우편번호 그리고 보낸 사람 받는 사람이라고 하는 편지 봉투에다가 주소를 이렇게 적습니다. 그게 표현 계층의 역할이고요. 그다음에 우체통에다가 뚝딱 넣죠 우체통에다 넣으면 그게 세션 계층에 해당되어지고요. 우체 우체통에 넣으면 우체부가 해당 편지를 들고 가요 그게 전송 계층이고요. 어디에든 돌고 가느냐 하면 우체국에다가 우선 들고 가죠 우체국에다가 들고 간 다음에 그다음에 해당 네트워크 계층에 해당되어지는 부분은 편지 보낼 때 우편번호 꼭 적게 돼 있죠. 시스템을 간소화시키기 위해 가지고 그 우편번호를 베이스로 해가지고요. 서울에서 부산으로 편지를 보내요. 보내면 해당 받는 쪽에 지역별로 얘를 분류를 하죠.
1:25:41
분류한 다음에 그거를 이제 어 다시 해당 그 배송차에다가 싣죠 네 데이터 링크 계층 해가지고 네 배송차에다 실어요. 실어가지고 보내요. 고속도로를 타고요. 쭉 보내요. 그래서 받는 쪽에서 물리계층에서 하차한 다음에 그다음에 다시 네트워크 링크 계층에서 해당 우체국에 가요 우체국으로 간 다음에 다시 폰 번호 가지고 분류를 해요. 동 단위별로 이렇게 분류한다든지 한 다음에 그다음에 우체부들한테 줘요 우체부들이 오토바이나 네 그걸 타고 전송을 해요. 전송해가지고 상대방 보내는 사람의 집 우체통 안에다가 넣어요.
1:26:29
실종 계층이고 그 다음에 우체통 안에 들어가 있는 해당 네 부분을 봐가지고 편지봉투에서 누구한테 온 건지 가족 중에 그리프리젠테이션 계층이고 그 당사자한테 가서 내용을 보는 게 억룡계층입니다. 이해가 좀 더 되셨는지 모르겠는데 자 이렇게 7가지 계층에 대한 이해가 필요하고요. 그 다음에 앞단 저희가 먼저 네트워크 장비를 살펴봤기 때문에 장비의 매칭으로 먼저 정리를 하면 살펴봤던 네트워크 장비들이 각각의 osr 7계층 중에 어느 계층에 해당되느냐 시험 문제 나올 수 있습니다. 허브 및 리피트는 물리계층에 해당되고요. 랭카드 브릿지 스위치는 데이터 링크 계층에 해당되고요. 그리고 라우터는 네트워크 계층에 해당되고요. 그리고 트랜스포트는 게이트웨이는 트랜스포트 계층에 해당되어집니다.
1:27:24
좀 더 구체적으로 살펴볼게요 osr 참조 모델의 목적은요, 새로 다른 시스템 간이 상호 접속을 위한 개념을 규정한 거고, 해당 osi 규격을 개발하기 위한 범위 정립 그리고 관련 규정의 정합성 적합성을 조절하기 위한 공통적 기반을 제공한 겁니다. osi 참조 모델의 계층 단위별 데이터의 단위 이것도 시험에 나올 확률이 높아요. 프로토콜의 데이터 단위로서 계층별로 해당 전송 데이터 단위를 달리 표현을 하는데 1계층 물리계층은 비트 단위별입니다. 2계층 데이터 링크는 프레임입니다. 시험에서는 이 2계층 데이터링크의 계층별 전송 단위를 올바른 것 골라라 이 문제가 자주 나왔어요. 프레임 3계층 네트워크 계층은 패킷 4계층은 세그먼트 5계층 이상은 메시지라는 데이터 단위를 사용을 합니다. osr 세블라이어의 계층묘 기능이에요.
1:28:23
세부적으로 살펴보면 1계층 물리계층은요, 네 물리적입니다. 전송이 필요한 두 장치가 아닌 실제 접촉과 관련되어진 기계죠 전기적 인 또는 기능적 절차적 특성에 대한 규칙을 정의를 한다. 물리적 전송 매체와 전송 신호 방식을 정의를 하고요. 그리고 여기 해당되는 프로토콜 종류로서는 rs232c와 x21이 해당되어지고 관련 장비는 허브얼 리피트가 해당이 됩니다. 두 번째 2계층 데이터 링크 웨이어 두 개의 시스템 간의 속도 차이를 해결하기 위한 흐름 제어 그리고 프레임 2계층에서는 데이터 단위가 프레임이라고 했죠.
1:29:05
프레임의 시작과 끝으로 구분하기 위한 프레임의 동기와 그리고 오류 검출과 회복을 위한 오류 제어 프레임의 순서적 전송을 위한 순서 제어 네 가지 흐름 제어 프레임의 동기화 그 다음에 오류 제어 그 다음에 순서 제어 이렇게 네 가지 기능을 수행하고요. 관련되어진 프로토콜의 종류는요 hdlc lapb lh 맥 ppp 개념으로만 정리하겠습니다. 세부 설명을 하면 너무 깊어져요 그 다음 관련 장비로서는 레이얼 랭카드 브릿지 스위치가 있겠다. 세 번째 네트워크 계층 교시 시스템 간의 네트워크 연결 설정 유지 해제하는 기능을 담당을 하고 경로 설정과 데이터 교환 및 중기 트래픽 제어와 패킷 정보 전송 수행을 담당합니다.
1:30:01
해당되는 프로토콜의 종류는 x.25와 ip 프로토콜이 해당되고 관련 장비는 라우터입니다. 4계층 전송계층 논리적 안정과 균일한 데이터 전송 데이터 전송 서비스를 제공을 함으로써 종단 시스템 간에 투명한 데이터 전송을 가능하게 한다. 종단 시스템 간의 전송 연결 설정 그리고 데이터 전송과 연결 해제 기능과 오류 제어와 흐름 제어 흐름 제어나 앞단의 데이터 링크도 가리켜주셨던 부분이긴 합니다. 해당되는 프로토콜 종류는 tcp와 udp 이 파트는 뒤에 더 구체적으로 살펴볼 거예요. 그리고 관련 장비로는 게이트웨이가 해당되어진다 채션 계층은요, 간단하게 송수 시청의 관련성을 유지하고 서로 다이얼로그 대화를 제어하는 역할을 담당하고요.
1:30:54
대화 제어 담당 그리고 표현 계층은요, 코드 변환이나 데이터 암호화나 데이터 압축 구문 정보나 정보 형식을 변환을 한다. 우체통에 편지 봉투 쓸 때 우편번호 꼭 넣어라 그래야 우체국들이 쉽게 이 지역이야 이렇게 알 수 있게끔 한다고 말씀드렸죠 표현계층은 이렇게 정리하겠습니다. 통신의 적당한 형태로 변환이라고 보시면 될 것 같고, 형식입니다. 마지막 7 계층 응용 계층 실제 이용자들이 이용하는 경우가 여기인데 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 제공하는 거야. 응용 프로세스 관련 정보 교환과 파일 전송이나 가정 터미널 등의 서비스를 제공한다.
1:31:39
퀴즈 정리해볼게요 osi 7계층에서 단말기 사이의 오류 수정과 흐름 제어를 수행하여 신뢰성이 있고 명확한 데이터에 전달 전송을 하는 계층은 전송 계층입니다. 데이터 링크가 섞여 있으면 약간 혼동될 수도 있는데, 여기 오류 수정 흐름 제어라는 게 거기도 들어가니까 그런데 여기서는 신뢰성 있고 명확한 데이터를 전달하는 전달에 포커스를 맞추면 전송 개체입니다. 다음 osr 7계층의 데이터 링크 계층이 사용하는 데이터의 전송 단위는 뭔데 데이터 전송 단위는 계층별로도 달랐는데 이 계층 데이터 링크는 프레임이었습니다. 정답은 프레임 세 번째 osr 7계층 모델 중에 각계층의 기능을 설명한 것 중에 옳지 않은 거 골라라 지금 이 네트워크 기초 활용에서 다루는 문제들도 대부분이 기출문제입니다.
1:32:39
기존의 과목 데이터 통신 파트에서 출제됐던 기출문제들 다시 출제될 수 있기 때문에 기출문제 위주로 정리하니까요? 문제 잘 익혀놓으세요. ossh 계층 모델 중에 각계층 기능 틀린 거 물리계층은 전기적 기능적 교차적 기능 정의 맞고요. 데이터 링크 매칭은 흐름 제어와 에러 제어다 모두 맞고요. 네트워크 계층은 경로 설정 및 네트워크 연결 관리야 맞고요. 전송 계층은 코드 변환과 구문 검색이야 코드 변환과 구문 검색은요, 표현계층에 해당됩니다. 6계층 표현계층 그래서 4번이 틀렸습니다. osr 7계층의 데이터 링크 계층에 해당하는 네트워크 장비가 아닌 것은 데이터 링크 계층에 해당하는 네트워크 장비가 아니고 라우터가 아니에요. 라우터는 경로 배정이잖아요. 네트워크 계층에 해당되어집니다. 네트워크 랜카드 브릿지 스위치는 데이터 링크 계정에 해당됩니다.
1:33:36
다음 네트워크 프로토콜은 제가 설명사항으로 이해도를 높이기 위해 추가시켰어요. 세부 출제 기준에 이 명칭으로는 없긴 합니다. 그런데 다른 파트에 있는 내용을 넣었기 때문에 또 경시하면 안 되는 파트입니다. 네트워크 프로토콜 포르투콜의 정의는 서로 다른 기기들 간에 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜놓은 통신규약이야 통신을 할 때 지켜야 하는 규정된 약속 통신을 제어하기 위한 표준 규칙과 절차의 집합으로 하류와 소프트웨어 문서를 모두 규정한다. 프로토콜의 기본 요소 기출 문제 나왔어요. 프로토콜의 기본 요소는 세 가지 구문 신텍스 전송하고자 하는 데이터 형식 부호화 신호 레벨 등을 규정 의미 시멘틱 두 기기 간에 효율적으로 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정하고 있다. 세 번째 타이밍 시간 갈로코르미 안에 영어로도 보기가 나올 수 있어요.
1:34:36
두 기계 간의 통신 속도와 메시지 순서 제어 등을 규정하고 있다. 프로토콜의 기본 요소 세 가지 시엔텍스 구문 그리고 해당 의미 시멘틱 세 번째 시간 타이밍 세 가지 프로토콜 특징은 간단하게 살펴보겠습니다. 단편화한다. 쪼개는 말이에요. 전송이 가능한 작은 단위로 분할시킨다. 제조리 분할해서 보내지니까 받는 쪽에서는 다시 받아가지고, 그걸 다시 합쳐야겠죠. 단편에 온 재료들을 원래로 복원하는 거 캡슐 올라 묶는다 상위 계층에 데이터에 각종 정보를 추가해서 하위 계층으로 보낸다 앞서 설명 사항에서 제가 하나를 빼먹었는데 o에서 7계층에서 억륜계층 표현계층 세션 전송 네트워크 그 다음 데이터링크 물리계층으로 해서 상대방한테 가요 상대방한테 가는데 이 osr 7계층은 통신이 계층 단위별로 이루어집니다.
1:35:30
계층별로 물리계층은 물리계층끼리 데이터링크는 데이터링크끼리 그다음에 또는 네트워끼리 전송계층은 전송계층끼리 그렇게 되어집니다. 어떻게 그게 가능하냐? 캡슐화 응용 계층에서 해당 보내는 내용 앞에 응용 계층한테 보낸다라고 하는 헤드 정보를 추가시켜요 그 다음 밑으로 와서 표현 계층에서는 응용 계층에 전달되어진 걸 데이터로 하고 프레젠트 케이션 계층에서 추가로 헤드 정보를 붙여요. 그래서 상위 계층의 데이터에 각종 정보를 추가하여 헤드 정보를 추가하여 하위 계층으로 보내는 캡슐화 과정들을 거쳐 가지고 네 계층 단위별로 통신이 이루어집니다. 연결 제어 데이터의 전송량이나 속도를 제어한다. 오류 제어 오류가 발생한 경우 데이터 검증한다. 동기화 송수신의 시점을 맞춘다 다중화 하나의 통신 회사에 여러 기기를 접속할 수 있는 기술 주소 지정 보내고 받는 쪽 주소를 부여해서 정확한 데이터 전송을 보장합니다.
1:36:29
다음 tcpip 개념인데요. tcpip는 트랜스미시 컨트롤 프로토콜 즉 인터넷의 연결에 서로 다른 기종의 컴퓨터들이 데이터를 손실시할 수 있는 표준 프로토콜인데 tcp와 ip 두 개만 이야기하는 건 아닙니다. tcp는 tcp와 ip 프로토콜만 지칭하는 게 아니라 udp 유저 데이터그램 프로토콜 icmp 인터넷 컨트롤 메시지 프로토콜 arp 어덜스 레직션 프로토콜 그다음에 리버스 arp 등 관련 코어를 슈트 묶은 거예요. 통칭해서 이야기를 합니다. tcprp는 산업체 네트워크 모델이에요. 실제적으로 산업군에서는 osr 세븐 레이를 사용하지 않고 tcprp 사기층을 사용합니다. tcprp 구조는요 osr 7계층의 복잡도를 줄여가지고 4개 계층으로 구성을 하고 산업체 표준입니다.
1:37:28
osr 7계층 중에 1 2계층으로 묶어가지고 네트워크 엑세스 계층 그리고 네트워크 계층은 이름만 바꿔가지고 인터넷 계층 전송계층은 그대로 그다음에 567 세션 표현 응용계층을 응용계층으로 묶었어요. 계층별 프로토콜 시험 문제에 자주 나왔는데 xs 계층 말고 2계층 os 한 7계층 중에 2계층에 해당되는 데이터 링크 계층에 해당되는 프로토콜들은 hdlc lap b lapd 등등이 있습니다. 3계층 네트워크 계층과 tcprp에 해당되는 인터넷 계층에 해당되는 프로토콜은 ip icmp igmp arp가 있고요.
1:38:17
전송계층은 tcp udp 그리고 응용계층은 http 웹문서 주고받는 거 텔레 원격 접속 fdp 파일 주고받고 하는 거 처음 문제에 자주 나왔던 게 arp인데 어드레스 레지션 프로토콜이에요. 주소 회색이죠. 일반적으로 사용하는 주소체계는 ip주소예요. ip주소는 컴퓨터 단위별로 세팅하는 ip 주소가 바뀔 수 있죠. 바뀔 수 있는데, 컴퓨터가 고유하게 가지는 주소는 랜카드에 부여되어진 주소입니다. 랜카드 번호 그걸 이제 물리주소라고 이야기를 해요. 맥 어드레스라고 하는데 해당 ip 주소 특정 ip 주소가 언어 맥아더레스의 물리 주소에 설정이 되어 있는지를 알 수 있게끔 해주는 게 arp 프로토콜이에요. 어드레스트레지션 프로토콜 ip 주소와 물리 주소의 랩핑이고요.
1:39:15
반대로 물류 주소가 어떤 ip 주소를 가지는지는 리버스 arp 프로토콜이 그 역할을 담당합니다. 물리 주소는요 48비트 제외되어 있고요. ip 주소는 rp 버전 포 뒤에 저희가 다룰 겁니다. 경우에는 이렇게 다음 넘어갈게요 x.25 x점 25 25 35가 아니라 x.25의 개념 및 구조 이 학습 모듈이 ncs 학습 모듈에 나왔던 부분이어서 추가시켰습니다. x.25 개념 및 구조는요 전기통신 국제기구인 itu t에서 관리 감독하는 프로토콜인데 x25는 osr 7계층 레이어 중에 1 2 3계층만 담당을 합니다. 그래서 oasr 7계층의 1계층 물리 계층 그대로 가지고 왔고요.
1:40:08
데이터 링크 계층은 링크 계층 그다음에 네트워크 계층은 이름을 패킷 계층이라는 이름으로 사용을 해서 3계층으로 구성이 되어 쓴다 이렇게만 정리하시면 될 것 같습니다. 라우팅 프로토콜의 종류 네 가지가 있어요. 라우팅 프로토콜은 경로를 배정해주는 역할을 담당하는 프로토콜인데 망 구조로 돼 있다 보니까 경로가 다양하잖아요. 다양하게 나올 수 있는 경로 중에 최적의 경로를 배정 r ip rip 프로토콜은 최초의 라우팅 프로토콜로 거리 벡터 알고리즘을 활용을 한다라는 특징이 있고요. igrp는 rlp 문제점을 계산해서 시스코어에서 만든 거야. ospf는 링크 상태 알고리즘 사용한다. 거리 벡터 알고리즘 사용이 아니라 링크 상태 알고리즘을 사용한다는 특징이 있고요.
1:40:59
그다음 bgp는 규모가 큰 네트워크 상호 연결 이렇게 다음 중은 라우트 프로필 종류가 아닌 거 골라 이렇게 보기 항목 나오면 고를 수 있게끔 정도만 이름을 익혀 놓으면 되겠습니다. 피즈 프로토콜의 기본 요소가 아닌 거 세 가지가 있었죠. 구문 타이밍 시간 그다음에 어이미 시멘틱 이렇게 세 가지가 있었고, 제어가 아닙니다. os47 계층 중에 데이터 링크 계층의 프로토콜에 해당하지 않는 것은 데이터 링크 계층에 해당되는 프로토콜 종류가 많았어요. hdlc http pp lc 중에 http는 하이퍼텍스트 트랜스포 프로토콜로 얘는 응용 계층에 해당되죠. 웹 문서요 저희가 웹브라우저에서 네이버 점 컴 엔터키 딱 누르면 앞에 http 콜론 역설이 2개 앞에 이게 http가 프로토콜이에요.
1:41:54
웹 문서 웹페이지 주고받고 할 때 정해져 있는 방식 규정된 약속이 http입니다. 나머지는 데이터링크 계층에 해당되어집니다. ccpip 네트워크에서 ip 주소를 물리 주소로 변환한 프로토콜은 시험에 자주 나왔어요. ip 주소를 물리 주소로 변환한 거는 arp였고요. 반대로도 시험에 나왔어요. 물리 주소를 ip 주소로 바꾸는 건 리볼스예요. 역으로요 주소를 해석한다. rip 프로토콜이 그 역할을 담당합니다. 문제는 ip 주소를 물리주소니까 arp가 정답입니다. 3번 다음 tcpip 프로토콜 중에 인터넷 계층에 대응하는 osr 참조 모델의 계층은 뭐야? 하니 인터넷 계층은 tcpip 프로토콜에서는 2계층에 해당되겠습니다. 하지만 osr 참조 모델에서는 3계층에 해당돼요.
1:42:54
3계층 뭐였죠 네트워크 계층 4번이 정도입니다. osa 7계층 물리계층 피지컬 레이어 데이터링크 레이어 그다음에 네트워크 레이어 그다음에 전송 레이어 트랜스포트 그다음에 세션 프레젠테이션 마지막으로, 애플리케이션 레이어 이렇게 실계층 꼭 익혀 놓으셔야 돼요. 네 넘어가겠습니다. 다음 x.25 프로토콜을 구성하는 계층에 해당하지 않는 것은 x.25는 세계층 물리계층 링크 계층 패킷 계층 논리 계층은 없었어요. 6번 라우팅 프로토콜인 ospf 오픈 쇼티스트 패스퍼스들에 대한 설명으로 옳지 않은 것은 멀티캐스팅을 지원합니다. 개괄적으로 살펴봤는데 제가 꼭 집어서 비교를 했던 건 하나 있어요. 거리 벡터를 아우팅 프로토콜을 사용합니다.
1:43:50
얘는 rip 프로토콜이 그 역할이었고 ospf는 링크 상태예요. 링크 상태 알고리즘이 적용됐죠 그래서 이게 틀렸고요. 네트워크 변화에 신중하게 대처할 수 있다. 최단 탐색이 어떤 알고리즘을 사용한다. 크게 중요하지 않습니다. 다음 ip에 대해서 살펴보도록 하겠습니다. 인터넷 프로토콜입니다. 개념으로서 ip는 osa 7계층의 네트워크 계층 3계층에서 호스트의 주소 지정과 그리고 패킷의 분할 및 조립 기능을 담당한다. 네트워크 계층에서 다루는 데이터의 단위는 패키지였습니다. 패킷 데이타그램을 기반으로 비연결 서비스를 제공을 한다. 네 비연결성이라고 하는 부분은 비연결어로형이라고 하는 부분은 송 보내는 쪽과 받는 쪽 간의 어떤 논리적 연결 없이 데이터를 독립적으로 전송하는 방식이에요.
1:44:48
그냥 연결했느냐 따지지도 않고 그냥 보내고 끝 이렇게 되는 케이스거든요. 뒤에 전송과 관련해서는 나중에 tcp하고 udp하고 살펴볼 때 크게 양분화되어지는 구분 방식이 tcp는 신뢰성 있게 연결 지향적으로 보내는 거고, udp는 비연결적입니다. 특징이 있습니다. 뒤에 구체적으로 살펴볼게요 rp의 헤드 길이는 최소 2060바이트 rp 버전 4는 최소 40바이트 크기다 ip 헤드 정보에 포함된 정보들은 밑에 개념도 이렇게 제가 제시해 놓았는데 버전이나 그다음에 해당 헤드 langs 그다음에 토철 패킷의 길이 그리고 헤더 책썸 소스 ip 그리고 목적지 ip 그 외에 타임 투 라이브 프로토콜 이러한 것들이 포함되어집니다.
1:45:48
자 시험에서는 ip 버전 4 주소와 ip 버전 6 주소에 대한 비교 설명 묻는 게 자주 나오긴 합니다. 시험에서는요 ip 버전 4 방식이 기존에 사용하던 주소 체계예요. ip 버전 4는 32비트 주소 체계입니다. 0과의 32개 가지고 주소를 표현을 합니다. 경우의 수는 각 자리별로 0 또는 1 두 개의 경우의 수가 있으니까 경우의 수로 따지면 이론적인 주소의 개수는 2에 30 이상 하게 되면 대략적으로 43억 개 정도 자 그런데 어 그 당시에 이 ip 주소 표준을 만들 때는 43억 개 정도면 전 세계 사람들이 다 인터넷 이용하는데 크게 문제가 없을 거야. 자 그런데 해당 운영체제 윈도우 운영체제가 나오고 그다음에 쉽게 인터넷을 이용할 수 있게끔 됐고 특히 2010년도 이후에 모바일 서비스가 활성화되어지면서 인터넷 이용할 수 있는 기회가 다양해진 거죠. 폭발적으로 증가한 거죠.
1:46:45
어쨌든 2천년도 중반에 시점부터 ip 버전 4는 거의 사용할 수 있는 ip 주소가 고갈 상태로 되면서 대체로 만들어진 게 ip 버전 6에요. 이 ip 버전 6는 주소의 길이가 128비트를 사용합니다. 2에 128승 하게 되면 저희가 일상적으로 사용하는 단위를 오버해서 네 그래서 뭐 무한대라고 보시면 될 것 같고요. 네 그리고 rp 버전 4는요 8비트 단위로 4등분해서 10진수로 표현을 합니다. 그래서 뭐 10.17.63.1처럼 표현이 되어지는데 주소가 rp 버전 식스는요 16비트씩 8등분을 해서 6진수로 표현을 합니다. 그래서 안에 0123456789 외에 a부터 f까지가 섞여 가지고 주소로 표기가 되어지고 구분 기호는 콜론을 사용합니다. ip 버전 4는 점을 사용하고요. 특징으로서는 rp 버전 4는 유한 자원이니까.
1:47:45
얘를 규모에 맞게끔 아껴 쓰자고 해서 등급 재료에서 a에서부터 e 등급으로 구분을 했고요. 일반 사용은 a 클래스에서부터 c 클래스까지고 d는 멀티퀘스트 방송용 특수 용도고 a는 실험 용도로 일반인들한테 사용되지는 않았습니다. a 클래스인 경우에는 하나의 라인을 할당받아서 연결할 수 있는 컴퓨터의 대수가 네트워크 호스트 부분하고 네트워크 회선 부분과 호스트 사용자 부분으로 나눌 때 네트워크 회선 하나 과정에서 연결할 수 있는 컴퓨터의 대수는 24승이었어요. 2에 24승이면 대략적으로 얼마 나왔냐 하면 1600만대 정도 나와요. a 클래스는 회선 하나 가져왔을 때 그래서 국가 단위별 회선이라고 이야기를 했고 b 클래스는 2의 16승입니다. 2의 16승을 계산하게 되면요 한 6만 5534대 정도 나와요.
1:48:43
대규모 종합대학교 규모 정도 c 클래스는 28승으로 하게 되면 256개인데 네트워크 훼손 부분하고요. 그다음에 브로드캐스 정도 두 개 빠져요 그래서 256 마이너스 2하면 254대까지 연결할 수 있어요. c 클래스 네트워크 계산 하나 가져와서 ipv는 6는요 멀티미디어 강화 기능이 강화됐고 보안성도 강화됐고요. 세 가지 주소 체계를 사용하는데 유닛 퀘스트 멀티퀘스트 애니퀘스트 유닛 퀘스트는 1대1 멀티캐스트는 1대 다 애니 퀘스트도 1대1인데 가까이에 있는 대상과 통신한다라는 차이가 있습니다. 그리고 기존의 네트워크 장비들이 다 ip 버전 4에 맞춰가지고 세팅이 돼 있는데, ip 버전 6를 새롭게 사용한다고 해서 주소를 장비를 몽땅 다 교체할 수 없잖아요. 그래서 기존의 ip 버전 4와 ip 버전 6는 호환이 됩니다.
1:49:44
역할을 담당하는 장치가 네트워크 어드레스 트랜스레이터라고 nh 장비가 ip 버전 6로 되어진 것도 ip 버전 4로 인식하게끔 그래서 계속적으로 ip 버전 4도 그대로 사용을 할 겁니다. 자 특징 중에 서브네팅이라는 용어 있는데요. 서브넷팅은 앞서 제가 구두 상황을 설명을 드렸는데 다시 좀 더 설명드리면, 할당되어진 네트워크 회선 네트워크 주소를 다시 여러 개의 작은 네트워크로 나눠서 사용하는 거야. 네트워킹을 서브 분할한다. 이 말입니다. 네트워크 계산을 하나 가졌어요. c 클래스 같은 경우에는 하나 회선당 연결할 수 있는 호스트 슈는 2의 8승입니다. c 클래스 네트워크 회사를 하나 가졌을 때 28승이면 256대예요. 그런데 우리 회사는 256대까지는 필요 없고 한 62대 정도만 컴퓨터를 사용하는데요. 그런데 c 클래스 하나를 다 가져와가지고 사용해야 되느냐 그러면 낭비가 발생하겠죠.
1:50:40
사용하지 않는 나머지가 그렇기 때문에 규모에 맞게끔 네트워크 계산을 다시 분할합니다. 2의 n승 단위로 2의 n승 라인으로 분할해가지고요. 어 2의 1승 하면 두 개로 나누잖아요. 그러면 해당 c 클래스를 반토막 내는 거예요. 반 토막 내가지고 가지고 오면 해당 128 마이너스 2 이렇게 하면 126대 64개로 가져오게 되면 네트워크 회선 자체에 대한 주소 그리고 네트워크에 연결되어 있는 모든 컴퓨터에 일방적으로 전체적으로 방송하는 브로드 퀘스트 2개는 사용 회선에서 빠져요 그래서 네트워크 회선 주소와 브로드 퀘스트가 네트워크 회선 단위별로 각각 두 개씩 빠집니다. 너무 깊게는 안 들어가겠습니다. 개념만 익히세요.
1:51:27
개념적으로는요 ip 버전 4 주소에서 네트워크 회전 주소와 호스트 주소로 구분을 하기 위한 비트로 뭘 사용하느냐 서버넷 마스크를 사용한다. 서머님 마스크라는 부분 개념적으로 익혀 놓을 필요성이 있습니다. 네트워크 주소와 호스트 부분을 구분하기 위한 비트 다음 도메인 일반적으로 컴퓨터가 좋아하는 주소 체계는 ip 주소 체계예요. 숫자로 대어진 주소 그런데 사람들은 그 주소로 인터넷 이용하면 힘들겠죠. 네이버 접속해야 돼 210점 14.43점 이하 이렇게 하면 다 기억 못하죠. 그래서 편하게 인터넷을 이용할 수 있게끔 만든 주소 체계가 문자로 표현된 주소 체계가 도메인입니다. 더블 더블유 점 네이버 이렇게 형식은 컴퓨터 이름 그다음에 기관명 기관 성격 소속 국가명 이런 식으로 해요.
1:52:26
더블 더블유 점 테스트 co kr 오른쪽으로 갈수록 규모가 커져요 컴퓨터 이름 회사 이름 회사의 성격 그다음에 국가명 이렇게 되어 있습니다. 문자로 되어진 도메인 네임을 ip 주소로 변환하는 역할을 담당하는 해당 시스템은 도메인네임 시스템 서버입니다. dns 서버입니다. 문제 ip 데이터그램 구조에 포함되어지지 않는 것은 헤드 정보에 포함되지 않는 것 버전 리버스트 arn 프로토콜 아이덴피케이션 잘 모르시겠죠. 두 번째 리버스트 ln이 포함이 안 됩니다. ip 데이터그램에 포함되어지는 정보 버전 헤드 레깅스 ITPK션 폴트콜 헤더 책썸 소스 ip 그리고 제스네이션 ip 등이 포함되어집니다. ip 버전 6에 대한 설명으로 틀린 거 유니퀘스트 멀티캐스 애니캐스트 지원 에어 세 종류 맞고요.
1:53:26
더 많은 ip 주소를 지원할 수 있도록 주소의 크기는 64비트 에어가 틀렸어요. ip 버전 6는 주소의 길이가 128비트를 사용합니다. 프로토콜 확장을 허용하도록 설계했어요. 확장 헤드로 이동성을 지원하고요. 보안 및 서비스 품질 기능들이 개선됐다. 맞고요. ip 어드레스에서 네트워크 아이디와 호스트 아이디로 구분하는 방식은 뭔데 서브넷 마스크였습니다. 1번이 정답입니다. 다음 tcp 및 udp 살펴보도록 하겠는데요. tcp udp tcp 트랜스미션 컨트롤 프로토콜이에요. 전송을 컨트롤하는 프로토콜이다. 이렇게 돼 있어요. osr 7계층 중에서 몇 계층 4계층 전송 계층에 해당되고 crc 체크와 재전송 기능을 통해서 신뢰성 있는 연결형 서비스를 제공한다.
1:54:24
쉽게 설명을 드리면요 우편 서비스 중에 등기라고 있죠. 어떤 물건을 보낸다 편지 말고요. 물건을 보낼 때 요즘 택배가 그 역할을 담당하긴 하지만 우편 시스템에 보면 우체국을 통해서 전송을 할 때 뭘로 보낼 건가요? 등기로 보낼 건가요? 소포로 보낼 건가요? 등기로 보낼게요 등기로 보내면 상대방한테 전달이 반드시 돼야 되고요. 상대방한테 전달이 안되면 반송이 돼요. 소포로 보내면요 상대방한테 전달됐다는 확인 절차를 안 가져요 등기는 반드시 사인을 해야 돼요. 받았어요. 라고 그래서 우편 시스템 중에 등기라고 보시면 돼요. gcp는 신뢰성 있는 연결성 서비스를 제공한다. 흐름 제어 기능을 수행해서 단계별 전송 데이터 전송 상황을 체크하고 논리적 1대1 가상회사를 지원을 해서 해당 경로로만 데이터 전달이 되게끔 하고 패킷의 다중화 순서 제어 오류 제어 흐름 제어 등을 제공한다. 대표적인 서비스로서는 ccp를 이용하는 서비스들입니다.
1:55:23
ftp 파일 트랜스퍼 포트콜 파일 주고받는 거 텔레 원격이 접속 http 웹 문서 주고받는 거 smtp는 샌드메일 트랜스퍼 프로토콜이에요. 이메일 전송 그리고 pop와 imf는 이메일을 받는 서버들이 역할을 하는 부분입니다. 이러한 서비스들은 tcp를 이용해서 데이터를 신뢰성 있게 전송을 합니다. tcp 헤드 정보에 포함되어지는 부분은 소스 및 출발지 주소 그리고 목적지 주소 네 어 소스 및 데스네이션의 포트 그 다음에 시퀀스 시퀀스 넘버 엑날로지스 넘버 확인 받았는지 확인하는 거예요. 연결되느냐 확인 받았느냐 확인 책썸 등으로 구성되어집니다. tcp 헤드정보 자 udp입니다. 상대적으로 유저 데이터 그램 프로토콜인데요.
1:56:21
같은 osr 하계층 전송 계층에서 데이터 전송 전에 연결을 설정을 안 해요. 비연별형 서비스를 제공합니다. tcp와 비교해서 그래서 비신뢰성인 데이터 전송을 안 한다. 신뢰성 있게 데이터 전송 안 하는 게 왜 필요하냐? 제대로 받았는지라는 걸 굳이 확인을 안 하는 케이스들도 있단 말이에요. udp는 하나의 송신 정보를 다수의 인원들이 수신해야 하는 경우에 사용을 합니다. snmp 사용하는 프로토콜 종류예요. 표준 네트워크 망 관리 프로토콜이에요. 그리고 dns 해당 도메인이 어떤 ip를 사용하는지 조회하는 부분이었고 tftp ftp가 아니고 t자가 붙어 있어요. nfts 넷파이버스 인터넷 게임 등이 udp를 사용하는 udp를 통해서 데이터를 전송하는 서비스 종류이고요.
1:57:17
udp의 헤드 정보는 소스 데스네이션의 포트 번호 그리고 length 책선만 있어요. 앞단에서 tcp에 추가 포함됐던 시퀀스 넘버라든지 annology 넘버라든지 이러한 것들은 포함이 안 돼 있습니다. 70p와 udp의 차이점은요, 70p는 데이터 전송 전에 연결 설정하고요. 그리고 1:1로 전송하고요. 단계별 데이터 전송 상황을 체크해서 신뢰생의 데이터 전송을 하는데 등기라고 말씀드렸고요. 우편 시스템 비교했을 때 udp는요 전송되는 연기를 미설정해요. 1대4로 전송하고요. 데이터 전송 상황 미체크로 비신뢰성의 데이터 전송 일반 오편 시스템 개념도 비교했을 때 소폭 받았는지 안 받았는지 체킹 안 해요. 다음 문제 정리하겠습니다. 다음 중 tcp를 사용하는 프로토콜 아닌 거 htttp dns ftp smtp 중에 dns는 udp를 사용했던 프로토콜 종류였습니다.
1:58:17
받았는지 안 받았는지 확인 안 한다. udp 설명으로 거리가 먼 거 데이터 전달의 신뢰성을 보장 확보한다. 이게 틀렸어요. 데이터 전송 전달에 신뢰성을 확보하지 못합니다. 비신뢰성 비신뢰적인 데이터 전송 비연결형 프로토콜이에요. 복구 기능을 제공하지 않아요. 수신되어진 데이터의 순서 재조정 기능을 제공하지 않는다. 맞습니다. 모의평가 문제 다섯 문제 정리하겠습니다. 적절한 전송 경로를 선택하고 이 경로로 데이터를 전달하는 인터 네트워킹 장비는 경로적인 부분을 안내하는 장비는 라우터 장비였죠 4번이 정답이고요. osr 참조 모델에서 전 이중 방식이나 반이중 방식으로 종단 시스템의 옥룡 간의 대화를 관리하는 계층은 어느 계층인가 세션계층입니다. 세션 레이어 4계층 5계층이죠.
1:59:15
5계층 세션 블레이어 다음 78mp 프로토콜의 계층 구조 중에 응용계층 해당하는 프로토콜로 옳지 않은 것은 udp 전송이고요. 텔넷 응용이고요. 자 응용계층에 해당하는 프로토콜 옳지 않은 거니까 udp 전송계층이 4계층 해당이 안 되고요. telnet ftp smtp pp가 아니라 smtp sandemal tensorfoltocol 이거는 응용계층에 해당되었습니다. 4번 라우팅 프로토콜이 아닌 거 rip ospf pgp ppp는 데이터 링크 계층에 해당되어졌던 프로토콜이었어요. 라우팅 프로토콜 종류는 네 가지가 있었죠.
2:00:08
rip ospf pgp 외에 iricrp 이렇게 네 가지가 라우팅 경로를 배정해주는 역할을 하는 프로토콜 다섯 번째 tcp ip 프로토콜에서 ip에 대한 설명으로 거리가 먼 것은 비연결형 전송 서비스를 제공합니다. 이것도 기출 문제예요. 맞고요. 스트리밍 전송 계층의 서비스를 제공합니다가 틀렸습니다. 스트리밍 전송 계층의 서비스를 제공하는 거는 tcp입니다. 티스피 게이타그램 전송 서비스 제공하고요. 해당 비 신뢰성 전송 서비스 제공 맞습니다. 자 핵심 정리하고 마치겠습니다. 인터넷 구성의 개념 인터넷은 70p의 ip 프로토콜 인터넷의 표준 프로토콜은 75p입니다.
2:00:57
70p ip 프로토콜 기반으로 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망이야 네트워크 장비의 종류로서는 게이트웨이 관문 역할을 하는 부분이었고요. 서로 다른 프로토콜 라우터도 서로 다른 프로토콜 경로 배정 역할을 하는 부분이었고요. 리피티온의 신호재생 증폭 그다음에 허브 연결 공유 그다음에 랜카드 네트워크의 접촉자 역할을 하는 거 컴퓨터가 브릿지와 스위치 해당 랜 내에 해당 서로도 연결하는 거 네트워크 7계층 국제편역기구 iso에서 시스템 통신관 모델로 만든 거예요.
2:01:39
세븐 레이어 1계층 물리계층 2계층 데이터링크 네트워크 3계층 4계층 전송계층 5개층에서 세션 6계층 표현 7계층 응용계층 해당되는 장비 네트워크 장비 1계층에 해당되어지는 장비 허브 및 리피터 2계층 랜카드 브릿지 스위치 3계층 네트워크 계층 라우터 4계층 게이트웨이가 해당됩니다. 세 번째 네트워크 프로토콜 프로토콜은 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신규약이다. tcpip 4계층은 1 2계층 osr 7계층의 두 계층 물리계층과 데이터 링크 계층 묶어가지고 네트워 엑시스 계층 그리고 인터넷 계층 전송계층 옥류계층 4개로 줄였어요. 그다음에 프로토콜의 기본 요소는 구문 의미 시간이 있었고, 라우팅 프로토콜의 종류로서는 rip igrp ospf bgp가 있었습니다.
2:02:36
ip ip는 osr 7계층의 3계층 네트워크 계층에서 호스트의 주소 지정과 패킷 분할 및 조립 기능을 담당했고요. ip 버전 4와 ip 버전 6의 주소에 대한 특징 비교하는 거 문제가 자주 나옵니다. ccp 및 udp ccp는 osr 7계층이 전송 계층에 해당되어지고요. 논리적인 1:1 가상 회선을 지원을 하고요. 에러 체크라든지 그다음에 재전송 기능을 통해서 신뢰성 있는 연결형 서비스를 제공한다. tcp tcp 사용 서비스의 종류로는 ftp나 텔렛 htp smtp pop imap가 있고요.
2:03:18
udp는 비연결성이고 신뢰성 없는 데이터 전송이고 udp udp udp를 사용하는 서비스 종류로서는 snmp dns tftp nftc nfts 넷바이오스와 인터넷 게임 등이 있었습니다. 네 이상으로 네트워크 기초활용에 대해 살펴봤습니다. 공용소프트웨어 기초기술활용 마지막 세 번째 기본 개발 환경 구축에 대해 살펴보도록 하겠습니다. 학습목표인데요. 웹 서버 데이터베이스 서버 및 응용 개발에 필요한 기반 서버를 설치하고 운영할 수 있다. 두 번째 패키지 개발 방식의 개념과 장단점을 이해하고 구축 및 운영 절차를 이해한다. 입니다. 살펴볼 학습 내용은 세 파트인데요.
2:04:10
웹 서버 데이터베이스 서버 패키지인데 이 파트는 솔직히 앞단은 저희가 다뤘던 내용들이고 패키지 부분만 새롭게 추가된 내용이라고 보시면 될 것 같습니다. 용어 사전으로서 패키지라고 하는 패키지 개발은 여러 성공 사례의 노하우를 기반으로 개발되어진 제품 기존 제품을 이용해서 시스템을 구축하는 방식이라고 보면 되겠습니다. 웹서버입니다. 네 웹 서버의 개요에서요 먼저는 동적 페이지와 정적 페이지에 대한 개념을 먼저 정립하고 웹 서버로 넘어갈게요 스태틱 페이지 정식적 페이지라고 하는 부분은 웹 서버는 파일의 경로 이름을 받아서 경로에 일치하는 파일 콘텐츠만 그대로 그냥 반환 보내주는 것을 뜻하고 항상 동일한 페이지를 반환한다.
2:05:03
예로 저는 일반 html 문서 a에 포함되어지는 일반 html과 그리고 그림 그다음에 해당 html에 대한 스타일 지정하는 css 파일이라든지. 또는 html에 포함된 자바스크립트 등 파일을 그냥 정적으로 일반적으로 요구하는 거 그냥 보여만 주는 거 다이나믹 그러면 상대적으로 다이내믹 페이지라는 건 동적 페이지라는 거는 뭔가 바꾼다는 말이에요. 서버트 안에서 어떤 작업이 있는 거예요. 동적으로 요청되어진 대표적인 동적 페이지는 html이 아니라 서버사이드 스크립트 페이지들이에요. php나 asp나 jsp와 같은 클라이언트의 요청 리퀘스트를 해석하고 데이터를 가공하는 절차를 거칩니다.
2:05:51
이 데이터 가공이라는 부분 자체는 입력받은 사용자의 값을 서버단의 db 데이터베이스 서버하고 연결해서 저장을 한다든지 아니면 데이터베이스 서버에 저장되는 값을 불러와 가지고 입력한 것하고 비교를 한다든지와 같은 데이터 가공 페이지를 리스판스한다. 그래서 스태트 페이지는 단순하게 클라이언트 사용자가 웹브라운을 통해 가지고 요청한 거를 웹 서버에 저장되어 있는 걸 그대로 끌고 꺼내서 그냥 보내면 주는 거고요. 다이내믹 페이지는 서버 때문에 처리하는데 그 처리하는 부분 자체가 웹 애플리케이션 서버에서의 역할입니다. 그래서 왓스 서버가 해당 데이터베이스 서버하고 연결해 가지고 조작하는 것이 필요하다든지 그러한 역할을 담당하는 거죠. 자 그래서 웹 서버하고 왓스하고는 약간 비교가 되는데 소규모 서버로 세팅하는 경우에는 웹 서버 응용 프로그램과 그다음에 웹 애플리케이션이 같이 설치되어지거든요.
2:06:47
소규모 단위는 한 대의 서버 컴퓨터에 같이 설치가 되어지니까. 웹 서버 역할도 하고 왓스 서버 역할도 한다. 이렇게 보시면 될 것 같고, 규모가 큰 경우에는 웹 서버 별도로 왓스 서버 별도로 이렇게 분리해서 운영되기도 합니다. 규모에 따라서 그래서 위의 개념도 보면 클라이언트가 애플리케이션 서버 내에 웹 서버와 웹 컨테이너 그리고 db 연결 웹 서버가 직접적으로 db 연결할 수는 없어요. 웹서버가 와스 서버 웹 컨테이너가 db 역할 연결 역할을 담당하거든요. 자 웹 서버 개념은요, 하드웨어는 웹 서버가 설치된 컴퓨터를 이야기하는 거고, 소프트웨어는 웹 브라우저 클라이언트로부터 http 리퀘스트를 받아서 정적인 콘텐츠를 그냥 제공하는 애플리케이션이다. 기능적인 부분은 http 프로토콜을 기반으로 클라이언트 요청을 서비스한다.
2:07:47
왓스를 거치지 않는 경우와 왓스를 거치는 경우 와셀을 거치지 않게 되면 저장되어 있는 그냥 정적 콘텐츠인 그림이나 css 자바스크립트를 포함한 htm을 제공하면 끝이고 왓셀을 거치게 되는 경우에는 동적 콘텐츠를 제공하기 위해서 서브 사이즈 스크립트 언어를 이용해 가지고 요청에 대한 내용을 왓셀에 전달하고 처리한 다음에 처리한 그 결과를 asp나 jsp나 php를 php가 서버에서 처리하는 부분을 처리하고 결과를 해서 html로 바꿔가지고 보내줘요 주요 제품은 아파치 웹 서버의 주요 제품입니다. nginx 마이크로소프트의 ix와 구글 웹 서버인 gws 등이 있습니다.
2:08:33
와스 서버는 비교적인 측면에서요 웹 애플리케이션 서버는 db 조회나 다양한 로직 처리를 요구하는 동적 콘텐츠를 제공하는 거다 http를 통해서 프로케이즈를 수행하는 미들웨어에 해당되고요. 왓슨은 웹 서버와 웹 컨테이너를 포함하고 있습니다. 기능적인 부분에서는 asp랑 jspr php 파이슨과 같은 서브 사이즈 스크립트 언어를 활용을 하고요. 프로그램 실행 환경과 db 접속 기능 그리고 다수의 트랜잭션 관리 로직 수행이 가능하다 주요 제품은 통켓이나 언더투 제우스 웹로직 웹스피어 등이 있습니다. 이 파트는 15장에 저희가 챕터 15회 서버 프로그램 구현 파트에서 저희가 다뤘던 내용과 중복되어집니다. 서브사이즈 스크립트 스크립트 언어의 종류는요 서버 측에서 처리하는 스크립트 언어의 종류는 asp 그다음에 jsp php 파이썬 등이 있습니다.
2:09:34
이 파트는 프로그래밍 언어 파트에서 언어의 종류에서 저희가 다뤘어요. 넘어갈게요 웹 서버 퀴즈입니다. 웹 서버에 대한 설명으로 옳지 않은 것은 웹브라우저와 같은 클라이언트로부터 htp의 요청을 받아들이고 html 문서와 같은 웹페이지를 변환하는 컴퓨터 프로그램이에요. 맞죠. 주로 그림이나 css 자바스크립트를 포함한 htm 문서와 클라이언트로 전달됩니다. 정적인 페이지의 경우 그리고 서버사이언스크립트 언어를 통해서 구현되는 기능이란 htm 문서를 동적으로 생성하는 것을 말한다. jsp나 asp나 psp나 그러한 서브 사이드 스크립트 사이드 스크립트 그리고 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 하는 건 데이터베이스 서버 db를 설명하고 있다고 보고 웹 서버와 연관성은 떨어집니다.
2:10:31
다음 중 서버의 종류가 다른 하나는 is gws 마이 sql 아파치 중에 세 번째 마이 sql은 데이터베이스 서버에 해당되고 iis나 gws와 아파치는 웹 서버에 해당되어집니다. 다음 db 서버로 넘어가겠습니다. 데이터베이스 서버는 dbms를 이야기합니다. 데이터베이스 관리 시스템을 이야기하는데요. 사용자와 다른 애플리케이션 데이터베이스와 상호작용하여 데이터를 저장 분석하기 위한 컴퓨터 소프트웨어를 뜻한다. 주요 기능으로서는 데이터베이스 생성이나 조회가 변경되고요. db 서버의 종류로서는 오라클에서 만든 오라클 db와 ibm에서 만든 db2나 마이크로소프트웨어 sql 서버라든지 그리고 mysql이나 몽고 db 등이 있고요.
2:11:19
각각의 장점에 따라서 비용적 측면이나 사용 용도를 고려해서 선택을 할 때 대규모 데이터의 안정적 서비스는 상용인 오라클린이나 db2 그리고 비용이 저렴한 오픈소스인 마이에스큐엘이나 몽고디비 같은 경우엔 소규모에서 주로 사용이 되었습니다. db 서버의 종류 및 특징입니다. 오라클 오라클사에서 만든 대규모의 대량의 데이터 안정적인 처리를 서비스하고요. dbq는 ibm에서 만들었고요. 마찬가지 상용입니다. 상용은 유료라는 말입니다. 대규모 대량 데이터의 안정적 처리 그리고 마이크로소프트의 sql 서버 마이크로소프트를 만들었고요. 상용입니다. 중소 규모 데이터의 안정적 처리 마이너스큐어는 지금 현재 오라클론으로 넘어갔어요.
2:12:11
모든 소프트웨어는 무료로 이용을 하자 라고 하는 무료 또는 일부는 유료로 상용으로 서비스할 것 같아요. 그래서 마이 sql을 만들었던 제작자가 별도로 설립한 어 회사 업체를 설립해가지고 무료로 배포하고 있는 게 마리아 디비라고 있습니다. 네 마리아 디비 여기 포함 안 됐는데 마리아 db도 마이스큐어 거의 같아요. 에스큐어 에어라이트는 스마트폰이나 태워드 pc 등 임베디어 데이터베이스용 몽고 db는 오픈소스 노 에스큐어 데이터베이스 그리고 레디스 이런 것들이 있습니다. db 서버를 고려 선택할 때 고려사항입니다. 가용성 장기간의 시스템을 운영할 때 장애 발생 가능성이라든지.
2:13:06
데이터베이스 dbms의 버그 등으로 인한 패치 설치를 위한 제기동 백업 및 복구 편의성 성능적인 부분은 대규모형이냐 중규모 소규모냐에 따라서 선택 대상이 달라질 것 같고, 기술 지원 공급 밴드들의 안정적인 기술 지원이나 다수 사용자들 간의 정보 공유나 오픈소스 여부 상호 호환성 운영체제에 따라서 설치가 불가능한 운영체제 dbms도 있죠. 일례로 마이크로소프트 sql 서버는 윈도우 운영체제에서만 설치가 가능합니다. 구축비용요 라이센스 정책 및 비용과 유지 및 관리비용 총소요비용 등이 고려대상입니다. 문제 다음 중 dbms 종류 중에 오픈소스 인 rdbms r이라고 하는 부분은 릴레이셔널 관계 관계 데이터베이스 관리 시스템에 해당하는 것은 관계라는 건 테이블과 테이블 간의 조인이라든지. 그런 관계를 이야기합니다.
2:14:04
마이 sql 여기서 키포인트는 오픈소스예요. 무료로 하는 부분입니다. 오라클 db2 마이에스큐엘 마이크로소프트웨어 sql 서버는 예상용이에요. 네 상용이고 오픈소스 rdbms는 mysql에 해당되는 특징입니다. 다음 마지막으로, 패키지에 대해 살펴보도록 하겠습니다. 패키지는 시스템 개발에서의 패키지를 이야기하는 겁니다. 패키지 개발 방식 패키지 방식의 개발은 여러 성공 사례의 노하우를 기반으로 만들어진 기존에 개발되어진 제품을 이용해서 시스템을 구축하는 방식을 이야기합니다. 사용자의 기능 요구사항을 70% 이상 충족시키는 패키지 소프트웨어가 있다면 해당 패키지 소프트웨어 방식이 적합하고요. 너무 요구사항을 충족하지 못하는 패키지 소프트웨어는 오히려 새로 만드는 게 오히려 효과적일 수가 있습니다. 왜 커스터마이징 한다.
2:15:02
상조 요구사항에 맞게끔 재조정하는 게 더 포션을 많이 차지하니까 자 이 패키지를 개발을 도입할 때는요 기존 시스템은 레그시 시스템이라고 현존한 시스템과의 상호 연동 및 연계를 고려를 해야 됩니다. 패키지업을 통한 응용소프트웨어 개발은 패키지 커스트마이징 방법론에 따라서 지원한다. 수정한다는 말이에요. 용도에 맞 그 현재 상황에 맞게끔 패키지 개발의 장점입니다. 기본적으로 필요한 기능이 사전에 모두 제공되어지니까. 좋고요. 그리고 특히 국제 및 산업계 표준으로 장착되어진 어떤 비즈니스 프로세스들을 적용을 시켜서 개발되어지기 때문에 비즈니스 프로세스적인 부분 자체를 해당 업체에 도입할 수 있다는 부분이 장점이 될 수 있고요.
2:15:54
품질이 검증된 우수한 패키지 소프트웨어 사용으로 안정적으로 시스템 구축이 가능하다 그리고 전문적인 업체의 지속적인 업그레이드로 최신의 제품 및 기능 사용과 그리고 개발 기간을 단축시킴으로써의 비용 절감 효과 그리고 패키지 소프트웨어 개발업체의 관리가 용이하다라고 하는 게 장점이 되겠고요. 반면에 단점입니다. 요구사항을 패키지 소프트웨어가 모두 수용하지 못하겠죠. 100% 다 요구사항을 충족하는 건 드물니다. 수용하지 않기 때문에 사용자 즉 고객이 이용하는 요구사항에 대한 어떤 대처가 쉽지 않을 수 있다. 사용자의 업무 프로세스를 패키지 소프트웨어의 업무 프로세스에 맞춰야 하는 경우에 프로세스 개선에 대한 저항이 발생할 수 있다.
2:16:41
시스템을 다 개발하고 난 다음에 그다음에 해당 넘겨주죠 넘겨줬을 때 그 시스템 개발 시스템에 대한 성공 여부는 사용자 측에 대한 호응도가 굉장히 영향 요소가 됩니다. 나는 기존에도 내가 이거 기존 거 이용해서 충분한 업무를 수행할 수 있었는데, 바뀐 게 너무 불편해요. 도저히 사용 못하겠어요. 그게 저항입니다. 사용자의 저항력 프로세스적인 측면도 마찬가지 업무 프로세스가 패키지 소프트웨어 업무 프로세스하고 너무 상이하다 그런 경우에는 프로세스 개선에 대한 저항 발생으로 이어질 가능성이 존재한다. 이게 단점입니다. 고객 요구사항이 까다롭거나 특수할 경우에는 샀지만 다시 만들어야 되는 그런 형식의 구축으로 이어질 수 있다라는 게 또 단점이에요. 패키지의 구축 및 운영 절차입니다. 패키지 방식의 구축 절차는 먼저는 요구사항에 맞게 커스트마이징을 수행하고요.
2:17:41
그리고 개발 단위별 단계별 개발 방법 적용한 후에 고객의 검수와 공식적인 통합 테스트를 수행하고 매뉴얼 작성 및 패키지 전개 계획을 수립합니다. 운영 방식은요, 패키지를 운영 환경에 전개하고 사용자 테스트 및 테스트를 위한 준비와 시정 요구사항에 대하여 조치하고 유지보수 운용 매뉴얼을 작성하고 프로젝트 종료 후에 개발 완료 보고서를 작성하는 순서로 진행이 되어집니다. 문제 풀이 해볼게요 1번 다음 중 패키지 방식 개발의 장점 옳지 않은 거 개발 기간의 단축으로 비용 절감 효과가 있어요. 맞고요. 산업 현장에서 사용되어서 품질이 검증되어진 우수 패키지 소프트웨어의 사용으로 안정성이 뛰어나요? 네 맞고요. 사용자의 업무 프로세스를 패키지 소프트웨어의 프로세스에 맞춰야 하는 경우가 있다. 이거는 이제 패키지 프로세스 저항이라든지. 이러한 부분들은 단점이었죠.
2:18:40
장점이 아니라 기본적인 필요 기능이 사전에 모두 제공된다. 맞죠. 모의평가 다섯 문제 풀고 정리하겠습니다. 다음 중 웹 서버의 기능으로 옳지 않은 것은 정치적 콘텐츠 관리 및 동적 콘텐츠 관리 정치적 콘텐츠 관리도 맞습니다. 해당 웹 서버에서 통신 기록이라는 부분은 요청받고 보내고 이러한 것들이 기록으로 남습니다. http 하이퍼텍스 트랜스포르토콜 웹 문서를 주고받고 하는 거 쿼리 캐싱이라고 하는 부분 자체는 웹 서버의 역할이 아니라 데이터베이스 서버의 역할 기능입니다. 두번째 웹 서버의 기본 포트 번호로 올바른 것은 포트라고 하는 부분 자체는 인터넷 서비스 종류를 구분하도록 부여되어진 번호인데요. 기본 포트는 웰론 포트라고 이야기를 해요.
2:19:38
잘 알려진 포트 잘 알려진 포트는요 포트를 안 써요 krl의 기본 형식은 예를 들어서 저희가 ww 네이버 점 컴이다. 이렇게 하면 네이버 점 컴 이렇게까지만 하지 주어져 있는 웹 서버의 기본 포트는 80번이거든요. 콜론하고 80이라고 안 적죠 이건 생략해도 되거든요. 웹 서버의 기본 포트는 80번입니다. 25번으로 부여되어진 것은 smtp입니다. 샌드메일 트랜스퍼 프로토콜 메일 보내는 거 21번은 ftp입니다. ftp에 보여드려진 웰런 포트예요. 파일을 주고받고 송수신하는 프로토콜 웹서버는 80번 다음 중 데이터베이스 구성의 장점이 아닌 것은 데이터 중복을 최소화시킨다. 맞고요. 여러 사용자에 의한 데이터의 공유 데이터 간의 종속성을 유지한다가 틀렸습니다.
2:20:36
데이터의 중복과 종속성을 최소화시키는 게 데이터베이스 구성의 장점이고요. 데이터 내용의 일관성 유지 맞고요. 네 번째 다음 중 패키지 방식의 개발에 대한 설명으로 옳지 않은 것은 사용자 요구사항에 맞는 패키지 소프트웨어가 있을 경우에 패키지 소프트웨어 방식이 적합하다 그렇죠. 패키지 소프트웨어의 사용자에 그걸 맞출 수는 없잖아요. 거꾸로 해야 되죠. 주간 사용자의 요구 요건에 맞는 게 있으면 하는 거고, 없으면 새로 개발해야 되는 거죠. 기존 레이거시 현존 시스템은 고려하지 않아도 된다. 기존의 시스템과의 연동과 연계를 고려해야 돼요. 아예 기존 거를 무시해버리고 도입한 걸 이용하라 이렇게 하면 더 불편 사항이 더 생길 수도 있어요.
2:21:29
패키지 방식이 아니라 여러 성공 사례의 노하우를 기반으로 개발된 제품을 이용하여 시스템을 구축하는 방식이야 맞고 패키지를 통한 응용 소프트웨어 응용 시스템 개발은 패키지로 커스마이징 수정하는 거죠. 네 방법론에 따라 진행한다. 맞습니다. 마지막 다음 중 패키지 커스트마이징 방법론의 구현 단계 올바른 구축 기술자는 첫 번째 뭐 해야 되느냐 커스티마이징을 수행을 먼저 요구사항에 맞게 패키지를 요구사항에 맞게 커스트마이징 수행한다. 얘가 1번이어야 되고요. 그다음에는 각 단계별로요 커스트라이징 개발을 위한 개발 단계별로 단계별 개발 방법을 적용한다. 이게 두 번째고 그다음에는 검수 테스팅 단계가 필요하다고 했죠. 각 개발 단위의 개발이 완료되면 고객 검수 담당자와 공식적인 통합 테스트를 수행한다가 세 번째고 마지막이 사용자 운영 매뉴얼 작성 및 패키지 전개 계획을 수립한다 그러면 순서상으로는 2134 1번이 정답입니다.
2:22:30
자 정리해보겠습니다. 네 세빠떼로 저희가 살펴봤는데 웹서버 웹서버는 웹브라우저 클라이언트로부터 httv 리케스를 받아서 html과 같은 정적 콘텐츠를 제공하는 프로그램과 해당 애플리케이션 서버가 설치되는 컴퓨터를 이용한다. 왓스하고 비교했을 때의 정의입니다. 웹 애플리케이션 서버하고 비교했을 때 웹 애플리케이션 서버는 동적 서비스 제공했고 웹 서버는 정적 서비스 웹 서버의 종류는 아파치 nginx is gw에 있었고요. gws 구글 웹 서버의 약어입니다. 그 다음 왓스 서버는 db조회나 다양한 로직 처리를 프로그래밍 서버 때문에 프로그램을 한다는 말이에요. 요구하는 동적 콘텐츠를 제공해서 제공하기 위한 애플리케이션 서버야 왓스트 서버의 종류는 톰 케이트 언더 투 제우스 웹로직 웹소피어 등이 있었습니다.
2:23:24
db 서버 사용자와 다른 애플리케이션 데이터베이스와 상호작용하여 데이터를 저장하고 분석하기 위한 컴퓨터 소프트웨어였고 db 서버의 종류로서는 오라클 db2 마이크로소프트웨어의 sql 서버는 상용이었고요. 유료 그다음에 마이너스큐어리와 몽고 db는 오픈소스로 해서 얘는 무료였어요. db서 고려사항으로서는 가용성이나 성능이나 기술지원이나 상호 호환성이나 구축 비용 등을 고려를 해야겠다. 마지막 패키지 패키지 방식 개발은 기존 제품을 이용한 거예요. 개발된 제품을 이용해서 시스템을 구축하는 방식이 있고 패키지 방식의 장점은요, 국제 및 산업계 표준으로 정착된 비즈니스 프로세스를 적용이 가능하고 품질이 검증되어진 안정적 시스템 구축이 가능하고 개발 기간은 단축으로 비용 절감 효과가 있는데, 반면에 단점은 사용자 요구사항에 대한 대처가 쉽지 않고 사용자의 프로세스 개선에 대한 저항이 발생할 수도 있겠다. 입니다.
2:24:24
이상으로 기본개발환경 구축에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 프로그래밍 언어 활용' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 2.프로그래밍 언어 활용 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 1.서버프로그램 구현 (0) | 2025.05.26 |
https://youtu.be/5uwq3Vz1F9c?si=b4rUf7KiULXr7C2H
1. 프로그래밍 언어의 데이터 타입과 그 활용
1-1. 프로그래밍 언어의 데이터 타입 이해
- 프로그래밍 언어에서 데이터 타입은 변수의 값 저장 형식을 의미함
- 데이터 타입에는 정수형, 실수형, 문자열 타입 등이 있음
- 정수형과 실수형의 저장 범위는 각각 0부터 65535, 2의 7승 마이너스 128에서 127까지임
- 배열 타입은 여러 데이터를 하나로 묶어 저장하며, 데이터 타입에 따라 메모리 저장 공간 크기가 달라짐
1-2. 프로그래밍 언어의 연산자와 명령문 활용
- 프로그래밍 언어에서 연산자는 데이터 처리를 위해 사용되는 기호로 플러스, 마이너스 등의 연산자가 있음
- 명령문은 애플리케이션에 필요한 기능을 정의하고 사용함
- (중요) 애플리케이션의 기능을 구현하기 위해 필요한 연산자와 명령문을 적절히 활용해야 함
1-3. 프로그래밍 언어의 데이터 타입에 따른 문제 이해
- 각 프로그래밍 언어마다 데이터 타입에 따른 메모리 저장 공간 크기가 다름
- 예를 들어, 정수형 데이터 타입의 저장 공간은 8바이트, 실수형의 저장 공간은 4바이트, 문자열 타입은 1바이트임
- (중요) 각 프로그래밍 언어의 데이터 타입에 따른 메모리 저장 공간 크기를 이해하고 이를 활용해야 효율적인 프로그래밍이 가능함
2. 프로그래밍 언어와 연산자의 이해
2-1. 프로그래밍 언어의 특성과 변수
- 프로그래밍 언어는 컴퓨터에 명령을 내리기 위해 사용하며, 가장 주요한 특징은 주기억 장치에 데이터를 저장하는 것임
- 변수는 데이터 타입에 따라 정수형, 실수형, 문자형으로 구분되며, 선언 시 이에 맞춰 데이터 타입을 붙여야 함
- 한글이 변수명으로 사용될 수 없으며, 영문자, 숫자, 특수문자만 사용 가능
- (중요) 변수의 공백이나 밑줄, 특수문자는 사용 불가하며, 글자 수 제한은 없음
2-2. 변수의 선언과 초기화
- 변수 선언 시에는 자료형과 변수명을 함께 선언하며, 초기값이 주어지면 해당 값이 저장됨
- 이때, 제어문과 같이 이미 정해진 용도를 지키는 자료형 타입들을 예약이라고 함
- (중요) 변수의 선언은 일반적으로 '자료형 변수명 세미콜론'의 형태로 이루어짐
- 변수의 초기값은 주로 정수형 값으로 할당되며, 이에 대한 세미콜론이 문장 끝에 붙어야 함
2-3. 프로그래밍 연산자의 종류와 특성
- 프로그래밍 연산자는 플러스, 마이너스, 곱셈, 나눗셈, 시프트 연산자로 분류됨
- 이들 연산자에 해당하는 각각의 특성과 사용 예를 알아야 사용할 수 있음
- 플러스, 마이너스 연산자는 대표적인 산술 연산자로 변수에 따라 연산의 방향이 결정됨
- (중요) 시프트 연산자는 비트의 위치를 이동시키는 연산자로, 왼쪽의 값 오른쪽으로 부호를 올림
- 논리 연산자는 두 개 이상의 논리 조건이 있을 때, 각 조건에 대해 논리 연산자를 사용해 판단하고 연산함
3. 연산자 우선순위
3-1. 연산자 우선순위 이해
- 프로그래밍 언어에서 연산자의 우선순위가 계산 우선순위와 같음
- (중요) 우선순위가 높은 연산자는 먼저 계산됨
- 자바에서는 연산자 우선순위가 괄호나 대괄호에서 시작함
- 괄호나 대괄호 안의 연산자부터 계산되어 우선순위가 높음
- 산술 연산자(기본 연산자)가 섞여 있을 때, 곱셈과 나눗셈이 먼저 계산되어야 함
3-2. 연산자 표기법
- 연산자 위치에 따라 전위, 중위, 후위 표기법이 있음
- 전위 표기법은 연산자를 먼저 쓰고, 뒤에 표기하는 방식임
- 중위 표기법은 연산자 사이에 다른 연산자를 배치하는 방식임
- 후위 표기법은 연산자 뒤에 다른 연산자를 배치하는 방식임
- 연산자 위치가 전위, 중위, 후위에 따라 변환할 수 있음
3-3. 연산자 우선순위 변환
- 전위 표기법을 중위 표기법으로 변환하는 과정이 있음
- 연산자-변수 형태로 이루어진 구문을 먼저 중위로 변환하고, 나머지는 변환하지 않음
- 연산자로 시작하는 구문은 연산자-변수 형태로 봄
- 연산자 뒤에 오는 변수는 연산자로 보고, 그 사이의 연산자를 넣어줌
- 예제에서 연산자 '플러스'를 '바스'로 대체하고, '콜론'을 '컴퓨터'로 변경함
4. 중위표기법
4-1. 연산 우선순위
- 덧셈과 곱셈이 먼저 계산되는 등 연산의 우선순위가 정해져 있음
- (중요) 연산 순위가 높을수록 우선순위가 높음
- 연산의 우선순위가 높은 연산자부터 계산을 시작함
- 연산의 우선순위는 제일 낮은 연산자부터 시작함
- 예제를 통해 연산의 우선순위가 높은 것을 확인함
4-2. 중위표기법
- 연산자끼리 묶인 경우, 그 연산자의 순서로 나타냄
- 연산자 뒤에 배치된 연산자부터 먼저 계산됨
- 연산의 우선순위가 낮은 연산자부터 계산을 시작함
- 중위표기법은 주어진 식을 먼저 계산한 후, 연산자의 우선순위에 따라 결과를 정렬함
- 예제를 통해 중위표기법을 활용하여 문제를 풀어봄
4-3. 사례 문제
- 연산의 우선순위가 가장 높은 연산자부터 계산하는 문제를 다룸
- 식을 중위표기법으로 표시하여 풀어냄
- 연산자 변수를 먼저 계산하고, 뒤에 배치된 연산자로 정리함
- 뒤에 배치된 연산자를 먼저 계산한 후, 중위표기법으로 정리함
- 연산의 우선순위가 낮은 연산자부터 계산하는 문제를 다룸
5. 프로그래밍 언어의 종류와 특성
5-1. 프로그래밍 언어의 특성과 분류
- 프로그래밍 언어는 컴퓨터 시스템의 역사와 함께 발전함
- (중요) 프로그래밍 언어는 개발 시대적 패러다임에 따라 각각의 특성을 가짐
- 프로그래밍 언어는 절차적 프로그래밍 언어, 객체 지향 프로그래밍 언어, 스크립트 언어, 선언형 언어 등으로 분류됨
- 각 언어는 다른 방식으로 동작하므로 각각의 특성을 이해하고 활용하는 것이 중요함
5-2. 절차적 프로그래밍 언어의 특성
- 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술함
- (중요) 이 언어는 프로그램이 실행하는 절차를 중요시하며, 프로시저(루틴)를 중심으로 함
- 이 언어는 자연 언어에 가까운 단어와 문장을 사용하며, 주로 과학적 계산이나 하드웨어 제어에 사용됨
- 이 언어의 장점은 실행 속도가 빠르며, 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용할 수 있음
5-3. 객체 지향 프로그래밍 언어와 스크립트 언어
- 객체 지향 프로그래밍 언어는 실제 객체를 모델링하여 코드를 작성하는 방법을 제공함
- 이 언어는 인터페이스(설명하는 기능)과 메소드(행동하는 기능)을 통해 객체를 생성하고 관리함
- 스크립트 언어는 특정한 프로그래밍 언어로 개발된 특정 언어의 역할을 나타내는 프로그래밍 언어임
- 이 언어는 입력과 출력 사이의 관계를 명확하게 정의하며, 입력을 처리하는 순서를 명확하게 정의함
- 이 언어는 구현된 기능을 테스트하고, 테스트를 통과한 기능을 실행자에게 반환함
6. 절차적 프로그래밍과 객체 지향 프로그래밍
6-1. 절차적 프로그래밍의 장단점
- 프로그램 분석이 어려움, 함수 간의 연관성이 다양함
- 유지보수와 코드 수정이 어려움, 문제가 발생 시 찾기 어려움
- 스파게티 효과로 문제 해결이 어려움, 얽혀있는 부분 찾기 어려움
- (중요) 절차적 프로그래밍 언어인 C가 알굴 코블 포트를 대표함
- C는 운영체제 구현에 적합, 호환성이 뛰어남
6-2. 객체 지향 프로그래밍의 특징
- 객체 지향 프로그래밍은 현실 세계의 객체를 기계 부품처럼 다룸
- 명령과 데이터를 객체 단위로 호르미화, 생산성이 높고 재사용 가능
- 규모가 큰 대용 프로그램을 작성하기에 용이, 공학적 측면에서 이점이 있음
- (중요) 객체 지향 프로그래밍의 단점은 프로그래밍 구현을 위한 분석 및 설계 방법이 없고, 처리 시간이 지연됨
- (중요) 객체 지향 프로그래밍의 장점은 상속을 통한 재사용과 시스템 확장 용이
6-3. 객체 지향 프로그래밍의 다형성과 추상화
- 객체 지향 프로그래밍은 데이터와 데이터 처리 함수를 하나의 캡슐화로 묶음
- (중요) 캡슐화를 통해 다른 객체에게 정보를 숨기고 연산만을 통해 접근을 허용함
- 정보의 언닉과 추상화를 통해 불필요한 부분을 생략하고 중요한 부분만 선별함
- (중요) 캡슐화와 추상화를 통해 객체 지향 프로그래밍은 개발 과정에서 불필요한 오해를 줄이고 중요한 부분에 집중함
7. 객체지향 프로그래밍과 스크립트 언어
7-1. 객체지향 프로그래밍의 구성 요소와 종류
- 객체지향 프로그래밍에서 클래스, 객체, 메소드가 주요 구성 요소임
- 클래스는 공통된 객체의 속성과 메소드를 가짐
- 객체는 개체와 속성, 메소드로 구성되며, 인스턴스화가 이루어짐
- 객체지향 프로그래밍 언어의 종류로는 자바, C++ 등이 있음
- (중요) 자바는 객체지향 프로그래밍 언어 중 가장 큰 비중을 차지함
7-2. 객체지향 프로그래밍 언어의 특징과 장단점
- 객체지향 프로그래밍 언어는 현실 세계를 모형화하여 사용자와 개발자가 쉽게 이용 가능
- (중요) 소프트웨어의 재사용률이 높고, 유지보수가 향상됨
- 프로그램의 구현이 절차적 프로그램 언어보다 편리함
- 객체지향 프로그래밍 언어의 실행 속도는 컴파일 없이 바로 실행 가능하나, 해석이 필요하므로 속도가 느림
7-3. 스크립트 언어의 특징과 종류
- 스크립트 언어는 기계어로 번역되지 않고 직접 실행되는 언어임
- (중요) 컴파일 없이 바로 실행 가능하고, 결과를 즉시 확인 가능
- 개발 시간이 짧고, 소스 코드 수정이 쉬움
- 스크립트 언어의 종류로는 자바스크립트, asp, PHP 등이 있음
- 자바스크립트는 웹 브라우저에서 주로 사용되며, 폼 양식문에서 필수 입력 사항을 체크함
8. 프로그래밍 언어와 그 특징
8-1. 프로그래밍 언어의 개념과 종류
- 프로그래밍 언어는 컴퓨터에 명령을 내리는 도구로, 다양한 종류가 있음
- 각각의 언어는 그 사용 환경, 특성, 기능 등이 다르며, 그에 따라 사용되는 목적과 용도가 달라짐
- (중요) 대표적인 프로그래밍 언어로는 스크립트 언어, 객체 지향 언어, 선언형 언어, 절차형 프로그램 언어, 해시파이 언어, 참조형 언어 등이 있음
- 스크립트 언어는 구현된 시스템에 적용된 형태로, 자바스크립트 등이 있음
- 객체 지향 언어는 클래스와 객체를 기반으로 하며, 데이터와 연산자를 활용하여 객체를 생성, 관리함
8-2. 선언형 언어의 특징과 종류
- 선언형 언어는 문제를 해결하기 위한 절차적 방법을 기술하는 언어로, 명령형 언어와 반대 개념임
- 선언형 언어는 목표를 명시하고, 알고리즘은 명시하지 않으며, 프로그래밍 동작을 변경하지 않음
- (중요) 선언형 언어의 종류로는 리스트 인공지능 분야에서 사용되는 언어인 헬스케일과 웹 페이지 문서 작성용 언어인 홀드스케일이 있음
- 선언형 언어는 반복문이나 선택문을 사용하지 않기 때문에 비절차적 언어이며, 비슷한 재사용성이 좋음
8-3. 절차형 프로그램 언어와 객체 지향 프로그램 언어의 특징
- 절차형 프로그램 언어는 알고리즘의 절차적인 측면을 강조하며, 대표적으로는 시언어가 있음
- 객체 지향 프로그램 언어는 데이터와 연산자를 함께 관리하며, 클래스를 생성하여 객체를 만듦
- 객체는 데이터 구조와 연산자로 구성되며, 메소드는 객체들 사이의 정보 교환을 위한 수단임
- (중요) 선언형 언어와는 달리, 객체 지향 언어는 객체를 기반으로 한 프로그래밍 언어임
9. 프로그래밍 언어와 라이브러리 활용
9-1. 프로그래밍 언어와 특성
- 프로그래밍 언어는 기계에게 명령을 내리기 위해 사용하는 언어
- (중요) 프로그래밍 언어에는 명령형 언어, 선언형 언어, 기타 종류가 있음
- 명령형 언어는 주로 상황에 따라 원하는 동작을 하도록 프로그래밍하는 언어
- 선언형 언어는 프로그램이 수행해야 하는 문제를 해결하는 방법을 기술
- (중요) 선언형 언어는 프로그램 언어에 따라 리스브, 프롤로그, 하스켓, SQL, HTML, 등이 있음
9-2. 라이브러리의 개념과 종류
- 라이브러리는 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아놓은 집합체
- 라이브러리는 프로그래밍 언어에 따라 도움말, 설치 파일, 샘플 코드 등을 제공
- 라이브러리는 표준 라이브러리와 외부 라이브러리로 나눌 수 있음
- 표준 라이브러리는 프로그래밍 언어 설치 시 기본적으로 포함되며, 별도의 설치 파일 없이 다양한 기능 사용 가능
- (중요) 외부 라이브러리는 별도의 파일 설치 과정이 필요하며, 인터넷 등을 이용해 공유 가능
9-3. 자바 언어의 대표적인 표준 라이브러리
- 자바는 라이브러리를 패키지에 포함하여 제공하며, 기본적으로 필요한 인터페이스와 자료형 등과 관련된 기능 제공
- (중요) 자바의 주요 패키지는 임포트 과정 없이 기본적으로 사용 가능하며, 스트링, 시스템, 메스나 에러 등이 포함
- 자바의 패키지들은 날짜 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능 제공
- 특히, 날짜와 관련된 데이트 캘린도, 랜덤, 단순 랜덤 클래스 등이 포함되어 있음
10. 프로그래밍 언어의 데이터 입출력과 표준 라이브러리 이해
10-1. 프로그래밍 언어와 표준 라이브러리의 이해
- 프로그래밍 언어는 인터넷 네트워크를 통해 입출력을 주고받음
- 소켓나 웹 URL 등을 통해 입력을 받고, 이를 처리하는 기능을 제공
- 표준 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리와 동일
- 표준 라이브러리는 누구나 개발하여 설치할 수 있음
- 웨이브 라이브러리는 표준 라이브러리와 동일한 사용을 제공
10-2. 데이터 입출력의 이해
- (중요) 표준입출력 함수는 입력을 받아 화면에 출력하는 함수를 말함
- 자바 언어에서 표준 입출력으로 스캔프, 괄호, 쉼표, 변수, 주소 등을 이용
- 스캔프 함수는 입력받은 데이터의 서식을 지정하여 화면에 출력
- 시스템 클래스의 서브 클래스인 아웃 클래스에서 서식 지정과 값을 출력하는 작업을 수행
10-3. 제어 문자열과 그 사용 예
- 제어 문자열은 특정 라인을 줄바꿈하거나, 다른 값을 출력하는 등의 기능을 제공
- 순서를 약간 바꾸거나, 한 줄을 다른 방식으로 출력하는 경우에 사용
- '혹은', '다음으로', '첫 번째', '다음에' 등의 표현을 사용하여 줄바꿈을 표현
- 강사가 자바 예제를 통해 제어 문자열의 사용에 대해 설명함
11. 문자열 입력과 예외 처리 이해
11-1. 문자열 입력과 기본 이해
- 문자열 입력에서는 지정하는 서식이 중요함
- 문자열 입력에서 'c언어 함수' 중 'get char'은 문자열로 입력
- (중요) 문자열 입력 시 오류를 테스트하고 이를 처리
- 정수형 데이터와 실수형 데이터 모두 입력 가능
- 문자열 입력의 문제점 중 하나는 특정 조건에 따라 특정 오류가 발생
11-2. 문자열 입력의 주의점과 문제점
- 문자열 입력 시 서식에 주의해야 함
- 문자열 입력 시 비정상적인 값을 입력하면 다양한 오류 발생 가능
- 이 중 가장 큰 문제는 입력하려는 문자열이 실제 값보다 길 경우
- 이로 인해 올바른 입력과 실제 입력을 구분하기 어려워짐
- (중요) 이러한 문제를 해결하기 위해 특정 조건에 따라 테스트 필요
11-3. 예외 처리의 이해
- 예외 처리는 프로그램의 정상적 실행을 방해하는 조건이나 상태를 처리
- 예외 발생 시, 해당 문제를 처리하기 위한 처리 루틴을 작성
- (중요) 자바에서는 예외를 객체로 취급하고 관련된 클래스는 '에러'로 확인
- 트라이-캐치-구문을 이용해 예외 처리
- 예외 처리를 통해 프로그램이 안정적으로 수행될 수 있음
12. 프로그래밍 언어 예외 처리 및 프로토타입 이해
12-1. 프로그래밍 언어에서의 예외 처리
- 프로그래밍 언어에서의 오류는 정상적인 실행을 방해하는 조건이나 상태를 의미함
- (중요) 예외 처리는 프로그램의 정상적인 실행을 대비하여 문제를 처리하는 루틴을 수행함
- 오류 발생 시, 프로그램은 종료하거나 로그를 남김
- 로그를 남겨 원인을 파악하고 해결할 수 있도록 하도록 프로그래머가 조건문을 이용해 처리함
12-2. 프로토타입의 이해
- 프로토타입은 함수 선언부분을 미리 알려주는 것으로, 함수의 이름, 데이터 타입, 매개변수만을 선언함
- (중요) 프로토타입은 함수 선언 부분에서의 오류를 방지하고, 미리 예측하여 문제를 해결함
- 프로토타입은 컴파일러에 의해 사용되는 형식으로, 함수 선언부분에 반드시 포함되어야 함
12-3. 프로토타입의 선언과 적용
- (중요) 프로토타입의 선언은 해당 함수 선언 전에 메인 함수 위에서 이루어짐
- 프로토타입의 반환 형식은 함수의 반환 형식과 반드시 일치해야 함
- 프로토타입 선언이 없을 경우, 해당 프로그램이 오류를 발생시킬 수 있음
- 특정 패키지에서 제공하는 기능은 해당 프로그래밍 언어의 패키지와 동일함
00:03
프로그래밍 언어 활용의 두 번째 능력 단위 요소인 프로그래밍 언어 활용 중에서 세 가지를 저희가 살펴볼 건데 그중에 첫 번째 기본 문법 활용에 대해 살펴보도록 하겠습니다. 학습목표입니다. 응용 소프트웨어 개발에 필요한 프로그래밍 언어의 데이터 타입을 적용하여 변수를 사용할 수 있다. 두 번째 프로그래밍 언어의 연산자와 명령문을 사용하여 애플리케이션에 필요한 기능을 정의하고 사용할 수 있다. 입니다. 살펴보고자 하는 학습 내용은 세 가지인데요. 데이터 타입 변수 연산자 순서로 살펴보도록 하겠습니다. 용어 사전으로서 각각의 용어를 먼저 정의하고 넘어가도록 하겠는데요. 변수는 어떤 값을 주기억장치에 기억하기 위하여 사용하는 공간을 이야기합니다.
00:57
고정적인 값을 가지지 않죠 그래서 변하는 값이다. 그래서 변수라는 이름을 사용합니다. 데이터 타입은 변수가 가질 수 있는 속성값의 길이와 성질을 뜻합니다. 데이터 타입의 종류로서는 정수형 데이터 타입 문자열 소수점을 가지는 실수형이라는 데이터 타입들이 있는데, 뒤에서 살펴보도록 하겠고요. 연산자는 데이터 처리를 위해 연산을 표현하는 기호로서 플러스마이너스 등과 같은 다양한 연산자가 사용되어집니다. 세부 내용으로서 먼저 데이터 타입부터 살펴보도록 하겠습니다. 개념 정리로서요 데이터 타입이라는 부분은 변수에 저장될 데이터의 형식을 나타내는 것이다.
01:46
변수에 값을 저장하기 전에 문자형인 정수형 실수형 등 어떤 형식의 값을 저장할 것인지를 먼저 선언합니다. 데이터타입을 지정하여 변수를 선언합니다. 정수값을 담는 변수 a라는 걸 쓰겠다. 뒤에 다루겠지만, int a 초기값은 0을 주겠다. 이꼴 0 이런 형태로 사용합니다. 변수명 앞에 데이터 타입을 선언해서 이 변수는 이 데이터를 담는 변수야 라고 사용을 합니다. 데이터 타입의 유형은 프로그래밍 언어별로 이 데이터 타입의 유형을 구분하는 기준은 약간 차이는 있습니다. 전체적으로 볼 때 공통적인 데이터 타입 유형으로서는 먼저 불린 타입이다.
02:36
참이냐 거짓이냐 조건이 참인지 거짓인지 판단할 때 사용하는 타입이 있고 값은 true false 두 가지 값을 가집니다. 문자타입이다. 하나의 문자를 하나의 문자를 저장할 때 사용하는 타입이고요. 두 글자 이상이 조합되어지는 부분은 문자가 아니라 문자열로 밑에 있는 문자열 타입으로 구분을 하고요. 구분하기 위해서 사용되어지는 기호가 차이가 있습니다. 문자 타입은요, 작은따옴표 즉 코따옴표로 값을 감싸줍니다. 일례로 a다 어 그 경우는 헛따옴표로 감싸주고요. 문자열인 경우에는 나열된 여러 개의 문자를 저장하는 경우 두 개의 문자 이상이 같이 결합되어지는 경우에는 문자열이다. 그 경우에는 구분기호로 큰따옴표 상따옴표로 감싸줍니다. 이렇게 차이가 있다는 부분 이해하시고요.
03:35
그리고 정수 타입이나 정수는 소수점을 가지지 않는 딱 떨어지는 값이죠. 10이다. 15다 그리고 부동소수점 타입이나 소수점을 포함하는 실수값을 이야기합니다. 3.5다 뭐 이렇게 그리고 배열이나 여러 데이터를 하나의 변수명에는 값을 하나밖에 저장할 수가 없는데 동일한 변수명이지만 여러 값을 저장할 때에는 배열을 사용합니다. 배열타입은 여러 데이터를 하나로 묶어서 저장하고자 할 때 사용한다. 개별적인 데이터타입의 유형을 살펴봤고요. 프로그래밍 언어별로요 데이터 타입 종류 살펴보도록 하겠는데 대표적으로 두 가지 언어 위주로 살펴보도록 하겠습니다. java와 c언어 위주로 하겠는데요.
04:28
java의 데이터 타입 크기 및 기억 범위 다리 종류로 나오면 문자 타입 정수형 타입 논리형 타입 자바에서 사용되는 데이터 타입의 표시 기호입니다. 문자인 경우에는 ch ar을 사용하고요. 저장의 크기는 2바이트 즉 16비트 자바에서는요 한 글자를 저장할 때 유니코드를 사용을 하기 때문에 글자 하나당 2바이트죠 16비트가 사용되어집니다. 기억 범위는 꼭 기억할 필요성은 없는데요. 0에서부터 6535다 2에 10 2에 16 이렇게 했을 때 구해지는 값은 6만 5536일 겁니다. 근데 0이 빠지니까 개수로 따지면 0부터 6만 5535 이렇게 되는 거죠. 그리고 정수의 데이터 타입은 네 가지 종류가 있는데, 바이트 바이트는 1바이트 크기를 가지고요. 소트는 2바이트 크기를 가지고요.
05:28
여기에 저장할 수 있는 값의 범위입니다. 값의 범위가 바이트인 경우에는 마이너스 128에서부터 127까지 값 2의 7승 2의 7승 마이너스 2의 7승에서부터요 2의 7승 마이너스 1입니다. 왜 마이너스 1이냐 0이 포함되어지니까. 그래서 마이너스 128에서부터 127까지 이렇게 됩니다. 자 세부적인 거는 우선은 개괄적으로 데이터 타입의 종류 위주로 익히도록 할 거고요. 소티는 2바이트 크기값은 기억을 좀 할 필요가 있으세요. 데이터 타입의 종류와 어떤 데이터를 담는 건지 그리고 그 데이터 타입에 차지하는 공간 즉 크기는 어떤지 정도만 기억하면 되겠습니다. 기억 범위까지는 굳이 기억 안 하셔도 돼요. 힌트는 정수형 타입이야 4바이트 차지하고요. 롱은 8바이트 차지합니다. 실수 플로트와 더블이 있습니다.
06:27
플로트는 4바이트 더블은 8바이트 마지막으로, 룰리 분리는 1바이트 공간을 차지합니다. c++ 데이터 타입 크기 및 기억 범위 살펴보면요 문자인 경우에는 데이터 타입 종류 자와 동일하게 char 차르라고 읽기도 합니다. char 여기서는 1바이트 차지합니다. c+에서는 1바이트 아스켓 코드를 기준으로 해서 영문자 기준으로 글자 문자는 1바이트를 차지합니다. 부호가 없는 문자형이다. unside char 부호라고 하는 부분 자체는 마이너스 음수를 뜻하는 부호 비트가 없는 경우예요. 그러면 이제 가질 수 있는 값의 범위는 양수값의 범위만 가집니다. 마찬가지 1바이트 차지하고요.
07:18
정수 쇼트 엔트 롱롱 이렇게 있는데, 쇼트는 2바이트 엔트는 8바이트 롱은 8바이트 롱롱은 8바이트 부호 없는 정수는 언사인드 소트 언사인드 힌트 언사이언트 롱 2바이트 4바이트 그리고 실수 플로트는 4바이트 더블은 8바이트 롱 더블은 8바이트 와 같은 데이터 타입 종류들이 있습니다. 뒤에 어떻게 문제가 나올까 뒤에 퀴즈 및 모의고사로 문제 유형 읽혀볼 테니까요? 그때 저희가 문제 유형 구체적으로 살펴볼게요 다음 데이터 타입 파트의 퀴즈입니다. 첫 번째 다음 중 데이터 타입에 대한 설명으로 올바르지 않은 것 틀린 걸 골라라 첫번째 배열 타입은 여러 데이터를 하나로 묶어서 저장하고자 할 때 사용한다. 맞습니다.
08:13
배열은 구분할 때 a 그냥 일반 변수가 아니라 배열인 경우에는 이렇게 대괄호로 묶어 가지고 구분을 합니다. 배열 이름을요 문자열 타입은 여러 개의 문자열을 저장하며 큰따옴표를 사용한다. 맞습니다. 세 번째 정수형 타입은 소수점을 포함하는 값을 저장하고자 할 때 사용한다. 틀렸습니다. 소수점을 포함하는 값을 저장할 때는 정수가 아니라 실수형 타입이죠. 실수 소수점을 포함하는 네 숫자값 실수용 타입입니다. 마지막 문자 타입은 하나의 문자를 저장하며 작은 보따옴표를 사용한다. 맞습니다. 두 번째 c언어에서 정수형 변수를 선언을 할 때 사용하는 데이터 타입의 종류는 더블 실수형 인트 정수형 맞고요. 플로트 실수형 샤르는 문자 타입이죠. 그래서 정수형 변수 선언할 때는 int 사용합니다.
09:14
시언어에서 데이터 타입 중에 메모리를 가장 많이 차지하는 것은 저장 공간 기억하라 말씀을 드렸는데 더블 인트 플로트 차르 이렇게 있는데요. 더블은 8바이트 인트와 플로트는 각각 4바이트 차례는 1바이트 저장 공간을 차지합니다. 그래서 메모리를 가장 많이 차지하는 데이터 타입은 더블이 되겠습니다. 8바이트 다음 두 번째 내용으로서 변수에 대해 살펴보도록 하겠는데요. 변수는 variable 변수 개념 변수는 저장하고자 하는 어떠한 값이 있을 때 그 값을 주기억장치 랩 메모리에 기억하기 위한 공간을 의미한다. 밑에 개념도 보면 변수 개념도 이렇게 메모리 랩 메모리는 저장 공간을 8비트 1바이트 단위별로 번지를 매겨가지고 구분을 합니다.
10:13
변수는 저장하는 값에 따라서 정수형 실수형 문자형으로 구분해 그래서 변수는 선언할 때 이 변수에는 어떤 데이터 타입을 저장할 수 있어 라고 데이터 타입을 앞에다 붙여서 선언을 했었죠. 개념들은 주기억 장치에 이렇게 번지 단위별로 데이터가 저장되어진다 변수명에 대한 설정 규칙 관련해서 시험 문제에 자주 나오는 편입니다. 어 c언어를 베이스로 해서요. 변수명의 설정 규칙 먼저 살펴보도록 하겠습니다. 네 c언어 변수의 이름을 설정할 때 규칙은 영문자 숫자 밑줄에 사용이 가능하다 한글 사용은 안 된다. 이 말입니다. 한글은 변수명으로 사용할 수 없어 영문자 숫자 특수기에서는 언더바 아레바만 사용할 수 있습니다. 그리고 첫 글자는 주의사항인데요.
11:06
반드시 영문자나 언더바로 시작을 해야 되고 숫자가 앞에 오면 안 돼 네 이거 주의사항입니다. 변수명에는 공백이나 밑줄 위의 특수문자는 사용 불가능해 글자 수의 제한이 없다. c언어는요 영문자는 대소문자를 구분합니다. 그리고 변수명에는 제어문이나 듀 for 같은 제어문 if 이러한 제어문 그리고 자료형 앞서 살펴봤던 차르나 더블이나 힌트나 이러한 기존의 용도가 정해져 있는 것들을 예약이라고 이야기를 합니다. 그래서 이러한 예약은 사용이 불가능하다 변수명으로 사용하면 안 된다. 마지막으로, 변수 선언하고 난 다음에 문장 끝에는 세미콜론을 붙여야 된다.
11:58
아까 말씀드렸죠 int a equal 1 세미콜론 이렇게 변수 a라는 변수를 사용할 건데 얘는 정수값을 담는 변수고 초기 값은 일이라는 값을 할당할 거야. 이렇게 이해가 되어집니다. 변수의 선언은 일반적으로 다음과 같이 선언한다. 자료형 변수명 이꼴 갑 세미콜론 그래서 인트 에이 이꼴 십 세미콜론 a는 변수를 a라는 이름으로 변수를 사용할 건데 얘가 담을 수 있는 값은 정수형 값이야 그리고 초기값은 10이야 이렇게 이해하시면 되겠습니다. 퀴즈로 정리할게요 프로그래밍 언어의 예약어에 관한 설명으로 올바른 것은 1번 시스템이 알고 있는 특수한 기능을 수행하도록 이미 용도가 정해져 있는 단어들이야 설명이 맞습니다. 앞서서 예약하는 제어문이라든지. if4 반복문 듀알 루프와 같은 제어문들이 있고요.
12:57
그다음에 자료의 타입을 지정하는 자료나 문자 타입 정수값 힌트 이러한 것들 프로그래머가 이미 설정한 변수 이거는 예약을 올바른 거기 때문에 1번 정답으로 정리하고 넘어가겠습니다. 다음 다음 중 시행 언어에서 사용하는 예약어가 아닌 것을 골라라 스위치도 제어문입니다. 스위치 분기문 스위치 케이스 나중에 저희가 프로그램 문법 할 때 저희 다룰 겁니다. 실기 파트에서 정리할 거 할 예정입니다. for 반복문 그리고 쇼트 레일 데이터 타입 그리고 버추얼 레이가 틀렸습니다. 1 2 3번은 예고이고요. 4번이 아닙니다. 세 번째 다음 중 시 언어의 변수명 작성 규칙으로 틀린 것은 변수 이름 작성 규칙 시험에 자주 나올 확률이 높습니다.
13:53
변수명에는 공백이나 밑줄 이외의 특수문자 등을 사용할 수 없어 맞고요. 영문자는 대소문자를 구분하지 않는다. 구분합니다. 그래서 예가 틀렸고요. 영문자 숫자 밑줄 사용이 가능하다 맞구요. 첫 글자는 영문자나 언더마로 시작해야 되고 숫자가 오면 안 돼 네 맞습니다. 자 연산자에 대해 살펴보도록 하겠습니다. 마지막 연산자인데요. 네 연산자의 개요로서요 네 개념 정립을 먼저 해보면 연산자는 프로그래밍 실행을 위해서 연산을 표현한 기호들이다. 프로그램 내에서 플러스나 마이너스와 같은 연산자 사용을 하고 연산자의 종류는 다양한데 산술적인 연산 플러스마이너스 곱하기 나누기 그리고 시프트 연산 해당 데이터 위치를 이동시키는 거 그리고 관계연산 또는 얘는 비교 연산자라고도 합니다.
14:45
값 자체를 서로 비교하는 크냐 작으냐 같으냐 논리 연산자 두 개 이상의 조건식을 모두 만족하느냐 두 개 이상의 조건식 중에 하나만 만족하느냐 이러한 논리 연산자 세부적으로 연산자 종류 살펴보면요 첫 번째 산술연산자 산술연산자는 플러스마이너스와 같이 가장 일반적으로 사용되어지는 연산자이고요. 저희한테 익숙하죠. 자 플러스 양쪽의 값을 더한다. 네 빼기 마이너스는 왼쪽에서 오른쪽 값을 빼 네 워낙 기본적인 내용이어서 곱하기는 x가 아니라 별표를 사용합니다. 네 별표 c언어를 기준으로 연산자 정리하고 있습니다. x가 아니라 별표 곱 그리고 나누기가 아니라 슬러시가 나누기 연산자입니다. 슬러시 왼쪽에 있는 값을 오른쪽에 있는 값으로 나누어서 몫을 구하는 거죠. 몫을 구하는 거죠.
15:43
퍼센티지는 백분율을 구하는 게 아니라 나머지 연산자를 구하는 부분입니다. 왼쪽에 있는 값을 10% 3 이렇게 하게 되면요 이 결과값은요, 10을 3으로 나눈 나머지를 구해 339 나머지 1이죠. 결과값은 1입니다. 왼쪽의 값을 오른쪽으로 나눈 나머지를 계산한다. 일반적으로 저희가 사용하던 % 기호하고는 차이가 있기 때문에 기억할 필요성이 있겠고요. 플러스 플러스 마이너스 마이너스는 증감연산자라고 하는데요. 플러스 플러스는 1씩 전가하라 전가시켜라 라는 부분입니다. 이 플러스 플러스 기호가 변수 앞에 올 수도 있고 뒤에 올 수도 있어요. 앞에 오면 먼저 전가시켜서 1을 전가시킨 다음에 변수에다가 어 1첨가시킨 값을 넣어서 계산하라 이 말이고요.
16:39
뒤에 오게 되면요 변수명보다 플러스 플러스나 마이너스 마이너스가 뒤에 오게 되면 얘는 해당 계산하는 그 타임에서는 값 자체를 더한다든지 빼지 않고요. 한 사이클 돌고 난 다음에 값 자체를 정가 또는 감소시키는 순서 차이가 있습니다. 플러스 플러스 a는 변수 앞에 증감 연산자가 오면요 먼저 변수값을 전가시킨 후에 변수를 연산을 사용하고 뒤에 해당 얘가 증가 연산이고요. 얘가 감 감소 연산이죠. 줄이는 거잖아요. 마이너스 마이너스 1 빼라 이 말입니다. 뒤에 변수 뒤에 증감 연산제가 오면 먼저 변수는 연산을 사용하고 나중에 변수의 값을 증가 또는 감소시킵니다.
17:32
관계연산자 두 피 연산자 사이의 크기를 비교하는 연산자 자주 사용하는 부분이죠. 왼쪽이 기준은 방향입니다. 왼쪽으로 입이 벌어져 있으면 크냐 크면 참이라는 값을 반환하고 그렇지 않으면 false 거짓값을 반환합니다. 작다 크거나 같다 작거나 같다 네 같거나 크다는 없어요. 크거나 같으냐 같거나 작다도 없어요. 작거나 같으냐 주의사항입니다. 그리고 이 꼬리꼴이 같으냐 값을 비교해서 같은 값을 가지고 있느냐 그리고 같지 않다라는 부분 자체에 대한 연산자가 프로그램 언어별로 약간 차이가 있어요. 느낌표 이콜 이건 c언어를 기준으로 연산자 관계 연산자 정리한 겁니다. 느낌표 이콜이 값이 같지 않으냐 다르냐를 뜻하는 비교 연산자입니다.
18:30
다음 시프트 연산자 시프트 연산자는 비트를 이동시키는 연산자야 많이 사용되지 않는 부분인데 방향 자체가 방향으로요 방향으로 비트는 0과 1비트를 이야기하는 거죠. 이렇게 이동시키는 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동시킨다. 반대 방향이요. 네 화살표가 가리키는 방향으로요 해당 왼쪽 값의 오른쪽 값만큼의 부호 비트를 채우면서 왼쪽으로 이동시킨다. 왼쪽 값의 오른쪽만큼 부호 비트를 채우면서 이동시킨다. 비트 연산자 비트 이동 연산자는 그냥 위치를 이동시킨다. 이렇게만 기억하시면 될 것 같아요.
19:19
논리 연산자 논리 연산자는 두 연산자 사이의 논리적 관계를 따진다 2개 이상의 어 조건과 조건식이 있을 때 또는 논리적인 부분이 있을 때 그 논리 값의 결과가 두 개 이상의 논리값이 모두 다 참일 때 엔드 연산자고요. 두 연산자 중에 하나의 값만 참이라도 참이 되어지는 부분 자체는 오아 연산자 있죠. 또는 연산자 오아 연산자 이거는 작대기가 키보드에 보면은 시프티켓 누르고 원키 있죠. 이렇게 돼 있는 거 이용을 하는 부분입니다. 두 개의 논리값 중에 하나만 참이면 참 그렇지 않으면 false 비트 연산자는 0과 1 각 자리에 대한 연산을 수행을 하고요.
20:08
0 또는 1의 결과값을 가진다 비트는 0과 2개 비트 비트 간의 연산을 수행하는데 둘 중에 1은 true로 이해를 하고요. 0은 false로 보시면 돼요. 그래서 두 값의 비트를 연산해서 모두 값이 참이면 트롤 반환하고 그렇지 않으면 false로 반환한다. and o1 두 값의 비트로 연산해서 하나가 참이면 두 그렇지 않으면 false 그리고 윗값의 비트로 연산을 하여 서로 다르면 같으냐 다르냐 이렇게 따지거든요. 두 값의 비트값이 서로 두 값의 비트를 연산하고 서로 다르면 참을 반환하고요. 그렇지 않으면 거짓으로 반환한다. 그리고 퀴트 물결은 각 비트의 부정으로 0값을 가지면 1 1값을 가지면 0을 반환합니다.
21:03
비트연산자 자 자바에서의 연산자 우선순위 연산자는 섞여 있을 때 우선순위가 높은 저희가 일반적으로 경험하는 산술연산재 있죠. 산수 플러스 마이너스 곱하기 나누기가 섞여 있으면 마이너스 플러스나 마이너스보다는 곱하기 나누기가 먼저 계산해야 된다. 그것처럼요 또는 괄호로 묶여져 있는 걸 가장 먼저 계산해야 되죠. 프로그램 언어인 자바에서도 연산자 우선순위 따져보면 연산자 우선료가 제일 높은 거는 괄호나 대괄호입니다. 갈로나 대괄호 안에 있는 것부터 먼저 계산해 우선순위가 가장 높고요. 그다음에 느낌표 quilt 플러스 플러스 마이너스 부정이나 증감 산술 연산자 부정이나 증감 산술 연산자가 2순위고요.
21:56
그 다음에 세 번째 곱셈 나눗셈 연산 곱셈 나눗셈 또는 나머지를 구하는 연산이 세 번째 그다음에 플러스 마이너스가 네 번째 그리고 시프트 연산자 이동연산자 그다음에 비교하는 관계연산자 그다음에 논리 연산자 논리 연산자 그리고 3항 연산자로 하는데 물음표 콜론 돼 있죠. 조건 연산자 3항 조건 연산자 무슨 말이냐 밑에 예를 제가 출시를 해놨는데 다른 것들은 일반적으로 쉽게 이해가 될 거예요. 이거는 물음표 뒤에 있는 부분 앞에 있는 게 참이면 콜론으로 구분되어지는 첫 번째가 이게 트루일 때고요. 그렇지 않으면 만족하지 않을 때는 폴스 두 번째 거 하는 부분이거든요. 비 별표 이콜 이거는 대외변산자입니다. 곱하라 이 말입니다.
22:54
a가 b보다 크냐 그러면 a로 하고 그렇지 않으면 b로의 일례로요 값 자체가 a가 1이고 b가 2다 라고 주어졌다고 한다면, 2보다 크면 안 크죠 안 크면 얘가 true 얘가 false false일 때 값을 결과값을 반환하는데 b b는 2라는 값을 가지니까 결과적으로는 b 별표이고 b 이렇게 되는 겁니다. 근데 b는 뭘 값을 가지죠 2라는 값을 가지잖아요. 그러니까 결과적으로는요 b라는 변수는 2 곱하기 2 해가지고 4라는 값을 가지면 되겠습니다. 그렇게 중요한 건 아닙니다. 마지막 데이비 연산자 이콜 플러스 이콜 방금 저희가 했던 곱하기 이콜 이것도 데이비 연산자입니다.
23:51
곱한 다음에 그다음에 그 값을 할 당이 이 측면이라고 보시면 돼요. 플러스 이꼴 같은 경우에는 기존의 변수가 가지고 있는 값에다가 뒤에 있는 값을 더한 다음에 기존의 b라는 변수에다가 값을 넘겨줘 이렇게 이해하시면 되겠습니다. 순서사항으로 보면 갈로대괄호 부정증감산술연산 곱셈 뺄셈 뭐 덧셈 뺄셈 shift 관계 논리 조건 대입연산자 c언어도 비슷합니다. c언어의 연산자 우선순위 보면 대괄호 및 대괄루 그리고 부정 증감 산술 연산 곱셈 나누신 산술 연산 플러스마이너스 산술 연산 셰프트 연산자 관계 연산자 논리 연산자 사망 연산자 대비 연산자 이렇게 크게 같습니다.
24:35
자 연산 표기법이라고 해서 이 연산 표기법이 예전에는 데이터베이스 파트에서 출제 기준이 바뀌기 전에는 간혹 나왔던 부분인데 프로그래밍 언어 파트에서요 제가 볼 때는 한 문제 내지 많이 나오면 두 문제가 나올 수도 있는 부분입니다. 그래서 중요도 있게 볼 필요성이 있습니다. 전위 표기법 프리픽스 중위 표기법 인픽스 후위 표기법 포스트 픽스이다. 이렇게 돼 있는데요. 저희가 이전에 자료구조 파트에서 네, 뭐 전이수네 중이수네 후위수네 하고는 개념이 틀립니다. 네 그거하고는 개념이 틀리고요. 어 연산자와 변수 간의 배치인데 연산자를 어디다가 배치를 하느냐 이 말입니다.
25:26
전일 표기법은 연산자를 먼저 쓰고 그 연산을 수행하는 피연산자를 뒤에 표기한다. 일례를 보면요 이렇게 플러스 a 곱하기 bc 이렇게 플러스 a 곱하기 bc 이렇게 연산자를 p연산자 앞에다가 표기를 한다. 이 말입니다. 중위표기법은 일상적으로 저희가 사용하는 표기법이죠. 연산자를 p 연산자 사이에 배치하는 거죠. 이렇게 a 플러스 괄호 b 곱하기 c 괄호 닫기 요거는 저희가 이해를 해요. 근데 요걸 딱 보면 어 이건 우리가 모르겠는데 이거 식이 이상해 이렇게 이해할 수도 있겠습니다. 뒤에 후위 표기법도 마찬가지 후위 표기법도 피연산자 뒤에다가 연산자를 배침합니다. 설명이 틀렸네요. 연산자를 피연산자라고 하는 건 변수라고 보시면 되고요.
26:24
변수 뒤에다가 해당 연산자를 배치하는 것을 후위 표기법이다. 위치가 연산자 위치가 앞이냐 중간이냐 뒤냐 이렇게 이해하시면 되겠고요. 연산표기법 간의 변환과 관련한 문제들이 나옵니다. 네 그래서 연산 표기법 간의 전환으로써 프리픽스 전위표기를 포스트 픽스로 바꾸는 과정을 살펴보도록 하겠는데 일반적으로 저희가 이렇게 따지면 잘 이해가 안 되실 것 같긴 한데 앞단에서 저희가 여기 전위표기법으로 나와 있는 얘 플러스 a 곱하기 bc 이건 무슨 뜻이야 그런데 얘는 원래 중위표기법인데 얘를 바꾼 거예요. 전위표기법으로 그 과정은 어떻게 되느냐 중위 표기법에서 전위 표기법으로 바꾸는 경우는 별로 없어요.
27:18
오히려 시험에서는 전위 표기법을 제시해 놓고 이 값에 대한 연산의 결과를 구해 또는 후익 표기법으로 값을 제시해 놓고 구하라 또는 어려운 과정이 전위 표기법을 후위 표기법으로 바꾼 것 중에 올바른 거 골라 이렇게 나오거든요. 그렇기 때문에 단계별로 저희가 중간 단에 보면 중위 표기법을 후위 표기법으로 바꾸는 게 있으니까 중위 표기법을 전위 표기법을 바꾸는 방법도 원리만 아시면 쉽게 알 수 있습니다. 네 그래서 준비되어진 예제 가지고 그냥 설명드릴게요. 전위표기법 전위 표기법 플러스 a 곱하기 bc가 주어져 있는데, 얘를요 후위 표기법으로 바꿔라고 하게 되면 중간단으로 중위 표기법을 먼저 바꿔요 전위 표기법을 중위로 바꾸고 중위를 후위로 바꾸시면 돼요. 자 어떻게 바꾸느냐 규칙은요, 전위의 규칙은 어떻게 돼 있어요.
28:12
전위는 연산자 그다음에 변수 변수 연산자 변수 변수 형태로 되어 있다. 자 그러면 여기 안에 연산자 변수 변수 순으로 돼 있는 걸 뽑아요. 플러스 a 연산자 a는 변수인데 뒤에 변수가 없어요. 네 그럼 넘어가고 별표 b c 요거죠. 별표 b c는 연산자 변수 변수 형태로 나열돼 있네 그럼 얘부터 먼저 중위법으로 바꿔요 중위는 어떻게 한다고 그랬죠 일상적으로 사용하는 방식 변수 그다음에 연산자 변수 순서로 바꿔 그러니까 별표 bc를 비별표 c 이렇게 하면 되겠죠. 네 한 다음에 앞에 있는 건 그대로 해주고 얘는 먼저 계산한 거야.
29:12
라는 걸 구분하는 형태로 괄호를 묶어주는 게 수월합니다. 혼돈을 줄일 수 있어요. 그래서 플러스 a 괄호 b 별표 c 괄호 닫기로 구해졌고요. 이 갈로 꾸러미 안의 값은 한 덩어리로 변수를 보시면 돼요. 그래서 네 전위를 다시 중위로 바꿀 때 연산자 이 연산자죠 연산자 변수 얘를 한꺼번에 묶어서 변수 형태니까 이 상태에서 다시 변수와 변수 사이에 연산자를 넣어주면 되죠. 그러면 이 플러스를 여기 사이에다 놓으면 되겠죠. 그래서 결과로 a 플러스 갈로 구름이 bc였는데 마지막에는 갈로를 빼버리면 완성되어진 결과입니다. 그래서 플러스 a+b 별표 c가 이 플러스 a 별표 bc를 중위로 바꾼 거예요. 이 중위로 바뀐 인픽스로 바꾼 연산 표기법을 포스트 픽스 후위 표기법으로 바꿔보도록 하겠습니다.
30:09
후위는 어떻게 변수 변수 연산자 순으로 바꾸면 되겠죠. 네 바꾸면 되는데 먼저 중위는 변수 변수 사이에 연산자가 들어가 있는 거를 뽑아냅니다. 뽑아내는데 자 보다시피 a 플러스 b 별표 c가 되어 있으면 연산자 종류 두 개죠 플러스와 별표 우선순위가 높은 연산자를 먼저 계산합니다. 덧셈과 곱셈이 먼저 네 연산 순위가 높죠 우선순위가 높죠 그래서 b 곱하기 c부터 먼저 얘를요 어떻게 후위순위는 변수 변수 연산자로 바꿔주면 되겠죠. 그래서 이렇게 바꾼 거예요. 그다음 앞에 있는 거 a 플러스는 그대로 두고 그다음에 얘는 얘는 변수로 묶음으로 보면 됩니다.
31:06
변수 그러면 변수 연산자 변수 중위 표기법이니까. 얘를 후위로 바꾸는 방법은 변수 뒤에다가 연산자 배치하면 되겠죠. 그러면 a b c 별표 이건 변수 묶음 그다음에 플러스 하고 난 다음에 괄호를 빼버리면 a b c 별표 플러스가 결과입니다. 그래서 플러스 a 별표 b c를 후위 표기법으로 바꾼 결과는 abc 별표 플러스가 되겠습니다. 문제 풀면서 해볼게요 저희 다음 중 관계 연산자에 해당하지 않는 것은 관계 연산자의 종류는 비교 연산자라고 그랬죠 크냐 1번 정답이고 두 번째 %는 나머지를 구하는 연산자 산술연산자 리콜 이콜은 같으냐 아 자 여기서 관계연산자에 해당하지 않는 걸 골라라 이렇게 돼 있으니까 틀린 거 골라라는 거죠. 크냐 얘는 관계연산자죠 어 퍼센티지가 산소 연산자니까 예가 아닙니다.
32:05
이 꼬리꼴 같으냐 느낌표 이꼴은 같지 않으냐 관계 연산자입니다. 자 포스트픽스 연산에 대한 연산 결과로 옳은 걸 골라라 이렇게 돼 있습니다. 얘는 포스트픽스라고 돼 있어요. 후위연산이라는 부분이에요. 후위연산을 저희가 일반적으로 저희가 계산하는 건 중위잖아요. 인픽스 방식으로 바꿔 가지고 계산하시면 돼요. 포스트픽스는 변수변수 연산 꾸로 나열되어진 거 꾸러미를 보면 변소변수 연산 어 맞네 또 변소변수 연산 이렇게 자 이거부터 먼저 3 4 별표 34 별표가 아닙니다. 여기는 3 4 별표라고 보시면 돼요. 얘를 먼저 중위로 바꿔요 그러면 3 별표 4 이렇게 하면 되겠죠. 그다음에 5 6 별표도 마찬가지 5 별표 6 이렇게 바꿔요 이게 변수고 이게 변수고 뒤에 플러스 이 플러스를 여기 사이다.
33:05
배치하면 되겠죠. 그러면 결과적으로는 3별표는 곱셈이라고 말씀드렸습니다. 이렇게 결과적으로 계산하면 3 곱하기 4는 12 5 곱하기 6은 30 두 수를 더하면 42 정답은 2번입니다. 이렇게 요건 간단한 문제입니다. 모의평가 문제 풀이하고 마치겠습니다. 다음 중 c언어의 데이터 타입이 아닌 것은 c언어의 데이터 타입 더블 실수용 데이터 타입 맞고요. 롱도 맞고요. 정수용 데이터 타입 중에 롱 있었습니다. 그 다음에 ch ar 문자 타입이었죠. 한 글자 저장하는 거 사인드라고 하는 부분은 없었어요.
33:50
사인드는 없었고 해당 부호가 없는 정수 부호가 없는 문자 이렇게 할 때는 언사인드를 사용 앞에다 붙였죠 언사인드 언사인드 shar 언사인드 인트 언사인드 롱 이렇게 그래서 시어너의 데이터 타입이 아닌 것은 4번입니다. 다음 중 두 번째 c언어의 변수명으로 올바르지 않은 거 변수명을 설정하는 규칙이 있었죠. 올바르지 않은 것은 자 abc 변수명에는 한글은 올 수 없고 영문자 숫자 그리고 뭐만 언더바만 올 수 있다. 그랬습니다. 에이 비 그리고 빈 공백 허용 안 하고 언더바 일 얘도 맞고요. 얘도 맞고요. 일 숫자가 먼저 앞에 올 수 없다. 그랬죠 간단한 규칙이었습니다. 그 위반입니다.
34:49
숫자가 제일 앞에 오면 안 돼요. 에이 비 씨 일 삼 맞습니다. 다음 다음 중 자바의 연산자 우선순위가 낮은 것부터 높은 순으로 올바르게 나열한 것은 자바나시나 연산자의 그 우선순위의 규칙은 거의 동일했었습니다. 우선순위가 제일 낮은 건 뭐였냐면 대입연산자였어요. 플러스 이꼴이라든지. 뭐 마이너스 이꼴이라든지. 여기 4개 보기 중에 플러스 이꼴 첫 번째 오는 게 맞아요. 제일 낮은 거 제일 높은 건 뭐였죠 제일 높은 건 갈로 또는 대괄로 묶음 이게 제일 높았어요. 자 그 다음에 어 제일 끝에 보면 아 대입 증감 연산자 네 제일 끝에 오는 거 다 맞네요.
35:36
네 그 다음 그 사이에선데 대입 연산자 그 다음에 다음으로, 우선순위가 높은 부분 자체는 논리 연산자 대조 대입 조건 대입 조건 대조 논리 관계 연산자 네 1순위였거든요. 대입 조건 논리 관계 찾아보면 첫 번째가 다 대입이에요. 그다음에 and는 이런 논리예요. 논리 그다음에 이 꼬리꼴 비교 연산자예요. 관계 연산자 그다음에 shift 연산자 플러스 그다음 곱하기 그다음에 증감 연산자 1번 정답입니다.
36:25
1번이 대입 연산자 그 다음에 논리 연산자 그 다음에 관계 연산자 대조 논관 이렇게 대입 논리 여기서는 조건 없어요. 대입 논리 관계 이동 플러스 곱하기 그 다음에 증감 연산자 1번 정답입니다. 이렇게 문제가 나올 수도 있어요. 네 번째 다음 중 중 중위 표기법 수식을 후위 표기법 올바르게 표기한 것은 좀 전에 저희가 설명드렸던 건데 예제를 갖고 다시 한번 정리하도록 하겠습니다. 중위 표기법을 후위 표기법으로 올바르게 나열한 것은 이건 좀 쉬운 예제예요. 중위는 일상적으로 저희가 사용하는 방식이죠.
37:09
연산 아 변수 변수 사이에 연산자가 있는 거를 어 후위는 변변연으로 바꿔라 변수 변수 연산으로 바꾸는데 주어져 있는 수식에서요 연산자의 우선순위가 가장 높은 것부터 먼저 따집니다. 연산자의 우선순위가 가장 높은 거는 괄호 대괄호 묶음이었죠. 여기서는 a+b가 괄호로 묶여 있고 끝에 d+도 괄호로 묶여 있습니다. 자 그러면 a+b 얘부터 먼저 하겠습니다. 예 그 다음 두 번째 그 다음에 곱하기 나누기 곱하기 그 다음에 마지막으로, 더하기 이렇게 이 순서로 하겠습니다. 자 a+b를 후위 표기법으로 바꾸면 a+b는 a b 그다음에 플러스 이렇게 해주면 되겠죠. a b 플러스 그다음 별표하고 c 그대로 두겠습니다. 그대로 표기를 하고요. 혼동되니까. 그 다음에 d e 플러스 이렇게 해주면 되겠죠. 얘는 한 덩어리가 변수라고 보시면 돼요.
38:07
이제 자 그다음에 변수 어 변수 변수의 곱하기 더하기 중에 곱하기 우선이니까. 이렇게를 다시 후위로 바꾸면 a b 플러스 혼동되니까. 괄호 꼴로 그대로 둘게요 이건 하나의 변수야 그다음에 c가 오고 그다음에 연산자 별표로 뒤에다 배치 그 다음에 뒤에 거는 그대로 다 적어줄게요 d e 플러스 이렇게 했고 마지막 저희가 여기까지 여기까지를 계산한 거죠. 이렇게 다시 꾸러미 묶어 가지고 얘는 변수야 변수 연산자 변수 그러면 a b 플러스 c 별표까지는 변수고 그다음에 얘를 뒤로 옮겨버리면 되죠. d e 플러스 플러스 괄호를 빼버리면 완성된 결과는 이렇습니다.
39:01
ab+c 별표 d e 플러스 a b 플러스 c 별표 d e 플러스 2번이 정답입니다. 자 처음 보시면 약간 혼동될 수도 있어요. 근데 이거 시험에 제가 판단컨대 한 문제 내지 두 문제 나올 가능성 높습니다. 자 마지막으로, 어려운 약간 어렵게 느껴질 수도 있으실 것 같은데, 전이식에서 후위식으로 옳게 표시한 것은 기출문제입니다. 기존에 출제됐던 기출문제 그대로 제가 추려가지고 설명드리는 거예요. 자 전이식을 후이식으로 옳게 표시한 것은 이렇게 되어 있습니다. 전이는요 연산자 변수 변수죠 연산자 변수 변수를 후위는 변수 변수 연산자로 바꿔라 이 말입니다. 자 주어져 있는 해당 어 식 중에 연산 순위가 가장 높은 걸 뽑아요.
40:01
자 그런데 먼저는요 먼저는 대상부터 먼저 뽑아요. 대상이 뭔데 전위로 바꿨다는 거잖아요. 전위 순서는 연산자 변수 변수 자 봅시다 네 변수 아 연산자 연산자 변수 연산자 변수 변수 이렇게 뽑을 수 있겠죠. 이렇게 연산자 변수 변수를 중위로 먼저 바꿔요 정의를 후위로 바로 바꾸기가 힘들어요. 그래서 중간에 준위로 바꾼 다음에 준위식을 다시 후위식으로 바꾸면 되겠습니다. 그래서 전위식을 어 중위식으로 먼저 바꾸기 위해서 연산자 변수 변수 이 부분을 네 중위식으로 b하고 c 사이에 플러스를 넣어주고 괄호를 묶어요.
40:48
그래서 이거 이 자체가 하나로 계산이 완료됐어 이렇게 지우시면 될 것 같고, 그 다음에 또 연산자 변수 변수를 또 뽑아보면 여기 별표 a 그 다음 얘 변수다 이렇게 뽑아볼 수 있겠죠. 이것도 마찬가지 변수와 변수 사이에 연산자를 배치하는 걸로 해서 중위로 바꿔요 이렇게 됩니다. 자 그러면 여기까지 계산됐죠 네 됐고 그 다음에 이건 하나의 변수가 되는 겁니다. 연산자 변수변수 앞에 있는 요거 슬러시 변수 변수 이렇게 a 별표 b 플러스 c 괄호 닫고 그다음에 슬러시가 여기 사이에 들어와요. 됐죠 여기까지 지우고 네 남아있는 거는 e하고 마이너스가 남아 있어요.
41:48
그러니까 이대로에다가 이대로가 한 덩어리가 되고 여기 사이에 마이너스 2 이렇게 하면 이게 중위식입니다. 자 이 중위식을요 끝이 아니라 후위식으로 다시 바꿔야 되잖아요. 네 자 연산자 연산자 그러니까 변수와 변수 사이에 연산자가 있는 형태의 중위식 중에 연산 순위가 가장 높은 것부터 먼저 후식으로 바꿔요 순서적인 부분 자체가 그래서 저희가 이 전체적인 측면 안에서 보면 갈로 꾸러미 안에 괄호가 들어가 있는 이 b+c가 연산 순위가 제일 높아요. 얘부터 먼저 바꾸겠습니다. b c 플러스 이렇게 했고요.
42:35
그 다음에 별표하고 슬러시니까 곱셈 나눗셈은 연산소리가 같으니까 순차적으로 앞에 있는 것부터 다시 여기서 a 별표 이렇게 이 꾸러미로 보는 거예요. a 별표 그다음에 이건 계산했으니까 해당 a 그다음에 변수 그다음 별표를 뒤에다 배치해요. 이렇게 해서 하나의 큰 덩어리의 변수가 되는 거고, 슬로시 d 자 변수 그리고 연산자 변수니까 이것도 바꾸세요. 바꾸면 이 덩어리로 하고 뒤 그다음에 뒤에 슬러시하면 되겠죠. 남아있는 거 마이너스 2가 남아 있잖아요. 이게 하나의 덩어리예요. 하나의 대원이니까. 1을 앞쪽에다 배치를 하고 당기고 마이너스 d로 배치하면 되겠죠. 얘를 뒤로 그래서 이렇게 하면 되겠죠.
43:28
그래서 완성되어진 걸 정리해가지고 괄호를 빼가지고 괄호를 빼버리고 정리해보면 a b c 플러스 별표 그리고 d 슬러시 마이너스가 완성된 결과입니다. 찾아보면 abc 플러스 별표 d 슬러시 e 마이너스 1번이 정답입니다. 이거는 약간 연습이 좀 필요합니다. 그렇기 때문에 여러분들이 동영상을 보시고 한번 다시 한번 본인이 한번 풀어보세요. 자 이상으로요 네 모의고사 풀이 마쳤고 정리하고 마치겠습니다. 핵심정리 데이터 타입 데이터 타입은 변수에 저장될 데이터 형식을 나타내는 것을 뜻한다.
44:11
변수가 어떤 값을 가지는지를 지정하는 것을 이야기하고 c의 데이터 타입 기준으로 보면 문자 데이터 타입은 char 부호 없는 문자는 언사인드 char 정수값은 쇼트인트 롱롱이 있고 그리고 소수점을 포함하는 실수는 플로트 더블 롱 더블이 있습니다. 있었습니다. 각 크기 값 정리해 주실 필요성이 있겠고 더블이 제일 크다 8바이트 그 다음에 넘어갈게요 변수 변수는 저장하고자 하는 어떠한 값이 있을 때 그 값을 주기억 장치에 기억하는 공간을 의미를 한다. 고정적인 값이 아니라 바뀌는 값입니다. 변수 변수는 저장하는 값에 따라서 정수형 실수형 문자형 변수라고 이야기를 하고요. 씨 언어에서의 변수의 이름을 설정하는 규칙 중요하다 말씀드렸습니다.
45:04
영문자 숫자 밑줄만 변수명으로 사용할 수 있고 그리고 첫 글자는 반드시 영문자는 언더바로만 시작하고 숫자는 안 돼 그리고 중요한 거 하나 빼먹었는데 변수는 이름 자체에서 해당 값이 가지고 있는 것을 유추할 수 있는 쉬운 이름으로 설정하는 게 좋습니다. 네 복잡하게 너무 복잡하게 변수명을 사용하기보다는 쉬운 의미를 유추할 수 있는 이름을 부여하는 게 좋습니다. 예를 들어서 얘는 정수 값을 가지는 변수야 인트 1 뭐 이렇게 해도 되죠. 그런데 인트라고만 사용하면 안 되죠. 인트라고만 사용하게 되면 얘는 얘가 그러잖아요. 여기 보면 데이터 타입이라든지. 이러한 예약어는 사용할 수 없어 근데 예약어 뒤에다가 1을 붙이면 얘는 다르게 인식이 되어지니까. 정수값을 담는 변수인가 보다 이렇게 이해할 수 있겠죠.
46:00
변수명은 공개 사용 불가능하고 영문자는 대소문자 구분합니다. 그리고 변수명은 제어문이나 자료형과 같은 예언은 사용할 수 없다. 세 번째 마지막 연산자는 프로그램 실행을 위해 연산을 표현하는 기호가 되겠고 연산자의 종류는 산술 관계 비트 시프트 논리 연산자 등이 있다. 연산표기법의 종류 변경되는 개정되어지는 프로그램 언어 파트에서는 얘 문제가 한 문제인지 두 문제 나올 것 같아요. 연산표기법 종류는 전위표기법 중위표기법 후위표기법이 있다. 전위는 연산자를 변수변수 앞에다 배치하는 거 중위는 일상적으로 사용하는 방식 변수와 변수 사이에 연산자를 배치하는 방법 후위는 변수 변수 뒤에다가 연산자 배치하는 방법 이전에 자료 구조에서의 전위 수뇌 중위 수뇌하고는 개념이 전혀 다르다 그 가운데 혼동스럽게 안 보시는 게 좋다.
46:59
라는 말씀드렸습니다. 이상으로 기본 문법 활용에 대한 설명 마치도록 하겠습니다. 프로그래밍 언어활용 두 번째 언어 특성 활용에 대해 살펴보도록 하겠습니다. 학습목표인데요. 프로그래밍 언어별로 특성을 파악하고 설명할 수 있다. 두 번째 파악된 프로그래밍 언어의 특성을 적용하여 애플리케이션을 구현할 수 있다. 그리고 세 번째 애플리케이션을 최적화하기 위해 프로그래밍 언어의 특성을 활용할 수 있다. 입니다. 살펴보자는 학습 내용은 네 파트로 나눠서요 절차적 프로그래밍 언어 객체 지향 프로그래밍 언어 스크립트 언어 마지막으로, 선언형 언어 네 가지 살펴보도록 하겠습니다. 절차적 프로그램 언어인데요.
47:48
절차적 프로그램 언어는 먼저 살펴보기 전에 개괄적으로 프로그래밍 언어에 대한 특성과 발전 과정에 대해서 간단히 정리하겠습니다. 프로그래밍 언어의 언어별 특성이라는 것은 프로그래밍 언어는 컴퓨터 시스템의 역사와 함께 하고 있으며 프로그램의 언어가 개발되어진 시대적 패러다임에 따른 각각의 특성들을 가집니다. 프로그램 언어의 발전 과정을 개괄적으로 정리한 연대별 정리한 그림인데요. 60년대 이전에 개발되어진 프로그램 언어들은 어셈블링 50년대 포트란 50년대 리시브 59년 60년대는 코볼 pli 베이직 70년대 개발된 프로그 언어로서는 파스칼 c 스몰 토크 그리고 프롤로그 80년대 a다 c++frison 해당 언어인데 언어별로 연대별로 얘가 버전업이 계속되고 있어요.
48:43
그리고 90년대 이후 루비 자바 95년도 자바스크립트 c샵으로 이어지고 있습니다. 개괄적인 연대만 정리를 한 겁니다. 자 이제 절차적 프로그램 언어에 대해 살펴보면 절차적 프로그램 언어의 개념입니다. 절차적 프로그래밍 언어라는 부분은 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술하는 언어가 되겠고요. 프로그램이 실행하는 절차를 중요시합니다. 데이터를 중심으로 프로시저를 구현을 하고요. 프로그램 전체가 유기적으로 연결되어 있다. 프로시저는 루틴 하이프로그램 서브 루틴 메소드 함수라고도 하는데 수행해야 하는 연속되어진 처리 과정들을 포함하고 있습니다. 그리고 자연 언어에 가까운 단어와 문장을 사용하고 주로 과학 계산이나 하드웨어 제어에 주로 사용이 되어집니다.
49:41
절차적 프로그램 언어의 장단점인데요. 네 장점은 컴퓨터 처리 구조와 유사하기 때문에 실행 속도가 빨라요. 두 번째 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용할 수 있어요. 함수를 정해놓고, 그 함수를 다른 쪽에서 해당 함수야 라고 호출을 하게 되면 그 함수의 실행문이 뚝딱 실행이 되죠. 반환되어지는 값을 가지는 경우에는 그 반환값을 리턴 받아서 처리를 하게 할 수도 있습니다. 모듈 구성이 용이하고 구조적 프로그램이 가능하다 그래서 절차적 프로그램 언어를 구조적 프로그램 언어라고도 합니다.
50:21
단점은 프로그램 분석을 하기가 어렵다 해당 소스 코드가 몇 줄 안 되면 분석하기가 그렇게 어렵지 않지만 얘가 2천 줄 3천 줄 라인 수가 그리고 해당 함수가 서로 막 호출을 a야라고 하면 저 밑에 있는 a가 호출되어지고 실행되어지고 이 a 실행문 안에 또 다른 함수를 또 호출할 수 있거든요. 그래서 어떤 문제가 생겼을 때 밑에 있는 부분처럼 유지보수나 코드 수정이 어렵다 문제가 발생했을 때 해당 함수 안에 찾아가 보니까 또 다른 함수를 호출하고 또 다른 함수에서 또 다른 함수를 호출하고 이게 막 실타래처럼 얽혀가지고 스파게티 효과라고 이야기를 하는데요. 스파게티 막 꼬여 있잖아요. 그 경우 문제를 발생했을 때 해결하기가 쉽지가 않다 라고 하는 단점이 있습니다. 절차적 프로그램 언어의 종류로서는요 대표적으로 알굴 코블 포트란이 있는데, c 1972년도에 벨 연구소의 데니스 리치에 의해서 고안되어졌고요.
51:20
시스템 소프트웨어를 개발하기 편리하도록 시스템 프로그램에 널리 사용되어지고 있다. 시스템소프트웨어의 대표적인 예가 운영체제죠 c는 유닉스 운영체제 구현에 사용이 되어졌고요. 해당 이식성이 좋다. 호환성이 좋다. 이 말입니다. 하드웨어적인 부분에 대한 큰 하드웨어 종류가 다르다는 게 큰 장애 요소가 아니라 호환이 된다. 이 말입니다. 그래서 c는 윈도우에서도 유닉스에서도 다 사용되어지죠 일식성이 좋아서 컴퓨터 기종에 관계없이 프로그램 작성이 가능하다 알고올 알고올은 50년대 말 60년대 초 사이에 연구용 및 실질적 응용 목적으로 만들어진 알고리즘 기술을 위한 일반적 표현원으로 개발되어졌고요.
52:16
파스칼과 싱언어의 모치가 되어진다 코볼은 59년에서 60년 사이에 음 미 국방성에서 해군 그레이스 호퍼가 이끈 팀에 의해서 주 용도가 은행이나 대규모 회사들의 사무처리 목적으로 만든 언어가 코버르예요. 포트라는 54년에서 57년 사이에 ibm의 존 베커스가 중심이 되어서 만든 언어인데 주 용도가 과학기술 계산용으로 만들어졌습니다. 우선 전체적인 측면에서 절차적 프로그램 언어의 종류는 c 알고올 코볼 포트라인이 대상이 된다. 이 정도로만 우선 익혀 놓으셔도 될 것 같고, 이 중에서 저희가 주로는 c 위주로 저희가 살펴보도록 할 겁니다. 현재도 많이 사용되어지는 게 c언어니까요? 다른 언어는 거의 사용이 안 돼요. 현재는 자 절차적 프로그램에 대한 퀴즈입니다. 시스템 프로그래밍에 가장 적합한 언어는 뭘까?
53:12
알고리포큘럼 c covol c죠 시스템 프로그램 시스템 소프트웨어 운영체제를 만들 때 사용되는 언어는 c언어입니다. 다음 두 번째 객체 지향 프로그램 언어입니다. 객체 지향 프로그램 언어는 저희가 객체 지향 설계 파트에서도 다뤘기 때문에 어떤 생소한 내용은 아니고요. 언어 파트의 실제적으로 대상은 프로그램 언어 파트예요. 이쪽에 정리하겠습니다.
53:39
객체 지향 프로그램 언어의 개념 구조적 방식의 문제점을 극복하고 앞단에서 살펴봤던 절차적 프로그램 언어가 가지는 해당 소스에 복잡하게 얽혀서 나중에 문제가 생겼을 때 해결하기 어려웠던 그런 단점들에 대한 문제를 극복하자 라고 해서 인간이 사고하는 방식대로 프로그램을 개발하려는 노력으로 탄생을 한 거고, 현실 세계의 객체를 기계의 부품처럼 하나의 객체 단위로 만들어서 그 객체들을 조립을 뚝딱 해가지고 프로그램도 만들 수 있으면 좋겠다라고 해서 만들어진 게 객체 지향 프로그램 언어입니다. 프로시저보다는 명령과 데이터를 하나의 단위 객체라고 하는 단위로 호르미화 시켜가지고, 객체를 중심으로 프로그래밍을 하는 기법이다. 그래서 생산성은 좀 더 높고 한 프로그램을 다른 언어에서 이용할 수 있다. 그러니까 재사용도 가능하고 그래서 생산성을 높일 수가 있다.
54:39
푸른 언어의 장단점입니다. 객체 지향 푸른 언어의 장단점은 상속을 통해 재사용과 시스템 확장이 용이해 그리고 코드의 재활용성이 높다 현실 세계를 모형화했기 때문에 사용자하고 개발자가 쉽게 이해가 가능하다 그리고 규모가 큰 대용 프로그램을 작성하는 파트에서도 용이하다 소프트웨어의 규모가 커지면서 소프트웨어 공학이라는 학문이 만들어졌죠 공학적 측면에서 규모가 커지면서 소프트웨어 개발 및 소프트웨어 개발 및 유지 보수가 용이합니다. 절차적 프로그램 언어 즉 구조적 프로그램을 가졌던 단점이었죠. 이걸 극복한 거예요. 객체 지향 프로그램 언어의 단점입니다.
55:25
프로그래밍 구현을 지원해주는 정형화되어진 분석 및 설계 방법이 없고 그리고 구현 시 처리 시간이 지연되어진다 그리고 해당 임베디즈 쪽 있죠. 내작년 하드웨어 파트에서는 객체지향 프로그램 언어가 또 기존의 개체 단위별로 만들어 놓았던 부분들이 다 사용되기 위해서는 그게 다 필요하고 하다 보니까 오히려 그게 오히려 단점으로 아직까지 c언어가 많이 사용되는 이유가 가벼운 작은 파트에서도 하드웨어를 조작하는 데는 오히려 함수 지향적인 프로그램 언어인 c가 사용되고 있기도 합니다. 객체적이 가지고 있는 단점은 구현할 때 처리 시간이 지연됩니다. 다음 특징입니다. 객체 지향 프로그램 언어의 특징 다섯 가지가 있어요. 시험에 자주 나와요.
56:16
캡슐화 개념을 설명해 놓고 이 특징이 객체 지향 언어의 어떤 특징이야 라고 물어지는 문제가 자주 나옵니다. 자 이전에 객체적인 파트에서 다뤘습니다. 캡슐화는 꼬르미를 만든다는 거죠. 데이터와 데이터를 처리하는 함수를 하나의 하나로 묶는 거야. 묶음으로써 바깥쪽에서는 안에 어떤 게 있는지를 모르는 거죠. 세부 내용이 외부에 은폐되어서 변경이 발생할 때 오류의 파급 효과가 적다 그리고 캡슐화되어진 객체들은 또 캡슐화 되어진 꾸러미 단위로 재사용이 가능하다 정보의 언닉은 이 캡슐화와 연관된 부분입니다. 캡슐화시킴으로써 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허용하는 게 정보언닉 인포메이션 하이딩이고요. 그리고 추상화라는 특징은 불필요한 부분은 생략하고요.
57:08
필요한 부분만 뽑아가지고, 프로그래밍을 할 때 객체의 속성 중에 가장 중요한 것만 중점을 두고서 모델화하는 거다 앱스트랙션 추출한다는 말이죠. 공통의 성질을 추출하여 슈퍼 클래스를 설정하는 것도 추상화의 하나의 방식입니다. 그리고 상속성 상위 클래스의 모든 속성과 메소드를 하위 클래스가 물로 받는 거 상속 받는 거 다형성 특징은 동일한 이름의 메소드 동작을 뜻하는 객체에서 동작을 수행하는 것은 메소드인데 이 메소드의 이름 동작을 만들자마자 이름을 달리 하다 보면 종류가 너무 많아지잖아요. 그렇기 때문에 똑같은 이름인데 오픈이라고 똑같은 이름인데 해당 동작 방식을 달리 할 수 있게끔 동일한 이름의 메소드가 각 클래스마다 다른 사양으로 정의될 수 있는 것을 뜻하고 다형성의 종류는 메소드 오버 라이딩과 메소드 오버 로딩 종류가 있다.
58:04
이렇게만 정리하겠고 이전에 객지장 파트에서 저희가 다뤘어요. 메소드 오버 라이딩은 얘를 다시 구현 방식을 정의하는 거고, 레소드 오브로딩은 해당 호출할 때 100의 변수의 값을 뭘로 호출하느냐에 따라서 다르게 수행하게끔 그렇게 하는 개념입니다. 다음 객체 지향 프로그램 언어의 구성 요소인데요. 객체 지향 프로그램의 구성 요소는 세 가지 클래스 객체 타입을 정의하고 객체 생성의 틀이 된다. 클래스 거꾸로 이야기하면 공통된 객체의 속성과 메소드를 가지는 게 뭐야? 클래스입니다. 거꾸로 객체는 개체와 속성 메소드로 구성되어진 클래스를 인스턴스와 실체화시킨 거야. 메시지는 객체들 간의 통신 구성요소가 되겠고요.
58:57
객체의 구성 요소는 개체 속성 메소드 개체는 현실적인 보이는 본질의 의미 속성은 자료 저장소 역할을 하고 결차 지향 프로그래밍 언어에서는 변수와 같다 method는 호출 단위를 의미하고 절차 지향 프로그램 언어에서는 동작을 나타내는 함수와 같다 이렇게 보면 되겠습니다. 다음 객체지향 프로그램 언어의 종류입니다. c4 자바 c+2과 같은 언어들이 있는데, 대표 언어는 자바죠 객체지향 프로그램 언어 이렇게 이야기하면 자바 95년도에 만들어진 프로그램인데 아직까지 활동하고 있는 프로그래머들 중에 비중도가 가장 큰 비중을 차지하는 게 자바 프로그래머들입니다.
59:42
씨샵은 이 자바에 대항하기 위해서 마이크로소프트웨어에서 개발한 객체적 프로그램의 한 부분으로 만들어졌다 자바는 썸마이크로시스템 해서 개발을 한 객체 지향 프로그램 언어당 썸마이클 시스템은 오라클에 인수됐습니다. 지금은 오라클에서 관리하고 있습니다. 서브라이클 시스템에서 개발한 객체 지향 프로그램 언어고 분산 네트워크 환경에 적용이 가능하며 멀티 스트레드 기능을 제공을 하여 여러 작업을 동시 처리하는 것이 가능하다 이렇게 서버 단 내에 운영체제도 보면 다중접속 시스템 이게 서버죠 그리고 운영체제 및 하드웨어의 독립적이고 익스성이 강하다 자바는 자바 vm 버추얼머신 가상머신을 이용해서 프로그램으로 구현하는 부분이지만 역할은 하드웨어 역할을 합니다.
1:00:40
그래서 자바 버추얼머신은 미들웨어로 분류를 하죠. 운영체제 종류에 상관없이 윈도우든 리눅스든 유닉스든 그리고 하드웨어 종류에 상관없이 컴퓨터 삼성 컴퓨터든 델 컴퓨터든 lg 컴퓨터든 상관없이 독립적이고 익스성이 강하다 캡슐화가 가능하고 재사용성 이러한 특징이 있다. c+c 언어의 객체 지향 개념을 c를 베이스로 해서 플러스 플러스 시켰다고요. 더했다고요. 어떤 걸 객체라는 개념을 더해서 적용한 언어가 되고 모든 문제를 객체로 모델링하여 표현한다. 스몰트웍은 1세대의 객체지향 프로그램 언어로서 순수 객체지향 프로그램 언어였고 최초로 지휘와의 환경을 제공했던 언어이다. 다음 중 객체지향 프로그램 언어가 아닌 거 골라 이렇게 보기 항목에서 엉뚱한 게 들어가 있으면 골라낼 수 있게끔 개념만 잡으시면 돼요.
1:01:32
퀴즈 객체지향 프로그램 언어에 관한 설명으로 틀린 거 현실세계를 모형화하여 사용자와 개발자가 쉽게 이용할 수 있소 네 맞죠. 현실세계를 모형화했다. 현실의 개체를 모형화해서 객체를 만들었습니다. 소프트웨어의 재사용률이 높다 맞구요. 유지보수가 향상된다. 맞구요. 프로시즈에 공간을 두고 프로그램을 구현한 기법은 절차적 프로그램 언어였죠 네 얘가 틀렸고 객체 지향 프로그램 언어는 속성과 매스 동작을 하나의 꾸름이라는 개체 단위로 프로그램하는 것을 뜻합니다. 두 번째 객체 지향의 기본 개념 중에 객체가 메시지를 받아서 실행해야 할 객체의 구체적 연산을 정의한 건 뭔데 동작을 정의한 것은 객체에서는 메소드가 그 역할을 수행합니다. 그래서 정답은 1번 메소드입니다. 스크립트 언어입니다. 세 번째 파트 스크립트 언어의 개념인데요.
1:02:32
스크립트 언어는 주로 html 문서 안에 직접 프로그램 언어를 삽입을 하여 사용이 되고 기계어로 컴파일되지 않고 별도의 번역기가 소스를 분석하여 동작을 하는 언어가 된다. 인터프리트 방식이라고 이야기를 합니다. 네 게시판이나 게시판 중에서도 보면 일방적으로 전달하는 게시판이 아니라 사용자들이 글을 게시할 때 작성자 이름 제목 내용 적고 이렇게 전송 또는 상품 검색 주문한다든지 그리고 회원가입과 같은 데이터베이스와 연결되어지는 처리 작업을 수행하기 위해서 주로 사용이 되었습니다. 스크립트 언어는 웹 브라우저에서 해석해서 실행하는 클라이언트용 스크립트 언어와 서버 단에서 처리되어지는 해석하고 실행되어지는 서버형 스크립트 언어로 구분되어지는데 클라이언트용이라고 하는 것은 웹 브라우저에서 실행되어지는 대표적인 스크립트 언어는 자바스크립트가 있죠.
1:03:29
그리고 서버단에서 해당 폼 양식을 통해가지고 전달되어지는 부분을 받아서 데이터베이스와 연결시키고 해당 처리한 결과를 다시 리스폰스 시키는 그러한 서버형 스크립트 언어로서는 asp나 php나 python 등이 있습니다. 스크립트 언어의 장단점입니다. 장점은요, 컴파일 없이 바로 실행이 가능하다 컴파일은 해당 언어를 기계어로 번역하는 절차죠 없이 바로 실행하기 때문에 처리 속도가 빠르겠죠. 결과를 바로 확인할 수 있다.
1:04:03
그리고 배우고 코딩하기 쉽다 개발 시간이 짧다 소스 코드를 쉽고 빠르게 수정도 가능하다 단점은요, 코드를 읽고 해석해야 하기 때문에 오히려 실행 속도는 느리다 아까 제가 컴파일 없이 바로 실행한다고 해서 꼭 실행 속도가 빠른 건 아니고 결과를 즉시적으로 결과를 바로 확인 가능하다는 게 장점이었고 오히려 실행 속도적인 부분은 단점으로 코드를 읽고 해석을 하고 그것을 실행하니까 실행속도가 느리다 단점입니다. 그리고 런타임 오류가 많이 발생할 수도 있다. 스크립트 언어의 종류는 앞서서 정리했던 것처럼 자바스크립트 asp 파이슨 등이 있는데, 자바스크립트는 웹브라우저에서 주로 사용되어지는 클라이언트용 스크립트 언어야 그리고 폼 양식문 있죠. 폼 양식문에서 필수 입력사항이 있는데, 입력하지 않고 제출 버튼을 누른 경우에 체크하는 용도로 많이 사용되어지고요. 그리고 인터랙티브하게 접속 방문해 주셔서 감사합니다.
1:05:02
이런 메시지를 남길 수도 있고 정말로 삭제할 건가요? 예 아니오와 같은 해당 대화형으로 얼러트 창을 띄울 수도 있고요. asp는 액티브 서브페이지의 약어입니다. 인터넷 인포메이션 서버요 irc 서버 마이크로소프트의 서버죠 irc 측에서 동적으로 수행하는 페이지를 만들기 위해서 마이크로소프트에서 개발했고요. 단점은 윈도우 운영체제에서만 실현 가능한 프로그램 언어입니다. asp jsp는요 자바 서브 페이지에요. 자바 언어를 베이스로 해서 만들어진 서버스크립트 언어이고요. 운영체제 상관없이 다 사용이 가능합니다. 윈도우던 리눅스든 그리고 php도 서브스크립트 언어이고요. 얘도 장점이 운영체제에 구애받지 않고 윈도우 리눅스 리눅스 다 사용 가능하고요. 그리고 웹 프로그램 언어 중에 문법이 제일 까다롭지가 않습니다.
1:05:58
그래서 배우기 쉬워가지고 웹페이 제작에 많이 사용이 되어집니다. 변수 같은 경우에도 얘는 정적 변수가 있고 동적 변수가 있어요. 얘는 동적 변수 타입이라서 변수 선언할 때 데이터 타입을 선언을 안 해줘도 얘는 돼요. php는 그래서 좀 쉬워요 파이슨은 객체 지향 기능을 지원하는 대화형 엔터프리트 언어로 플랫폼 독립적이고 문법이 간단하고 배우기 쉽다 이 프로그램 문법 입장에서 제일 쉬워요 python이 라인 단위별로 끝났다는 세미콜론 기호도 안 해도 되고 그래서 python을 베이스로 해서 프로그램 기법을 익히고 그 다음에 이제 상위로 올라가는 것들도 하나의 방법입니다. 퀴즈 정리해볼게요 다음 중 자바를 이용하여 다양한 운영체제에서도 사용 가능한 서버 측의 스크립트 언어는 자바 서버페이지 약어는 jsp입니다. 정답은 2번 다음 선언형 언어 선언형 언어가 마지막 파트입니다.
1:06:57
선언형 언어의 개념으로서요 명령형 언어가 절차형 프로그램 언어 그리고 객체 지향 언어와 같은 명령 언어와 반대되어지는 개념의 언어야 명령형 언어가 문제를 해결하기 위한 절차적 방법을 기술하는 코딩하는 거 위주였다고 한다면, 선언형 언어는 프로그래밍이 수행해야 하는 문제를 기술하는 언어가 된다. 문구 상황으로 이해가 잘 안 되시는데 선언형 언어의 대표적인 예가 html이라든지. 또는 sql 언어가 선언형 언어에 해당되어지거든요. 저희가 데이터베이스 조작 언어 있죠. sql 같은 경우에는 어떻게 하라고 하는 절차적인 측면을 하지 않고 해당 데이터 조작 언어 인서트 가지고 와 이렇게 말하잖아요. 그래서 선언한다.
1:07:51
선언형 언어 프로그램이 수행해야 될 문제를 기술하는 언어야 뒤에 더 구체적으로 살펴볼 거니까 선언형 언어는 목표를 명시하고 알고리즘 자체는 명시하지 않는다. 수행해야 될 절차적인 부분 자체를 명시하지 않는다. html 같은 경우에도 표현 언어거든요. 프로그래밍 언어는 아니에요. html 웹 문서요 선언형 언어는 함수형 언어와 논리적 언어로도 나눌 수 있다. 함수형 언어는 수학적 함수를 조합하여 문제를 해결하는 언어로 알려진 값을 함수에 적용하는 것을 기반으로 한다. 적용한 언어 적용형 언어라고도 하고 재귀 호출에 자주 사용되고 병렬처리에 유려한 유리하다 논리형 언어는 기호논리학에 기반을 둔 언어로 논리 문장을 이용해서 프로그램을 표현하고 계산을 수행한다. 선언적 언어라고도 하며 반복문이나 선택문을 사용하지 않기 때문에 비절차적인 언어이다.
1:08:48
선언어의 특징은요, 알고리즘에 집중하여 이미 만들어진 있는 것을 만들어진 것들을 이용해서 그냥 선호를 통해서 사용하는 거예요. 프로그램 동작을 변경하지 않고서 관련 값을 대체할 수가 구체적 작동 순서를 나열하지 않기 때문에 오류가 적고 가독성이나 재사용성이 좋다는 게 특징입니다. 프로그램 언어의 종류입니다. 선언형 언어의 종류로서는 리스트 인공지능 분야에 사용되는 언어이고 기본 자료 구조가 연결 리스트 구조이고 재귀 호출에 많이 사용된다. 재귀라고 하는 부분 자체는 다시 호출한다. 이 말이에요.
1:09:30
그리고 프롤로그는 논리학을 기초로 한 국어 언어로 인공지능 분야에서의 논리적 추론이나 리스트 처리에 주로 사용되고 그리고 핫스케일은 함수형 언어들을 통합 정리하여 만든 일반적 순수 함수 프로그램 언어인데 코드와 관계라고 에러 발생 가능성이 높다 해당 이 특징들 선언형 언어적인 부분 자체는 중요도가 낮아요. 실제 절차형 프로그램 언어하고 객체 지향 프로그램 언어에 포커스를 더 줄여주시는 게 나을 것 같고, 선언형 언어의 종류가 아닌 거 골라 정도로만 구분할 수 있게끔만 하시면 될 것 같아요. 세부특징까지는 꼭 기억 안 하셔도 될 것 같습니다. sql은 관계형 데이터베이스 관리 시스템의 데이터 관리 위해 설계된 특수 목적인 프로그램 언어야 저희가 sql 먼저 다뤘죠 html은 웹 페이지 문서 만들기 위해 사용되는 언어예요. 얘는 프로그램 언어가 아니라 표현 언어입니다.
1:10:25
태그들 꺾쇠 html 꺾쇠 타이틀 바디 화면상에 img src의 이미지를 화면상에 출력시켜 이런 거 특별한 데이터 타입 없이 단순한 텍스트 문서 텍스트이기 때문에 호환성이 좋고 사용이 편리하다 xml은 기존의 html 단점을 보완하기 위해서 웹에 구조화되어진 폭넓고 다양한 문서를 상호 교환할 수도 있고 설계된 언어이다. 그렇게 정리하면 될 것 같습니다. 다음 선언형 언어 퀴즈입니다. 다음 중 선언형 언어가 아닌 거 해당하지 않은 것은 xml 맞죠. 익스텐서블 마크오블 랭귀지의 약어예요. 확장시켰다 마크오브 랭귀지 마크업 랭귀지는 태그를 묶고 꾸름 위로 꺾여 가지고 감싸준 형태가 네 사용되어진다 이렇게 보시면 될 것 같고, sql 맞죠.
1:11:21
데이터베이스 조작 언어 그 다음 리스크도 맞고 알고리는 절차적 프로그래밍 언어였습니다. 절차적 프로그램 언어에 해당되었습니다. 자 모의평가로 정리하도록 하겠습니다. 문제 다음과 같은 장점을 가지는 프로그램 언어의 종류는 뭔가 컴퓨터의 처리 구조와 유사해서 실행 속도가 빨라 같은 코드를 복습하지 않고 다른 쪽에서 호출하여 사용 가능하다 함수적인 측면 모듈 구성이 용이하고 구조적 프로그램 언어가 가능해 살펴봤던 저희 네 가지 절차적 프로그램 언어 객체 지향 프로그램 언어 스크립트 언어 선언형 언어 중에 해당 언어의 특징은 절차적 프로그램 언어에 해당되어집니다. 다음 두 번째 시언어에 대한 설명으로 옳지 않은 거 틀린 거 일식성이 높은 언어예요. 하드웨어 장치적인 부분 자체가 호한성을 가진다 기계화에 해당돼요. 틀렸습니다. 프로그래밍 언어는요 크게 양분화해서요.
1:12:21
고급어가 있고요. 중간어는 없어요. 저급어가 있습니다. 컴퓨터가 좋아하는 언어는요 저급어에 해당되는 게 기계어예요. 기계어는 0과 1로 표시가 되어집니다. 0과 1로 비트로만 프로그래밍을 해보라 지금 프로그래머들은 프로그래밍을 할 수 있는 사람이 별로 없을 거예요. 그리고 그렇게 프로그램을 할 필요성도 없고 왜냐 고급어는 프로그램에 대해 사람들이 쉽게 사용할 수 있게끔 일반적인 해당 영어 단어들 있죠. if 만약 갈록 구르미 어떤 조건 만족했을 때 실행할 실행문은 중괄호로 묶어가지고 안에다가 지정해주고 이렇게 어 영문 및 숫자로 소스 코딩이 되어지는 게 고급어입니다. 네 이 고급어로 코딩하고 난 다음에 컴파일 시켜버리면 기계가 만들어지니까요? 그래서 c언어는요 고급에 해당되죠. 기계화가 아닙니다. 시스템 프로그래밍이 용이하고요.
1:13:21
다양한 연산자를 제공한다. 맞습니다. 3번 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것으로 데이터 추상화의 개념으로 볼 수 있는 것은 객체들을 묶어가지고 공통된 특징을 표현한 거 아까 제가 설명하면서 미리 당겨 가지고 말씀을 드렸어요. 클래스를 뜻하는 부분이었죠. 클래스 객체들의 틀 객체들의 어떤 원형적인 부분에 대한 역할을 하고 해당 그 클래스를 활성화시켜 가지고 실체화시킨 게 객체다 라고 했죠. 네 4번 객체 지향의 개념에 대한 설명 중 옳지 않은 것은 속성은 객체들이 갖고 있는 데이터의 값으로 파일 처리에서 객체는 레코드 속성은 필드와 유사합니다. 맞는 표현입니다.
1:14:16
클래스는 데이터의 값을 저장하는 필드와 이 필드에서 연산하는 메소드로 정의가 되어져 있어요. 데이터의 값과 메소드로 정의되어 있다. 클래스 및 객체 클래스를 인스턴트 시킨 게 객체니까 표현은 맞습니다. 세 번째 메소드는 동작이잖아요. 객체들 사이에 정보를 교환하기 위한 수단이에요. 객체들 사이의 정보교환이라기보다는 메소드는 동작수행입니다. 연산수행 정보 교환에 대한 역할 담당은 메시지 메시지가 있죠. 네 메시지 메소드가 아니라 메시지가 객체들 사이의 정보 교환을 위한 수단입니다. 객체는 데이터 구조와 이 구조 하에 이루어진 연산들이 모여서 하나의 독립적 기능을 수행하는 겁니다. 맞습니다.
1:15:11
5번 다음 스크립트 언어가 아닌 것은 html 언어 html 스크립트 언어 맞아요. asp 액티브 서페이지 맞고요. 자바스크립트 클라이언트용 대표적인 스크립트 언어를 말씀드렸고요. php 스크립트 언어가 아닌 것은 아 네 제가 잘못 설명드렸네 자 html은 선언형 언어입니다. 얘는 선언 선언형 언어이고요. 스크립트 언어들은 html 레이의 어떠한 동적인 역할을 수행하는 것들로 표현되어지죠 그렇기 때문에 스크립트 언어는 asp 맞고 자바스크립트 php가 맞고요. html은 선언형 언어입니다. 틀린 것은 1번입니다.
1:16:05
틀린 거 1번 핵심 정리 절차적 프로그램 언어 4가지 저희가 프로그램 언어 정리하고 있습니다. 절차적 프로그램 언어는 일련의 처리 절차를 수행하는 프로시저로 구현이 되고 정해진 문법에 따라서 순서대로 계산하는 언어야 장점은 실행 속도가 빠르다 모듈 구성이 용이한 구조적 프로그래밍이고 가능하고 단점은 프로그램 분석이 어렵고 유지보수나 소스코어 수정이 어려워 관련된 종류는 c 알고올 코볼 포트라인이 있었습니다. 객체지향프로그램언어요. 프로시저보다는 명령과 데이터를 하나의 객체 단위로 프로그램하는 기법이었고 장점은 재사용성 소프트웨어 개발 및 유지보수가 용이했고요. 단점은 구현할 때 처리 시간의 지연이 발생을 하는 거고, 특징은 다섯 가지 캡슐와 정보원이 추상화 상속성 다양성이 있었고요.
1:17:01
해당되어지는 언어의 종류는 cop java c+2 stok이 있었습니다. 세 번째 스크립트 언어 html 문서 안에 직접 프로그래밍 언어를 삽입하여 사용을 한다. 그래서 아까 제가 혼돈해서 제가 아까 문제풀이할 때 설명을 약간 드렸는데 html은 선언형 언어이고 스크립트 언어는 htm 문서 아니 직접 프로그램 언어를 사용하여 사용을 하는 거야. 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작을 한다. 장점은 컴파일 없이 바로 실행이 되어진다 소스 코드를 빠르게 수정하면 가능하다 단점은 코드를 읽고 해석해야 되기 때문에 실행 속도가 느리다 클라이언트용 스크립트 언어는 자바스크립트 서버용 스크립트 언어는 asp jsp php 바이슨 등이 있다.
1:17:50
마지막 선언형 언어 명령형 언어가 문제를 해결하기 위한 방법을 기술을 한다면, 선언형 언어는 프로그램이 수행해야 하는 문제를 기술하는 언어이고 종류는 리스브 프롤로그 하스켓 sql html xml 등이 있었습니다. 이상으로 언어 특성 활용에 대해 살펴봤습니다. 프로그래밍 언어활용 마지막 세 번째 라이브러리 활용에 대해 살펴보도록 하겠습니다. 학습 목표로서요 애플리케이션에 필요한 라이브러리를 검색하고 선택할 수 있다. 애플리케이션 구현을 위해 선택한 라이브러리를 프로그램 언어에 맞게 구성할 수 있다. 마지막으로, 선택한 라이브러리를 사용할 애플리케이션 구현에 적용할 수 있다. 입니다. 학습하고자 하는 내용은 크게 네 파트로 나눠서요 라이브러리 데이터 입출력 예외처리 프로토타입 이렇게 순서로 살펴보도록 하겠습니다.
1:18:41
출제기준에 맞춰서 정리합니다. 용어 사전은 간단하게 라이브러리는 효율적 프로그램 개발을 위해 필요한 프로그램을 모아놓은 집합체야 프로그램 언어에 따라서 일반적으로 도움말이나 설치파일 샘플 코드 등을 제공을 한다. 세부내용 라이브러리입니다. 라이브러리 개념 용어 정리에서 먼저 살펴보긴 했는데 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 놓은 집합체를 뜻하고 프로그래밍 언어에 따라서 일반적으로는 도움말이나 설치 파일이나 샘플 코드 등을 제공한다. 라이브러리의 구성이 이 세 가지다 도움말은 라이브러리를 사용할 수 있도록 하는 도움말 문서고요.
1:19:38
설치 파일은 라이브러리를 제공하기 위해서 제공되는 설치 파일이고 샘플 코드는 라이브러리로 이해하고 손쉽게 적용할 수 있도록 제공하는 샘플 소스 코드가 되겠습니다. 라이브러리의 종류는 크게 두 가지 표준 라이브러리와 웨이브 라이브러리로 나눌 수 있겠는데 표준 라이브러리는 프로그래밍 언어를 설치했을 때 기본적으로 포함되는 탑재되어 있는 라이브러리들이고요. 각 프로그래밍 언어의 표준 라이브러리는 여러 종류의 모듈과 패키지를 가지고 표준 라이브러리를 이용을 하면 별도의 어떤 설치 파일 없이 다양한 기능들 날짜 시간 등의 다양한 기능들 이용이 가능합니다. 외부 라이브러리는 표준 라이브러리와 달리 별도의 파일 설치 과정을 요구를 합니다. 외부 라이브로는 누구나 개발하여 설치할 수 있고 인터넷 등을 이용해서 공유할 수도 있습니다.
1:20:36
라이브러리 아까 문구상에서 보면 설명되어진 각 프로그램 언어의 표준 라이브러리는 여러 종류의 모듈과 패키지를 가져 이렇게 돼 있는데, 모듈이라는 건 하나의 기능이 한 개의 파일로 구현된 형태이고 패키지는 여러 개의 모듈을 한 개의 폴더에 묶어서 기능을 제공하는 것을 뜻합니다. 패키지명과 모듈명은 자바에서는 임포트 명령을 이용해서 불러와서 사용을 하는데 일례로 임포트 자바 유틸 패키지 하면 해당 그 페이지 내에 자바 유틸 패키지 가 임포트 가지고 와줘서 거기 안에 포함되어진 다양한 클래스들을 이용할 수 있는 거죠. 임포트 과정을 없이 해당 클래스를 이용하게 되면 몰라 라고 하면서 exception 오류가 발생을 합니다.
1:21:31
임포트를 안 했기 때문에 이 클래스는 어떤 클래스인지 모르겠어 이렇게 프로그래밍 언어별 주요 라이브러리의 종류 먼저 c언어의 대표적인 표준 라이브러리 살펴보면요 c언어는 라이브러리를 헤더파인 확장자가 h입니다. 헤더 파일로 제공을 하고요. 헤드 파일 안에 다양한 함수들이 포함이 되어 있습니다. 그래서 일례로 사용할 때 샵 인클루드 저희가 꺾쇠 sdio h 꺾기 이렇게 하게 되면 해당 c 언어에서 해당 파일에서요 stdio h 헤드 파일을 인클루드 가지고 와서 여기 안에서 이제 해당 헤드 파일 안에 포함되어져 있는 함수들을 이용할 수 있는 거죠. 네 헤드 파일의 종류입니다. 다섯 가지 종류가 있는데, sddio는 스탠드 인풋 아웃풋 입출력 관련된 부분이라고 보시면 돼요. 데이터의 입력과 출력을 사용하는 기능들을 제공하고요.
1:22:29
주요 함수로서는 printf나 스캔f 이런 함수들이 포함되고 있다. 아이아이오 인풋 아웃풋 이렇게 보시면 돼요. 입출력 sdd는 스탠도드 표준 입출력과 관련되어진 함수들을 포함하고 있다. 스트링은 이름값에서 문자열이죠. 문자열 처리 사용되는 기능들을 제공한다. 주요 함수는 strlen 같은 경우는 streen langs 약어예요. 문자열의 길이가 어떻게 돼 str copy 문자열을 복사하라와 같은 함수들이 포함되어 있고 mas h는 매스매틱스 수학의 머릿글 떼내가지고 mass 수학 함수들을 제공한다.
1:23:15
주요 함수는 sqrrt나 앱슬루트 함수 등이 있고 std lib 함수는 표준 라이브러리 함수인데 자료형 변환이나 난수 발생이나 메모리 할당에 사용되는 기능을 제공하고 주요 함수는 atoi 또는 s land land 함수 free 함수 등이 있고 타임 시간이죠. 시간 처리와 관련되어진 기능들을 제공한다. 주요 함수는 타임이나 클락 등이 있습니다. 자바 언어의 대표적인 표준 라이브러리 정리하면요 자바는 라이브러리를 패키지에 포함하여 제공을 합니다.
1:23:56
그래서 밑에 자바의 주요 패키지들 정리해 살펴보도록 할 건데 앞서 저희가 패키지 이용할 때 어떻게 임포트 구문을 이용해 가지고 임포트 자바점 ut 이렇게 하게 되면 자바점 uty 패키지를 해당 이 어 자바페이지의 블루와 그래서 거기 안에 있는 클래스들을 이용하게끔 합니다. 패키지 종류 자바티노 랭 la엔진은 얘는 기본이에요. 그래서 자바에서 기본적으로 필요한 인터페이스와 자료형 등과 관련되어진 기능을 제공하는데 이 자바점 랭 패키지는 임포트 과정을 굳이 안 해도 기본적으로 이용할 수 있습니다. 주요 클래스론은 스트링이나 시스템이나 메스나 에러 등이 있습니다. 자마침 utl은 날짜 처리 난수 발생 복잡한 문자열 처리 등에 관련된 기능을 제공하고요. 날짜와 관련된 데이트 캘린도 랜덤 단순 랜덤 이러한 클래스들이 포함되어 있습니다.
1:24:55
자바침 io 인풋 아웃풋이죠. 입출력요 파일럿 입출력과 관련되어진 기능 및 프로토콜을 제공하고 주요 클래스는 인풋 스트림 아웃풋 스트림 라이토 등이 있습니다. 자바점 애니티 네트워크죠 네트워크와 관련되어진 기능 제공한다. 주요 클래스 소켓이나 url 마지막으로, 자바점 awt 사용자 인터페이스와 관련되어진 다양한 기능들 제공하고요. 프레임이나 판넬 버튼 책박스 등 클래스들이 포함되어집니다. 라이브러리 퀴즈입니다. 네 다음 중 라이브러리에 대한 설명으로 틀린 것은 표준 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리와 맞아요. 라이브러리는 표준 라이브러리와 웨이브 라이브러리가 있어 맞고요. 표준 라이브러리는 누구나 개발하여 설치할 수 있고 인터넷 다운받아서 설치한 후에 사용할 수 있다.
1:25:54
표준이 아니라 외부 라이브러리를 설명하고 있습니다. 그래서 설명이 틀린 건 삼 번이고요. 자주 사용하는 함수들을 반복적 코드 작성을 피하기 위해 미리 만들어 놓은 것으로 필요할 때마다 호출하여 사용할 수 있다. 네 다음 데이터 입출력에 대해 살펴보도록 하겠습니다. 데이터 입출력은 지금 다루고 있는 파트가 프로그래밍 언어 파트이기 때문에 언어 중심적으로요 c언어에서의 데이터의 표준 입출력과 관련해서는 함수가 담당을 한다. 그래서 이 표준입출력과 관련되어진 함수 종류 있는데, 표준입출력 함수는 키보드로 입력을 받아서 화면으로 출력할 때 사용하는 함수들이고 그 종류는 스캔 f 얘는 입력이에요. 위에 있는 건 입력이고요. 밑에 있는 건 출력이에요. 얘는 입력 밑에 있는 건 출력과 관련되어진 부분들입니다. 스캔f와 printf는 서식을 지정을 해서요. 어디 입력 또는 출력할 수가 있어요.
1:26:51
뒤에 서식 지정이라는 게 무슨 말이야. 뒤에 설명 드릴게요. 그 다음에 chr은 한 글자씩 입력받아 게츠는 여러 글자를 입력받을 때 푸치 hr은 반대로 출력이에요. 한 글자씩 출력 푸츠는 여러 글자를 출력 자바 언어의 데이터 표준 입출력으로서는 마찬가지 키보드 입력받은 값을 저장하고 화면에 서식을 지정해서 화면에 서식을 지정해서 출력할 때 사용하는 클래스와 관련되어진 메소드는 입력 관련 클래스는 스캐너 클래스가 있고요. 출력을 할 때 사용되어지는 메소드로서는 시스템 시스템 클래스의 서브 클래스인 아웃 클래스가 가지고 있는 메소드 동작 종류 중에 서식을 지정해서 출력할 때는 printf c언어와 마찬가지로 printf method를 이용을 할 수 있고요.
1:27:48
그 외에 print나 println 함수도 있습니다. 시언어에서의 표준 입출력 먼저 상세하게 스캔해프부터 살펴보면 스캔해프 함수의 사용 형식은 스캔해프 갈록꾸르미 함수는 갈록꾸르미를 가지고 안에 해당 함수 인수들을 가지죠 스캔해프가 가지는 함수인수는 두 개예요. 먼저는 서식문자열 쉼표 변수 주소 이렇게 돼 있습니다. 시언어에서 변수의 주소는 변수 앞에 and 기호를 붙여요. and 그리고 서식 문자열이라고 하는 부분은 입력받을 데이터의 데이터 타입을 지정을 합니다. 데이터 형식 데이터 타입했죠.
1:28:28
저희가 그리고 변수의 주소는 입력받을 데이터가 데이터에 데이터 타입이 아니라 입력받은 데이터의 저장력 저장되는 변수 일례로 스캔에프 괄호 상담표 % 3d 상담비 닫고 쉼표 and a다 이렇게 돼 있으면 이 % 기호는 서식 문자열을 구분하는 기호가 되고 이 3이라고 하는 부분 자체는 자릿수를 이야기를 해요. d는 데시멀의 약어입니다. 데시멀 숫자란 말이죠. 세 자리에 10진수요 10진수 세 자리를 입력을 받은 다음에 어디다가 넘겨줄 거냐 어디다가 저장할 거냐 변수 a의 주소에다가 저장을 할 거야. 해석은 그렇습니다. 특징은 입력받을 데이터에 자료형과 자릿수 지정이 가능하고 한 번에 하나만이 아니라 여러 개의 데이터 입력도 가능하고요.
1:29:27
서식 문자열과 변수의 대신 주의사항은요, 서식 문자열과 변수 자료형은 일치하게끔 지정을 해야 됩니다. 두 개를 입력 받아가지고, 어 a와 b에 각각 넘겨주는 얘인데 % d 앞에 첫 번째는 10진수를 입력받겠다. 이 말이고요. 그 다음에 두 번째 값은 소수점을 포함하는 실수를 입력받아서 첫 번째 값은 a변수 두 번째 값은 b변수의 주소에다가 저장시키겠다. 이렇게 해석할 수 있겠고 그리고 printf 함수는 출력이에요. 형식은 scenf하고 반대 개념이라고 보시면 돼요. 얘도 마찬가지 서식 문자를 지정하고 변수 이렇게 네 서식 문자는 변수의 자료형에 맞는 서식 문자를 지정하고 변수는 네 서식 문자의 순서에 맞게 출력할 변수를 지정합니다.
1:30:28
%는 수식 서식 문자를 뜻하고 여기는 % 빼기 8.2f단 서식 문자율이 이렇게 돼 있다고 하면 풀이를 해드리면, 하이퍼원이라고 하는 부분 자체는요 출력을 할 때 기본값은요, 오른쪽 정렬이 됩니다. 기본 정렬은요, 그런데 왼쪽을 정렬 기준으로 잡아라 이 말입니다. 왼쪽부터 출력을 하고 그 다음에 8은 자릿수예요. 여덟 글자를 출력을 시킬 거야. 그다음에 점 2 이렇게 되어 있는 부분은요, 소수점이 두 자리를 가질 거야. 소수점 소수점 이하가 두 자리로 지정을 하고 그다음 f는 플로틱 실수를 뜻합니다. 그래서 출력할 값 자체가 100.3이었다라고 하게 되면 출력 결과는요 왼쪽 기준으로 해가지고 1003 100.3 하고 그 다음에 소수 자리 이하 두 자리로 해요.
1:31:24
그러니까 이제 제로 가 붙고 실제적으로 별표 별표가 출력되는 건 아니고요. 공란이 이렇게 생긴다. 이 말입니다. 왜 하나 둘 셋 넷 소수점까지 포함해서 하나 둘 셋 넷 다섯 여섯 여섯 글자니까 여덟 글자 자릿수는 이렇게 돼 있기 때문에 오른쪽에 두 개가 빈 공란으로 남는다 이 말입니다. 서식 문자열 종류입니다. % d 대심어를 뜻해요. 10진수 정수형 십진수 입출 역시 지정하는 서식 문자열이고요. 그 다음에 % u는 부호가 없는 정수 언사인드 유유 네 그래서 부호가 없는 정수형 십진수 입출력 할 때 지장이고 그 다음에 % o입니다. o 옥텔 옥틀 오킬 8진수 팔진수 입출력 그 다음에 x입니다.
1:32:20
x 네 x 헥사데시멀 헥사데시멀 16진수입니다. 정수형 16진수 입출력 지정할 때 그리고 c는 캐릭터 문자 입출력 s는 스트링의 머릿글 문자열 입출력 지정하는 서식 문자열이고 애플은 플로트 소수점을 포함하는 실수 입출 역시 그 다음에 % e는 지수형 실수 입출 역시 지정하는 서식 문자열입니다. d csf 이 4개는 기억을 하시면 좋을 것 같아요. 다음 제어 문자 엉뚱하게 제어 문자가 나왔네, 네 제어 문자라고 하는 부분 자체는 해당 라인을 줄바꿈을 한다라든지 좀 띄운다든지 이렇게 할 때 사용할 수 있는 제어 문자인데요.
1:33:18
c언어를 지금 기준으로 해서 설명을 드리는 것들입니다. 역슬러시 n이다. 역슬러시 n은 의미가 뉴라인이에요. 슬러시 앤 예제를 보고 설명드리는 게 나을 것 같아가지고, 순서를 약간 바꿔 뒤에 거 이거 얘는 자바의 예제인데요. 네 이거 가지고 설명을 좀 먼저 드릴게요. 자바에서 보게 되면은 여기 약간 확대해서 보여드릴까요? 자바는 출력할 때 시스템 아웃 프린트 f다 설명드렸죠 여기 보면은 % d뿐만 아니라 사이 안에 역슬러시 n이 지금 사용되어 있죠. 역슬로시 n이 사용되어 있으면 해당 뒤에 출력할 건 1 2 3이에요. 그럼 어떻게 되냐면 이 자리에 들어가는 거죠. 해당 1 2 3을 출력을 하고 난 다음에 역슬러시 n은 한 줄 바꿔 이 말입니다. 줄 바꿈입니다. 그래서 지금 현재 얘가 출력이 하나 둘 셋 넷 다섯 여섯 일곱 여덟 개인데 다 지금 역설에서 n들이 다 들어가 있죠. 다 들어가 있으면 출력의 결과가 밑에 이렇습니다.
1:34:17
그러니까 이렇게 1 2 3 그다음 줄 바꿈 됐죠 이렇게 이해하시면 되세요. 그리고 해당 설명이 약간 섞여서 설명드릴 수 있지만 지금 먼저 설명드리는 부분이 연관해서는 얘가 예제를 먼저 알려드리는 게 나을 것 같아가지고, 순서를 좀 바꿨습니다. 네 % 5d다 이렇게 돼 있으면 해당 10진수를 출력하는데 자릿수는 다섯 글자를 맞춰 이렇게 돼 있단 말이에요. 근데 얘는 세 글자밖에 없어요. 그러면 어떻게 돼 있냐면 기본적으로는 어디에 맞춰준다고 말씀드렸죠 오른쪽에서 맞춰줍니다. 오른쪽 오른쪽에서 맞춰줘 가지고 1 2 3 앞에 뒤에 공백이 두 개가 비는 거죠. 이렇게 해석할 수 있겠습니다. 다시 백 돌아와서요 이어서 제어 문자 역슬러시 n을 포함을 시키면 커스를 다음 줄 앞으로 줄바꿈을 한다. 역슬러시 b는요 엑스페이스의 머릿거리입니다. b 커스를 왼쪽으로 한 칸 왼쪽으로 한 칸 이동시킨다.
1:35:16
기준 정렬은 오른쪽이란 말이에요. 기준 정렬은 근데 왼쪽으로 한 칸 이동시켜 이 말입니다. 그 다음에 역설로지 탭은요, 커스를 탭 키를 눌렀을 때 보면 일제 간격 떨어지잖아요. 네 탭의 머릿글 t 사용을 합니다. 이렇게 역설로지 t 커슬을 일제 간격 띄운다 역설러시 r은요, 캐러지 리턴 커스를 줄 바꿈이 아니라 현재 현재 줄의 제일 앞에 현재 줄의 제일 앞에 커스를 현재 줄에 처음으로 역설러시 n은 뉴 라인이었어요. 다음 줄의 앞 차이가 있습니다.
1:35:59
슬러시 0은요, 역슬러시 0은요, 넣을 문자를 출력해 그리고 역설러시 코따옴표는 네 작은따옴표 출력 역설러시 장따옴표는 큰 상따옴표 출력 역설러시는 역슬러시를 출력 역설러시 f는 한 페이지를 넘겨 폰피드를 의미합니다. 다음 실 언어의 기타 표준 입출력 함수 입력과 관련해서는 get char 키보드로 한 문자를 문자 하나씩 하나씩 입력받아서 변수에 저장하는 거고, gets는 키보드로 문자열 두 문자 이상 문자열을요 입력받아서 변수에 저장한다. 풋 cnchar은 인수를 한 문자를 화면에 출력 푸츠는 인수로 주어진 문자열 두 문자 이상을 문자열이라고 이야기합니다. 문자열을 화면에 출력한 후에 커스를 자동으로 다음 줄 앞으로 이동하는 함수가 되겠다.
1:36:57
자바의 표준 입력은 스캐너 클래스를 이용을 합니다. 소스의 예를 보면 해당 스캐너 클래스를 이용하기 위해서는요 해당 객체를 생성을 시킵니다. 그래서 스캐너 클래스명 그리고 s 스캔 01이 얘가 객체를 담는 변수예요. 객체 변수라고 이야기를 하는데 객체를 만들어서 담는 변수 뒤에 뉴 해당 연산자 사용해가지고 스캐너 클래스 이름 갈로 꾸르미 안에 시스템 io라고 하는 부분 자체는 표준 입출력 장치 즉 키보드로부터 값을 입력을 받는 객체 변수를 생성하자 라고 할 때는 이건 문법입니다. 뉴 스캐너 갈로 시스템 인 갈로 이렇게 하면 해당 스캐너 객체가 생성이 되어지고 그게 스캔 01이라고 하는 변수에 담깁니다.
1:37:56
그다음에 밑에 라인에 보면 invar 이꼴 스캔 01점 넥스트 인트 객체 변수는 그 객체가 가지고 있는 속성 메서드를 이용을 합니다. 그래서 객체는 클래스를 실체화시킨 거니까 스캐너 클래스가 가지고 있는 메서드 중에 넥스트 인트라고 하는 부분 자체는 넥스트 인트는 입력한 값을 정수형으로 반환을 시키는 반환을 시키는 동작을 수행을 하고요. 그래서 정수값으로 바꿔가지고 누구한테 넘겨주느냐 nvar 해당 입력받은 값을 저장할 변수에다가 넘겨주라 이렇게 이용할 수가 있는데, 개요적으로만 이렇게 개념적으로 살펴보는데 역할을 담당하는 표준 입력을 담당하는 클래스는 스캐너 클래스야 이렇게 아시면 되겠습니다.
1:38:49
자바에서요 표준 출력을 사용하는 역할을 담당하는 부분은 printf 미리 저희가 살펴봤죠 뒤에 예제에서 시스템 클래스의 서버 클래스인 out out 클래스가 가지고 있는 메소드 중에 프린테프는 서식을 지정을 해서 출력을 하게끔 할 수가 있어요. 그래서 이 프린트f는 c언어의 프린트 f 함수 사용법과 거의 같습니다.
1:39:14
안에 이 괄호 꾸러미 안에 사용되어지는 방식은 그래서 시스템 아웃 프린트 f 괄호 앞서서 살펴봤던 예제죠 % 마이너스 8.2f 쉼표 100.3 이렇게 하게 되면 왼쪽에서부터 출력을 하는데 전체 자릿수는 8글자야 소수점 이하를 두 글자 가지게끔 하고 그 다음에 f는 네 소수점을 가지는 실수형 데이터야 그리고 뒤에 있는 값을 출력을 할 때 1003.3 그리고 소수점이 하나밖에 없지만, 0을 붙여줘요 두 자리를 만들고 그다음에 vv가 인쇄되지 않는다. 말씀드렸어요. 이렇게 빈 공란이 두 칸 생긴다. 이 말입니다. 전체 8글자가 됩니다. 네 다음 넘어가겠습니다. 미리 살펴봤습니다. 자바 표준 출력의 예입니다. 파워블릭 클래스 자바 스튜디 이건 클래스 이름이고요.
1:40:13
그다음 중괄로 묶이고요. 묶이고 그 안에 퍼블릭 스텐틱 보이드 메인 갈로로 스트링 대괄로 그로미 아웃스 그래서 익셉션 이렇게 돼 있고 스탠드 아웃 프린트 프린트 f 그건 미리 설명을 드렸기 때문에 넘어가겠습니다. 자 데이터 입출력과 관련된 퀴즈 네 c언어에서 문자열 입력을 할 때 지정하는 서식 문자열로 올바른 것은 서식 문자열 종류 중에 문자 입력할 때 지정하는 건 뭔데 % c는 캐릭터잖아요. 한 글자 한 문자 % s가 스트링 얘가 문자열입니다. 2번이 정답입니다. x는 핵사 대시물 16진수 d는 10진수 정수예요.
1:41:04
정수 십진 정수 다음 두 번째 다음 중 c 언어 함수 중에 한 문자 입력 함수로 올바른 것은 한 문자를 입력하는 함수는 get char이었어요. 풋은요, 얘는 출력이 있어요. 한 문자를 출력 한 문자 출력이 풋 char 입력은 get 해서 4번입니다. 자 예외 처리와 관련된 내용 살펴보도록 하겠습니다. 예외 처리는 개념입니다. 프로그래밍에서요 예외라고 하는 부분은 프로그램의 정상적 실행을 방해하는 조건이나 상태를 뜻합니다. 예외가 발생했을 때 해당 문제를 처리하기 위한 처리 루틴을 수행하도록 하는 게 예외처리입니다. exception에 대한 핸들링을 하는 거 c 뿔뿔이나 자버 같은 프로그램 언어에서는 예외 처리 기능이 프로그램에 내장이 되어 있어요.
1:42:04
그런데 그 외에 c나 이런 쪽에서는 예외 처리가 없어요. 그런 경우에는 조건부를 이용을 해 가지고 예외가 발생했을 때는 이거 처리해라고 처리 루틴을 작성을 해서 이용할 수가 있겠습니다. 예외의 원인으로는 컴퓨터 하드웨어적인 측면에 대한 문제나 운영체제의 설정 실수나 라이브러리 손상 사용자 입력 실수 할당하지 못한 기억장치 접근 등 다양한 원인이 있습니다. 프로그램 언어에서의 예외 처리로서 자바에서의 예외 처리를 기준으로 살펴보도록 하겠습니다. 자바에서는 예외를 객체로 취급을 하고요. 예외와 관련되어진 클래스는 앞서서 저희가 패키지 중에 자바점 랭 같은 경우에 에러라는 게 있었죠. 에러가 포함되어 있었어요. 자바점 랭 패키지에 에러 클래스가 있어요.
1:43:03
트라이 캐치 구문을 이용해서 예외를 처리를 합니다. 트라이 내의 구문 블록코드 내에 어떤 걸 수행하다가 어떤 오류가 발생하게 되면 캐치로 넘어가요 프라이블록 코드를 수행하다가 예외가 발생을 하게 되면 예외를 처리하는 캐치 블록을 이동해서 예외처리 코드를 실행을 하고 예외 발생 이후 코드는 실행을 안 한다. 캐치 블록에서 선언한 변수는 해당 캐치 블록에서만 유효하고 트라이 캐치 구문 안에 또 다른 트라이 캐치 구문도 포함될 수 있습니다. 자 처리에 자바에서의 예제인데요. 트라이 시스템 아웃 점 프린트 오류 테스트 화면상의 오류 테스트 중이라고 찍히겠죠.
1:43:56
그다음에 트라이 구문 내에 어떤 오류가 없죠 예를 들어 오타로 시스템 점 아웃 프린트 내 시스템 점 아웃하고 점이 아니라 쉼표를 찍었다든지 이러면 오류가 있을 수 있죠. 그런 경우에는 테치 이하 이 부분에 대한 시행문이 시행된다. 이 말입니다. 셋은 아웃 점 프린트 오류 발생했어. 오류라고 찍고 그다음에 오류의 종류 리셉션 객체가 가지고 있는 메소드 메시지가 출력이 되어지게끔 하는데 해당 이 프라이 캐치 마지막에 있는 이 파이널이라고 하는 부분 자체는요 얘는 반드시 실행되어져요 파이널은 오류가 없는 경우에는 이거 실행이 되고 파이널이 실행되어질 거고요. 오류가 없는 경우에는요 오류가 발생한 경우에는 얘가 실행되지 않고 오류 메시지가 실행이 되고 그 다음에 파이널이 실행이 되어집니다.
1:44:56
파이널은 오류가 발생하든 발생하지 않던 실행되어지는 실행문 입니다. 자바에서의 주요 예 객체들이 있는데요. 종류 5 많네 이거 다 암기해야 되느냐 암기할 필요는 없고요. 객체 이름에서 의미를 유지할 수 있어요. 객체 이름에서 이렇게까지 세부적으로 묻진 않을 것 같은데, 설명을 좀 드리겠습니다. 클래스 나파운드 exception 클래스가 없어요. 찾아지지 않는다. 라는 exception이다. 이 말입니다. 클래스를 찾지 못하는 경우에 발생하는 예외가 되겠고 노서치 메소드 익셉션 그러한 메소드가 없어 메소드를 찾지 못했을 때 파일럿 파운드 파일 찾지 못했을 때 인터럭티드 아이오 익셉션 입출력 처리가 중단되었을 때 아르지메틱 수학적인 부분이잖아요. 산소 연산의 예외가 발생한 경우 릴레이그럴링 해당 어떤 잘못된 불법적인 어떤 아규먼트 인셉션입니다.
1:45:51
잘못된 인자가 전달된 경우 넘버프로메이트 인셉션 숫자 형식이 안 맞다. 이 말이죠. 문자열을 숫자 형식으로 변환하라고 요청한 경우에 이런 오류가 발생할 수 있겠고 array 배열이 인덱스 아웃 오브 바운드 배열의 범위를 벗어났다 네그티브 어레이 사이즈 0보다 작은 값으로 배열 크기를 지정하라고 하는 경우 noroint exception 존재하지 않는 객체를 참조한 경우 개괄적으로 한번 보도록 하겠습니다. 퀴즈입니다. 다음 중 문제 유형 익히겠습니다. 예외처리에 관한 설명으로 올바르지 않은 것은 1번 예외처리 기능은 프로그래밍 언어 자체에서는 지원하지 않으므로 프로그래머가 조건문을 이용해서 처리한다. 모든 프로그래밍 언어는 아니죠. 네 저희가 살펴봤던 자바 같은 경우에는 예외 처리가 프로그램 언어 내 이에 지원이 되어집니다. 네 그래서 예가 틀렸고요.
1:46:50
예외는 프로그램의 정상적인 실행을 방해하는 조건이나 상태를 뜻하여 예외가 발생했을 때를 대비해서 프로그램과 해당 문제를 처리하는 처리 루틴을 수행하도록 하는 것이 예외 처리이다. 맞고요. 예외가 발생했을 때 일반적으로 처리 루틴은 프로그램을 종료하거나 로그를 남기도록 합니다. 그래서 어떤 원인이 뭔지를 알고 그걸 해결할 수 있게끔 로그를 자동으로 남기도록 합니다. 프로토타입입니다. 프로토타입에 대한 개념인데요.
1:47:19
프로토타입은 저희가 언제 사용했던 용어였냐면 요구 분석 단계에서 보면 요구사항을 잘 수렴을 했는지 확인하는 측면에서 시제품을 만들어서 사용하는 게 프로토타입이라고 설명을 했는데 프로그래밍 언어에서는요 프로토타입이라고 하는 부분은 c언어를 기준으로 설명드리겠습니다. 함수의 프로토타입 함수원형이라는 의미로 컴파일러한테 사용될 함수에 대한 정보를 미리 알리는 것을 뜻합니다. c언어에서는요 프로토타입은요, 본문에 없 본문 내용이 없어요. 내용이 없고 해당 함수의 이름과 데이터 타입과 매개변수만 선언을 합니다.
1:48:11
본문이 없다는 걸 제외하고 함수와 형태가 동일하다 프로토타입에 정의되어진 반환형식은 함수 정의에 지정된 반환 형식과 데이터 타입을 이야기하는 거예요. 반드시 일치해야 된다. 그리고 c언어에서는 함수가 호출되기 전에 함수가 미리 정의가 되어 있다. 하는 경우에는 프로트 타입을 정의하지 않아도 된다. 소스를 보고 설명드릴게요. c언어에서의 프로토타입 선언의 예입니다. 시언어의 기본 형식입니다.
1:48:45
shop 인클루드 네 sddio h 껍스 낮고 그 다음 sdd 표준 입출력 헤드파일 인클루드로 해 그 다음에 메인 함수 근데 메인 함수 앞에 이렇게 엔트 func 괄호 이렇게 해놓은 게 이게 해당 어 func라는 함수에 대한 프로토타입 선언이에요. 자 시언어에서는요 해당 소스가 순차적으로 처리되어져요 순차적으로 처리되어지는데 c 언어에서 이 케이스 같은 경우에 보면 어떻게 돼 있냐면 이 프로토타입이 선언이 안 되는 경우에는 이 케이스에서는 오류가 발생할 수 있어요. 왜 그러냐면 메인 함수 내에 이 fuenc라고 하는 함수를 호출하고 있어요.
1:49:40
얘를 호출하고 있는데, 프로토타입이 위에서 프로토타입이라고 하는 부분 자체는 함수 선언 부분입니다. 함수 함수를 func라는 건 함수야 라고 선언을 해주고 해당 메인 함수에서 func를 호출하게 되면 func는 함수라고 했어. 그러면 함수가 어디 있지 라고 해서 밑으로 쭉 찾아가지고, 그 함수를 찾아서 실행물을 실행시켜요 실행시키는데 해당 이 함수에 대한 선원이 없는 상태에서 해당 함수 호출을 만나게 되면 얘가 이게 뭔지를 몰라요. 그래서 함수를 이해를 못해서 오류가 발생할 수 있거든요. 씌워놓는 그런 특징이 있습니다. 그래서 해당 제일 먼저 실행하는 부분은 메인 함수인데 메인 함수에서 다른 함수를 호출하는데 해당 이 femc라고 하는 함수가 메인 함수 위에서 정의가 되어졌다고 한다면, 굳이 얘가 필요 없다. 이 말입니다.
1:50:39
왜 얘는 함수야 함수 질문 이거네 그다음에 메인 함수에서 해당 함수를 호출하게 되면 얘는 함수였어. 그래서 찾아가지고, 그걸 바로 실행시키거든요. 복잡하게 설명을 드리는 거는 필요가 없을 것 같고요. 시언어에서의 프로그램 타입의 프로토타입 선언은 해당 함수 선언을 함수 전언을 메인 함수 위에 하는 거다 이렇게 이해하시면 될 것 같습니다. 다음 중 프로토타입에 대한 개념적으로만 정리하겠습니다. 프로토타입에 대한 설명으로 틀린 거고, 프로토타입은 컴팔로에게 사용될 함수 정보를 미리 알리는 거야. 이거 함수야 우리 함수를 쓸 거야. 라고 이렇게 미리 선언해 주는 거 맞아요. 프로그래밍 언어에서 프로토타입이란 함수 원형을 의미하는 거야. 네 맞고 함수가 호출되기 전에 함수가 미리 정의되어 정의되어 있다면 프로토타입을 선언하지 않아도 됩니다.
1:51:37
프로토타입의 반환 형식은 정의된 함수의 반환 형식과 반드시 일치해야 합니다. 근데 일치하지 않아도 된다. 이렇게 되어 있기 때문에 틀렸습니다. 무슨 말이냐 소스 가지고 설명 드릴게요. 네 func 앞에 요 데이터 타입 하고 실제 선언되어진 함수의 데이터 타입하고 이 두 개 아이가 소문자 네 이거가 반드시 같아야 된다. 이 말입니다. 모의평가 문제에요. c언어의 라이브러리에 대한 설명으로 틀린 것은 시언어의 라이브러리는 헤드 파일들이었죠. 스트링 h 문자열 처리 사용되는 기능 제공 맞고 타임 시간처리 사용되는 기능 제공 맞고 stdio 표준 입출력입니다. 데이터 입력 출력 사용되는 기능 제공 맞고 liv 수학함수 제공 수학 함수 제공은 매스였어요. mas std laba는 데이터 타입의 전환이라든지.
1:52:29
난수 발생이라든지. 그런 것들이 필요할 때 사용하는 부분이었고 틀린 것은 4번 두 번째 자바의 패키지 종류 중에 날짜 처리와 난수 발생 등과 관련되어진 기능을 제공하는 것은 자바 패키지에서 날짜 처리와 난수는 자바 뉴틸이었습니다. 자바점 뉴틸 패키지 다음 시언어의 함수 종류 중에 입력받을 데이터 이 자료용 자릿수 지정을 가능 한 함수 네 입력 데이터를 입력받는데 자리형이나 자릿수는 서식지잖아요. 서식 지정 가능한 거는 입력과 관련해서는요 게츠 해체할 게츠가 입력이고요. 스캔에프 이 세 개예요. 근데 서식을 지정해서 입력 받는 건 스캔에프입니다. 1번 정답 푸시hn은 출력이죠.
1:53:28
출력 얘는 출력 4번 c언어에서 사용되 사용하는 제어한 제어 문자에 대한 설명으로 옳지 않은 거 네 제어 문자 역설러시로 이렇게 뒤에 했던 거 있죠. 네 역설러시 n은 뭔데 뉴라이니아니 줄바꿈하라 다음 커스가 다음 줄에 위치하게끔 막고 역설어시 r은요, kergy returnia 현재 줄의 제일 앞 맞고요. 역설어시 b는 블랭크가 아니라 백스페이스였습니다. 백스페이스 그래서 얘가 틀렸어요. 그다음에 역설어시 t는 탭 맞습니다. 마지막 java에서의 예외처리에 대한 설명으로 옳지 않은 것은 java에서는 trine catch 구문을 사용하여 예외처리를 한다. 맞습니다. java는 예외를 객체로 취급하며 예외와 관련되어진 클래스를 자바점 랭 패키지에 제공한다. 에러 있었죠.
1:54:25
에러 클래스 그 다음에 트라이 블록에서 예외 발생 여부를 확인한 후에 예외가 발생하면 캐치 블록의 예외 처리 코드를 시행한다. 맞고요. 트라이 캐치 파이널리 구문에서는 예외가 발생하든 하지 않던 파이널리 블록코드 실행한다. 말씀드렸죠 근데 여기는 예외가 발생하지 않을 때만이라고 했기 때문에 틀렸습니다. 예외가 발생하던 발생하지 않던 파이널리 구문의 실행문은 실행을 합니다.
1:54:56
핵심 정리인 라이브러리 파트 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터를 미리 만들어 모아놓은 집합체와 일반적으로 도움말 설치파일 샘플 코드들을 제공하고 라이브러리 종류는 표준 라이브러리는 4장 돼있고 외부는 추가 설치가 필요하다 c언어의 대표적 표준 라이브러리로는 stdio h 스트링 매스 네 stdlib 타임 헤드 파일들이 있었고, 자바 언어의 대표적 표류 라이브러리로는 패키지 자바점 랭 자바점 유틸 자바점 io 자바점 네트워크 애니티 등이 있었습니다.
1:55:34
데이터의 입출력 키보드로 입력받아 화면을 출력할 때 사용하는 함수 또는 클래스와 메소드로 c언어에서의 데이터 표준 입출력 함수로서는 스캔에프 char 게츠는 입력 그리고 프린트f char 푸치는 출력 서식 문자를 사용해서 출력 또는 입력 입출력에 대한 서식 지정할 수 있는 건 스캐너법 프린트f였고요. 자바 언어의 표준 데이터 표준 입출력에서 입력 관련 클래스는 스캐너 서식 지정에서 출력할 때는 시스템적 아웃 클래스에 있는 printf method를 사용을 했었습니다. 예외처리 프로그램의 정상적인 실행을 방해하는 조건이나 상태가 예외였고 그 예외가 발생했을 때 해당 문제에 대한 처리 루틴을 수행하도록 하는 게 예외처리였고요. 자바에서의 예외처리는 트라이 캐치 구분을 사용해서 예외처리를 했었죠.
1:56:33
마지막 프로토타입 프로그램 언어에서 프로토타입이라고 하는 부분은 함수 원형이라는 의미로 컴파일러에게 사용할 함수에 대한 정보를 미리 알려주는 거고, 시언어에서는 함수가 호출되기 전에 함수가 미리 정의된 경우는 프로토타입 정의하지 않아도 돼 메인 함수 위에 메인 함수 호출되기 전에 위에 함수가 선언되어진 경우에는 해당 프로토타입 정의하지 않아도 되죠. 프로토타입에 정의되어진 반환 형식은 반드시 일치해야 한다. 라는 부분이 있었습니다. 이상으로 라이브러리 활용에 대해서 학습했습니다.
'정보박사 정보처리기사 필기강의 > 프로그래밍 언어 활용' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 3.응용 SW 기초 기술 활용 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 1.서버프로그램 구현 (0) | 2025.05.26 |
https://youtu.be/JFRKobYDMZ4?si=Wg4SoD80coZDQm1Y
1. 개발 환경 구축
1-1. 개발 환경과 클라이언트 환경 구성
- 개발 환경 구축에서 서버 시스템과 클라이언트 환경에 대해 이해해야 함
- 서버 시스템은 서비스 제공 시스템으로, 웹 문서 업로드, 다운로드를 제공함
- 클라이언트 환경 구성에서 웹 서비스, 웹 애플리케이션, 웹 애플리케이션 서버로 나뉨
- 웹 애플리케이션 서버는 동적 웹 서비스를 제공하기 위해 미들웨어를 설치함
- 미들웨어로는 왓스, 서비스, 애플리케이션 서버가 있음
1-2. 개발 환경 구축의 기초
- 개발 환경 구축을 위해 목적과 구축 설계를 명확히 해야 함
- 하드웨어 선정과 개발 소프트웨어 선택에 성능, 라이센스, 사용 편의성 등을 고려해야 함
- (중요) 소프트웨어 환경은 시스템 소프트웨어와 개발 소프트웨어로 나뉨
- 시스템 소프트웨어로는 운영체제, 자바 가상머신, 웹 서버 등이 있음
- 자바 가상머신은 운영체제와 독립적으로 자바 언어가 동작하도록 함
1-3. 서버 프로그래밍 언어
- 서버 프로그래밍 언어는 코드 작성, 편집, 디버깅 등을 포함함
- ECRM, 넷빈스, 인텔리 제이 등 다양한 소프트웨어 개발 도구가 있음
- 통합 개발 환경은 다양한 개발 도구를 포함하여 개발 환경을 의미함
- 클라이언트 환경 구성에서 웹 서버, 데이터베이스 서버, 웹 애플리케이션 서버가 있음
- 웹 애플리케이션 서버는 동적 웹 서비스 제공을 위해 미들웨어를 설치함
2. 목표시스템 개발
2-1. 개발 환경 준비
- 개발 환경 분석 및 설계 - 제안 요청서, 사업 계획, 요구사항 정의서 등을 분석하여 개발 환경 준비함
- 개발 언어 선정 - 목적에 적합한 프로그래밍 언어 선정이 중요함
- (중요) 프로그래밍 언어의 적정성, 효율성, 친밀성, 과거 개발 실적 고려함
- 개발 언어 선정 시 고려 사항 - 법령성, 효율성, 친밀성, 과거 개발 실적 등
- 통합 개발 환경 선정 - 운영체제 지원, 빌드 도구 등을 고려하여 선정함
2-2. 프로그램 언어와 환경 조건
- 자바, C++ 등 개발 언어 선정과 자바스크립트, C++의 특징 설명함
- 프로그래밍 언어와 환경 조건에 따라 개발 인원, 기간, 하드웨어 등을 고려함
- 소스 코드, 빌드, 테스트, 배포까지 포함하는 통합 개발 환경 설명함
- (중요) 이클립스, 마이크로소프트, 리눅스, 솔라스 등 통합 개발 환경 예시 제시함
- 빌드 도구 선정 시 친밀도와 숙련도 고려함
2-3. 테스트 및 관리 도구
- 테스트 도구 - 제이유닛, 쌍방향 테스트 등을 포함함
- 영상 관리 도구 - 시스템 변경 사항 관리, 버전별 관리 지원함
- 시스템 관리 도구 - 산출문의 변경 사항 관리, 시스템 품질 향상 지원함
- 개발 환경 구축 순서 - 환경 분석, 프로그래밍 언어 선정, 통합 개발 환경 선정, 테스트 및 관리 도구 선정 순임
- 목표 시스템 환경, 요구사항, 개발 언어, 인원, 기간, 하드웨어 등을 고려함
3. 서버 개발 환경
3-1. 개발 환경 구축 과정
- 개발 환경 구축 시 성능, 편의성, 개발자의 이해도 등을 고려함
- 소프트웨어 환경과 하드웨어 환경으로 구분하여, 하드웨어 환경에는 DBMS, 왓스 등이 해당함
- (중요) 시스템 소프트웨어와 개발 소프트웨어가 포함된 개발 환경을 구축해야 함
- 도구의 성격에 따라 형상관리 도구, 통합 개발 환경, 검증에 적합한 테스트 도구 등을 선정해야 함
- 널리 사용되는 자동화 도구를 선정하고, 검증에 적합한 테스트 도구를 함께 선정하여 효율성을 높임
3-2. 서버 개발 프레임워크
- 서버 개발 프레임워크는 웹 애플리케이션 서버에 탑재하여 웹 서버로부터 반환 요청을 처리하는 역할을 함
- 서버 개발 프레임워크는 다양한 프로그램 언어를 지원하며, 언어별 프레임워크가 다름
- 모듈화, 캡슐화, 재사용 가능성, 확장성, 제어의 역 흐름을 특징으로 함
- 제어의 역 흐름은 내부 처리가 아닌 외부 영향을 받음
- 프레임워크는 모듈화를 통해 생산성을 높이고, 재사용 가능성을 제공함
3-3. 서버 개발 프레임워크 선정
- 프레임워크는 모듈화, 캡슐화, 확장성, 제어의 역 흐름을 통해 생산성을 높임
- 스프링, 노드잼, 파이썬, 코드 이지터, 레이즈 등 다양한 프레임워크가 있음
- (중요) 프레임워크 선정 시, 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현을 고려해야 함
- 프레임워크는 생산성에 큰 영향을 주지 않으며, 다양한 모듈을 제공하여 개발자의 생산성을 향상시킴
- 프레임워크는 모듈화, 제사형성, 확장성, 제어의 역 흐름을 통해 생산성을 높임
4. 개발환경 구축
4-1. 개발환경 구축 개념
- 소프트웨어 개발 프로젝트를 이해하고 하드웨어 장비를 구축하는 것임
- 개발 환경 구축 단계에서는 소프트웨어 선정과 하드웨어 장비 구축이 중요함
- 목적에 부합하는 소프트웨어 선정이 우선되어야 함
- 목적에 따라 하드웨어 및 소프트웨어 선정, 개발에 사용되는 제품들의 성능과 라이선스 사용 편의성 파악이 필요함
- 개발 인력과 비용 명세서 작성은 개발 환경 구축 단계에서 필요하지 않음
4-2. 서버 환경 구성과 프레임워크
- 동적 웹 서비스는 정적 웹 서비스에 비해 웹 애플리케이션 서버가 제공함
- 웹 개발 프레임워크는 다양한 네트워크 설정 요청과 응답 처리를 지원함
- 프레임워크는 프로그램 언어와 프레임워크 특징에 따라 다름
- (중요) 프레임워크의 장점은 모듈의 재사용성, 개별 모듈의 내부 응집도 향상, 테스트 케이스 명세화임
- 프레임워크는 스프링, 노드, 여신, 루비 등 다양한 프로그래밍 언어와 프레임워크를 포함함
4-3. 모듈 구현과 재사용
- 공통 모듈은 정보 시스템 구축에서 자주 사용되는 기능들을 모아놓은 것임
- 재사용성은 공통 모듈 구현의 주목적임
- 재사용 범위에 따라 함수 및 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용으로 나뉨
- (중요) 재사용을 통해 검증된 기능을 시스템에 응용하고, 생산성과 품질을 향상시킴
- 재사용은 소프트웨어 개발 시간 및 비용 절감, 시스템 명세와 설계 문서 공유 등에도 도움이 됨
5. 모듈화와 그 응집도 및 결합도 이해
5-1. 모듈화의 개념과 장점
- 모듈화는 큰 문제를 작은 단위로 나누어 해결하는 방식임
- 복잡도를 낮추고, 문제를 이해 및 변경하기 쉽게 만듦
- 유지보수가 용이하며, 프로그램을 효율적으로 관리 가능함
- (중요) 오류의 파급효과를 줄이고, 설계 및 코드 재사용이 가능함
- 모듈화의 성공 여부를 측정하는 기준으로 응집도와 결합도를 고려함
5-2. 응집도와 결합도의 이해
- 응집도는 모듈 안의 구성 요소들이 유기적으로 협업하는 정도를 나타냄
- 결합도는 모듈 간의 연관성이 얼마나 있는지 나타내는 척도임
- 응집도가 높으면 모듈화가 잘 되어 있다는 것을 의미함
- (중요) 결합도가 낮을수록 모듈 간 독립성이 높아지며, 품질도가 높아짐
5-3. 응집도와 결합도의 유형과 품질
- (중요) 응집도와 결합도의 유형과 품질에 대해 이해하고 암기해야 함
- 기능적 응집도는 모듈 내부의 모든 기능이 단일화 목적을 위해 수행되는 경우임
- 순차적 응집도는 출력이 다음 기능에 사용되는 경우를 나타냄
- 논리적 응집도는 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에 처리되는 경우임
- 결합도는 모듈 간 연계 정도를 나타내며, 내용 결합도가 가장 높음
6. 모듈의 결합도 이해와 계산
6-1. 모듈 결합도의 개념 및 종류
- 모듈의 결합도는 모듈 간의 변수나 기능의 공통 사용을 의미함
- 결합도는 내용 결합도, 공통 결합도, 외부 결합 또는 제어 결합, 제어 제어 결합, 인터페이스 결합 등으로 나뉨
- (중요) 결합도가 높을수록 모듈 간의 상호작용이 많아지고, 결합도가 낮을수록 상호작용이 적어짐
6-2. 결합도가 높은 모듈의 특성
- 내용 결합도가 높은 모듈은 공통변수를 다른 모듈에서 사용하며, 이는 공통결합도로 표현됨
- (중요) 공통 결합도가 높은 모듈은 다른 모듈에서 선언된 전역변수를 참조하고 갱신하는 반면, 공통 결합도가 낮은 모듈은 이를 참조하지 않음
- 제어 결합도는 모듈 간의 인터페이스로, 이는 모듈의 업무 처리 방식을 결정함
6-3. 결합도를 측정하고 평가하는 방법
- (중요) 모듈 간의 상호작용을 파악하기 위해, 모듈의 응집도와 결합도를 정의하고 측정함
- 응집도는 공통 모듈 내 클래스 간의 협업 정도를, 결합도는 모듈 간의 인터페이스로의 접근 정도를 나타냄
- 각 모듈의 결합도는 모듈의 품질을 평가하는 중요한 지표로 활용됨
7. 소프트웨어 개발 보안
7-1. 소프트웨어 개발 보안 개요
- 소프트웨어 개발 보안, 소프트웨어 개발 과정의 보안 취약점 최소화와 사이버 보안 위협 대응이 목적임
- 기밀성, 무결성, 가용성 유지가 소프트웨어 개발 보안의 목표임
- 소프트웨어 개발 보안 가이드, 정부에서 제공하는 가이드 참고하여 점검해야 함
- 보안 점검 항목, 입력 데이터 검증, 보안 기능, 보안 기능의 취약, 시간 및 상태, 코드 오류, 캡슐화, API 오용 등 포함됨
- (중요) 코드 오류, 캡슐화, API 오용 등이 중요함
7-2. 보안 취약성 식별
- 소프트웨어 개발 보안 점검 항목, 7가지 보안 약점으로 나누어 설명함
- 입력 데이터 검증 및 표현, 보안 기능, 시간 및 상태, 코드 오류, 캡슐화, API 오용을 각각 다룸
- 보안 기능은 인증, 조건, 제어, 김일성, 암호화, 권한 관리 등으로 나뉨
- 시간 및 상태 약점은 동시 또는 병률 시스템의 프로세스 동시/그의 동시 수행 지원을 위한 것임
- 코드 오류 약점은 의도되지 않은 방법으로 API를 사용하거나 보안 취약한 API 사용으로 발생함
7-3. 보안 취약성 대응
- 캡슐화 약점은 중요 데이터를 꾸러미로 묶는 것임
- API 오용은 의도된 사용에 반하는 방법으로 API 사용하거나 보안 취약한 API 사용으로 발생함
- 보안 결정, 매개변수 미조정 등이 API 오용의 예시임
- 보안 취약성 대응을 위해 코드 팩토리화, 지속적인 보안 점검, 업데이트, 유지보수 필요함
- 보안 보완을 위한 외부 도구, 신뢰할 수 있는 파트너, 정부의 지원과 자금 지원도 고려해야 함
8. 소프트웨어 보안 기능과 취약점 대응 전략
8-1. 소프트웨어 보안 기능과 취약점 이해
- 보안 기능이란 소프트웨어 실행 중 오류 예방, 캡슐화 등을 의미함
- (중요) 시간 및 상태 관리는 병렬 시스템에서 부적절한 상태 발생을 예방함
- 비용 처리는 소프트웨어 실행 오류를 사전에 예방하는 기능을 의미함
- 캡슐화는 데이터와 함수를 객체로 묶어 코딩하는 방식을 의미함
8-2. API와 그 종류 이해
- (중요) API는 응용 프로그램 개발 시 이용할 수 있는 인터페이스임
- 윈도우 API, 단일 유닉스 규격 등 다양한 API가 존재함
- (중요) API를 이용하면 원하는 기능을 쉽고 효율적으로 구현 가능함
- 윈도우 API는 마이크로소프트 윈도우 운영체제와 관련이 있음
8-3. 보안 취약점과 관련된 이슈 이해
- 소프트웨어 취약점은 웹 애플리케이션의 보안이 취약할 때 발생함
- (중요) HTTP 헤더 인젝션은 공격자가 리스폰스 헤더에 추가한 내용으로 취약점이 됨
- (중요) 레벨 웹 애플리케이션에서 스크립트 삽입은 취약성 있는 웹사이트를 방문한 사용자에게 부정한 HTML이나 자바스크립트를 공격함
- (중요) SQL 삽입은 유효하지 않은 데이터를 실행하여 소프트웨어 버그를 야기하는 취약점임
9. 소프트웨어 개발 보안과 배치 프로그램
9-1. 소프트웨어 개발 보안의 중요성과 점검 항목
- 소프트웨어 개발 과정에서 보안 취약점을 최소화하는 것이 중요함
- 보안 점검 항목에는 시간 및 상태, 에라처리 코드, 오류, 오용 등이 포함됨
- (중요) 보안 기능이 포함된 소프트웨어 개발 보안 점검 항목에는 코드 오류, API 오용 등이 포함됨
- 코드, API 등 보안 기능이 포함된 항목은 소프트웨어 개발 보안 점검에 필수적으로 포함됨
9-2. 병렬 시스템과 소프트웨어 개발 보안
- 병렬 시스템에서의 보안 점검 항목에는 시간 및 상태 관리 등이 포함됨
- 소프트웨어 개발 보안 점검 항목에는 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점들을 최소화하는 내용이 포함됨
- 보안 점검 항목에는 코드 오류, API 오용 등이 포함됨
- (중요) 보안 취약성을 최소화하기 위해 소프트웨어 개발 시 안전한 보안 경로를 적용해야 함
9-3. 배치 프로그램의 개념과 필요성
- 배치 프로그램은 사용자 상호작용 없이 일련의 작업을 작업 단위로 묶어 처리하는 것을 의미함
- 대용량 데이터 처리, 자동화, 견고함, 안전성, 성능 등의 특징이 있음
- (중요) 배치 프로그램의 필수 요소로는 대용량 데이터 처리, 자동화, 견고함, 안전성, 성능 등이 있음
- 배치 스케줄러는 특정 업무를 원하는 시간에 처리할 수 있도록 지원함
10. 스프링 배치의 이해
10-1. 스프링 배치의 개요
- 스프링 배치는 잡, 스텝, 아이템, 청크, 아이템 프로세서, 아이템 리더 등으로 구성됨
- 잡은 일련의 연속된 스텝들로 구성되며, 아이템은 데이터 소스로부터 읽거나 저장하는 레코드들임
- 아이템 목록은 청크, 아이템 리더는 아이템을 읽어들이는 컴포넌트임
- 아이템 프로세서는 아이템 리더를 사용하여 데이터 소스에 저장하기 전에 처리하는 컴포넌트임
- (중요) 스프링 배치의 핵심 기능은 스프링 프레임워크를 기반으로 함, 자체 제공 컴포넌트, 견고함과 안정성 제공 등임
10-2. 스케줄러와 배치 프로그램 구현
- 스케줄러는 스프링 프레임워크에 연결된 잡과 실행 스케줄을 정의하는 트리거임
- 쿼드 스케줄러는 실행 환경을 관리하는 핵심 개체로, 잡디테일 작업명과 그룹 등을 정의함
- 스케줄러는 실행 시점을 알려주는 트리거 개체를 통해 스케줄링을 유연하게 함
- 배치 프로그램 구현을 위해 데이터 접근 오브젝트, 약어가 도로, 스케줄러 클래스를 작성함
- (중요) 배치 프로그램은 데이터 트랜스퍼, 밸류 오브젝트 등을 정의하고, 배치 스케줄러를 통해 자동으로 배치 프로그램을 수행시킴
10-3. 배치 프로그램의 핵심 로직
- 배치 프로그램의 비즈니스 로직을 구현하는 컴포넌트는 아이템 리더, 아이템 라이터, 아이템 프로세서, 아이템 리더임
- (중요) 스프링 배치의 핵심 기능은 스프링 프레임워크를 기반으로 하며, 작업 자동 분할도 포함함
- 배치 프로그램의 핵심 기능은 3가지이며, 스프링 배치의 4가지 구성 요소는 애플리케이션 티어, 데이터 티어, 런 티어, 잡 티어임
- 스프링 배치는 스케줄러와 함께 자동화된 배치 프로그램을 제공하며, 잡 티어를 통해 데이터의 동선을 분석함
00:03
정보처리기사 네 번째 과목인 프로그래밍 언어 활용의 첫 번째 학습 모듈인 서버 프로그램 구현에 대해 살펴보도록 하겠는데 그중에서 첫 번째 학습 능력 단위 요소 개발 환경 구축에 대해 살펴보도록 하겠습니다. 학습목표인데요. 응용 소프트웨어 개발에 필요한 하드웨어 및 소프트웨어의 필요 사항을 검토하고 이에 따라 개발 환경에 필요한 준비를 수행할 수 있다. 두 번째 응용 소프트웨어 개발에 필요한 하드웨어 및 소프트웨어를 설치하고 설정하여 개발 환경을 구축할 수 있다. 마지막으로, 사전에 수립된 형상 관리 방침에 따라 운영 정책에 부합하는 형상 관리 환경을 구축할 수 있다. 입니다. 학습내용은 두 가지로 나눠서 개발 환경 구축과 서버 개발 프레임워크에 대해 살펴보도록 하겠습니다. 먼저 용어 사전인데요.
01:01
세 가지만 정리하겠습니다. 구현 도구라고 하는 부분 자체는 프로그램을 개발할 때 가장 많이 사용하는 도구이고요. 코드의 작성 및 편집 그리고 디버깅 등과 같은 다양한 작업이 가능하고 예로서 ecrumcs나 넷빈스 인텔리 제이 등과 같은 다양한 소프트 용어들이 사용하고 있고 일반적으로 통합 개발 환경이라는 용어를 사용합니다. 그리고 클라이언트라고 하는 부분은 서버와 클라이언트 관계에서요 이용자죠 고객이 됩니다. 즉 시스템에서 제공하는 서버 서비스를 활용하기 위해 거래를 발생시키는 하드웨어 또는 웹브라우저 같은 경우 소프트웨어죠 웹브라우저도 클라이언트에 해당되었습니다. 마지막으로, 형상관리다 형상관리는 소프트웨어 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위한 위해서 개발되어진 일련의 활동들을 이야기합니다.
01:55
내용으로 들어가서요 개발 환경 구축 첫 번째 개발 환경 구축에 대한 개요 사항으로서 개발 환경 구축에 대한 개념을 정립해 보도록 하겠는데 개발 환경을 구축하기 위해서는 먼저는 해당 프로젝트에 대한 목적과 구축 설계에 대해서 명확한 이해가 선행이 되어야 됩니다. 그래야 이에 맞는 하드웨어와 소프트웨어 선정이 가능하게 되겠고 그리고 개발에 사용되는 제품들의 성능 라이센스 그리고 사용 편의성에 대한 내용 파악도 필요합니다. 개발 환경 개발 하류의 환경에 대해서 먼저 살펴보도록 하겠는데요. 첫 번째로, 클라이언트 환경 구성 저희가 지금 현재 다루는 지금 ncs 정보처리에서는 개발 환경 구축을 서버와 클라이언트 환경 다루고 있습니다.
02:48
클라이언트 환경 구성에서는 서버 시스템 서버라는 건 서비스를 제공하는 시스템을 이야기하는 거죠. 다양한 서비스의 종류에 따라서 웹 서비스를 제공해 웹 서버 파일을 업로드하고 다운로드 받는 걸 제공해 파일 서버 데이터베이스 데이터베이스 서버 다양한 서버 시스템에서 제공하는 서비스를 활용하기 위해 사용자와의 인터페이스 접촉점 역할을 하는 인터페이스를 제공하는 하류 그리고 소프트웨어도 여기 포함을 시키는 것이 나을 것 같아요. 왜냐 하드웨어적인 측면에서 일반적으로 pc 또는 핸드폰이 그 역할을 하겠고 거기서 이용하는 프로그램으로서는 주로는 웹 서버의 웹 문서를 볼 때는 웹브라우저를 주로 이용을 하죠. 또는 모바일 내에서도 보면 해당 인터넷에 있는 자료를 이용할 때도 모바일 내의 인터넷 앱이라든지.
03:47
그러한 것들을 이용을 할 수가 있겠습니다. 자 서비스를 제공하는 저 제공하는 서버의 개발 환경 관련해서 내용을 살펴보면요 서버의 환경 구성은 제공하는 서비스가 웹서비스다 이 웹서비스 같은 경우에는 약간 더 세분화시키면 일반적으로 웹 문서를 그냥 일방적으로 전달하는 서비스를 제공하는 정적 서비스라고 이야기를 하는데요. html문서 같은 경우에 그냥 이렇게 보여만 주는 서비스 그러한 정적 서비스를 제공하는 게 웹 서버예요. 근데 사용자가 참여를 해서 예를 들어 게시판에 글을 남긴다든지 아니면 양식을 통해 가지고 주문을 한다든지 이러한 부분들에 대해서는 동적으로 처리한다라고 해서 상대적으로 동적 처리인 경우에는 웹 애플리케이션 서버 이렇게 나눌 수 있겠습니다.
04:44
웹서버 웹서버는 클라이언트에서 요청하는 서비스의 속도를 향상시키기 위해 정적 파일인 html이나 css 캐스케이딩 스타일시트라고 이야기를 합니다. 그리고 이미지 이러한 것들을 제공하는 웹 서버 애플리케이션이 설치되는 하드웨어를 이야기하는 거예요. 서버 서버 컴퓨터 하드웨어 장치 그리고 앱 애플리케이션 서버는 웹 애플리케이션 서버 약어로 이제 was 왓스 서버라고도 합니다. 동적인 웹서비스 사용자들은 로부터 입력받은 값을 받아서 처리를 서버트 안에 처리하는 동적 웹서비스를 제공하기 위해 통켓이나 언더투 또는 iis 이와 같은 이러한 미들웨어라고도 하고요. 미들웨어인 왓스와 서비스에 관련되어진 애플리케이션이 설치된 하드웨어를 웹 애플리케이션 서버라고 한다. 펌켓 같은 경우에는 잡아요.
05:44
jsp is 같은 경우에는 asp로 서버 댄서 처리를 하죠. 데이터베이스 서버 데이터베이스 서버도 마찬가지 데이터베이스 해당 데이터베이스 관리 시스템이 설치되는 하류를 이야기합니다. 지금 저희가 살펴보는 건 소프트웨어가 아니라 개발 하드웨어 환경이니까요? 마이에스큐엘이라든지. 오라클이라든지. 마이크로소프트 sql 서버라든지 그러한 데이터베이스가 설치되는 하류요 를 이야기하고 파일 서버는 서비스를 제공하기 위해 파일을 조장하고 공유하기 위한 파일을 저장하는 하드웨어가 파일 서버가 되겠다. 다음으로, 개발 소프트웨어의 환경 하드웨어가 아니라 소프트웨어의 환경을 살펴보면 개발 소프트웨어 환경은 다시 시스템 소프트웨어와 개발 소프트웨어로 다시 나눌 수가 있습니다. 시스템 소프트웨어 종류로서요 대표적인 게 운영체제가 있죠.
06:42
구동 시스템 오퍼레이팅 시스템 컴퓨터를 동작시키는 네 운영체제의 종류 윈도우 리눅스 유닉스 또는 hpux 솔라리스 aix 등등 시스템 소프트웨어 첫 번째 운영체제가 있겠고 그다음에 jvm이라든지. 웹서버나 해당 왓스 같은 경우에는 미들웨어라고 이야기를 하는데 jvm은 자바 virtual machine의 약어입니다. 네 자바 가상머신 자바 같은 경우에는 해당 운영체제의 종류에 상관없이 또는 하드웨어적인 부분에 대해서 독립적으로 자바 언어가 동작될 수 있게끔 프로그래밍적인 측면에서 소프트웨어적으로 가상의 하드웨어 장치를 만든 게 자바 가상머신이에요. 자바 관련되어진 응용프로그램들을 기동 또는 구동할 수 있도록 하는 환경으로써 jvm 자바 가상 머신 그리고 웹 서버 앞서 저희가 살펴봤던 정적인 웹 서비스를 수행한다.
07:39
그냥 htmm 문서나 이미지나 이런 웹 문서 내용을 그냥 보여만 주는 정적 웹사이드를 수행하는 미들웨어로서 웹브라우저 화면에서 요청하는 정적 파일을 제공해 웹서버의 종류는 아파치 그리고 ngis나 구글 웹 서버 이런 것들이 있겠고 그다음에 왓스 서버 웹 애플리케이션 서버 웹 애플리케이션을 수행하는 미디어로서 웹서버 그래서 해당 서버 단에서 뭔가를 처리하는 서버 단에서 처리할 수 있는 서브 스크립트 언어들 jsp 자바 서브 페이지라든지 php 또는 asp 이러한 애플리케이션들을 수행할 수 있는 엔진으로 구성이 되고 있다. 통켓이나 앞서서 살펴봤던 언더투어나 제우스나 웹노직이나 웹소피어 등이 웹 애플리케이션 서버에 해당되고요. 여기는 소프트웨어입니다.
08:33
장착된 설치된 하드웨어는 앞부분에서 개발 하드웨어에서 저희가 다뤘고요. 다음 dbms 데이터베이스 매니지먼트 시스템 데이터의 저장 관리를 위한 데이터베이스 소프트웨어들이 되겠고 오라클사의 오라클이나 ibm의 db2나 사이베이스 마이크로소프트웨어 sql 서버라든지 마이 sql이라든지. 다양한 dbms들이 있겠습니다. 다음 두 번째로요 개발 소프트웨어에요. 앞서서는 시스템 소프트웨어였고 이번에는 개발 소프트웨어예요. 개발 소프트웨어는 해당 어떤 목적 및 기능에 따라서 이렇게 분류할 수 있는데, 먼저 요구사항 관리 도구다 요구사항 관리 도구는 목표 시스템의 기능과 제약 조건 등 고객의 요구사항을 수집 분석 추적을 쉽게 할 수 있도록 지원하는 도구 소프트웨어들이 있다. j feature라든지 j 레커짓 osmit 등등 해당되겠고요.
09:29
그리고 설계와 모델링을 도와주는 소프트웨어 도구들 기능을 논리적으로 결정하기 위해서 통합 모델링 언어인 uml을 지원하고 데이터의 설계 지원 등 설계 및 모델링을 지원하는 도구가 되겠고 종류로서는 아리고 uml이라든지. dev 디자이너라든지 스타 uml 등과 같은 소프트웨어들이 설계 모델링 도구에 해당되겠고 세 번째 구현 도구다 문제 해결 방법을 하드웨어 언어를 통해서 구현 및 개발을 지원하는 도구로서 통합 개발 환경들입니다. 자만 자바 위주는 주로 이클립스를 많이 이용을 하고요. 그리고 인텔리제이라든지.
10:12
해당 비주얼 스튜디오라든지 cc 뿔뿔 이런 케이스 같은 경우에는 이러한 구현 도구가 있겠고 다음 테스트 도구 구현 및 개발된 모듈들에 대해서 요구사항에 적합하게 구현되어 있는지 테스트를 지원하는 도구로서 제이유닛이나 cbp 유닛이나 제인미트 스프링 테스트와 같은 소프트웨어가 테스트 도구이고요. 마지막으로, 영상관리도구 산출문의 변경 사항들 버전별로 관리하여 목표 시스템의 품질 향상을 지원하는 도구 대표적으로 세 가지 시험에 자주 나오는 내용입니다. 형상관리도구가 아닌 거 골라 이런 형태 csv svn z이란 예가 있습니다. 다음 개발 환경의 구축 순서에 대해서 살펴보도록 하겠는데요. 개발 환경의 첫 번째 구축 순서는 목표 시스템의 환경 및 요구사항을 분석한다.
11:12
제안 요청서라든지 제안서나 사업적인 계획서 또는 요구사항 정의서나 시스템 아키텍처 애플리케이션 아키텍처 등 분석 및 설계 시 만들어진 산출물들을 분석해서 개발 환경을 준비하는 단계가 되겠고요. 목표시스템 환경의 예로서는 일례로 이번에 우리가 구축할 대상 시스템은 인사관리 웹 애플리케이션 시스템이야 목표 시스템을 이렇게 정리했고 필요한 개발 언어들은 사용될 개발 언어들은 자바 htm5 css 스프링 제이코어리 자바스크립트 aj 그다음에 sql 이런 것들이 사용되어질 거고, 개발 인원은 5명이 개발 기간은 3개월 동안 그리고 개발 하드웨어 사용은 이렇다 라고 하는 해당 목표 시스템의 환경을 정리를 하고요. 그다음에 개발언어 선정합니다. 프로그램의 언어요. 어떤 프로그램 언어를 사용할 것인가? 자 개발 언어의 선정 기준이라고 해서 고려 항목 다섯 가지가 있습니다.
12:11
다섯 가지를 보면요 먼저 적정성이다. 적정성은 대상 업무에 대한 성격 즉 개발하고자 하는 시스템이나 응용 프로그램의 목적에 적합한가 두 번째 효율성 프로그램의 효율성을 고려하자 네 나중에 저희가 실기 파트에서 다룰 거고요. 절차적 프로그램 언어라든지 객체 지향 프로그램 언어라든지 이러한 부분에서 해당 보면 임베디드 쪽 같은 경우에는 무조건 객체 지향이 좋다는 건 아니거든요. 내작년 하드웨어 쪽에서는 아직까지도 c언어가 많이 사용되어져요 함수 위주로 동작적인 부분을 필요로 하는 것만 뽑아가지고, 그러니까 해당 목적에 맞는 시스템에 따라서 프로그램의 효율성이 달라질 수 있습니다. 이식성이나 일반적인 pc 및 os에 개발 환경이 설치 가능해야 해 운영체제 종류에 따라서 지원되어지는 프로그램 랭귀지가 달라질 수 있죠.
13:10
해당 마이크로소프트의 윈도우에서만 동작되어지는 프로그램 랭귀지 같은 경우에는 윈도우 운영 체제가 많이 안 되잖아요. 친밀성 프로그래머가 그 언어를 이해하고 사용할 수 있어야 한다. 무조건 최신적인 프로그램 언어를 사용을 꼭 해야 된다. 근데 내부적으로 우리가 보유하고 있는 프로그램을 그 언어를 사용할 수 있는 사람이 없어 그러면 신규 인원을 뽑아야 되잖아요. 그러니까 이제 기존의 프로그래머들이 해당 사용 가능한지라는 친밀성도 꼭 고려 대상이 되겠죠. 법령성이다. 과거 개발 실적이나 사례가 존재하고 광범위한 분야에서 사용되고 있어야 해 기업 내에서도 보면 개발 업체들도 기업 포트폴리오를 관리를 합니다.
13:53
기존에 해당 업체가 수행했던 개발 프로젝트와 유사한 걸 수주를 하게 되면 굉장히 쉽게 구축할 수 있는 거고, 기존 소스가 있으니까 그렇지 않고 신규적인 측면으로 접근하게 되면 해당 기존에 필요 인력도 없다 하면 신규 채용해야 되고 해당 그걸 익히는 데 있어서 또 시간 투자되고 그렇겠죠. 그래서 보편적으로는 보면 법령성 위주로 해당 과거 개발 실적이 있는 프로젝트를 선호하죠. 다섯 가지 이해하시면 될 것 같고, 다음 개발원 선정을 일반적으로 앞서서 예제가 인사관리 애플리케이션 시스템이야 이렇게 했다고 하면 법령성이라든지. 일식성을 고려했을 때 자바 서버 프로그램 언어는 자바 그리고 클라이언트 쪽에서는 자바 스크립트나 hm5와 같은 개발 언어를 선정을 하면 좋겠다. 일례로요 다음 통합 개발 환경 선정을 합니다.
14:51
통합 개발 환경이라고 하는 부분 자체는 소스 코딩뿐만 아니라 해당 빌드 및 테스트 배포까지 할 수 있는 통합 개발 환경의 도구들 다양하게 있습니다. 네 다양한 도구들이 있는데, 일례로 이클립스 재단이 ibm의 이클립스 재단에서 개발한 어 통합 개발 환경인데 지원되어진 os는 다 지원을 합니다. 윈도우도 리눅스도 솔라 에이스도 다 지원하는 자바 c+c jsp 등 그리고 eclepsy의 퍼블릭 라이센스를 준용해야 되고요. 그다음에 라자루스라든지 다른 거는 개괄적으로 한번 볼게요 비주얼 스튜디오는 마이크로소프트웨어에서 개발을 했고 지원되는 운영체제가 윈도우밖에 안 돼 그런 경우에 리눅스나 솔라니스를 해당 이용은 못하는 거죠. 그러한 것들을 고려해야 된다.
15:43
c+vielder 안주타 등등 어떤 거는 리눅스에서만 지원되어지는 해당 통합 개발 환경들도 있고 리눅스 윈도 다 지원하는 것들도 있다. 네 그래서 해당 우리의 목표 시스템이 어떤 운영체를 설치하는지에 따라서 거기에 맞춰가지고 고를 수가 있겠고 다음 네 번째 프로그램 배포 및 라이브러리 관리를 위한 빌드 도구를 선정을 합니다. 빌드 도구의 예입니다. 빌드 도구의 예로서 그래드 메이븐 엔트 이렇게 세 가지 종류가 있는데, 그래드 같은 경우에는 주로 모바일 쪽에서 주로 사용되어지는 빌드 도구가 되겠고요. 네이븐이나 엔트 같은 경우에 비교를 해보면 메이븐 같은 경우에는 쭉 보면 재사용 가능한 플러그 인한 저장소를 가진다 그런데 엔트는 스크립트의 재사용이 힘들다 이러한 장단점들이 있습니다.
16:42
개괄적으로요 빌드 도구가 아닌 거 골라 그레드 메이븐 엔트 다른 거 엉뚱한 게 나오면 이거는 아니야. 네 이렇게 구분할 수 있는 정도로 개념 잡으시면 돼요. 자 빌드 도구의 선정은요, 프로젝트 팀원들이 해당 그 빌드 도구를 기존에 많이 사용했는지 친밀도와 숙련도에 따라서 결정을 하면 되겠다. 그리고 통합 개발 도구와의 호환도 가능한지 라는 것도 체킹을 할 필요성이 있겠고요. 다음 다섯 번째 개발 인원을 고려한 형상관리도구를 선정합니다. 형상관리도구의 예로서는 cvs svng등이 있고 형상관리도구의 선정은 목표 실천 환경을 고려하여 선정하고 통합개발도구와 호환성 마찬가지 고려합니다. 그리고 프로젝트 마지막으로, 검증에 적합한 테스트 도구를 선정합니다.
17:36
통합 개발 도구와 호환이 가능하고 널리 사용되는 테스트 자동화 도구를 선정을 한다. 개발 환경 구축의 순차적 순서 정리를 해봤습니다. 있어요. 퀴즈풀이로 문제 유형 파악해 보도록 하겠습니다. 개발 환경 구축 시 고려해야 할 요소에 대한 설명으로 잘못된 것은 첫 번째 성능 편의성 개발자의 이해도 등 다양한 요소들을 고려하여 환경을 구축한다. 개발 환경은 크게 소프트웨어 환경과 하드웨어 환경으로 구분될 수 있다. 맞죠. 하드웨어 환경에는 왓스나 dbms 등이 해당된다. 이거 약간 애매한데 하드웨어 같은 경우에 실제 얘들은 시스템 소프트웨어입니다.
18:27
소프트웨어고 이러한 설치되어져 있는 하드웨어 장치가 하드웨어죠 그렇기 때문에 단순하게 왓스 웹 애플리케이션 서버 그다음 dbms는 소프트웨어입니다. 소프트웨어이기 때문에 하드웨어 환경으로 분류하면 안 되겠고 개발 소프트웨어 환경에서 시스템 소프트웨어와 개발 소프트웨어가 포함된다. 맞죠. 두 번째 다음 중 개발을 위해 사용되는 도구의 성격이 다른 하나는 뭔가 z eclibs csvn 3 4는 형상관리 도구 네 이고요. 2번은 통합 개발 환경이죠. eclips 그래서 성격이 틀린 것은 2번이 틀렸습니다. 다음 두 번째 파트로 서버 개발 프로그램 워크로 넘어가도록 하겠습니다.
19:21
먼저 개요적인 측면에서 서버 개발에 대한 개념은요, 서버 개발은 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작을 하여 웹 애플리케이션 서버에 탑재하는 것을 의미한다. 웹 애플리케이션 서버에 구현된 서버 프로그램은 웹 서버로부터 반환 요청을 처리하여 결과를 반환하는 역할을 수행하고 서버 개발에 사용되는 프로그램 언어의 종류들로서는 자바스크립트나 파이슨 php 루비 등이 있다. 각 프로그램 언어에는 해당 언어로 서버 프로그램을 개발할 수 있도록 지원하는 프레임워크들이 각각 있다. 그래서 뒤에 프로그램 언어별 프레임워크 종류 살펴보도록 하겠습니다. 프레임워크는 사전적 의미로는 뼈대 골조다 소프트웨어에서는 특정 기능을 수행하기 위해 필요로 하는 클래스나 인터페이스 등을 모아놓은 집합체를 뜻합니다.
20:19
프레임워크 프레임워크의 특징 네 가지가 있는데요. 먼저 모듈화 모듈화는 하나의 단위로 만든다는 거죠. 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 역량을 최소화하여 소프트웨어 품질을 향상시킬 수 있다. 그리고 제사형성은 생산성을 높이기 위해서 기존에 만들어진 걸 다시 사용하는 거죠. 재사용 가능한 모듈들을 제공함으로써 개발자의 생산성을 향상시킬 수 있다. 세 번째 확장성이다.
20:48
프레임워크는 다형성을 통해서 인터페이션 확장이 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능하다 마지막 제어의 역 흐름이라는 부분은 어 이게 무슨 말인가 해당 용어 자체에서 약간 이해가 안 되는데 내부적으로 살펴보면 프레임워크 코드가 전체 애플리케이션 처리 흐름을 제어하여 특정한 이벤트가 발생할 때 다형성을 통해서 애플리케이션을 확장한 메소드를 호출함으로써 제어가 프레임워크로부터 애플리케이션 거꾸로 흐르게 된다. 쉽게 설명드릴게요. 내부적 처리가 아니라 외부의 영향을 받는다. 이렇게 보시면 돼요. 프레임워크는 외부 것도 이용을 하고 또 이용당하기도 하고 그렇습니다. 그래서 제어의 그름 이렇게 프레임워크의 특징 네 가지가 있습니다. 문제 내기 좋죠.
21:39
프레임워크 특징이 해당되지 않는 거 골라 이런 식으로 보기 항목 내기 사지삼답형으로 객관식으로 문제는 나오니까 다음 개발 프레임워크에 대한 개념입니다. 서워 개발 프레임워크에 대한 개념입니다. 서버 프로그램 개발을 할 때 서버 프로그램 개발 시 다양한 네트워크 설정 요청 및 응답 처리 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어를 이야기한다. 서버 개발 프로그램 워크에 따라서 지원하는 프로그램 랭귀지가 제한적이기 때문에 선정할 수 있는 프레임워크도 제한적이다. 즉 프로그램 언어별로 그 언어를 기반으로 만든 프레임워크가 다르다 이 말입니다. 서버 개발 프레임워크는 대부분 공통적으로 모델 뷰 컨트롤러와 같은 패턴을 기반으로 개발이 되어져 있다. 서버 개발 프로그램의 종류입니다. 자바 언어를 기반으로 만들어진 프레임워크는 대표적인 게 스프링입니다.
22:38
전자정보 표준 프레임 어업의 기반기술로도 현재 사용되고 있어요. 국내 전자정보 표준 프레임워크의 기반기술로도 스프링이 사용되고 있고요. 그다음에 노드 js는 자바스크립트 언어를 베이스로 기반으로 만들어진 프레임워크다 그리고 디장구 파이썬 언어를 기반으로 만들어진 프로그램 언어이고요. 그리고 코드 이지터는 php 언어를 기반으로 만들어진 프레임워크이고 그리고 레이즈 러브 온 레이즈 러비 프로그램 언어를 기반으로 만드는 프레임워크가 레이즈입니다. 해당 언어와 프레임워 약간 매칭해서 섞었을 때 이게 올 발라 이게 틀렸어 이렇게 구분할 수 있는 정도로 학습해 주시면 좋을 것 같아요. 자 퀴즈로 서버 개발 프레임워크 문제 유형 살펴보겠습니다.
23:35
서버 개발 프로그램 서버 개발 프레임워크에 대한 설명으로 틀린 것은 개념 문제죠 주로 모델 뷰 컨트롤러 패턴을 기반으로 개발되었다. 방금 전에 살펴봤죠 맞고 서버 개발 프레임워크는 생산성에 큰 영향을 주지는 않는다. 자 프레임워크를 사용하는 목적 지진은 생산성을 높이기 위해서 사용을 하는 부분이죠. 네 그래서 이 설명이 틀린 설명입니다. 생산성에 영향을 줍니다. 보다 쉽게 효율적으로 네 할 수 있게끔 서버 프레임 개발할 때 사용할 수 있는 다양한 클래스 및 인터페이스들의 집합체를 의미하고 네트워크 설정이나 요청 및 응답처리 아키텍처 모델 등 다양한 모듈을 제공한다. 그렇기 때문에 생산성을 더 높일 수 있다. 이 말이죠.
24:21
쉽게 더 개발할 수 있게끔 두 번째 다형성 다형성이라고 하는 부분은 우리가 객체 지향 프로그램 언어에서 해당 동작 메소드 자체가 다양한 형태로 똑같은 동일한 이름이지만 동작될 수 있게끔 지원하는 게 다형성이었습니다. 오픈 열어라 라고 했을 때 동작이 미닫이로 열 수도 있고 이렇게 여닫이로 열 수도 있고 다양하겠죠. 동작적인 부분 자체가 다양성을 통해 인터페이스의 확장이 가능하여 다양한 형태의 기능을 가진 애플리케이션 개발이 가능한 프레임워크 특성은 뭐야? 프레임워크 특성 4가지 살펴봤었잖아요. 모듈화 네 가지죠 제사 형성 확장성 제어의 역 흐름에서 문제 자체에 보면 키 포인트가 확장이잖아요. 확장이 가능하도록 해서 이렇게 돼 있으니까 확장성을 이야기합니다. 익스텐서빌러티 정답은 3번입니다.
25:21
다음 모의평가 문제 다섯 문제로 정리하겠습니다. 개발환경 구축과 관련한 설명 중에 올바르지 않은 것은 첫 번째 해당 프로젝트의 목적과 구축설계에 대한 명확한 이해가 먼저 필요하죠. 선행적으로 그리고 목적에 부합하는 소프트웨어 선정이 이루어져야 돼 맞게끔 목적에 맞는 하드웨어 및 소프트웨어 선정 개발에 사용되는 제품들의 성능과 라이센스 사용 편의성에 대한 내용 파악도 필요하겠죠. 개발 인력과 비용에 관련되어진 명세서 작성은 개발 환경 구축 단계에서 필요하지는 않습니다. 4번이 틀렸고요. 다음 두 번째 개발 환경 구축 중에 서버 환경 구성에서 동적 웹 서비스 아까 정적 동적 상반되어진 정적이다라는 부분 자체를 일방적으로 전달하고 끝 그냥 내용만 보여주는 거 htm 문서 이미지 이런 것들 동적은 응답을 받는다라는 부분이에요.
26:19
폼 양식을 통해서 일반적으로 게시판에 글 쓸 수 있게끔 뭐 동적 웹사이즈를 제공하는 것과 관련되어진 것은 웹서버는 정적 웹서비스이고요. 웹 애플리케이션 서버가 동적 웹서비스 제공입니다. 다음 세 번째 산출물의 변경 사항을 버전별로 관리하여 목표 시스템 품질 향상 지원하는 개발 소프트웨어는 경상관리도구였죠 경상관리도구 다음 서버 개발에 사용되는 프로그램 언어와 프레임워크의 연결이 잘못된 것을 골라라 네 파에서는 뒤 장구 자바는 스프링 자바스크립트는 노드 js였어요. 노드 js 그리고 레일즈는 루비였어요. 언어가 프레임 언어가 루비였습니다.
27:11
그래서 3번이 틀렸고 php는 코드 이지 이것 니터 다음 5번 다음 중 프레임워크 특징에 해당하지 않는 것은 네 가지 특징이 있었습니다. 제사 형성 확장성 모듈화 그리고 제어의 역 흐름 안정성은 아니었죠. 네 가지 다음 핵심정리 두 파트로 저희가 살펴봤어요. 개발환경 구축 개념은 업용 소프트웨어 개발을 위해서 개발 프로젝트를 이해하고 소프트웨어 하드웨어 장비를 구축하는 것을 뜻한다. 개발 하류웨어 환경으로서는 클라이언트 서버 종류들이 있었고, 개발 소프트웨어 환경에서는 시스템 소프트웨어가 이러한 웹서버나 이러한 스템 프로그램들을 이야기했었고요.
28:01
얘들이 설치되어져 있는 하드웨어 장치가 개발 하드웨어 서버 컴퓨터들이고 개발 스프레어로서는 목적 내용에 따라서 요구사항 관리 도구 설계 모델링 도구 구현 도구 빌드 도구 테스트 도구 정상 관리 도구들이 있었습니다. 마지막으로, 서버 개발 프로그램에 대한 핵심 내용은 서버 프로그램 개발할 때 다양한 네트워크 설정 요청 및 응답 처리 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 모아놓은 소프트웨어 집합체가 서버 개발 프레임워크였고요. 서버 개발 프레임워크 종류로서는요 프로그램 언어별로 스프링 노드 js 디장구 코드 이그지토 그다음에 레이즈 이러한 것들이 있었습니다. 네 이상으로 개발 환경 구축에 대해 살펴봤습니다. 서버 프로그램 구현 두 번째 공통 모듈 구현에 대해 살펴보도록 하겠습니다.
28:58
학습 목표는요 공통 모듈의 상세 설계를 기반으로 프로그래밍 언어와 도구를 활용하여 업무 프로세스 및 서비스의 구현에 필요한 공통 모듈을 작성할 수 있다. 둘째, 소프트웨어 측정 지표 중 모듈 간의 결합도는 낮추고요. 모듈 간의 결합도는 줄이고 개별 모듈 안에 있는 내부 응집도는 높이는 공통 모듈을 구현할 수 있다. 그리고 중요합니다. 세 번째 공통 개발된 공통 모듈의 내부 기능과 제공하는 인터페이스에 대해서 테스트할 수 있는 테스트 케이스를 작성하고 단위 테스트를 수행하기 위한 테스트 조건을 명세화 할 수 있다. 입니다. 살펴볼 내용은요, 네 파트로 나눠서 살펴보도록 하겠는데 분량은 많지 않아요. 재사용 모듈과 응집도 결합도 순차적으로 살펴보겠습니다.
29:59
용어 자전으로서요 엉집도라고 하는 부분 자체는 이전에 저희가 애플리케이션 설계 파트에서 공통 모듈 구현에 대해서는 저희가 첫 번째 저희 과목에서 하긴 했어요. 자 응답도 코이즘 모듈 레이브에 존재하는 구성 요소들 사이에 밀접함의 정도 이 응답도는 높을수록 양질의 품질을 품질로 평가를 받습니다. 응접도가 높을수록 구성 요소들이 꼭 필요한 것들만 모여있어 결합도는 모듈과 모듈 사이 간의 관계성의 정도인데 이 모듈 간의 관련성이 적을수록요 상호 의존성이 낮아져서 모듈의 독립성이 높아지고 독립성이 높으면 모듈 간의 영향이 적기 때문에 품질도는 높습니다.
30:54
다시 정리하면 언급도는 높고 결합도 모듈 간의 결합도는 낮은 해당 곳이 품질도가 높은 소프트웨어다 내용으로서 첫 번째 재사용입니다. 재사용 리우즈죠 여기서는 지금 대상을 공통 모듈에 대한 재사용을 저희가 살펴보고 있어요. 공통 모듈은 뭔데 공통 모듈은 정보 시스템 구축을 할 때 자주 사용되어지는 기능들 이 기능들을 모아놓으면 얘를 필요할 때 따로 구축하지 않고 그걸 이용하면 되는 거죠. 그래서 자주 사용되는 기능들로 재사 형성이 가능하도록 패키지로요 패키지 방식은 클래스 라이브러리 컴포넌트 프레임워크 이러한 네 가지 패키지 방식이 있는데, 이러한 형태로 제공을 하는 독립적 모듈을 공통 모듈이라고 한다. 공통 모듈의 주목적이 재사용성입니다.
31:46
재사용은요, 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이 되겠다. 재사용의 종류입니다. 재사용 범위에 따른 분류로서 함수 및 객체의 재사용이 아니 함수 펑션 함수나 객체 클러스 단위로 구현한 쇼스코드를 재사용하는 것을 이야기하는 거고요. 컴포넌트를 재사용해야 컴포넌트 단위로 재사용하는 컴포넌트는 다시 클래스들을 모아놓은 하나의 꾸러미 단위입니다. 컴포넌트 인터페이션을 통해 통신할 수 있어 그리고 애플리케이션 재사용에 의한 공통된 기능을 제공하도록 구현을 한 애플리케이션과의 통신으로 기능을 통해서 공유를 해서 재사용하는 것을 이야기한다. 자 짧게 이렇게만 정리를 했습니다.
32:42
문제 유형 볼게요 소프트웨어와 재사용에 대한 설명으로 거리가 먼 것은 틀린 것은 개념 문제인데 새로운 개발 방법론의 도입이 어려워질 수 있소 그렇겠죠. 굳이 새로 개발하지 않고 기존 거 이용하는 거니까 새로운 개발 방법론의 도입이 어려워질 수 있다. 두 번째 소프트웨어의 개발에 대한 생산성은 향상된다. 생산성이라고 하는 부분 자체는 해당 비용을 줄이면서 결과치를 만들어낼 수 있는 거 그러니까 기존에 만들어낸 걸 이용하니까 재사용하니까 생산성은 높아지겠죠. 시스템 명세나 설계나 코드 등의 문서의 공유도가 증가할 수 있다. 그런데 프로젝트 실패의 위험성이 증가한다. 이게 틀렸습니다. 자 기존에 검정된 거를 저희가 다시 이용하는 거니까 해당 실패의 위험도는 낮아지겠죠.
33:40
재사용을 하게 되면 두 번째 소프트웨어 재사용에 대한 장점이 아닌 건 뭘까? 개념 문제입니다. 개발 시간 및 비용을 감소시킬 수 있다. 그렇겠죠. 미리 만들어져 있는 거 이용하는 거니까 소프트웨어의 품질을 향상시킨다. 그렇겠죠. 검증되어진 거니까 생산성이 증가되 맞죠. 고급 프로그래머의 배출이 용이하다 오히려 이게 역효과가 될 수 있어요. 새로운 걸 안 만들어내니까 기존에 있는 거를 그냥 이용만 할 수 있으면 굳이 고급 인력의 필요는 없겠죠. 네 그래서 고급 인력 배출이 용이하다 오히려 고급 인력 배출을 낮출 수 있다. 많이 배출 못 하게 할 수도 있는 역효과가 있겠다. 네 다음 모듈화입니다. 모듈화의 개안이 개념입니다. 네 모듈화는 자 일반적으로 우리가 어떤 문제를 접했어요.
34:33
해결해야 될 문제 그 문제를 큰 덩어리로 이렇게 보면 머리 아프죠 그러니까 하나하나 내가 할 수 있는 거 이렇게 쪼개 가지고 네 문제 해결해 나가잖아요. 즉 해결하기 어려운 큰 문제를 만나게 되면 작은 단위로 쪼개서 하나하나씩 해결해 가는 것처럼 소프트웨어 개발도 실제로 개발할 수 있는 작은 단위로 나누어 가는데 그게 바로 모듈화이다. 모듈화를 하게 되면 얻을 수 있는 장점은 분할과 정복 디바이드 앤 컨콜 이렇게 되어 있는데, 분할 나눈다는 말이에요. 나눠가 하나하나씩 해결해 나간다 분할과 정복의 원리를 적용을 시킴으로써 복잡도를 낮출 수 있고 그리고 문제를 이해하기 쉽게 만들고 변경하기 쉽고 변경에 의한 역량도 적게 할 수 있고 유지보수도 용이하고 프로그램을 효율적으로 관리할 수 있고 오류의 파급효과를 낮출 수 있고 설계 및 코드를 재사용할 수 있겠다.
35:31
장점입니다. 모듈화가 제대로 잘 됐는지 안 됐는지에 대한 측정의 기준으로서 응집도와 결합도를 고려합니다. 응집도는 개념 정리했던 것처럼 인터페이스의 요청을 처리함에 있어서 모듈 안에 내부 구성요소들 간에 유기적 협업도 협업하여 처리하는가? 어느 정도 유기적으로 얼마나 협업해서 처리하는가를 뜻하는데 응집도는 높은 게 모듈화가 잘 됐다. 이렇게 측정할 수 있겠고 결합도는 커플링 어떤 모듈과 다른 모듈 간의 연관 관련성인데 독립성을 높이는 것이 품질도가 높은 거예요. 근데 결합도는 오히려 낮아야지 좋다. 학습한 내용 간단한데 모듈화 문제 한번 풀어보겠습니다.
36:30
효과적인 모듈화 설계 방법으로 거리가 먼 것은 첫 번째 커플링은 강하게 커플링이 뭐였어요. 결합도 코이즈는 응집도 이렇게 영어로 물을 수 있기 때문에 영어로도 뜻을 알아두시는 게 필요합니다. 커플링은 강하게 코이즌은 약하게 설계한다. 이게 틀렸어요. 결합도는 낮추고 응집도는 높여라 이렇게 했죠. 결합도가 커플링이고 코이즌이 응집도니까 커플링을 약하기 코이즌을 강하게 설계한다가 맞습니다. 그래서 틀린 것은 1번입니다. 복잡도라든지 리던던시라든지 이러한 것들은 줄일 수 있도록 하고 메인터넌스 유지 유지보수가 용이하도록 설계하고 모듈의 크기는 시스템의 전반적인 크기 기능과 구조를 이해하기 쉬운 크기로 설계한다. 세 번째 응집도입니다.
37:20
코이즌 응집도는 공통 모듈 레일 클래스들이 외부 이런 걸 수행함에 있어서 얼마나 서로 내부적으로 클래스들끼리 서로 연계하여 협업 협동해서 수행하는지를 나타내는 정도가 되겠다. 왼쪽이 응답도가 낮은 거예요. 여기서는 각각이 서로 클래스들 간에 서로 간에 이렇게 해당하는 협업적인 부분이 약하고 오른쪽은 모듈 내 응답도가 높은 케이스예요. 보면 클래스들 간에 또는 인터페이스와 해당 상호 간에 해당 연계성이 높죠 자 엉집도의 유형과 품질입니다. 엉집도의 유형은 총 7가지가 있습니다. 자 이 7가지를 엉집도가 낮은 순에서 높은 순으로 나열한 것 중에 올바른 거 골라 이렇게 문제를 냈을 때 풀 수 있어야 됩니다.
38:16
그렇기 때문에 얘는 조금 팁을 갖고 암기하는 방법이 중요한데 제가 그냥 이렇게 쉽게 암기할 수 있는 문장을 하나 만들어 봤어요. 우선 7개의 종류는 기능적 응집도 순차적 응집도 통신적 응집도 절차적 응집도 시간적 응집도 논리적 응집 또 우연적 응집도입니다. 영어로도 나올 수 있습니다. 그렇기 때문에 펑셔널 시퀀스 커뮤니케이션 프레스 듀얼 템퍼럴 그 다음 로직 인스턴스톨 이렇게 해당 보기 항목이 영어로 나올 수 있으니까 영어도 익혀 놓을 필요가 있겠고 해당 세부적인 내용적인 부분 자체도 뽑아 가지고 이 기능을 가지는 응집도의 종류는 뭐야? 라고 물을 수도 있어요.
39:09
그렇기 때문에 해당 유형별 어 설명 내용도 네 어 살펴볼게요 기능적응립도는 모듈 내부에 주 키 포인트가 있어요. 기능적 엄집도는 기능이라는 단어가 들어가 있으면 아 기능적 응집도 이렇게 구분할 수는 있을 겁니다. 의료 내부의 모든 기능이 단일화 목적을 위해서 수행되는 경우다 이렇게 돼 있고요. 기능적 엄집도가 응집도가 제일 높아요. 응집도는 높은 게 품질도도 높아요. 다음 순차적 응집도는 모듈 내에 한 활동으로부터 나온 출력값이 다시 다른 활동에 사용되어지는 경우 순차적 응집도 통신적 응집 또는 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있는 경우 절차적 응집도는 모듈이 다수의 관련 기능을 가질 때 모듈 안에 구성 요소들이 그 기능을 순차적으로 수행한다.
40:02
시간적 응집 또는 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리하는 경우 논리적 공개 또는 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에 처리되는 경우 마지막 무연조 엉집도가 엉집도가 제일 낮습니다. 모듈 네이버의 각 구성 요소들이 연관이 없다. 문장을 하나 만들어 봤는데요. 해당 엉집도는 기능이 순차적으로 통신이 되어져야 절차적 시간이 논리적이 되고 우연적이지 않다 이렇게 제가 문장을 만들어 봤는데 본인만의 이 문장보다도 더 쉽게 암기할 수 있는 문장이 있으면 문장을 알아요. 이렇게 만들어 가지고요. 어 어렵게 기억하지 마시고 문장 단위별로 이렇게 응용하셔가지고, 풀이하시면 좋을 것 같아요. 그래서 추천드리는 문장입니다.
40:58
기능은 순차적으로 통신해야 돼 순서 순서가 낮게 이렇게 통신을 하면 절차를 따질 때 네 그 시간 자체를 논리적으로 해서 일단 우연성을 낮출 수 있어 이렇게 기억하시면 좋을 것 같아요. 다음 응집도에 대한 퀴즈입니다. 한 모듈 내의 각 구성 요소들이 공통의 목적을 달성하기 위하여 서로 얼마나 관련이 있는지 기능적 연관을 나타내는 건 뭔지 개념 문제죠 코이즘 응집도를 뜻합니다. 그래서 영어로도 이렇게 익혀 놓으셔야 돼요. 커플링이 결합도죠 두 번째 모듈의 응집도에 대한 설명으로 틀린 것은 모듈의 응집도란 모듈 안의 요소들이 서로 관련되어 있는 정도를 말해 맞죠.
41:45
기능적응집도는 한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 요소의 입력 자료로 제공되어지는 형태야 기능적 엄집도는 해당 그 기능이 한 단위로 처리된다고 했었고 이 내부 설명 뒤에 있는 설명은 얘는 순차적 엄집도를 설명하고 있습니다. 한 모듈 레이의 기능 요소에 대한 출력이 다음 기능 요소 입력자로 사용되어서 순차적 응집도 시퀀스 코이즌을 이야기합니다. 얘가 틀렸고요. 교환적 응집도 커뮤니케이션 코이즈는 동일한 입력과 출력을 사용하는 작업들이 모인 모듈에서 볼 수 있다. 논리적 응집도는 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우다 이렇게 정리하면 되겠습니다.
42:37
마지막으로, 결합도 커플링에 대해 살펴보도록 하겠는데 프로세스를 처리함에 있어서 각각의 모듈들 간에 서로 얼마나 연계되어 있는가 관련이 있는가를 나타내는 정도다 공통 모듈이 어떠한 인터페이스 처리를 함에 있어서 다른 공통 모듈을 호출하는 경우가 많아 그 경우는 모듈 간의 결합도가 높다고 볼 수 있고 다른 공통 모듈 간의 호출이 거의 없어 그런 경우에는 공통 모듈의 결합도는 낮다 라고 볼 수 있는데, 어느 게 좋은가 예가 좋습니다. 결합도는 낮은 게 독립성을 더 높일 수 있으니까 결합도도 마찬가지로 유형과 유형별 품질 어 응집도와 마찬가지로 얘를 좀 암기할 필요성이 있어요. 형집도는 총 7개였는데 결합도는 6개입니다.
43:28
유형이 내용결합도 컨텐트 공통결합도 컴온 외부결합도 익스터널 제어결합도 컨트롤 스탬프 결합도 스탬프 자료 결합도 데이터 이렇게 6가지가 있는데, 여기에 결합도가 높다 위에 있는 게 결합도가 높아요. 내용 결합도가 제일 높은 거고요. 품질도는요 오히려 얘가 낮아요. 내용 결합도가 높은 거는 품질도는 낮은 겁니다. 내용 결합도는 모듈 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에 있는 변수나 기능을 다른 모듈에서 사용을 하는 경우를 뜻합니다. 공통결합도는 파라미터가 아닌 모듈 밖에 선언되어 있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용이 있다.
44:16
외부 결합 또는 모듈이 다수의 관련 기능을 가질 때 모듈 안에 기능 요소들이 그 기능을 순차적으로 수행하는 것을 이야기하고 제어 결합 또는 단순 처리할 대상의 값만 전달되는 게 아니라 어떻게 처리해야 하는지에 대한 제어 요소가 전달되는 경우 스탬프 결합도는 모듈 간의 인터페이스로 배열이나 오브젝트 스트럭처 등이 전달되어지는 경우 마지막 자료 결합도 결합도가 제일 낮습니다. 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우다 여기도 추천 문구 이렇게 한번 만들어 봤는데요. 결합도가 높은 건 높은 내용은 공통적인 것을 외부로부터 제어해서 얘를 외부로부터 제어한 다음에 도장을 꾹 찍은 자료가 중요한 내용의 문서야 이렇게 개념 잡으셔가지고, 문장 하나 만들어 봤어요.
45:16
높은 내용은 공통적인 것을 즉 내용 공통 제어 도장을 그냥 스탬프라고 했어요. 스탬프 자료 요렇게 요 순서가 네 결합도가 높은 순서에서 낮은 순서입니다. 문제가요 뒤에 저희가 예제 문제 있을 건데 약한 거부터 강한 순 이렇게 물어줄 수도 있고요. 반대로 강한 것부터 약한 순으로 나열한 거 올바른 거 골라 이렇게 물어줄 수도 있습니다. 결합도 퀴즈 문제 풀어보도록 하겠습니다. 결합도 결합도 커플링 단계를 자 여기서는 약한 순서에서 강한 순서로 가장 옳게 표시한 것은 이라고 돼 있어요. 암기 못하셨죠. 다시 앞에 볼까요? 결합도가 강한 게 콘텐츠 내용 내용은 공통적인 것을 외부로부터 세요. 한 후에 스탬프를 찍은 자료야 이렇게 했었죠. 근데 문제에서 물었던 거는 뭐냐면 강한 순서에서 약한 순이 아니라 약한 순에서 강한 순이었어요.
46:15
약한 거는요 데이터였죠 데이터 그다음에 스탬프 컨트롤 마지막에 4번이 정답입니다. compon content 이렇게 섞었을 때 해당 결합도 응집도도 마찬가지 이렇게 문제 물어질 수 있습니다. 두 번째 결합도 문제 다음 중 독립적 모듈이 되기 위해서 가장 좋은 결합도 상태는 뭔가 하니 독립적 모듈이 되기 위해서 결합도는 높으면 안되죠. 낮은 거 제일 낮은 게 뭐였어요. 데이터 그다음 낮은 게 스탬프 컨트롤 컨텐트 이렇게 컨트롤 스탬프 컴먼 콘텐트 데이터가 없네요.
47:11
결합도가 두 번째 낮은 게 스탬프였겠죠. 그래서 결합도는 낮은 게 조 품질도가 높은 모듈입니다. 그래서 정답은 스탬프 커플링 다음 모의평가 문제 풀어보겠습니다. 소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은 새로운 개발 방법론 도입이 용이하다 얘가 틀렸습니다. 재사용을 굳이 하는데 새로운 개발 방법론을 어 막 이렇게 많이 시도해서 할 일이 별로 없잖아요. 그렇기 때문에 재사형성 의 단점으로서 새로운 개발 방법론 도입이 어렵다 그래서 이게 거리가 이점과 거리가 먼 거예요.
47:58
생산성 증가 소프트웨어 품질 향상 프로젝트 문서 공유는 재사용성의 이점입니다. 다음 두 번째 소프트웨어 재사용과 관련하여 객체들의 모임 대규모 재사용 단위로 정의되는 건 뭐야? 이렇게 돼 있어요. 오브젝트들의 모임은 컴포넌트 1번이 정답입니다. 프레임워크하고 약간 혼동하지는 마세요. 컴포넌트와 프레임워크의 차이는 상호 호출되어지는 건 프레임워크예요. 다음 세 번째 모듈의 응집도가 약한 것부터 강한 수온으로 옳게 나열한 것은 여기서는 응집도를 묻고 있습니다. 응집도가 약한 것부터 강한 거를 묻고 있어요. 응집도가 가장 높은 거 뭐였었냐면 기능이었어요. 기능 자 봅시다 기능이 있네요. 네 기능이 있는데, 제일 강한 게 기능이었어요.
48:58
그러면 여기서는 지금 현재 세 개밖에 없어요. 세 개가 아니라 섞어 놓은 거예요. 그러면 기능이 제일 오른쪽에 있는 거 3번이 정답이네요. 뚝딱 이것만으로도 이렇게 구할 수도 있습니다. 기능 기능 그다음에 시간적 그다음에 논리적 그다음에 우연적 논리적 시간적 절차적 기능 기능 기능 자 앞서서 제가 문구 이렇게 말씀드렸는데 그걸 한번 잘 암기하셔 가지고 고를 수 있게끔 하시면 돼요. 그렇게 어렵게 나오진 않습니다. 모듈의 응집도가 약한 거 강한 순으로 올바르게 하는 것은 논리적 시간적 응집도 3분의 정답입니다.
49:45
네 번째 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우이며 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생되는 결합 또는 뭔가 제어라는 단어가 몇 번 반복해서 나왔죠 컨트롤 커플링을 뜻합니다. 3번입니다. 제어 결합도 마지막 다섯 번째 다음 중 가장 약한 결합도는 뭐야?
50:22
자 결합도는 내용 결합도 내용이 공통적인 것을 제어해서 도장을 찍은 자료 이렇게 문구 추천 알려드렸죠 가장 강한 거는 컨텐츠가 가장 강하고 내용이 컴먼한 것을 외부적인 부분을 제어해가지고 스탬프를 찍은 데이터 그래서 제일 약한 거는 데이터 커플링이었고 그다음 약한 게 스탬프였어요. 그래서 약한 가장 약한 결합들을 묶고 있으니까 보기 항목 중에서는 스탬프 커플링이 제일 약합니다. 네 내용 정리하겠습니다. 재사용 재사용은 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이야 재사용 범위에 따른 분류로서 함수 및 객체 재사용 컴포넌트 재사용 애플리케이션 재사용 등이 있었고요.
51:22
두 번째 모듈화는 재사용하기 위한 단위 소프트웨어 개발 작업을 실제로 개발할 수 있도록 하는 작은 단위 나누는 것이 모듈화였고요. 모듈화의 측정 척도 응집도와 결합도가 있었는데, 모듈 간의 좋은 관계는 응집도는 높게 결합도는 낮게 하는 모듈이 품질이 좋은 모듈이다. 응집도 네 엔터페이스의 요청을 철회함에 있어서 공통 모듈 내에 모듈 안에 있는 클래스들 간에 얼마나 서로 유기적으로 협업하는가? 네 나타낸 정도였고요. 언집도의 유형은 총 7가지가 있었습니다. 7개에 대한 것 중에 엉집도가 제일 높은 게 기능적 응집도 펑셔널 코지전이었고요.
52:11
그다음에 기능 기능 기능을 순차적 네 순차 시퀀스 그 다음에 해당 커뮤니케이션 통신 통신을 하면 절차적인 해당 시간을 논리적으로 논리적으로 하고 우연을 낮출 수 있다. 이렇게 제가 문구 알려드렸죠 그렇게 하나의 여러분만의 암기할 수 있는 문장을 만드셔 가지고 암기하시는 걸 추천드립니다. 다음 결합도 어떤 모듈이 다른 모듈에 의로 하는 정도 결합도는 6가지 유형이 있었어요. 결합도가 제일 높은 게 내용이었습니다. 컨텐츠 커플링 부터 컴먼 익스터널 컨트롤 스탬프 데이터 내용의 공통적인 것을 네 뽑아서 외부와 제어한 다음에 도장 찍은 자료 이렇게 제가 추천드렸죠 자 이상으로 공통 모듈 구현에 대해 살펴봤습니다.
53:10
네 서버 프로그램 구현 세 번째 네 이름이 똑같습니다. 서버 프로그램 구현에 대해 살펴보도록 하겠습니다. 목표인데요. 업무 프로세스 맵과 세부 업무 프로세스를 확인할 수 있다. 두 번째 세부 업무 프로세스를 기반으로 프로그래밍 언어와 도구를 활용하여 서비스 구현에 필요한 업무 프로그램을 구현할 수 있다. 세 번째 개발하고자 하는 목표 시스템의 잠재적 보안 취약성이 제거될 수 있도록 서버 프로그램을 구현할 수 있다. 마지막 네 번째 개발된 업무 프로그램의 내부 기능과 제공하는 인터페이스에 대해 테스트를 수행할 수 있다. 입니다. 살펴볼 학습 내용은 두 가지 보안 취약성 식별과 api에 대해 자격 검정의 세부 출제 기준에 맞춰서 살펴보도록 하겠습니다.
54:06
영어 사전으로서 api는 애플리케이션 프로그램이 인터페이스의 약어입니다. 응용 프로그램 개발할 때 운영체제나 프로그램 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정해놓은 인터페이스를 이야기합니다. 내용으로서요 보안 취약성 식별부터 살펴보면 소프트웨어 개발 보안에 대한 개념을 좀 범위를 넓혀서 살펴볼게요 소프트웨어 개발 보안의 개념은 소프트웨어 개발 과정에서요 발생할 수 있는 보안의 취약점 예로서 개발자의 실수나 논리적 오류와 같은 보안 취약점을 최소화하여 최소화하고 사이버 보안 위협에 대응할 수 있는 안전한 소프트웨어를 개발하기 위한 일련의 연관되어진 보안 활동을 소프트웨어 개발 보안이라고 지칭하고요.
55:02
소프트웨어개발보안의 목표는요 데이터에 대한 기밀성 컴퓨텐셜리티 기밀성이라는 것은 비밀성이라고 이야기하는 부분입니다. 해당 그 권한이 있는 사람만 볼 수 있게끔 무결성이라고 하는 부분 자체는 권한이 있는 사람만 수정할 수 있게끔 가용성이라고 하는 부분 자체는 권한이 있는 사람만 이용할 수 있게끔 이 세 가지 기밀성 무결성 가용성 유지를 목표로 합니다. 정부에서 제공하는 소프트웨어 개발 가이드를 참고하여 소프트웨어 개발 과정에서 점검해야 할 보안 항목들을 점검할 수 있는데, 세부적인 행자부에서 행정자치부에서 제시한 소프트웨어 개발 보안 가이드 구성 7가지 보안 점검 항목 살펴보도록 하겠습니다.
55:57
첫 번째 입력 데이터 검증 및 표현 우선 7가지 종류부터 볼까요? 입력 데이터 검증 및 표현 보안 기능 시간 및 상태 에러 처리 그리고 코드 오류 캡슐화 api 오용 이렇게 일곱 가지입니다. 입력 입력 데이터 검증 및 표현은요, 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증 그리고 데이터의 잘못된 입력 잘못된 형식 지정으로 인해서 발생할 수 있는 보안 약점을 이야기를 하고요. 여기에 해당되는 예로서는 에스큐엘 삽입이나 자원 삽입이나 크로스 사이트 스크립트 크로스 사이트라는 것은 웹사이트 간의 해당 스크립트를 실행시킬 수 있게끔 하는 부분은 보안 취약사항입니다.
56:44
일반적으로 게시판에 해당 파일 첨부를 올릴 때 php로 작성되어진 웹사이트인 경우에는 첨부파일을 php 파일을 못 올리게 막아야 돼요. 그렇지 않으면 해당 서버 내의 파일들을 처리할 수 있는 해당 소스를 이용을 해가지고 조작해버릴 수 있거든요. 그리고 크로스 사이드 스크립트 이런 것들이 입력 데이터 검증 및 표현에 해당되어지는 약점들이고요. 그리고 보안 기능 보안 기능은 인증 접근 제어 기밀성 암호화 권한 관리 등 적절하지 않게 구현 시 발생할 수 있는 보안 약점이 되겠다. 부적절한 인가라든지 중요 문서에 대한 평문 저장 중요 문서를 암호화해서 저장해야 되겠죠. 등이 있겠고 시간 및 상태의 설명 문구에서는 시간적인 설명 용어가 나와요.
57:38
동시 또는 그의 동시 수행을 지원하는 병률 시스템 하나 이상의 프로세스가 동작하는 환경에서 시간제 상태를 부적절하게 관리하여 발생할 수 있는 보안 약점이 되는데 예로서는 경쟁 조건이나 제어물을 사용하지 않는 재귀함수 무한 반복이 무한 루프가 돼버리겠죠. 계속 멈추지 않고 실행되게끔 그렇게 될 수도 있겠다라는 거구요. 에러 처리단 에러를 처리하지 않거나 에러가 있는데, 에러를 처리 안 했다든지 불충분하게 처리를 해서 에러 정보에 대한 중요 정보가 포함될 때 발생할 수 있는 보안 취약으로서요 취약한 패스와 요구 조건이라든지. 오류 메시지 등을 통해 정보가 노출될 수 있는 것을 이야기합니다.
58:23
다섯 번째 코드 오류라고 하는 보안 점검 항목은 타입 변환 오류 자원 메모리 자원 등 부적절한 방안 등과 같이 개발자가 범할 수 있는 코딩 상황에서의 오류로 인해서 유발되는 보안 약점인데 널 포인트에 대한 역참조나 부적절한 자원 해제 등이 해당되고요. 그리고 여섯 번째 캡슐화 중요 데이터를 꾸러미로 묶는 거죠. 중요데이터 또는 기능성을 불충분하게 캡슐화를 하게 되면 인가되지 않는 사용자한테 데이터가 노출될 수 있는 가능성이 있는 보안 약점을 이야기하는 거고, 제거되지 않은 디버그 코드나 시스템 데이터 정보 노출과 같은 것이 예가 되겠습니다. 마지막으로, api 오용이라고 하는 부분 자체는 의도되어진 사용에 반하는 방법으로 api를 사용하거나 보안에 취약한 api를 사용해서 발생할 수 있는 보안 약점입니다. 실례로 dns 로그업 도메인의 서버 루그업에 의해 의존한 보안 결정이나 noul 매개변수 미조사 등 이러한 것들이 해당되어지겠습니다.
59:24
자 살펴본 내용은 많지 않는데 문제 유형 살펴볼게요 보안 취약성 식별 퀴즈입니다. 소프트웨어 개발 보안 점근 방금 저희가 살펴봤던 게 소프트웨어 개발 가이드였는데 이게 소프트웨어 개발 보안 점검 항목입니다. 7개에 대한 설명으로 옳지 않은 거 첫 번째 보안 기능은 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증 데이터의 잘못된 형식 지정으로 인해 발생할 수 있는 보안 약점이야 이게 틀렸어요. 빠르게 우리가 살펴봤기 때문에 설명 문구를 뭘 이야기하냐면 입력 데이터 검증 및 표현 유형에 해당하는 설명 문구예요. 프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증 그리고 데이터 입력된 형식 잘못된 입력 형식으로 인해 발생할 수 있는 보안 약점이야 이게 뭐다 입력 데이터 검증 및 표현이고요.
1:00:19
보안 기능이라고 하는 부분은 인증 조건 제어 김일성 암호화 권한 관리 등 적절하지 않게 구현할 때 발생할 수 있는 보안 약점이었어요. 그래서 설명이 올바르지 않은 거는 1번입니다. 1번의 설명은 보안 기능에 대한 설명이 아니고 입력 데이터 검증 및 표현에 대한 설명이었어요. 두 번째 맞는 것도 한번 저희가 다시 되짚어보도록 하겠습니다. 에러 처리라고 하는 부분은 소프트웨어 실행 중에 발생할 수 있는 오류들을 사전에 정의하여 예방하는 것이야 그리고 캡슐화라고 하는 부분은 데이터와 함수를 하나의 객체로 묶어 코딩하는 것을 의미해 그리고 시간 및 상태는 동시 또는 거의 동시 수행을 지원하는 병렬 시스템에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안 약점을 뜻한다는 맞는 보기고 틀린 건 1번 자 api에 대해 살펴보도록 하겠습니다. api는 애플리케이션 프로그램이 인터페이스의 약어입니다.
1:01:18
있는 그대로요 애플리케이션 응용 프로그램을 프로그래밍 할 때 이용할 수 있는 인터페이스 접촉점 역할의 서비스다 자 보기 내용 봅니다. api는 응용 프로그램 개발할 때 운영체제나 프로그램 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정해놓은 인터페이스를 뜻한다. lpi는 프로그램 언어에서 특정한 작업을 수행하기 위해 사용하거나 운영체제의 파일 제어나 화상 처리 문자 제어 등의 기능을 활용할 수도 있다.
1:01:59
api를 개발할 때요 네 개발에 필요한 여러 도구들을 제공하기 때문에 이를 이용하면 원하는 기능을 쉽고 효율적으로 구현이 가능하다 자 포털 사이트 같은 경우에 네이버 같은 경우 네이버 지도 나도 네이버 지도처럼 그러한 것들을 서비스하고 싶은데 그러면 네이버 지도처럼 데이터를 일일이 해당 그걸 갖춰야 되느냐 네이버에서 우리 네이버 지도 갖춰놓은 거 다른 웹사이트에서도 이용할 수 있게끔 api 제공합니다. 네이버 지도 api 그거를 사용하는 매뉴얼을 공개를 하거든요. 거기에 맞춰가지고요. 따로 구현하지 않고 다른 홈페이지에서도 네이버 지도 또는 구글 맵 이러한 것들 이용할 수 있도록 api 서비스를 합니다. api 종류는 윈도우 api나 단일 유닉스 규격 sus는 싱글 유닉스 스페시피케이션 약어입니다. 그리고 자바 api 웹 api 등이 있고요.
1:02:51
누구나 쉽게 사용할 수 있도록 공개되어진 api를 오픈 api라고 합니다. 자 api의 종류 4가지 조금만 더 구체적으로 살펴보면 윈도우즈 api는 윈도우 어디서 만들었어요. 마이크로소프트 마이크로소프트의 윈도우 운영체제에서 사용하는 api 를 뜻하고요. c나 c++ 프로그램에서 직접 운영체제와 상호작용할 수 있도록 만들어졌고 그보다 낮은 수준의 제어는요 ntdlari dl 파일은요, 다이나믹 링크 라이브러리 파일이 dll 파일이에요. 동적으로 다이나믹하게 링크 연결되어진 라이브러리 파일 dl 파일들을 이용할 수 있다. 윈도우 에피아서리스는 세부적으로 안 다루겠습니다.
1:03:46
목록으로만 살펴볼게요 윈도우 api 서비스의 종류로서는 기본 서비스나 고급 서비스 그래픽 장치 인터페이스와 관련되어진 api 서비스 사용자 인터페이스 그리고 공통 대화 상자 라이브러리 api 서비스 그리고 공통 컨트롤 라이브러리 그리고 윈도우 셀 네트워크 서비스 웹 이런 것들이 있습니다. 두 번째 단일 유닉스 규격이다. 단일 유닉스 규격이라는 건 싱글 유닉스 스페시피케이션인데 유닉스 운영체제예요. 컴퓨터 운영체제가 유닉스를 사용하기 위해서 지켜져야 하는 표준 규격을 총칭한 것을 뜻하고요. 단일 유닉스 규격은 전기전자 기술자협회인 ieee i 트리플 e라고도 합니다. iee와 오픈 그룹의 표준화 작업 결과물에 바탕을 두고 있고 오스틴 그룹이 개발 및 유지 관리를 담당한다. 간단하게 정리하겠습니다. 다음 자바 api입니다.
1:04:44
자바 언어와 관련해 되어진 해당 부분을 쉽게 이용할 수 있게끔 제공하는 api죠 자바를 사용하기 쉽게 구현할 수 있도록 한 클래스 라이브러리의 집합이야 자바 언어를 사용해서요. 사용자의 부담을 최소화하는 반면에 입출력 화면 구성 이미지 네트워크와 같이 복잡하지만 필요한 클래스들을 미리 구현하여 사용자가 쉽게 구현할 수 있도록 지원하는 api 서비스 웹 api 웹 애플리케이션 개발했어요. 웹 애플리케이션은 웹사이트 개발이라고 생각하시면 돼요. 웹 프로그래밍을 통해 가지고 만드는 해당 웹사이트 웹 애플리케이션 개발에서 다른 서비스의 요청을 보내고 응답을 받기 위해 정의된 명세야 실례로 블로그 api다 블로그 하는 경우에 보면 기본적으로는 블로그에 로그인해서 접속한 다음에 블로그 글쓰기에서 글을 써야 되는데 네이버 에피아 네이버 블로그에서 api 서비스 제공을 해요.
1:05:44
꼭 네이버 블로그에 접속하지 않고 마이크로소프트 워드나 아래한글에서도 글을 작성한 거를 api 등록하는 해당 주소와 그다음에 api 이용할 수 있는 권한 누구든지 이용할 수 있게끔 오픈한 것들이 있는가 하면 로그인 절차를 거쳐야지만 이용하는 가능한 블로그 같은 경우에 누가 그걸 쓰는지 구분이 돼야 되잖아요. 그렇기 때문에 아이디하고 비밀번호 설정을 하면 아래한글에서 글 쓰고 난 다음에 도구의 블로그에 올려오면 바로 블록을 올릴 수 있어요. 즉 블로그 api는 블로그에 접속하지 않고도 워드나 아래한글에서 글을 작성하여 올릴 수 있도록 지원하는 서비스야 우체국에서 제공하는 우체국 api나 구글과 네이버 지도 api 등 다양한 api 서비스들이 제공되고 있습니다.
1:06:38
관련되어진 퀴즈 문제 풀어보도록 하겠습니다. 응용 프로그램 개발 시 운영체제 프로그램 언어 등에 있는 라이브러리를 이용할 수 있도록 함으로써 효율적인 소프트웨어 구현을 도와주는 인터페이스는 무엇인가 공용 프로그램 애플리케이션 프로그래밍 할 때 도와주는 인터페이스 애플리케이션 프로그램 인터페이스 1번 api가 정답이죠. 다음 모의평가 문제 다섯 문제 풀고 정리하겠습니다. 다음 중 소프트웨어 취약점에 대한 설명으로 틀린 것은 소프트웨어 취약점 이 보기 항목이 제가 지금 설명을 조금 약하게 했던 부분을 제가 문제로 정리를 해드리려고 합니다. 1번 http 헤더 인젝션이다 라고 되어 있는데요. httvn 프로토콜 이름입니다.
1:07:37
하이퍼텍스트 하이퍼텍스트 트랜스퍼 프로토콜 전송 프로토콜 프로토콜 통신 규약입니다. 전달하는 내용물에 따라서 이 내용물을 이렇게 전송하자 주고받자 라고 정해놓은 약속체계라고 보시면 돼요. 하이퍼텍스트 문서들을 주고받을 때 지켜야 하는 통신 규약 그게 http예요. http 헤더 인젝션은 http 헤드 정보에다가 뭔가를 추가 포함시킨다는 말이에요. 공격자가 리스폰스다 리퀘스트 객체가 있고 리스폰스가 있어요. 리퀘스트는 사용자로부터 받아들이는 거고요. 리스폰스는 서버에서 사용자한테 보내는 거예요.
1:08:23
htp 헤드 인젝션은 공격자가 리스폰스 헤드필더에 개인 문자 등을 삽입함으로써 임의의 리스폰스 헤드필더나 바디를 추가하는 수동적 공격이다 라고 되어 있는데, 이 보기 항목은 맞는 설명입니다. 다음 웹 애플리케이션에서는 사이트 간의 스크립팅 아까 제가 말씀드렸죠 다른 그 홈페이지에 게시판에 예를 들어서 프로그램 언어가 jsp로 돼 있어요. 그럼 jsp 파일을 첨부를 허용하면 해당 서버의 디렉터리나 파일을 컨트롤로 하는 그러한 부분을 프로그램에 넣어가지고 파일 첨부하고 그걸 실행시켜 버릴 수도 있거든요. 보안 취약한 부분입니다. 레벨 웹 애플리케이션에서의 사이트 간의 스크립팅은 취약성 있는 웹사이트를 방문한 사용자 브라우저에서 부정한 html 테거나 자바스크립트를 공격시키는 동작이야 설명이 맞습니다.
1:09:23
세 번째 sql 삽입이다. sql 삽입은 sql문을 추가시킨다. 이 말이에요. 유효하지 않은 데이터를 실행을 함으로써 야기되는 소프트웨어 버그의 부당한 사용 공격이다 라고 되어 있는데, 설명문구는 코드 네 코드 인젝션에 대한 설명이에요. 코드 인젝션에 대한 설명입니다. sql 사유는 sql 사유라는 거예요. 그래서 얘가 틀렸습니다. 디렉토리 접근 공격이라고 하는 부분은 비공개 디렉토리 파일에 대해 부정하게 디렉토리 패스를 가로질러 액세스하는 공격이다. 세부 내용들이었는데. 내용상에서 정리 안 하고 문제 풀면서 정리를 해드린 겁니다. 두 번째 모의평가문제 동시 또는 거의 동시 수행을 지원하는 병렬 시스템 여기까지만 봐도 저희 보안 점검 항목 7가지 살펴봤잖아요.
1:10:22
그래서 시간 들어가 있는 키워드 시간 및 상태 뜻하는 보안 점검 자 제가 여기까지만 읽고 풀이해버렸는데 뒤에 거 다 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안 정보 항목은 뭔데 시간 및 상태입니다. 에라처리 코드 오류 api 오용 캡슐화 네 재사용성 뭐 등등 있었죠. 네 소프트웨어 개발 보안 점검 항목에 해당하지 않는 곳 7가지 대상이 안 되는 곳 입력 데이터 검증 및 효용 맞고요. 암호화라는 건 없었어요. 보안 기능 있었고, 캡슐화 그다음에 코드 오류 그다음에 api 오용 뭐 그런 것들이 있었죠.
1:11:16
다음 api에 관한 설명 중에 올바르지 않은 거 블로그 api는 블로그에 접속을 해야지만 글을 작성할 수 있다라는 건 아니고 블로그 api를 이용하게 되면 굳이 블로그에 접속해서 글쓰기 하지 않고 ms 워드나 아래한글에서 내용 작성한 다음에 그다음에 거기에서 바로 블로그에 올릴 수 있어요. 대신 설정을 하셔야 돼요. api 정보값들을 윈도우 api는 마이크로소프트 윈도우 운영체제에서 사 자가 하나 빠졌네 사용하는 api이다. 맞구요. 자바 api는 자바를 사용하기 쉽게 구현할 수 있도록 한 클래스 라이브러리 집합입니다. 집합이다. 웹 api는 웹 애플리케이션 개발에서 다른 서비스의 요청을 보내고 응답을 받기 위한 정의 명세이다. 맞습니다. 1번 틀렸습니다.
1:12:08
마지막 다섯 번째 특정 사이트의 특정 서비스를 이용할 수 있도록 인터페이스를 외부 사이트에서 누구나 사용할 수 있도록 공개한 건 뭔데 사이트잖아요. 사이트 웹사이트 웹 api를 뜻합니다. 4번이 정답입니다. 자 두 파트로 나눠져 살펴봤었어요. 네 해당 파트별 핵심 내용 다시 정리해 보겠습니다. 보안 취약성 색 식별 부분에서는 소프트웨어 개발 보안에 대한 개념 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점들을 최소화하고 사이버 보안 위협에 대응할 수 있는 안전한 소프트웨어를 개발하기 위한 연관되어진 모든 보안 활동들을 뜻한다. 소프트웨어 개발 보안 점검 항목 행정자치부에서 공개한 제시한 보안 가이드요 네 7가지가 있었어요.
1:13:02
세부 내용 생략하고 입력 데이터 검증 및 표현 보안 기능 시간 및 상태 에러 처리 코드 오류 캡슐화 api 오용 이렇게 7가지가 있었습니다. 단 api입니다. api는 응용 프로그램 개발할 때 운영체제나 프로그램 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙성을 정해놓은 인터페이스를 뜻한다. api 종류로서 네 가지 윈도우 api 그리고 단일 유닉스 규격 자바 api 웹 api 등이 있었습니다. 이상으로 서버 프로그램 구현에 대해 살펴봤습니다. 서버 프로그램 구현 네 번째 배치 프로그램 구현에 대해 살펴보도록 하겠습니다. 학습목표인데요. 애플리케이션 설계를 기반으로 프로그램 언어와 도구를 활용하여 배치 프로그램 구현 기술에 부합하는 배치 프로그램을 구현할 수 있다.
1:13:59
두 번째 목표 시스템을 구성하는 하위 시스템 간의 연동 시 안정적이고 안전하게 동작할 수 있는 배치 프로그램을 구현할 수 있다. 마지막으로, 개발되어진 배치 프로그램의 테스트를 수행할 수 있다. 입니다. 다룰 내용은요, 하나밖에 없어요. 배치 프로그램에 대해 살펴보도록 하겠는데 배치 프로그램 이거 이렇게 정렬하는 거냐 그게 아니고 영어입니다. 배치 프로그램 배치 배치 배치 프로그램 영어 단어입니다. 사용자 뜻입니다. 네 사용자와 상호작용 없이도 일련의 여러 작업들을 작업 단위로 묶어서 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 것이다. 배치를 하는 것은 묶어서 처리한다는 말이에요. 한꺼번에 처리한다. 이 말입니다. 내용 살펴보도록 하겠습니다.
1:14:52
배치프로그램 먼저 개념적으로 배치프로그램은 개념이 사용자 상호작용 없이 사용자가 굳이 컨트롤 안 하더라도 얘를 자동으로 실행시킨다는 말이에요. 그게 시간이 될 수도 있고 양이 될 수도 있고 사용자의 상호작용 없이 일련의 작업들을 작업 단위로 묶어서 정기적으로 반복 수행하거나 정해진 규칙에 따라서 일괄 처리하는 것을 뜻한다. 배치 프로그램의 필수 요소 다섯 가지 첫 번째 대용량 데이터 많은 양의 데이터를 처리를 묶어서 하는 게 효율적이죠. 조금 조금인 걸 이렇게 처리하면 비효율적이잖아요. 세탁기에 빨래가 한 박스 가득 담겼을 때 세탁기를 돌리지 양말 하나 나왔다고 해서 뚝딱 세탁기 돌리진 않잖아요. 대용량의 데이터를 처리할 수 있어야 함 두 번째 자동화입니다.
1:15:47
심각한 오류상황 이 발생했다든지 그런 경우가 아니면 사용자가 개입하지 않고도 동작할 수 있어야 돼 자동적으로 자동화 그리고 견고함 유효하지 않은 데이터의 경우도 처리를 해서 비정상적인 동작이 중단 비정상적으로 동작 중단이 발생하지 않도록 해야 돼 견고함 그리고 안전성 안정성입니다. 어떤 문제가 생겼는지 그리고 언제 발생했는지 등을 추적할 수 있도록 해야 된다. 마지막으로, 성능입니다. 주어진 시간 4개 처리를 완료할 수 있어야 하고 동시에 동작하고 있는 다른 애플리케이션을 방해하지는 않아야 된다. 5가지 배치프로그램 필수요소 다음으로, 배치 스케줄러에 대해 살펴보도록 하겠습니다.
1:16:38
개념은요, 배치 스케줄러라고 하는 부분은 일괄처리 배치 프로세싱을 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구가 배치 스케줄러인데 즉 좀 더 구체적으로는 특정 업무를 원하는 시간에 처리할 수 있도록 지원한다. 라는 특성으로 다른 이름으로는 잡 스케줄러라고도 합니다. 그리고 주로 사용되는 종류로서는요 배치 스케줄러 종류는 스프링 배치가 있고요. 쿼츠가 있습니다. 자 배치 스케줄의 종류 중에 먼저 스프링 배치 살펴보도록 하겠습니다. 스프링 소스 사 이거 회사 이름이에요. 스프링 소스 사와 네 액센추얼 사가요 회사 두 회사가요 2007년에 공동으로 개발한 오픈소스 프레임워크가 되겠고요. 스프링 배치의 아키텍처 개념도인데요.
1:17:34
네 여기에 보면은 티어라고 해가지고 단계가 런티오 잡 투어 애플로케이션 투어 그리고 데이터 투어 이렇게 네 가지가 있습니다. 그리고 포함되어지는 구성 요소들로서 스캐줄러는 잡스크립트를 통해서 리퀘스트 쭉쭉 이런 것들이 있어요. 잡 론처 잡 그러니까 각 단계별 해당 동작적인 부분들 관련해가지고요. 뒤에 이 내용들이 관련한 컴포넌트를 정리할 거예요. 우선 단계는 4단계 네 단계 런티어 잡티어 애플리케이션 티어 데이터 티어가 있다. 그겁니다. 스프링 배치의 아키텍처 종류로서 티어 런티어는 배치의 실행을 담당하는 부분인데 스프링 배치의 스케줄링 기능을 사용하지 않고 콰르츠 또는 크론을 이용해서 실행을 합니다.
1:18:32
스프링 배치의 스케줄링 기능을 사용하지 않고 쿼르츠 혹은 크론 기능을 이용을 해서 런 시킨다. 그리고 잡티온은 해야 될 일들이죠. 잡 내에 각 스텝들을 순차적으로 실행시키는 역할을 담당하고요. 그리고 애플리케이션 티어는요 잡을 수행하는 데 필요로 하는 아이템 리더 아이템 라이터 아이템 프로세서 등의 컴포넌트로 구성이 되어지고 파일 혹은 데이터베이스로부터 읽고 쓰는 기능을 수행을 합니다. 마지막 데이터 케어는 데이터베이스나 파일이나 q 등 물리적 데이터 소스와의 결합이 이루어지는 영역이 되겠습니다. 스프링 매체의 핵심 컴포넌트 10가지인데요. 잡 레파지토리 저장을 하는 거죠.
1:19:31
잡 엑시큐션 관련되어진 메타 데이터를 저장하는 기반 컴포넌트가 잡 레파지토리입니다. 그리고 잡론처는 어 잡 익스큐션을 실행입니다. 얘는 실행하는 기반 컴포넌트고요. 네 jpa 약어인데요. 자바 퍼시스턴트 api입니다. 페이징 기능을 제공한다. 그리고 잡은 배치 처리를 의미를 합니다. 배치 처리를 의미하는 애플리케이션 컴포넌트가 잡이고요. 스텝은요, 잡의 각 단계를 의미합니다. 그래서 잡은 일련에 연속되어진 스텝들로 구성이 되어집니다. 그리고 아이템이라는 용어는 아이템 컴포넌트는 데이터 소스로부터 읽거나 데이터 소스로 저장하는 각 레코드들을 아이템이라고 이야기를 하고요. 청크 특정 크기를 갖는 아이템 목록을 청크라고 이야기하고요. 아이템 리더는 읽겠죠. 데이터 소스로부터 아이템을 읽어들이는 컴포넌트 그리고 아이템 프로세스 처리한다는 말입니다.
1:20:31
아이템 리드로부터 읽어들인 아이템들을 아이템 라이터를 사용해서 저장하기 전에 처리하는 컴포넌트가 아이템 프로세서 라이터는 얘는 라이팅 하는 거니까 기록 저장하는 아이템 청구를 데이터 소스에 저장하는 컴포넌트가 되겠다. 다음 스프링 배치의 핵심 기능 세 가지 첫 번째 스프링 프레임워크를 기반으로 한다. 스프링의 라그인데요. di는 디펜던시 인젝션입니다. 의존적인 측면에 대한 인젝션 그리고 aop는요 엑스박터 에스펙트 오리엔티드 프로그램의 약어이고요.
1:21:15
어쨌든 스프링의 di aop 및 다양한 에듀프라이즈 지원 기능 등을 사용을 하는데 뭘 기반으로 스프링 프레임워크를 기반으로 해 그리고 자체 제공 컴포넌트 기능이라고 하는 부분은 배치 처리 예로 들어요. 데이터베이스나 파일로부터 데이터를 읽거나 쓰는 등과 같은 배치 처리를 할 때 공통적으로 필요로 하는 컴포넌트를 제공을 한다. 그리고 마지막 견고함과 안정성의 기능 선언적 생략이나 처리 실패 후에도 재시도 등 설정을 제공하는 기능을 견고함과 안정성 기능이라고 합니다. 스프링 배치의 핵심 기능 세 가지 스프링 프레임워크 기반 자체 제공 컴포넌트 경고함과 안정성 자 두 번째 스케줄러입니다. 쿼츠 스케줄러인데요.
1:22:11
스프링 프레임워크 에이 플러그 인 연결시켜가지고, 수행하는 잡과 실행 스케줄을 정의하는 트리거 얘는 동작시키는 거예요. 트리거 방아쇠를 당기다 트리거를 분리하여 유연성을 제공하는 오픈소스 스케줄러다 퀄츠 스케줄러의 구성 요소는 네 가지 스케줄러 쿼런트 실행 환경을 관리하는 핵심 개체 그리고 잡 사용자가 수행해야 할 작업을 정의하는 인터페이스로 프리거 개체를 이용해서 스케줄 할 수 있다. 그리고 잡디테일 작업명과 작업 그룹과 같은 수행할 샵에 대한 상세 정보를 정의하는 개체고 그리고 트리거 개체는 내일 정의된 샵 개체에 실행 스케줄 실행 스케줄을 정의하는 개체 스케줄러에게 수행시점 언제 실행을 하는지를 알려주는 개체입니다. 실행적인 부분과 관련성이 있습니다.
1:23:04
코너스 스케줄러의 구성적 4가지 스케줄러 잡 잡 디테일 필거 이렇게 세 가지가 있습니다. 자 그 다음에 배치 프로그램 구현인데요. 마지막 내용입니다. 네 애플리케이션 설계를 기반으로 먼저는 배치 프로그램을 확인하고 그다음에 구현합니다. 확인하는 과정적인 부분으로서는 프로그램 관리 대장을 확인하고 그리고 배치설계서를 확인합니다. 이 배치설계서는 프로그램관리대장의 아이디와 일치해서요. 아 아이디와 일치하는 배치 설계를 확인합니다. 그리고 애플리케이션 설계를 기반으로 배치 프로그램을 구현하는데 그 구현 절차는 네 단계로 순서적으로 살펴보면 배치 프로그램을 구현하기 위한 뭘 작성한다. sql을 작성하고요. 두번째 배치프로그램 구현을 위한 아이오 오브젝트 입출형입니다. 인풋 아웃풋 오브젝트들 예를 들어요.
1:24:03
dtu 데이터 트랜스퍼 오브젝트 줄여가지고 dto라고 하고요. 그 다음에 밸류 오브젝트를 줄여서 vu라고 이야기합니다. 가치 오브젝트 이러한 것들을 정의한다. io 오브젝트의 예로서 데이터 트랜스포브젝트와 밸류 오브젝트가 있고 이것을 정의한다. 세 번째 단계로서 배치 프로그램 구현을 위해서요. 데이터 접근 오브젝트 약어가 dao인데 데이터 액세스 오브젝트입니다. 데이터 조건 오브젝트를 작성하고 마지막으로, 배치 프로그램 구현을 위한 스케줄러 클래스를 작성을 합니다. 자 이 파트에서는 살펴보는 내용이 조금 작아요. 그래서 문제를 제가 한 아홉 문제 정도 설명을 풀이를 하면서 부연 설명을 드리는 걸로 정리하려고 합니다. 모의평가 문제 풀이해 보도록 하겠습니다.
1:24:57
다음 중 사용자와 상호작용 없이 여러 작업들이 미리 정해진 일련의 순서에 따라서 일괄적으로 처리되는 건 뭐야? 배치 프로그램이죠. 배치 프로그램 개념 문제입니다. 다음 배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은 배치 프로그램 필수 요소 5가지가 있었어요. 자 첫 번째 대용량 데이터를 처리할 수 있어야 돼 아까 제가 세탁기 말씀드렸죠 양말 하나 벗어 넣었다고 세탁기를 돌리진 않는다. 많은 양 대용량의 데이터 처리할 수 있어야 돼 맞습니다. 심각한 오류 상황 외에도 외에는 사용자가 개입하여 동작할 수 있도록 한다. 묻고 언뜻 이렇게 보면 맞는 것 같은데, 틀렸습니다.
1:25:47
심각한 오류사항 외에는 사용자가 개입하지 않고도 동작되도록 않고도 이게 뭐였죠 필수요소로서 자동화였죠 자동적으로 동작되게끔 해야 돼 였습니다. 그래서 이번에 틀렸고요. 그리고 세 번째 어떤 문제가 생겼는지 언제 발생했는지 등을 추적할 수 있어야 돼 맞고요. 그리고 주어진 시간 내에 처리를 완료할 수 있어야 하고 동시에 동작하고 있는 다른 어퍼케이션을 방해하지 말아야 돼 이게 성능이었죠. 안정성이었고 다음 세 번째 배치 스케줄러에 대한 설명으로 틀린 것은 배치 스케줄러 종류 두 가지가 있었죠. 봅시다 일괄 처리 작업이 설정되어진 주기에 맞춰서 자동으로 수행되도록 지원하는 도구야 맞죠.
1:26:39
두 번째 특정 업무를 원하는 시간에 처리할 수 있도록 지원하는 특성 때문에 잡 스케줄러라고도 한다. 맞습니다. 스프링 배치는 스케줄러 잡 잡디테러 트리거 등의 구성 요소를 갖고 있어 로기 틀렸습니다. 스케줄롤러 잡 디테일 트리거는 스프링 배치가 아니었고요. 파르츠 파르츠와 관련되어진 부분이었어요. 그래서 여기가 틀렸고 주로 사용되는 스크레듈러의 종류는 스프링 배치와 그리고 과라치가 있다. 다음 네 번째 다음 중 스프링 배치의 4가지 티어에 해당하지 않는 것은 애플리케이션 티어 맞고요. 데이터티오 맞고요.
1:27:36
런티오 맞고요. 인터페이스티오가 아니고 이거 대신에 잡티오가 들어가야 돼요. 잡 이렇게 네 가지였습니다. 애플리케이션티오 데이터티오 런티오 잡티오 인트페시티오가 아닙니다. 다섯 번째 다음 중 스프링 배치 프로그램에서 주요 비즈니스 로직을 구현하는 컴포넌트는 뭘까? 컴퍼런트 종류 10가지 저희가 살펴봤는데 아이템 리더 아이템 라이터 얘는 읽어오는 거고, 얘는 라이팅 저장하는 거고, 아이템 프로세스 얘가 처리죠 처리 즉 비즈니스 로직을 구현 이렇게 돼 있기 때문에 얘 처리하는 거예요. 그래서 정답은 3번이 되겠습니다. 다음 여섯 번째 스프링 배치의 핵심 기능에 해당하지 않는 것은 스프링 배치의 핵심 기능이 세 가지가 있었어요. 스프링 프레임워크를 기반으로 해야 한다. 맞고요.
1:28:34
작업 자동 분할이라는 부분은 없었어요. 자체 제공하는 컴포넌트 맞고요. 견고함과 안정성도 맞습니다. 이 세 가지였고요. 작업 자동 분할이라는 게 스프링 배치의 핵심 기능에 해당되지 않습니다. 일곱 번째 보통 스케줄링 서비스는 애플리케이션 서버 내에서 주기적으로 발생을 하거나 반복적으로 발생하는 작업을 지원하는 기능이다. 유닉스의 크론 명령어와 유사한 오픈소스 배치 스케줄러는 뭔가 이렇게 묻고 있어요. 콰르츠 크롬 윈도우즈 잡스 스프링 중에서요 오픈소스 배치 스케줄로 크롬 명령어와 유사한 건 쿼르츠였습니다. 그래서 저희가 아까 스프링 부분에서 보면 스프링 자체 내의 스케줄링 이용하지 않고 스프링 배치에서 쿼르트나 크론을 이용한다. 이렇게 나온 설명이 있었어요. 다음 8번입니다.
1:29:34
다음 중 오픈 소스 배치 스케줄러인 파르츠에 대한 설명으로 틀린 것은 스케줄러 스케줄러는 파르츠의 실행 환경을 관리하는 핵심 개체이다. 맞고요. 사용자가 수행할 작업을 정의하는 인터페이스로 트리거 개체를 이용하여 스케줄 할 수 있다. 맞고요. 잡 디테일은 작업명과 작업 그룹과 같은 수행할 샵에 대한 상세정보를 정의하는 개체이야 이거도 맞고요. 네 트리거는 배치 프로그램을 종료가 아니라 실행입니다. 실행 실행하기 위한 도구다 얘가 틀렸어요.
1:30:15
4번 오픈 소스 배치 스케줄링 카르츠에 해당 관련되어진 주요 구성 요소들 네 가지 마지막 아홉 번째 문제입니다. 다음 중 배치 프로그램 구현 시 수행할 작업이 아닌 것은 첫 번째 sql을 작성한다. 이게 첫 번째 맞고요. 그다음에 데이터 조건 오브젝트를 작성을 한다. 데이터 조건 오브젝트 작성 맞고요. 그다음에 설계서를 작성한다. 이거는 배치 프로그램 구현하기 전에 확인 내용이었죠. 얘가 틀렸고 io 오브젝트인 dto와 vo를 정의한다. 얘가 두 번째 얘가 세 번째 이렇게 순서상으로서는요 자 내용 정리하겠습니다. 하나밖에 없었어요. 배치 프로그램마저 이걸 살펴봤어요.
1:31:09
배치프로그램은 사용자와 상호작용 없이도 일련의 작업들을 작업 단위로 묶어서 정기적으로 반복 수행하거나 정해진 규칙에 따라서 일괄 처리하는 것을 뜻한다. 배치 스케줄러는 일괄처리를 위해서 주기적으로 발생하거나 반복적으로 발생하는 작업들을 지원하는 도구가 배치 스케줄러였고 그 종류로는 스프링 배치와 쿼르츠가 있었습니다. 이상으로 배치 프로그램 구현에 대해 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 프로그래밍 언어 활용' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 3.응용 SW 기초 기술 활용 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제4과목 프로그래밍 언어 활용 2.프로그래밍 언어 활용 (0) | 2025.05.26 |
https://youtu.be/fsMT8noALjw?si=nKwM7Im5yjf1Ljss
1. 데이터 전환 설계
1-1. 초기 데이터 구축
- 초기 데이터 구축은 기존 시스템 이해를 바탕으로 구축 범위 명확히 해야 함
- 구축 시 발생할 수 있는 문제점 도출하여 사전에 점검 사항과 해결 방안 마련해야 함
- 구축 전략 수립을 통해 신속하고 안정적인 데이터 전환을 준비해야 함
- (중요) 초기 데이터 구축 대상 파악 시, 기초자료 현황과 인구 이동 경로 등 고려해야 함
- 초기 데이터 구축 범위를 업무협의를 통해 확정해야 함
1-2. 데이터 전환 기술
- 데이터 전환 기술은 익스트랙션, 트랜스포메이션, 로딩으로 나뉨
- 익스트랙션은 소스 시스템에서 필요한 데이터를 추출하는 과정임
- 트랜스포메이션은 추출된 데이터를 새로 개발할 시스템에 맞춰 변환하는 과정임
- 로딩은 변환된 데이터를 타겟 시스템에 전송 및 로딩하는 일련의 과정임
- 데이터 전환 기술은 변환 프로그램과 수행 시간을 기반으로 산정할 수 있음
1-3. 데이터 전환 수행
- 데이터 전환 기술은 데이터 변환 설계서에 논리를 실행 가능한 변환 프로그램으로 구현함
- 변환된 데이터와 기존 데이터의 비교를 통해 품질을 평가하고, 개인정보 보호법 기준에 따라 암호화 적용해야 함
- 변환 프로그램의 수행 시간을 기반으로 데이터 전환 수행 시간을 산정할 수 있음
- 변환 설계 시, 데이터의 추출, 변환, 로딩 과정의 순서와 단계를 고려해야 함
- 변환 작업 중 필터링, 조건 만족, 정렬, 집계, 합계 계산 등이 포함될 수 있음
2. 데이터베이스 전환과 파일 처리 기술
2-1. 데이터베이스 전환과 변환 방법
- 데이터베이스 전환에서 EPL 프로세스와 로드에서의 방법론 소개함
- 데이터베이스 연결, 체인지 데이터 캡처 등의 기능이 추출 프로세스에서 사용됨
- (중요) 변환 프로세스에서 재구성, 정제, 데이터 필드 검사, 룰 적용 등의 방법을 사용함
- 변환 타겟에 적합한 형태로 변환시키는 것이 중요함
2-2. 데이터 전환과 관련된 이슈와 변환 트랜스포메이션
- 데이터 전환 과정에서 변환 과정이 전체의 80%를 차지할 수 있음
- 데이터 통합 및 정제가 과도하게 요구될 경우, EPL 작업이 필요함
- 데이터 전환 트랜스포메이션은 기존 정보 시스템의 축적 데이터를 추출하여 새 개발 시스템에 적용하는 과정임
- (중요) 순차파일, 색인 인덱스, 직접 파일 등의 파일 처리 기술의 종류가 있음
2-3. 파일 처리 기술의 세부 분류
- 순차파일은 주키 입력 데이터를 논리적 순서에 따라 물리적으로 연속적으로 저장하는 방식임
- 색인 인덱스는 데이터의 색인을 참조하여 레코드를 직접 참조하는 방식임
- (중요) 직접 파일은 레코드를 특정 순서 없이 임의의 물리적 저장 공간에 기록하는 방식임
- 각각의 파일 처리 기술은 특성과 장단점이 있어, 목적에 따라 적절하게 선택해야 함
3. 데이터 전환과 처리 기술
3-1. 데이터 전환 절차와 계획
- (중요) 데이터 전환은 목표 시스템으로 데이터를 익스트랙션(추출), 트랜스포메이션(변환), 로딩(로드)하는 과정임
- 데이터 전환 계획은 프로젝트 계획, 환경 구축, 시스템 분석, 전환 요건 정의로 구성됨
- 전환 설계 단계에서 로지컬 맵핑, 코드 맵핑, 검증 규칙 정의, 전환 계획 수립이 이루어짐
- 전환 개발 단계에서 전환 개발 환경 구축과 프로젝트 환경 구축이 포함됨
- 전환 테스트 및 검증 단계에서 전환 검증, 설계, 추출, 검증 작업이 이루어짐
3-2. 데이터 전환 계획과 체크리스트
- 데이터 전환 계획서와 체크리스트를 작성하여 데이터 전환 프로그램을 실행함
- 계획서와 체크리스트에 따라 데이터 변환 프로그램을 실행하고 모니터링함
- 검증 결과를 분석하여 데이터 전환 결과 보고서를 작성함
- 다양한 소스 시스템으로부터 필요한 데이터를 익스트랙션, 추출하여 목표 시스템으로 전송함
- 파일 처리 기술은 순차 파일, 연속적인 레코드의 저장 등 다양한 방식이 있음
3-3. 데이터 전환 수행과 모니터링
- 데이터 전환 수행은 데이터 전환 계획서와 체크리스트에 따라 진행됨
- 계획서와 체크리스트에 따라 데이터 변환 프로그램을 실행하고 검증함
- 데이터 전환 결과를 분석하여 결과 보고서를 작성함
- 모니터링을 통해 전환 과정과 결과를 확인하고 분석함
- 전환 수행자의 작업 내용과 예정된 시작 및 종료 시각을 포함함
4. 데이터 전환 계획과 수행
4-1. 데이터 전환 계획서 작성
- 전환 대상과 범위, 시스템 전환 일정을 명확히 해야 함
- (중요) 현행 시스템에서 목표 시스템으로 데이터 전환 시, 목표 시스템에서 사용하지 않는 항목을 제거 가능
- 팀별 업무 분장과 전환 일정을 계획으로 작성해야 함
- 전환 단계별 작업 내용과 필요한 도구를 기록함
- 원천 데이터베이스의 백업을 하고, 스테이징 데이터베이스로 복구함
4-2. 데이터 전환 실행 계획
- 원천 데이터베이스의 손상과 변형을 방지하기 위해 백업을 함
- 데이터 정비 대상, 방법, 일정, 조직, 비상 계획을 포함함
- 전환 방안, 사전 준비, 데이터 전환 설계, 프로그램 개발, 테스트 등을 포함함
- 전환 오류나 실패 시, 데이터 복구 계획을 수립함
4-3. 데이터 전환 수행과 검증
- 전환 계획서 작성, 검증, 보고 순서로 진행함
- 계획서 작성은 전환 프로그램 개발 전에, 검증은 전환 수행 후에 이루어짐
- 체크리스트에는 데이터 전환 수행자의 작업 내용, 상세 작업 내용, 작업자, 예정 시작과 종료 시간이 포함됨
- 데이터 검증은 원천 시스템의 데이터를 목적 시스템의 데이터로 전환했을 때, 정상적인지 확인하는 과정임
- 데이터 검증 방법에는 로그 검정, 지속 검증, 완성 검증, 성능 검증이 있음
5. 데이터 전환의 품질 분석과 정제
5-1. 데이터 전환 절차 및 검증 방법
- 데이터 전환 절차는 계획, 수행, 검증으로 나눠짐
- 계획 단계에서는 목표, 방법, 전환 환경 등을 정의
- 수행 단계에서는 전환 프로그램을 실행하고 데이터 전환을 진행
- (중요) 검증 단계에서는 전환의 최종 결과를 검증하고, 필요한 경우 수정
5-2. 데이터 검증 방법
- 데이터 검증은 로그 검증, 기본 항목 검증, 응용 프로그램 검증, 응용 데이터 검증, 갑 검증으로 나뉨
- 로그 검증은 로그를 통해 전환 과정을 검증, 기본 항목 검증은 로그 검증 외에 요청됨
- 응용 프로그램 검증은 응용 프로그램을 통해 데이터 전환의 정합성을 검증
- (중요) 응용 데이터 검증은 사전에 정의된 업무 규칙을 기준으로 검증
5-3. 데이터 정제의 필요성 및 방법
- 데이터 정제는 원천 데이터의 품질을 분석하고, 오류 데이터 측정을 통해 필요성을 파악
- 데이터 정제 대상은 정합성 미비, 불필요한 데이터 필드, 손실된 데이터 등
- (중요) 정제 내용은 정당한 값 적용, 불필요한 데이터 제거, 손실된 데이터 복원 등
- 정제를 통해 데이터의 품질을 향상시키고, 오류 없는 데이터 생성에 기여
6. 데이터 정제와 품질 분석
6-1. 데이터 정제의 중요성과 절차
- 데이터 정제는 오류 데이터를 정당한 데이터로 변경하는 과정임
- (중요) 정제 대상이 될 수 있는 것은 전환 테스트 결과 중 발견된 오류 데이터임
- 정제 조건은 테스트 결과를 이용하여 결정하며, 테스트 수행 과정에서 정제 대상 리스트가 제시되어야 함
- 최종 전환에서는 맵핑 정의서에 작성된 전환 규칙을 이용하여 정제 진행
6-2. 데이터 품질 분석의 필요성
- 원천 데이터의 품질이 보장되지 않으면 전환 후에도 데이터 정확성이 보장되지 않음
- (중요) 전환 전에 원천 데이터의 품질을 검정함으로써 전환의 정확성을 보장하고, 이전에 발견하지 못했던 데이터 오류를 찾아낼 수 있음
- 원천 데이터의 품질 검정 대표 정합성 항목에 더 많은 항목이 포함됨
6-3. 오류 데이터 측정
- 오류 데이터 측정은 정상 데이터와 오류 데이터의 정량적 측정을 위한 과정임
- 오류 데이터의 유형과 건수를 정량적으로 측정하며, 이를 통해 오류 위치 파악과 수량 정확 기록이 가능함
- (중요) 전환 데이터에 대한 오류 측정은 원천 데이터의 정합성 검정 기준을 근거로 함
7. 데이터 오류 관리
7-1. 데이터 오류 관리 개요
- 프로젝트명, 시스템 종류, 항목들 포함시킴
- 순번, 오류 아이디, 정제 아이디, 오류 원인, 해결 방안 등 포함시킴
- (중요) 오류의 심각도를 상/중/하로 표기함
- 오류를 발견하면 분석하고, 원인 파악 후, 해결 방안과 함께 담당자 결정함
- 데이터 오류 중, '해결 방안'과 '해결 일자'가 중요함
7-2. 오류 분석 및 정제
- 오류 내용과 원인을 분석해, 해결 가능한 오류는 기술하고, 해결 불가능한 오류는 고객과 협의한 내용 기술함
- '상'은 데이터 이행 전반에 영향을 미치는 오류, '상'에 해당하면 오류 수정 필요함
- '심각도'는 오류가 데이터 이행을 진행할 수 없게 만드는 정도임
- '상'에 해당하면 데이터 이행 흐름에 영향, '상'에 해당하지 않으면 오류 수정 전 전체 확인 필요 없음
- '상'과 '클로즈드'는 오류 수정 여부 확인하는 단계, '클로즈드'는 오류 수정 여부 다시 확인 필요 없음
7-3. 원천 데이터와 전환 프로그램 정제
- 발견된 데이터 오류 분석과 원인 파악이 우선임
- 원천 데이터와 전환 프로그램 정제 필요 여부, 해결 방안 협의하는 단계임
- 무시해야 할 오류는 원천 데이터 정제 통해 해결 가능한지 판단함
- 프로젝트 팀이 오류가 아니라고 판단한 경우, 오류가 아닐 경우 전환 프로그램 정제 필요 없음
8. 데이터 정제
8-1. 데이터 정제의 개요
- 데이터 정제는 기관이나 조직의 데이터 관리 및 개선 활동으로, 원천 데이터와 전환 데이터의 품질을 분석하여 정합성 여부를 확인하는 과정임
- 원천 데이터의 품질 검증 항목에 속하지 않는 항목은 목적 시스템 데이터의 품질 검증으로, 해당 항목을 포함하는지 확인함
- 오류 데이터 측정 시, 정상 데이터와 오류 데이터를 구분하여 측정함
- 데이터 품질 분석은 원천 데이터의 품질 검증을 위한 정합성 여부를 확인하는 단계임
- 오류 데이터 측정 이후, 오류 데이터의 유형과 건수를 측정하는 것이 오류 데이터 정제임
8-2. 오류 데이터 측정 및 정제
- 오류 데이터 측정은 원천 데이터를 분석하여 정합성 여부를 확인하고, 오류 데이터의 유형과 건수를 측정하는 과정임
- 전환 프로그램을 수정하는 오류 데이터 정제는 목적 시스템 데이터의 품질 검증이 포함됨
- 데이터 정제 작업은 분석, 설계, 구현, 실행, 검토의 단계로 이루어짐
- 오류 데이터 측정은 분석보다 앞에 진행되며, 데이터 품질 분석 다음에 오류 데이터 척증, 오류 데이터 정제가 이어짐
- (중요) 오류 데이터 측정은 오류 목록을 확인하고, 해결 방안을 참조하여 원천 데이터의 정제를 요청할지 결정하는 과정임
8-3. 데이터 정제의 세부 활동
- 데이터 정제는 데이터 품질 관리의 개념을 바탕으로, 지속적으로 수행되는 데이터 관리 및 개선 활동임
- 원천 데이터와 전환된 목적 데이터베이스의 품질을 분석하여 정합성 여부를 확인함
- 전환 데이터의 정합성 검증 항목을 명확히 하고, 오류 해결 방안을 참조하여 원천 데이터의 정제를 요청할지 결정함
- 전환 프로그램을 수정하는 경우, 오류 데이터 수정이 불가능한 오류 상태로 설정함
- 오류 데이터 측정 후, 오류 목록을 확인하고 해결 방안을 찾은 후, 원천 데이터의 정제를 요청함
00:03
데이터베이스 구축 제일 마지막 능력 단위인 데이터 전환에 대해 살펴보도록 하겠는데요. 데이터 전환은 다시 세 파트로 나눠집니다. 먼저 첫 번째 살펴보고자 하는 게 데이터 전환 기술입니다. 데이터 전환 기술의 학습 목표입니다. 작성된 데이터 변환 설계서에 데이터 변환 논리를 실행 가능한 변환 프로그램으로 구현할 수 있다. 에서부터 구현된 데이터 변환 프로그램과 검정 프로그램의 수행 시간을 기반으로 데이터 전환 수행 시간을 산정할 수 있다. 까지입니다. 살펴볼 내용은요, 세 파트로 나눠서 살펴보도록 하겠는데 해당 초기 데이터 구축이라고 돼 있어요. 초기 데이터 구축은 저희 학습 모듈에는 포함이 안 돼 있습니다. 그래서 개념적으로 정리하겠고요. etl이라고 되어 있는 부분은요, 위주로 살펴보겠고요.
00:55
그리고 파일 처리 기술은 마찬가지인 학습 모듈에는 없는 파트가 시험 출제 기준에 추가돼 있어서 해당 설명드린 내용으로 정리하시면 좋을 것 같아요. 용어 단어로서 etl입니다. 약어입니다. e는 익스트랙션 추출한다는 거고, t는 트랜스포메이션 변환한다는 말이고 l은 로딩 적재시킨다. 로딩 불러온다 이런 형태로 보시면 될 것 같고, 설명 문구 보면 etl은 소스 시스템 소스 시스템이라는 건 기존에 있는 시스템이 될 수도 있고요.
01:36
소스 시스템으로부터 필요한 데이터를 추출 익스트랙션 하여 새로 개발할 정보 시스템에서 운영 가능하도록 트랜스포메이션 변환하는 작업을 거쳐서 목표 시스템 타겟 시스템으로 전송 및 로딩하는 일련의 과정을 etl이라고 하고 한글로는 데이터 전환이라고 합니다. 첫 번째 살펴볼 내용 초기 데이터 구축입니다. 초기 데이터 구축은요, 기존에 운영되어지고 있는 시스템 이해가 먼저 돼야 되죠. 그래서 기존 운영 시스템의 이해를 바탕으로 구축하는 범위를 명확하게 해서 구축을 해야 된다. 그래서 초기 데이터 구축이 중요하다 라는 부분이 있고 초기 데이터 구축할 때 발생할 수 있는 예상 문제점을 도출하여 사전에 점검 사항과 해결 방안을 마련할 필요성이 있겠다.
02:31
자 초기 데이터 구축 절차에 대한 프로세스에 포커스 맞춰가지고 설명드리고 또 이해하시면 되겠습니다. 첫 번째 구축전략을 수립해야 된다. 구축전략수립이라고 하는 부분 자체는 단 cl의 대량의 데이터를 전환함에 있어서 신속하고 안정적인 데이터 전환을 위해서는 체계적인 초기 데이터 구축 전략 수립이 필요하다 밑에 있는 구축전략 사례는 말 그대로 사례입니다. 예시인데 일례로 서울시의 미세먼지를 관리할 수 있는 어떤 새로운 정보 시스템을 만들려고 한다 라고 할 때 그와 관련되어진 구축 전략으로 제시한 예인데요.
03:16
서울시 미세먼지 관리 체계 대상 지역의 초기 데이터 구축 연구 용역 결과 분석을 통해서 대상 지역의 기본 정보와 기초자료 확보할 필요성이 있겠고 초기 데이터가 손실되어진 대상 지역의 데이터 복구 방안을 마련하고 음 방안으로서 국가 통계자료 및 지자체 자료 검토를 통한 자료 복구와 기존 연구 논문이나 보고서 분석을 통한 기초 자료 구축 방안을 제시할 필요성이 있겠다. 그리고 미세먼지 측정 모델 입력 변수 및 데이터베이스 구축 지침을 제시하도록 하겠다. 이게 구축 전략이에요. 예시입니다. 예시 세부 내용 모르셔도 돼요. 프로세스적인 부분에 대한 절차만 이해하시면 돼요. 첫 번째 구축 전략 수립 다음 두 번째 구축 초기 데이터 구축 대상을 파악을 한다. 초기 데이터 구축 대상 파악의 예입니다.
04:10
서울시의 미세먼지 하기 위해서 대상지 기초자료 현황으로서 서울시 면적 및 인구 인접 지역 역량 인구 이동 경로 그리고 미세 먼지에 대한 현황 미세먼지에 대한 조치 현황 이러한 것들 관련해 가지고 초기 데이터 구축 대상으로 선정한 거죠. 세 번째 초기 데이터 구축 범위를 정한다. 업무협의를 통해서 초기 데이터 구축 범위를 확정한다. 일례로 서울시의 재정정보 대상 데이터 에서 관련되어진 기준 정보로서 소관 코드 회계 코드 계정 코드 지출 예상 코드 들을 해당 초기 데이터 구축 범위 4na에 뽑은 케이스입니다. 마지막으로요 초기 데이터 구축 시 세부 고려사항입니다. 데이터 이관 업무 중단을 데이터에 이관 옮긴다는 말이죠.
05:03
업무 중단을 최소화하고 안정성을 확보할 수 있는 방안 마련이 필요하다 두 번째 데이터 이관 정합성 검증을 통해 오류 방지 방안을 제시하여야 하며 오류 데이터에 대한 정비 방안 마련 세 번째 데이터 이관이 완료된 후에 데이터의 이전과 후 비교를 실시해서 품질의 결과를 제시하고 마지막으로, 개인정보에 해당되는 데이터는 개인정보보호법과 관련 기준에 정하는 기준에 따라서 암호화를 적용할 필요성이 있겠다. 자 학습한 내용은 별로 되지 않는데 문제화할 수 있는 예시로 초기 데이터 구축 절차 중에 올바른 걸 골라라 이렇게 문제가 낼 수 있겠는데요. 보기 항목 중에 방금 제가 학습했던 내용 정리입니다. 첫 번째 프로세스 부분이잖아요.
05:56
먼저 전략 수립이 먼저 돼야 되겠죠. 세부 고려 사항 도출은 제일 마지막이어야 되고 그래서 1 2번에서 다시 두 번째는 구축 대상 파악이야 구축 대상 파악 두 번째 그리고 구축 범위 확정 마지막으로, 세부 고려 사항 도출 구축 절차 맞는 건 1번입니다. 두 번째 etl에 대해 살펴보도록 하겠는데요. etl은 익스트랙션 트랜스포메이션 로드인데 머릿결 약어입니다. 이거에 대한 정의는 조직 내 외부의 복수의 소스로부터 분석을 위한 데이터 저장소 데이터웨어하우스 그리고 데이터를 이동시키는 프로세스를 이야기한다.
06:43
좀 더 구체적으로 다양한 소스 시스템으로부터 필요한 데이터를 뽑아낸다 추출을 해서 새로 개발할 정보 시스템에서 운영 가능하도록 변환을 하고요. 트랜스포메이션 그리고 그 작업을 거친 후에 타겟 시스템으로 전송 및 로딩하는 일련의 과정을 etl이라고 하고 데이터 전환이라고 읽습니다. 자 etl의 프로세스입니다. 절차요 etl 변환 작업은 특수 엔진 특수한 엔진에서 진행되고 종종 변환 중인 데이터가 준비 테이블에 임시로 보유되었다가 대상에 노드되기도 합니다. 일반적으로 발생하는 데이터 변환에는 필터링 걸러낸다는 거죠. 조건을 만족하는 것만 또는 정렬 해당 리스트 순서를 기준에 맞춰가지고 그리고 집계 합계나 평균이나 뭐 이렇게 데이터 조인 그리고 데이터 정리 중복 제공 및 데이터 유효성 검사 등과 같은 작업이 포함될 수 있고요.
07:43
종종 시간의 절약을 위해서요. 데이터 추출 익스트랙션 그다음 변환 로드 이건데 데이터의 추출이 완료될 때까지 기다리지 않고요. 데이터가 추출되는 동안 이미 수신되어진 데이터가 변환되면서 로드 준비가 진행되고 준비된 데이터에 대한 로드 프로세스가 시작되는 방식으로 해당 세 가지가 단계별로 완성 그다음 단계 그다음 단계가 아니라 동시에 쭉 같이 진행될 수 있습니다. etl 프로세스별 방법 제시되어져 있는데요. etl 프로세스 추출 변환 로드에서요 방법이라고 되어있는 부분에서 jdbc라고 하는 부분은 자바 데이터베이스 커넥션으로 이야기합니다. 하고요. odbc는 오픈 데이터베이스 커넥션 데이터베이스 연결적인 부분에 대한 기술들을 추출해서 이용할 수 있겠고 그다음 플랫파일 생성이라든지.
08:40
체인지 데이터 캡처와 같은 기능이 추출 프로세스 단계에서 이용할 수 있는 방법들이에요. 그리고 변환 프로세스에서 이용할 수 있는 방법으로서는 재구성과 정제 정제는 중복 제거나 일관성 확보고요. 그리고 변환 타겟 레파디토리에 적합한 형태로 변환시키고 그다음에 데이터 필드 검사나 룰 적용들이 있겠습니다. 예시에서 보면 성별을 나타내는 방식으로 네, 뭐 메일과 피메일 mf 머리꼴로 구분하는 경우도 있고 한글로 남 또는 영어 그대로 메이트 또는 숫자로 1은 남 0은 여 이렇게 다양하게 표현할 수도 있는데, etl은 이러한 것들을 모두 동일한 것으로 인식을 해서 타겟 포맷으로 일관되게 변환을 할 필요성이 있겠다. 라는 부분입니다.
09:34
한글로 나무를 했던 m을 했던 이게 타깃 포맷에서는 특정 포맷으로 m으로 통일시키겠다라든지 일관되게 변환을 한다. 데이터 통합 및 정제가 과도하게 요구되어지는 경우에 etl 작업이 전체의 80%가 변환 과정에서 발생하기도 합니다. 로드는 dbms 데이터베이스 관리 시스템의 고유 기능이고요. 다양한 유틸리티를 이용을 하면 되겠다. 자 문제입니다. 다음에서 설명하는 건 무엇인데 운영 중인 기존 정보 시스템에 축적되어 있는 데이터를 익스트랙션 하여 추출하여 새로 개발할 정보 시스템에서 운영 가능하도록 변환 트랜스포메이션 한 후에 적재 로딩하는 일련의 과정은 뭐라고 하느냐 데이터 전환입니다. 데이터전환 저희가 지금 현재 다루는 주제가 데이터 전환이에요.
10:28
데이터베이스 구축의 마지막 과목인 세부 과목인 데이터 전환을 다루고 있습니다. 자 마지막으로, 세 번째 파트로서 파일 처리 기술입니다. 파일 처리 기술 개념을 보면요 네 자료구조 이론에서 파일 처리 기술이라고 하는 부분은 많은 양의 자료를 각종 매체에 저장하는 기법을 이야기합니다. 파일을 하드웨어에 저장할 때 기억 공간을 효율적으로 사용하고 필요한 자료의 탐색을 쉽게 하기 위해서 파일을 효율적으로 처리하는 기술이 되겠구요. 파일 처리 기술의 종류는요 순차 파일 색인 순차 파일 가상기억 접근 방식 그리고 직접 파일 이렇게 네 가지 세부적으로 구분해서 살펴보도록 하겠습니다. 첫 번째 파일처리 기술 종류 중에 첫 번째 순차파일입니다. 순차파일은 말 그대로 순서대로요 순차적으로 기록하는 방식이에요.
11:25
주키가 입력되는 데이터를 논리적 순서에 따라서 물리적으로 연속적인 공간에 순차적으로 차근차근 기록하는 방법이다. 급여관리 등과 같이 큰 변동이 없는 기간별로 일괄 처리를 하는 경우에 주로 적합하고요. 순차 접근이 가능한 자기 테이프에서 사용 가능한데 해당 장점에서 보면 매체 변환이 쉽기 때문에 어떠한 매체에서도 적용 가능하다라는 게 장점입니다. 기억 공간을 효율적으로 사용할 수가 있고 레코드를 사용 기록할 때 사용한 키 순서대로 레코드를 처리하는 경우에 다른 편성법보다 처리 속도가 빠르다 단점은요, 파일에 새로운 레코드를 추가 삭제가 힘들어요. 파일의 새로운 레코드를 삭제하는 경우에 왜 파일 전체를 복사해야 하기 때문에 시간이 많이 소요된다.
12:17
그리고 데이터 검색할 때 처음부터 순차적으로 검색해 가기 때문에 검색 효율이 낮습니다. 번째 색인 인덱스가 부여되어 진 순차 파일 인덱스는 뭐예요? 인덱스는 한글로 하면 색인이고 찾아보기라고 보시면 되죠. 순차 처리와 순차적인 처리와 그리고 직접적인 처리 랜덤한 처리가 모두 가능하도록 레코드들은 키 값 순서로 순으로 정렬시켜 기록하고 레코드의 키 항목만을 모은 색인을 구성하여 편성하는 방식입니다. 색인을 이용해서 순차적인 접근 방법을 제공한다고 해서요. 인덱스 시퀀스 시퀀셜 액세스 메소드 약어로 isam이라고도 합니다.
13:07
레코드를 참조할 때 색인을 탐색한 색인이 가리키는 포인터 주소를 사용해서 직접 참조하는 방식이고 자기 디스크에서 많이 사용되어지고 자기 테이프에서는 사용할 수가 없다. 순차 파일은 자기 테이프에서 주로 사용되어진다고 했죠. 네 색인 숫자 파일의 장단점입니다. 장점은요, 순차 처리 뿐만 아니라 랜덤 처리가 가능하다 그래서 목적에 따라 융통성 있게 처리가 가능하고 효율적인 검색이 가능하고 레코드 삽입 삭제 갱신이 용이하다 쉽다 단점은요, 책임 구역과 오버플로우 구역을 구성 하기 위해서 추가적인 기억 공간이 필요합니다. 파일이 정렬되어 있어야 하기 때문에 추가 삭제가 많으면 효율이 떨어지고요.
14:03
3개를 이용한 액세스를 하기 때문에 액세스 시간이 랜덤 편성 파일보다 더욱 느리다 세 번째 파일 처리 기술 종류 가상 기억 접근 방식 vsam인데 야근대에 풀로 보면 virtual 가상 스토리지 저장 기억 액세스 접근하는 메서드야 vsam이라고도 하고 vsam 파일은 동적인 인덱스 방식을 이용한 색인 순차 파일이다. 정적 인덱스 방식을 이용한 색인 순차 파일이고요. vsm은 파일 라코드가 저장되는 부분인 제어 구간 그리고 몇 개의 제어 구간을 모아놓은 제어 구역 그리고 제어 구역에 대한 인덱스를 저장한 순차 세트 그리고 순차 세트의 상위 인덱스인 인덱스 세트로 구성되어 있습니다. 레코드를 삭제하게 되면 그 공간을 재사용은 가능하고요.
15:01
제어 구간에 가변 길이 레코드를 쉽게 수용 가능하다 라고 하는 장점이 있습니다. 네 번째 직접 파일입니다. 다이렉트 파일 파일을 구성하는 레코드를요 특정한 순서 없이 임의의 물리적 저장 공간에다가 뚝딱 기록할 수 있는 것이자 그래서 랜덤 파일 또는 다이렉트 액세스 파일 메소드 파일이라고 해서 dam이라고도 합니다. 레코드에 직접 레코드의 특정 기준으로 키가 할당되어지는데 여기서 해시함수라는 부분 자체가 직접 파일에 사용되어지는 차별성이에요. 해당 이 키에 대한 보조기억장치 내의 물리적 상대 레코드 주소를 계산해서 해당하는 주소의 레코드를 저장할 수 있다. 이미 접근이 가능한 자기 디스크 자기 드롬에 사용할 수 있습니다.
15:51
장단점적인 부분에 대한 특성에서 살펴보게 되면요 해당 직접 접근 기억장치의 물리적 주소 를 통해서 파일의 각 레코드에 직접 접근하거나 기록할 수 있다. 접근 및 기록 순서는 제약이 없다. 접근 시간이 빠르고 레코드의 파일 삭제 수정 갱신이 용이하다 어떤 레코드라도 평균 접근 시간 내에 검색이 가능하다 단점은요, 네 레코드에 대한 주소 변환 과정이 필요하다 그래서 시간이 더 소요되고 기억 공간의 효율성이 저하될 수 있다 라고 하는 단점이 있습니다. 문제 풀면서 정리하겠습니다. 다음 중 색인 순차 파일에 대한 설명으로 옳지 않은 걸 골라라 첫 번째 순차 처리와 직접 처리 즉 랜덤 처리 모두 가능하다 맞죠. 레코드의 삽입 삭제 갱신이 용이하다 맞고요.
16:49
인덱스를 저장하기 위해서 별도의 공간이 필요하지 않다 틀렸습니다. 인덱스 저장을 위한 별도 공간이 필요하다는 게 단점이었습니다. 인덱스를 이용하여 해당 레코드에 접근하기 때문에 처리 속도가 랜덤 편성 파일보다는 너리다라는 게 단점이었고요. 모의고사 모의평가 다섯 문제 풀면서 정리하겠습니다. 초기 데이터 구축 시 세부 고려 사항으로 틀린 거 골라라 데이터 이관하는 정합성 검증을 통해서 오류 방지 방안을 제시하여야 한다. 맞습니다. 데이터 이관 시 새로운 데이터 추가를 막기 위해서 업무를 중단하고 데이터를 이관한다. 업무 중단을 네 최소화한다고 했었어요. 업무를 아예 중단하라는 부분은 아닙니다. 안정성 확보적인 부분이 요구가 되어졌긴 한데 업무 중단하고 이관한다. 이게 틀렸습니다.
17:46
데이터 이관 완료한 다음에 어 데이터의 품질 검정을 실시해서 그 결과를 제시한다. 맞고요. 개인정보에 해당하는 데이터는 개인정보 보호법과 관련 기준에 의해서 암호화 적용한다. 맞습니다. etl 프로세스에 대한 설명으로 틀린 것은 데이터의 전체 추출이 완료될 때까지 기다리고 이후에 변환 로드 작업을 한다. 자 이게 e 익스트랙션 t 트랜스포메이션 에어로드 이게 단계별로 끊어가지고 예외 완료 그 다음 두 번째 단계 이렇게 꼭 넘어가진 않는다고 했죠. 고객항목에 보면은 세 번째 보면 종종 시간 절약을 위해서 세 가지 etl 단계가 동시에 실행되어진다라고 했습니다. 3번과 상반되어져 있는데, 3번이 맞고 1번이 틀렸습니다.
18:39
동시에 시간을 줄이기 위해서 변환 익스트랙션 추출되어진 것들을 대상으로 다 추출 안 됐다 하더라도 추출된 대상으로 해서 변환 작업이 진행되고 이렇게 해요. 동시적으로 일반적으로 발생하는 데이터 변환은 필터링 정렬 집계 데이터 종인 중복 제거 그리고 데이터 유효성 검사 작업이 포함된다. 맞고 이때 4번 보기 변환 작업은 특수 엔진에서 진행되며 종종 변환 중인 데이터가 준비 테이블에 임시 보유되었다가 대상에 노드되기도 한다. 맞습니다. 3번입니다. 색인 순차 파일에 대한 설명으로 틀린 걸 골라라 레코드를 참조할 때 색인을 탐색한 후에 색인이 가리키는 포인터 주소 사용해서 직접 참조 가능해 맞고요. 인덱스를 저장하기 위한 별도 공간 필요하다 맞습니다. 레코드를 추가 및 삽입하는 경우에 전체 파일을 복사해야 한다. 이게 틀렸습니다.
19:35
레코드를 추가 사용할 때 전체 파일을 복사해야 하는 거는 순차 파일 방식이에요. 색인 순차 파일은 아닙니다. 색인 구역은 트랙 색인 구역 실린더 마스터 색인 구역으로 구성됩니다. 4번 순차 파일에 대한 설명으로 옳지 않은 거 파일 탐색 효율이 우수하며 접근 시간 및 응답 시간이 빠르다라고 돼 있는데요. 파일 탐색이 얘는 말 그대로 순차적이에요. 순서에 따라 가지고 특정 부분을 찾는다고 하더라도 순서에 따라 쭉 찾아가면서 찾아야 돼요. 그러면 이게 이 방식이 탐색 효율이 좋은가요 그건 아니죠. 내가 원하는 위치에 바로 가서 바로 찾을 수 있게끔 하는 게 탐색 효율이 좋으니까 1번이 틀린 보기입니다. 8탐색 효율이 우수하지 않습니다. 우수하다가 아닙니다.
20:32
필요한 레코드를 사진 삭제 수정하는 경우에 파일을 재구성하기 때문에 파일 전체를 복사해야 된다. 맞고 연속적인 레코드의 저장에 의해서 레코드 사이에 빈용 공간이 존재하지 않으므로 기억 장치의 효율 이용이 가능하다 어떤 형태의 입출력 매체에도 처리가 가능하다는 부분은 맞고요. 마지막 직접 접근 방식 다이렉트 액세스 메소드에 대한 설명으로 틀린 것은 데이터의 입출력이 빈번히 발생하는 곳에 응용하는 게 좋다. 맞고요. 해시함수를 이용을 해서 레코드의 저장 위치를 결정한다. 직접 접근 방식의 해시함수라는 부분이 특징이라고 말씀드렸고 다른 레코드를 참조하지 않고 어떤 레코드를 접근할 수 있다. 직접이죠. 말 그대로 직접 접근 기업 공간의 효율성이 매우 좋다. 이게 틀렸습니다. 기업 공간의 효율성이 좋지 않다가 단점이었습니다.
21:29
직접 접근 방식 자 핵심 정리 정리하고 마치겠습니다. 초기 데이터 구축 초기 데이터 구축은 기존 운영 시스템에 대한 이해를 바탕으로 구축 범위를 명확하게 하는 구축이구요. 초기 데이터 구축 절차 프로세스는요 첫 번째 구축 전략 수립 두 번째 초기 데이터 구축 대상 파악 세 번째 초기 대상 초기 데이터 구축 범위 정하는 거고, 마지막으로, 세부 고려 사항 체크합니다. 두 번째 eta 다양한 소스 시스템으로부터 필요한 데이터를 익스트랙션 추출하여 새로 개발할 정보 시스템에서 운영 가능하도록 트랜스포메이션 변환 작업을 거쳐서 타겟 시스템 목표라는 시스템으로 전송 또는 로딩하는 일련의 과정을 뜻한다. 데이터 전환입니다. 마지막으로요 파일 처리 기술인데요.
22:24
자료 구조 이론에서요 파일 처리 기술은 많은 양의 자료를 각종 매체에 저장하는 기법을 이야기하고요. 파일 처리 기술의 종류로서는 순차 파일 세균 순차 파일 가상 기억 접근 방식 vs am 파일 마지막으로, 직접 파일 방식이 있었습니다. 네 이상으로 데이터 전환 기술에 대해서 살펴봤습니다. 데이터베이스 구축 데이터 전환 두 번째 데이터 전환 수행에 대해 살펴보도록 하겠습니다. 학습목표인데요. 데이터 전환 수행 계획서의 모의 전환 일정에 따라 모의 데이터 전환 차수별 데이터 전환 계획서와 본 데이터 전환 계획서를 작성할 수 있다. 두 번째 데이터 전환 수행자가 수행해야 할 작업 항목 작업 내용 그리고 예정된 시작 및 종료 시각 작업 담당자를 포함하는 상세 체크리스트를 작성할 수 있다.
23:22
체크리스트 부분에서는요 포함되어진 내용 부분의 위주로 살펴보도록 할 겁니다. 세 번째 작성되어진 데이터 전환 계획서와 체크리스트에 따라 데이터 변환 프로그램들을 실행하고 정상 동작하는지 여부를 모니터링 할 수 있고 네 번째 작성되어진 데이터 전환 계획서와 체크리스트에 따라서 데이터 검정 프로그램들을 수행하여 전환 결과를 검증할 수 있다. 마지막 데이터 전환 과정과 데이터 검증 결과를 분석하여 데이터 전환 결과 보고서를 작성할 수 있다. 입니다. 학습할 내용은 세 파트로 나눠서 살펴보도록 하겠는데요. 데이터 전환 수행 계획과 체크리스트 그리고 데이터 검증이 되겠습니다. 먼저 데이터 전환에 대한 절차를 먼저 간략하게 살펴보도록 하겠는데요.
24:20
자 데이터 전환은 앞서서 저희가 첫 번째로, 살펴봤던 내용에 보면 etl이라고 있었죠. 익스트랙션 트랜스포메이션 그리고 로딩 이렇게 세 가지가 있었는데, 그걸 한글로 변환해서 할 때는 데이터 전환이라고 얘기했었습니다. 데이터 전환은 현행 정보 시스템을 분석을 해서 목표로 하는 정보 시스템의 필요 데이터를 익스트랙션 뽑아내고 그리고 목표 시스템에 맞게끔 변환하고 목표 시스템에 로딩해 가는 그 과정이었죠. 자 데이터 전환 절차는요 우선은 개발 프로세스 4단계로 볼 때 분석 그리고 네 설계 구현 테스트 그 단계로 이해를 하면 수월한데 요구사항 분석 단계에 해당되어지는 게 전환 계획 및 요건 정의이고요.
25:07
설계 단계에 해당되어지는 게 전환 설계 구현 단계에 해당되어지는 게 전환 개발 테스트 단계에 해당되어지는 게 전환 테스트 및 검증으로 구분할 수 있고 하위의 세부적으로 22가지 상세 단계로 나누어집니다. 개괄적으로 보도록 하겠습니다. 네 자 데이터 전환 부분에서 살펴보게 되면요 첫 번째 수행 단계의 데이터 전환 계획 및 요건 정의 데이터 전환 계획 및 요건 정의에 해당하는 상세 단계는 어떠한 것들이 있는가 프로젝트 계획 그리고 프로젝트 환경 구축 그리고 애즈 이즈 시스템 분석이라고 되어 있는데, 애즈 이즈는 현행 시스템을 이야기합니다. 현행 시스템 분석 그리고 2b 시스템 분석이라고 돼 있죠. 2b 시스템 분석은 목표 시스템 분석입니다.
25:59
애제이즈는 현행 투비는 목표 시스템 분석 그리고 데이터 전환 요건 정의가 데이터 전환 계획 및 요건 정의에 해당되어지는 단계들이고요. 그리고 데이터 전환 설계 단계에서는 개괄적으로 보겠습니다. 로지컬 맵핑 코드 맵핑 검증 규칙 정의 전환 계획 수립이 데이터 전환 설계에 해당되어지고요. 데이터 전환 개발 개발 단계는 전환 개발 환경 구축 환경 구축 앞부분에 하나 더 있었어요. 여기 환경 구축이 있었는데, 여기서는 프로젝트 환경 구축이었고 데이터 전환 개발에서는 전환 개발 환경 구축입니다. 그리고 전환 프로그램 개발 검정 프로그램 개발 이 데이터 전환 개발에 포함되어지고요.
26:51
데이터 전환 테스트 및 검증 부분에서는요 전환 검증 설계 추출 검증이라는 단어가 들어가 있는 것들은 다 이 단계입니다. 네 변화 반환 결과 검증 최종 전환 설계 그리고 전환 인프라 구축 1에서 n차시 전환 검증 마지막 전환 데이터 전환 단계는 최종 전환 안정화 지원 후속 단계 데이터 전환 그리고 전환 완료 보고서 작성이 해당되어집니다. 문제화에서 나올 수 있는 부분은요, 해당 수행 단계의 상세 단계 수행 단계별 상세 단계에 포함되지 않는 거 골라 이렇게 문제화 낼 수 있는데, 나중에 저희 문제 풀이하면서 다시 정리하도록 하겠습니다. 다음 데이터 전환 수행 계획입니다. 데이터 전환 수행 계획에서는요 데이터 전환 수행 계획서를 작성하기 위해서는요 세 가지를 먼저요 명확하게 먼저 해야 되는데 그 첫 번째가 데이터 전환에 대한 범위를 선정을 하고요.
27:47
두 번째는 데이터 전환의 일정을 선정하고요. 세 번째는 데이터 전환 절차를 픽스시키고요. 그 세 가지 절차를 통해서 데이터 수행 계획서를 만들 수가 있습니다. 먼저 2차 전환 범위 선정은 전환 대상의 상세 내용 그리고 데이터 형식 대상 건수를 파악하고요. 필요에 따라서는요 현행 시스템을 목적 시스템으로 전환해 갈 때 현행 시스템에서는 사용됐지만 목표 시스템에서는 사용을 안 하는 것들도 있겠죠. 그런 경우에는 필요에 따라서는 전환 대상을 제외하는 것도 뽑아낼 수 있다. 이 말입니다. 전환범위 선정 그리고 두 번째 데이터 전환 일정 선정 팀별로 업무 분장을 해서요. 팀별 역할 및 언제까지 라고 하는 납기를 기록하고 그리고 전환 차수의 결정은 통합전환계획 및 테스트 계획에 의해서 결정할 수가 있겠습니다. 세번째 데이터전환절차입니다.
28:46
현행 애제이즈 시스템에서 투비 목표 시스템으로 데이터 전환을 위한 단계를 구분하고 각 단계별 작업 내용과 사용되는 도구를 별도로 기록하고요. 다음으로, 원천 데이터베이스의 데이터는 백업을 해서 스테이징 데이터베이스로 복구하고요. 정비 및 변환 작업을 수행하고 변환 작업을 수행하는데 왜 이러느냐 하면 이는 원천 데이터베이스의 손상과 변형을 막기 위한 방법입니다. 그리고 마지막으로, 데이터 전환이 완료된 다음에 검증하는 단계에서는요 스테이징 케이 데이터베이스가 아니라 원천 데이터베이스와 비교해서요. 데이터 오류를 확인합니다. 자 네 번째 데이터 전환 계획서를 작성을 하겠는데 데이터 전환 계획서에 포함되어지는 주요 항목과 세부 항목 개괄적으로 한번 보도록 하겠습니다.
29:41
네 먼저 데이터 전환 개요가 있는데, 데이터 전환 개요에 포함되어질 세부 항목으로는 데이터에 대한 전환 목표를 설정할 건데 이 목표는 아주 구체적으로 상세하게 하지 말고요. 개괄적으로 간략 명료하게만 설정해도 됩니다. 그리고 주요성공요인 전제조건 및 제약사항 두 번째 데이터 전환 대상 및 범위 세 번째 데이터 전환 환경 구성은 원천 시스템 구성도와 목표 시스템 구성도 그리고 전환 단계별 디스크 사용량이 세부 항목에 포함됩니다. 네 번째 데이터 전환 조직 및 역할 전환 조직도 조직별 역할 업무 분장 계획 그리고 전환 일정 데이터 전환 방안 사전 준비 데이터 전환 설계의 프로그램 개발 및 테스트 데이터 전환 리허슬과 데이터 전환이 해당 데이터 전환 방안의 세부 항목이 되겠고요.
30:35
데이터 정비 방안은 데이터 정비 대상 및 방법 그리고 정비 일정 및 조직 그리고 비상 계획이라고 하는 부분 자체는 데이터 전환이 이루어지는 당일에 구성되어진 종합 상황실 및 의사소통 체계가 세부 항목에 포함되어지고 마지막 데이터 복구 계획은 전환 과정에서 오류가 발생했다든가 데이터 전환이 실패했을 때 데이터에 대한 백업 및 복구 방안 수립을 주 내용으로 작성하면 되겠습니다. 자 데이터 전환 수행과 관련되어진 네 퀴즈입니다. 데이터가 정한 절차로 올바른 것을 골라라 자 전환 절차는요 먼저는요 뚝딱 수행부터 하면 안 되죠. 네 먼저 계획을 잡아야 되죠. 계획 수행 그다음에 평가 뭐 그다음에 보고 이렇게 네 자 항목에서 보게 되면은 첫 번째 데이터 변환 프로그램 개발부터 있고 계획서 작성 계획서 작성이 제일 먼저 와야 되겠다.
31:32
그죠 자 그러면 보기 항목 내에 사지 삼답형이니까. 틀린 거 걸러내고요. 남는 거에서 다시 다시 비교해 가면서 정답을 고르시면 돼요. 전환계획서 작성이 제일 앞에 있는 거 네 2개 뽑아집니다. 이렇게 두 개 2번하고 3번이에요. 전환 계획서 작성 그리고 체크리스트 작성 똑같아요. 그다음에 데이터 변화 프로그램 개발까지 갔구요. 수행 결과 검증이 먼저냐 결과 보고서 작성이 먼저냐 제일 마지막에 보고 작성해야겠죠. 네, 그러면 2번이 정답이 되겠습니다. 사지산답형이기 때문에 사지산답형에서요 답을 골라가는 방법은 방금 풀이한 것처럼 틀린 거를 걸러내고요. 다시 비교해 가지고 네 범위를 좁혀 가지고 푸는 것도 하나의 팁입니다. 2번입니다. 데이터 전환 계획서 작성에 대한 설명으로 틀린 것은 데이터 전환 목표는 구체적이고 상세하게 작성한다.
32:29
아까 제가 강조해서 말씀드렸죠 데이터 전환 목표는 단결하고 명확하게 네 작성을 합니다. 아주 구체적으로 상세하게 말구요. 데이터 전환 환경과 관련해서는 원천 시스템 구성도 목표 시스템 구성도 내에 그리고 전환 단계별 디스크 사용량을 기술한다. 맞구요. 데이터 전환 조직도 작성할 때는 데이터 전환을 수행하고 결과를 검증할 작업자와 작업자별 역할은 상세하게 기록하는 게 좋겠다. 맞구요. 데이터 전환 일정은 데이터 전환 및 검증 작업별로 상세 일정을 수립하여 작성하는 것이 맞습니다. 틀린 것은 1번 두 번째 체크리스트에 대해 살펴보도록 하겠는데 체크리스트는 내용이 작아요. 체크리스트의 개념입니다. 이 체크리스트는 지금 현재 데이터 전환에 있어서의 체크리스트입니다.
33:25
전환 프로그램의 에러 시간의 제약 업무 프로세스 변경 빈번한 데이터 요건 변경 하드웨어 장애와 같은 이러한 것들이 뭐다 위험요소들입니다. 이러한 위험요소에 최대한 대응하기 위해서 뭘 작성한다. 체크리스트를 작성을 하자 체크리스트에는 어떤 것들이 포함되어진다 데이터 전환 수행자가 수행할 작업의 상세 항목 그리고 작업 내용 예정 시작 종료 시각 작업 담당자 이름이 기재가 되어지는데 양식은 다음과 같습니다. 데이터 전환 체크리스트의 예제인데요. 단계를 사전 준비 데이터 전환 데이터 점검으로 나눠봤고 세부 작업 내용의 예시입니다. 이렇게 그다음에 작업자는 누구 수행 실적 그리고 작업 예정 시작과 종료 시간을 포함하는 체크리스트 양식을 만듭니다. 몇 가지만 볼까요?
34:18
사전 준비 작업 내용으로서 운영 환경에 대한 설정 및 점검이 제대로 됐냐 네 작업자는 누구야 수행 실적은 어때 시작과 종료 시간 이렇게 자 폼을 위주로 익히시면 돼요. 체크리스트에 포함되어질 내용은 단계 상세 작업 내용 작업자 그리고 수행실적 그리고 작업 예정 시작 종료 시간이 포함된다. 이렇게 정리하시면 되겠습니다. 문제입니다. 데이터 전환 수행을 위한 체크리스트에 포함하기에 적합하지 않은 건 뭔데 작업 내용 있어야 되죠. 작업 담당자 있어야 되고 단계별 작업 내용의 작업에 대한 상세한 내용 맞는데 작업 프로세스는 없습니다. 작업 단계는 있지만 작업 프로세스 세부적인 건 없어요. 마지막으로, 데이터 검증입니다. 데이터 검증은 개념입니다.
35:11
원천 시스템의 데이터를 목적 시스템의 데이터로 전환하는 과정이 정상적으로 수행되어졌는지 여부를 확인하는 과정이 데이터 검증입니다. 데이터검증 종류가요 검증 방법과 검증의 단계에 따라서요 나눌 수 있는데, 데이터 검증 방법에 따른 분류로서는요 다시 5가지로 종류를 나눌 수 있는데, 로그 검정이다. 네 로그라고 하는 부분 자체는 뭔가 기록을 남기는 거예요.
35:45
어떤 이벤트가 발생할 때 뭔가 어떤 변화가 있을 때 그죠 네 자 로그 검정은 검정 내용이 데이터의 전환 과정에서 작성되어지는 작성하는 추출 전환 적재 관련되어진 로고를 보면서 검증하라 기본 항목 검정은요, 로고 검증 외에 별도로 요청이 되어지는 검증 항목에 대해서 검증하는 종류가 되겠고 그리고 응용 프로그램 검증은 응용 프로그램을 통해서 데이터 전환의 정합성은 변동사항 없이 올바르게 수행되어졌는지 오류 없이 정합성을 검증하고 응용 데이터 검증은 사전에 정의되어진 업무 규칙을 기준으로 데이터 전환의 정합성은 검증합니다. 마지막으로, 갑 검증이 있는데, 갑 검증은 숫자 항목의 합계 코드 데이터의 범위 속성 변경에 따른 값 검증 등을 수행을 합니다.
36:45
데이터 검증의 종류 방법에 따라서 로그 기본 항목 검증 응용 프로그램 검증 응용 데이터 검증 갑 검증 5개가 있다. 두 번째 데이터 단계에 따른 분류로서요 검증 단계별 추출 단계 전환 단계 데이터베이스 적재 단계 데이터베이스 적재 완료된 후 이렇게 마찬가지 5개 단계별 목적을 한번 볼까요? 추출은요, 어떤 목적으로 검증이 이루어지느냐 현행 시스템 데이터에 대한 정합성 확인 목적이고 프로그램 작성 과정에서 발생할 수 있는 오류를 방지할 수 있기 때문이야 검증 방법은 로그 전화는 매핑 정의서에 정의되어진 내용을 프로그램에 정확하게 반영하였는지를 확인하고 맵핑 정의서와 매핑 프로그램 오류 여부를 확인하고 맵핑 조건과 상이한 경우의 존재 여부를 확인합니다.
37:42
검증 방법은 로그 검증 그리고 데이터 적재 타겟 sap라고 하는 부분 자체는요 시퀀스 순차적으로요 시퀀스 액세스 메소드 약어로 보시면 되겠습니다. 순차 접근방식 타겟 sam 파일을 sql 로드로 아웃 db는 릴레이셔널 관계 데이터베이스에 로드하는 과정에서 발생할 수 있는 오류 및 데이터 누락과 손실 등의 여부를 확인하는 것이 되겠고 얘도 검증 방법은 로그 검정입니다. 자 로그 검정이 바로 추출 전환 적재 로그 파일 본다라고 했었죠. 데이터베이스 적재 후에 후 단계에서는 데이터 전환의 최종 단계 완료에 따른 정확성을 확인하는데 검증 방법은 기본 항목 검증이고요.
38:37
마지막으로, 전환 완료 후는 검증 방법이 응용 프로그램 검증과 응용 데이터 검증이 되겠습니다. 문제요 퀴즈 다음 중 데이터 전환 검증에 사용되는 검증 방법이 아닌 건 뭐야? 로그 검증 기본 항목 검증 응용 프로그램 검증 응용 데이터 검증 갑군 갑 검증 5개가 있었죠. 포함 안 되는 거 정합성 정합성 검증 요거 틀렸습니다. 네 4번이 틀렸습니다. 방법에 따른 분류죠 모의평가 다섯 문제 풀고 정리하겠습니다. 데이터 전환 절차 중에 데이터 전환 개발 단계에 해당하지 않는 것은 전환 개발 단계예요. 전환 개발 환경 구축 로지컬 랩핑은 얘는 전환 개발 단계가 아니라 설계 단계 설계 단계에서 포함되어졌던 네 단계입니다. 상세 단계입니다.
39:31
그래서 2번이 틀렸고 전환 프로그램 개발 검정 프로그램 개발은 전환 개발 단계에 해당되어집니다. 두 번째 데이터 전환에 대한 설명으로 올바르지 않은 것 첫 번째 데이터 전환 수행 계획서를 만들기 위해서는 전체적인 데이터 전환 방법론을 이해를 해야겠죠. 두 번째 데이터 전환을 위해서 여러 단계의 전환 계획서를 작성하여 리스크를 사전에 예방하는 것이 좋겠다. 데이터 전환이 완료되고 난 다음에 원천 데이터베이스는 삭제한다 라고 되어 있는데요. 데이터 전환이 완료되고 난 다음에 원천 데이터베이스는 백업해서 일정 기간 보관을 합니다. 즉시 삭제하는 게 아니라 3월에 틀렸고요. 데이터 전환 방법 범위 선정 시 전환 대상의 상세 내용과 데이터 형식 대상 건수를 파악한다. 맞습니다.
40:29
세 번째 전환 프로그램의 에러 시간의 제약 업무 프로세스 변경 빈번한 데이터 요건 변경 하드웨어 장애 이와 같은 위험요소들에 대해서 최대한 대응하기 위해서 작성하는 건 네 체크리스트였죠 체크리스트 4번이 정답입니다. 다음 원천 시스템의 데이터를 목적 시스템의 데이터로 생성하는 과정이 정상적으로 수행되어졌는지 여부를 확인하는 과정은 무엇인가 제조됐느냐 라는 부분을 확인하는 과정은 데이터 검증이었죠. 검증 2번이 정답입니다. 다음 다음 중 데이터 검증 방법 중에 로그 검증이 사용되어지는 검증 단계가 아닌 걸 골라라고 돼 있습니다. 로그 검정은 추출 전환 적재 이 세 가지 경우였거든요.
41:29
아닌 거 추출 전환 db적재 전환 완료 후 4번이 틀렸습니다. 전환 완료 후에서 적용하는 검증 방법은 응용 프로그램 검증과 응용 데이터 검증이었죠. 핵심 내용 정리하고 클로징 하겠습니다. 데이터 전환 수행 계획 파트에서는요 네 데이터 전환 절차는 데이터 계획의 요건 정의 전환 설계 전환 개발 전환 테스트 및 검증으로 구분할 수 있었고, 23개의 상세 단계들이 있었어요. 데이터 전환 수행 계획 작성을 위해서는요 데이터 전환에 대한 범위와 일정과 전환 절차를 명확히 해야 수행 계획서를 작성할 수 있겠다.
42:13
마지막으로, 데이터 전환 계획서의 주요 항목으로서는요 개괄적으로만 데이터 전환 개요 전환 대상 및 범위 그리고 전환 환경 구성 전환 조직 및 역할 전환 일정 전환 방안 정비 방안 비상계획 등이 있습니다. 두 번째 체크리스트 전환 프로그램의 에러 시간의 제약 업무 프로세스 변경 빈번한 요건 변경 하드웨어 장애 등과 같은 위험요소에 대응하기 위해서 네 체크리스트를 작성을 하고 체크리스트에 포함되어지는 내용은 데이터 재난 수행자가 수행할 작업에 대한 상세 항목과 작업 내용 그리고 작업 담당자 예약 시작 예정 시작과 종료 마지막 데이터 검증입니다. 원천 원천 시스템의 데이터를 목적 시스템의 데이터로 전환하는 과정이 정상적으로 수행되어졌는지 여부를 확인하는 과정이 되구요.
43:12
종류는 검증 방법에 따른 분류로서 로그 검증 기본 항목 검증 응용 프로그램 검증 응용 데이터 검증 검정 검정이 있었고, 데이터 단계에 따른 분류로서는 추출 적재 db 적재 적재 후 그리고 전환 완료 후 이렇게 나눠졌습니다. 네 이상으로 전환 수행에 대해서 마치도록 하겠습니다. 데이터베이스 구축 데이터 전환 마지막 데이터 정제에 대해 살펴보도록 하겠습니다. 학습목표인데요. 원천 데이터와 전환된 목적 데이터베이스의 데이터의 품질을 분석해서 정상 데이터냐 오류 데이터냐라는 부분을 정량적으로 측정할 수 있다. 두 번째 발견되어진 오류가 있으면 그 오류를 분석하여 오류의 원인을 파악하고 원천 데이터와 응용 프로그램의 정제에 대한 필요 여부를 결정할 수 있다.
44:07
세 번째 정제에 필요한 원천 데이터와 오류를 생성하는 원천 프로그램을 수정하기 위한 데이터 정제 요청서를 작성할 수 있다. 마지막으로, 정제되어진 원천 데이터를 확인하여 데이터 정제 수행 결과를 검증하고 데이터 정제 보고서를 작성할 수 있다. 입니다. 내용은 세 파트로 나눠서 학습하도록 하겠는데요. 데이터 정제 그리고 데이터 품질 분석 마지막으로, 오류 데이터 측정이 되겠습니다.
44:41
데이터 정제는요 단계별 데이터 정제 방안으로서요 네 1 2 3단계로 나눠 가지고 1단계 데이터 전환 테스트 전 단계에서 데이터 정제할 대상과 정제 내용 정제 조건을 표로 정리한 부분 가지고 살펴보도록 하겠는데 정제의 대상으로서는요 정합성 미비 정제 내용은 뭔데 정합성이 미흡하다 이 말입니다. 정합성이라는 부분 자체는 오류 없이요. 동일하게 되어지는 부분이 아니다. 데이터 상호 간의 정합성이 유지될 수 있도록 데이터를 보완하자 정제 내용입니다. 정제 조건은요, 업무 규칙을 적용할 정당한 값 또는 데이터가 선별되어져야 되겠다. 두 번째 정제 대상은 불필요한 데이터 필드가 있어 정제 내용은요, 사용하는 데이터의 경우는 맵핑을 수행하고 사용하지 않는 경우는 해당 테이블을 삭제하라 정제조건은 없어요.
45:39
손실된 데이터가 있어 정제 내용으로서는요 손실된 데이터를 정당한 값으로 복원하라 정제조건으로서는 손실된 데이터의 정당한 값을 알아야지만 복원하겠죠. 그리고 맞지 않는 타입이야 데이터 타입이 안 맞다. 정제 내용은 정당한 타입의 데이터를 수정하라 그리고 정제 조건은 해당 데이터를 정당한 타입의 필드로 이전 마지막으로, 오류 데이터가 있네 오류 데이터에 대한 정제 내용은 오류 데이터를 정당한 데이터로 변경하고요. 불필요한 데이터는 삭제 또는 초기화하라 정제 조건으로서는 정당한 데이터의 기준이 먼저 정의가 되어져야 되겠습니다. 두 번째 2단계는 전환 테스트 시 단계별 정제 데이터 정제 대상 및 내용입니다.
46:23
전환 테스트 시에 정제 대상이 될 수 있는 것은 전환 테스트 결과 발견되어진 오류 데이터가 있더라 정제 내용은요, 사전에 업무 규칙을 적용을 해서 정의한 정당한 데이터 값으로 정비 동일한 타입으로 전환 1단계 정제 대상 항목의 정제 내용과 동일하게 정제를 한다. 정제 조건은요, 테스트 결과를 이용하여 정제 조건을 결정하고 테스트 수행 과정에서 정제 대상 리스트가 제시되어져야 되겠습니다. 마지막 3단계 최종 전환에서 단계에서의 정제 대상이 되는 대상은 최종 전환 과정에서 정제 내용은요, 맵핑 정의서에 작성되어진 전환 규칙을 이용하여 전환 프로그램이 해당 내용을 추가해서 프로그램 수행할 때 정제가 되도록 한다.
47:17
정제 조건은 테스트 결과를 이용해서 정제 조건을 결정할 거고, 사전에 맵핑 과정에서 정제 대상 및 정제 조건이 명확하게 제시되어야 되겠습니다. 학습한 내용은 작지만 해당 문제화 할 수 있는 예입니다. 퀴즈 볼게요 단계별 데이터 정제 방안 중에 전환 테스트 전에 해당하는 내용이 아닌 걸 골라라 전환 테스트 전에 정제 방안이 제일 많았죠 그렇기 때문에 문제를 이 부분에서 뽑아놨는데 정의되어진 기준에 의해 전환 제외 대상 데이터는 삭제한다라는 부분은 정제 테스트 전에 포함되어지는 정제 방안이었고요. 데이터 상호 간의 정합성이 유지될 수 있도록 데이터를 보완한다. 도 포함되어 있었고요.
48:10
손실되어진 데이터의 정당한 값으로 복원 오류 데이터의 즉각적인 삭제가 아니었어요. 오류 데이터는 즉각적으로 삭제하지 말고 오류 데이터는 정당한 데이터로 변경했다가 불필요한 데이터는 삭제하고 초기화하라 이렇게 되어 있었죠. 나머지 전환 테스트 전에 정리된 내용들 데이터 다시 한번 볼까요? 상호 간의 정합성 유지될 수 있도록 데이터 보안 사용하는 데이터는 매핑하고 불필요한 데이터 필드요 사용하지 않는 경우에는 해당 테이블 삭제해 손실된 데이터는 정당한 값으로 보건 맞지 않는 타입은 정당한 타입의 데이터를 수정 그리고 오류 데이터는 오류 데이터를 정당한 데이터로 변경 불필요한 데이터는 삭제 또는 조기화였습니다. 두 번째 파트의 내용입니다. 데이터 품질 분석이 되겠는데요. 데이터 품질 분석은 두 가지로 나눠 가지고 살펴보도록 하겠습니다.
49:03
먼저는 원천 데이터에 대한 품질 분석 두 번째는 전환데이터에 대한 품질분석 이렇게 나눠서 살펴보도록 하겠는데요. 원천데이터의 품질분석은 원천데이터의 품질이 보장되지 않으면 전환하고 나서도요 데이터가 정확하지 않습니다. 그래서 전환후데이터종합성 검정 시 오류가 발생할 때 그 원인을 찾기도 어려워요 그래서 전환 전에 원천 데이터의 품질을 검정함으로써 전환의 정확성을 보장하고요. 또 이전에 미처 발견하지 못했던 데이터 오류도 찾아낼 수 있는 그런 효과가 있습니다. 원천 데이터의 품질 검정을 위한 대표적인 정합성 항목들이 있는데요. 많아요.
49:53
원천 데이터의 데이터 품질 검정의 정합성 항목이 뒤에 살펴볼 전환 데이터의 품질 검정에 대한 정합성 항목보다 많아요. 그럼 어떻게 하느냐 적은 그걸 기준으로 명확하게 익혀 놓는 게 좋겠습니다. 그래서 적은 걸 명확하게 익히면 해당 많은 거를 몰라도 얘를 섞어 가지고 보기로 나오니까 원천 데이터 품질 검정의 정합적 항목이 아닌 거 골라 전환 데이터 품질 검정의 종합성 항목이 여기에 포함되어 있으면 고를 수 있으면 돼요. 네 자 종료 한번 개괄적으로 보도록 하겠습니다.
50:34
필수 항목의 데이터가 모두 존재해 데이터 유형이 데이터 유형 문자형 데이터냐 숫자형 데이터냐 정의되어진 그 네 데이터 유형이 맞는 맞게 관리가 되고 있어 날짜인 경우에는 날짜로서 유효한 형태를 가지고 있는가 금액인 경우에는 금액으로서 유효한 값의 범위인가 계좌번호 같은 경우는 정해진 법칙에 따른 번호가 맞냐 맞는가 그리고 영업점이 실제로 존재하는 영업점인가 코드값이 정해진 범위에 속하는가? 개설 일자 해지 일자 등 모든 일자의 시점이 업무 규칙에 위배되지 않고 정확하게 설정되어 있는가 업무규칙 예배되는 잘못된 정보가 존재하는가? 실명 확인인데 주민등록번호가 없다든지 이런 경우에 안 맞죠. 잔액의 총합이 회계정보와 동일한가 마지막으로, 보고서 값과 실제 데이터 값이 일치하는가?
51:29
어디에 해당되는 정합성 항목이자 원천데이터 품질검사에 해당되는 정합성 항목들이었고요. 다음 목적 데이터 품질 분석입니다. 목적 데이터가 전환 데이터예요. 목적 데이터 네 전환 데이터 목적 데이터의 품질 분석 개념은 원천 데이터와 목적 데이터베이스의 컬럼 간의 대응 관계는 1대1 대응보다는 n대 m은 다대다 다대다 대응관계가 더 많기 때문에 양자 간 대응 관계를 정확하게 표현하기 위해서 데이터 레이아웃을 정확하게 파악하고 품질검정을 진행해야 하겠다. 목적 데이터베이스의 전환데이터 검증의 고려사항입니다. 현재 업무에서 사용하는 보고서나 통계용 정보를 사전에 잘 조사해서요. 검증에 필요한 내용을 선정하고 현재 원장 원장부 네 원장을 바탕으로 검증용 정보를 도출한다.
52:29
두 번째 전환 데이터의 검증은 데이터 전환 팀 인원뿐만 아니라 현업 인원도 같이 검증을 수행함으로써 검증에 대한 정확도와 시간을 단축시키는 것이 중요하다 전환 데이터의 대표적인 정합성 검증 항목 좀 전에 제가 설명드렸죠 네 원천 데이터보다 전환 데이터의 정합성 검증 항목이 훨씬 더 적어요. 몇 개 5개 제시되어져 있습니다. 그래서 오히려 예를 명확하게 익히고요. 네 원천 데이터의 정합성 항목이 아닌 거 골라 또는 원천 데이터의 정합성 항목인 거 골라 우리 반대로 전환 데이터의 종합성 항목이 섞여 있을 때 고를 수 있으면 돼요. 대상입니다. 과목별 좌수 및 잔액 특정 기준으로 분류되어진 좌수 및 잔액 이렇게 돼 있는데, 좌수 뭐 계좌 뭐 이런 거 있잖아요.
53:29
근데 그 좌수 이거 의미라고 보시면 될 것 같고, 보고서 항목 또는 통계 수치 계좌 및 고객을 전수가 아니라 샘플링 해서 해당 사항을 검증 특수관계에 있는 고객을 추출하여 관련된 데이터가 정확한지 검증한다. 전환데이터의 정합성 검증 항목 다섯 가지였습니다. 문제 풀면서 정리해 보도록 할게요 데이터 품질 분석의 퀴즈입니다. 전환 데이터의 대표적 정합성 검증 항목이 아닌 거 원천 데이터의 정합성 검증 항목 전환 데이터의 정합성 검증 항목 전환 데이터의 정합성 검증 항목이 적다 그랬죠 5가지 방금 우리가 살펴봤잖아요.
54:15
앞에서 살펴봤던 과목별 좌수 및 잔액 특정 기준으로 분류된 좌수 및 잔액 보고서 항목 또는 통계 수칙 계좌 및 고객을 샘플링하여 해당 사항을 모두 검증 특수관계가 있는 고객을 추출하여 추출된 데이터가 정확한지 검증인데 아닌 거 골라보세요. 과목별 좌수 및 잔액 모든 데이터 고객의 전수조사 특수관계 고객 추출 검증 보고서 항목 또는 통계 수치 모든 고객 데이터 전수 검증이 아니라 샘플링이었죠. 네 샘플링 그래서 2번이 틀렸습니다. 전환 데이터의 대표적 정합성 검증 항목이 아닌 거 다음 오류 데이터 측정에 대해 살펴보도록 하겠는데요.
55:06
오류 데이터 측정은 정상 데이터와 오류 데이터의 정량적 측정으로서 정상 데이터의 건수를 정상 데이터 건수를 정량적으로 측정한다. 전환되어지는 전환 대상 범위의 데이터를 업무 영역별 테이블별로 세분화하여 정상 데이터의 수량을 정확히 측정하고 기록한다. 두 번째 오류 데이터의 유형과 건수를 정량적으로 측정한다. 이는 원천 데이터의 정합성 검정을 기준을 근거로 해서 업무별로 오류 위치의 유형을 파악하고 그 수량을 정확하게 측정하여 기록하는 것을 이야기합니다. 원천 데이터의 오류 관리 목록 양식입니다. 일례로 양식인데요. 프로젝트명은 어떤 시스템 재구축 프로젝트이고 시스템 종류는 erp 시스템이야 자 여기에 어떤 항목들이 포함되어 있는지 정도만 이해하도록 하겠습니다. 순번이 있고요.
56:04
오류 아이디와 그리고 정제 아이디 그리고 오류의 원인 그리고 해결 방안 심각도 상중하 중에 하나로 표기를 합니다. 네 심각도 오류입니다. 상 이렇게 하면 오류가 심각하다는 거예요. 심가위 정도가 높다는 말이에요. 안 좋다는 말이에요. 상이 그리고 상태 상태의 종류는 뒤에 저희가 구체적으로 살펴보겠는데 오픈 픽시드 클래스 파이워드 뭐 여러 가지가 있어요. 고거 이제 시험에 좀 나올 확률이 높아요. 발생 일자는 그냥 발생 일자고 해결자는 해결 일자고 담당자는 담당자 이렇게 되는 거죠. 네 그래서 요 세 가지를 좀 더 살펴볼게요 해결 방안 심각도 상태 오류 원인 파악 및 정제 여부에 대한 결정으로서요 발견되어진 데이터 오류를 분석하고 원인 파악하는데 첫 번째 해결 방안은 오류의 내용과 원인을 분석해서 해결 가능한 오류는 향후 처리 방침을 기술하면 되고 해결 불가능한 오류는 고객과 협의한 내용을 기술하면 된다.
57:03
위에 예제 한번 볼까요? 첫 번째 예제가 오류가 뭐냐 하면 국가 코드가 미존재해서 해당 입력이 안 된다. 그런 경우에 해결 방안은 국가 코드를 넣어주면 되겠죠. 그래서 해결 방안 이 케이스 같은 경우에는 코드 정보에 미반영되어진 국가 코드를 추가시키겠다. 이렇게 적어주면 된다. 이 말이고요. 심각도는 오류에 대한 심각도예요. 상은요, 더 이상 데이터 이행을 진행할 수 없게 만드는 이거 심각한 오류예요. 심각성이 높은 오류 중은 데이터 이행 전반에 영향을 미치는 오류 하는 데이터 이행 흐름에 영향을 미치지 않는 오류이나 상황에 맞지 않는 용도 및 배치 오류가 여기에 해당되어집니다. 수준이 다음 상태 상태 표기 종류는요 6가지가 있어요.
58:02
6가지 오픈이라고 적었다 오픈 상태는 어떤 상태에 있냐 오류가 보고가 되었지만 아직은 분석되지 않은 상태가 오픈 다음 어사인드 할당됐단 말이에요. 역량분석 및 수정을 위해서 오류를 개발자에게 할당한 상태 세 번째 픽스드 픽스 수정됐다. 이 말입니다. 개발자가 오류를 수정한 상태 개발자가 오류를 수정한 상태 픽스드 클로즈드라고 하는 문 닫았단 말인데 뭘 닫았단 말이냐 오류가 수정되었는지 확인하고 재테스트할 때 오류가 발견되지 않은 상태예요. 만약에 수정된 오류가 만족스럽지 않을 경우엔 오류를 다시 오픈 반대죠 클로즈드 오픈 반대 클로즈드는 오류가 수정되었는지 확인하고 재테스트할 때 오류가 발견되지 않은 상태 오류가 더 발견되지 않은 상태가 클로즈드 디폴 연기했단 말입니다.
59:01
네 오류 우선순위가 낮게 분류되었기 때문에 오류 수정을 연기한 상태고 클래스 바이어드는 분류되었다. 보고된 오류가 프로젝트 팀에 의해서 오류가 아니라고 판단된 상태 오류가 아니라고 판단된 상태가 classifid 상태 6가지 다음 원천 데이터와 전환 프로그램의 정제 필요 여부를 결정한다. 지금 저희가 뭘 살펴보고 있냐면 오류 데이터의 측정이에요. 오류 데이터의 측정은 첫 번째 발견된 데이터 오류를 분석하고 원인을 파악해 그 다음 단계가 원천 데이터와 전환 프로그램의 정제 필요 여부를 결정해 이 말입니다. 이 원천 데이터와 전환 프로그램의 정제 필요 여부 결정은 파악되어진 오류 원인을 기반으로 해결 방안을 협의하는 단계가 되겠고 무시해야 하는 오류가 아닌 경우는 원천 데이터 정제를 통해서 해결할 것인가?
1:00:00
아니면 전환 프로그램을 수정할 것인가? 둘 중에 하나를 결정을 해야 됩니다. 오류 데이터 측정에 대한 퀴즈입니다. 다음 중 오류 데이터 상태에 대한 설명으로 올바르지 않은 거 오류 데이터 상태 여섯 가지 있었죠. 오픈은 오류가 보고되었지만 아직 분석되지 않은 상태를 의미한다. 맞습니다. 어자인드 할당됐다구요. 오류의 역량분석 및 수정을 위해서 개발자에게 오류를 할당한 상태로 의미한다. 맞습니다. 클러스파이드 수정이 불가능한 오류 상태를 의미한다. 이게 틀렸죠 클래스 파이어드는 오류가 아니라고요. 오류가 아니라고 네 분류되어진 것을 이야기했죠. 네 픽스드는 개발자가 오류를 수정한 상태 맞습니다. 모의평가 다섯 문제 풀고 정리하겠습니다.
1:01:00
원천 데이터와 전환된 목적 데이터베이스 데이터의 품질을 분석하여 정상 데이터와 오류 데이터를 정량적으로 측정하는 과정을 무엇이라고 하는가? 데이터 정제 데이터 품질 분석 데이터 오류 원인 파악 데이터 전송 데이터 정제였습니다. 정상 데이터와 오류 데이터 정량적으로 측정하는 과정 어떤 과정을 거쳐서요 원천 데이터와 전환된 목적 데이터베이스의 품질 분석을 해서 두 번째 다음 중 오류 데이터를 찾기 위해 원천 및 목적 시스템 셈 데이터의 정합성 여부를 확인하는 과정은 네 앞에 문제에 원천 데이터와 전환된 데이터의 뭐를 한 다음에 품질분석 문제 오류 데이터를 찾기 위해 원천 및 목적 시스템의 정합성 여부를 확인하는 작업은 뭐다 데이터 품질 분석입니다. 2번이 정답입니다.
1:01:59
3번 데이터 전환 시 원천 데이터의 품질 검증 항목에 속하지 않는 건 뭐야? 원천 데이터 품질 검증 항목이 훨씬 많았죠 전환 데이터 품질 검증 항목은 5개밖에 없었는데 그 5개 해당되는 게 있는지 한번 볼까요? 코드값의 범위 금액의 유효성 범위성 금액의 유효범위성 보고서 항목 또는 통계 수치 이게 보고서 항목 또는 통계 수치가 얘는 전환 데이터의 품질검증 항목에 해당되어졌던 거예요. 네 나머지 3개는 원천 데이터 품질 검증 항목에 해당이 됩니다. 네 번째 다음 중 목적 시스템 데이터의 품질 검정을 위한 정합성 항목과 거리가 먼 것은 목적 시스템 데이터의 품질 검증이 전환 데이터의 품질 검정입니다. 거리가 먼 거예요.
1:02:57
보고서 항목 및 통계 수치 앞에 이어지는 문제예요. 맞죠. 네 특정 기준으로 분류된 좌수 및 잔액 계좌 및 고객을 샘플링해서 해당 사항을 모두 검증 이것도 맞고 두 번째도 맞고 영업점의 실제 존재 여부 확인은 원천데이터의 원천 데이터의 품질 검증을 위한 정합성 항목이었어요. 그래서 4번이 아닙니다. 마지막 다섯 번째 다음 중 오류 데이터 측정 및 정제에 대한 설명 중 틀린 것을 골라라 오류 데이터 척증 그리고 데이터 품질 분석 그리고 오류 데이터 정제 순으로 진행을 한다 라고 되어 있는데요.
1:03:46
모든 어떤 단계는 분석 설계 구현 또는 실행 그다음에 검토 이렇게 그 단계를 고려했을 때 오래 데이터 측정은 뭔가 실행하는 건데 분석보다 앞에 오는 게 아니고 분석이 먼저 이쪽 와야 돼요. 그래서 데이터 품질 분석 다음에 오류 데이터 척증 그다음에 오류 데이터 정제 순으로 진행한다. 틀린 것은 1번입니다. 원천 데이터를 분석하여 정합성 여부를 확인하고 오류 데이터의 유형과 건수를 측정한다. 오류 데이터 정제는 원천 데이터를 정제하거나 전환 프로그램을 수정하는 것이다. 오류 데이터 측정할 때 정상 데이터와 오류 데이터를 구분하여 측정한다. 맞습니다. 자 핵심 정리인데요.
1:04:30
데이터 정제는 정제 항목을 정제 시점에 따라서 나눈다면 전환 테스트 전 그리고 전환 테스트 중 그리고 최종 전환 3단계로 구분해서 데이터 정제 작업이 수행되어졌었죠. 데이터 품질 분석 데이터 품질 분석은 우선 데이터 품질 관리부터 개념 잡아보면 데이터 품질 관리는 기관이나 조직 내 외부의 정보 시스템 및 데이터베이스 사용자의 기대를 만족시키기 위해 지속적으로 수행하는 데이터 관리 및 개선 활동을 이야기한다. 원천 데이터와 전환된 목적 데이터베이스의 품질 분석으로 나눌 수 있었고, 원천 데이터와 전환 데이터의 정합적 검증 항목 중에 팁으로 전환 데이터의 정합성 검증 항목이 5개였으니까 그 5개를 더 명확하게 익히는 게 시험 준비는 더 효과적일 겁니다.
1:05:28
마지막 의료 데이터 측정입니다. 네 데이터 중에 정상 데이터와 의료 데이터를 정량적으로 측정하는 것이다. 오류 목록의 내용을 확인하고 오류 해결 방안을 참조하여 원천 데이터의 정제를 요청할 것인가? 아니면 전환 프로그램을 수정할 것인지 데이터 정제 여부를 결정하면 된다. 이상으로 데이터 정제에 대해서도 학습을 마치도록 하겠습니다.
'정보박사 정보처리기사 필기강의 > 데이터베이스 구축' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 4.물리 데이터베이스 설계 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 3.논리 데이터베이스 설계 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 2.SQL 활용 (0) | 2025.05.24 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 1.SQL 응용 (0) | 2025.05.24 |
https://youtu.be/KHiji8QkfSQ?si=LJwG62HfvAjU0AqD
1. 물리 데이터베이스 설계
1-1. 물리 요소 조사 분석
- 시스템 분석을 통해 업무 영역과 시스템 영역으로 구분함
- 용어 사전 기반으로 명명 규칙을 파악함
- 서버 네트워크, 스토리지 자원 등 조사함
- 데이터베이스 설치 시 시스템 운영체계와 버전을 확인함
- 데이터베이스 운영 관리 요소와 구조 이중화 구성 분산 구조 등을 파악함
1-2. 데이터베이스 이중화
- 시스템 오류나 물리적 손상 시 복구를 위해 동일한 데이터베이스를 복제하고 관리하는 것임
- 분산 데이터베이스는 논리적으로는 같은 시스템이지만 물리적으로는 분산된 데이터베이스를 의미함
- (중요) 다스(다이렉트 어테치드 스토리지), 네트워크 어테치드 스토리지, 사안(서버와 저장 장치를 네트워크로 연결)의 개념을 이해함
- 다스는 설치 및 운영이 쉽고 초기 구축 비용 및 유지보수 비용이 적게 듬
- 네트워크 환경에 따라 오류 발생이나 접속 성능 저하가 있을 수 있음
1-3. 접근 통제와 시스템 조사
- 용어 사전을 통해 시스템에 대한 통제와 관리 방법을 파악함
- 데이터베이스 암호화를 통해 시스템을 보호함
- 시스템 조사서를 작성하여 시스템 관리 시 고려 사항을 명확히 함
- 접근 통제를 통해 시스템의 정보와 데이터를 안전하게 보호함
- 시스템 조사서에는 요구된 출제 기준에 따라 세부 내용이 정리되어야 함
2. 분산 데이터베이스의 투명성과 설계 방법
2-1. 분산 데이터베이스의 투명성
- 분산 데이터베이스의 목표는 투명성 확보임
- 투명성의 대상은 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성임
- 위치 투명성은 데이터의 위치를 굳이 알 필요 없이 데이터의 논리적 명칭만으로 접근 가능함
- (중요) 중복 투명성은 동일 데이터가 여러 곳에 중복되어도 사용자는 하나의 데이터만 존재하는 것처럼 인식하고 시스템은 여러 작업에 대한 자료에 대한 작업을 수행함
- 병행 투명성은 다른 트랜잭션은 수정, 추가, 삭제 등의 처리가 동시에 일어나도 서로 영향을 주지 않음
2-2. 분산 데이터베이스의 설계 방법
- 분산 데이터베이스의 설계 방법은 테이블 위치 분산, 분할, 엘로게이션의 세 가지가 있음
- 테이블 위치 분산은 특정 테이블을 데이터베이스 내 어디에 저장시킬지 설정하는 것을 의미함
- 분할은 테이블의 데이터를 분할해서 다른 서버에 배치하는 방식이며, 완전성, 재구성, 상호 중첩, 배제가 필요한 규칙을 따름
- (중요) 엘로게이션은 여러 개의 서버에 동일한 분할을 생성하는 분산 방법임
2-3. 분산 데이터베이스의 장단점과 문제 유형
- 분산 데이터베이스의 장점은 지역자치성, 효용성, 신뢰성, 융통성, 빠른 응답 속도, 통신 비용 절감 등이 있음
- 단점은 소프트웨어 개발 비용의 증가, 복잡한 데이터베이스 관리, 오류 발생 잠재성, 처리비용 증가 등이 있음
- (중요) 문제 유형은 투명성, 장애 투명성, 병행 투명성, 장애 투명성, 이중화 등이 있음
- 각각의 문제 유형은 시험에 출제될 수 있으므로 각각의 문제를 풀어보는 것이 중요함
3. 데이터베이스 보안
3-1. 데이터베이스 이중화란?
- 금융권의 911 테러로 인해 금융업계 데이터 이중화 시스템의 중요성이 대두됨
- 시스템 오류나 테러로 인한 데이터 손상 시, 동일한 데이터베이스를 복제하여 복구할 수 있음
- 데이터베이스 이중화 애플리케이션은 여러 개의 데이터베이스를 관리하여 백업 서버 운영이 가능함
- 데이터의 이중화는 변경 내용을 전달하는 방식에 따라 '트랜잭션'과 '레이지' 기법으로 나뉨
- 데이터 이중화 구성 방법은 '액티브 스탠바이'와 '스탠바이 액티브' 두 가지 방법이 있음
3-2. 데이터베이스 암호화
- 데이터베이스 암호화는 민감한 데이터를 암호화하여 보안하는 기능임
- 대칭키 암호화 알고리즘은 암호문을 평문으로 암호화하고 복호화하는 과정을 거침
- 비대칭키 암호화 알고리즘은 암호문 생성 시 암호화 키를 공개하여 민감한 데이터를 보호함
- 해시 암호화 알고리즘은 해시라는 키를 포함하여 암호문을 암호화하고 복호화하는 과정을 거침
- (중요) 암호화 알고리즘에는 대표적으로 스트라이드 암호와 이산 암호가 있음
3-3. 데이터 보안과 이중화
- 데이터 보안 기능은 데이터의 접근 권한과 동작 객체를 보호하여 민감한 데이터를 보호함
- 개인정보와 업무상 중요한 데이터는 암호화 및 복호화 기법을 사용하여 보호함
- 데이터 보안 기능을 적용한 데이터 이중화 애플리케이션은 백업 서버 운영을 가능하게 함
- 이중화 애플리케이션은 데이터베이스에 문제가 발생하더라도 복제되어진 데이터베이스를 이용하여 문제를 해결함
- 이중화 애플리케이션은 데이터 부하를 줄이고, 백업 서버 운영을 가능하게 함
4. 데이터베이스 암호화 기법과 접근 통제
4-1. 데이터베이스 암호화 기법의 종류와 사용
- 데이터베이스 암호화 기법에는 애플리케이션 단위의 접근 프로그램 방식, 데이터베이스에서 암호를 수행하는 플러그인 방식, 혼합형 방식이 있음
- 접근 통제라는 개념은 사용자에 대한 데이터에 대한 접근을 통제하는 방식으로, 복잡한 데이터를 보호하는데 필요함
- (중요) 암호화 기법 중 공개키 암호화 알고리즘은 대표적인 비대칭키 암호화 알고리즘으로, 암호화 키와 복호문을 같은 것으로 별 수 있음
- 복합키 암호화 알고리즘인 '스스로 통제'에 대한 이해가 중요함
4-2. 접근 통제 기술의 개념과 요소
- 임의접근 통제는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식임
- 강제접 접근 통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식임
- 접근 통제 정책은 신분 기반 정책, 권한 기반 정책, 역할 기반 정책으로 나뉘며, 각각 다른 방식으로 객체의 접근을 제한함
- (중요) 접근 통제 메커니즘은 접근 통제 정책을 구현하는 기술적 방법이며, 접근 통제 목록, 패스워드 암호화 등이 포함됨
4-3. 접근 통제 보안 모델의 개념과 종류
- 접근 통제 보안 모델은 김일성 모델이라는 수학적 모델로 개발된 것으로, 무결성과 권한이 있는 사람만 수정할 수 있게끔함
- 대표적인 접근 통제 보안 모델로는 접근 통제 행렬이 있음
- (중요) 기존에 별도의 네트워크를 구축하지 않아도, 네트워크 산을 이용하여 데이터를 관리할 수 있음
- 주체와 객체를 행렬로 표현하여 데이터 관리의 일관성을 유지함
5. 데이터베이스 설계와 보안에 대한 이해
5-1. 데이터베이스 설계의 물리적 속성
- 데이터베이스 설계 시 물리적 속성 고려 필요함
- 데이터 타입, 사이즈, 용량을 고려하여 저장 공간 산정
- 백업 주기 방식에 따른 저장 공간 용량 산정
- (중요) 데이터의 효율적 이용을 위해 데이터 지역화 전략 사용
5-2. 네트워크 어테치 스토리지와 접근통제 보안
- 네트워크 어테치 스토리지는 네트워크 상의 저장 장치와 서버를 연결
- 네트워크 어테치 스토리지의 확장성과 유연성 제한
- (중요) 사용자 권한 부여는 DBMS가 자동으로 수행
- 불법 데이터 접근으로부터 데이터베이스를 보호하는 것이 데이터 보안
5-3. 데이터 이중화와 암호화에 대한 이해
- 데이터 이중화는 시스템 오류나 물리적 손상 시, 복제하여 관리
- (중요) 암호화는 데이터에 대한 접근을 통제하고 보호하는 방법
- 대칭키 암호 알고리즘과 비대칭키 암호 알고리즘의 종류와 특징
- 데이터 암호화 기법과 애플리케이션 단위 암호화 방식
6. 파티셔닝과 컬러스트링
6-1. 파티셔닝의 개념과 장단점
- 대용량 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것이 파티셔닝임
- 파티션을 수행하면 데이터가 증가하는 경향이 있고, 이를 테이블을 작은 단위로 나눠 분산시키면 성능이 저하됨
- 파티션 키 또는 인덱스 키에 따라 데이터가 물리적으로 별도의 공간에 저장되며, 이로 인해 데이터 관리가 쉬워짐
- 파티션의 장점은 데이터 접근 범위를 줄여 쿼리 성능을 높이고, 디스크 성능을 향상시킴
- (중요) 파티션의 단점은 하나의 테이블을 세분화 관리하므로 세심한 관리가 요구되고, 테이블 간 조인에 비용이 발생할 수 있음
6-2. 파티셔닝의 종류와 키 선정 고려 사항
- 파티션의 종류로는 범위 분할, 해시 분할, 조합 분할이 있음
- 범위 분할은 특정 연도를 기준으로 해당 연도별 판매량을 분할하는 방식임
- 해시 분할은 해시 함수를 적용해 계산한 결과값을 기준으로 파티션을 분할하는 방식임
- (중요) 조합 분할은 두 개 이상의 컬럼을 선택해 분할하는 복합 분할 방식임
- 파티션 키를 선정할 때 데이터 관리의 용이성, 생성 주기와 소멸 주기 일치, 데이터 분포 효율성 등을 고려해야 함
6-3. 컬러스트링의 개념과 특징
- 컬러스트링은 데이터 저장 시 데이터의 접근 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 블록에 저장하는 물리적 저장 방법임
- 컬러스트링을 통해 하나의 테이블을 여러 개의 클러스터로 분리하여 데이터의 분포 효율을 높일 수 있음
- 컬러스트링의 장점은 데이터 조회 속도가 높아지며, 데이터 입력이나 수정, 삭제에 대한 성능이 저하될 수 있음
- 컬러스트링은 데이터의 분포도가 넓을수록 유리하며, 인덱스와는 반대 개념임
- (중요) 인덱스는 데이터의 분포가 좁을수록 좋으며, 컬러스트링과 반대 방향으로 작용함
7. 데이터베이스 클러스터링과 백업 방법
7-1. 데이터베이스 클러스터링의 이해
- 데이터 분포도가 10에서 15%일 때 클러스터링이 적합함
- 데이터 분포가 넓은 테이블을 클러스터링 하면 데이터 공간을 절약 가능
- 클러스터링은 컬러스팅과 다중 테이블 컬러스팅 중 선택할 수 있음
- 클러스터링된 테이블에 컬러스팅 인덱스 생성 시 접근 성능 향상 가능
7-2. 클러스터링에 적합하지 않은 테이블
- 분포도가 좁은 테이블이 클러스터링에 적합함
- (중요) 자주 발생하지 않는 테이블이 컬러스팅에 적합하며, 이는 클러스터 대상 테이블에 적합함
- 데이터 수정이 자주 발생하지 않는 테이블이 컬러스팅에 적합함
- 분포가 넓은 테이블이나 대량의 범위를 자주 조회하는 테이블은 컬러스팅 적용에 적합하지 않음
7-3. 데이터베이스 백업의 필요성
- 데이터베이스 백업은 전산장비 장애에 대비해 데이터를 보호하고 복구하기 위한 작업
- (중요) 데이터베이스 백업은 정기적으로 수행하며, 장애 발생 시 복구가 가능
- 백업은 데이터베이스 관리 시스템이 제공해야 하는 기능 중 하나
- 데이터 장애 유형은 이용자에 의한 실수, 미디어 장애, 부문 장애, 사용자 프로세스 장애, 인스턴트 장애로 나뉨
8. 데이터베이스 백업과 용량 설계
8-1. 데이터베이스 백업의 종류와 특징
- 데이터베이스 백업의 종류는 물리 백업과 논리 백업으로 나뉨
- 물리 백업은 데이터베이스 파일을 저장하는 방법으로, 복원 시 시간이 많이 소요됨
- (중요) 논리 백업은 데이터 손상을 막고 문제 발생 시 원인 파악이 수월하지만, 복원 시 시간이 많이 소요됨
- 논리 백업의 완전 복구는 불가능하며, 백업 시점까지만 복구 가능
- 물리 백업은 로그 파일이 없을 경우 완전 복구 불가, 논리 백업은 백업 시점까지만 복구 가능
8-2. 데이터베이스 용량 설계의 고려 사항
- 데이터베이스 용량 설계는 테이블 저장 공간을 정의하는 작업
- (중요) 테이블에 저장되는 논리적 영역으로, 물리적으로는 데이터 파일에 저장됨
- 테이블 용량 설계 시 업무별로 테이블 스페이스를 지정하고, 대용량 테이블은 독립적으로 저장하는 것이 좋음
- 테이블과 인덱스는 분리하여 저장하는 것이 바람직하며, 큰 오브젝트는 독립적인 공간으로 지정
8-3. 데이터베이스 용량 설계 절차
- 데이터 용량 분석을 통해 테이블과 인덱스를 적합한 저장 옵션 지정 필요
- (중요) 테이블과 인덱스별 용량을 산정하고, 테이블 스페이스 용량을 합쳐 최종 디스크 용량 산정
- 익스텐트 발생을 최소화 하기 위해 데이터 용량 설계가 중요하며, 시스템 용량을 합리적으로 분석해야 함
- 디스크 특성 고려하여 설계, 입력 및 출력에 대한 경합 최소화 필요
9. 물리적 데이터베이스 설계와 지역화
9-1. 데이터 용량 설계
- 데이터 용량 분석을 통해 디스크 공간 효율성 및 가용성 향상을 도모함
- 데이터 생성 시 추가적인 공간을 주는 것을 익스텐트라고 함
- 익스텐트 발생을 최소화하는 것이 목표임
- 데이터 용량을 정확하게 분석하면, 디스크 공간을 효율적으로 사용 가능
- (중요) 데이터 접근성 향상을 위해 용량을 최대화 시켜야 함
9-2. 데이터 지역화의 이해
- 데이터 로컬러티를 통해 효율적인 데이터 이용 가능
- 보조 기억 장치의 설계는 물리적 데이터베이스 설계에서 고려
- 데이터 지역화는 물리적 데이터베이스 설계에서 보조 기억 장치상의 파일 배치를 지역화 관점에서 검토
- 레코드 배치는 고정 길이 또는 가변 길이의 필드로 표현
- 필드의 모임이 레코드, 레코드는 데이터베이스 질의와 트랜잭션을 분석
9-3. 데이터 백업과 지역화
- 데이터 백업에는 물리 백업과 논리 백업이 있음
- 논리 백업은 DBMS를 이용해 완전 복구가 가능
- 물리 백업은 데이터 파일을 백업하는 방식으로 수행
- (중요) 컬러스트링을 통해 데이터 액세스 효율 향상
- 테이블 스페이스는 하나 또는 여러 개의 데이터 파일을 가짐, 논리적 영역이지만 물리적 구성에 종속되지 않음
10. 데이터베이스 설계
10-1. 데이터 저장 및 분할
- 데이터 저장을 위한 물리적 공간과 인덱스, 테이블, 관계 등의 설정을 다룸
- 분할은 대용량 테이블이나 인덱스를 작은 논리적 단위인 파티셔닝으로 나누는 것임
- 파티셔닝의 종류는 범위 분할, 해시 분할, 복합 분할이 있음
- 컬러스트링은 데이터 저장 시 데이터의 접근 효율을 높이기 위해 동일한 성격의 데이터를 같은 데이터 블록에 저장하는 물리적 저장 방법임
- 클러스트 대상 테이블은 분포가 넓은 대량의 범위를 자주 조회하는 테이블에 적합함
10-2. 데이터 백업 및 용량 설계
- 데이터 백업은 전산 장비 장애 시 데이터베이스의 데이터를 보호하고 복구하는 작업임
- 로그 파일은 데이터베이스 처리 내용, 이용 상황, 상태 변화를 시간의 흐름에 따라 기록한 파일임
- 데이터 복구 알고리즘은 데이터 복구의 종류(언두, 리뷰, 안, 리뷰)를 구분하는 것임
- 데이터 용량 설계는 테이블에 저장할 데이터 양과 인덱스, 콜러스터 등이 차지하는 공간을 예측하여 반영함
- (중요) 데이터 용량을 정확하게 산정하여 디스크 저장 공간을 효과적으로 사용하고 확장성 및 가용성을 높임
10-3. 물리 데이터 모델 품질 검토
- 물리 데이터 모델 품질 검토는 물리 데이터 모델 설계 시 데이터베이스 객체 생성 전 모델러와 이해관계자가 수행하는 작업임
- 품질 기준은 논리 데이터 모델 품질 기준 6개와 동일하며, 데이터 모델의 성능 향상과 오류 예방에 기여함
- 정확성은 데이터 모델의 표기법에 따라 정확하게 표현되었고 업무 영역과 요구사항이 반영되었는지 의미함
- 완전성은 누락 없이 요구사항과 업무 영역을 반영하고 준수되었는지 기준으로 삼음
- 준거성은 데이터의 표준과 표준화 규칙 등을 준수했는지, 법적 요건을 준수했는지 기준으로 삼음
- 최신성은 데이터 모델이 현행 시스템의 최신 상태를 반영하고, 이슈 사항이 반영되었는지 기준으로 삼음
11. 물리데이터 모델 품질
11-1. 모델 품질과 정의
- 모델 품질을 기준과 정책으로 나눠 정의함
- 기준을 동일하게 적용하고, 정책을 고려해 품질을 평가함
- 기준과 정책의 변경이 이루어지면 품질을 재평가함
- (중요) 품질을 이해관계자에게 전달하고, 설계 변경 시 최소화함
- 이해관계자에게 전달한 품질은 모델링 단계의 결과물임
11-2. 물리 데이터 모델 품질 검토
- 데이터 모델 품질 기준과 정책을 먼저 확인해야 함
- 물리 데이터 품질 특성에 따라 기준을 작성함
- 기준에 따라 체크할 항목을 작성하고, 논리 데이터 모델과 비교함
- 모델링 단계마다 품질 검토를 수행하고, 체크리스트를 작성함
- 모델러와 이해관계자가 작성한 체크리스트를 종합하여 보고서를 작성함
11-3. 물리 데이터 모델 품질 변환
- 논리 데이터 모델의 엔터티를 물리 데이터 모델로 변환함
- 엔터티를 테이블로 변환하고, 속성과 열을 지정함
- 속성은 컬럼, 열은 표시, 행 단위는 로우로 지정함
- 접수 방식에 따라 접수 번호, 접수 일수, 수수료를 추가하거나 제거함
- 예시로 슈퍼타입 기준, 인터넷 접수, 온라인 접수를 설명함
12. 데이터베이스의 테이블 변환 방법
12-1. 테이블 변환의 개념과 방법
- 데이터베이스에서 슈퍼타입과 서브타입을 기준으로 테이블을 변환함
- 슈퍼타입은 상위 개체, 서브타입은 하위 개체를 의미함
- 테이블 변환 시, 서브타입을 쇼프타입을 통합하여 하나의 테이블로 만듦
- (중요) 서버 타입의 속성이나 경우에 따라 테이블 변환의 적용이 달라짐
12-2. 테이블 변환의 장단점과 예시
- 슈퍼타입으로 변환 시 데이터 접근이 용이하고, 복잡한 처리를 하나의 SQL로 통합 가능
- (중요) 단, 특정 서버 타입에 대한 재현이 어렵고, 디스크 저장 공간이 증가할 수 있음
- 서브타입 속성들의 선택 사항이 명확하고, 단위 테이블의 크기를 줄일 수 있는 경우에 유리함
- 각 서브 타입은 개별적으로 테이블을 생성함
12-3. 개별 타입 기준 테이블 변환
- 개별 타입 기준 테이블 변환 시, 슈퍼타입과 서브 타입 각각을 개별 테이블로 생성함
- 데이터 처리가 자주 발생하고, 통합하는 테이블 컬럼 수가 지나치게 많거나, 슈퍼타입의 범위가 넓을 때에 유용함
- (중요) 컬럼의 명칭은 가능한 한 짧게 만들고, 칼럼명의 복합 단어를 사용할 때는 미리 정의된 표준에 따라 명명함
- 관계를 외래키로 변환할 때는 기본키를 외래키로 선언함
13. 데이터베이스 및 키에 대한 이해
13-1. 테이블과 칼럼의 관리
- 데이터베이스에서 테이블과 칼럼의 중요성과 역할에 대해 설명함
- 테이블과 칼럼의 기본키는 학번과 성적 테이블과 같은 학번 필드로 정의함
- 외래키는 1 영역의 기본키 이름을 사용하나, 다른 이름을 가질 경우 변경하여 명명할 수 있음
- 테이블과 칼럼을 추가하는 관리 목적에 대해 설명함
- (중요) 시스템 번호 등이 해당되어질 수 있음
13-2. 컬럼의 유형과 길이 설정
- 컬럼의 유형에는 문자열, 숫자 등이 있음
- 컬럼의 길이를 정의하며, 최대 길이를 오버하는 경우 입력이 안되게끔 설정함
- (중요) 사용하는 데이터 유형에 따라 컬럼의 길이를 가변으로 설정할 수 있음
- 가변 길이 문자열은 주소 길이와 유사하며, 제일 큰 길이를 정해둠
13-3. 키의 종류와 특성
- 키는 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플을 구분하는 기준이 됨
- 키의 종류에는 슈퍼키, 후보키, 기본키, 대체키 등이 있음
- (중요) 슈퍼키는 모든 튜플을 유일하게 식별 가능하지만 최소성은 만족시키지 못함
- 후보키는 슈퍼키와 대체키로 구성되며, 기본키는 후보키에서 대체키를 빼면 생성됨
- 슈퍼키는 유일성을 가진 후보키로, 슈퍼키와 후보키 모두 키의 유일성을 만족시키는 것이 중요함
14. 키와 반정규화
14-1. 키의 종류와 특징
- 릴레이션에서 키는 튜플을 유일하게 식별하는 속성들로 구성됨
- 기본키는 키 중 선정되어 유효성과 최소성을 만족하는 키임
- 후보키는 릴레이션 내에서 키가 유일하며, 튜플을 식별하는 키임
- 외래키는 참조 릴레이션의 기본키에 대응하는 키로, 참조 릴레이션의 속성임
- (중요) 후보키와 기본키는 각각 키의 유효성과 최소성을 만족해야 함
14-2. 키의 선택과 반정규화
- 릴레이션은 여러 키를 결합하여 사용하는 슈퍼키가 있음
- 슈퍼키는 두 개 이상의 키를 결합시켜 사용함
- 반정규화는 중복 속성으로 인한 문제를 해결하기 위해 수행됨
- 반정규화는 릴레이션을 작은 단위로 만들고, 이를 분리하여 시스템 성능 향상과 관리 효율 증가를 도모함
- 반정규화를 통해 데이터 일관성과 무결성을 유지하면서도 성능 향상을 달성할 수 있음
14-3. 반정규화의 주의점과 방법
- 반정규화는 시스템 성능 향상과 관리 효율 증가를 위해 필요함
- 하지만 과도한 반정규화는 오히려 성능 저하를 초래할 수 있음
- 반정규화 방법에는 테이블 통합, 분할, 중복 테이블 추가, 중복 속성 추가 등이 있음
- 데이터 일관성과 무결성을 우선시하면서도, 성능 향상과 관리 효율성을 고려해야 함
- 데이터를 통합하거나 분할하여 중복 속성 제거, 중복 테이블 추가 등을 통해 반정규화를 수행할 수 있음
15. 데이터베이스의 반정규화 과정
15-1. 데이터베이스의 반정규화 이해
- 데이터베이스의 반정규화는 사용중인 데이터의 유의미한 부분을 의미
- 데이터의 유효성을 높이기 위해 불필요한 계산을 자동으로 줄이는 과정
- 반정규화의 주요 목표는 비효율을 최소화하고 데이터의 일관성을 유지
- (중요) 반정규화를 수행하면 데이터의 검색 및 추가, 수정 등이 용이해짐
- 그러나, 반정규화는 수요의 변화에 따라 데이터의 측면을 셀 수도 있음
15-2. 반정규화의 종류와 고려사항
- 테이블 통합은 데이터 검색의 편의성과 입력, 삭제, 수정의 규칙 복잡도 증가 위험을 내포함
- 테이블 분할은 특정 레코드 단위와 열 단위별로 데이터 분할을 의미
- (중요) 테이블 분할은 데이터 양이 적거나 사용 빈도가 낮을 때 효과적
- 중복 테이블 추가는 속도 저하, 복잡한 데이터 처리, 특정 범위 데이터 처리가 필요한 경우 사용
- 중복 속성 추가는 데이터 조회 경로 단축과 함께 특정 속성 추가로 사용
15-3. 반정규화의 효과와 문제점
- 반정규화는 데이터의 효율성을 높이지만, 일관성 및 무결성을 저하할 수 있음
- (중요) 반정규화를 위해 속성 부분을 검토해야 하며, 불필요한 계산을 줄여야 함
- 속성의 유일성 및 데이터 일관성을 유지해야 함
- 반정규화를 시스템 성능에 부정적인 영향을 미칠 수 있음
- 따라서, 반정규화의 효과를 고려하여 신중한 결정이 필요
16. 데이터베이스 속성
16-1. 속성 개념과 종류
- 개체 특성으로 속성, 의미적 독립적 최소 단위인 속성 정의함
- 속성은 '할당된 값'으로 정의, '중복 불가'여야 함
- '파생'된 값은 속성 정의에 많이 사용, 적게 사용함
- 키는 개체 집합에서 고유하게 개체 식별, 여러 개 존재 가능함
- 키에는 기본키, 외래키, 대측키가 포함됨
16-2. 키와 대측키
- 키는 슈퍼키, 후보키, 기본키, 대측키로 구성됨
- (중요) 대측키는 다른 테이블 기본키로 사용되는 속성
- 기본키는 중복과 추가 불가, 정렬 시 시간 많이 걸림
- 학과는 기본키로 설정 불가, 다른 속성으로 구분 불가
- 중복 속성 추가, 조건에 따른 접근 경로 복잡 시 필요
16-3. 반정규화와 무결성
- 반정규화는 테이블 통합, 분할, 중복, 속성 추가, 중복 속성 추가로 이루어짐
- 반정규화로 데이터 일관성과 정합성 증가, 테이블 분할 시 수평 분할이 아닌 수직 분할 필요
- 무결성은 데이터 정확성 보장, 부정확한 자료 저장 금지
- 무결성 종류는 개체, 도메인, 참조, 사용자 정의 무결성 있음
- 속성은 필드, 개체 구성에 따라 분류, 특성 기술이 중요
00:03
네 물리 데이터베이스 설계로 넘어가도록 하겠습니다. 물리 데이터베이스 설계에서 첫 번째 물리 요소 조사 분석에 대해 알아보도록 하겠는데요. 학습목표입니다. 기존 시스템을 분석하여 업무 영역과 시스템 영역으로 구분하여 용어 사전 기반으로 명명 규칙을 파악할 수 있다. 그리고 서버 네트워크 스토리지 자원을 조사하고 데이터베이스가 설치된 시스템의 운영체계와 데이터베이스 버전을 확인할 수 있다. 마지막으로, 데이터베이스 운영과 관련된 관리 요소를 파악하고 데이터베이스 구조 이중화 구성 분산 구조 접근 제어 데이터베이스 암호화에 대한 시스템 조사 분석서를 작성할 수 있다. 입니다.
00:50
세부 학습할 내용은 5개 파트로 구성되어 있는데, 시험 주관 기관에서 해당 요구된 출제 기준에 맞춰서 정리를 해드리는데 ncs 학습 모듈하고는 내용이 조금 틀립니다. 그래서 이 설명 드리는 영상 중심의 ppt로 학습을 하시길 권해드립니다. 자 학습할 내용은 스토리지 분산 데이터베이스 데이터베이스 이중화 구성 그리고 데이터베이스 암호화 마지막으로, 접근 통제입니다. 용어사전으로서요 분산 데이터베이스는 뭔데 먼저 정의해보면 논리적으로는 같은 시스템이지만 물리적으로는 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터베이스가 분산 데이터베이스이고요.
01:37
그리고 데이터베이스 이중화라고 하는 부분 자체는 시스템 오류로 인한 데이터베이스 서비스 중단이나 물리적 손상 발생 시 이를 복구 목적으로 동일한 데이터베이스를 복제하여 관리하는 것이 데이터베이스 이중화이다. 세부 내용 첫 번째 스토리지에 대해 살펴보도록 하겠는데요. 스토리지 시스템은 어떻게 정의되느냐 스토리지는 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장 장치를 연결하는 기술이 스토리지 시스템이다. 스토리지 시스템의 종류요 문제화 할 수 있는 대상은 이 부분입니다. 스토리지에 대한 특성을 설명해 놓고 알맞은 종류는 뭔가 이렇게 물어줄 수 있어요. 3개이기 때문에 보기 항목 하나 엉뚱하게 넣을 수 있겠죠.
02:31
자 스토리지 종류는 자 daa 뭐야? 다스라고 읽겠습니다. das nas nas라고 읽겠습니다. 그다음에 san 산이라고 읽겠는데 약어죠 풀네임을 분명 의미가 이해가 될 겁니다. das라고 하는 부분은요, 다이렉트요 직접적으로 어테치드 이렇게 연결시켰다고요. 어테치드 한 스토리지야 나스의 n은 네트워크예요. 네트워크 어태치드 스토리지고요. 그리고 san은 스토리지 에어리얼 네트워크의 약어입니다. 세부내용 보도록 하겠습니다. 먼저 다스 다이렉트 어태치드 스토리지는 서버와 저장 장치를 전용 케이블로 직접 연결하는 방식이다. 직접 연결을 하니까 해당 처리 속도나 이러한 부분들이 빨라요. 그리고 설치나 운영이 쉬워요 이게 장점이고요.
03:29
그리고 초기 구축 비용 및 유지보수 비용도 많이 안 들어요. 저렴해요. 근데 가지고 있는 단점은요, 네트워크에 연결되어 있지 않기 때문에 다른 서버에서 접근할 수 없고 또 파일 공유도 불가능하다는 게 단점이고 그리고 확장성 및 유연성이 상대적으로 떨어진다는 부분도 단점입니다. 밑에 다스의 개념도 있습니다. 사용자 컴퓨터를 클라이언트라고 이야기를 하고요. 해당 이더넷 내에 랜 환경입니다. 로컬레이어 네트워크 막 내에 해당 서버가 스토리지와 직접 연결되어 있는 개념도 입니다. 두 번째 nas nas는 네트워크 어태치드 스토리지예요. 즉 서버와 저장 장치를 네트워크를 통해서 연결하는 방식이다.
04:20
이 구축이 되기 위해서는요 해당 역할을 수행하는 장치가 필요한데 별도의 파일 관리 기능이 있는 nas 스토리지 nas 스토리지가 내장된 저장 장치를 관리하기 때문에 서버 간의 스토리지나 파일 공유가 용이합니다. 다스에 비해서요. 확장성 및 유연성이 우수하고요. 여기까지가 장점이에요. 그런데 단점은 네트워크 환경에 따라서 예를 들어서 네트워크 환경에 어떤 에러가 있다든지 그렇게 하게 되면 해당 내부적인 측면에 대한 오류가 또 발생할 수 있고 그리고 접속 자체가 많으면 성능이 저하될 수 있다는 부분이 단점입니다. 개념도 보시면요 클라이언트와 서버가 이더넷 스위치 레인 환경으로 연결돼 있고 해당 다시 나스 스토리지라고 해서 이렇게 돼 있는 개념도입니다. 그리고 san입니다. 스토리제어리아 네트워크는요 산이라고 읽겠습니다.
05:20
san 산은 다스의 빠른 처리와 nas의 스토리 공유 장점을 합친 방식이에요. 장점들을 합쳐 놓은 방식인데 해당 이 사안을 설명하고 있는 해당 주 특징 키워드는요 광케이블입니다. fc 파이브 파이브 채널 케이블요 파이브 케이블 광케이블과 광채널 스위치 광케이블과 광채널 스위치를 통해서 근거리 네트워크 환경을 구성하여 빠른 속도로 데이터 처리가 가능하다 저장 장치 연결로 스토리지 공유가 가능하고요. 스토리지 시스템 중에 대용량 환경의 높은 트랜잭션 처리가 효과적이다. 여기까지가 장점입니다. 장점인데 주된 단점이 하나 있습니다.
06:08
해당 이 시스템으로 구축하려면 기존 시스템에 대한 장비 업그레이드가 필요하고 또 새로 장비를 구매한다든지 하기 위해서 구축 비용이 많이 든다는 게 단점입니다. 2분의 1 랜하고 구분해가지고 스토리에어 네트워크를 이렇게 제가 뒷배경은 타원형으로 음영처리 이렇게 해놨는데요. 서버들이 뭘로 연결되어 있어요. 이더넷 스위치가 아니라 파이브 채널 스위치로 연결되어 있다. 이게 차이점입니다. 자 스토리 파트에서 문제화해서 나올 수 있는 유형입니다. 다음 보기는 무엇에 대한 설명인가 저장 장치와 서버를 연결하는 별도의 네트워크를 구성하여 데이터를 관리하는 방식인데 파이버 채널 스위치를 이용한다. 이것만으로도 딱 집어낼 수 있어야 돼요. 스토리지 네트워크 스토리지 에어리어 네트워크 san 산을 뜻합니다.
07:07
다음 두 번째 파트로 분산 데이터베이스 살펴보도록 하겠습니다. 분산 데이터베이스의 특징이나 이러한 것들도 문제화해서 나올 수 있어요. 분산 데이터베이스 관리 시스템이 여러 cpu에 연결된 저장 장치들을 제어하는 형태의 데이터베이스야 논리적으로는 같은 시스템에 속하지만 컴퓨터 네트워크를 통해서 물리적으로는요 실제적으로는요 분산 연결한 이렇게 떨어져 있다고요. 떨어져 있다고요. 네트워크로 연결되어 있습니다. 컴퓨터 네트워크를 통해 물리적으로는 분산되어 있는 데이터베이스야 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 지역의 노드로 위치시켜 사용성과 성능을 극대화할 수 있는 데이터베이스다 미국에 911 테러가 있었어요. 금융 빌딩이었습니다.
08:01
금융 빌딩이 비행기로 테러를 당해 가지고 무너졌죠 무너지면서 그 금융 빌딩 내에 해당 서버들도 다 망가졌겠죠. 그러면서 깨달은 게 중요한 데이터를 해당 백업을 지역적으로 떨어져 있는 곳에 안 내놓다 보면 나중에 복구할 때 굉장히 힘들겠네 그래서 해당 금융권은 반드시 해당 데이터베이스 서버를 분산해서 다른 위치에서도 똑같은 데이터가 해당 복사돼 있게끔 하는 걸 의무화시켰어요. 그게 이중화라는 부분인데 이중화도 저희 오늘 다루도록 할 겁니다. 분산 데이터베이스 설계 시 고려사항입니다.
08:47
작업부하의 노드별 분산정책 작업부하 노드별 분산정책 한쪽에만 너무 부하가 많이 몰리게 되면 전체적인 시스템이 효과적이지 못하니까 효율적이지 못하니까 작업 부하도 분산시키는 정책이 필요하고 지역의 자치성 보장 정책 지역적으로 떨어져 있다고 했잖아요. 지역적으로 분산시켜 놓다 보니까 지역의 자치성 보장 정책과 데이터 일관성 정책 사이트나 회선의 고장으로부터의 회복 기능 그리고 통신 네트워크를 통한 원격 접근 기능 이러한 부분들이 분산 데이터 시스템에 데이터베이스 설계할 때 고려 사항입니다. 분산 데이터베이스의 목표입니다. 이게 시험에 자주 나왔어요. 나올 확률이 높고 분산 데이터베이스의 목표는요 투명성 확보예요.
09:41
투명성 확보인데 투명성의 대상이 네 가지 네 첫 번째 위치 투명성입니다. 위치 투명성은 액세서리라는 데이터베이스의 실제 위치를 굳이 알 필요 없이 어디에 있는지 굳이 알 필요 없이 데이터베이스의 논리적 명칭만으로도 접근할 수 있으면 돼 이게 위치 투명성이고요. 두 번째 중복 투명성이에요. 동일 데이터가 여러 곳에 중복되어 있다 하더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용하고 시스템은 자동으로 여러 작업에 대한 자료에 대한 작업을 수행할 수 있다. 이게 중복 투명성입니다. 세 번째 병행입니다. 같이 수행한다는 말이에요. 함께 분산 데이터베이스와 관련되어진 다수 여러 트랜잭션 트랜잭션은 수정 추가 삭제와 같은 처리 작업들이죠.
10:33
변화를 일으키는 부분인데 이게 동시에 실현 실현이 되더라도 그 트랜잭션의 결과 들은 각각 다른 거에 영향을 주지 않고 해당 독립적으로 같이 수행할 수 있게끔 해야 된다. 병행 투명성 마지막으로요 장애 투명성 이름에서 알 수 있죠. 장애 장애 고장이 나더라도 트랜잭션이나 dbms 데이터베이스 관리 시스템 네트워크 컴퓨터 장애에도 불구하고, 트랜잭션은 정확하게 처리가 되게끔 해야 된다 라고 하는 분산 데이터베이스의 네 가지 투명성 해당 구분할 수 있게끔 익혀 놓을 필요성이 있습니다. 보기 항목도 네 개 딱 나오기 좋아요. 문제를 내기가 위치 투명성 중복 투명성 병행 투명성 장애 투명성 분산 데이터베이스의 장단점도 문제 내기가 수월한데 장점이 훨씬 더 많아요. 단점보다 그렇기 때문에 오히려 장점보다 단점 위주로 익혀 놓는 것도 하나의 방법입니다.
11:30
학습의 효율성 효율성적인 측면에서요 분산 데이터베이스의 장점은요, 지역자치성 점진적으로 점차적으로요 시스템 용량을 더 늘려 가면서 확장할 수 있어 신뢰성과 가능성이 높아 효용성과의 융통성이 높고 빠른 응답 속도와 통신 비용 절감 시스템의 성능 향상 그리고 중앙 컴퓨터의 장애가 전체 시스템에 영향을 미치지 않아 자료의 공유성 향상 시스템 규모의 적절한 조절 가능 각 지역 사용자의 요구 수용을 높일 수 있다. 라는 게 장점인데 단점적인 부분은 소프트웨어 개발 비용의 증가 비용적인 부분이 고려 되고요. 왜 하나만 여기서 하는 게 아니라 분산해 가지고 다른 쪽에서도 해당 더 장비들이 배치가 되어야 되니까.
12:18
그리고 데이터베이스 관리 시스템 수행할 기능이 더 복잡해진다는 부분이 단점이고 그리고 데이터베이스 설계와 관리가 복잡해지고, 그리고 하나만이 아니라 여러 개니까 오류가 발생할 잠재성이 더 높아지겠죠. 그리고 처리비용의 증가 데이터 무결성에 대한 위험이 더 내재되어 있다. 라는 게 단점입니다. 자 분산 데이터베이스의 설계 방법입니다. 분산 데이터베이스 설계 방법은 세 가지가 있어요. 네 세 가지 테이블 위치 분산 네 그다음에 분할 그다음에 엘로게이션 해당 배치하는 부분이 있거든요. 단계별 살펴볼게요 테이블 위치 분산이라는 부분 자체는요 테이블을 데이터베이스 내에 데이터를 저장 단위는 테이블입니다. 테이블인데 해당 특정 테이블을 어느 데이터베이스에다가 저장시킬 건가 라는 부분을 분리시켜 놓는다는 거죠.
13:12
데이터베이스의 테이블을 각기 다른 서버에 분산해서 배치하는 방법이야 해당 테이블 구조는 변경하지 않으면서 다른 데이터베이스의 테이블과 중복되지 않게 배치하고 해당 테이블들을 들이 놓일 서버들을 미리 설정합니다. 밑에 보면 테이블이 5개라고 가정했을 때 사원과 부서와 거래 업체의 테이블은 본사에 있는 데이터베이스에 저장시키고 그다음에 판매와 상품에 대한 테이블은 지사에 있는 데이터베이스에 저장시킬 거야. 이런 식으로 테이블 위치 분산이라는 부분이고요. 그 다음에 분할입니다. 네 쪼겐다는 말이에요. 토막 낸다 조각 낸다라는 건데 테이블들의 데이터를요 테이블들의 데이터를 분할해서 분산시키는 방법이 있다. 분산데이터별 설계 두 번째 방법입니다. 분할의 규칙으로선 완전성 제1구성 상호중첩 배제라는 부분 자체는 지켜야 될 규칙입니다.
14:06
완전성은 데이터를 대상으로 분할을 해야 되고 일부만이 아니라 그리고 재구성은 분할된 데이터를 관계 연산을 이용해서 본래 데이터로 재구성할 수 있어야 되고요. 세 번째 상호 중첩이 배제되어야 된다. 분할된 데이터들은 서로 다른 항목에 속하지 않아야 된다. 분할 방법은 두 가지가 있습니다. 네 가로로 이렇게 쭉 분할하는 네 두 개로 이렇게 가로로 이렇게 분할하는 네 수평 분할이 있고요. 테이블 내에서요 테이블 내에서 행 단위로 분할하는 로 단위로 분할하는 필레로 밑에 보면 해당 학생의 어떠한 정보가 저장되어 있는 테이블이라고 볼 때 학번 이런 학과 나이가 있는데, 해당 입력을요 학과 순으로 이렇게 쭉 입력했다고 칠게요 그러면 경영학과 컴퓨터학과 그다음에 뭐 경제학과 이렇게 있다면 학과별로 이렇게 분할시킬 수 있겠죠. 네 그게 수평 분할이고요.
15:05
그 다음에 수직 분할은요, 네 세로 단위별로 이렇게 분할한다. 이 말입니다. 정규화 할 때 어떻게 정규화 할 때 해당 이 테이블에 속성 단위별로 컬럼 단위별로 이렇게 분할시키거든요. 자 학번 이름 학과 나이 테이블에서요 어디 학번하고 이름 두 개 해당 필드를 가지는 거와 그리고 학과하고 나이 가지는 걸로 이렇게 쪼개가지고 두 토막 내겠다. 세로로 테이블을 열 단위로 분할하는 방법이 있습니다. 할당이 있습니다. 할당 엘로케이션 할당은요, 동일한 분할을 여러 개의 서버에 생성하는 분산 방법입니다. 동일한 분할을 여러 개의 서버에 생성하는 분산 방법이야 다시 이 할당의 방법은 중복이 없이 할당하는 방법과 중복이 있는 할당으로 다시 구분할 수 있습니다.
16:00
비중복 활동 방식은 최적의 노드를 선택해서 분산 데이터베이스의 단일 노드에서만 분할이 존재하도록 하는 방식이야 비중복 할당 방식이고 중복할당 방식은 동일한 테이블을 다른 서버에도 복제하는 방식입니다. 중복되기를 일부만 복제하는 부분 복제와 전체를 복제하는 완전 복제가 있습니다. 자 문제 풀면서 출제되는 문제 유형 네 익혀보도록 하겠습니다. 분산 데이터베이스의 장점 개념 문제입니다. 분산 데이터베이스의 장점으로 거리가 먼 것은 아닌 것 지역의 자치성 지역자치성이 높일 수 있다. 맞죠. 지역별로 떨어져 있으니까 그리고 효용성과 융통성이 높다 맞고요.
16:49
점진적으로 점차적으로 시스템 용량을 확장시켜 나가는데 용이하다 오케이 소프트웨어 개발 비용이 저렴하다 비싸다 단점이었습니다. 장점을 그린 것은 4번입니다. 소프트웨어 개발 비용이 비싸요 분산 데이터베이스를 구축하려면 두 번째 분산 데이터베이스 시스템이 사용자에게 제공하는 네 가지 유형의 투명성이 있었는데, 그 투명성에 속하지 않는 거 골라 이렇게 문제 나왔어요. 자 아까 네 가지 정리했습니다. 첫 번째가 어디 위치에 있든지 상관없어 위치에 대한 투명성 그다음에 중복된 내용이 있어도 상관없어 중복에 대한 투명성 그다음에 같이 트랜잭션을 수행해도 결과에 영향 안 미쳐 병행에 대한 투명성 마지막은 뭐였어요. 고장이 나도 문제 장애가 생겨도 트랜잭션 제대로 처리한다.
17:47
장애 장애 투명성 네 해당되지 않는 거 골라보세요. 보기 항복의 세 번째 수행 투명성이라는 게 잘못된 보기입니다. 위치 중복 병행 장애 투명성 4가지 다음 데이터베이스 이중화에 대한 구성 살펴보도록 하겠습니다. 앞단에서 제가 설명드리면서 예로 미국의 911 테러 금융 빌딩이 해당 비행기 테러로 무너졌죠 그때 해당 금융 정보에 대한 데이터베이스 서버가 복구하는데 굉장히 어려웠어요. 그래서 해당 금융권에서는 반드시 원격 다른 쪽에도 동일한 데이터베이스가 복사 관리되게끔 이중화 2개 시스템 오류 그 목적 지지는 시스템 오류가 있을 수 있고요.
18:33
시스템 오류로 인한 데이터베이스 서비스의 중단이나 또는 물리적 손상 망가졌다든지 테러를 당해서 물리적 손상이 발생했을 때 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 게 데이터베이스 이중화 애플리케이션 입니다. 하나 이상의 데이터베이스가 항상 같은 상태를 유지하기 때문에 데이터베이스에 문제가 발생을 하더라도 복제되어진 데이터베이스를 이용해서 즉시 문제 해결이 가능하겠죠. 그리고 여러 개의 데이터베이스를 동시에 관리하기 때문에 사용자가 수행하는 작업이 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용되어지고 애플리케이션을 여러 개의 데이터베이스를 분산시켜서 처리할 수 있기 때문에 데이터베이스의 부하 업무량을 줄여서 할 수 있고 그리고 이중화를 이용하면 손쉽게 백업 서버 운영이 가능하다 라는 특징이 있습니다. 자 데이터의 이중화에 대한 분류인데요.
19:32
데이터베이스 이중화 분류는 두 가지 변경 내용의 전달 방식에 따라서요 변경 내용이 있을 때 이거를 전달을 어떻게 빨리 아니면 천천히 빨리 라고 하는 게 이에이지알 이거라고 읽겠습니다. 이거 기법이구요. 천천히 레이지 기법 두 가지가 있어요. 이거 기법은요, 트랜잭션 수행 중에 데이터 변경이 발생을 하면 이중화되어진 모든 데이터베이스에 적시 적시 전달해서 내용 변경 내용이 바로 적용되도록 하는 기법이고요. 레이지 기법은 천천히 한다. 이렇게 생각하시면 돼요. 이거 기법에 비해서 트랜잭션 수행이 종료되면 종료되고 나서 변경 사실을 새로운 트랜잭션에 작성해서 각 데이터베이스에 전달하는 기법이야 이렇게 정리하겠습니다. 자 그 다음에 이중화 구성 방법입니다.
20:20
데이터 이중화 구성 방법은 다시 또 두 가지로 나눠지는데요. 활동 대기 액티브 스탠바이 기다려 스탠바이 활동하고 있는 곳과 스탠바이 대기하고 있는 곳 그리고 액티브 액티브 두 개 다 활동하고 있는 방법 이렇게 두 가지가 있습니다. 이중화 방법 액티브 액티브 방법은 두 개의 데이터베이스가 서로 다른 서비스를 제공을 이렇게 해요.
20:51
둘 다 하다가 둘 중 하나의 데이터베이스에 문제가 발생하면 나머지 다른 데이터베이스가 해당 문제가 발생한 데이터베이스의 업무까지도 일까지도 수행을 중단되지 않고 이어서 하는 방법 특징이 두 개의 데이터베이스가 모두 처리하기 때문에 처리율이 높지만, 구성 방법이나 설정이 좀 복잡하다는 게 단점입니다. 액티브 스탠바이 방식이 보편적인 방식이에요. 한 데이터베이스가 활성 상태로 서비스를 쭉 하고 있다가 다른 데이터베이스 한 데이터베이스가 활성 상태로 서비스하고 있으면 다른 쪽은 기다려요 다른 데이비는 대기하고 있다가 활성한 활성화 데이터베이스가 장애가 발생했을 때 대기 상태의 데이터베이스가 자동으로 모든 서비스를 대신 수행하는 방법 구성 방법과 관리가 쉬워서 많은 기업이 이용하는 방법은 액티브 스탠바이 방법입니다. 문제 풀이요.
21:48
데이터베이스 이중화 구성 문제 다음 중 데이터베이스 이중화에 대한 설명으로 틀린 것은 개념 문제죠 개념 문제 위주로 나옵니다. 첫 번째 데이터베이스 이중화는 동일한 데이터베이스를 복제하여 관리해 그렇죠. 똑같이 똑같은 데이터가 같게 복제 관리한다. 맞고요. 데이터베이스 이중화가 시행 중일 때 사용자가 하나의 데이터베이스를 수정을 하게 되면 복제되어진 데이터베이스도 똑같이 적용이 돼야 되겠죠. 하나만 수정되고 하나는 수정 안 됐다. 그러면 똑같지가 않잖아요. 세 번째 데이터베이스 이중화 시행 중일 때 데이터베이스에 문제가 발생을 하면 복제된 데이터베이스를 이용하여 서비스를 계속 제공할 수 있소 그렇죠.
22:34
방법 중에 액티브 스탠바이 활성 데이터베이스에 문제가 생기면 대기하고 있던 게 이어가지고 중단 없이 연속적으로 네 번째 데이터 변경이 발생을 하면 즉시 이중화된 데이터베이스에 전달되어 내용 변경이 즉시 적용되는 방법은 레이즈 기법이야 이게 틀렸습니다. 레이즈 기법이 아니라 이거 기법이에요. ehr 레이지는 천천히 너리게 적용하는 기법 자 데이터베이스 암호화로 넘어가도록 하겠는데요. 네 제가 여기 왼쪽에 비고라고 해가지고 연계를 좀 해놨는데 이 데이터베이스 암호화는 저희가 소프트웨어 개발 과목이 마지막 인터페이스 구현에 두 번째 보면 인터페이스 기능 능력 단위 요소의 세부 내용 중에 인터페이스 보안이 있었어요. 거기에서도 예를 다뤘어요.
23:26
거기에서는 이제 네트워크 보안만 다뤘던 건 아니고 애플리케이션 보안과 네트워크 보안과 함께 데이터베이스 보안요 데이터베이스 보안을 저희가 다루긴 했어요. 데이터베이스 암호화적인 부분인데 먼저 데이터베이스 보안 기능이라고 해서 데이터베이스의 보안적인 측면은 어떻게 접근이 되어지느냐 데이터베이스의 접근 권한 및 데이터베이스의 동작 객체의 보안 취약점을 보완하기 위한 보안 기능을 적용하는 게 있고 그리고 민감한 데이터는 저장이 되어질 때 데이터 자체를 평문이 아닌 암호문으로 만들어 가지고 저장을 시키는 방법이 있다. 저희가 지금 다루고자 하는 부분 자체는 접근권한은 아니고 암호화적인 부분을 여기서 다룰 거예요.
24:16
그래서 민감 데이터의 관리는 개인정보나 업무상 중요한 거예요. 그러한 데이터는 암호 및 복호화 기법을 사용해서 데이터베이스에서 관리를 한다. 자 데이터베이스 암호화 알고리즘에 대해 저희가 다시 정리를 합니다. 데이터베이스 암호화 알고리즘은 크게 대칭키 해시 비대칭키 알고리즘이 사용이 되어집니다. 대칭키라고 하는 부분자체는 내용을 이렇게 보면 알 수 있는 걸 평문이라고 그래요. 평문인데 해당 이 평문을 다른 사람이 보더라도 모르게 암호화 과정을 거쳐가지고 암호문으로 만든 때 암호문으로 만들 때 사용하는 키가 암호화키예요.
25:09
암호화키 이 암호화키와 거꾸로 암호문을 다시 내용을 볼 수 있게끔 평문으로 만드는 데 사용되는 키가 복호화키예요. 해독키라고도 합니다. 해독키라고도 하는데 이 키가 서로 같으냐 같은 게 대칭키예요. 대칭키 암호화 알리즘 키가 같으면 암호화 키를 내가 가지고 복호화도 하니까 이 키를 다른 사람이 모르게 조심스럽게 관리를 해야겠죠. 그래서 비밀스럽게 관리해야 된다 라고 해서요. 비밀키 한글로는 비밀키 영어로는 프라이빗키 프라이빗 키라고 합니다. 여기에 해당되는 대표적인 암호 알고리즘은요, ds 데스가 있어요.
25:57
데스 데스 암호 알고리즘 그리고 아리아 그리고 시드 아리아 네 그 다음에 시드 이런 것들이 있습니다. 그 다음에 비대칭 감호 알고리즘은 해당 암호문을 만들 때 사용하는 암호화키하고요. 이거를 다시 평문을 만들 때 사용하는 복호화키가 안 같아요. 같지가 않아요. 그래서 비대칭 같지 않다 그렇기 때문에 암호화를 할 때 사용하는 이 키는요 누구든지 이용해도 돼 라고 공개를 합니다. 그래서 공개키 퍼블릭 퍼블릭 키 암호화 알고리즘이라고 하고요. rsa와 ecd a라고 하는 암호화 알고리즘이 비대칭 기초 공개키 암호화 알고리즘에 해당되어집니다.
26:48
그 다음에 해시 암호화 알고리즘은요, 해당 이름 자체에 해시라고 할 수 있는 h가 들어가 있는 해당 암호 알고리즘이 해시에요. 그렇게 구분하셔도 돼요. 그리고 sha와 ha에 다 들어가 있죠. s 이렇게 돼 있습니다. 그래서 이거는 해시 암호 알고리즘을 쉽게 구분할 수 있을 겁니다. 데이터베이스 암호화 기법은요, 상세하게 안 들어갈게요 개괄적으로 개념만 정립하겠습니다. 애플리케이션 단위에서요 암호화를 수행하는 응용 프로그램 단위에서 암호화를 수행하는 apr 방식이 있고요. api라고 하는 부분 자체는 애플리케이션 프로그래밍 인터페이스를 이야기합니다. 응용 프로그래밍 인터페이스 방식과 데이터베이스에서 암호를 수행하는 플러그인 방식이 있고 이 두 개를 혼합한 하이브리드 혼합형 방식이 있다. 이렇게만 정리하겠습니다.
27:44
해당 저희가 소프트웨어 개발 파트에 인터페이스 구현의 인터페이스 기능의 암호적인 측면에서 그때 상세하게 좀 다뤘어요. 자 문제로 정리하겠습니다. 네 문제로 암호화 기법 중에 평문을 암호문으로 만드는 암호화키와 암호문을 평문으로 해독하는 복호화 키가 다르다 같지 않다 비대칭키 암호화 알고리즘이네 찾아보세요. 없어요. 네, 그러면 다른 이름이 뭐라고 비대칭키는 키가 하나를 공개해도 괜찮아 그래서 공개키 암호화 알고리즘이라고 이야기를 했죠. 찾아보니까 공개키 퍼블릭 암호화 알고리즘 있어요. 암호화 기법 이게 정답입니다.
28:31
그리고 첫 번째 데스라고 돼 있는 부분 자체는요 해당 비 대칭키 암호화 알고리즘 키와 암호키와 복합키가 같은 그래서 비밀키 암호화 알고리즘 3번에 해당되는 암호화 알고리즘 기법으로 대표적인 게 desdes 기법입니다. 적분통제입니다. 액세스 컨트롤입니다. 그래서 한글로 이걸 번역하면서 액세스 컨트롤을 접근 통제라는 용어로도 쓰고요. 접근 제어라는 용어로도 써요 그래서 이게 섞여서 해당 저희 ncs 학습 모듈은 접근 제어라고 되어 있을 겁니다. 똑같은 용어입니다. 접근통제개념입니다. 데이터베이스에 사용하는 사용자들에 대한 접근을 통제한다. 제한을 둔다는 말이에요. 제어한다. 그래서 데이터를 보호하는 방법이 접근 통제 접근 제어입니다.
29:23
접근 통제는 데이터에 대해서 다음과 같은 통제를 함으로써 자원에 대한 불법적 접근이나 파괴를 예방할 수 있는데, 어떤 작업이냐 비인가되어 인가되지 않은 사용자들에 대해서는 접근을 감시 네 못하게끔 그리고 접근 요구자에 대한 사용자 식별 이 사람이 실제적으로 접근 권한이 있는지를 식별해야 되죠. 로그인이라든지. 인증 절차 그다음에 접근 요구에 대한 정당성 확인 및 기록 보안 정책에 근거한 접근의 승인 및 거부 등이 해당 작업에 해당되어지고요. 접근 통제 삼 요소라고 돼 있어요. 객관식 사지선답형 보기 세 개 나오고 엉뚱한 거 하나 문제만 낼 수 있는 거 세 개 또는 네 개가 나와 있는 것들은 좀 주의 깊게 볼 필요가 있어요.
30:09
접근 통제 3요소는 적분 통제 정책과 적분 통제 메커니즘과 적분 접근 통제 보안 모델 이렇게 세 가지가 있는데, 뒤에 세부적으로 단계별로 살펴볼게요 그리고 단계별 살펴보기 전에 접근 통제 기술이 또 양분하해서 나눠지는데 임의접근 통제와 강제 접근 통제로 나눠집니다. 접근 통제 기술은 임의접근 통제 영어로 dac라고 되어 있는데, 디스크리셔너리 디스크리셔너리 액세스 컨트롤 줄여서 dac 강제는요 맨도트로리 맨도트로리 액세스 컨트롤 줄여서 mac 맥 임의 접근 통제는 간단하게 살펴보겠습니다. 데이터에 접근하는 사용자의 신원에 따라서 접근 권한을 부여하는 방식이 됩니다.
31:02
자 저희가 데이터베이스에서요 해당 이 에스큐엘물에 대한 사용 권한을 어 저희가 데이터 컨트롤 랭귀지 dcl 구문으로 대표적인 게 뭐예요? 여기 sql 명령어 중에 그랜트 리보크 명령어 가지고 그랜트가 권한을 주는 거잖아요. 예를 들어서 sql 모든 권한을 다 주겠어 아니면 크리에이트 또는 셀렉트 인서트 이러한 권한만 이 사람한테 주겠어 라고 하는 게 그랜트문이거든요. 이렇게 데이터에 접근하는 사용자의 신호에 따라서 접근 권한을 부여하는 방식이 임의접근통제이고요. 강제접근통제는 음 주체와 객체의 등급을 비교를 해가지고 접근 권한을 부여하는 방식이다. 정도로만 정리하고 넘어가도록 하겠습니다. 등급이 보안등급이 부여되어진 부분에 대해서만 읽고 수정하고 등록이 가능하게끔 컨트롤한다. 강제적분통제 자 접근통제의 3요소입니다. 접근통제정책이 있어요.
31:57
접근통제정책은 누가 어떤 주체가 언제 어디서 무엇을 어떻게 할 것인지에 대한 허용 여부를 정의하는 것을 이야기하고요. 구분해 보면 세 가지가 다시 나눠지는데 접근 통제 정책은 신분 기반 정책 복지 기반 정책 역할 기반 정책으로 나눠지는데 개괄적으로 한번 볼게요 신분 기반 정책은 주체나 그룹의 신분에 근거해서 객체 접근을 제한한다 라고 되어 있고요. 개인 베이스 파워시와 그룹 베이스 팔로시 gvp가 있습니다. 그리고 규칙 기반 정책은요, 네 주체가 갖는 권한을 검거해서요. 객체의 조건을 제한하는데 mlbcbp로 다시 양보화되어지는데 멀티 레벨 팔로시와 컴파트먼트 베이스 파워시 이렇게 돼 있어요. 마지막 역할 기반 정책은 그룹 베이스 팔로시에 변형되어진 정책인데 주체의 신분이 아니라 주체가 맡고 있는 역할을 근거로 해서 객체 조건을 제한하는 방식이다.
32:56
예를 들어서 밑에 예시부처럼 인사담당자야 인사담당자가 볼 수 있는 해당 내용들을 다 보게끔 해야 되겠고 dbar 데이터베이스 어드미니스 데이터 데이터베이스 관리자니까 데이터베이스의 관리자는 모든 걸 다 해야겠죠. 이런 식으로 역할을 근거로 해서 객체 조건을 제한하는 방법이 있다. 두 번째 접근통제의 요소입니다. 접근통제 메커니즘 정의되어진 접근 통제에 앞서서요 접근통제 정책으로 구현을 한 기술적인 정책을 구현하는 네 접근통제 정책을 구현하는 기술적 방법이다. 여기에는 또 어떤 게 해당되느냐 접근 통제 목록 능력 리스트 보안 등급 패스워드 암호화 이러한 부분들이 있습니다. 개괄적으로 볼게요 자 마지막으로, 세 번째 접근 통제 요소는 접근 통제 보안 모델입니다.
33:53
접근 통제 보안 모델이 시험에 좀 자주 나오는 편이에요. 보안 정책을 구현하기 위한 정형화되어진 모델로 모델이 3개가 있어요. 이렇게 자 김일성 모델이다. 김일성 자 이거 암기하기 굉장히 쉽습니다. 네 그냥 발음하면 김일성 북한에 있는 김일성 이렇게 여기 보세요. 설명 문구를 보세요. 군사적 목적 매칭하기 쉽죠 군사적 목적으로 개발된 최초의 수학적 모델은 김일성 이렇게 쉽게 구분할 수 있는데, 이거 저희 뒤에 챕터 문제 나옵니다. 풀어보도록 할게요 시스템 내의 정보와 자원은 인간의 사용자에게만 주권이 허용되어지고 군사적 목적으로 개발된 최초의 수학 모델이야 이렇게 돼 있고요. 무결성은요, 권한이 있는 사람만 어 수정할 수 있게끔 즉 불법적 정보 변경을 방지하는 네 부분입니다.
34:51
무결성이라는 부분은요, 데이터 일관성을 유지에 중점을 두고 개발 그리고 접근 통제 모델 접근 통제 모델 메커니즘을 보안 모델로 개발시킨 거야. 대표적인 게 접근 통제 행렬이 있다. 주체와 이용 가능한 대상 객체를 행과 열로 테이블 형태로 해가지고 이렇게 나타낸 부분입니다. 자 문제 풀면서 정리하겠습니다. 자 다음 중 접근 통제 3요소가 아닌 거 이렇게 개념 문제 나올 수 있습니다. 접근 통제 3요소 방금 저희가 학습했죠. 네 접근 통제 정책 접근 통제 메커니즘 접근 통제 보안 모델 이렇게 네 세 가지 아닌 거요 일 번이 아니네요. 자 모의평가 다시 문제 풀면서 정리하겠습니다.
35:36
다음 중 스토리지에 대한 설명으로 틀린 것은 스토리지 1번 스토리지는 서버와 저장 장치를 연결하는 하나의 기술이야 맞죠. 서버와 저장 장치 연결 기술입니다. san 스토리지 에어리어 네트워크 산은 산이라고 읽겠습니다. 별도의 네트워크를 구성해 데이터를 관리하는 방식으로 초기에는 별도의 네트워크 구축에 비용이 많이 든다. 이게 단점이었고 설명 문구가 맞습니다. 그 다음 두 번째 nas nas nas 네트워크 에어리어 스토리죠 아 네트워크 어테치드 스토리지 서버와 저장 장치를 네트워크를 통해서 연결하는 방식으로 접속 증가 시 성능이 저하될 수 있어 맞죠.
36:27
그럼 4번이 틀렸는데 어떤 게 틀렸느냐 다스 디렉트요 어태치 스토리지는 서버와 저장 장치를 전용 케이블로 직접 연결한 방식이야 여기까지 맞아요. 확장성과 유연성이 떨어져요 우수하다가 아니라 우수한 거는 낫습니다. 네트워크 어태치 스토리지 틀린 것은 4번 2번입니다. 네 분산 데이터베이스의 장점으로 거리가 먼 것은 1번 데이터베이스의 설계와 개발이 용이하다 분산 데이터베이스는 단일 데이터베이스가 아니라 물리적으로 네트워크 떨어져 있잖아요. 그래서 오히려 설계와 개발이 복잡합니다. 어렵습니다. 쉬운 게 아니라 이게 틀렸습니다. 신뢰성과 가용성이 향상되고 데이터 공유성이 향상되고 질의 처리 시간이 단축된다는 맞습니다.
37:19
번째 다음 중 데이터베이스 이중화 설명으로 옳지 않은 것은 액티브 스탠바이 방식은 액티브 방법에 비해서 구성 방법 및 설정이 복잡하다 바뀌었죠. 반대입니다. 액티브가 두 개의 데이터베이스를 동시에 작동시켜 가는 과정에 해당 뭐가 문제가 있을 때 다른 게 그 역할도 담당하게끔 근데 액티브 스탠바이는 하나가 동작 쭉 되다가 문제가 없으면 그냥 쭉 가요 근데 문제가 생기면 스탠바이 하고 있던 게 이어 가지고 받으면 되니까. 해당 액티브 액티브가 구성 방법 및 설정이 더 복잡합니다. 앞뒤가 바뀌었기 때문에 틀린 것은 1번입니다. 액티브 스탠바의 방법은 활성 데이터베이스에 문제가 발생하면 대기 중인 데이터베이스가 대신 서비스 제공에 맞고 데이터베이스 이중화는 변경 내용 전달 방법의 방식에 따라서 이거 기법과 빠르게 처리 그리고 레이즈 기법은 천천히 해도 돼 이거 기법은 변경 내용이 발생하면 즉시 데이터베이스 적용된다. 맞죠.
38:19
4번입니다. 데이터베이스 보안에 대한 설명으로 옳지 않은 것은 1번 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정한 열과 행위치에 있는 특정한 데이터 값에 이르기까지 다양해 보안을 적용하는 데이터의 단위는 테이블 전체에도 되고 열행 이렇게 다양한 게 맞습니다. 두 번째 보안을 위한 사용자들의 권한 부여는 관리자의 정책 결정보다는 dbms가 자체적으로 결정하여 제공한다. 언뜻 보면 맞는 것 같은데, 천천히 읽어보면 보안을 위한 사용자들의 권한 부여 누가 정한다. 데이터베이스 관리 시스템이 자기가 알아서 이건 아니죠. 관리자의 정책에 의해서 사용자들의 권한 부여가 됩니다.
39:07
그래서 이게 앞뒤가 바뀌었기 때문에 틀린 것 2번 3번 각 사용자들은 일반적으로 서로 다른 객체에 대하여 다른 접근 권리 또는 권한을 갖는다 마지막으로, 불법적 데이터 접근으로부터는 데이터베이스를 보호하는 거야. 그게 데이터 보안이야 맞습니다. 다음 5번 다음 중 접근통제보안모델 접근통제 보안 모델에 대한 설명 중 틀린 걸 골라라 이렇게 되어 있습니다. 천체를 볼게요 접근통제 보안 모델은 보안정책을 구현하기 위한 정형화되어진 모델이야 맞겠죠. 무결성모델은 데이터의 일관성 유지에 중점을 두어 개발이 되어졌어 네 맞죠.
39:55
무결성 모델은 변경 권한이 없는 사람은 변경 못하게끔 일관성 유지되게끔 무결성 모델은 군대 시스템 등 특수 환경에 주로 사용된 군대 환경 특수는 뭐였어요. 북한의 기밀성 이렇게 그래서 기밀성이었습니다. 기밀성 무결성이 아니라 틀린 건 3번입니다. 무결성은 실습 내의 정보는 인가된 사용자만 수정할 수 있게끔 하는 것을 의미한다. 자 이렇게 문제로 정리했고요. 마지막 핵심 정리 다시 한번 되짚어 보겠습니다. 스토리지 파트에서는요 개념적으로 스토리지는 단일 디스크로 처리할 수 없는 대용량의 데이터를 처리하기 위해서요. 서버하고 저장 장치를 연결한 기술이었고요. 스토리지 종류는 세 가지가 있었습니다. 직접 연결하는 저장소 다스 그다음에 네트워크 어태치 스토리지 나스 스토리지 에어리어 네트워크에서는 어떤 키 네 파이브 파이브 광 해당 스위치요 또는 광 해당 케이블 이용한다. 라는 거 빨리 처리한다.
40:54
라는 거 키 주키 기억하시고 두 번째 분산 데이터베이스 분산 데이터베이스는 논리적으로 논리적으로 같은 시스템에 속하지만 컴퓨터 네트워크를 통해서 물리적으로는 분산 분리되어서 배치되어 있다. 있는 데이터베이스 분산 데이터베이스의 네 가지 투명성 이거 기억하세요. 시험에 자주 나올 수 있습니다. 위치에 대한 투명성 중복에 대한 투명성 장애 투명성 네 가지겠고요. 그리고 분산 데이터베이스 설계 방법은 세 가지 케이블 위치 분산 분할 할당 이렇게 세 가지가 있었습니다. 데이터베이스의 이중화 구성 시스템 오류로 인한 데이터 서비스 중단이나 물리적 손상이 발생할 때 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 부분이었고요.
41:52
데이터 이중화의 분류는 해당 예외 내용에 대한 반영 방식에 따라서 이거 기법은 변경 사항을 즉시 반영이었고 레이지 기법은 천천히 그리고 데이터 이중화의 구성 방법은 액티브 액티브 방식과 액티브 스탠바이브 방식이 있었습니다. 데이터베이스 암호화는 암호화 알고리즘요 구분할 수 있게끔 네 정리해 주시면 좋을 것 같고, 대칭키 암호문을 만들 때 사용하는 암호화 키와 복호할 때 사용하는 키가 같아 같기 때문에 얘는 하나로 노출되면 안 돼 그래서 조심스럽게 꼭 노출되지 않게끔 어떻게 비밀스럽게 그래서 비밀키 암호 알고리즘이라고 했고요. 이 p가 틀린 거나 하나는 공개해도 상관없죠 그게 비대칭키 암호 알고리즘은 공개키 암호화 알고리즘이다. rasa ecdsa가 있었고, 대칭키 암호화 알고리즘 비대칭키 암호화 알고리즘은 데스가 대표적이었습니다.
42:48
그리고 데이터베이스 암호화 기법은 애플리케이션 단위로 암호화하는 api가 있었고, 데이터베이스에 플러그인 방식이 있었고, 두 개의 혼합인 하이버리드 방식이 있었습니다. 접근통제형 액세스 컨트롤 데이터베이스에 대한 사용자의 접근을 통제함으로써 데이터를 보호하는 방법이었고요. 접근통제의 3요소는 접근통제 정책 접근통제 메커니즘 접근통제 보안 모델이 있었습니다. 이상으로 물리요소 조사 분석에 대해서 학습했습니다. 물리 데이터베이스 설계의 두 번째 데이터베이스 물리 속성 설계에 대해 살펴보도록 하겠습니다. 학습목표인데요. 식별된 오브젝트의 데이터 타입 사이즈 증가 용량을 고려하여 저장 공간을 산출하고 해당 오브젝트에 대한 테이블 스페이스를 할당할 수 있다. 테이블스페이스라는 단어가 나옵니다.
43:39
할당된 테이블 스페이스 용량을 기반으로 디스크 저장 용량을 산정하고 데이터베이스의 백업 주기 방식에 따른 저장 공간 용량을 산정할 수 있다. 마지막 분산 위치 엔티피명 테이블명 테이블 스페이스명 테이블 스페이스 용량 데이터 파일명 파티셔닝 클러스터닝 정보 보안 정보에 대한 물리 데이터베이스 설계서를 작성할 수 있다. 입니다. 학습내용 마찬가지 5개 구성되어 있는데요. 파티셔닝 클러스터링 데이터베이스 백업 데이터베이스 용량 설계 데이터 지역화입니다. 이 부분도 마찬가지 해당 ncs 학습 모듈하고요. 내용이 약간 상이한 게 있기 때문에 강의 베이스로 해서 정리하시는 걸 추천드립니다.
44:33
영어 사전으로서 파티셔닝은 뭔데 파티셔닝은 데이터베이스에서 파티션은 대용량의 테이블이나 인덱스를 작은 논리적 단위로 다시 나눈 파티션을 이야기합니다. 클러스터는요 데이터 저장할 때 데이터의 액세스 효율을 향상시키기 위해서 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이고요. 마지막으로, 데이터 지역화 로컬러티 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이 되겠습니다. 네 본 내용으로 들어가서 첫 번째 파티셔닝입니다. 파티셔닝의 개념인데요. 용어에서 살펴봤던 것처럼 데이터베이스에서의 파티셔닝이라는 것은 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것이다.
45:25
자 이 파티션을 수행하게 되면 얻을 수 있는 이점적인 부분 자체는요 일반적으로 데이터베이스에 중요한 몇 개 테이블에만 집중적으로 데이터가 증가하는 경향이 있는데, 이런 테이블을 작은 단위로 나눠서요 분산시키면 성능이 저하되는 것을 방지할 수 있고 데이터 관리가 쉬워집니다. 그리고 테이블이나 인덱스를 파티셔닝 하게 되면 파티션 키 또는 인덱스 키에 따라서 물리적으로 별도의 공간에 데이터가 저장됩니다. 데이터의 처리는 테이블 단위로 이루어지고요. 데이터의 저장은 파티션별로 수행되어집니다. 데이터 처리는 테이블 단위 데이터의 저장은 파티션별로 수행됩니다. 파티션의 장단점입니다. 네 장점은 데이터 접속 접근할 때 액세스의 범위를 줄여서요 쿼리의 성능을 높여줄 수 있겠고요.
46:23
그리고 파티션별로 데이터가 분산되어서 저장이 되기 때문에 디스크 디스크의 성능도 향상시킬 수가 있습니다. 그리고 파티션별로 백업 및 복구가 수행되기 때문에 처리 속도도 빨라지겠고 장애시 시스템 장애 시 데이터 손상의 정도를 최소화시킬 수 있고 데이터의 가용성이 향상되고 파체전 단위로 입출력 자체를 분산시킬 수 있다는 장점이 있고요. 반대로 단점은 하나의 테이블을 세분화하여 관리하기 때문에 세심한 관리가 요구되고요. 그리고 테이블 간의 조인에 대해서는 비용이 발생할 수 있다. 비용이 증가할 수 있다. 그리고 마지막으로, 용량이 작은 이거 문구 중요한데 용량이 작은 테이블에 대해서는 파티셔닝을 하게 되면 오히려요 성능이 높아지는 게 아니라 낮아질 수 있어요. 그렇기 때문에 파티션을 할 때는 용량이 작은 테이블을 대상으로 하면 안 된다. 이렇게 이해하시면 될 것 같고요.
47:21
단점 장단점 정리해 봤습니다. 파티션의 종류입니다. 파티션의 종류는 세 가지로 저희가 살펴보도록 하겠는데요. 먼저 범위 분할입니다. 쉬운 개념입니다. 범위 분할은 일례로 판매 일자라는 테이블이 날짜 단위별로 이렇게 쭉 정리가 되어져 있다 라고 할 때 해당 연도 단위별로요 연도 단위별로 해당 그 범위를 분할할 수 있습니다. 네 그래서 판매 일자가 2019년 2020년 2021년에 데이터가 쭉 저장돼 있는데, 해당 날짜가 2019년인 거 를 한 파트로 분할하고 2020년인 거 2021년인 거 이렇게 나눌 수가 있겠다. 그게 범위 분할이고요. 두 번째는 해시 분할입니다. 해시 암호화 알고리즘의 해시 네, 그렇습니다. 해시함수라고 있어요.
48:21
해시함수를 적용을 해서요. 해당 계산의 결과값을 만들어내고요. 그 결과값을 결과값 가지고 분할하는 방식 해시분할입니다. 특정 파치 전에 데이터가 집중되는 범위 분할의 단점을 보완한 것이고. 데이터를 고르게 분산할 때 유용합니다. 데이터를 고르게 분산할 때 유용한데 특정 데이터가 어디에 있는지는 판단할 수 없다는 부분은 어떻게 보면 단점일 수도 있어요. 고객번호나 주민등록번호와 같이 데이터가 고른 컬럼의 효과적입니다. 계산이 돼야 되겠죠. 그러니까 숫자데이터 필드를 대상으로 해서 계산을 수행을 해야겠죠. 동일한 판매 일자 테이블이 있다고 할 때 해당 해시함수에 값을 넣어가지고 구해진 그 결과값에 따라서 결과값이 같은 것끼리를 이렇게 파트별로 분할할 수 있는 방법이 해시 분할입니다. 조합 분할이 있습니다.
49:19
컴파짓 복합이라는 말이에요. 복합 네이 범위 분할로 분할한 결과를 다시 해시 함수를 적용해서 다시 분할하는 방법이 되겠고요. 범위 분할한 파티션이 너무 큰 경우에 너무 커서 관리가 어려울 때는 다시 해시함수를 적용해서 분할하는 조합분할을 사용하는 것도 유용하겠습니다. 파티셔닝을 할 때 사용하는 키가 파티션 키가 있었고요. 파티션 키를 선정할 때 고려사항입니다. 파티션 키는 테이블 접근 유형에 따라서 파티셔닝이 이루어지도록 선정하는 게 필요하다 데이터 관리의 용이성을 위해서 이력성 데이터 이력성이라고 하는 부분 자체는 뒤에 있는 것처럼 생성 주기나 소멸 주기나 이런 부분이 있으면 파티션의 생성 주기하고 소멸 주기 자체를 일치시키는 것이 좋겠고 뒤에 보세요.
50:12
매일 생성되는 날짜 컬럼이나 백업의 기준이 되는 날짜 컬럼 또는 파티션 간에 이동이 없는 컬럼이나 io는 인풋 입력과 o는 output이에요. 입출력 병목을 줄일 수 있는 데이터 분포가 양호한 컬럼들을 파티션 키로 선정하는 것이 좋겠다. 라는 부분입니다. 자 퀴즈 문제로 정리해 볼게요 다음 중 파티션에 대한 설명으로 틀린 것은 개념 문제죠 개념 문제 파티션은 하나의 테이블을 작은 논리적 단위로 나누는 거야. 네 맞습니다. 테이블의 크기에 상관없이 파티셔닝을 수행을 하면 성능은 향상돼 틀렸습니다.
51:05
테이블 아까 주의사항이었고 장단점을 보이는 단점 부분에서 제가 강조해서 말씀드린 거 있죠. 테이블이 작은 경우에는 오히려 파티셔닝을 하게 되면 성능이 오히려 떨어진다 라고 했어요. 그래서 해당 용량이 테이블 용량이 좀 큰 거 대상으로 해야 된다. 그래서 틀린 것은 2번입니다. 파티셔닝 테이블은 물리적으로 별도의 세그먼트에 저장되고 파티셔닝을 수행하게 되면 데이터의 가용성이 향상된다는 장점이 있습니다. 다음으로, 컬러스트링입니다. 컬러스트링 컬러스트에 대한 개념인데요. 컬러스트는 데이터를 저장할 때 때 데이터의 액세스에 대한 효율을 접근에 대한 효율을 향상시키기 위해서요. 동일한 성격의 데이터를 동일한 데이터 블록에다가 저장시키는 물리적 저장 방법입니다.
51:59
해당 클러스터를 하기 위해서는 클러스트링 키를 선정을 해가지고 그 컬러스트링 키로 지정되어진 컬럼의 값들을 순서대로 저장시키고 여러 개의 테이블이 하나의 클러스터에 저장을 시킬 수 있어요. 밑에 개념도 보시면 두 개의 테이블이 있어요. 부서 테이블 있고 사원 테이블이 있는데, 얘를요 클러스트링 얘를 하나로 이렇게 묶는다 이 말입니다. 뭘 기준으로 지금 현재 두 개의 테이블 중에 공통적인 해당 필드가 부서 번호예요. 얘로 조인시킬 수 있겠죠. 연결시킬 수 있겠죠. 그래서 부서 번호를 기준으로 해가지고요. 부서 번호가 d001인 게 영업부예요. 그래서 여기에 해당 부서 테이블에 부서는 영업부 이고요.
52:51
사원 테이블에 이 해당 그 부서에 포함되어지는 사원을 여기다가 이제 밑에다가 여기다가 넣었어요. 분할해 가지고 그 다음에 부서 번호가 d002인 거는 총무부인데 총무부는 사원 누구야 d003 기획부는 누구야 이렇게 클러스 클러스트링 한 테이블은 이런 형태로 어 블록 단위별로 데이터를 저장시킬 수 있습니다. 그러면 장점은요, 데이터에 대한 접근 엑세스 효율을 높일 수가 있다. 컬러스의 특징입니다. 많이 정리되어 있는데, 좀 찝어가지고 설명드릴게요. 클러스팅 한 테이블은요, 데이터 조회 속도는 높일 수 있어요.
53:34
그런데 데이터의 입력이나 수정이나 삭제에 대한 성능은 오히려 떨어져요 해당 얘를 별도로 분리해 놓은 상태보다 얘를 컬러스트링 해가지고 블록으로 묶어놓았을 때는 오히려 변경 사항이 생기는 입력이나 수정 삭제는 오히려 성능이 낮아질 수 있다. 클러스터는 어떤 경우에 유리하냐? 데이터의 분포도가 넓을수록요 데이터의 분포도가 넓을수록 유리합니다. 이 컬러스트하고 반대 저희가 학습했던 데이터베이스의 기능 중에 반대가 뭐냐면 인덱스예요. 컬러스트의 반대는 인덱스입니다. 인덱스는요 오히려 데이터의 분포도가 좁을수록 좋아요. 10에서 15%라는 수치 데이터가 있었습니다. 분포도가 10에서 15%일 때 적합하다 인덱스 인덱스는 색인이잖아요.
54:28
찾기잖아요. 데이터 분포도가 넓은 테이블을 클러스트링 하면 데이터 공간을 절약할 수 있다. 대용량을 처리하는 트랜잭션은 전체 테이블을 스캔하는 일이 자주 발생하기 때문에 오히려 대용량을 처리하는 트랜잭션은 컬러스팅 안 하는 게 좋아요. 처리범위가 넓은경우에는 이거도 이 문구 네 잘 좀 정리할게요 처리 범위가 넓다 넓은 경우에는 단일 테이블 컬러스팅 그리고 조인이 합쳐진다는 말이에요. 테이블과 테이블을 서로 연결시켜 가지고 조인이 많이 발생하는 경우는 다중 테이블 컬러스팅을 사용하는 게 좋다. 네 이것도 정리해 놓으세요. 파티셔닝 되어진 테이블에는요 컬러스팅이 안 돼요. 파티셔닝 된 테이블은 컬러스팅이 불가합니다.
55:21
마지막으로, 컬러스트링 된 테이블에 컬러스트 인덱스를 생성을 하게 되면 접근 성능을 높일 수가 있다. 자 클러스트 대상 테이블이에요. 이거 시험에 내기가 좋아요. 다음 중 컬러스트 대상 테이블에 적합하지 않은 거 고르세요. 이렇게 보기 항목 다섯 개 이렇게 만들어 줄 수 있으니까 객관식은 네 문제만 내면 되잖아요. 분포도가 좁은 거 넓은 테이블이 클러스트 대상이 좋고요. 소량의 또는 대량의 대량의 범위를 자주 조회하는 테이블 그리고 입력 수정 이거는 다 많은 거 많은 건데 입력 수정 삭제는 많이 발생하는 거 아닙니다. 반대입니다. 자주 발생하지 않는 테이블 분포도는 넓은 거 그리고 대량의 범위 넓은 범위를 자주 조회하는 테이블인데 입력 수동 삭제는 자주 발생하지 않는 테이블이 컬러스트 대상 테이블에 적합합니다.
56:21
그리고 자주 조인이 되는 거는 적합해요. 조이는 합치는 거잖아요. 그러면 계속 테이블 합치기보다 아예 해당 테이블 블록으로 해가지고 아예 클러스터를 만들어 보는 게 낫죠 그리고 올더바이 그룹 하잖아요. 정렬이잖아요. 많은 양을 정렬 기준을 잡고 이렇게 정렬할 때 올더바이 구문이나 그룹바일 그룹은 묶어 그 다음에 유니온 이러한 에스큐엘 커리 문 내에 해당 이러한 제한적인 부분 자체가 많이 사용하는 테이블은 클러스터 하는 게 효과적입니다. 퀴즈입니다. 다음 중 컬러스트링 적용하기에 적당하지 않은 테이블은 방금 제가 살펴봤던 걸 문제화 낸 거예요. 분포도가 좁은 거 틀렸죠 분포도가 넓은 테이블이었어요. 분포도가 넓은 테이블이 클러스터링이 용이했고요. 분포도가 좁은 거는 오히려 이거 선호되는 거는 인덱스입니다.
57:20
클러스터하고 인덱스하고는 반대 개념입니다. 다음 입력 수정 삭제가 자주 발생하지 않는 테이블 맞고요. 자주 조인이 되는 테이블 맞고요. 대량의 범위를 자주 보는 테이블 맞습니다. 네 도도가 넓은 테이블이 클러스팅 적용에 좋습니다. 다음 데이터베이스 백업으로 넘어가도록 하겠습니다. 데이터베이스 백업은요, 전산장비의 장애에 대비해서요. 데이터베이스에 저장되어진 데이터를 보호하고 복구하기 위한 작업입니다. 치명적 데이터 손실을 막기 위해서는 데이터베이스 백업은 정기적으로 백업을 해야 돼요. 정기적으로 한 번 그냥 백업해놓고, 그냥 내버려 두는 게 아니라 일정 기간이 되면 이제 백업 이렇게 시키게끔 왜 언제 장애가 발생할지 모르잖아요. 그렇기 때문에 예비적인 측면에서 백업은 정기적으로 백업한다.
58:15
데이터베이스 관리 시스템은 데이터베이스의 파괴 및 실행 중단이 발생하면 이를 복구할 수 있는 기능을 제공해야 됩니다. 데이터레이스 장애 유형입니다. 일반적으로는 이용자들에 대한 실수에 의한 장애가 많겠죠. 사용자들의 실수에 의해 가지고 테이블을 잘못 삭제해 버렸다든지 또는 잘못된 트랜잭션으로 처리하는 경우가 있겠고요. 그리고 미디어 장애라고 해서요. cpu나 중앙처리장치 메모리나 하드웨어적인 측면 디스크 등 하류웨어 장애나 데이터가 파손되는 경우 데이터 장애 유형 중에 미디어 장애가 되고 부문장애라고 하는 부분 자체는요 프로그래밍적인 측면이에요. 프로그램 오류나 사용 공간의 부족으로 인해 발생하는 장애 그리고 네 번째 사용자 프로세스 장애 프로그램이 비정상적으로 종료가 되거나 네트워크 이상으로 해서 네 해당 연결됐던 게 끊어지는 세션이라는 건 여러분들 로그인을 가정을 하게 되면 누가 로그인했다. 라는 게 구분되죠.
59:14
그건 이제 세션이라고 하는 객체가 있어요. 그거 가지고 처리하는데 네트워크 이상으로 세션이 종료되어서 발생하는 오류는 사용자 프로세스 장애고 마지막 인스턴트 장애는 하드웨어 장애인 정전이 전기가 나와버렸다든지 시스템 팔 파손 등과 같은 비정상적 요인으로 인해서 메모리나 데이터베이스 서버의 프로세스가 중단되는 장애가 인스턴스 장애가 되겠습니다. 로그 파일인데요. 데이터 백업할 때 중요 파일이에요. 로그 파일이라고 하는 부분 자체는 로그 기록을 남긴다는 말인데 데이터베이스의 처리 내용이나 이용 상황 등 어떤 변화가 있었던 상태 변화가 되는 어 내용을요 시간의 흐름에 따라서 모두 기록해 놓은 파일이 로그 파일이에요. 네 그래서 이 컴퓨터에서 어떤 작업을 수행했는지 라는 부분도 이제 로그 같은 경우도 오류 로고 같은 것들이 있거든요.
1:00:09
그래서 시스템이 정상적으로 잘 되고 있는지 라는 부분을 체킹해 볼 때 해당 그 오류 로그 파일 열어가지고 확인해 볼 수도 있어요. 자 데이터베이스 복구를 위해서요. 필요한 가장 기본적인 자료가 로그 파일입니다. 데이터 복구를 위한 필요한 가장 기본적 자료 로그 파일을 기반으로 데이터베이스를 과거 상태로 돌린다 이게 언두에요. 한 거 동작한 거 두 둘을 언 안 하게끔 돌린다 이 말입니다. 로그 파일 기반으로 데이터베이스를 과거 상대로 복귀 언두시키거나 현재 상태로 다시 재생 다시 수행해 현재 상태로 다시 리뷰 시켜서 데이터베이스 상태를 일관성 있게 유지한다. 로그 파일은요, 트랜잭션 언제 기록하느냐 트랜잭션이 시작된 시점 트랜잭션의 대상은 뭐예요?
1:01:04
인서트 추가해 업데이트 수정해 삭제 딜리트 이러한 해당 데이터베이스 테이블러에 어떤 변화가 있는 곳 그게 트랜잭션이죠. 트랜잭션 시작시점 네 그다음에 롤백 시점 다시 이전에 돌린 거죠. 수행했던 걸 취소해가지고 이전으로 다시 돌리는 거 롤백 시점 그다음에 데이터 입력 변화죠 수정 변화죠 삭제 이러한 네 변화가 있는 시점에 로그 파일을 기록을 합니다. 로그 파일 내의 내용은요, 트랜잭션이 작업한 모든 내용이나 트랜잭션 어떤 식별 트랜잭션 레코드 데이터 식별자 갱신 이전 값 갱신 이웃값 이러한 것들이 내부 파일에 남습니다. 데이터베이스 복구 알고리즘입니다. 좀 전에 저희가 돌린다 언두 또는 다시 실행해 리뷰 이렇게 했는데 이거에 대한 조합 케이스를 해보면 네 가지 네 가지 케이스가 있어요. 언두를 수행하지 않아 앞에 노를 붙여요.
1:02:03
노 언두 리뷰는 수행해 언두는 하되 리뷰는 수행하지 마 언두와 리뷰를 다 수행해 언두와 리뷰를 다 수행하지 마 이런 네 가지 케이스가 있겠죠. 그래서 데이터베이스 복구 알고리즘 하나만 보도록 하겠습니다. 개념만 잡으면 되니까. 노 언두 리듀라고 하는 복구 알고리즘은 데이터베이스 버퍼의 내용을 비동기적 네 같은 상태가 아니라 비동기적으로 갱신한 경우의 복구 알고리즘이다. 그래서 노 언두니까 트랜잭션이 완료되기 전에는 변경 내용이 데이터베이스에 기록이 안 돼요. 기록되어 있지 않기 때문에 취소할 필요는 없어 그래서 언두라는 건 취소잖아요.
1:02:52
취소를 안 해도 돼 노 언두라는 건 취소를 안 해도 돼 그다음 리뷰는 트랜잭션이 완료된 후에 데이터베이스 버프에는 기록되어 있고 저장 매체에는 기록 안 되어 있기 때문에 얘는 다시 실행시켜가지고, 복구가 되게끔 해 이렇게 이해하시면 돼요. 그래서 경우치에 따라서 언두는 다시 돌리는 거고, 리뷰는 다시 실행시키는 건데 하라 하지 말라 네 노가 붙어 있으면 하지 말라는 거고요. 그래서 데이터베이스 복구 알고리즘은 네 가지 경우가 있습니다. 넘어갈게요 백업의 종류입니다. 백업의 종류는 크게 물리 백업이 있고요. 논리 백업이 있어요. 물리 백업이라고 하는 부분 자체는요 데이터베이스의 파일을 백업하는 방법입니다. 데이터베이스의 물리적 파일을 백업하는 방법 백업이라는 건 뭐예요? 똑같은 걸 저장해가지고 따로 보관한다는 말이죠.
1:03:47
백업 속도가 물리 백업은 백업 속도가 빠르고 작업이 단순하지만 문제가 발생할 때 원인 파악 및 문제 해결이 어려울 수 있다. 논리 백업은 데이터베이스 내에 논리적인 객체들을 백업하는 방법이다. 데이터베이스 내에 논리적 객체를 백업하는 방법인데 복원 시 데이터 손상을 막고요. 문제 발생할 때 원인 파악 및 해결이 수월하지만 백업 복원 백업 및 복원 시 시간이 많이 소요되어진다라는 특징이 있습니다. 밑에 보면요 평 안에 있어요.
1:04:22
근데 물류 백업은 로고 파일을 백업을 실시를 하게 되면 복구 수준은 완전하게 복구도 할 수 있어 복구 수준 완전 복구 언제 물리 백업인데 로그 파일 백업을 실시했을 때는 완전 복구가 가능하지만 로그 파일이 없다든지 그런 경우에는 어 완전하게 복구는 못하고 백업 시점까지만 이전에 백업했던 것까지만 복구가 가능하다 논리백업은 완전 복구가 안 돼요. 논리백업은 백업 시점까지만 복구가 가능하고 데이터베이스 유틸리티를 이용해서 백업한다. 자 문제 퀴즈입니다. 다음 중 데이터베이스 백업에 대한 설명으로 옳지 않은 거 개념 문제예요. dbms 데이터베이스 매니지먼트 시스템 데이터베이스 관리 시스템에서는요 데이터베이스가 파괴가 되었을 때 복구하는 기능을 제공해야 돼 맞죠. 데이터베이스 관리 시스템은 데이터베이스 파괴 시 복구하는 기능을 제공을 해야 됩니다.
1:05:19
데이터베이스의 상태를 일관성 있게 유지시키기 위해서 로그 파일을 이용한다. 변화가 있었던 부분들 시점에 로그 파일 기록을 해서 어떤 변화가 있었어 라는 것들을 알게끔 그리고 그 변화가 있던 실적 이전으로 다시 돌릴 수 있게끔 일관성 유지를 목적으로 로그 파일 이용합니다. 로그 파일은 데이터베이스의 상태 변화에 대한 내용을 작업 순서에 따라서 기록한 거다 로그 파일은 데이터베이스의 상태 변화에 대한 내용을 작업 순서에 따라 기록했다. 이거 틀렸습니다. 작업순서에 따라서가 아니라 시간적 흐름 시간적 흐름에 따라 시간적 흐름에 따라 기록한 파일입니다. 약간 함정이라서 잘못하면 맞는 것 같아 라고 할 수 있는데, 로그파일은 데이터베이스 상태 변화에 대한 내용을 시간적 흐름에 따라 기록한 파일입니다.
1:06:18
데이터베이스 백업은 정기적으로 수행하는 것이 좋습니다. 다음 데이터베이스 용량 설계인데요. 이 파트가 원래는 시험 출제 기준에서는 테이블 저장 사이징이라고 이렇게 표기가 되어 있는데, 저는 범위를 좀 더 넓혀 가지고 데이터베이스 용량 설계라고 해서 포괄적으로 제가 다뤄드리려고 합니다. 데이터베이스 용량 설계 개념은요, 데이터베이스에 대한 용량 설계는 데이터가 저장되어질 공간을 정의하는 것을 말합니다. 데이터베이스 용량 설계할 때는 테이블에 저장할 데이터의 양과 그리고 인덱스 클러스트 등이 차지하는 공간을 예측해서 반영을 해야 합니다. 자 저희 학습 목표에서도 보면 제가 이 용어 나옵니다 라고 했던 게 테이블 스페이스였어요.
1:07:15
테이블 스페이스에 대한 개념 정립하도록 하겠습니다. 데이터베이스 용량 설계에 대한 개요인데 테이블 스페이스는 뭔지 테이블이 저장이 되는 물리적 영역이 아니에요. 논리적 영역입니다. 테이블에 저장되는 논리적 영역으로 하나의 테이블 스페이스에 하나 또는 그 이상의 테이블 저장이 가능합니다. 테이블을 저장하면 논리적으로는 테이블 스페이스에 저장이 되고요. 물리적으로는 실제적으로 실제적으로는 어디에 데이터 파일에 저장이 되어져요 해당 테이블 스페이스와 연관된 데이터 파일에 저장이 되어진다 논리적으로는 테이블 스페이스에 저장되고 물리적으로는 데이터 파일에 저장된다. 네 자 논리적 구성이 물리적 구성에 종속되지 않아서 투명성이 보장된다라는 데 장점이 있습니다.
1:08:15
테이블 스페이스는 데이터베이스에 저장되는 내용에 따라 테이블 인덱스 그리고 템퍼러리 임시 등의 용도로 구분해서 설계할 수 있고요. 테이블 스페이스를 설계할 때 고려 사항이에요. 테이블 스페이스는 업무별로 구분해서 지정하는 게 좋겠고 그리고 대용량의 테이블은 하나의 테이블 스페이스에 독립적으로 저장하는 게 좋겠다. 그리고 테이블과 인덱스는 가치 말고 분리 테이블과 인덱스는 분리하여 저장하는 것이 바람직하고 그다음에 에로비라고 하는 부분은 큰 오브젝트 라지 오브젝트를 이야기해요. 라지 오브젝트 타입은 주로 이미지 같은 것들 있잖아요. 그러한 것들은 독립적인 공간으로 지정하는 것이 좋겠다. 다음 테이블 용량 설계에 대한 목적입니다. 테이블의 용량을 설계하는 목적은 정확하게 용량을 산정해야지 디스크의 저장 공간을 효과적으로 사용하고 또 확장성이나 가용성을 높일 수가 있겠죠.
1:09:13
그래서 데이터베이스에 대한 용량을 정확하게 산정할 필요성이 있고요. 디스크의 특성을 고려해서 설계함으로써 디스크의 입출력에 대한 부하를 분산시키고요. 채널의 병목 현상 막히는 현상을 최소화 할 수 있겠다. 그리고 디스크에 대한 입력 및 출력에 대한 경합 서로 이렇게 막 이렇게 먼저 입력할 거야. 먼저 나갈 거야. 이렇게 하는 경합이 최소화되도록 설계함으로써 데이터의 접관성을 향상시킬 수 있겠다. 그 방법으로 테이블과 인덱스의 테이블 스페이스를 분리 구성한다든지 테이블 스페이스와 임시 테이블 스페이스와 임시 테이블 스페이스 그리고 테이블을 마스트 테이블과 트래닝 테이블로 분류 나누는 것도 하나의 방법입니다. 데이터베이스의 기본 용량이 모두 찼을 때 추가적으로요 데이터베이스의 저장 용량이 제한적이잖아요.
1:10:12
근데 해당 기본 용량이 다 찼어요. 그러면 추가적으로 공간이 저장할 수 있는 공간이 할당되는 게 뭔데 그게 익스텐트입니다. 익스텐트 익스텐트인데 이 익스텐트 발생이 자주 빈번하게 생기는 건 안 좋아요. 그래서 얘를 최소화 하는 게 성능의 향상에 도움이 됩니다. 그렇기 때문에 데이터베이스 용량 설계를 적절하게 잘 해야 된다. 이 측면이고요. 데이터베이스 용량을 정확하게 분석해서 테이블과 인덱스를 적합한 저장 옵션을 지정하는 것이 바람직하겠습니다. 자 데이터베이스의 용량 분석 절차입니다. 먼저 데이터에 예상되어지는 데이터 건수 데이터 예상 건수 그리고 로우의 길이 행의 길이 그리고 보존 기간 그리고 증가율과 같은 기초 자료를 수집해서요. 용량을 먼저 분석하고요.
1:11:10
그리고 두 번째 분석되어진 자료를 바탕으로 해서요. 데이터베이스 관리 시스템에서 이용할 테이블과 인덱스 등 오브젝트별로요 용량을 산정합니다. 그리고 세 번째 테이블과 인덱스의 테이블 스페이스 용량을 산정하고요. 마지막으로, 데이터베이스에 저장될 모든 데이터 용량과 데이터베이스의 설치 및 관리를 위한 시스템 용량을 합해서 최종적으로 디스크 용량을 산정하는 절차로 데이터베이스 용량 분석이 진행되어집니다. 관련되어진 퀴즈 문제 풀어보도록 하겠습니다. 다음 중 데이터베이스 용량 설계 설명으로 틀린 거 개념 문제예요. 정보처리 기사는 이렇게 난이도 있게 많이 깊숙하게 문제를 잘 안 냅니다. 개념 문제 정도로 내기 때문에 너무 깊게 안 들어가셔도 됩니다.
1:12:02
풀어보도록 할게요 데이터베이스 용량 설계의 첫 번째 데이터 용량 분석은 물리 데이터베이스 설계 과정에서 수행을 한다. 데이터 용량 분석은 물리 데이터베이스 설계 과정에서 수행한다. 리 디스크에 대한 입출력 경합을 최소화시켜서 데이터 접근성이 향상되도록 설계하는 게 바람직히 아까 살펴봤던 내용이고 데이터 용량을 정확하게 분석을 하면 디스크 공간을 효율적으로 사용할 수 있고 확장성이라든지. 가용성을 높일 수 있다. 했었죠. 데이터베이스에 생성하는 오브젝트의 익스텐트 발생 익스텐트라는 거 아까 제가 강조해서 설명을 드렸는데 해당 데이터베이스에 정해져 있는 용량이 꽉 찼을 때 추가적인 여유 공간을 주는 게 익스텐트였어요. 그 발생은 최소화시켜야 된다고 했죠. 여기서는 최대화되도록 설계해야 된다 라고 되어 있기 때문에 예가 틀렸습니다.
1:13:00
마지막으로, 데이터 지역화에 대해 살펴보도록 하겠습니다. 데이터 지역화에 대한 개념인데요. 데이터 로컬러티 데이터베이스에 저장되어지는 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이 데이터 지역화입니다. 자 물리적 데이터베이스 설계에서 데이터 지역화를 고려한 보조 저장 장치의 설계가 중요하고요. 이 데이터 지역화는 물리적 데이터베이스 설계 그리고 보조 기억 장치 역할 디스크 상황의 파일 배치를 지역화 관점에서 검토해 볼 필요가 있겠다. 먼저 물리적 데이터베이스 설계 논리적 설계의 데이터 구조를 실제 물리적으로 저장될 보조기억장치상에서의 파일로 맵핑하는 것을 이야기하는 거고요. 하나의 파일에 여러 릴레이션이 저장될 수 있습니다. 릴레이션은 표 형태라고 보시면 되겠고 예상 빈도를 포함하여 데이터베이스 질의와 트랜잭션을 분석하고요.
1:13:59
데이터에 대한 효율적 접근을 제공하기 위해서요. 저장구조와 접근방법 등을 고려합니다. 마지막으로, 질이 쿼리를 효율적으로 지원하기 위해서 인덱스 구조를 적절하게 사용하는 것도 좋겠다. 색인을 이용해가지고 해당 자주 빈도 있게 높게 되어지는 부분은 인덱스를 별도로 만들어 가지고 두 번째 보조기억장치의 역할인데요. 각 파일은 고정된 크기의 블록들로 나누어서 저장이 되어진다 여러 개의 블록들에 파일의 데이터가 분산되어 저장되고 디스크는 데이터베이스를 장기간 보관하는 주된 보조기억장치가 된다. 보조기억장치의 역할입니다. 마지막으로, 디스크 상에서 파일의 레코드 배치인데요.
1:14:50
릴레이션의 속성은 고정 길이 또는 가변 길이의 필드로 표현이 되어진다 고정 길이라는 거는 저장할 수 있는 크기를 픽스시킨 거죠. 일례로 데이터 타입 중에 문자열 중에 char 같은 경우에는 고정 크기 문자예요. char 13 대표적으로 언제 이거 하느냐 이렇게 지정하는 케이스는 핸드폰 번호가 13자리예요. 010 하이폰 하이폰 자리에서 따져보면 딱 고정적으로 13자리입니다. 그래서 고정 길이 가변 길이 같은 경우에는 해당 크기가 어 정해져 있지 않은 거예요. 딱 몇 자리라고 그래서 주소 같은 거 어떤 사람은 짧고 어떤 사람은 길단 말이에요. 그런 경우에는 가변적인 variable char이라고 해가지고요.
1:15:40
가변 문자열 최대 크기를 너무 여유 있게 예를 들어서 150글자 이렇게 주문형은 해당 50글자만 저장을 시키면 50글자 크기에 맞게끔 데이터베이스에는 저장이 되고 그렇게 가변 문자 가변 필드 길이의 필드로 표현된다. 연관된 필드들이 모여서 고정 길이 또는 가변 길이의 코드가 된다. 필드의 모임이 레코드라 그랬죠 괄호행 레코드는 두 개 이상의 필드가 모였을 때 레코드가 됩니다. 홍길동 출석부 예제 설명했었죠. 홍길동 하니까 두 명이 손을 들었어요. 그중에서 학번이 땡땡땡인 홍길동 두 개가 조합됐을 때 명확하게 한 사람이 딱 나오죠. 레코드는 정확한 정보 표현 단위입니다. 한 릴레이션을 구성하는 레코드들의 모임은 다시 파일이라고 부르는 블록들의 모임에 저장이 되었죠.
1:16:36
한 파일에 속하는 블록들의 위치는 반드시 인접할 필요는 없는데 인접한 블록들은 읽을 때 청구 시간과 회전 지연 시간이 들지 않으니까 입출 속도가 빠르기 때문에 블록들을 댈 수 있으면 인접하게 해당 조직하는 것도 좋다라는 내용입니다. 자 문제 풀면서 정리하도록 하겠습니다. 모의평가 다섯 문제 풀어볼게요 첫 번째 파티셔닝에 대한 장점으로 옳지 않은 것 틀린 거 골라라 이렇게 요구하고 있습니다. 파티셔닝은 첫 번째 데이터 관리를 수월해진다. 파티셔닝을 이용하면 맞죠. 저희가 범위분할을 한다든지 같은 연도끼리만 이렇게 묶어가지고 별도로 저장한다든지 파티션별로 백업 및 복구를 수행하기 때문에 속도가 빠르다 시스템 장애 시 데이터 손상 정도를 최소화시킬 수 있다.
1:17:34
파치셔닝을 하게 되면 분할해가지고 이렇게 하니까 장애가 생겼을 때 그 부분만 영향도를 미칠 수 있으니까 손상 정도를 최소화시킬 수 있겠죠. 테이블의 조인에 대한 비용이 증가합니다. 감소하는 게 아니라 그래서 틀린 것은 4번입니다. 2번입니다. 다음 중 컬러스터에 대한 설명 중 틀린 것은 컬러스트링을 하면 비슷한 데이터를 동일한 데이터 블록에 저장하기 때문에 디스크의 io 입출력을 줄일 수 있다. 맞습니다. 해당 테이블 블록 단위별로 저장을 그리고 두 번째 단일 테이블 클러스터링은 조인이 많이 발생하는 경우에 그리고 다중 테이블 클러스터링은 처리 범위가 넓은 경우에 주로 사용된다. 아까 설명드렸던 이 문구 제가 강조해서 말씀드렸거든요. 이게 혼동돼요. 얘가 틀렸어요.
1:18:34
해당 단일 테이블 컬러스팅은 조인이 많이 발생하는 경우가 아니라 해당 처리 범위가 넓은 경우에 주로 사용되고요. 조인이 많이 발생하는 경우는 다중 테이블 컬러스팅에 사용되어집니다. 그래서 앞뒤가 바뀌었어요. 2번이 틀렸습니다. 컬러스터는요 데이터 액세스 효율을 향상시킨다. 맞고요. 컬러스트링 된 테이블은요, 컬러스트 키 열을 공유하므로 저장공간을 줄인다 맞습니다. 3번입니다. 다음 중 데이터베이스 백업에 대한 설명으로 가장 옳지 않은 거 틀린 거 골라라 백업의 종류는 물리백업과 논리백업이 있다. 맞습니다. 논리백업은 dbms를 이용한 것으로 데이터베이스 내의 논리적 객체들을 백업을 한다. 맞아요. 데이터베이스를 이용한 것으로 dbma의 논리적 객체들을 백업한다.
1:19:29
논리백업은 완전 복구가 가능하다 자 완전 복구가 가능한 백업은 물리 백업이었고 물리백업 중에서도 로그파일을 다 가지고 있을 때만 완전 백업이 가능하다 였어요. 그래서 3번이 틀렸고요. 물리백업 운영체제를 이용한 것으로 데이터베이스 파일을 백업한다. 4번 다음 중 테이블 스페이스에 대한 설명으로 틀린 것은 테이블 스페이스는 테이블이 저장되는 물리적인 영역이에요. 이게 틀렸습니다. 테이블 스페이스는 테이블이 저장되는 논리적 영역이었어요. 논리적인 영역이었고요. 그래서 1번이 틀렸습니다.
1:20:16
테이블 스페이스는 하나 또는 여러 개 데이터 파일을 가진다 테이블 테이블 스페이스 그리고 데이터 파일로 나눠서 관리하면 논리적 구성이 물리적 구성에 종속되지 않아서 투명성이 보장된다. 하나의 테이블 스페이스에 하나 또는 그 이상의 테이블을 저장할 수 있다. 라는 설명은 올바른 설명들입니다. 다섯 번째 다음용 데이터 지역화 마지막 문제입니다. 데이터 지역화에 대한 설명 중 틀린 것은 데이터 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이 맞고요. 논리적 데이터베이스 설계에서 데이터 지역화를 고려한다. 자 지금 현재 저희가 학습하고 있는 파트는 데이터베이스의 물리 속성 설계 부분입니다. 논리적 데이터베이스 설계가 아니라요. 데이터 지역화는요 물리적 데이터베이스 설계 물리적 데이터베이스 설계에서 데이터 지역화를 고려합니다. 그래서 이번이 틀렸고요.
1:21:14
데이터 지역화를 위해서 하나의 파일에 여러 릴레이션을 저장할 수 있고 데이터 지역화의 보조 기억 장치 디스크 파일의 배치들을 등을 다루는 개념이다. 핵심 정리 학습했던 거 다시 되짚어보고 마치겠습니다. 파티셔닝은 개념이 데이터베이스에서 파티셔닝은 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티셔닝으로 나눈 것을 이야기하고 파티셔닝의 장단점이 있었죠. 다시 한번 살펴보시고 파티션의 종류는 세 가지가 있었어요. 범위 분할 해시 분할 그리고 이 복합 분할 범위 분할한 다음에 해시 분할하는 거 그게 조합 분할이었어요. 컬러스트링 데이터 저장할 때 데이터의 액세스 효율을 높이기 위해서 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이 컬러스트링 스트링이었고요. 클러스트 대상 테이블은 어떤 경우에 적합하냐?
1:22:12
컬러스트링 하는 게 분포도가 넓은 테이블 대량의 대량의 범위를 자주 조회하는 테이블 그런데 세 번째 거 혼동될 수 있는데, 입력수정 삭제가 자주가 아니라 자주 발생하지 않는 테이블 그리고 자주 조인되는 테이블 오더바이나 그룹바이나 유니온이 빈번한 테이블 시험해 내기 수월한 내용입니다. 세 번째 데이터베이스 백업입니다. 데이터 백업은 전산 장비 장애에 대해서 대비해서 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업이야 로그 파일이 중요했죠. 로그 파일 개념은 데이터베이스 처리 내용이나 이용 상황 등 상태 변화를 어떻게 시간의 흐름에 따라서 모두 기록한 파일이야 데이터베이스 복구 알고리즘 네 가지가 있었어요.
1:23:09
언두는 이전으로 돌린다는 말이고요. 리뷰는 다시 재실행하는 부분인데 경우의 수가요 언두를 안 하고 리뷰하는 거 언두하고 리뷰 안 하는 거 두 둘 다 안 하는 거 이렇게 네 가지 복구 알고리즘 구분할 수 이렇게 종류가 세분화되어졌고요. 백업의 종류는 물류 백업과 논리백업이 있었습니다. 마지막 데이터베이스 용량 설계 파트에서는요 개념으로서는 데이터 용량을 설계하는 이유가 테이블에 저장할 데이터 양과 인덱스 콜러스터 등이 차지하는 공간 등을 예측해서 해당 반영을 하고요. 용량을 정확하게 산정을 해야지 디스크의 저장 공간을 효과적으로 사용하고 확장성 및 가용성을 높일 수 있었습니다.
1:23:50
그리고 데이터 어 테이블 스페이스 테이블 스페이스를 설계할 때 고려사항 네 데이터 스페이스는 업무별로 구분해서 지정 그리고 대용량의 테이블은 하나의 테이블 스페이스로 독립적으로 저장 그리고 테이블과 인덱스는 같지 말고 분리해서 저장 그리고 큰 라지 오브젝트 타입의 데이터는 독립적 공간으로 지정한다. 마지막 데이터 지역화 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법이었고요. 물리적 데이터베이스 설계와 보조기억장치 역할 그리고 디스크의 파일 배치 등을 지역화 관점에서 검토할 필요가 있겠다. 자 이상으로 데이터베이스 물리 속성 설계에 대해 살펴봤습니다. 물리데이터베이스 설계의 마지막 파트로 물리 데이터 모델 품질 검토에 대해 살펴보도록 하겠습니다.
1:24:44
학습목표는요 물리데이터 모델에 대하여 정확성 완전성 준거성 최신성 일관성 활용성이라고 하는 6가지의 품질 기준을 적용할 수 있다. 두 번째 논리 데이터 모델과 물리 데이터 모델을 비교하여 테이블 칼럼 키 오브젝트 구성 요소의 누락 여부와 일치성을 확인할 수 있다. 세 번째 논리 데이터베이스의 설계에서 엔터티 속성 주식별자 외래 식별자를 각각 어떤 걸로 테이블과 칼럼 기본키 외래키로 변환하여 표현할 수 있다. 마지막으로, crud 분석과 sql 성능 튜닝의 개념과 절차를 이해할 수 있다. 입니다. 학습내용은 네 파트로 나눠서 살펴보도록 하겠는데요.
1:25:35
물리 데이터 모델 품질 기준과 그리고 물리 이아 다이어그램 엔터티 릴레이션시 다이어그램과 그리고 crud 분석 그리고 sql 성능 튜닝이 되겠습니다. 용어 사전으로서요 crud 매트릭스 분석이란 데이터 프로세스를 데이터의 프로세스 처리 절차적인 부분에 대한 동작이요. 이것을 행으로 테이블 형태로 이렇게 어 매트릭스 작성을 합니다. 네 그래서 행 부분에 행 부분에 프로세스를 배치를 하고 그 다음에 열 부분에는 엔터티 목록을 배치를 해서 해당 프로세스와 엔터티 간의 어떠한 관계 4가지 관계 crud를 표기를 합니다. 뭐 c 뭐 r 이렇게 네 뒤에 저희 세부적으로 살펴보도록 할 거고요.
1:26:32
개념으로만 용어 정리 crud 매트릭스 분석은 데이터 프로세스를 형으로 하고 엔터티 목록을 열로 하여 crod 매트릭스를 작성한 후에 crod 매트릭스에서 사용되지 않는 프로세스와 엔터티가 있는지 없는지 여부를 확인하는 분석 기법입니다. 자 내용으로 들어가서요 네 첫 번째 물리 데이터 모델 품질 기준에 대해 살펴보도록 하겠는데요. 개념입니다. 물리 데이터 모델 품질 검토 내용으로 보면 물리데이터 모델의 품질검토는 물리데이터 모델을 설계하고 데이터베이스 객체를 생성한 후에 개발 단계로 넘어가기 전에 모델러와 이해관계자들이 모여서 수행하는 작업이다. 검토작업입니다. 물리데이터모델은 시스템 성능에 직접적 영향을 미칩니다. 그렇기 때문에 이후 향후에 발생할 문제에 대해서 면밀하게 검토할 필요가 있고요.
1:27:28
물리 데이터 모델의 품질 검토의 궁극적인 목적은 무엇인가 데이터베이스의 성능 향상 처리 속도를 개선한다든지 그리고 오류를 미연에 방지한다. 예방이 되겠습니다. 마지막으로, 물리 데이터 모델을 검토하려면 모든 이해관계자가 동의하는 검토 기준이 필요하다 이렇게 정리할 수 있겠고요. 다음 품질 기준으로서요 물리 데이터 모델의 품질 기준은 논리 데이터 모델의 품질 기준 6개와 같습니다. 네 자 그래서 어떻게 읽히느냐 하면 해당 기준의 이름과 그 기능적인 부분의 개념을요 매치할 수 있게끔 네 문제가 기능에 대한 설명을 이렇게 품질의 기준에 대한 설명이 제시되어 있고 이 중에서 알맞은 거 골라 이렇게 나올 수 있어요. 문제로 첫 번째 정확성이다는 뜻을 이해를 하시고 상식선에서 풀 수 있습니다.
1:28:27
정확성이라는 거는 데이터 모델의 표기법에 따라서 정확하게 표현되었고 또 업무 영역 또는 요구사항이 정확하게 반영되었다는 것을 의미한다. 사용표기법이라든지. 이러한 것들이 모델에 데이터 모델이 정확하게 표현됐는가 다음 완전성입니다. 두 번째 완전성은 데이터 모델의 구성 요소를 정의하는 데 있어서 누락 없이 누락을 최소화하고 요구사항 및 업무 영역 반영에 있어서도 누락이 없음을 의미합니다. 충실도 및 완성도가 높다 이렇게 보면 될 것 같고요. 다음 세 번째는 준거성입니다.
1:29:08
준거성은 뭔가를 지켜야 되는 규칙이나 어떤 법칙 같은 것들을 맞춰 가지고 위반하지 않고 제반 준수 사항 준수해야 되는 요건들이 누락 없이 정확하게 준수되었는지를 의미하는 기준이 되겠고 데이터의 표준이나 표준화 규칙 등을 준수하였는지 또는 법적 요건을 준수하였는지를 따진다 세 번째 최신성 말 그대로 가장 최신의 현황을 반영하느냐 데이터 모델의 세 번째 최신성입니다. 데이터 모델이 현행 시스템에 최신 상태를 반영하고 있고 이슈 사항들이 지체 없이 반영되고 있음을 의미하고요. 업무상의 변경이나 결정사항 등이 시의적절하게 반영되고 있는가 또는 이슈 사항이 반영되고 있는가 현행 시스템과 일치하는가? 라는 부분을 따진다 다음 네 이게 네 번째였고요. 다섯 번째 일관성입니다.
1:30:05
일관성이라는 부분 자체는 여러 영역에서 공통으로 사용되고 있는 데이터 요소들이 전체적인 측면에서 전사 수준에서 한 번만 정의되고 이를 여러 영역에 참조 활용되도록 해서 모델 표현상에 일관되게끔 일관성을 유지하고 있는지를 의미한다. 이렇게 정리하면 되겠구요. 마지막으로, 활용성이 있습니다. 활용성은 작성된 모델과 그 설명 내용이 이해관계자들에게 의미를 충분하게 전달할 수 있으며 업무가 바뀌었을 때에도 설계 변경이 최소화되도록 유연하게 설계되어 있음을 의미합니다. 세부적인 어떤 사례적인 부분 자체를 깊게 들어가서 문제를 문제화해서 내지는 않을 것 같고, 개념적인 측면에서 한 설명 문구 정도의 보기가 나오고 알맞은 해당 품질 기준 골라라 이 정도 매치에서 네 분간할 수 있으면 되겠습니다. 다음 검토의 순서입니다.
1:31:01
물리데이터 모델의 품질검토 순서는 6단계의 순차적으로 어떤 절차가 로 진행되어지느냐 첫 번째 데이터의 품질에 대한 정책 및 기준을 먼저 확인을 해야 되겠다. 기준 정립 그리고 두 번째 물리 데이터 품질의 특성에 따라서 품질의 기준을 작성을 하라 물리 데이터 품질의 특성에 따른 품질 기준 작성 앞서서는 확인이었고요. 네 체킹하고 그다음에 실제 기준 작성 세 번째 작성되어진 데이터 품질 기준에 따라서 체크할 항목들을 체크리스트를 작성을 하라 네 번째 논리 데이터 모델과 물리 데이터 모델을 비교하라 자 모델링의 순서는 개념 모델링 다음에 논리 데이터 모델링 그리고 지금 살펴보고 있는 물리 데이터 모델링입니다. 그 결과가 모델들이죠.
1:31:51
논리 데이터 모델링의 결과가 논리 데이터 모델링의 결과가 물리 데이터 모델이죠. 결과를 비교합니다. 먼저 만들어진 논리 데이터 모델과 물리 데이터 모델을 비교 다음 각 모델링 단계의 모델러와 이해관계자들이 품질 검토를 수행하도록 하고요. 마지막 단계로서 모델러와 이해관계자가 작성한 체크리스트 내용을 종합하여 물리 데이터베이스 모델의 품질 검토 보고서를 작성하는 것 순서로 품질 검토는 진행이 되고 있습니다. 자 살펴봤던 물리 데이터 모델 품질 기준과 관련해서요. 네 출제 문제 유형 문제로 정리하겠습니다.
1:32:34
다음 중 물리 데이터 모델의 품질 검토에 대한 설명으로 맞지 않는 것 틀린 것을 골라라 첫 번째 데이터 모델 기준 및 정책이 수립된 경우에는 물리 데이터 모델의 품질 기준을 변경하거나 수정해서는 안 된다 라고 되어 있는데요. 해당 이 기준 및 정책은 상황에 따라서는요 가변적으로 변경 및 수정할 수는 있습니다. 데이터 모델의 품질 기준은 그래서 1번 보기가 틀렸고요. 물리 데이터 모델의 품질 기준에는 6가지가 있었죠. 네 정확성 완전성 중거성 최신 일관 활용성이 있다. 맞구요. 물리 데이터 모델을 검토하려면 모든 이해관계자가 동의하는 검토 기준이 먼저 정립이 돼야 된다. 맞구요.
1:33:21
물리 데이터 모델의 품질 검토의 목적은 데이터베이스의 성능 향상이라고 그랬죠 네 그리고 오류 예방 이렇게 두 가지 목적으로 물리 데이터 품질 검토가 진행이 되어집니다. 두 번째 살펴볼 내용입니다. 물리 이알 다이어그램입니다. 엔터티 릴레이션십 개체 관계 다이어그램 이 부분에서 저희가 살펴볼 부분은 뭐냐 하면 논리 데이터 모델을 물리 데이터 모델로 변환하는 논리 데이터 모델에서 여기 정리해 놓은 표를 살펴보시면 논리 데이터 모델의 결과로 만들어진 대상 엔터티 속성 주식별자 외래 식별자 관계가 물리 데이터베이스 설계에서는 어떻게 변환이 되어지느냐 시험 문제 나온 문제화 내기가 딱 좋아요.
1:34:13
다음 중 논리 데이터 모델에 물리 데이터 모델 변환 결과로 매치가 맞지 않는 걸 골라 이런 식으로요 또는 논리 데이터 모델의 엔터티는 물리 데이터 모델이 어떤 걸로 변환되느냐 보기 항목 1 2 3 4 이렇게 문제 내릴 수도 있겠고 정리하겠습니다. 논리 데이터 논리적 설계의 결과물인 엔터티는요 물리적 설계에서는 테이블로 변환되어지고요. 속성은요, 자 모양 자체는 저희가 표죠 표인데 해당 음 지칭을 할 때 논리 데이터 모델에서는 해당 표를 엔터티라고 지칭했고 그리고 그리고 표기할 때 물리 데이터 설계에서는 표로 나타내는데 해당 개체 관계도에서는 이렇게 사각형 박스로 나타냈었죠. 네 사각형 박스로 나타냈고 해당 개체명 그리고 속성들을 이렇게 기재를 했었죠. 각각의 속성들이 물리 데이터 모델에서는 칼럼으로 자리를 잡습니다.
1:35:09
속성들이 칼럼으로 네 예를 들어서 뭐 학생 관련되어진 네 정보를 담고 있는 테이블이야 그렇게 되면은 해당 학생에 대한 뭐 스튜던트 테이블 이름이 스튜던트가 되겠고 학생을 구분할 수 있는 네 해당 뭐 학번 성명 네, 뭐 학과 뭐 이러한 것들이 필드가 되겠죠. 네 열이 되겠죠. 열은 컬럼이라고 이야기를 합니다. 그런데 실제적으로 물리적 설계를 할 때는 해당 이 명칭들 같은 경우에 한글로 표시하지 않고 영어로 바꿔서 표기를 합니다. 주식별자는요 기본키가 되고요. 주식별자의 역할은 누군가를 구분할 때 네 주식별자 학생정보 같은 경우는 학번이 되겠죠.
1:36:02
고유한디 컬럼으로서 그리고 외래식별자 다른 연결되어진 테이블과 서로 참조 관계에 있을 때 외래키가 되겠고 관계는 관계로 변환되어집니다. 넘어가겠습니다. 세부적으로요 논리 데이터 모델을 물리 데이터 모델로 변환하는 순서입니다. 먼저 단위 엔트티를 테이블로 변환을 한다. 순서대로 하겠습니다. 첫 번째 엔터티를 테이블로 변환시킨다. 논리 모델에서 정의되어진 엔터티는 물리 모델에선 테이블로 변환되어진다 엔터티는 논리 모델에서는 한글명으로 표기를 했었지만 테이블에는 영문명으로 명칭을 동일하게 사용하는 것이 좋겠다.
1:36:45
그리고 데이터 시스템과 같은 사전에 표준화 용어가 있으면 그 등록되어진 단어를 사용해서 이름을 부여를 하는 게 바람직하고 테이블 구성 요소는 네 열은 컬럼 그리고 가로 이 행 단위는 로우 그리고 해당 누군지를 구분하기 위한 지정되어진 네 키가 프라이머리 키 기본키 그리고 다른 테이블과 연결되어질 때 참조되어지는 키가 외래키 이렇게 구분하면 되겠습니다. 자 엔터티를 테이블로 변환하는 부분 자체는 다시 경우의 수를 3가지로 나눠 가지고 살펴보도록 할 거예요. 자 슈퍼타입 기준으로 테이블 변환이라고 하는 부분 자체는요 밑에 있는 이 개념들을 살펴보게 되면 이렇게 해당 상위 엔터티가 접수가 있고요. 접수의 방법은 다시 방문 접수도 있고 인터넷 접수도 있어요.
1:37:39
해당 접수에 공통적인 요구사항적인 부분 자체는 뭐 프라이머리 키는 주식 글자는 접수 번호이고요. 그리고 가지고 있는 속성으로서는 신청자 이름이나 접수일 수수료 임대인 방문 접수에서는 추가적으로 요구되어지는 속성으로 지점 코드와 담당 부서가 있는가 하면 인터넷 접수에서는 요구되어지는 접수의 속성으로서 아이디와 수수료 납부 인터넷 할 때는 추가적인 온라인 접수 수수료를 납부하게끔 한다 그러면 수수료 납부 방법이라는 게 추가될 수 있겠죠. 여기에서 슈퍼타입이라고 하는 부분 자체는 상위 개체를 이야기합니다. 그리고 서브 타입 서브 타입이라고 하는 분은 하위 개체를 이야기합니다.
1:38:22
어떤 걸 기준으로 상위인 슈퍼 타입을 기준으로 테이블을 변환한다라는 부분 자체는요 하위에 있는 서브 타입을 다 상위에 있는 슈퍼 타입에 모아서 하나의 결과치는요 몇 개의 테이블이 만들어진다 한 개의 테이블이 만들어집니다. 서브타입을 쇼프타입을 통합하여 하나의 테이블로 만드는 것이다. 서버 타입의 속성이나 어떤 경우에 사용을 하느냐 두 번째 구분을 좀 할 수 있어야 되는데 서버 타입의 속성이나 관계가 많은 경우가 아니라 적은 경우 적을 경우에 적용하는 것이 적합하고 하나로 통합되어진 테이블에는 서버 타입의 모든 속성을 포함을 합니다. 그래서 밑에 개념도 나와 있는 것처럼 접수와 방문 접수 인터넷 접수를 하나로 합쳐가지고 접수라고 하는 슈퍼타입 기준에 해당 개체를 만들었죠.
1:39:18
그래서 보면 프라이머리 키가 접수 번호가 되고 그다음에 기존에 공통적으로 있었던 해당 3개의 속성 그대로 넘어왔구요. 그 다음에 방문 접수만 가지고 있던 두 개의 속성 그리고 인터넷 접수만 가지고 있던 두 개의 속성이 합쳐져가지고, 전체 접수라는 쇼프타입 기준의 테이블을 다 모아서 하나로 만들어집니다. 자 이 슈퍼타입으로 변환할 때의 장단점인데요. 장점은 데이터 액세스가 상대적으로 용이하다 하나의 테이블로 만들어 버렸기 때문에 떨어져 있는 분리되어 있던 해당 테이블을 하나로 조인시켜가지고, 처리해야 되는 경우에 밑에 보면은 복잡했던 sql 조인 sqa를 적용하면 복잡하잖아요. 그걸 단순화시킬 수 있고요. 하나의 테이블로 만들었으니까 그래서 액세스가 상대적으로 용이하고 뷰를 이용하여 각각의 서브타임만을 액세스하거나 수정이 가능하고 수행 속도가 빨라요.
1:40:17
조인 과정을 안 거쳐도 되니까. 서버 타입 구분이 없이 임의 공간에 대한 가공이 용이하고 다수의 서버 타입을 통합하는 동안 조이는 줄일 수 있다. 복잡한 처리를 하나의 sql로 통합이 용이하다 장점이고요. 단점은 특정한 서버 타입에 대해 적용을 했던 낫놀이라고 하는 이러한 재현이나 이러한 것들이 어렵게 된다. 하나로 합쳐져 버렸으니까 그리고 테이블의 칼럼의 증가로 디스크의 저장 공간이 테이블 단위의 통합되어진 테이블이 훨씬 더 많은 컬럼들로 구성되어지니까. 디스크 저장 공간이 증가할 수 있다. 단위 테이블을 이야기하는 겁니다. 하나의 테이블이 규모가 더 커졌다 크기가 처리마다 서브 타입에 대한 구분이 필요한 경우가 많이 발생할 수도 있다. 인덱스 크기 증가로 인해서 인덱스의 효율이 낮아질 수 있다라는 부분이 단점입니다. 쇼퍼타입의 반대 개념은 서브 타입입니다. 서브 타입을 기준으로 테이블로 변환한다.
1:41:15
서브 타입 기준으로 테이블을 변환하게 되면 동일한 예제인데요. 결과는 몇 개의 테이블이 만들어지느냐 서브 타입의 수만큼 만들어집니다. 그래서 일례로 접수에 서브 타입은 방문 접수와 인터넷 접수가 있어요. 쇼프 타입에서는 결과치가 하나의 테이블로 만들어졌지만 서브 타입 기준으로 테이블 변환하는 것은 서브 타입 개수만큼 테이블이 만들어진다 내용 보도록 하겠습니다. 쇼프 타입 속성들을 각각의 서브 타입에 추가해서요. 서브 타입을 개별적으로 테이블을 만드는 거야. 자 쇼프 타입에 있는 공통적인 해당 이 속성들이 해당 하위 서브 타입에 이쪽으로 모아가지고요. 하나의 테이블이 이렇게 만들어지는 거예요.
1:42:07
그래서 방문 접수라고 하는 서브 타입 테이블은 가지는 속성이 쇼프 타입이 가지고 있는 해당 세 개의 속성에 기존의 하위 서브 타입이 가지고 있던 거 합쳐가지고 5개의 속성으로 총 6개의 속성으로 방문 접수라고 하는 테이블을 만들 수 있다. 이렇게 이해하시면 될 것 같습니다. 어떤 경우에 사용을 하느냐 서브 타입이 속성이나 관계가 많을 경우에 이 예제는 지금 앞에 있는 예제하고 같기 때문에 이 케이스 같은 경우에는 서버 타입의 속성의 수가 많지 않죠 많지 않은 경우라서 이 예제에 적합한 건 슈퍼타입 기준 테입을 통합하는 게 맞는 것 같구요. 개념으로만 이해를 하시라고 똑같은 예제를 사용을 했는데 서버 타입 기준에 적합한 거는 서버 타입의 속성이나 관계가 많을 경우에 적합한 서브 타입 변환의 장단점은 쇼프 타입과 상호 반대 개념이라고 보시면 될 것 같습니다. 몇 가지만 볼까요?
1:43:02
장점 서브 타입 속성들의 선택 사항이 명확한 경우에 유리하고 그다음에 단위 테이블의 크기를 줄일 수가 있다. 네 단점은요, 서브 타입 구분으로 데이터를 처리한 경우에 유니온이 발생할 수 있다. 테이블이 분리됐잖아요. 테이블이 두 개 만들어졌으니까 뭐 예를 들어서 인제 해당 합쳐가지고 사용하는 경우에는 유니온이 발생할 수 있고 처리 속도가 빠른 게 아니라 처리 속도가 감소한다. 늦어질 수 있다. 라는 게 단점이에요. 이 정도로 한번 보도록 하겠습니다. 다음 세 번째 방법은 엔터티를 테이블로 변환하는 세 번째 방법입니다. 개별 타입 기준으로 테이블을 변환한다. 이렇게 돼 있어요. 네 개별 타입 기준이라는 건 슈퍼타입 서브 타입 서브 타입 각각을 그대로 테이블로 만드는 것을 이야기합니다.
1:43:58
슈퍼타입과 서브 타입을 각각 개별적 테이블로 생성 그래서 만들어지는 결과의 테이블 수는 이 개별 타입 기준 테이블 변환이 제일 많겠죠. 테이블 수는 슈퍼타입과 서브 타입 각각의 테이블 사이에 1대1 관계가 형성된다. 개별 타입 기준 테이블 변화는 언제 사용을 하느냐 경우 있어 보겠습니다. 네 그리고 보기 항목 4개 딱 골라가지고 문제가 내기 수월합니다. 전체 데이터에 대한 처리가 전체 데이터에 대한 처리가 자주 발생하는 경우 그리고 서버 타입 처리가 대부분 독립적으로 발생합니다. 이렇게 조인이나 이렇게 해서 합쳐서 이렇게 처리되지 않고 개별적으로 독립적으로 발생 통합하는 테이블의 컬럼 수가 지나치게 많은 경우입니다.
1:44:48
통합하는 테이블에 컬럼 수가 많은 경우 서브 타입 컬럼 수도 많은 경우 트랜잭션이 주로 슈프 타입에 발생하는 경우 마지막으로, 슈퍼 타입에서 범위가 넓은 처리가 빈번하게 발생해서 단일 테이블 컬러스팅이 필요한 경우 이렇게 6가지 경우에 해당되면 개별 타입 기준 테이블 변환이 용이하겠다. 첫 번째 모델 데이터 논리 데이터 모델 물리 데이터 모델 변환의 첫 번째 엔터티를 테이블로 변환을 다시 세부적으로 세 파트로 구분해 가지고 다시 살펴본 거예요. 다음 두 번째로, 속성을 컬럼으로 변환하는 단계 칼라맨 명칭은 속성의 명칭과 반드시 일치할 필요는 없지만, 개발자와 사용자 간의 의사소통을 위해서 가능한 한 표준화되어진 약어를 사용하는 게 좋겠고 두 번째 주의사항입니다. sql의 예약어를 사용하는 것은 안 좋다.
1:45:47
피하라 그리고 에스큐엘 문장의 가독성을 높이기 위해서 칼럼의 명칭은 어떻게 길게 만들지 말고 가능한 한 짧게 만들어라 짧게 그리고 컬럼명의 복합 단어를 사용하는 경우에는 미리 정의되어진 표준에 의해서 명명하는 것이 이름을 붙이는 것이 좋겠다. 세 번째 단계로 uid 유니크 유니크 네 유일한 아이덴티파이어 식별자요 uid는요 네 기본키 프라이머리키로 변환을 합니다. 엔터트의 uid는 기본키로 선언한다. 낫노울이나 유니큐 등의 제약 조건을 추가적으로 정의할 수가 있다. 프라이머리 키는 norole 허용하면 안 돼요. 네 낫놀이죠. 그리고 중복 값을 가지면 안 되죠. 네 번째 관계를 릴레이션을 외래키로 변환한다.
1:46:45
외래키로 변환 이때 n 관계에서 1 영역에 있는 기본키를 n 영역에서 외래키로 선언을 한다. a라는 테이블이 있고 b라는 테이블 또는 c라는 테이블이 있는데, a라는 테이블과 b 테이블이 서로 참조 관계에 있다. 또는 a와 c가 서로 참조 관계에 있다. a의 기본키인 기본키 아까 제가 학생이라고 말씀드렸어요. 스튜런트 해당 테이블 해당 학생 테이블에 학생들이 수강 신청한 수강 신청 테이블이 있겠고 또는 학생들의 성적 테이블이 있겠다. 그렇게 할 때 해당 이 학생을 구별하는 걸 학번 필드가 학번 컬럼이 기본기가 되겠죠. 그러면 학번과 수강 테이블 학번과 성적 테이블 이런 식으로 네 이 외에 b와 c에서는 연결되어지는 키가 왜 이렇게 가 되는 겁니다. 외래키명은 1 영역의 기본키 이름을 사용하나 다른 이름을 가질 경우에 변경하여 명명할 수도 있다. 순환관계에서 자신의 기본키는 외래키로 정의할 수도 있다.
1:47:44
다음 다섯 번째 관리 목적이 테이블과 칼럼을 추가한다. 여기서부터는 반정교화예요. 반정교화 네 물리 데이터 모델로 저희가 지금 현재 살펴보고 있기 때문에 논리 데이터 모델에서는 정교하죠. 네 중복되어진 걸 최소한 쪼개 네 쪼개 가지고 테이블을 만들어 이거였다면 해당 성능이 쪼인이나 이러한 경우의 수가 많이 발생하는 경우에는 오히려 합쳐 네 자 관리 목적의 테이블 및 칼럼 추가입니다. 논리 모델링에서는 필요 논리 모델링에서는 필요가 없으나 관리 또는 데이터베이스를 이용하는 프로그램의 수행 속도를 향상시키기 위해서 추가되는 테이블이나 칼럼을 이야기하고 관리상 필요한 데이터를 등록하는 일자나 날짜나 또는 시스템 번호 등이 해당되어질 수 있다. 다음 여섯 번째 컬럼의 유형과 길이를 정의하는 단계입니다.
1:48:42
네 해당 이 컬럼에는 어떠한 데이터를 넣을 수가 있느냐 문자열을 넣을 수 있느냐 숫자를 넣느냐 라고 하는 데이터 타입을 설정을 합니다. 그리고 어느 정도 길이로 넣을 수 있느냐 라고 하는 길이도 정의를 하고요. 정의되어진 각 칼럼에 대해서 적용 데이터베이스 관리 시스템에서 제공하는 데이터 이용 중에 적절한 유형을 정의합니다. 그리고 최대 길이를 정해가지고요. 최대 길이를 오버하는 경우에는 입력이 안 되게끔 막을 수 있겠구요. 자주 사용하는 데이터 유형으로서 오라클의 예제에서는 고정 문자열은 char로 데이터 타입을 지정한다. 대표적인 게 핸드폰 번호 13자리죠 뭐 1 2 3 4 네 하이펀 5 6 7 8 하이펀 뭐 이렇게 돼 있다.
1:49:25
그죠 하나 둘 셋 넷 열세 자리가 아니라 네, 뭐 111이다 라고 할 때 해당 하이펀까지 포함을 한다면, 하나 둘 셋 넷 아 010 이렇게 010 세 자리죠 네 010 그냥 자리수만 따지게 되면 넷 다섯 여섯 일곱 여덟 아홉 열 열하나 열둘 열세 자리 맞죠. 이렇게 핸드폰 번호를 입력 받는다. 그러면 char ar 하고 난 다음에 13자리 이렇게 지정할 수 있겠죠. vharcn var char 가변이라고 이야기합니다. 고정 길이가 아닌 거죠. 주소 개인마다 주소 길이가 달라질 수 있죠. 대신 제일 큰 길이 자체는 정해줍니다.
1:50:16
그 큰 길이를 정해주지만 그것보다 예를 들어서 백 글자까지 입력할 수 있어 라고 했는데 어 나는 50 글자만 입력을 하는 사람이야 그러면 해당 그 주소가 저장될 때는 50 글자라는 공간으로만 할당받아 가지고 저장이 되어져요 그게 가변입니다. 가변 길이 문자야 그리고 넘버 네 숫자만 입력 받는다. 데이트 날짜 값만 입력 받는다. 라고 하는 데이터 타입들이 있구요. 일곱 번째 데이터의 표준을 적용한다. 명명 규칙 및 용어 사전을 활용하여 각 객체의 데이터 표준 수행 표준화 적용 대상은 데이터베이스 스토리지 그룹 테이블 스페이스 테이블 컬럼 인덱스 뷰 등이 대상입니다. 다음 세 번째 살펴볼 내용은 키 종류입니다. 키 종류는 한 문제 정도는 꼭 나오는 문제의 유형이에요. 파트예요.
1:51:09
그래서 해당 키의 말 그대로 키 종류 키 종류 한 다섯 가지 정도 저희가 살펴볼 건데 그 다섯 가지를 구분할 수 있게끔 익혀놓도록 하겠습니다. 키라고 하는 부분 자체는 열쇠잖아요. 뭐 열쇠 뭔가를 열 수 있는 네 자 키는 데이터베이스에서는 어떤 용도로 쓰이느냐 키는 데이터베이스에서 조건에 만족하는 큐프를 찾는다 또는 순서대로 정렬할 때 튜플들을 서로 구분할 수 있도록 하는 기준이 되는 에트리뷰터야 이렇게 되어 있습니다. 튜플이라는 용어와 에트리뷰터라는 용어가 있는데요. 해당 릴레이션에서요 관계 데이터베이스 모델 테이블을 릴레이션으로 이야기를 하죠.
1:51:55
릴레이션 관계 세로열과 가로행이 만나서 표가 만들어지죠 해당 파일 구조에서는 표입니다. 표인데 튜플이라고 하는 부분은 가로행입니다. 가로행 자 음 출석부를 예로 해볼게요 출석부를 예로 보면 예를 들어 학번이라고 있고요. 그 다음에 성명이라고 있고요. 그 다음에 소속 뭐 이렇게 있다고 칠게요 여기에서 학번 하나의 열은 얘는 컬럼입니다. 컬럼이고 속성입니다. 컬럼 속성 속성을 영어로 액티비티죠 에트리비터 이 속성이 두 개 이상 모였을 때 가로 행 행이 튜플입니다. 튜플 네 8 구조에서는 레코드라고 이야기를 하죠.
1:52:54
레코드 행 자 다시 풀어서 보도록 하겠습니다. 키는 데이터베이스에서 조건을 만족하는 튜플을 찾거나 여기서 이제 학번이 뭐 2013 성명이 홍길동 소송은 컴퓨터학과 이렇게 돼 있다고 친 다음 영어인데 해당 u 홍길동 학생의 입력 데이터가 하나의 튜플이 되는 거죠. 그 경우에 홍길동 학생을 찾을 수 있는 해당 구분할 수 있는 키는 학번도 있고 성명도 있어요. 성명도 있는데, 이 중에서 고유한 유일한 구분 수단이 되어지는 부분은 학번이죠. 학번의 중복값이 없습니다. 이름은 중복값이 가질 수 있죠. 홍길동 하니까 두 명 나올 수 있잖아요.
1:53:41
근데 학번이 2013인 홍길동 하면 한 명 딱 줄죠 이렇게 키는 데이터베이스 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플 여럿을 구분할 수 있는 기준이 되는 에트리비터에 설정할 수 있는데, 키의 종류에는요 슈퍼키 후보키 기본키 대측키 등이 있다. 이렇게 돼 있습니다. 그리고 뒤에 상세하게 키 종류별 특징 살펴보도록 하겠고 공통적으로 키가 가지는 특징 두 가지 키는 유일성을 가져야되 하나의 키 값으로 하나의 튜플만을 유일하게 구분할 수 있어야 돼 두 번째 최소성이라고 하는 특징도 있는데, 최소성은 제일 작다는 말이잖아요. 릴레이션의 모든 튜플을 유일하게 식별하기 위해 꼭 필요한 속성만으로 구성되어지는 것을 최소성을 가진다 라고 할 수 있습니다.
1:54:37
우선 용어 유일성 최소속 다음 키의 종류 키 종류의 개념들을 살펴보게 되면 방금 언급했던 네 가지 키에 해당 범위 영역 단위별의 크기에 따라서요 살펴보면 제일 포괄적으로 넓은 게 슈퍼키예요. 다 전체를 감싸고 있죠. 슈퍼키 안에 후보키 크기로 보세요. 크기로 보면 슈퍼키가 제일 커요 그 다음에 후보키가 커요 후보키 안에 기본키와 대치키가 있는데, 기본키보다 대치키가 더 크고요. 면적이요. 여기 개념도 상해서 면적을 보면 그 다음에 기본키가 제일 작아요. 자 서로 간의 관계상은 후보키가 제일 크고 슈퍼키가 제일 크고 그다음 후보키 대체키 기본키 순입니다.
1:55:27
후보키는 기본키와 대측키로 구성되어진다 그죠 네 후보키는 기본키와 대측키로 구성되고 기본키는 후보키에서 대책키를 빼버리면 기본키만 남는다 이러한 관계성을 볼 수 있습니다. 키의 종류별 상세 특성 살펴보도록 하겠습니다. 슈퍼키 슈퍼키는 한 릴레이션 내에서 속 릴레이션 속성들의 집합으로 구성되어진 키다 릴레이션을 구성하는 모든 튜플에 대해서 유일성은 만족시키지만 최소성은 만족시키지 못한다. 이게 반드시 체킹해야 될 사항입니다. 이 문구를 제시해 놓고 묻는 문제 자주 나올 수 있어요. 키의 종류 중에 릴레이션을 구성하는 모든 튜플들의 유일성은 만족하지만 최소성은 만족시키지 못하는 키는 뭐야? 이렇게 일례로 학번하고 주민번호가 플러스 돼 있죠. 자 학생들을 구분할 때 학번이 고유키입니다.
1:56:26
학번만으로도 누구다 라는 게 명확하게 구분되어져요 주민번호라고 하는 부분 자체도 해당 누군지를 구분하는 고유 식별 키입니다. 근데 두 개의 키를 조합해가지고요. 사용하는 게 슈퍼키예요. 그러니까 두 개 이상의 키를 조합해서 사용하는 키가 슈퍼키다 이렇게 기억하시면 돼요. 후보키는 릴레이션으로 구성하는 속성들 중에서 슈퍼를 유일하게 구분할 수 있는 하나 또는요 몇 개의 속성일 수도 있어요.
1:57:05
후보키는 하나의 표에 하나의 릴레이션에서 누구다 라는 것을 구분할 수 있는 해당 속성으로서 학교라고 친다면 학번 그 다음에 학교를 벗어나게 되면 그 학번 가지고 고유 누구다라는 걸 구분하기도 힘들죠 해당 동사무소에 가가지고 저 학번이 누구누구인 홍길동인데요. 라고 한다고 했을 때 동사무소 직원이 알 수는 없잖아요. 없죠 오히려 주민번호가 어떻게 되세요. 라고 물을 수 있겠습니다. 국내에서는 해당 신원을 확인할 때 주민번호로 관리가 되어지니까. 학번 주민번호 각각이 있을 수 있는데, 학번도 해당 그 누구를 구분하는 후보키가 되고요. 주민번호도 후보키가 돼요.
1:58:00
근데 슈퍼키라고 하는 부분은 이 두 개를 결합시켜 가지고 사용하는 방식이고 후보키라고 하는 걸 각각 쪼개가지고 라고 보시면 돼요. 그래서 릴레이션을 구성하는 속성들 중에 튜플을 유일하게 식별할 수 있는 하나 또는 몇 개의 속성이 집합이다. 릴레이션의 모든 튜플에 대해서 이 후보키는 유일성과 최소성을 모두 만족한다. 최소성을 만족하기 위해서는 두 개의 키 이상이 결합되면 안 돼요. 각각 따로따로 기본키는요 네 후보키 중에서 선정되어진 키로 유효성과 최소성을 만족하는 키인데 기본키로 설정이 되게 되면 nol이라고 하는 nol 값을 가지면 안 된다. 저희가 테이블 생성할 때요 각 해당 그 필드 단위별로 넣을 허용 여부를 설정합니다. 얘는 넣을 값을 허용한다. 넣을 값을 허용하지 않는다. 그런데 나 너를 허용 안 해 그건 무슨 말이냐 입력을 안 해도 된다. 이 말입니다.
1:58:57
자 저희가 어떤 회원 가입할 때 폼 양식물에 보면은 필수 정보는 별표로 이렇게 표시를 하죠. 성명은 반드시 입력하세요. 비밀번호를 반드시 설정하세요. 해당 이메일 주소는 꼭 필수가 아니다. 표시가 안 될 수도 있어요. 그런 경우에는 이메일은 입력 안 해도 해당 가입을 진행을 해 줄게 이 말이거든요. 경우에 따라서 이메일을 반드시 입력해야 되는 경우가 있는가 하면 그렇지 않아도 되는 경우가 있겠죠. 다음 대측키는 후보키 둘 이상인 경우에 기본키로 선택되지 못한 것들은 후보키가 됩니다. 그리고 외래키는 참조되는 릴레이션 간의 관계가 있는데, 참조되는 릴레이션의 기본키에 대응하는 다른 릴레이션의 해당 속성이 외래키가 됩니다. 설정되어진 키가요 참조 릴레이션의 기본키에 없는 값을 입력받을 수 없다. 자 키 종류 장황에 대해서 살펴봤는데 차근차근 정리해 보겠습니다.
1:59:53
문제 풀면서 다음은 관계형 데이터베이스의 키를 설명하고 있다. 해당하는 키는 뭔데 한 릴레이션 내의 속성들의 집합인데 집합으로 구성된 키로서 릴레이션 릴레이션을 구성하는 모든 튜플에 대해서 유일성은 만족시키지만 최소성은 만족시키지 못한다라고 하는 특징을 가지는 것은 딱 하나였죠 슈퍼키였습니다. 정답은 슈퍼키입니다. 유효성은 만족하지만 최소속은 만족할 수 없다. 왜 두 개 이상의 키가 연결돼서 사용하는 키이기 때문에 두 번째 데이터베이스에서 널 값에 대한 설명으로 옳지 않은 것은 네 널 값에 대한 설명을 구두상으로만 설명을 드렸기 때문에 제가 문제 가지고 다시 정리해 드리려고 합니다. 네 널이라고 하는 부분 자체는요 데이터베이스에서 첫 번째 아직 모르는 값을 의미합니다. 맞습니다. 딱 정해져 있지 않고 아직 모르는 값을 롤이라고 사용할 수 있고요.
2:00:50
또 알려지지 않은 값을 의미한다도 맞습니다. 근데 공백이나 제로 같은 의미이다. 라는 건 아닙니다. 왜냐하면, 공백도 공백도 하나의 문자 데이터고요. 0이라는 건 숫자 데이터죠 그래서 얘는 어떤 값을 가지는 거예요. 그래서 공백이나 널과 같은 의미는 널이 아닙니다. 정보의 부재를 나타내는 데 사용된다. 맞습니다. 자 반정규화에 대해 마지막으로, 살펴보도록 하겠는데요. 반정규화의 내용이 이 ppt에서 조금 많습니다. 반정규화 개념은요, 정규화를 저희가 논리 데이터 모델링 할 때 반복해서 저희가 살펴봤어요.
2:01:38
소프트웨어 개발 과목의 데이터베이스 입출력 구현 부분에서 논리 데이터베이스 설계 파트에 대해서 살펴봤었고 그리고 지금 저희가 살펴보고 있는 데이터베이스 구축 파트의 논리 데이터베이스 설계에서도 정규화가 많이 강조됐죠 정교화 문제는 많이 나올 때는 한 회차에 두 문제까지도 나올 수 있습니다. 한 문제 꼭 나온다고 생각하시고 정리하시고요. 반정교화라고 하는 부분 자체는 어디에서 지금 설계를 하고 있어요. 지금 현재 저희는 물리 데이터베이스 설계를 지금 다루고 있습니다.
2:02:10
논리 데이터베이스 설계에서 정교하는 목적지제가 뭐였냐면 중복되어진 속성으로 인해서 발생할 수 있는 이상현상 어떤 이상현상 수정 추가 삭제가 제대로 되지 않는 문제가 발생할 때 그 문제의 원인이 해당 속성의 중복값 그래서 그 원인을 제거하기 위해서 정교화라는 절차를 저희가 1종교화부터 5종교까지 거쳤어요. 그래서 결과적으로 정규화는 릴레이션을 쪼개는 거예요. 작은 단위로 만들었단 말이에요. 그런데 작은 단위로 만들다 보니까 어떤 경우에는 해당 너무 이 그 테이블에 저장되어 할 수 있는 필드의 개수가 작으니까 다른 필드하고 다시 합체가 되는 조인시켜야 되는 그런 경우가 생기는데 단일 데이터 테이블을 처리하는 거에 비해서 조인을 하게 되면 또 처리 절차가 추가적인 시간이 더 요구되고요.
2:03:07
그러다 보니까 처리 속도가 늦어지거든요. 그래서 반 정기화의 주 키워드는요 시스템에 대한 성능 향상 즉 처리 속도를 빨리 그리고 개발 및 운영의 편의성 이러한 것들을 위해서 정규화했던 데이터 모델을 통합이나 중복이나 분리하는 과정으로 의도적으로 정규화 원칙을 깨는 행위가 반정규화가 되겠습니다. 반정기화를 수행하게 되면 시스템의 성능이 향상되고 관리 효율은 증가한다. 하지만 데이터의 일관성 및 무결성이 저하될 가능성은 높아진다 그리고 또 있어요. 반정교화를 하면 무조건 성능이 좋아진다는 건 아니다. 라는 것도 고려해야 될 사항입니다. 과도하게 반정교화하는 거는 오히려 성능을 저하시킬 수도 있다. 일반적으로 반정교화라는 목적지지는 시스템 성능의 향상 즉 초저속도를 빨리하기 위한 부분인데 반드시라는 건 아니다. 라는 겁니다.
2:04:07
데이터 일관성과 무결성을 우선으로 할지 데이터베이스 성능과 단순화를 우선으로 할지 사전에 결정할 필요성이 있다. 반종 개발 방법입니다. 네 가지 방법 제시되어도 있는데, 데이터를 통합한다. 테이블을 통합한다. 테이블을 다시 합친다는 말이에요. 물리적으로 논리적이 아니라 물리적으로 그리고 테이블을 분할한다. 오히려 분할한다. 토막낸다 그 다음에 중복테이블을 추가한다. 마지막으로, 중복 속성 추가 방법이 있는데, 세부적인 내용은 단계별로 살펴보겠습니다. 반정규화 방법 먼저 테이블의 통합입니다. 어떤 경우에 테이블에 조인이 많이 발생하는 경우에 sql문에 조인 있죠. select문에서 다른 테이블 a라는 테이블과 b라는 테이블 서로 연결해가지고 해당 하나의 테이블화해서 얘는 물리적이 아니라 논리적으로요 예를 들어서 고객이요. 쇼핑몰에서 누가요 물건을 샀어요.
2:05:03
그러면 그 사람한테 해당 구매한 물품을 배송을 해야 되잖아요. 그래서 일반적으로 보면 고객 테이블 있고요. 그다음에 상품 또는 장바구니 테이블이 있어요. 이거를 연결시키죠 연결시켜 가지고 고객 테이블 내에 여기에서는 연락처라든지 위치 정보가 여기 있으니까 그리고 해당 상품 테이블 구매 테이블에서는 구매한 물품이 있으니까 수량이라든지. 제품 자 그런데 테이블의 조인이 많은 경우는요 오히려 하나의 테이블로 합치는 게 성능 향상에 유리하다 그런 경우에는 테이블을 통합해가지고요. 하는 반종교화 과정을 거칠 수도 있다. 테이블 통합의 종류는요 일대일 관계 데이터 통합 테이블 통합과 일대 다관계 테이블 통합 그리고 슈퍼타입 서브타입 테이블 통합이 있습니다. 슈퍼타입이라고 하는 부분 자체는요 상위 테이블 서브 타입은 하이 테이블이라고 보시면 돼요.
2:05:58
서로 간의 어떠한 관계성 자체가 상속관계라든지 이러한 것들을 가지고 있는 그래서 예를 들어서 접수라는 테이블이 있는데, 접수의 방법 접수의 방법이 직접 오프라인 접수가 있는가 하면 온라인 접수가 있겠죠. 그런 경우에 이 오프라인 접수나 온라인 접수의 상위가 접수라는 테이블이에요. 얘가 슈프타입이고요. 밑에 있는 하위의 오프라인 접수 그리고 온라인 접수가 서버 타입이 되는 부분입니다. 기준을 어디에 두고 통합하느냐에 따라서 슈퍼 타입 테이블 통합 서버 타입 테이블 통합 있습니다. 나중에 저희가 er 다이어그램 파트에서 더 상세하게 살펴볼 겁니다. 테이블 통합 시 고려해야 될 사항은요, 데이터의 검색은 간편하지만 레코드 증가로 어떻게 처리량이 증가할 수 있고 그리고 입력 삭제 수정 같은 규칙의 복잡도가 증가할 수 있다. 그리고 단널이라고 하는 부분 자체는 너를 허용하지 않는다. 이 말입니다.
2:06:54
그리고 디폴트는 디폴트 값 기본적으로 입력하는 값들 그다음에 체크와 같은 제약 조건 설계가 어려워질 수 있다. 밑에 보면 지도교수 과목명 두 개의 속성을 가지는 해당 릴레이션이 있고요. 학번 지도교수가 있는데, 어 해당 얘들이 조인을 해가지고 많이 쓰는 경우에는 아예 하나의 테이블로 이렇게 통합을 해가지고 물리적으로 통합해 가지고 하는 반전기화 방식이 있다. 이 말입니다. 다음 테이블 분할입니다. 테이블 분할은 두 가지 방법으로 다시 나눠지는데요. 테이블 레이에 해당 특정 레코드 단위별로 수평 단위별로 분할하는 수평분할과 그리고 열단위별 열단위별 칼럼별로 분할하는 수직분할이 있습니다.
2:07:52
수평분할은 언제 사용되느냐 특정한 레코드별로 사용의 빈도가 차이가 많이 나는 경우예요. 해당 이 케이스 같은 경우에는 학번 성명학과 이렇게 돼 있으니까 학생의 어떠한 정보를 담고 있는 릴레이션이다 라고 할 때 학과 단위별로 정보통신학과에 관련한 조회가 많이 빈도 있게 발생한다. 그런 경우에 정보통신학과만 따로 떼내 가지고 별도의 테이블로 만드는 네 그런 개념으로 이해하시면 돼요. 그래서 정보통신과 프로그램이 섞여 있다. 이렇게 일반적으로 여기 중간에 있는 거는 무시하시고요. 빈도 사용 빈도가 높은 거 그리고 그렇지 않은 거 이런 식으로 수평단위별로 쪼개서 하는 수평부단이 있고요. 다음 수직분할은 테이블의 새로 연령 속성이죠.
2:08:38
특정 속성의 어 접건이 잦을 경우에 속성을 기준으로 새로 이 테이블 열 단위별로 이렇게 쪼개는 네 분할인데 종류로서는요 갱신 위주의 속성분할 데이터갱신 시 레코드 잠금으로 인해서 다른 작업을 수행할 수 없기 때문에 갱신이 자주 일어나는 경우에 속성을 불안한다. 갱신이라는 건 수정을 이야기합니다. 그리고 자주 조회되어지는 속성분할 그리고 크게 보겠습니다. 크기가 큰 속성 분할 그리고 보안을 적용해야 하는 속성 분할 이렇게 네 가지로 나눌 수가 있습니다.
2:09:13
세부적으로 다음 테이블 분할할 때 고려사항으로서는 기본키의 유일성 관리가 어렵다 그래서 기본키의 유일성 관리라고 하는 부분 자체는 해당 저장되어져 있는 내용을 구분할 때 투필드로 구분할 때 기본키 설정한 거인데 테이블 분할을 하게 되면 해당 아까 컬럼 열 단위별로 이렇게 분할했을 때 기본키를 포함하고 있는 속성들로 테이블을 별도로 없는 것도 별도로 이렇게 될 수 있잖아요. 없는 거에 기본키를 설정할 수 있는 게 있냐는 거죠. 없을 수도 있다. 이 말입니다. 데이터 양이 적거나 사용 빈도가 낮은 경우에 테이블 분할이 필요한지 고려하고 분할되어진 테이블 전체 조회할 때는 다시 합쳐야 되는 유니온을 사용해야 하기 때문에 속도가 느려질 수 있다. 데이터 검색에 중점을 두어서 테이블 분할 여부를 결정을 해야 되겠습니다.
2:10:11
다음 세 번째로, 중복 테이블 추가 부분입니다. 네 반전기화 방식 살펴보고 있어요. 중복 테이블 추가 방법은 여러 테이블에서 데이터를 추가하여 사용하는 경우다 다른 서버에 저장된 테이블을 이용하는 경우에도 이용할 수 있겠다. 세부적으로 중복 테이블을 추가하는 경우는 어떤 경우냐 전기화로 인해서 속도가 느려진 경우 그리고 많은 범위의 데이터를 자주 처리하는 경우 특정 범위의 데이터만 자주 처리하는 경우 처리 범위를 줄이지 않고 수행 속도를 계산할 수 없는 경우 이러한 네 가지의 경우에서 중복 대입을 추가하는 반정기화 방식을 사용할 수 있다. 보기 항목이 네 가지 다 나오죠. 시험은 필기는 객관식 사실상답형입니다. 그렇기 때문에 해당 이러한 네 가지 보기 항목 나오는 게 시험 문제 내기가 수월합니다. 중복 테이블을 추가하는 방법으로서는 다시 집게 테이블 추가 그리고 이력 테이블 추가 그리고 부분 테이블 추가로 다시 나눌 수가 있습니다.
2:11:10
집게테이블이라고 부분 자체는 합계를 구한다든지 평균을 구한다든지와 같은 집계 데이터를 위한 테이블을 생성해서 각 원본 테이블에 트릭을 설정해서 사용하는 경우 이력 테이블 추가라고 하는 부분 자체는 이력 관리 등의 목적으로 추가하는 테이블 그리고 본 테이블 추가라고 하는 부분 자체는 하나의 테이블의 전체 칼럼 중에 자주 이용하는 집중화되어진 칼럼들이 있을 때 해당 칼럼들을 모아서 별도의 반 정도와 테이블을 생성하는 것을 이야기합니다. 마지막으로, 중복 속성 추가하는 반정기화 방법입니다. 테이블을 조인해서 데이터를 처리할 때 데이터를 조회하는 경로를 단축하기 위해서 자주 사용하는 속성을 아예 추가시켜버리는 거죠. 배송 같은 경우에 해당 속성 중에 고객 번호라고 하는 부분 자체를 추가를 이렇게 시킨다든지 이러한 경우가 있겠다.
2:12:06
고객 주문 목록 배송이라고 하는 개체들입니다. 개체들의 관계가 1대0 또는 다 이렇게 돼 있네요. 고객이 주문을 하게 되면 주문 정보가 주문 목록에 추가되어지겠고 주문 목록에 의해 가지고 실제 배송이 이루어지기 위해서는 그 정보가 다시 배송 해당 개체에 넘어가야겠죠. 근데 배송 개체에서요 고객을 번호를 자주 해당 사용하는 경우에 배송 해당 개체에 자주 이용하는 고객 번호 속성을 추가하는 거 쓸 중복 속성 추가라고 이해하시면 되겠습니다. 반정기화 방법으로서 중복 속성을 추가하는 경우는 조인이 자주 발생하는 속성인 경우 그리고 접근 경로가 복잡한 속성인 경우 액세스의 조건으로 자주 사용되는 속성인 경우 기본키의 형태가 적절하지 않거나 여러 개의 속성으로 구성된 경우 중복 속성을 추가하는 반 정규화에 적합한 경우입니다.
2:13:02
중복 속성 추가할 때 고려해야 될 사항으로는요 테이블 중복과 속성의 중복을 고려하자 아니 테이블 중복시킬까 아니면 속성 중복시킬까 어떤 게 나을까? 한번 비교를 해보자 그리고 테이블의 일관성과 무결성에 대해서 유의하고요. sql 그룹 함수를 이용을 해서요. 처리할 수 있어야 되겠고 저장 공간에 지나친 낭비가 생기지 않도록 고려하자 반정기화 관련되어져서 네 퀴즈로 문제 풀면서 정리하겠습니다. 다음 중 반정규화에 대한 설명으로 옳지 않은 것은 반정기화를 수행을 하게 되면 시스템의 성능이 저하된다. 이게 틀렸습니다. 반정교화라는 궁극적인 목적 자체는 시스템의 성능을 향상시키는 목적이잖아요. 그래서 굳이 종교화에 위배되어지지만 반정교화를 하는 거죠. 1번이 틀렸습니다. 반정기화는 의도적으로 정기화 원칙을 위반한 행위야 맞고요.
2:13:58
반정기화 방법에는 테이블 분할 중복 테이블 추가 중복 속성 추가가 있어 네 가지 맞고요. 반정기화로 인해 데이터의 일관성 및 무결성이 저하될 수 있다. 모의평가 다시 문제 정리하겠습니다. 속성 정의 시 고려사항으로 올바르지 않은 것은 칼럼 속성 부분입니다. 개체가 관리할 특성인지 고려한다. 네 개체 내의 속성이 포함되죠. 그 개체를 특징화할 수 있는 거 특성들을 속성으로 뽑죠 개체가 관리할 특성인지 고려한다. 속성은 의미적으로 독립적인 최소 단위야 리 개체 타입에서 하나의 속성은 한 시점이 한 개의 값만을 가지도록 정의한다. 네 개체 타입에서 하나의 속성은 한 시점에 한 개의 값만 가지도록 정의한다. 중복속성 허용하면 안 되죠. 마지막 파생된 값은 성적 향상을 위해서 속성 정의에 많이 사용한다. 이게 틀렸습니다.
2:14:57
파생 속성은 계산에 의해서나 변형에 의해서 하는 부분인데 많이 하지 마라 라는 부분이 주의사항이었죠. 속성 정의에 많이 사용하지 않고 적게 사용합니다. 두 번째 키는 개체 집합에서 고유하게 개체를 식별할 수 있는 속성이다. 데이터베이스에서 사용하는 키의 종류에 대해서 설명한 것 중에 틀린 거 골라라 이 문제가 나올 확률이 높아요. 후보키 후보키라고 하는 부분은 개체들을 고유하게 식별할 수 있는 속성이야 후보키 내에 기본키와 개체키가 포함되어 있죠. 개체들을 고유하게 식별할 수 있는 유효성을 가집니다.
2:15:39
슈퍼키 한 개 이상의 속성들의 집합으로 구성되어진 키 안에 두 개 이상 1개 이상의 속성들 네 슈퍼키는 하나의 키 또는 2개 키 3개 키 이렇게 해당 조합해가지고 구성될 수 있습니다. 외래키는 다른 테이블의 기본키로 사용되어지는 속성이야 다른 테이블의 기본키로 사용되어지는 게 a 테이블이라면 b 테이블과 그 키로 연결돼 있으면 b 테이블에서는 해당 그 키는 외래키가 되는 겁니다. 다른 테이블에서 기본키로 사용되는 속성이야 외래키는 마지막으로, 대측키 후보키에서 대표로 선정된 키가 대측키가 아니라 후보키에서 대표로 선정된 키는 기본키죠 기본키 기본키가 아닌 키들이 대측키예요. 그래서 4번이 틀렸습니다.
2:16:38
3번 다음은 학생이라는 개체의 속성을 나타내고 있다. 여기서 학과를 기본키로 사용하기에 곤란한 이유는 뭐냐 기본키는 널 값을 가질 수 없고 중복값을 가질 수 없습니다. 두 가지 특징이 있죠. 기본키로 누구다라는 게 구분 어떤 거다 라는 게 구분이 돼야 되니까. 학생을 학과로 구분할 수 있느냐 구분을 못하죠. 왜 주된 이유는 뭔데 중복값을 가지니까요? 홍길동 학과는 컴퓨터학과야 박명수 학과도 컴퓨터학과야 컴퓨터 할까 이렇게 하면 여러 사람이 나오는 거잖아요. 네 그래서 학생 호흡을 하기 위해서는 여기서는 내 속성 중에 학번이 네 기본키로 설정되어야 될 대상이 되겠죠. 학번이 중복과를 안 가지니까 그래서 보기 항목에서 보면 기억하기 어렵기 때문에 기본키를 설정할 수 없어 아니고 학과는 정렬할 때 많은 시간 소요된다.
2:17:36
아니고 동일한 학과만을 가진 학생이 두 명 이상 존재하기 때문이야 3번이 정답입니다. 학과를 기본키로 설정할 수 없는 이유 4번입니다. 반정기화에 대한 설명으로 옳지 않은 것은 반정규화의 방법은 테이블 통합 테이블 분할 중복 테이블 추가 중복 속성 추가가 있어 맞습니다. 테이블에서 특정 속성에만 집중적으로 접근할 경우에 칼럼을 쪼개어서 분할하는 기법은 수평분할 기법이야 얼렁뚱땅 맞는 것 같지만 틀렸습니다. 자 컬럼은요, 열 단위잖아요. 컬럼은 이렇게 새로 단위잖아요. 열단위잖아요. 그렇기 때문에 수직분할입니다. 수평분할이 아니라 조회되는 경우가 많은 테이블은 테이블을 합치는 것이 성능 향상에 유리하면 테이블을 통합한다. 반정규화로 인해서 테이블의 일관성 데이터의 일관성 및 정합성이 증가될 수 있습니다.
2:18:34
마지막 다섯 번째 다음 중 반 정규화 시 중복 속성을 추가해야 하는 경우가 아닌 것은 중복 속성 추가 반종기화 방법에 해당되는 경우가 아닌 거 조인이 자주 발생하는 속성인 경우에 그리고 기본키가 하나의 속성으로 구성된 경우 두 번째가 틀렸습니다. 기본키가 여러 개거나 그런경우 중복 속성 추가하는 경우입니다. 세 번째 액세스의 조건으로 잘 사용하는 속성의 경우 접근경로가 복잡한 경우는 맞습니다. 네 핵심정리로 내용 정리하겠습니다. 데이터베이스 무결성은요, 데이터의 정확성을 보장하기 위해서요. 부정확한 자료가 데이터베이스 내에 저장되는 걸 방지하는 제약 조건이다. 무결성의 종류는 네 가지가 있었습니다. 개체무결성을 기본키를 설정했을 때 중복값 넣을 값 허용하지 않는다. 도메인 무결성 해당 속성에 입력할 수 있는 값 데이터의 타입 그리고 크기 지켜야 된다.
2:19:33
그 다음에 참조 무결성 프라이머리 주 기본키로 설정된 테이블을 가장 참조하는 형태로 연결되어진 테이블에 즉 외래키는 참조하는 대상 기본키에 저장되어진 값 만 가질 수 있다. 그리고 널 값 가질 수 없다. 사용자 정의 무효율성들이 있고요. 칼럼의 속성이요. 칼럼의 속성 속성은 개체의 구성 항목이고 특성을 기술한다. 파일 구조상의 데이터 항목 또는 필드에 해당되고 속성의 특성에 따른 두 가지 분류 기준이 있었죠.
2:20:08
속성의 특성에 따른 분류와 개체 구성에 따른 분류의 종류는 기본 속성 설계 속성 파생 속성 개체 구성 방식에 따른 분류는 기본키 속성 외래키 속성 일반 속성 키의 종류 키는 데이터베이스 내에 조건을 만족하는 튜플 찾거나 순서대로 정렬할 때 서로 구분할 수 있도록 하는 기준이 되는 트리블 초다 키의 종류는 슈퍼키 후보키 기본키 대측키가 있었습니다. 하나 더는 외래키 반정규화 시스템의 성능 향상 개발 및 운영의 편의성을 위해서 정규화됐던 데이터 모델을 깨는 것 정규화의 원칙을 위배하는 방법인데 반정규화의 방법은 테이블을 통합한다든지 다시 테이블을 분할한다든지 중복 테이블을 추가한다든지 중복 속성을 추가하는 방법이 있었죠. 이상으로 데이터베이스 물리 속성 설계에 대해서 살펴봤습니다.
'정보박사 정보처리기사 필기강의 > 데이터베이스 구축' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 5.데이터 전환 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 3.논리 데이터베이스 설계 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 2.SQL 활용 (0) | 2025.05.24 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 1.SQL 응용 (0) | 2025.05.24 |
https://youtu.be/KwHoxepZ2tY?si=7LhkAKFIV0FYaJQQ
1. 논리 데이터베이스 설계
1-1. 관계 데이터 모델 이해
- (중요) 관계 데이터 모델은 실세계의 데이터를 2차원 테이블 형태로 저장하고 검색하는 데이터 모델임
- 필드 값 활용하여 다른 테이블의 데이터를 찾는 식으로 데이터를 검색함
- 릴레이션은 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한 것임
- 속성은 개체에 가질 수 있는 데이터의 집합이며, 데이터 타입은 데이터의 표시 형식을 의미함
- 도메인은 데이터의 속성이 가질 수 있는 데이터의 집합이며, 데이터 형식은 데이터의 속성에 따라 달라짐
1-2. 릴레이션의 구성과 특성
- 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성됨
- 릴레이션 스키마는 릴레이션의 논리적 구조로, 릴레이션의 이름과 포함된 속성들의 이름을 정의함
- 릴레이션 인스턴스는 어느 한 시점에 존재하는 튜플들의 집합으로, 추가, 수정, 삭제 등의 동적 특성이 있음
- (중요) 릴레이션은 튜플의 유일성, 순서, 속성의 원자값만 사용할 수 있는 등 동일한 튜플이 존재하면 안 되는 특성을 가짐
- 릴레이션의 속성은 속성값이 존재해야 하며, 속성의 무순서는 크게 의미하지 않음
1-3. 시스템 카탈로그와 뷰
- 시스템 카탈로그는 데이터베이스의 객체와 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스임
- 시스템 카탈로그의 구성은 데이터베이스 관리 시스템에서 지원하는 논리 데이터베이스 설계에 맞춰짐
- 시스템 카탈로그에서 튜플은 레코드에 해당되며, 레코드는 데이터베이스 관리 시스템의 파일에 대응됨
- 뷰는 데이터베이스에서 객체와 구조에 대한 정보를 특정한 형식으로 정리한 것임
- 뷰의 구성은 데이터 베이스의 데이터를 정리하고 다양한 분류 및 표현을 위한 것임
2. 관계 데이터 모델의 연산과 제약 조건
2-1. 관계 데이터 모델의 무결성 제약 조건
- 관계 데이터 모델에서 개체의 무결성 제약 조건과 참조의 무결성 제약 조건을 중점적으로 설명함
- (중요) 기본키를 구성하는 속성들은 널 값을 가질 수 없으며, 참조키는 참조할 수 없는 값을 가질 수 없음
- 관계 연산에 대한 개념을 설명하고, 연산 유형을 분류함
- 관계 데이터 연산에 대한 일반 집합 연산자, 순수 관계 연산자 등을 설명함
2-2. 관계 해석과 관계대수의 특성
- 관계 해석과 관계 대수를 비교 분석함
- 관계 해석은 비절차적 절차를 따르며, 관계 대수는 절차적으로 기술함
- (중요) 관계 해석의 대표 연산자들은 합집합, 교집합, 차집합, 카티션 프로덕트임
- 각 연산자의 특성과 필요성에 대해 설명함
2-3. 대표 연산자에 대한 상세 설명
- 각 연산자에 대한 상세 설명과 예제를 제공함
- (중요) 합집합 연산자는 두 릴레이션의 합을 생성하며, 교집합 연산자는 두 릴레이션의 교차곱을 생성함
- 차집합 연산자는 두 릴레이션의 차를 생성하며, 카티션 프로덕트 연산자는 두 릴레이션의 튜플을 연결함
3. 관계 데이터 모델의 이해
3-1. 릴레이션과 관계의 특성 이해
- 릴레이션의 기본 개념과 차수, 카디널리티의 개념을 설명함
- 관계의 연산자 종류(셀렉터, 프로젝트, 조이, 디비전)의 특징과 기능을 소개함
- 차수와 카디널리티를 이용하여 새로운 릴레이션을 생성하는 방법을 예로 듦
- 순서 관계 연산자의 종류와 기능을 상세히 설명함
- (중요) 순수 관계 연산자의 종류와 기능, 그리고 각 연산자의 특징을 이해하는 것이 중요함
3-2. 관계 해석과 시스템 카테고리 이해
- 관계 해석의 개념과 종류(스플 관계 해석, 도메인 관계 해석)를 소개함
- 시스템 카테고리의 생성과 유지, 그리고 관련 정보에 대해 설명함
- 시스템 카테고리의 특징과 장단점, 갱신과 수정에 대해 논의함
- (중요) 시스템 카테고리의 데이터 보안과 관리에 대해 강조함
3-3. 시스템 카테고리의 데이터 분석
- 시스템 카테고리의 데이터 분석 방법과 그 결과를 이해함
- 시스템 카테고리의 생성과 유지에 따른 데이터 변환에 대해 논의함
- 데이터 사전과 시스템 카테고리의 연관성과 그 중요성을 이해함
- (중요) 시스템 카테고리에 포함된 내용과 그에 따른 데이터 변환의 이해가 필요함
4. 데이터 모델링 및 설계
4-1. 데이터 모델링 개요
- 데이터 모델링이란 현실 세계의 데이터를 컴퓨터에 표현하기 위한 모델링 기법임
- (중요) 데이터 모델링의 목표는 데이터의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등을 갖춘 논리 데이터를 생성하고 유지하는 것임
- 데이터 모델링에서 다루는 주제와 영역, 개체와 속성, 관계 등을 이해해야 함
- 논리 데이터 모델링의 세부 내용은 개체 관계 모델, 논리적 데이터 모델링, 데이터베이스 정규화 등이 있음
4-2. 논리 데이터 모델링 및 정규화
- 논리 데이터 모델링은 논리 데이터의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성을 위한 방법임
- 개체와 속성, 관계에 대한 체크리스트를 작성하고, 검증 결과에 따라 논리 데이터 모델의 품질을 평가해야 함
- 데이터 모델링에서 중요한 품질 평가 요소는 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등임
- (중요) 논리 데이터 모델의 품질을 평가하는 것이 데이터 모델링의 핵심 과정임
4-3. 논리 데이터 모델 품질 검증
- 논리 데이터 모델 품질 검증은 논리 데이터 모델의 정확성, 완전성, 준거성, 최신성, 일관성, 활용성을 평가하는 방법임
- 개체 관계 모델, 논리적 데이터 모델링, 데이터베이스 정규화 등 데이터 모델 품질 검증 방법을 이해해야 함
- 체크리스트를 작성하고, 검증 결과에 따라 논리 데이터 모델의 품질을 평가해야 함
- 데이터 모델의 품질 평가 결과는 다음 수업에서 다룰 예정임
5. 데이터 모델의 구성요소와 종류 이해
5-1. 데이터 모델의 개념과 종류
- 데이터 모델은 현실 세계의 정보를 컴퓨터에 표현한 체계적 모형임
- 데이터 모델의 종류는 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델이 있음
- 데이터 모델링은 개념적 데이터 모델링에서 시작하여 논리적, 물리적 데이터 모델링으로 나아감
- 각 모델링 단계는 데이터베이스의 개발 절차에서 각각 다른 역할을 수행함
- (중요) 데이터 모델의 구성 요소는 개체 속성, 관계, 속성의 세 가지임
5-2. 개념적 데이터 모델의 구성요소
- 개념적 데이터 모델은 현실 세계에 대한 인간의 이해를 돕기 위해 추상화된 모델임
- 속성들은 데이터베이스를 구성하는 가장 작은 논리적 단위로, 개체, 속성, 관계로 구성됨
- 속성은 데이터 항목 또는 데이터 필드 열로 불림
- (중요) 속성들은 유일하게 식별 가능하며, 다른 개체와 구분이 가능함
5-3. 논리적 데이터 모델의 구성요소
- 논리적 데이터 모델은 개념적 데이터 모델에서 얻은 개념적 구조를 컴퓨터 세계화 환경에 맞춰 변환한 것임
- 필드로 구성된 데이터 타입과 그 데이터 타입 간의 관계를 이용하여 현실 세계를 표현함
- 특정 데이터베이스 관리 시스템(DBMS)는 특정 논리적 데이터 모델을 선정하여 사용함
- (중요) 논리적 데이터 모델의 종류에는 관계 모델이 대표적으로 있음
- 이 모델은 계층 모델, 네트워크 모델 등의 형태를 가짐
6. 데이터 모델링과 관계 모델
6-1. 데이터 모델링의 개요
- 데이터 모델링의 주요 요소로 구조, 연산, 제약 조건을 들 수 있음
- 구조는 개체들 간의 관계를 표현하는 데 도움을 줌
- 연산은 데이터를 처리하는 작업에 대한 명세를 제공함
- 제약 조건은 실제 데이터 저장에 필요한 논리적 제약을 설정함
6-2. 관계 모델의 특징과 유형
- 관계 모델은 개체-관계-속성의 유형으로 구성됨
- 각각의 관계는 1대1,1대n, 다대다 등의 형태로 표현됨
- (중요) 1대1 관계에서는 선의 기호, 1대n 관계에서는 동그라미 기호, 다대다 관계에서는 복수표현을 사용함
- 이알 다이어그램은 관계 모델을 시각적으로 표현한 것으로 개체, 관계, 속성을 각각 사각형, 마름모, 복합 타원으로 표현함
6-3. 개체 관계 모델의 확장과 기호 표기법
- 개체 관계 모델은 1976년 피터 차인에 의해 제안되어 확장된 형태로 발전해옴
- 개체 관계 모델의 기호 표기법은 피터 차인의 표기법, 정보공학 표기법, 바커 표기법으로 나뉨
- (중요) 각 표기법은 개체, 관계, 속성을 각각 다른 기호로 표현함
- 관계의 동작적인 부분은 정보공학 표기법을 사용함
7. 데이터 모델링과 정규화
7-1. 데이터 모델링의 개요
- 데이터 모델링은 개념적, 논리적, 물리적 데이터 모델링으로 나뉨
- 논리적 데이터 모델링은 업무 분석을 위한 자료 흐름 분석에서 사용함
- 논리적 데이터 모델링에서 추출된 엔터티와 속성, 관계를 구조적으로 정의함
- 논리적 데이터 모델링은 하류어나 소프트웨어에 종속적이지 않음
- 물리적 데이터 모델링은 특정 데이터베이스 관리 시스템을 사용함
7-2. 데이터 정규화의 필요성
- 데이터 중복으로 인해 불필요한 부작용이 발생함
- 데이터 정규화는 중복성을 최소화하고 정보의 일관성을 보장함
- 데이터 정규화는 개념적 설계 단계에서 수행함
- (중요) 데이터 정규화의 첫 번째 단계는 중복 속성 제거임
- 중복 속성 제거는 비정규형에서 정규형으로의 변환 과정임
7-3. 데이터 정규화의 단계
- 제1정규화는 중복 속성 제거로 데이터를 정규형으로 만듦
- 제2정규화는 부분 종속성 제거로 더 분해할 수 없는 상태로 만듦
- 제3정규화는 비식별자에 종속된 속성 제거로 보이스코드 정규형으로 만듦
- 제4정규화는 조인 종속성 제거로 후보키가 아닌 결정자 제거로 보이스코드 정규형으로 만듦
- 제5정규화는 데이터 모델을 일관성 있게 만들고, 속성의 노력 여부를 검증함
8. 데이터 모델의 정규화 및 품질 검정
8-1. 데이터 모델의 정규화 과정
- 데이터 모델의 정규화는 중복 속성 제거를 통해 시작함
- 제1정규형은 중복 속성을 제거한 결과로 만들어짐
- 제2정규형은 3정규형에서 생성되며, 이는 제2정규형을 통해 4정규형으로 발전함
- 4정규형은 후보키가 아닌 결정자를 제거하여 생성됨
- (중요) 이행적 함수 종속 제거는 3정규형에서 4정규형으로 발전하는 과정
8-2. 좋은 데이터 모델의 조건
- 좋은 데이터 모델의 조건은 완전성, 중복 불가능성, 업무 규칙, 재사용 가능성, 안정성, 활용성 등이 있음
- 데이터 모델 품질 검정 기준은 정확성, 완전성, 준거성, 최신성, 일관성, 활용성 등을 포함함
- (중요) 정확성은 데이터 모델이 표기법에 따라 정확하게 표현되었는지, 업무 영역이나 요구사항이 반영되었는지를 의미함
- 준거성은 데이터 표준이나 표준화 규칙을 잘 준수했는지를 검사함
8-3. 데이터 모델 품질 검정 기준
- 좋은 데이터 모델의 조건을 만족시키는지 검사하는 기준이 있음
- (중요) 준거성, 일관성, 활용성 등을 포함한 다양한 요건을 통해 데이터 모델의 품질을 평가함
- 이행적 함수 종속 제거는 3정규형에서 4정규형으로 발전하는 과정 중 하나임
- 논리적 데이터 모델링은 개념적 구조를 데이터베이스에 저장하는 과정임
- 데이터 모델 품질 검정 기준은 해당 요건을 충족시키는지 검사하는 기준임
00:03
ncs 정보 처리 기사 세 번째 과목인 데이터베이스 구축의 챕터별로는 열두 번째로, 넘어가서 논리 데이터베이스 설계에 대해 살펴보도록 하겠는데요. 첫번째로, 관계 데이터베이스 모델이라는 주제입니다. 이 챕터는 굉장히 중요합니다. 시험에서 출제가 기존의 데이터베이스 과목 20문제 중에 네 문제 내지 다섯 문제까지 나왔던 부분이 모여 있습니다. 학습목표 관계 데이터 모델의 기본 용어를 읽히고 릴레이션을 구성하는 요소와 특성을 이해한다. 관계 데이터 언어의 종류인 관계 대수 그리고 관계 해석의 개념을 정리한다. 마지막으로, 시스템 카탈로그와 뷰에 대해서는 저희가 미리 좀 살펴봤었죠. 시스템 카탈로그의 개념 특징을 이해한다.
00:58
이 내용은요, 관계 데이터베이스 모델이 포함된 논리 데이터베이스 설계라는 해당 ncs 학습 모듈이 없어요. 없기 때문에 지금 설명드린 이 강의안을 잘 반복 숙지하셔가지고, 시험 보실 때 많이 도움 되시길 바라겠습니다. 학습 내용은요, 관계 데이터 모델 두 번째 관계 데이터 언어인 관계 대수와 관계 해석에 대해 살펴보겠고 세 번째 시스템 카탈로그와 뷰에 대해 보겠습니다.
01:32
용어 사전으로서 관계 데이터 모델은 실세계의 데이터를 행과 열 구성되어진 표인 테이블 릴레이션 형태로 저장하고 한 테이블의 필드 값을 이용하여 다른 테이블에 관련되어진 데이터를 찾는 식으로 검색하는 데이터 모델이 관계 데이터 모델이야 시스템 카탈로그는 데이터베이스의 객체와 구조에 관한 모든 데이터를 포함하고 있는 시스템 데이터베이스입니다. 세부 내용 살펴보도록 하겠습니다. 관계데이터모델 자 저희가요 에스큐엘 응용 해당 그 학습 능력 부분에서요 관계형 데이터 모델이라는 것도 살펴봤는데 실제적으로 시험에서는요 관계 데이터 모델에 대한 내용이 더 많이 나옵니다. 중요합니다.
02:25
자 개념은 관계 데이터 모델은 1972년에 코드 박사가 제안한 데이터 모델인데 현재 오늘날 대부분의 데이터베이스 관리 시스템에서 이 데이터 모델을 지원을 합니다. 실세계의 데이터를 현과 열 구성되어지는 표인 테이블과 릴레이션 형태로 저장하고요. 한 테이블의 필드 값을 이용해서 다른 테이블과 관련되어진 데이터를 찾는 식으로 검색하는 데이터 모델이다. 밑에 보면 릴레이션의 예라고 해서 고객이라고 하는 릴레이션을 제가 여기 포함을 시켜놨는데 설명을 이렇게 보게 되면 테이블은요, 테이블은 열과 행이 2차원적으로 만들어져서 테이블이 되죠. 해당 이 열 세로 열 세로 열을요 열 속성 어트리뷰트라는 용어로도 쓰고요.
03:21
그다음에 나중에 저희가 필드라는 용어로도 파일 시스템에서는 씁니다. 엑셀 같은 경우에 엑셀이 기본적으로 해당 셀 단위별로 해서 구성이 표잖아요. 네 표인데 성명필드 뭐 학번 필드 전화번호 필드 이런 식으로 그 필드들이 모이는 게 행이죠. 행 로우 레코드 그다음에 해당 관계 데이터 모델에서는 가로행을 튜플이라는 용어를 씁니다. 튜플 자 그다음에 도메인이라고 돼 있는데, 도메인도 이전에 저희가 좀 다뤘는데 해당 데이터의 표시 형식입니다. 데이터 타임이요.
04:05
데이터 타입 여기 보면 인트당 정수값을 저장할 수 있어 char 12r 정해져 있는 고정문자열 10글자까지 딱 크기 정해져 있는 상태로 저장하는 것 관계 데이터 모델의 용어 중요합니다. 릴레이션이라는 것은 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한 거예요. 릴레이션 파일 관리 시스템에서는 파일에 대응한다고 되어 있고요. 속성이야 어트리뷰티 릴레이션의 열 이야기입니다. 열 어트리뷰트라는 용어로도 쓰이고 파일 관리 시스템 관점에서는 필드에 해당되어진다 속성 어트리뷰트 컬럼 필드 같은 말입니다.
04:54
튜플 튜플은 릴레이션에서 행 파일 관리 시스템에서는 레코드에 대응되어진다 그래서 튜플 레코드 이런 용어들이 혼용해서 쓰일 겁니다. 그다음 도메인은요, 하나의 속성이 가질 수 있는 데이터의 집합인데 속성의 특성을 고려하는 데이터 타입력 데이터 형식력 int 종수값을 저장할 수 있어 char 문자열인데 고정적인 크기를 가지는 문자열이야 다음 nornel이라고 하는 부분은 비어있다. 이 말인데 속성값을 아직 모르거나 해당하는 값이 없음을 표현한다. norl nural에 대한 것도 개념 문제 나옵니다. 시험에서요 데이터베이스에서 nor를 뭘 뜻하느냐 속성값을 아직 모르는 거 또는 해당하는 값이 없음을 표현해 입력값이 0이 입력되어 있는 거야. 그건 틀린 겁니다. 그건 nall이 아닙니다.
05:54
차수 디그리 차수 카니 마그너티 이 두 개의 시험에 자주 나와요. 뒤에 저희가 연습 문제도 얘를 넣어놨습니다. 차수라고 하는 건 뭐 네임 하나의 릴레이션 표가 릴레이션이잖아요. 하나의 릴레이션 표에서 속성이 전체 개수야 속성이 뭐라고 그랬어요. 위에서 버트리뷰티 열이었잖아요. 세로열 이게 몇 개냐 아니면 아닙니다. 이게 몇 개 이게 차수입니다. 차수 그 다음 카레노로키는 하나의 릴레이션의 튜플의 전체 개수 튜플이 뭐였어요. 행위였죠 여기 id pw tl addr 이렇게 해당 컬럼 이름이 있다고 치면 실제 데이터는 여기 두 번째 여기부터 저장되어지잖아요. 이게 몇 개인데 가로 행위의 개수가 몇 개야 이게 카메노티입니다.
06:53
자 릴레이션의 구성입니다. 네 릴레이션 구성은 릴레이션 스키마가 있고요. 릴레이션 인스턴트가 있어 이렇게 돼 있는데요. 뒤에 보면 이 그림이 하나 있어요. 표가 제시되어 있는데, 윗부분을 지금 릴레이션 스키마야 이렇게 표시해 놓았고 안에 있는 내용적인 부분이 릴레이션 인스턴스야라고 표시가 되어 있어요. 설명 묻고 다시 돌아볼게요 릴레이션 스키마는 릴레이션의 논리적인 구조야 릴레이션의 이름과 릴레이션에 포함되어진 모든 속성들의 이름을 정의한 거야. 릴레이션은 표라고 그랬어요. 표고 그다음에 속성은 해당 필드 이름이라고 했어요.
07:32
그래서 뒤에 표가 보면 얘는 무슨 표인데 무슨 릴레이션인데 고객 릴레이션이야 고객 릴레이션은 어떤 속성들이 구성되어 있는데, 고객 아이디 고객 이름 나이 등급 이렇게 구성되어 있어 그래서 예시에 보면 릴레이션 스키마는 고객 간호 내에 고객 아이디 고객 이름 나의 등급 지급 적립금 이게 릴레이션 스키마를 뜻하고요. 정적인 특성을 가진다 릴레이션 인스턴스는요 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합이야 어느 한시점 해당 데이터가 계속 추가되어질 수도 있고 또는 어떤 경우에는 삭제될 수도 있고 수정될 수도 있고 변화들이 있죠. 그래서 어느 한 시점에 리더션 존재하는 튜플들 괄호 횡단이 레코드의 집합이 릴레이션 인스턴스입니다. 네 동적 특성이 있다. 넘어가겠습니다. 릴레이션의 특성입니다. 릴레이션 특성 이것도 시험에 자주 나와요.
08:33
릴레이션 특성은 첫 번째 유일성을 가져야 돼 무슨 말이냐 하나의 릴레이션에는 동일한 튜플이 존재하면 안 된다. 해당 표에요. 회원가입 멤버 테이블이에요. 회원가입 테이블인데 홍길동이라는 사람이 회원 가입한 게 두 개가 이렇게 정보가 저장되어진다 문제가 있죠. 왜 문제가 있느냐 해당 테이블에 프라이머리 키를 지정 안 한 케이스예요. 그런 경우에 두 개가 입력될 수도 있거든요. 근데 이제 해당 표 내에 저장되어져 있는 데이터를 저희가 레코드 단위로 처리할 때 각 레코드가 구분이 돼야 되거든요. 각 튜플이 구분되어야 되기 때문에 반드시 프라이머리 키를 지정해 가지고 중복값은 입력 안 되게끔 막아야죠 그래서 하나의 릴레이션에는 동일한 튜플이 존재하면 안 돼 튜플의 유일성 튜플의 무성 무순서라고 돼 있어요.
09:30
하나의 릴레이션에는 튜플 사이에 가로 횡단위별 위아래 순서 이거는 크게 고려사항이 아니야. 세로 열 단위도 마찬가지예요. 속성의 무순서라고 해서 하나의 릴레이션에서 속성 사이에 이 앞뒤 순서는 크게 많은 의미를 가지지 않는다. 마지막으로, 속성의 원자석 속성값으로는 원자값만 사용할 수 있어 더 쪼갤 수 없는 그 말입니다. 취미라는 해당 필드 앱 낚시 영화 이렇게 두 개 들어가면 안 된다는 말이에요. 하나씩만 들어가게끔 해야 된다. 다음 관계 데이터 모델의 개요로서 무결성 제약 조건이라고 해서 요 파트도 시험에 한 번씩 나오는 편이에요. 지금 아까 제가 서두에 시작할 때 말씀드렸다시피 이 부분이 중요합니다. 이 내용이 지금 관계 데이터베이스 모델 이 내용이 중요합니다.
10:28
무결성 제작 특권이라는 것은 데이터의 무결성을 보장하고 무결성은 뭔데 무결성은 데이터에 결함이 없는 상태를 이야기하고 정확하게 정확하고 유효하게 유지하는 것을 말한다. 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙이 무결성 제약 조건인데 무결성 제약 조건은 다시 두 개로 나눠져요 그래서 여기 설명 문구 있잖아요. 요거를 제시해 놓고요. 보기에서 고르세요. 이런 문제 자주 나와요. 기본키를 구성하는 모든 속성은 nural 값을 가질 수 없다. norl이라는 게 아니라 nu가 아니라 nule nule nural nule 네 빈 공백이라든지. 그런 부분을 이야기하는 거예요. 기본키는 반드시 어떤 값을 가져야 돼요.
11:17
그리고 중복된 값을 가지면 안 되고 그게 뭔데 개체의 무결성 제약 조건이야 개체 무결성 제약 조건 개체 무결성 제약 조건은 기본키를 구성하는 모든 속성은 널 값을 가지면 안 돼 참조 무결성 제약 조건 참조하는 무결성 제약 조건은 외래키로 참조 외래키는 참조할 수 없는 값을 가지면 안 돼 외래키는 다른 해당 테이블의 프라이머리 키가 a라는 테이블에 id라고 하는 프라이머리 키가 b라는 테이블의 id라는 해당 컬럼이 왜 이렇게를 참조할 수 있어요. 왜 이렇게를 참작할 수 없는 값이 있으면 안 되죠. 무결성 제약 요건에 위반됩니다. 퀴즈 릴레이션에 포함되어 있는 튜플의 수는 뭔데 개념 문제입니다. 릴레이션은 해당 테이블 표였고요. 튜플은 뭐였어요.
12:14
튜플은 해당 가로 횡단이 이거였어요. 이게 몇 개 있느냐 라는 걸 뜻하는 건 뭐였냐면 용어가 가디넬로티였습니다. 카디넬로티 1번이 정답입니다. 릴레이션에 포함되어 있는 튜플의 수는 가디넬로티 이번 한 릴레이션의 기본키를 구성하는 어떠한 속성 값도 널 값이나 중복 값을 가지면 안 돼라는 것을 의미하는 건 뭔데 방금 저희가 학습했던 개체 무결성 제약 조건입니다. 개체 무결성 제약 조건이었고 한 가지 더 제가 살펴봤던 거 뭐였죠 외래키는 참조할 수 없는 값이 있으면 안 돼 참조 무결성 제약 조건이었고요. 이 문제에서 요구하는 기본키는 어떠한 경우도 널값 등급 간을 맞는데 개체 무결성 제약 조건입니다.
13:12
관계 데이터 연산에 대해 저희가 살펴보겠는데 용어가 시험 출제 기준에서는 관계 데이터 언어라고 표현이 되어 있고요. 일부 데이터베이스 관련 교재에서는 관계 데이터 operation이라고 해서 연산이라는 용어도 씁니다. 자 관계 데이터 연산 관계 데이터 언어는 두 가지 대상을 가지는데 포함을 하는데 관계대수와 관계대수와 이거 지금 개념도예요. 관계해석으로 나눠집니다. 관계대수는 절차적 언어고요. 관계 해석은 비절차적 언어입니다. 세부적으로 뒤에 살펴볼 거예요. 그 다음에 관계대수는 다시 일반집합연산자와 순수관계 연산자를 가집니다. 일반집합연산자에는 다시 집합연산자예요.
14:01
집합 수학에서 저희가 집합이라고 해서 합집합 합치는 거 집합을 교집합 공통되어진 것만 뽑아내는 거 차집합 해당 이 집합에서 얘를 뺐어요. 빼고 남아 있는 거 그다음에 카티션 프로젝트 이거는 이제 교차곱이라고 이야기를 합니다. 교차곱 한글로는 카티션 프로젝트 시험에서는 이게 자주 나와요. 카티션 프로덕트 뒤에 살펴보겠습니다. x로 되어 있습니다. 곱한다. 순수 관계 연산자 셀렉트 프로젝트 조인 디비전 이렇게 네 가지가 있어요. 시그마 파이 기호는 기호는 이러한 기호들로 표시를 합니다. 디비전에 나눈다는 거죠. 뒤에 더 상세히 살펴볼게요 관계 해석에는 두 가지가 있다. 도메인 관계 해석과 튜플 관계 해석 자 세부 내용 살펴봅니다.
15:01
관계 데이터 연산이라는 건 뭐 내리 관계 데이터 모델에 대한 연산을 이야기하는 거고, 원하는 데이터를 얻기 위해서 릴레이션에 필요한 처리 요구를 수행하는 것이고. 관계대수와 관계 해석이 포함되어진다 관계대수는 원하는 결과를 얻기 위한 포커스가요 데이터의 처리 과정 프로세스요 데이터의 처리 과정을 순서대로 기술한 거야. 절차적으로 기술한다. 순서대로 절차적으로 절차적으로 기술한다. 관계 해석은요, 원하는 결과를 얻기 위해 여기까지 같아요.
15:42
처리를 원하는 데이터가 무엇인가 데이터에 포커스를 맞춰 가지고 기술하는 비절차적 절차를 따지지 않는 비절차적 기술 그리고 과정이 아니라 데이터가 무엇인가에 포커스를 둔다 관계해석 관계대수 위주로 살펴보겠습니다. 관계대수 내용이 많아요. 관계대수는 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 절차적 언어야 릴레이션으로 처리하는 연산자들이 있는데, 총 8개의 연산자가 있어 양분을 하게 되면 집합 일반 집합 연산자 4개와 그리고 순수 관계 연산자 4개 총 8개 대표 연산자로 이용을 합니다. 8개 대표 연산자를 이용하고요. 폐쇄 특성이 존재하는데 피연산자도 릴레이션이고 연산의 결과도 릴레이션이다.
16:38
관계 내설 연산자의 종류는 일반 집합 연산자 합집합 교집합 차집합 카티션 프로덕트 순수 관계 연산자 select project 조인 디비전 총 8개 있습니다. 일반 집합 연산자부터 살펴보면 릴레이션이 튜플의 집합이라고 하는 개념을 이용하는 연산자였이다. 튜플의 집합이라고 하는 부분 자체는 횡단이요를 이야기하는 거예요. 튜플의 집합 개념을 이용한 연산자인데 연산자 종류는 합집합 이름이 집합이에요. 일반 집합연산자 집합연산자 그래서 집합의 종류는 합집합이 있고 교집합이 있고 차집합이 있고 사용되어진 기호는 합집합은 u로 표시하고요. 교집합은 뒤집어 놓은 모양 차집합은 빼기로 표시하고요. 카티션 프로덕트는 x 곱하기로 표시를 합니다.
17:34
의미적인 부분은 두 개의 해당 릴레이션의 합집합이라고 하는 부분은 보다시피 r이라고 하는 집합과 s라고 하는 집합이 이렇게 있는데, 얘를 합쳤다 합쳐가지고 한 덩어리 됐다. 합집합 교집합은 반대로 교차되어지는 부분만 공통적인 부분만을 남긴 거예요. 이게 교집합 그다음에 차집합은요, 뺀 거예요. r에서 s를 뺐으면 이것만 남는 거고, s에서 r을 빼면 이것만 남았죠 차집합 그다음에 카테이션 프로젝트 릴레이션 r 각투 튜플과 릴레이션 s 각 튜플을 모두 연결해서 만들어진 새로운 튜플의 반환인데 이거는 꼭 피해서 구해요. 뒤에서 개념 보도록 하겠습니다. 구체적으로 일반 집합 연산자 특성은요, 피연산자가 두 개 필요해요.
18:31
그래서 두 개의 릴레이션을 대상으로 연산을 수행할 수 있어요. 표가 두 개 필요하다 표가 합집합 교집합 차집합은 피연산자인 두 릴레이션이 합병 가능해야 되는데 합병 가능하기 위한 조건이 있어요. 두 릴레이션에 차수가 같아야 된다. 아까 차수가 뭐였어요. 차수는 해당 테이블 레이의 필드의 개수였죠 해당 테이블레이에 열의 개수 이게 차수였어요. 그다음에 두 릴레이션에서 서로 대응되는 속성의 도메인이 같아야 돼 속성의 도메인은 뭐였어요. 입력할 수 있는 데이터 형식이었어요. 여기에 인트 정수값 입력하라는데 일단 다른 데이터 여기 정수라고 설정해놨는데 문자를 누르면 오류가 떠요 데이터 타입 안 맞아서 입력 못해 이렇게 되거든요. 자 일반 집합 연산자에서 다 건너뛰고요.
19:27
아까 합집합 교집합 차집합 건너뛰고 마지막 네 번째 게 카티션 프로덕트 이게 시험에 자주 나옵니다. 카티션 프로덕트에 대해 구체적으로 살펴보면 두 릴레이션 r과 s의 카티션 프로젝트는 교차곱인데 곱셈 형태로 표시를 합니다. 릴레이션 r에 속한 각 튜플과 릴레이션 s에 속한 각 튜플을 모두 연결해서 새로운 튜플로 결과 릴레이션을 구성을 하는데 해당 결과 릴레이션은요, 차수는요 차수라는 게 뭐예요? 열 개수 그죠 릴레이션 r과 s에 차수를 더한다. 릴레이션 r이 r은요, 예를 들어서 이렇게 차수가 3개고요. 릴레이션 s는 예를 들어서 이렇게 열의 개수가 2개예요.
20:27
그러면 결과 릴레이션의 차수는 몇 개 3 더하기 5개가 되고요. 차수 디그리는 5개가 되고요. 카데널러티는 여기 이제 입력 데이터 횡단이에요. 횡단위 입력 데이터 2고 이거는요 r과 s의 카데널리티를 곱한다. 예를 들어서 두 개 두 개라고 하게 되면 2 곱하기 2 해가지고 카드널리티는 4개가 되는데 뒤에 문제가 나옵니다. 문제 풀면 이해가 될 거예요. 다음 예입니다. 카티션 프로덕트 연산의 예인데요. r 릴레이션은 차수가 2고요. 차수가 2고요. 그다음에 괄호 3개 카데널리티는 3이에요. 이거 이거 개수 3개죠 3 s도 마찬가지 차수 디그리 디그리 차수가 2개고요.
21:26
그다음에 카데널리티가 3개예요. 카디널리티가 3개다 그런데 얘를 카티션 프로젝트 연산을 수행해서 만든 릴레이션은요, 차수는 하나 둘 셋 넷 합쳐서 4개예요. 그다음에 튜플스는요 튜플스는 곱해요. 얘가 3개고요. 얘가 3개예요. 그러면 3 곱하기 3 해 가지고 개수가 몇 개 만들어졌느냐 총 9개 만들어졌을 겁니다. 차수근 4개 그다음에 카디널티는 9 이렇게 릴레이션으로 만들어졌어요. 자 그 다음에 음 순서 관계 연산자는 그냥 연산자의 종류만 이해하시면 돼요. 연산자 종류 4가지가 있다. 순수 관계 연산자는 릴레이션 구조와 특성을 이용하는 연산자인데 연산자의 종류는 4가지인데 select 영어로도 나옵니다.
22:22
select project 조인 디비전 표시 기호는요 셀렉터는 시그마로 이렇게 시그마 그리스 소문자 시그마 프로젝트에는 파이 그다음에 조이는 이렇게 라미 넥타이 모양 디비전은 나누기 시그마는 셀렉터는 릴레이션 안에서 조건을 만족하는 투표를 반환한다. 셀렉트 모든 거 프라임 해당 멤버 테이블 웨어라고 하는 조건을 줘가지고 웨어 아이디가 아니면 주소가 서울시인 거 이런 식으로 해서 조건을 만족하는 걸 뽑아낸다 프로젝트는 주어진 속성의 값들로만 구성되어진 튜플을 반환한다. 조이는 공통 속성을 이용한 릴레이션 r과 s의 튜플을 연결하여 만들어진 새로운 튜플류를 반환한다. 디비전은 릴레이션 s의 모든 튜플과 관련이 있는 릴레이션 r의 튜플을 반환한다. 이렇게 되어 있는데요.
23:20
개념도 여기 보면 순수관계 연산자의 종류와 기능인데 셀렉트는 조건을 만족하는 것만 뽑아낸다는 말이에요. 이게 이제 촛불이라고 보면 돼요. 그런데 프로젝트는 쇠로의 길쭉이라고 해서 이렇게 쇠로이 길쭉이 이렇게 있습니다. 프로젝트는 릴레이션 r에서 주어진 속성들의 열이었잖아요. 속성들의 값으로만 구성되어진 튜플을 반환한다. 이렇게 돼 있었습니다. 그다음 조이는요 합치는 거죠. 조이는 연결하는 겁니다. 튜플들을 연결해가지고 연결해서 만들어진 새로운 튜플의 반환 마지막으로, 디비전은 해당 릴레이션 s의 모든 튜플과 관련이 있는 릴레이션 r의 튜플들을 반환 이렇게 돼 있는데, 개념만 종류만 구분할 수 있으면 돼요. 넘어갈게요 관계해석 한 페이지로 그냥 정리했는데 여기서도 한 문제 나옵니다. 관계해석 알짜만 뽑았어요.
24:19
관계해석 개념은 처리를 원하는 데이터가 무엇인가에 중심이 되어져서 기술을 하고 비절차적 언어다 순서적인 측면 자체를 따지는 게 아니다. 처리를 원하는 데이터가 뭐냐를 기술하는 언어다 수학의 프레디킷 해석이라고 하는 프레디킷 프레디킷 해석에 기반을 두고 있고요. 관계 해석의 분류 종류로는 슈플 관계 해석과 도메인 관계 해석 두 가지 있다. 그러면 뒤에 문제 위주로 정리해 보도록 하겠습니다. 관계 데이터 언어 퀴즈입니다. 릴레이션 r은 차수가 4야 열이 4개야 그리고 카디놀로티가 5개야 그러면 r은요, 이렇게 생겼다는 거예요.
25:15
하나 둘 셋 넷 다섯 개 하나 둘 셋 요렇게 열이 4개 카데널리티 네 이렇게 5개 이렇게 있다. r이고요. 그다음에 s는요 차수가 6이에요. 차수가 열이 6개라는 거예요. 둘 셋 넷 다섯 6개 그다음에 카를레이트가 7개예요. 하나 둘 셋 넷 다섯 여섯 일곱 개 이렇게 네 구성되어 있는데, 두 릴레이션을 카티션 프로덕트 카티션 프로젝트 한 결과 새로 만들어지는 릴레이션의 차수와 카디널리티는 어떻게 되느냐 카티션 프로젝트로 구하는 결과에 새로운 카티션은 차수는 더해 차수는 4와 6이니까. 더하면 차수는 10 이고요.
26:14
카디널로티는 곱해요. 그래서 r 카데널리티는 5고요. s 카디널티는 7이에요. 5 곱하기 7은 57에 35 정답은 3입니다. 차수는 10 카데널로티는 35 기출문제입니다. 다음 관계 해석에서요 이거는 제가 설명 안 했기 때문에 문제를 설명하려고 포함시킨 겁니다. 관계 해석 관계 해석에서 for 올 모든 것에 대하여를 의미하는 논리 기호는 뭔데 설명 안 드렸어요. 한번 설명드리면, 그냥 안 잊어버리고 기억할 수 있을 겁니다. for 이렇게 돼 있어요. 모든 것 a요 a를 거꾸로 뒤집어요. 그러면 이 모양이 나옵니다. 이게 모든 것을 의미하는 논리 기호예요. 그래서 정답은 3번이고요.
27:11
그 다음에 요거는요 이를 좌우반전시켰죠 존재하는 데오 이그지스트 데어 이그지스트를 나타내는 이그지스트 존재하는을 나타내는 논리 기호입니다. a는요 그다음에 이거는 부분함수 원소 원소 나타내는 거고, u는 이거는 합집합이죠. 합집합 나타내는 기호구 그래서 폴은 3번입니다. 시스템 카 어 시스템 카탈로그와 뷰인데 뷰는 저희가 sql 응용에서 먼저 다뤘습니다. 또 저기 소프트웨어 개발 파트의 데이터베이스 데이터 입출 구현에서도 뷰라는 부분을 또 저희가 학습을 미리 했어요. 시스템 카탈로그에 포커스를 두고 정리하시면 돼요. 시스템 카탈로그는요 앞서서 저희가 했던 것 중에 데이터 사전과 연관성이 있습니다.
28:02
데이터틱셔너리 자 데이터베이스의 객체인 사용자 릴레이션 뷰 인덱스 권한 등과 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스가 시스템 카탈로그야 매 회차 한 문제 시험 나옵니다. 카탈로그에 저장된 데이터를 메타데이터라고 해 데이터에 관한 데이터가 메타데이터죠 데이터 사전 부분에서 메타데이터라는 용어가 나왔습니다. 있어요. 시스템 카탈로그는 사용자 및 질의 최적화 모듈 등 dbms 자신의 구성 요소에 의해서 사용되고 시스템 카탈로그는 관계 데이터베이스마다 표준화가 되지 않아서 서로 약간 다를 수 있어 그리고 데이터 사전 또는 시스템 테이블이라고도 불린다 라고 돼 있습니다. 카테고리의 특징입니다. 시스템 카테고리는 사용자가 sqr문으로 내용을 검색을 할 수 있느냐 할 수 있어요.
29:00
사용자가 sqr문으로 내용검색은 가능해요. 근데 사용자가 sql문으로 사용이 불가능한 게 있어요. 그게 뭐냐 불가능한 거는 갱신은 안 돼요. 수정은 안 돼요. 보는 거는 되지만 사용자가 sql문으로 갱신은 불가능하다 이거 시험에 자주 나옵니다. 데이터베이스 관리 시스템에 의해서 생성 및 유지되어지고요. 사람에 의해서가 아니라 데이터베이스 관리 시스템에 의해서 생성 및 유지되고 기본 테이블 뷰 인덱스 등이 변경되면 자동으로 시스템 카테고리는 갱신되어집니다. 위치 투명적 및 중복 정류장 제어하기 위해서 모든 제어 정보 포함한다. 시스템 카테고리에 포함되어지는 내용의 예입니다. 릴레이션에 대한 정보 인덱스 관련되어진 정보 사용자와 관련되어진 사용자 계정 정보나 권한 정보 그다음 통계에 관련되어진 정보 가 시스템 카테고리의 내용입니다.
29:57
뷰 개념은요, 앞서 저희가 했기 때문에 개요도만 살펴보고 넘어갈게요 가상 테이블이에요. 물리적 테이블이 아니라 논리적 테이블입니다. 하나 이상이 물리적 테이블로부터 생성 가능합니다. 뷰의 장점은 논리적 독립성 사용자 데이터 관리가 용이 데이터 보안에 용이하다는 게 장점이었고 단점은 뷰 자체는 인덱스가 불가해 왜 논리 테이블이니까. 물리 테이블이 아니라 그리고 뷰의 정의가 변경이 안 된 뷰는 정의를 수정할 수 없어요. 옳다 구문으로 수정할 수 없고 지우고 다시 만들어야 돼요. 데이터 변경의 제약이 존재한다는 게 단점입니다. 시스템 카탈로그와 뷰에 대한 퀴즈 시스템 카탈로그에 대한 설명으로 틀린 것은 시스템 카탈로그는 dbms가 생성하고 유지하는 데이터베이스인데 특별한 테이블들의 집합 제한의 dbms가 생성을 유지한다. 맞습니다.
30:54
일반 사용자도 시스템 카테고리 내용을 검색할 수는 있소 맞습니다. 검색은 돼요. 보는 건 돼요. 시스템 카테고리 레이의 각 테이블은 dbms에서 지원하는 개체들에 대한 정보를 포함하고 있어 아까 다양한 릴레이션에 대한 정보 뷰에 대한 정보 다 있었죠. 시스템 카테고리에 대한 갱신 갱신 수정은 데이터베이스의 무결성을 유지하기 위해서 사용자가 직접 갱신하면 안 돼요. 그래서 4번이 틀렸습니다. 다음 모의평가 문제 이 회차는 중요한 게 많아서 여섯 문제 풀어볼게요 여섯 문제 다음 올레이션의 디그리하고요. 카네널리티가 어떻게 되느냐 디그리가 차수고요. 열수죠 열의 개수 몇 개 하나 둘 셋 네 개 디그리가 4 정답 바로 나왔네요. 1번 정답입니다.
31:52
보기 항목에서 카데넬러티는 이거 가로횡 3 1번 정답입니다. 2번 릴레이션의 특징으로 거리가 먼 것은 1번 모든 튜플은 서로 다른 값을 가져야 돼 맞습니다. 중복된 해당 튜플이 저장되면 안 된다. 그랬죠 모든 속성의 값은 원자값이어야 돼 더 분해할 수 없는 값이어야 된다. 튜플 사인은 순서가 없어 네 무순서라고 했고 각 속성은 유일한 이름을 가지며 속성의 순서는 큰 의미가 있어 이게 틀렸습니다. 속성의 순서도 무의미하다 라고 했었죠. 릴레이션특징 관계대수에 대한 설명으로 옳지 않은 것은 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적인 언어이다. 관계대수는 처리 과정을 중시한다고 했고 절차적으로 해야 된다.
32:52
그래서 비례절차가 언어다 이게 틀렸습니다. 관계대수에 대한 설명도 옳지 않은 거니까 릴레이션 조직을 위한 연산의 집합으로 피해환산자와 결과가 모두 릴레이션이야 맞고요. 일반 집합 연산과 순수 관계 연산으로 구분돼 맞고요. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시해야 된다. 맞습니다. 중요하기 때문에 제가 정답이 아닌 보기 항목도 읽으면서 계속 반복해서 설명을 드리는 거예요. 네 번째 관계 해석에 대한 설명으로 옳지 않은 것은 관계 해석은 수학의 preditic 해석에 기반을 두고 있어 같고요. 관계 데이터 모델의 제안자인 코드가 사람 이름입니다. 코드가 관계 데이터베이스에 적용할 수 있도록 설계하여 제안하였어. 맞고요. 튜플 관계 해석과 도메인 관계 해석 두 가지가 있어 네 맞습니다.
33:44
원하는 정보와 그 정보를 어떻게 유도하는가를 기술적으로 기술하는 절차적 특성을 가져 관계 해석은요, 절차가 중요하지 않았고 어떤 데이터 그리고 비절차적 특성을 가집니다. 비절차적 그래서 4번이 틀렸습니다. 절차적 특성은 관계대수가 대상이 됩니다. 5번 조건을 만족하는 릴레이션의 수평적 부분 집합으로 구성이 되어지고 연산자의 기호는 그리스 소문자인 시그마를 사용하는 관계대수연산은 뭔가 관계대수연산 중에서요 이 케이스는 집합 연산이 아니고요. 순수 연산 있었죠. 그 4개 중에 조건을 만족하는 릴레이션만 부분 집합으로 구하는 거는 시그마를 나타낸 건 뭐였냐면 셀렉트였습니다.
34:42
셀렉트 가 정답이고요. 프로젝트는 그리스 소문자로 파이를 나타냈고요. 조이는 이렇게 나비넥타이 모양 디비전은 나누기 이렇게 됐죠 마지막 6번 시스템 카탈로그에 대한 설명으로 옳지 않은 거 골라라 사용자가 직접 시스템 카탈고리 내용을 갱신하여 데이터 무게 요소를 유지할 수 있어 틀렸습니다. 데이터베이스 관리 시스템에 의해서 시스템 카탈로그는 갱신되고 무결승 유지됩니다. 사용자가 아닙니다. 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베이스에 맞고 시스템 카탈로그에 저장되는 내용을 메타데이터라고 해봤고 시스템 카탈로그는 dbms가 스스로 생성하고 유지한다. 맞습니다. 핵심 정리로 정리하겠습니다.
35:35
관계 데이터 모델은 실세계의 데이터를 행과 열로 구성되어진 표 형태로 저장하고 한 테이블의 필드 값을 이용하여 다른 테이블에 관련된 데이터를 찾는 식으로 검색하는 데이터 모델이다. 관계 데이터 모델 관련되어진 기본 용어로서 릴레이션 속성 어트리뷰트 튜플 도메인 차수 카디널 어티 이런 것들이 있었고, 구분할 수 있어야 돼요. 뭔가를 제시하려고 이거에 대한 설명 용어로 옳은 거 골라 이렇게 했을 때 릴레이션 특성과 무결성 제약 조건에 대한 개념도 정리해 둘 필요가 있습니다. 관계 데이터 모델의 연산이며 원하는 데이터를 얻기 위해서 릴레이션에 필요한 처리 요구를 수행하는 것으로 관계대수와 관계 해석 두 가지가 있었습니다.
36:25
관계대수에 대한 개념 연산자 종류 관계에 대해서는 일반 집합 연산자와 순수 관계 연산자 4개씩 해서 총 8개의 연산자를 사용을 했었고요. 관계 해석은 비절차적 언어 특성이 있었고, 데이터가 뭔데 라는 부분이었죠. 시스템 카탈로그와 부 뷰입니다. 마지막으로요 시스템 카탈로그는 데이터베이스 객체와 구조에 관한 모든 데이터를 포함하는 시스템 데이터베이스였고요. 뷰는 가상 테이블로 구성하는 데이터베이스 오브젝트로 별도의 저장 공간은 없지만, 뷰를 통해서 에스큐엘문 셀렉트 딜리트 업데이트 할 수 있었습니다. 이상으로 관계 데이터베이스 모델에 대해 살펴봤는데 이 내용 굉장히 시험에 자주 나오는 내용들로 구성되어 있기 때문에 꼭 숙지하시고 문제 반복해서 푸시면서 익혀놓으세요. 이상으로 마치겠습니다.
37:20
논리데이터베이스 설계의 두 번째 데이터모델링 및 설계에 대해 살펴보도록 하겠습니다. 학습 목표인데요. er 표기법 엔터티 릴레이션십 개체관계 표기법 즉 개체관계 다이어그램을 그릴 수 있는지라는 부분이라고 보시면 될 것 같고요. er표기법에 따라서 주제 영역별로 개체와 식별자를 포함한 속성을 도식화 그리고 그리고 개체 간의 관계 관계수 기수성이라고 하는 부분은 관계수를 이야기합니다. 1대1 1대 다 뭐 1대 다 관계 네 식별 및 비식별 관계를 도식화할 수 있다. 이알다의 그림을 그릴 수 있다.
38:04
두 번째 개체 및 속성 원자성과 속성 내에 더 분해할 수 없게끔 유일한 해당 속성 하나씩만 들어가게끔 원자성과 함수의 종속성을 분석하여 데이터베이스 정규화 논리 데이터베이스 파트에서요 논리 논리적 데이터베이스 설계에 있어서 제일 키포인트가 데이터베이스의 정규화입니다. 그래서 정규화 문제는 데이터베이스 구축 파트에서 두 문제 이상 꼭 나옵니다. 정규화 대상 개체를 도출하고 데이터베이스의 정규화를 수행할 수 있다. 중요한 부분입니다. 논리데이터모델에 대하여 정확성 완전성 준거성 최신성 일관성 활용성이라고 하는 여섯 가지의 품질 기준을 적용을 하고 세부 내용은 뒤에 살펴보도록 하겠고요.
38:58
개체 속성 관계에 대하여 체크리스트를 작성한 후에 검증 결과에 따라 논리 데이터 모델 품질 검증 결과서를 작성할 수 있다. 라는 세 가지의 학습 목표를 갖고 내용 살펴보도록 하겠습니다. 내용은요, 총 5가지인데 이 파트는 해당 ncs 학습 모듈하고 내용이 좀 많이 상이합니다. 다르기 때문에 해당 강의 ppt 중심적으로 학습하시기를 권해드립니다. 데이터 모델 개념에서부터 개체 관계 모델 논리적 데이터 모델링 데이터베이스 정규와 논리 데이터 모델 품질 검증인데 이 중에서 중요한 부분 자체는 첫 번째 두 번째 네 번째 위주로 보시면 좋을 것 같고, 찝어서 말씀드릴게요. 중요한 거 자 용어 사전에서는 데이터 모델하고요. 그다음에 이상 현상에 대해서 간단히 살펴보고 내용 보도록 하겠습니다.
39:53
데이터 모델이란 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화 그리고 추상화 앱스트럭션 해서 체계적으로 표현한 개념적 모델이 데이터 모델입니다. 그리고 이상현상이라는 건 말 그대로 이상하다 이상하다 불필요한 데이터 중복으로 인해서 원인은 불필요한 데이터 중복으로 인해서 릴레이션에 대한 릴레이션은 테이블이라고 보시면 돼요. 릴레이션에 대한 데이터의 삽입 변동 사항이 되는 것 삽입 수정 삭제 트랜잭션이라고 이야기하죠. 해당 이러한 연산을 수행할 때 발생할 수 있는 부작용이 이상 현상이냐 본 내용 보도록 하겠습니다. 데이터 모델부터 보도록 하겠는데 데이터 모델 개념에서 데이터베이스의 개발 절차는 어떻게 돼 먼저 요구사항 분석을 하죠. 요구사항 분석을 한 다음에 전략 수립 단계에서 개념적 데이터 모델링을 수행을 합니다.
40:53
결과치는 이알 다이어그램을 그리게 됩니다. 개체관계 다이어그램을 그리게 되고 분석 단계에서 논리적 데이터 모델링 그리고 설계 단계에서 물리적 데이터 모델링 그리고 개발 단계에서 데이터베이스를 구축을 해서 운영 시스템 내에 데이터베이스가 만들어져요 자 먼저요 데이터 모델에 대한 개념입니다. 데이터 모델의 정의 부분 이 문구를 잘 좀 정리를 해 주시는 게 좋습니다. 문제화해서 나오기가 좋아요. 또 기출문제도 나왔고 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위하여 단순한 추상화하는 체계적으로 표현한 개념적 모형이라고 되어 있고요. 데이터 모델링이라고도 하고 데이터 모델이라고도 하는데 차이는 뭔가요 어디 모델링이라고 하는 부분 자체는 ing죠 과정이죠. 모델링을 통해서 만들어진 결과가 모델이에요.
41:53
이렇게 구분하시면 되겠습니다. 자 데이터 모델의 종류 세 가지 있어요. 데이터 모델은 개념적 데이터 모델 논리적 데이터 모델 물리적 데이터 모델이 있습니다. 그리고 데이터 모델의 구성 요소 세 가지 자 저희 필기는 시험 문제 유형이 사지삼답형이죠. 객관식 그러면 여기다가 엉뚱한 보기 하나 추가시켜 가지고 다음 중 데이터 모델 구성 요소가 아닌 거 골라 이렇게 문제화되기 쉽겠죠. 네 그래서 꼭 기억하세요. 데이터 모델의 구성 요소는 개체 속성 관계 밑에 있는 것도 마찬가지 데이터 모델에 표시할 요소도 세 가지거든요. 구조 연산 제약 조건 세부 내용을 뒤에 살펴보겠는데 이 첫 번째 페이지에 있는 이 내용들 조금 중요합니다. 데이터 모델의 개념에서 데이터 모델링 절차 모델링은 과정이라고 말씀드렸어요. 순서적인 부분 순서적인 부분이 이렇게 올라갑니다.
42:50
개념적 데이터 모델링 다음 논리적 데이터 모델링 다음 물리적 데이터 모델링 이렇게 돼 있고요. 해당 개념된 데이터 모델링을 통한 산출적인 부분은 er 다이어그램 엔터티 엔터테 릴레이션십 다이어그램 개체관계 다이어그램 그리게 되고 논리적 데이터 모델링에서는 각 개념을 구체화하고 erd 개체관계 다이어그램을요 rdb 관계형 데이터베이스 모델하고 사상은 맵핑시킨다. 매치시킨다. 라고 보시면 돼요. 그리고 상세 속성을 정의하고 정규화 여기가 제일 중요 파트인데 어디에서 정규화 과정을 진행한다. 논리적 데이터 모델링 과정에서 종교화를 지정합니다. 그리고 물리적 데이터 모델링에서는 개체와 인덱스 등 생성 그리고 데이터베이스 개체종이 테이블 및 인덱스를 설계한다.
43:44
데이터 모델 개념에서 첫 번째 데이터 모델 개념적 데이터 모델부터 살펴보면 개념적 데이터 모델은 비슷한 정의들입니다. 보면 문구가 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 그리고 속성들로 기술되어진 개체타입 개체는 나중에 관계형 데이터베이스에서는 테이블로 표시가 되어지죠 테이블은 가로 행과 세로 열이 만나서 테이블을 만 테이블을 구성하잖아요. 구성하는데 속성은 세로 열입니다. 세로 열 부분이 속성이고요. 그리고 가로 행 부분이 레코드가 됩니다.
44:30
레코드 자 속성들로 기술되어진 개체 타입과 이 개체들 간의 관계를 이용하여 현실 세계를 표현한다는 현실 세계에 존재하는 개체를 인간이 이해할 수 있는 정보 구조로 표현하기 때문에 이 과정을 뭐라고 하느냐 정보 모델링 그리고 만들어진 결과는 뭐다 정보 모델이라고 합니다. 대표적인 개념적 데이터 모델로서는 er 모델이 있다. 엔터티 개체 r 릴레이션십 관계 개체관계 모델이 있습니다. 밑에 예시로 er 다이어그램을 하나 그려놨어요. 고객과 예약서 간에 선이 연결되어 있기 때문에 관계가 있는데, 중간에 어떤 관계가 있느냐 예약이라는 관계가 있어 고객이 예약을 해서요. 예약서를 작성한다. 이 말이고요. 관계수는 한 사람이 예약서를 여러 개 작성할 수 있다. n은 그리고 동그라미는 속성입니다.
45:29
고객이 가지고 있는 속성은 번호 이름 예약서는 예약번호 수량 뒤에 더 구체적으로 볼게요 두 번째 데이터 모델의 종류 논리적 데이터 모델입니다. 일반적으로 데이터 모델이라고 한다면, 빨갛게 표시되어 있는 것부터 먼저 설명드릴게요. 논리적 데이터 모델을 의미를 합니다. 논리적 데이터 모델의 정의는 한 내용도 앞서서 데이터 모델과 개념적 데이터 모델하고 비슷해요. 우선은 개념적 모델링 과정에서 얻은 개념적 구조를 개념적 모델링 다음 단계가 논리적 데이터 모델링이니까. 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계화의 환경에 맞도록 변환하는 과정이 논리적 데이터 모델 입니다. 논리적 데이터 모델은 필드가 새로 열이에요.
46:22
필드로 구성되어진 기술되어진 데이터 타입과 그리고 이 데이터 타입 간의 관계를 이용하여 현실 세계를 표현한다. 이렇게 보시면 될 것 같고요. 특정 데이터베이스 관리 시스템 dbms는 특정 논리적 데이터베이스 모델 하나만 선정하여 사용한다. 이렇게 돼 있고 논리적 데이터 모델의 종류는 다시 관계모델 대표적인 겁니다. 대표적으로 그래서 저희가 관계 데이터 모델 먼저 학습을 했었어요. 그리고 종류에서는 계층 모델도 있고 네트워크 모델도 있는데, 이 부분은 상세하게는 제가 설명을 안 드릴게요. 네 세 번째 데이터 모델의 종류 물리적 데이터 모델입니다. 물리적 데이터 모델은요, 논리적 데이터 모델에서 레코드의 상세 스펙 등을 기술한 모델로 실제 컴퓨터에 데이터가 저장되는 방법을 정의한다. 데이터베이스 개체 정의와 테이블 및 인덱스 등 설계하는 부분이 여기에 해당됩니다. 다음 데이터 모델의 구성요소입니다. 세 가지 있었죠.
47:22
데이터 모델 구성요소 기억하셔야 돼요. 개체 관계 먼저 개체부터 살펴봅니다. 네 개체가 엔터티예요. 개체는 데이터베이스에 표현하려는 것인데 사람이 생각하는 개념이나 정보 단위와 같은 현실 세계의 대상체가 개체야 파일 시스템에서는 레코드에 대응한다고 되어 있습니다. 파일 시스템에서 레코드라는 부분은 부분은 필드의 모임이 레코드예요. 엑셀에서요 레이 예를 들어 출석부가 있다고 가정할게요 출석부에서 성명이 있어요. 성명은 하나의 필드예요. 이름이 홍길동인 사람 손 들어 하니까 한 명이 아니라 두 명이 손 들었어요. 정확한 정보가 아니죠. 정보이긴 해요. 예를 들어서 20명 중에 두 명이 골라졌으니까 그런데 필드는 불완전한 정보 표현 단위라고 이야기를 합니다.
48:16
그런데 학번이 2110 구인 홍길동 하게 되면 두 개가 조합되면서 전데요. 라고 한 사람이 딱 남습니다. 그래서 두 개 이상의 필드가 모여서 구성하는 단위가 레코드 단위고 완전한 정보 표현 단위가 됩니다. 파일 시스템의 레코드에 대응하는 게 개체다 어떤 정보를 제공하는 역할을 수행해 이렇게 돼 있고요. 독립적으로 존재하거나 그 개체로 구분이 가능합니다. 유일한 식별자에 의해서 식별되어진다 다른 개체와 하나의 사람의 관계를 가진다 라는 특징이 있습니다. 속성입니다. 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위가 된다. 이 정의 문구도 시험에서 이렇게 제시해놓고요. 데이터베이스를 구성하는 가장 작은 논리적 단위에 해당하는 걸 고르세요. 1번 개체 2번 속성 3번 관계 4번 엉뚱한 거 이렇게 하면 속성을 고를 수 있게끔 이 개념 잡아 적립하셔야 돼요.
49:16
파일 구조상에서는 데이터 항목 또는 데이터 필드 열입니다. 밑에 보면 교수 개체라고 해서 표가 하나 제시되어져 있는데, 속성이라는 게 이 열을 이야기합니다. 교수 번호 성명 전공 이게 각각의 속성 열 필드 필드 네 그다음에 인제 교수 번호 네 성명 전공 소속이 데이 객체 타입이 되고 그다음에 담겨진 각각의 교수의 횡단위별이 인스턴트가 됩니다. 게스트의 인스턴트 다음 관계로 넘어갈게요 관계는 개체하고 개체 사이에 서로 논리적으로 연결되어 있다라는 부분을 뜻하고요. 관계의 종류는 1대1로 하나당 하나씩 연결되어졌다 1대1 또는 1대 다 대 다 와 같은 관계가 있습니다.
50:13
네 다음 넘어갈게요 데이터 모델에 표시할 요소도 세 가지 데이터 모델을 표시할 요소는요 구조와 연산과 제약 조건이 있는데, 마찬가지 설명 문구를 보고 해당 요소를 고를 수 있을 정도로 매칭시켜 놓으시면 좋을 것 같고, 구조 structure는 먼데 논리적으로 표현되어진 개체들 간의 관계로서 관계로서 데이터 구조 및 정적 성질을 표현한다고 되어 있고요. 연산에는 뭔가 동작이에요. 데이터베이스에 저장되어진 실제 데이터를 처리하는 작업 처리하는 작업에 대한 명세 구체적인 어떤 설명으로서 데이터베이스를 조작하는 기본 도구가 된다. 마지막으로, 제약조건은 아시죠. 뭔가 제약적인 부분을 주는 거죠. 데이터 위에 저장할 수 있는 실제 데이터의 논리적 제약 조건 세 가지 데이터 모델에 표시할 요소입니다.
51:09
자 해당 학습한 내용 문제 가지고 정리해 볼게요 문제 나올 수 있는 유형입니다. 데이터베이스의 설계 순서로 옳은 것을 고르라 이렇게 나오면 어 설계는 안 했는데 설계가 모델링이라고 생각하시면 돼요. 그래서 데이터베이스의 모델링 순서로 옳은 것을 골라라 이렇게 이해를 하시고 푸시면 되는데 자 아까 모델링의 절차는 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 그 순서로 있는 거 찾아보세요. 제일 처음은 요구조건 분석부터 시작했어요. 그다음이 개념적 논리적 물리적 1번이 정답입니다. 개념적 설계 논리적 설계 물리적 설계 구현 다음 두 번째 어트리비트에 대한 설명으로 틀린 것을 골라라 이렇게 돼 있습니다. 속성에 대한 설명 중 틀린 거 속성은 개체의 특성을 기술을 해요. 아까 교수 개체에서 보면 교수 번호 이름 각각의 하나의 특성이죠.
52:08
속성은 데이터베이스를 구성하는 가장 작은 논리적 단위입니다. 맞죠. 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당되어져요 맞습니다. 마지막 틀렸는데 왜 틀렸느냐 속성의 수를 카디넬로티라고 한다. 속성의 수는 테이블에서 테이블을 구성하는 속성은 해당 열이라고 했어요. 열의 개수 열의 개수는 디그리입니다. 디그리 관계 데이터 모델에 관련되어진 용어 네 문제 잘 나온다고 말씀드렸어요. 그래서 틀린 것은 속성의 수는 카데놀로티가 아니라 디그리입니다. 다음 세 번째 데이터 모델에 표시할 요소 중에 데이터베이스에 표현되어질 대상으로서 개체 타입과 개체들 간의 관계를 서술한 것이다.
52:59
이게 뭔데 데이터 모델에 표시할 요소 세 가지는 스트럭처 구조 오퍼레이션 연산 그다음에 제약 조건 이 세 가지였죠 여기서 어떤 관계를 서술한 어떤 구조적 측면에 대한 거 뭐야? 스트럭처죠 1번이 정답입니다. 자 두 번째 내용으로 개체 관계 모델에 대해 살펴보도록 하겠습니다. 개체 관계 모델은요, 개념적 데이터 모델의 가장 대표적이다. 1976년에 피터 chan에 의해서 제안되어졌습니다. 개체 관계 모델 er 모델은요, 개체 타입과 이들의 관계 타입을 이용해서 현실 세계를 개념적으로 표현한다. er 모델에선 데이터를 개체와 관계와 속성으로 묘사하고요.
53:50
그리고 개체 간의 관계는 1대1 1대 n은 1대 다 1대 다 그리고 n 대 m은 다 대다 등의 관계 유형으로 제한 없이 나타낼 수 있다. 그리고 최초 개체 관계 속성과 같은 개념들이 나타났지만 이걸로 구성했다가 나중에는 일반 계층과 같은 복잡한 개념이 첨가된 확장된 모델로 발전해 왔습니다. 이 개체관계 모델에서는 시험에 자주 나오는 부분은 뭐냐 하면 er 다이어그램입니다. 개체관계 다이어그램에 대한 기호 기호가 어떤 기능으로 표현하는지 이런 부분들의 문제형이 자주 나왔어요. er 다이어그램은 er 모델의 기본 아이디어를 이해하기 쉽도록 기호를 사용해서 시각적으로 표현한 그림이라고 되어 있고요. 최초로 제안했던 인원 대상자가 feature chan이었죠.
54:41
그래서 erdier라는 표기법은 fit20의 표기법과 그리고 정보공학 영어로 인포메이션 엔지니어링 머릿결만 따내면 i e ie 표기법이라고도 합니다. ie 표기법 정보공학 표기법 그 다음에 바커 표기법 이 세 가지가 있어요. 우선 다이어그램적인 측면에서는 피트 차인의 표기법 이게 시험에 자주 나와요. 그래서 기호를 제시해놓고, 의미 이렇게 매칭한다든지 아니면 기호의 이름은요, 사각형은 개체를 나타내요 마름모는 속성을 나타내요 이러면 틀린 거예요. 마름모는 관계를 나타냅니다. 이렇게 구분하게끔 익히셔야 돼요.
55:24
기호사경은 개체 타입 개체를 나타내고 마름모는 관계 그리고 원은 타원은 속성 그리고 이중 타원은 다중값 속성이라고 해서 복합 속성 그다음에 동그라미 밑줄 쫙 그어져 있는 부분은 얘는 기본키라고 해서요.
55:44
개체를 구분할 수 있는 고유 식별자 교수 개체에서는 교수 번호 학생 개체에서는 학번이라는 것들을 가지고 고유하게 누구다 라는 걸 알 수 있게끔 구분할 수 있는 기본키 그리고 복수타운이라는 분은 복합 속성이다 라고 하면 이름 같은 경우에는 성씨와 이름 홍길동 그런 케이스가 복수타운 여기 이름은 성은 홍이고 그다음에 이름은 길동 이렇게 자 그다음에 관계는 1:1일 때 다르다 관계가 있고 그다음에 선이 개체 타입과 속성을 연결하는 부분이 됩니다. 이알다익은 표기법 세 가지 있었죠. 피터 차이너 표기법이 있고요. 그다음에 정보공학 표기법이 있고요.
56:38
바커 표기법이 있는데, 일반적으로 개체 간의 관계는 피터체 표기법을 많이 사용하고요. 그다음에 보면 관계에 대한 부분은 개체와 개체 간의 관계를 나타내는 부분 자체는 정보공학 표기법을 많이 사용을 하는 편입니다. 그래서 이 뒤에 우선은 피터 체인의 표기법 기준으로 해서 개체는 사각형 그다음에 개체가 가지고 있는 속성은 타원형 기본 키는 밑줄 이렇게 그어가지고 구분되어지게끔 했고 그다음에 관계는 마름모 정보공학 표현법에서는 해당 개체 이름이 위에 사각형 밖에 벗어나서 이름이 있고요. 그다음에 해당 사각형이 이렇게 구분선으로 구분되어 있는 위에 있는 게 얘가 기본키입니다. 기본키가 되고요. 그다음 밑에 있는 건 속성입니다. 그리고 바커 표입과 같은 경우에는 타원형 이렇게 모서리가 둥근 사각형으로 돼 있고요.
57:36
제일 상단에 개체 이름 그다음에 샵이 표시되어져 있는 게 이게 기본키예요. 근데 표입법에 약간 차이가 있습니다. 그리고 관계에다가 이 관계에 대한 동작적인 부분을 여기서는 표기를 해서 고객이 주문서를 주문한다. 주문서는 고객의 주문을 받는다. 이렇게 관계의 표현 및 이해 부분에서는 정보공학 표기법 위주의 관계에 익혀 놓으시면 좋을 것 같아요. 1대1은요, 이렇게 연결선에 이렇게 수직선으로 이렇게 꺼면 1대1 이렇게 1대1 그다음에 동그라미가 있는 부분은 없다는 말이에요. 한 사람이 주문을 할 수도 있고 안 할 수도 있죠. 주문이라고 한다고 친다면 주문을 안 할 수도 있어요.
58:28
그런 경우에는 0 동그라미 1:0 또는 여기 끝에 또 수직선이 있으니까 1대1 그래서 여기 관계가 보면 1:0 또는 1대1 관계는 이렇게 나타내 바커 표기법에서는 점선으로 이렇게 해가지고 실선 이렇게 하는데 바커 표기법보다는 정보공학 표기법이 많이 쓰입니다. 일대다는요 이렇게 까치발 형태로 해가지고 새 발자국처럼 이렇게 해서 까치발이라고도 해요. 일대다 1대1 또는 1대 다 1대0 또는 1대1 또는 1대 다 관계가 밑에 있는 건 다 가집니다. 자 문제 유형 이렇습니다. 이알 다이어그램이 구성 요소에 대한 표현으로 틀리기 작전인 걸 골라라 이렇게 돼 있습니다. 네 개체 집합은 직사각형 맞죠. 관계집합은 마름모 맞죠. 속성은 원이에요. 속성은 원 맞죠.
59:27
원으로 표시합니다. 링크는 화살표예요. 링크는 선이죠. 그래서 틀린 것은 4번입니다. 다음 논리적 데이터 모델링에 대해 살펴보겠는데 간단하게만 살펴보도록 하겠습니다. 이 부분은 다른 파트에서 저희가 다뤘던 내용이라서 중복되는 부분은 짧게 논리적 데이터 모델링의 정의입니다. 개념적 데이터 모델링 다음에 논리적 데이터 모델링 그다음이 물리적 데이터 모델링 이어지고 er 다이어그램으로 표현되어진 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적 구조로 정의하는 과정이 논리 데이터 모델링이고요. 해당 정확한 업무 분석을 위해서 자료 흐름을 분석할 때 사용하는 대상으로 양식이나 문서나 장표와 같은 것을 중심으로 자료 항목을 추출을 해서요. 추출된 엔터티와 속성과 관계를 구조적으로 정의하는 단계가 되겠습니다.
1:00:23
논리적 데이터 모델링의 특성은 해당 요구사항을 충분히 수집하지 못하면 다음 단계에서 변동사항이 생기게 되면 오히려 요구사항 변경에 따른 많은 비용이 발생할 수도 있다. 그리고 모든 이해 당사자와 의사소통의 보조 자료로 엔터티 릴레이션 모델을 사용하고 논리적 모델은 하류어나 소프트웨어에 종속적이지 않고 아직은 인디펜던트 독립적입니다. 물리적 데이터 모델링은 특정한 데이터베이스 관리 시스템을 사용한다. 그렇게 되면 그 해당 데이터베이스 관리 시스템 내에 또 sql문이라든지. 쿼리나 이런 문법이 약간 다릅니다. 네 그래서 종속적일 수 있어요. 그런데 논리적 데이터 모델은 하류어나 소프트웨어에 종속적이지 않는 단계입니다. 그리고 종류는 관계 데이터 모델 계층 데이터 모델 네트워크 데이터 모델이 있습니다. 간단하게 살펴봤지만 여기서 문제 뽑을 수 있는 유형은 이렇습니다.
1:01:22
데이터베이스 설계 시 논리적 설계 단계에 대한 설명으로 옳지 않은 것은 사용자 요구에 대한 트랜잭션을 모델링한다. 사용자 요구에 대한 트랜잭션을 모델링하는 부분은 요구사항 분석 단계에 있는 개념적 데이터 모델에 해당이 되어져요 그래서 1번이 틀렸습니다. 트랜잭션 인터페이스를 설계한다. 관계형 데이터베이스에서 테이블을 설계하는 단계이다. 맞고요. dbms 데이터베이스 관리 시스템에 앉는 논리적 스키마를 설계한다. 다음 데이터베이스 정규화 중요하다고 말씀드렸는데 해당 저희가 데이터베이스 정규화를 상세하게 다뤘던 파트는 두 번째 과목인 소프트웨어 설계 과목의 첫 번째였던 데이터 입출력 구현에서요 정규화 이 내용을 좀 더 상세하게 다뤘습니다.
1:02:20
그 부분을 참조하셔도 되고 저희는 이 파트에서는요 기출문제 중심적으로 문제 이용 중심적으로 반복 트레이닝 하는 거에 포커스 맞춰서 학습하겠습니다. 먼저 데이터베이스 정규화의 필요성입니다. 데이터베이스 정규화는 왜 필요한가 불필요한 데이터의 중복으로 인해 이게 원인이 되는 겁니다. 릴레이션에 대한 네 해당 테이블 데이터베이스에 데이터의 저장 단위는 테이블이죠. 테이블의 데이터를 변화를 주려고 해요. 그 변화의 종류가 삽입 추가시키려고 하고 기존에 저장되어 있는 걸 수정한다든지 또는 기존에 저장된 걸 삭제한다든지 이러한 변화를 주는 연산들 이게 트랜잭션이죠. 트랜잭션을 수행하려고 하는데 안 된다는 거예요. 부작용이 생길 수 있다. 그래서 그 문제를 정규와 노멀리제이션을 통해서 이상현상 그러한 부작용이 이상현상이에요.
1:03:12
이상현상의 종류는 삽입 이상 갱신수정 이상 삭제 이상이 있을 수 있겠죠. 삽입은 사유 안 된다는 거고, 수정은 수정이 안 된다는 거고, 삭제는 엉뚱한 게 삭제된다. 이 말입니다. 자 정교화 정교화는 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념이야 릴레이션을 관련 있는 속성들로만 관련 있는 속성들로만 구성되도록 릴레이션의 테이블을 네 붙여가는 게 아니라 분할해 가는 분해해 가는 과정입니다. 자 종교화 문제 반드시 시험 문제 데이터베이스에서 두 문제 꼭 나온다고 생각하시고요. 반드시 익혀 놓으세요. 해당 이 그림을요 나중에 시험 보실 때 자주 보세요. 시험 보기 전에 꼭 보고 들어가셔 가지고 정규화가 되지 않은 경우가 비정규형입니다.
1:04:09
비정규형이고 여기 nf라고 돼 있는 부분 자체가 해당 n이 노멀리제이션의 머릿걸이예요. 정규 정규 그리고 f는 폼이에요. 형 노멀리제이션 폼이 nf예요. 그래서 1nf 이렇게 하게 되면 제1정규형 자 비정규형을요 제1 정규형이 되도록 하는 그 과정 처리가 제1 정규화 작업입니다. 제1 정규화 작업은 어떤 작업을 하느냐 속성에 필드에 반복되는 속성이나 그룹 속성을 제거를 해서 더 분해할 수 없는 상태 원자값이라고 이야기해요. 원자값 즉 중복 속성을 제거한다. 이게 제1 정규화 작업입니다.
1:04:59
중복 속성 제거하는 게 제1 정규화 그 다음에 제1 정규형을 제2 정규형으로 만드는 과정은 제2 정규화 과정인데 주식별자의 완전하게 종속되지 않는 부분종속성 제거 장황하게 설명하는 보기보다는 이렇게 짤막하게 설명하는 보기가 나와요. 그렇기 때문에 제1정규화는 중복 속성 제거 제2 정규화는 부분 종속성 제거 이렇게 암기하시면 좋아요. 이 정규형에서 제3정규형으로 되는 과정은 제3정규화입니다. 비식별자에 종속되는 속성제거라고 돼 있는데, 이 설명보다는 이거요 이행종속성 이행 종속성 제거 이행 종속성 제거라고 하는 부분은 해당 나중에 저기 문제에서 나옵니다. a가 a는 b야 b는 c로 이렇게 되어 있습니다.
1:05:57
a는 그러면 c가 되냐 꼭 그렇지 않거든요. 그렇게 된다라고 하는 게 이행 종속성인데 그걸 제거하는 게 제3 정규화입니다. 그리고 제3 정규형을 bcnf는 보이스 코드 정규형입니다. 보이스 코드 정규형이 되게끔 하는 부분은 이거는 뭐 제4 정규화가 아니라 후보키가 아닌 후보키가 아닌 결정자를 제거 후보키가 아닌 결정자 제거 이렇게 설명도 되고요. 결정자이면서 후보키가 아닌 것을 제거한다. 그렇게도 표현되어집니다. 3 정규형에서 보이스코드 정규형이 되는 과정은 처리 절차는 후보 기간이 결정자 제거이고요. 보이스코드 정규형을 제4 정규형이 되게끔 하는 제4 정규화 과정은 다치 종속성 제거 다치 종속성 제거 이렇게 그냥 암기하세요.
1:06:52
마지막은요, 제4정규형을 제5정규형으로 만드는 네 제5정규화 과정은 조인종속성 제거 조인종속성 제거 합치는 부분의 양입니다. 조인시킨다. 이것을 반복해서 저희가 문제 풀면서 다시 익힐게요 정기관리 목적은 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화 그리고 데이터 모형 단순화 구조의 안정성과 무결성 유지 그리고 속성 배열 상태 검증 엔터티 속성의 노력 여부 검증 수단 그리고 자료 검색 및 추출의 효율성 추구되고 정규화의 특성이 오히려 시험에 자주 나오는데 제일 마지막에 보세요. 정규화가 완료되어진 데이터 모델은 어떤 특성이 있다. 정확하고 일치 그리고 단순 그리고 중복성이 아닙니다. 비중복성 마지막 안정성을 보장한다. 문제 풀면서 정리하겠습니다. 데이터베이스 정규화 문제 유형입니다.
1:07:50
다음 정규화에 대한 설명으로 틀린 걸 골라라 데이터베이스의 개념적 설계 단계에서 수행한다. 틀렸습니다. 언제 데이터베이스 설계 과정 중 단계 중에 논리적 설계 단계에서요 개념적이 아니라 이게 중요합니다. 논리적 설계단계 에 키 포인트가 종교화라고 그랬어요. 네 그래서 틀린 건 일 번입니다. 개념적 설계 단계가 아니라 논리적 설계 단계에서 수행하고요. 데이터 구조의 안정성을 최대화한다. 중복을 배제해서 삽입 삭제 갱신이 갱신의 이상이 발생이 안 되게끔 한다. 방지한다. 맞고요. 데이터 삽입할 때 릴레이션 재구성할 필요성을 줄인다 맞습니다. 다음 문제 다음 정의에서 말하는 기본 정규형은 뭐 네니 기본 정규화가 아니라 정규형을 묻습니다. 정규화 과정을 거쳐서 만들어진 결과치를 묻는 거예요.
1:08:46
어떤 릴레이션 r에 속한 모든 도메인이 원자값을 갖는다 더 분해할 수 없는 네 단계의 값을 갖는다 이거는 뭐예요? 제1정규화가 중복속성 제거였어요. 제1정규화인 중복 속성을 제거한 결과로 만들어진 게 제1정규형입니다. 그래서 표기는 제1정규형 1nf라고 표기합니다. 정답은 1번입니다. 정규화 과정을 거쳐서 만들어진 결과치 네 제1 정규화 과정을 거쳐서 만들어진 결과치는 제1 정규형이고 제2 정규화 과정을 거쳐서 만든 결과치는 제2 정규형이라 3번입니다. 3nf는 3정규형이죠.
1:09:38
그리고 bcnf는 보이스코드 정규형인데 3정규형에서 보이스코드 정규형이 되기 위한 조건은 뭔데 후보키가 아닌 결정자 제거 또는 결정자이면서 후보키가 아닌 거 그 설명 찾아보세요. 결정자이면서 후보키가 아닌 거 제거 4번이 정답이고요. 좀 더 트레이닝 해볼까요? 이행적 함수 종속 제거는 뭘까요? 요거는 제 몇 정규화 3정규화 제3정규화 이행적 함수 종속제거 부분적 함수 종속제거는 제2정규화 이렇게 반복 트레이닝을 하겠습니다. 제2정규화 다치종속제거는 제 4종규화 과정이 되겠습니다.
1:10:34
자 논리 데이터 모델 품질 검정 이게 마지막 부분인데요. 논리 데이터 품질 검정 부분은 해당 좋은 데이터 모델이 되는 조건하고요. 그다음 바로 뒤에 보면 데이터 모델 품질 검정 기준이라고 여섯 개 있는 거 그냥 해당 요건적인 부분 설명이 제시됐을 때 구분할 수 있는 정도만 개념 정리만 하고 넘어갈게요 좋은 데이터 모델의 조건은 완전해야 돼 완전성 그리고 중복이 없어야 돼 중복 베이징 그리고 어떠한 비즈니스 룰을 가지고 있어야 돼 업무 규칙이라든지. 수많은 업무 규칙을 데이터 모델로 표현하고 이를 해당 데이터 모델을 활용하는 모든 사용자가 그 규칙을 공유할 수 있게 제공해야 돼 데이터 재사용 수행이 가능해야 된다. 안정성이 있고 활용성이 높아야 돼 간결해야 돼 의사소통이 가능해야 돼 그리고 통합적인 어떠한 기능도 있어야 돼 네 라고 하니 몇 가지인가요?
1:11:32
둘에 여섯 여덟 가지 요건이 좋은 데이터 모델의 조건이 됩니다. 다음 데이터 모델 품질 검정 기준 6개입니다. 6개 6개인데 내용이 많아서 제가 슬라이드별로 3개 3개씩 이렇게 해놓았는데요. 마찬가지 해당 의미와 기준 개념 정립 매치할 수 있을 정도만 익히고 넘어갈게요 정확성 정확하다는 거죠. 데이터 모델이 표기법에 따라서 정확하게 표현이 되어졌느냐 네 업무 영역 또는 요구사항이 정확하게 반영되어졌느냐를 의미한다. 완전성 완전성 데이터 모델의 구성요소를 정의하는 데 있어서 누락 없이 누락 없이 빠지는 거 없이 완전하게 표현이 잘 됐느냐 준거성이라는 건 정해져 있는 규칙을 잘 따랐느냐 어떤 데이터 표준이나 표준화 규칙을 잘 준수했느냐라는 게 준거성이고요.
1:12:27
그리고 최신성은 현행 최신의 현행 어떤 상태를 반영하고 있느냐 일관성은 해당 내용 자체가 왔다 갔다 이렇게 바뀌지 않고요. 개체가 일관성 있게 사용이 되어졌느냐 모델 표현상의 일관성을 유지하고 있느냐 마지막으로, 활용성 해당 이게 여러 파트에서 활용이 되어지느냐 작성된 설명 내용이나 모델표기 등이 사용자로 모델을 보는 사람에게 충분히 이해가 될 수 있고 모델의 작성 어휘들을 명확하게 이해할 수 있느냐 데이터 모델의 유연성을 가지고 있느냐 이러한 기준 항목에 해당되는 게 활용성입니다. 자 모의평가를 정리하고요. 해당 내용 정리할게요 1번 현실 세계의 정보들을 컴퓨터가 표현하기 위하여 단순화 추상화하여 체계적으로 표현한 개념적 모형을 무엇이라고 하는가? 제일 첫 번째죠 데이터 모델에 대한 정의 문구입니다.
1:13:26
데이터 모델 논리적 모델 물리적 모델 이렇게 있는데, 데이터 모델의 다시 하위 종류가 개념적 모델 논리적 모델 물리적 모델이죠. 현재 설명문구에서는 데이터 모델을 정의하고 있습니다. 2번입니다. 개체 관계 모델의 er 다이어그램에서요 개체 관계 다이어그램에서 사용하는 기호와 그 의미 연결이 옳지 않은 것 틀린 걸 골라라고 되어 있습니다. er 다이어그램에 대한 기호 문제 한 문제 나올 확률이 높습니다. 사각형 개체였죠 개체 사각형 개체 그다음 삼각형 속성 틀렸습니다. 속성 뭐였죠 동그라미 타원형 네 그래서 이번 틀렸고 선은 해당 연결을 뜻하고 마름모는 관계야 네 맞습니다. 3번입니다. 정규화의 목적으로 옳지 않은 것은 어떤 릴레이션이라도 데이터베이스 내에 표현을 가능하게 만든다. 맞고요.
1:14:26
데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다 네 오케이 맞구요. 삽입 수정 삭제 이상을 중복을 제거해서 방지한다. 정규형 목적이었고 중복을 배제하여 배제하여 삽입삭제 갱신의 이상 발생 이상 발생을 야기한다. 이게 틀렸습니다. 호능되죠. 여기까지는 맞아요. 발생까지는요 발생을 야기라는 걸 일으킨다는 말인데 일으키는 게 아니라 안 일어나게 막는다 방지한다. 방지한다란 표현이 맞는 표현이고 야기한다는 아닙니다. 효과적인 검색 알고리즘을 생성할 수 있다. 다음 정규화 과정에서요 a가 b가 되고 b는 c가 될 때 a는 c라고 하는 관계가 형성될 수 있는데, 이걸 제거하는 단계는 뭐야? 네 옮겨가는 거죠.
1:15:26
옮겨가는 거 그래서 이걸 이행이라고 이야기합니다. 트랜스 트랜지션요리 그걸 막는다 이행종속 제거라는 부분은 몇 정규화였냐면요 네 제3정규화였어요. 제3정규화 과정을 거쳐서 만든 정규용은 뭘까요? 제3정규용이겠죠. 그러면 제2정규형에서 제3정규형이 되는 그 과정에 적용되어지는 게 제3정규화이니까. 제2정규형에서 제3정규용 사이의 단계 그래서 2번이 정답입니다. 마지막 5번입니다. 정규화 문제 명확하게 익히세요.
1:16:08
정규화 과정 중에 bcnf에서 4nf가 되기 위한 조건은 뭔데 보이스코드 정규형에서요 4정규형이 되기 위한 조건 이 과정에서 적용하는 정규화의 단계는 재사정규화이겠죠. 제사정규화는 뭐다 제사정규화는 다치종속제거가 제4정규화였습니다. 조임 종속성 이용이 아니라 제거라고 하는 부분은 제5 정규화이고요. 이행적 종속 함수 종속 제거가 제3 정규화 결정자이면서 후복 기간의 함수 종속은 제3 정규형에서 보이스코드 전기용이 되는 과정 있죠. 여기서는 제4 정규화를 묶고 있기 때문에 보이스코드 전기용에서 4 전기용이 되기 위한 조건은 제4 정규화 다치 종속 제거입니다.
1:17:09
네 핵심 정리 다시 한번 되짚어 볼게요 키포인트 데이터 모델 개념입니다. 데이터 모델은 현실 세계의 정보들을 컴퓨터에 표현하기 위하여 단순한 추상화하여 체계적으로 표현한 개념적 모형이야 데이터 모양의 종류요 세 가지 있습니다. 개념적 데이터 모델 물리적 논리적 데이터 모델 물리적 데이터 모델 그리고 데이터 모델 구성 요소도 세 가지 네 세 가지 있어요. 시험에 자주 나올 수 있어요. 개체 속성 관계 데이터 모델을 표시할 요소도 세 가지 구조 연산 제약 조건 두 번째 개체 관계 모델에서는 er 다이어그램의 기호별 해당 의미 매치시켜서 기억하시면 좋을 것 같아요.
1:17:53
사각형 개체 마름모 관계 타원형 속성 그다음에 밑줄 그어진 원형은 기본키 선은 해당 개체 타입 속성 연결 논리적 데이터 모델링은 er 다이어그램으로 표현한 개념적 구조를 데이터베이스에 저장한 형태로 표현한 논리적 구조를 정의하는 과정이고 논리적 모델은 하드웨어와 소프트웨어에 의존적이지 않고 독립적이다. 종류는 관계 데이터 모델 계층 데이터 모델 네트워크 데이터 모델이 있다. 데이터 전개가 중요하다고 말씀드렸어요. 밑에 있는 해당 이 그림을 출력을 해서 자주 보세요. 아예 머릿속에 암기해버리세요. 자주 보셔가지고, 두 문제는 꼭 나온다고 생각하시면 돼요.
1:18:42
중복성을 최소화하고 정보의 일관성 보장을 위해서 릴레이션을 관련 있는 속성들로 구성되도록 릴레이션을 분해하는 과정이 정교화 과정이고 제1 정교화부터 제5 정교화까지 있다. 1 정규화는 비정규형을 제1 정규형으로 만드는 과정이고 중복 속성 제거 제2 정규화는 부분 종속성 제거 제3 정규화는 이행 종속성 제거 그리고 제3 정규형을 보이스코드 정규형으로 만드는 과정은 후복기가 아닌 결정자 제거 보이스코드 정규형을 제4정규형으로 만드는 제4정규화 과정은 다체 종속성 제거 마지막으로, 제4정규화를 정규형을 제5정규형으로 만드는 과정은 제5정규화 조인종속성 제거 암기하세요.
1:19:33
논리 데이터 모델 품질 검정에서는 좋은 데이터 모델 조건으로서 8가지 조건 완전성 중복 제거 비즈니스 룰 데이터 재사용 안정성 및 활용성 간결성 의사소통 통합성 있었고, 데이터 모델 품질검정 기준은 정확성 완전성 준거성 최신성 일관성 활용성이 있었습니다. 이상으로 데이터 모델링 및 설계 마치도록 하겠습니다.
'정보박사 정보처리기사 필기강의 > 데이터베이스 구축' 카테고리의 다른 글
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 5.데이터 전환 (0) | 2025.05.26 |
---|---|
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 4.물리 데이터베이스 설계 (0) | 2025.05.26 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 2.SQL 활용 (0) | 2025.05.24 |
정보박사 2023년 정보처리기사 필기 강의 제3과목 데이터베이스 구축 1.SQL 응용 (0) | 2025.05.24 |