본문 바로가기

ETC/자격증

[정보처리기사실기]용어 정리 2

반응형

- 단순성(UI 설계 지침)
조작 방법은 가장 간단하게 작동되도록 하여 인지적 부담 최소화

 

- 결과 예측 가능(UI 설계 지침)
작동시킬 기능만 보고도 결과 예측이 가능해야 함

 

- 가시성(UI 설계 지침)
주요 기능을 메인 화면에 노출하여 쉬운 조작이 가능해야 함

 

- 표준화(UI 설계 지침)
디자인을 표준화하여 기능 구조의 선행 학습 이후 쉽게 사용 가능해야 함

 

- 접근성(UI 설계 지침)
사용자의 직무, 연령, 성별 등이 고려된 다양한 계층을 수용해야 함

 

- 명확성(UI 설계 지침)
사용자가 개념적으로 쉽게 인지해야 함

 

- 오류 발생 해결 (UI 설계 지침)
사용자가 오류에 대한 상황을 정확하게 인지할 수 있어야 함

 

- 기능성(Functionality)(UI 품질 요구사항)
실제 수행 결과와 품질 요구사항과의 차이를 분석하고, 실제 사용 시 정확하지 않은 결과가 발생할 확률과 관련하여 시스템으로 동작을 관찰하기 위한 품질 기준

 

- 적절성(Suitality) : 소프트웨어 제품이 주어진 작업과 사용자의 목표에 필요 적절한 기능들을 제공해 줄 수 있는 소프트웨어적인 능력

 

- 정밀성(Accuracy) : 소프트웨어 제품이 요구되는 정확도로 올바른 결과를 산출할 수 있는 능력

 

- 상호 운용성(Interoperability) : 소프트웨어 제품이 특정 시스템과 상호작용하여 운영될 수 있는 능력

 

- 보안성(Security) : 비인가된 접근을 차단하고, 우연 또는 고의적인 접근을 인지하여 대처할 수 있는 능력

 

- 호환성(Compliance) : 소프트웨어 제품이 비슷한 환경에서 연관된 표준, 관례 및 규정을 준수하는 능력

 

- 신뢰성(Reliability)(UI 품질 요구사항)
시스템이 일정한 시간 또는 작동되는 시간 동안 의도하는 기능을 수행함을 보증하는 품질 기준

 

- 성숙성(Maturity) : 소프트웨어 결함으로 인한 고장을 회피할 수 있는 소프트웨어의 능력

 

- 고장 허용성(Fault tolerance) : 소프트웨어 결함이나 인터페이스 오류 시에도 특정 수준 이상의 성능을 유지할 수 있는 능력

 

- 회복성(Recoverability) : 소프트웨어 고장 발생 시 영향을 받은 데이터를 복구하고 성능의 수준을 다시 확보할 수 있는 능력

 

- 사용성(Usability)(UI 품질 요구사항)
사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지할 수 있는 품질 기준

 

- 이해성(Understandability) : 소프트웨어의 논리적인 개념과 적용 가능성(응용 가능성)을 구분하는 데 필요한 사용자의 노력 정도에 따른 소프트웨어 특성

 

- 학습성(Learnability) : 소프트웨어 애플리케이션 학습에 필요한 사용자의 노력 정도에 따른 특성

 

- 운용성(Operability) : 소프트웨어의 운용과 운용 통제에 필요한 사용자의 노력 정도에 따른 특성

 

- 효율성(Efficiency)(UI 품질 요구사항)
할당된 시간에 한정된 자원으로 얼마나 빨리 처리할 수 있는가에 대한 품질 기준

 

- 시간 효율성(Time Behaviour) : 소프트웨어의 기능을 수행하는 데 있어서 반응 시간, 처리 시간 및 처리율에 따른 소프트웨어 특성

 

- 자원 효율성(Resource Behaviour) : 소프트웨어의 기능을 수행하는 데 있어서 사용되는 자원의 양과 그 지속 시간에 따른 특성

 

- 유지보수성(Maintainability)(UI 품질 요구사항)
요구사항을 개선하고 확장하는 데 있어 얼마나 용이한가에 대한 품질 기준

 

- 분석성(Analyzability) : 소프트웨어 고장의 원인이나 결함 진단 또는 수정이 요구되는 부분의 확인에 필요한 노력 정도에 따른 소프트웨어 특성

 

- 변경성(Changeability) : 결험 제거 또는 환경 변화에 따른 수정에 필요한 노력 정도에 따른 특성

 

