정보처리기사 실기 - 응용 SW 기초 기술 활용(3)
SW 관련 신기술
인공지능(AI; Artificial Inteligence)
- 인간의 두뇌와 같이 컴퓨터 스스로 추론, 학습, 판단 등 인간지능적인 작업을 수행
뉴럴링크(Neuralink)
딥 러닝(Deep Learning)
- 인간의 두뇌를 모델로 만들어진 인공 신경망(ANN; Artificial Neural Network)을 하는 기계 학습 기술
전문가 시스템(Expert System)
- 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램
증강현실(AR; Augmented Reality)
- 실제 촬용한 화면에 가상의 정보를 부가하여 보여주는 기술
블록체인(Blockchain)
- P2P 네트워크를 이용하여 온라인 금융 거래 정보를 온라인 네트워크 참여자(Peer)의 디지털 장비에 분산 저장하는 기술
분산 원장 기술(DLT; Distributed Ledger Technology)
- P2P 망 내의 참여자들에게 모든 거래 목록이 분산 저장되어 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장
해시(Hash)
- 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환
양자 암호키 분배(QKD; Quantum Key Distribution)
프라이버시 강화 기술(PET; Privacy Enhancing Technology)
- 개인정보 침해 위험을 관리하기 위한 핵심 기술
공통 평가 기준(CC; Common Criteria)
개인정보 영향평가 제도(PIA; Privacy Impact Assessment)
- 개인정보를 활용하면서 미칠 영향에 대해 미리 조사-분석-평가하는 제도
그레이웨어(Grayware)
- 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 악성 코드나 악성 공유웨어
매시업(Mashup)
- 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
리치 인터넷 애플리케이션(RIA; Rich Internet Application)
- 플래시 애니메이션 기술과 웹 서버 애플리케이션 기술을 통합
시맨틱 웹(Semantic Web)
- 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 이해하기 쉬운 의미를 가진 차세대 지능형 웹
증발품(Vaporware)
- 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에세 판매되거나 배포되지 않고 있는 소프트웨어
오픈 그리드 서비스 아키텍처(OGSA; Open Grid Service Architecture)
- 애플리케이션 공유를 위한 웹 서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준
서비스 지향 아키텍처(SOA; Service Oriented Architecture)
- 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처
서비스형 소프트웨어(Saas; Software as a Service)
- 소프트웨어의 여러 기능 중에서 사용자가 필요로 하는 서비스만 이용할 수 있도록 한 소프트웨어
소프트웨어 에스크로(Software Escrow)
- 소스 프로그램과 기술 정보 등을 제3의 기관에 보관
복잡 이벤트 처리(CEP; Complex Event Processing)
- 실시간으로 발생하는 많은 사건들 중 의미가 있는 것만을 추출할 수 있도록 사건 발생 조건을 정의하는 데이터 처리 방법
디지털 트윈(Digital Twin)
소프트웨어 개발 보안
관련 기간
- 행정안전부
- 한국인터넷진흥원(KISA)
- 발주기관
- 사업자
- 감리법인
소프트웨어 개발 직무별 보안 활동
- 프로젝트 관리자(Project Manager): 보안 전략을 전달
- 요구사항 분석가(Requirement Specifier): 보안 요구사항을 설명
- 아키텍트(Architect): 보안 요구사항을 적용
- 설계자(Designer): 보안 요구사항의 만족성 여부를 확인, 최선의 문제 해결 방법을 결정
- 구현 개발자(Implementer): 시큐어 코딩 표준을 준수하여 개발
- 테스트 분석가(Test Analyst)
- 보안 감시자(Security Auditor)
HW 관련 신기술
고가용성(HA; High Availability)
- 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축
3D Printing(Three Dimension Printing)
- 대상을 손으로 만질 수 있는 실제 물체로 만들어내는 것
4D Printing(Fourth Dimension Printing)
- 자가 조립(Self-Assembly) 기술이 적용된 제품을 3D Printing하는 기술
RAID(Redundant Array of Inexpensive Disk)
- 여러 개의 하드디스크로 디스크 배열을 구성하여 파일을 구성하고 있는 데이터 블록들을 서로 다른 디스크들에 분산 저장할 경우, 그 블록들을 여러 디스크에서 동시에 읽거나 쓸 수 있으므로 디스크의 속도가 매우 향상되는데, 이 기술을 RAID라고 한다.
4K 해상도
- 가로 픽셀 수가 3840이고, 세로 픽셀 수가 2160인 영상의 해상도
앤 스크린(N-Screen)
- N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스
컴패니언 스크린(Companion Screen)
- 방송 내용을 공유하며 추가적인 기능을 수행할 수 있는 스마트폰, 태블릿PC 등을 의미
신 클라이언트 PC(Thin Client PC)
- 기본적인 메모리만 갖추고 서버와 네트워크로 운영되는 개인용 컴퓨터
패블릿(Phablet)
- 태블릿 기능을 포함한 5인치 이상의 대화면 스마트폰
USB(Universal Serial Bus) Type-C
- 기존 A형에 비하여 크기가 작고, 24핀으로 위아래의 구분이 없어 어느 방향으로든 연결이 가능
멤스(MEMS; Micro-Electro Mechanical Systems)
- 초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터 등 기계 구조를 다양한 기술로 미세 가공하여 전기기계적 동작을 할 수 있도록 한 초미세 장치
트러스트존 기술(TrustZone Technology)
- 하나의 프로세서 내에 일반 애플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안 구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술
엠디스크(M-DISC, Millenial DISC)
- 한 번의 기록만으로 자료를 영구 보관할 수 있는 광 저장장치
멤리스터(Memristor)
- 메모리(Memory)와 레지스터(Resister)의 합성어로, 전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자
Secure OS
- 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제
보호 방법을 구현하기 복잡한 것부터 차례로 분류
- 암호적 분리
- 논리적 분리
- 시간적 분리
- 물리적 분리
참조 모니터(Reference Monitor)
- 보호 대상 객체에 대한 접근통제를 수행하는 추상머신
참조 모니터와 보안 커널의 특징
격리성(Isolation)
검증가능성(Verifiability)
완전성(Completeness)
DB 관련 신기술
빅데이터(Big Data)
- 기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합
브로드 데이터(Broad Data)
- 다양한 채널에서 소비자와 상호 작용을 통해 생성된 것
디지털 아카이빙(Digital Archiving)
- 디지털 정보 자원을 장기적으로 보존하기 위한 작업
하둡(Haddop)
- 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크
맵리듀스(MapReduce)
- 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델
- 흩어져 있는 데이터를 연관성 있는 데이터 분류로 묶는 Map 작업을 수행한 후 중복 데이터를 제거하고 원하는 데이터를 추출하는 Reduce 작업을 수행
타조(Tajo)
- 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트
데이터 다이어트(Data Diet)
- 데이터를 삭제하는 것이 아니라 압축하고, 중복된 정보는 중복을 배제하고, 새로운 기준에 따라 나누어 저장
데이터 마이닝(Data Mining)
- 대량의 데이터를 분석하여 데이터에 내재된 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법
OLAP(Online Analytical Processing)
- 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식
- OLAP 연산: Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing
회복 / 병행 제어
회복(Recovery)
- 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업
- 회복 기법으로는 연기 갱신 기법, 즉각 갱신 기법, 그림자 페이지 대체 기법, 검사점 기법이 있다.
연기 갱신 기법(Deferred Update)
- 트랜잭션이 성공적으로 완료될 때까지 데이터베이스에 대한 실질적인 갱신을 연기
- Redo 작업만 가능
- 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법
- Redo와 Undo 모두 사용 가능
그림자 페이지 대체 기법(Shadow Paging)
- 트랜잭션 작업을 Rollback 시킬 때는 갱신 이후에 실제 페이지 부분을 그림자 페이지로 대체하여 회복시키는 기법
검사점 기법(Check Point)
- 장애 발생 시 트랜잭션 전체를 철회하지 않고 검사점부터 회복 작업을 수행하여 회시간을 절약하도록 하는 기법
병행제어(Concurrency Control)
- 동시에 실행되는 트랜잭션 간의 상호 작용을 제어하는 것
- 병행제어 기법으로는 로킹, 타임 스탬프 순서, 최적 병행수행, 다중 버전 기법이 있다.
로킹(Locking)
- 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스 할 수 있도록 하는 기법
타임 스탬프 순서(Time Stamp Ordering)
- 시간표(Time Stamp)를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
최적 병행수행
- 병행수행하고자 하는 대부분의 트랜잭션이 판독 전용(Read Only) 트랜잭션일 경우, 병행제어 기법을 사용하지 않고 실행되어도 이 중의 많은 트랜잭션은 시스템의 상태를 일관성 있게 유지한다는 점을 이용
다중 버전 기법
로킹 단위(Locking Granularity)
교착상태(Dead Lock)
- 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
교착상태 발생의 필요 충분 조건
상호 배제(Mutual Exclusion)
- 한 번에 한 개의 프로세스만이 공유 자원을 사용
점유와 대기(Hold and Wait)
- 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
비선점(Non-preemption)
- 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
환형 대기(Circular Wait)
- 공유 자원과 공유 자원을 사용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함
교착상태의 해결 방법
예방 기법(Prevention)
- 교착상태가 발생하지 않도록 사전에 시스템을 제어
- 교착상태 발생의 네 가지 조건 중에서 어느 하나를 제거함으로써 수행
- 자원의 낭비가 가장 심함
회피 기법(Avoidance)
- 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해나가는 방법
- 주로 은행원 알고리즘(Banker's Algorithm)이 사용됨
발견 기법(Detection)
- 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 것
- 교착상태 발견 알고리즘과 자원 할당 그래프 등을 사용할 수 있음
회복 기법(Recovery)
- 교착상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
데이터 표준화
- 시스템을 구성하는 데이터 요소의 명칭, 정의, 형식, 규칙에 대한 원칙을 수립하고 적용하는 것을 의미
데이터 표준화 구성 요소
- 데이터 표준: 표준 단어, 표준 도메인. 표준 코드, 표준 용어
- 데이터 관리 조직
- 데이터 표준화 절차
데이터 표준화의 대상
- 데이터 명칭
- 데이터 정의
- 데이터 형식
- 데이터 규칙