개발자 성장일지

[정처기 - 실기] 모의고사 15, 16회 본문

오답노트

[정처기 - 실기] 모의고사 15, 16회

hdigimon 2023. 9. 15. 13:16

15회

3) 프로세스의 교착상태 관련 용어

 

용어 설명
교착상태
(Deadlock)
- 다중프로세싱 환경에서 두 개 이상의 프로세르가 특정 자원 할당을 무한정 대기하는 상태
상호배제
(Nutual Exclusion)
- 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
점유와 대기
(Hold & Wait)
한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태

 

19) 정규화와 이상현상

용어 설명
정규화
(Normalization)
- 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
이상 현상
(Anomaly)
- 데이터의 중복성으로 인해서 릴레이션을 조작할 때 발생하는 비합리적 현상

 

16회

7) 소프트웨어 개발방법론

종류 설명
구조적 방법론
(Structured Development)
- 전체 시스템을 시능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
- 프로세스 중심의 하향식 방법론
- 구조적 프로그래밍 표현을 위해 나씨-슈나이더만 차트 사용
정보공학 방법론
(Information Engineering Development)
- 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
- 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
객체지향 방법론
(Object-Oriented Development)
- '객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론
- 복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
- 객체, 클래스, 메시지를 사용
컴포넌트 기반 방법론
(CBD: Component Based Development)
- 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
- 개발 기간 단축으로 인한 생산성 향상
- 새로운 기능 추가 쉬움(확장성)
- 소프트웨어 재사용이 가능
애자일 개발론
(Agile Development)
- 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론
- 애자일은 개발 과정의 어려움을 극복하기 위해 적극적으로 모색한 방법론

제품 계열 방법론
(Product Line Development)
- 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
- 임베디드 소프트웨어를 작성하는 데 유용한 방법론
- 영역 공학과 응용공학으로 구분

8) 옵티마이저

- 옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진이다.

비교 규칙 기반 옵티마이저(RBO) 비용 기반 옵티마이저(CBO)
개념 통계정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행계획을 선택하는 옵티마이저 통계 정보로부터 모든 접근 경로를 고려한 질의실행 계획을 선택하는 옵티마이저
핵심 규칙(우선순위) 기반 비용(수행 시간) 기반
평가기준 인덱스 구조, 연산자, 조건절 형태 등 레코드 개수, 블록 개수, 평균 행 길이, 컬럼 값의 수, 컬럼 값 분포, 인덱스 높이, 클러스터링 팩터 등
장점 사용자가 원하는 처리경로로 유도하기가 쉬움 옵티마이저의 이해도가 낮아도 성능보장 가능(기본 설정)

19) 쿠버네티스

- 리눅스 재단에 의해 관리되는 컨테이너화 된 애플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템