- 안정성(Stability) : 소프트웨어의 변경으로 발생하는 예상치 못한 영향에 의한 위험 요소에 따른 특성

 

- 시험성(Testability) : 소프트웨어가 변경되어 검증에 필요한 노력의 정도에 따른 특성

 

- 이식성(Portability)(UI 품질 요구사항)
다른 플랫폼(운영체제)에서도 많은 추가 작업 없이 얼마나 쉽게 적용이 가능한가에 대한 품질 기준

 

- 적용성(Adaptability) : 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 특정 환경으로 전환되는 능력에 따른 소프트웨어 특성

 

- 설치성(Installability) : 특정 환경에 소프트웨어를 설치하는 데 필요한 노력의 정도에 따른 특성

 

- 대체성(Replaceability) : 특정 운용 환경 하에서 동일한 목적 달성을 위해 다른 소프트웨어를 대신 사용할 수 있는 능력

 

- UI 지침

UI 표준에 따라 사용자 인터페이스 설계, 개발 시 지켜야 할 세부사항을 규정하는 가이드라인

 

- 3C 분석
고객(Customer), 자사(Company), 경쟁사(Competitor)를 비교하고 분석하여 자사를 어떻게 차별화해서 경쟁에서 이길 것인가를 분석하는 기법

 

- SWOT 분석
기업의 내부 환경과 외부 환경을 분석하여 Strength(강점), Weakness(약점), Opportunity(기회), Threat(위협) 요인을 규정하고 이를 토대로 경영 전략을 수립하는 방법

 

- 시나리오 플래닝(Scenario Planning)
불확실성이 높은 상황 변화를 사전에 예측하고 다양한 시나리오를 설계하는 방법

 

- 사용성 테스트(Usability Test)
사용자가 직접 제품을 사용하면서 미리 작성된 시나리오에 맞추어 과제를 수행한 후, 질문에 답하도록 하는 테스트

 

- 워크숍(Workshop)
소집단 정도의 인원으로 특정 문제나 과제에 대한 새로운 지식, 기술, 아이디어, 방법들을 서로 교환하고 검토하는 연구회 및 세미나

 

- 페르소나 정의(UI 개발 시 사용자 요구사항 도출 1단계)
잠재적 사용자의 다양한 목적가 관찰된 행동 패턴을 응집시켜 놓은 가상의 사용자

 

- 콘셉트 모델 정의(UI 개발 시 사용자 요구사항 도출 2단계)
여러 가지 추상적인 콘셉트들 사이의 관계를 보여주는 다이어그램

 

- 사용자 요구사항 정의(UI 개발 시 사용자 요구사항 도출 3단계)
리서치 및 페르소나 결과물을 토대로 요구사항을 도출하고, 우선순위를 정함

 

- UI 컨셉션(UI 개발 시 사용자 요구사항 도출 4단계)
정리된 요구사항을 구체화하는 단계로 화면 디자인 단계 전에 대표 화면 설계를 진행하는 단계

 

- 와이어프레임(Wireframe)
이해관계자들과의 화면 구성을 협의하거나 서비스의 간략한 흐름을 공유하기 위해 화면 단위의 레이아웃을 설계하는 작업(ex. 파워포인트, 키노트, 스케치, 일러스트)

 

- 스토리보드(Storyboard)
서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물 (ex. 파워포인트, 키노트, 스케치)

 

- 프로토타입(Prototype)
정적인 화면으로 설계된 와이어프레임 또는 스토리보드에 동적 효과를 적용하여 실제 구현된 것처럼 시뮬레이션할 수 있는 모형(ex. HTML/CSS)

 

- UML(Unified Modeling Language)
객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어

 

- 가시화 언어(UML의 특징)
개념 모델 작성 시 오류가 적고 의사소통이 용이

 

- 구축 언어(UML의 특징)
다양한 프로그래밍 언어로 실행 시스템의 예측 가능

 

- 명세화 언어(UML의 특징)
정확한 모델 제시, 완전한 모델 작성 가능

 

- 문서화 언어(UML의 특징)
시스템에 대한 평가 및 의사소통의 문서

 

- UML의 구성 요소
    - 사물(Things) : 추상적인 개념으로, 주제를 나타내는 요소
    - 관계(Relationships) : 사물의 의미를 확장하고 명확히 하는 요소
    - 다이어그램(Diagrams) : 사물과 관계를 모아 그림으로 표현한 형태

 

