본문 바로가기
T.I.L(Today I learned)/CS

221005 정보처리기사 실기 D-11

by Amy97 2022. 10. 5.
728x90

라우팅 알고리즘(routing algorithm)

목적지까지의 최적 경로를 산출하기 위한 법칙

 

라우팅 알고리즘 유형

거리 벡터 알고리즘 Distance Vector Algorithm 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정하는 라우팅 프로토콜 알고리즘
벨만-포드(Bellman-Ford) 알고리즘 사용
각 라우터가 업데이트될 경우마다 전체 라우팅 테이블을 보내라고 요청하지만 수신된 경로 비용 정보는 이웃 라우터에게만 보내짐

링크 상태 알고리즘 Link State Algorithm 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성하는 라우팅 프로토콜 알고리즘
다익스트라(Dijkstra) 알고리즘 사용
링크 상태 알고리즘을 사용하면 네트워크를 일관성 있게 파악할 수 있으나 거리 벡터 알고리즘에 비하여 계산이 더 복잡하고 트래픽을 광범위한 범위까지 전달

 

디지털 저작권 관리(DRM)을 위한 구성요소

콘텐츠 제공자 Contents Provider 콘텐츠를 제공하는 저작권자
콘텐츠 분배자 Contents Distributor 쇼핑몰 등으로써 암호화된 콘텐츠 제공
패키저 Packager 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 기능
보안 컨테이너 Security Container 원본을 안전하게 유통하기 위한 전자적 보안 장치
 DRM 컨트롤러 DRM Controller 배포된 콘텐츠의 이용 권한을 통제
클리어링 하우스 Clearing House 디지털 라이선싱 중계 및 발급을 수행하는 정산소

 

절차형 SQL

프로시저 Procedure 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
사용자 정의 함수 User-Defined Function 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
트리거 Trigger 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

CREATE VIEW 뷰이름 AS 조회쿼리;

조회쿼리 : SELECT A, B FROM C WHERE D = 'E';

CREATE VIEW 뷰이름 AS SELECT A, B FROM C WHERE D = 'E';

 

객체지향 설계 원칙(SOLID)

단일 책임의 원칙 Single Responsibility Principle 하나의 클래스는 하나의 목적을 위해서 생성되며 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중되어 있어야 하는 원칙
객체지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙
개방 폐쇄 원칙 Open Close Principle 소프트웨어의 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에는 열려있고, 변경에는 닫혀 있어야 한다는 원칙
리스코프 치환의 원칙 Liskov Substitution Principle 서브 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다는 원칙
인터페이스 분리의 원칙 Interface Segregation Principle 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다는 원칙
클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다는 원칙
의존성 역전의 원칙 Dependency Inversion Principle  실제 사용 관계는 바뀌지 않으며 추상을 매개로 메시지를 주고받음으로써 관계를 최대한 느슨하게 만드는 원칙

 

방향 그래프(Directed Graph)

정점을 연결하는 선에 방향이 있는 그래프

n개으 정점으로 구성된 방향 그래프의 최대 간선 수는 n(n-1)인 그래프

 

Git

리누스 토발즈가 2005년 리눅스 커널의 개발을 위해 만든 시스템으로 중앙 집중형 방식이 아닌 분산형 방식으로 각 PC 스스로 완전한 저장소가 구성되며 필요에 따라 중앙 집중형 방식으로도 운영할 수 있는 형상 관리 시스템

주요 기능 Branch, Check out, Commit 등 로컬 환경에서의 형상 관리 기능
Push, Fetch, Pull 등 원격 환경에서의 변경 전송 가능
SVN 저장소에 대한 이관(Migration) 기능
장점 저장소(Repository)의 완전한 복사본을 로컬(Local) 저장 가능
로컬 저장을 통해 오프라인(Offline) 작업 가능
일시적인 작업에 대한 이력 관리가 쉬움
단점 대용량 코드 관리에 부적절
한 번에 diff 명령어를 통한 변경사항을 보기 어려움
CVS, SVN과 개념이 상이하여 학습시간이 요구

 

지역성의 유형

유형 설명 사례
시간(Temporal) 지역성 최근 사용되었던 기억장소들이 집중적으로 엑세스하는 현상
참조했던 메모리는 빠른 시간에 다시 참조될 확률이 높은 특성
Loop(반복, 순환), 스택(Stack), 부프로그램(Sub Routine), Counting(1씩 증감), 집계(Totaling)에 사용되는 변수(기억장소)
공간(Spatial) 지역성 프로세스 실행 시 일정 위치의 페이지를 집중적으로 엑세스하는 현상
참조된 메모리 근처의 메모리를 참조하는 특성
배열 순회, 프로그래머들이 관련된 변수(데이터 저장 기억장소)들을 서로 근처에 선언하여 할당되는 기억장소, 같은 영역에 있는 변수 참조
순차(Sequential) 지역성 데이터가 순차적으로 엑세스 되는 현상
프로그램 내의 명령어가 순차적으로 구성된 특성
공간 지역성에 편입되어 설명되기도 함
순차적 코드 실행

 

728x90

댓글