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
'T.I.L(Today I learned) > CS' 카테고리의 다른 글
221007 정보처리기사 실기 D-9 (0) | 2022.10.07 |
---|---|
221006 정보처리기사 실기 D-10 (0) | 2022.10.06 |
221004 정보처리기사 실기 D-12 (0) | 2022.10.04 |
221003 정보처리기사 실기 D-13 (0) | 2022.10.04 |
220930 정보처리기사 실기 D-16 (0) | 2022.09.30 |
댓글