- 클래스 다이어그램(Class Diagram)
구조적 다이어그램 중 하나로, 객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램

 

- 객체 다이어그램(Object Diagram)
구조적 다이어그램 중 하나로, 클래스에 속한 사물(객체)들, 즉 인스턴스(Instance)를 특정 시점의 객체와 객체 사이의 관계로 표현한 다이어그램

 

- 컴포넌트 다이어그램(Component Diagram)
구조적 다이어그램 중 하나로, 시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존 관계를 나타내는 다이어그램

 

- 배치 다이어그램(Deployment Diagram)
구조적 다이어그램 중 하나로, 컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 다이어그램

 

- 복합체 구조 다이어그램(Composite Structure)
구조적 다이어그램 중 하나로, 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현하는 다이어그램

 

- 패키지 다이어그램(Package Diagram)
구조적 다이어그램 중 하나로, 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한 다이어그램

 

- 유스케이스 다이어그램(Usecase Diagram)
행위적 다이어그램 중 하나로, 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램

 

- 시퀀스 다이어그램(Sequence Diagram)
행위적 다이어그램 중 하나로, 객체 간 동적 상호작용을 시간적 개념을 중심으로 메시지 흐름으로 표현한 다이어그램

 

- 커뮤니케이션 다이어그램(Communication Diagram)
행위적 다이어그램 중 하나로, 동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관까지 표현하는 다이어그램

 

- 상태 다이어그램(State Diagram)
행위적 다이어그램 중 하나로, 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램

 

- 활동 다이어그램(Activity Diagram)
행위적 다이어그램 중 하나로, 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현하는 다이어그램

 

- 타이밍 다이어그램(Timing Diagram)
행위적 다이어그램 중 하나로, 객체 상태 변화와 시간 제약을 명시적으로 표현하는 다이어그램

 

- <<include>>

UML 확장 모델의 스테레오 타입 중 하나로, 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함 관계

 

- <<extend>>
UML 확장 모델의 스테레오 타입 중 하나로, 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 확장 관계

 

- <<interface>>
UML 확장 모델의 스테레오 타입 중 하나로, 모든 메서드가 추상 메서드이며 바로 인스턴스를 만들 수 없는 클래스로 추상 메서드와 상수만으로 구성된 클래스

 

- <<entity>> UML 확장 모델의 스테레오 타입 중 하나로, 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스

 

- <<boundary>> UML 확장 모델의 스테레오 타입 중 하나로, 시스템과 외부 액터와의 상호작용을 담당하는 클래스

 

- <<control>> UML 확장 모델의 스테레오 타입 중 하나로, 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스

 

- 연관 관계

클래스가 서로 개념적으로 연결된 선

 

- 집합 관계

하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계 (속이 빈 마름모)

 

- 복합 관계

영구적이고, 집합 관계보다 더 강한 관계로 구성 (속이 채워진 마름모)

 

- 일반화 관계

하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현 (속이 빈 화살표)

 

- 의존 관계

하나의 클래스가 또 다른 클래스를 사용하는 관계 (점선 화살표)

 

- 시퀀스 다이어그램 구성요소
    - 객체(Object) : 객체는 위쪽에 표시되며 아래로 생명선을 가짐
    - 생명선(Lifeline) : 객체로부터 뻗어 나가는 점선
    - 실행(Activation) : 직사각형은 오퍼레이션(함수)이 실행되는 시간을 의미
    - 메시지(Message) : 객체 간의 상호작용은 메시지 교환으로 이루어짐

 

- 패키지 다이어그램 구성요소
    - 패키지 : 요소들을 그룹으로 조직하기 위한 요소
    - 의존관계 : 하나의 패키지가 다른 패키지를 사용하는 관계

 

- UI 시나리오 문서의 작성 요건
    - 완전성(Complete) : UI 시나리오는 누락이 없어야 하고, 최대한 빠짐 없이 가능한 한 상세하게 기술
    - 일관성(Consistent) : 서비스에 대한 목표, 시스템 및 사용자의 요구사항이 일관성이 있어야 하고, 모든 문서의 UI 스타일을 일관적으로 구성
    - 이해성(Understandable) : 처음 접하는 사람도 이해하기 쉽도록 구성하여 설명해야 하고, 이해하지 못하는 사람은 추상적인 표현이나 이해하기 어려운 용어는 사용하지 않아야 함
    - 가독성(Readable) : 문서를 쉽게 읽을 수 있어야 하고, 표준화된 템플릿을 작성하여 사용
    - 추적 용이성(Traceable) : 쉽게 추적이 가능해야 하고, 변경 사항들이 언제, 어디서, 어떤 부분들이, 왜 발생하였는지 추적이 쉬워야 함
    - 수정 용이성(Modifiable) : 쉽게 변경이 가능해야 하고, 수정 또는 개선 사항을 시나리오에 반영하는 데 있어 쉽게 적용할 수 있어야 함

 

