모의고사 16회
정적 테스트의 유형
동료 검토 Peer Review | 2~3명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해 관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기범 |
워크 스루 Walk through | 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태러 리뷰를 통해 오류를 검출하고 문서화하는 기법 |
인스펙션 Inspection | 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법 |
보안 공격 관련 용어
Malware 멀웨어 | 악의적인 목적을 위해 작성된 실행 가능한 코드로 악성코드 또는 악성 프로그램 등으로 불리고, 실행 가능한 코드에는 프로그램 매크로, 스트립트가 아니라 취약점을 이용한 데이터 형태로 표현 |
APT Advanced Persistent Threat |
특정 타킷을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격 기법으로 특수목적의 조직이 하나의 표적에 대해 다양한 IT 기술을 이용하여 지속적으로 정보를 수집하고 취약점을 분석하여 피해를 주는 공격 기법 |
애플리케이션 모니터링 툴(APM; Application Performance Management)
APM은 인터페이스의 동작이 잘 진행되는지 지속적으로 확인하기 위해서 사용하는 감시 도구로 데이터베이스, 웹 애플리케이션의 트랜잭션과 변숫값, 호출 함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고, 커넥션 풀(Connection Pool) 등 지속적인 모니터링이 필요한 자원을 효과적으로 관리하는 도구
UI 품질 요구사항
이식성 Portability | 다른 플랫폼(운영체제)에서도 많은 추가 작업 없이 얼마나 쉽게 적용 가능한가에 대한 품질 기준 |
적용성 Adaptability | 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 특정 환경으로 전환되는 능력에 따른 소프트웨어 특성 |
설치성 Installability | 특정 환경에 소프트웨어를 설치하는 데 필요한 노력의 정도에 따른 특성 |
대체성 Replaceability | 특정 운용 환경 하에서 동일한 목적 달성을 위해 다른 소프트웨어를 대신 사용할 수 있는 능력 |
소프트웨어 개발 방법론
구조적 방법론 Structured Development |
전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론 프로세스 중심의 하향식 방법론 구조적 프로그래밍 표현을 위해 나씨-슈나이더만(Nassi-Shneiderman) 차트 사용 나씨-슈나이더만(Nassi-Shneiderman) 차트 특징 논리의 기술에 중점을 둔 도형식 표현 방법 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합 |
정보공학 방법론 Information Engineering Development |
정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론 |
객체지향 방법론 Object-Oriented Development |
'객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론 객체, 클래스, 메시지를 이용 |
컴포넌트 기반 방법론 (CBD; Component Based Development) |
소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론 개발 기간 단축으로 인한 생산성 향상 새로운 기능 추가 쉬움(확장성) 소프트웨어 재사용이 가능 |
애자일 방법론 Agile Development |
절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론 |
제품 계열 방법론 Product Line Development |
특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론 임베디드 소프트웨어를 작성하는 데 유용한 방법론 영역 공학과 응용 공학으로 구분 영역 공학: 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역 응용 공학: 제품 요구분석, 제품 설계, 제품을 구현하는 영역 |
규칙 기반 옵티마이저(RBO)
통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저
옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진이다
옵티마이저의 유형
비교 | 규칙 기반 옵티마이저(RBO) | 비용 기반 옵티마이저(CBO) |
개념 | 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행계획을 선택하는 옵티마이저 | 통계 정보로부터 모든 접근 경로를 고려한 질의실행 계획을 선택하는 옵티마이저 |
핵심 | 규칙(우선순위) 기반 | 비용(수행 시간) 기반 |
평가 기준 | 인덱스 구조, 연산자, 조건절 형태 등 | 레코드 개수, 블록 개수, 평균 행 길이, 컬럼 값의 수, 컬럼 값 분포, 인덱스 높이, 클러스터링 팩터 등 |
장점 | 사용자가 원하는 처리경로로 유도하기가 쉬움 | 옵티마이저의 이해도가 낮아도 성능보장 가능(기본 설정) |
모듈화(Modularity)
소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법
모듈화를 통해 분리된 시스템의 각 기능을 모듈이라고 한다
모듈화의 주요 기법
루틴 Routine | 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임 |
메인 루틴 Main Routine | 프로그램의 주요한 부분이며 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴 메인 루틴은 서브루틴을 호출 |
서브 루틴 Subroutine |
메인 루틴에 의해 필요할 때마다 호출되는 루틴 |
뷰(View)
하나 이상의 물리 테이블에서 유도되는 가상의 테이블, 논리 테이블로서 사용자에게(생성 관점 아닌 사용 관점에서) 테이블과 동일한 것
뷰의 목적
뷰를 사용하는 주된 이유는 단순 질의어를 사용할 수 있기 때문이다
FROM 절에 있는 하나의 뷰를 통해 뷰를 구성하는 복수의 테이블을 대체하는 단순성에 그 의의가 있다
테이블의 중요 데이터 일부만을 제공할 수 있는 장단점이 있다
순수관계 연산자
[셀프조디] 셀렉트 / 프로젝트 / 조인 / 디비전
연산자 | 기호 | 표현 | 설명 |
셀렉트 Select | δ(시그마) | δ<조건>(R) | 릴레이션 R에서 조건을 만족하는 튜플 반환 |
프로젝트 Project | π(파이) | π<리스트>(R) | 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환 |
조인 Join | ⋈(보타이) | R⋈<조건>S | 공통 속성을 이용해 R과 S의 튜플들은 연결해 만들어진 튜플 반환 |
디비전 Divison | ÷(나누기) | R÷S | 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환 |
RARP(Reverse Address Resolution Protocol)
IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
RARP는 네트워크 계층 프로토콜이다
주요 프로토콜
IP(Internet Protocol) | 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 프로토콜 |
ARP(Address Resolution Protocol) | IP 네트워크 상에서 IP 주소를 MAC 주소(물리 주소)로 변환하는 프로토콜 |
RARP(Reverse Address Resolution Protocol) | IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜 |
ICMP(Internet Control Message Protocol) | IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 메시지 형식은 8bit의 헤더와 가변 길이의 데이터 영역으로 분리 수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용 ICMP 프로토콜을 사용해서 ping 유틸리티의 구현을 통해 오류가 발생했음을 알리는 기능을 수행 |
IGMP(Internet Group Management Protocol) | 인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜 IGMP 기능에는 그룹 가입, 멤버십 감시, 멤버십 응답, 멤버십 탈퇴가 있음 |
라우팅 프로토콜(Routing Protocol) | 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜 |
대칭 키 암호화 방식
스트림(Stream) 암호 | 평문과 같은 길이의 키 스트림을 연속적으로 생성하여 평문과 이진 수열을 비트 단위로 XOR 연산, 암호문을 생성하는 대칭 키 암호화 기법 |
블록(Block) 암호 | 평문을 일정한 블록 단위로 나누어서 블록마다 암호화 과정을 수행하여 고정된 크기의 블록 단위의 암호문을 생성하는 대칭 키 암호화 기법 |
메모리 단편화 | 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상 |
내부 단편화 | 분할된 공간에 프로세스를 적재한 후 남은 공간으로 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 현상 |
중복 테이블 추가 기법
집계 테이블 추가 | 집계 데이터를 위한 테이블을 생성하고 각 원본 테이블에 트리거를 설정하여 사용하는 것으로 트리거의 오버헤드에 유의 필요 |
진행 테이블 추가 | 이력 관리 등의 목적으로 추가하는 테이블로 적절한 데이터양의 유지와 활용도를 높이기 위해 기본 키를 적절히 설정 |
특정 부분만을 포함하는 테이블 추가 | 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성 |
쿠버네티스(Kubernetes)
리눅스 재단에 의해 관리되는 컨테이너화 된 애플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템
'T.I.L(Today I learned) > CS' 카테고리의 다른 글
220913 정보처리기사 실기 D-33 (0) | 2022.09.13 |
---|---|
220912 정보처리기사 실기 D-34 (0) | 2022.09.13 |
220906 정보처리기사 실기 D-40 (0) | 2022.09.06 |
220905 정보처리기사 실기 D-41 (0) | 2022.09.05 |
220904 정보처리기사 실기 D-42 (0) | 2022.09.04 |
댓글