- 파워 목업

UI 화면 설계 도구 중 하나로, 파워포인트에 추가 메뉴를 설치해 목업 기능을 사용할 수 있도록 지원하는 툴

 

- 발사믹 목업

UI 화면 설계 도구 중 하나로, 스케치한 느낌으로 빠르고 심플하게 서비스 콘셉트를 전달할 수 있는 목업 도구

 

- 카카오 오븐

UI 화면 설계 도구 중 하나로, 카카오에서 제작한 온라인 프로토타이핑 도구

 

- UX핀

UI 프로토타이핑 도구 중 하나로, 웹 브라우저를 통해 와이어 프레임과 프로토타이핑 작업을 동시에 할 수 있는 도구

 

- 액슈어

UI 프로토타이핑 도구 중 하나로, UI 설계보다는 스토리보드에 포함되는 정책, 플로 차트, 디스크립션까지 모두 작성 가능한 도구

 

- 네이버 프로토나우

UI 프로토타이핑 도구 중 하나로, 네이버에서 만든 프로토타이핑 툴로 스토리보드, 플로 차트 등의 기능 지원 가능 도구

 

- 스케치

UI 디자인 도구 중 하나로, 다양한 목업 & 템플릿을 활용한 레이아웃 중심의 UI 디자인 설계 지원 도구

 

- 어도비 익스피리언스 디자인 CC
UI 디자인 도구 중 하나로, UI 디자인에 최적화된 툴로 쉽고 직관적인 인터페이스를 제공하는 도구

 

- 인비전
UI 디자인 산출물로 작업하는 프로토타이핑 도구 중 하나로, 포토샵, 스케치 등으로 디자이너가 작업한 작업 결과를 사이트에 업로드한 다음, UI를 연결해 간단한 인터랙션 적용이 가능한 도구

 

- 픽사에이트
UI 디자인 산출물로 작업하는 프로토타이핑 도구 중 하나로, 2015년 구글이 인수한 프로토타이핑 툴로 현재 아마존, 애플, 페이스북, 구글 등 다양한 회사에서 사용

 

- 프레이머

UI 디자인 산출물로 작업하는 프로토타이핑 도구 중 하나로, 커피 스크립트 개발 언어를 사용하는 코드 기반의 프로토타이핑 도구

 

- 정규화(Normalization)
관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정

 

- 이상 현상(Anomaly)
데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상.

 

- 데이터베이스 정규화 단계
1정규형(1NF) -> 2정규형(2NF) -> 3정규형(3NF) -> 보이스-코드 정규형(BCNF) -> 4정규형(4NF) -> 5정규형(5NF) (원부이결다조)

 

- 1정규형(1NF) : 원자값으로 구성

 

- 2정규형(2NF) : 부분 함수 종속 제거

 

- 3정규형(3NF) : 이행함수 종속 제거

 

- 보이스-코드 정규형(BCNF) : 결정자 후보 키가 아닌 함수 종속 제거

 

- 4정규형(4NF) : 다치(다중 값) 종속 제거

 

- 5정규형(5NF) : 조인 종속 제거

 

- 반 정규화(De-Normalization, 비정규화, 역정규화)
정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법

 

- 인덱스

검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조

 

- REPLACE

뷰가 이미 존재하는 경우 재생성

 

- FORCE

본 테이블의 존재 여부에 관계 없이 뷰 생성

 

- NOFORCE

기본 테이블이 존재할 때 뷰 생성

 

- WHITH CHECK OPTION

서브 쿼리 내의 조건을 만족하는 행만 변경

 

- WITH READ ONLY

데이터 조작어 작업 불가

 

- 레인지 파티셔닝(Range Partitioning)
연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법

 

- 해시 파티셔닝(Hash Partitioning)
파티션 키의 해시 함수 값에 의한 파티셔닝 기법

 

- 리스트 파티셔닝(List Partitioning)
특정 파티션에 저장될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법

 

- 컴포지트 파티셔닝(Composite Partitioning)
레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법

 

- 파티션의 장점
    - 성능 향상 : 데이터 액세스 범위를 줄여 성능 향상
    - 가용성 향상 : 전체 데이터의 훼손 가능성이 감소 및 데이터 가용성 향상
    - 백업 가능 : 분할 영역을 독립적으로 백업하고 복구 가능
    - 경합 감소 : 디스크 스트라이핑으로 입출력 성능을 향상

 

- 디스크 스트라이핑(Disk Striping)
성능 향상을 위해 데이터를 1개 이상의 디스크 드라이브에 저장하여 드라이브를 병렬로 사용할 수 있는 기술

 

- NoSQL(Not Only SQL)
전통적인 RDBMS와 다른 DBMS를 지칭하기 위한 용어로 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인(Join) 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS

 

- NoSQL의 특성(BASE)
    - Basically Available : 언제든지 데이터는 접근할 수 있어야 하는 속성
    - Soft-State : 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정되는 속성
    - Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지되는 속성

 

- NoSQL의 유형
    - Key-Value Store : Unique한 Key에 하나의 Value를 가지고 있는 형태
    - Column Family Data Store : Key 안에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB
    - Document Store : Value의 데이터 타입이 Document라는 타입을 사용하는 DB
    - Graph Store : 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프로 데이터를 표현하는 DB

 

- 시맨틱 웹(Semantic Web)
온톨로지를 활용하여 서비스를 기술하고, 온톨로지의 의미적 상호 운용성을 이용해서 서비스 검색, 조합, 중재 기능을 자동화하는 웹

 

- 온톨로지(Ontology)
실세계에 존재하는 모든 개념들과 개념들의 속성. 그리고 개념들 간의 관계 정보를 컴퓨터가 이해할 수 있도록 서술해 놓은 지식베이스

 

- 데이터 마이닝(Data Mining)
대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술

 

- 데이터 마이닝(Data Mining) 주요 기법
    - 분류 규칙(Classfication) : 과거 데이터로부터 특성을 찾아내어 분류 모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 기법
    - 연관 규칙(Association) : 데이터 안에 존재하는 항목들 간의 종속관계를 찾아내는 기법
    - 연속 규칙(Sequence) : 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
    - 데이터 군집화(Clustering) : 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업

 

- WSDL(Web Services Description Language)
웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어

 

- SOAP(Simple Object Access Protocol)
HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜. 헤더(Header), 바디(Body) 등이 추가된 XML 문서

 

- EAI(Enterprise Application Integration)
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션

 

- 포인트 투 포인트(Point-to-point)
가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법

 

- 허브 앤 스포크(Hub & Spoke)
단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식

 

- 메시지 버스(Message Bus)
애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합 방식

 

- ESB(Enterprise Service Bus)
기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처

 

- UDDI(Universal Description, Discovery and Integration)
웹 서비스에 대한 정보인 WSDL을 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준

 

- 하이브리드(Hybrid)
그룹 내는 허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식

 

- REST(Representational State Transfer)
HTTP URI를 통해 자원을 명시하고, HTTP 메서드(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용하는 것

 

- JSON(Javascript Object Notation)
속성-값 쌍 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

 

- XML(eXtensible Markup Language)
HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어

 

- AJAX(Asynchronous Javascript And XML)
자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술

 

- XMLHttpRequest

웹 브라우저와 웹 서버 간에 메서드가 데이터를 전송하는 객체 폼의 API

 

- XSLT(eXtensible Stylesheet Language Transformations)
XML 문서를 다른 XML 문서로 변환하는 데 사용하는 XML 기반 언어

 

- DOM(Document Object Model)
XML 문서를 트리 구조의 형태로 접근할 수 있게 해주는 API

 

- 스니핑(Sniffing)
공격 대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다 보는 수동적 공격기법

 

- 대칭 키 암호화 알고리즘

암호화 알고리즘의 한 종류로, 암·복호화에 같은 암호 키를 쓰는 알고리즘 ex. ARIA 128/192/256, SEEd

 

- 비대칭 키 암호화 알고리즘
공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알 수 있도록, 공개키와 비밀키를 사용하는 알고리즘(ex. RSA, ECC, ECDSA)

 

- 해시 암호화 알고리즘

해시값으로 원래 입력값을 찾아낼 수 없는 일방향성의 특성을 가진 알고리즘 ex. SHA-256/384/512, HAS-160

 

- IPSec(IP Security)
IP 계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용하여 양 종단 간 구간에 보안 서비스를 제공하는 터널링 프로토콜

 

- SSL/TLS
전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜

 

- S-HTTP(Secure Hypertext Transfer Protocol)
웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송

 

- xUnit

자바(JUnit), C++(CppUnit), .Net(NUnit) 등 다양한 언어를 지원하는 단위테스트 프레임 워크

 

- STAF

서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크

 

- FitNesse

웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크

 

- NTAF

FitNesse의 장점인 협업 기능과 STAF의 장점인 재사용 및 확장성을 통합한 NHN(Naver)의 테스트 자동화 프레임워크

 

- Selenium

다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크

 

- watir

루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크

 

- 스카우터(SCOUTER)
애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공

 

- 제니퍼(Jennifer)
애플리케이션의 개발부터 테스트, 오픈, 운영, 안정화까지 전 생애주기 단계 동안 성능을 모니터링하고 분석해 주는 APM 소프트웨어

 

- 트랜잭션의 특성
    - 원자성(Atomicity) : 하나라도 실패할 경우 전체가 취소되어야 하는 특성
    - 일관성(Consistency) : 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 하는 특성
    - 격리성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성
    - 영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성

 

- 트랜잭션의 상태
    - 활동 상태(Active) : 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
    - 부분 완료 상태(Partially Committed) : 마지막 명령문이 실행된 후에 가지는 상태
    - 완료 상태(Committed) : 트랜잭션이 성공적으로 완료된 후 가지는 상태
    - 실패 상태(Failed) : 정상적인 실행이 더이상 진행될 수 없을 때 가지는 상태
    - 철회 상태(Aborted) : 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태

 

- 트랜잭션 제어
    - 커밋(COMMIT) : 트랜잭션을 메모리에 영구적으로 저장하는 명령어
    - 롤백(ROLLBACK) : 트랜잭션 내역을 저장 무효화시키는 명령어
    - 체크포인트(CHECKPOINT) : ROLLBACK을 위한 시점을 지정하는 명령어

 

- 병행 제어(Concurrency Control)
다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 상호작용을 제어하는 기법

 

- 병행 제어 미보장 시 문제점
    - 갱신 손실(Lost Update) : 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류
    - 현황 파악오류(Dirty Read) : 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류
    - 모순성(Inconsistency) : 두 트랜잭션이 동시에 실행되어 데이터베이스의 일관성이 결여되는 오류
    - 연쇄복귀(Cascading Rollback) : 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소 하지 못하는 오류

 

- 병행 제어 기법의 종류
    - 로킹(Locking) : 같은 자원을 액세스하는 다중 트랜잭션 환경에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
    - 낙관적 검증 : 트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 기법
    - 타임 스탬프 순서(Time Stamp Ordering) : 트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임 스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
    - 다중버전 동시성 제어(MVCC; Multi Version Concurrency Control) : 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직렬 가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법

 

- 고립화 수준

다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치지 않기 위해 잠금을 설정하는 정도

 

- Read Uncommitted 한 트랜잭션에서 연산(갱신) 중인 데이터를 다른 트랜잭션이 읽는 것을 허용하는 수준

 

- Read Committed 한 트랜잭션에서 연산(갱신)을 수행할 때, 연산이 완료될 때까지 연산 대상 데이터에 대한 읽기를 제한하는 수준

 

- Repeatable Read 선행 트랜잭션이 특정 데이터를 읽을 때, 트랜잭션 종료 시까지 해당 데이터에 대한 갱신·삭제를 제한하는 수준

 

- Serializable Read 선행 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근 제한하는 수준

 

- 회복 기법
트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업

 

- 로그 기반 회복 기법 : 지연 갱신 회복 기법과 즉각 갱신 회복 기법이 있음

 

- 체크 포인트 회복 기법 : 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법

 

- 그림자 페이징 회복 기법 : 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법

 

- 형상 관리
소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동

 

- 형상 관리 절차
형상 식별 -> 형상 통제 -> 형상 감사 -> 형상 기록

 

- CVS(Concurrent Versions System)
서버와 클라이언트로 구성되어 있고, 다수의 인원이 동시에 범용적인 운영체제로 접근 가능한 형상 관리 도구

 

- SVN(Subversion)
하나의 서버에서 소스를 쉽고 유용하게 관리할 수 있게 도와주는 도구

반응형