분류 전체보기

    [SQL] 보안, 권한 부여 grant, revoke, role

    개념db 관리자는 db에 대한 접근 권한을 갖지 못한 사용자로부터 데이터를 안전하게 보호할 의무가 있음DBMS에서 제공하는 보안- 허가받지 않는 사용자, 즉 권한이 없는 사용자로부터 데이터의 접근을 사전에 차단 db에서의 사용 권한)사용자가 db 내의 특정 객체에 대해 특정 연산을 실행할 수 있는 권리- 특정 객체 : 테이블, 필드, 뷰, 저장 프로시저 등 db의 구성 요소 권한 제어가 가능한 연산의 종류- 데이터 접근 관련 연산 (DML)예) SQL의 select, insert, delete, update 등- 스키마 관련 연산 (DDL)예) create table, alter table, drop table, create index 등권한에 따른 사용자 분류db 관리자 (DBA)- db 내의 모든 객..

    [SQL] UNION / UNION ALL / UNION DISTINCT

    UNION다른 데이터를 합쳐서 보여주는 것이다. syntax :SELECT column1, column2, column3FROM table1UNIONSELECT column1, column2, column3 FROM table2UNIONSELECT column1, column2, column3FROM table3; 일반적으로 UNION 이라고 선언하면 UNION DISTINCT 라고 보면 된다 즉, 중복된 데이터를 제외하고 데이터를 합침. 위의 예시에서 UNION 대신 UNION DISTINCT 라고 해도 결과는 같음.​UNION 하는 컬럼의 명이 같지 않아도 되나,SELECT하는 컬럼의 수와 각각의 데이터형의 순서 동일해야 함.​만약, 첫번째 테이블에서 int, string, string 으로 컬럼을 ..

    SRT, SJF 스케줄링 알고리즘 문제

    5개의 작업에 대한 도착 시간과 CPU 사이클 시간이 아래표와 같다고 다음 물음에 답하시오위에서 SRT, SJF 스케줄링 알고리즘을 적용할 경우 평균 대기시간과 반환시간을 구하시오. A)선점형 스케줄링은 하나의 프로세스가 cpu를 점유하고 있을 때 작업중인 프로세스를 중단시킬 수 있는 방식으로 srt가 여기에 속한다.비선점형 스케줄링은 하나의 프로세스가 cpu를 점유하고 있을 때 작업중인 프로세스를 중단시킬 수 없는 방식으로 sjf가 여기에 속한다. SRT 방식남아있는 도착 시간이 가장 짧은 작업을 먼저 처리한다. 위의 그림을 보면 a가 먼저 시작이 되므로 1을 처리하고 a의 남은 시간은 5가 된다.b가 들어오는데 a보다 b가 남은 시간이 짧으므로 a는 대기 상태가 되고 b가 처리된다. b가 1을 처리하..

    BGP (Border Gateway Protocol)

    개념사실 모든 BGP 프로토콜이 서로 다른 AS들을 연결해주는 것은 아니다. Border Gateway Protocol의 이름에서 알 수 있듯이, AS의 가장 자리에 위치한 BG (Border Gateway)들 간의 프로토콜이다, 물론 다른 AS들에 속한 BG간의 연결에도 관여하지만, 같은 AS 내의 BG 간의 연결에도 관여한다. 이러한 역할의 차이에 따라 BGP는 크게 두 가지로 구분할 수 있다.1) iBGP서로 같은 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP 2) eBGP서로 다른 AS 상의 Border Gateway들 끼리의 연결을 담당하는 BGP, inter-AS 라우팅이다.역할서로 다른 AS에 존재하는 IP주소로도 쉽게 패킷을 전달할 수 있는것이 다 BGP 때문이다. ..

    라우팅 Routing

    라우팅 기능과 주요 프로토콜 이해간단한 라우팅 프로토콜거리-벡터 프로토콜링크 상태 프로토콜외부 라우팅 프로토콜최단 경로 라우팅거리 기준은 다양하지만 중간에 거치는 홉(hop) 수로 판단패킷이 목적지로 가는 동안 거치는 라우터 수가 최소가 되도록 경로를 선택a > d로 가려면 a-b-d 경로 선택, a > g로 가려면 a-c-g 경로 선택기타 거리 기준) 패킷의 전송 지연, 전송 대역폭, 통신 비용 등플러딩 (Flooding)입력된 패킷을 라우터가 출력 가능한 모든 경로로 중개하는 방식확실하게 전달할 수 있다는 장점이 있지만 네트워크에 패킷이 무한 개 만들어질 위험이 있음홉 수를 일정 범위로 제한하고 제거하는 방식으로 대처 가능중요한 데이터를 모든 호스트에게 동시에 전달하는 환경에서 제한적으로 사용거리-벡..

    RIP 라우팅 프로토콜

    개념RIP (Routing Information Protocol)는 기업의 근거리통신망 또는 그러한 랜(LAN)들이 서로 연결된 그룹과 같은 독립적인 네트워크 내에서 라우팅 정보 관리를 위해 광범위하게 사용된 프로토콜이다. 경유하는 라우터의 대수(Hop Count)에 따라 최단 경로를 동적으로 결정하는 거리 벡터 알고리즘을 사용한다. 현재 2개의 버전이 있는데 버전 1은 인터넷, 인트라넷에 널리 사용되고 있으며 유닉스의 routed가 유명하다. 버전 2는 CIDR에 대응될 수 있도록 기능이 확장되어 있다. 버전 1은 RFC 1058, 버전 2는 RFC 1723으로 각각 규정되어 있다.특징1) 라우팅 프로토콜 분류RIP는 내부 네트워크에서 주로 사용경로 지정을 하나 밖에 할 수 없는 단일 경로 라우팅 프로..

    RIP와 OSPF

    Intra-AS 라우팅개요Intra-AS 라우팅을 위해 최적의 경로를 계산하는 알고리즘은 라우팅의 전달 내용, 방법 및 계산하는 방식에 따라 거리 벡터 알고리즘과 링크 상태 알고리즘으로 분류거리 벡터 알고리즘(Distance Vector Algorithm)네트워크 이론에서 최단 경로(Shorter Path)를 구하는 벨만-포드(Bellman-Ford) 알고리즘에 기반을 두고 있음벨만-포드 알고리즘 : 가중치를 갖는 방향(Directed) 그래프에서 최단 경로 문제를 푸는 알고리즘이며, 이때 간선의 가중치는 음수일 수도 있음각 라우터는 자신으로부터 다른 모든 라우터에 이르는 거리 정보(즉, 라우팅 테이블 자체)를 주기적으로 인접한 라우터와 서로 교환각 라우터는 목적지(라우터 또는 호스트)별로 자신이 가지고..

    정보처리기사 키워드 1

    * 객체지향 설계원칙 SOLID 1. SRP(단일 책임 원칙) : 단 하나의 책임만 가져야 한다. 2. OCP(개방-패쇄 원칙) : 코드 변경하지 않고 기능 추가 가능하다. 3. LSP(리스코프 치환 원칙) : 자식 클래스는 최소한 부모 클래스 기능을 수행해야 한다. 4. ISP(인터페이스 분리 원칙) : 자신이 사용하지 않는 인터페이스와 의존을 맺거나 영향을 받지 않는다. 5. DIP(의존 역전 원칙) : 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙 * 객체지향 분석 방법론 1. Raumbaugh 방법 : 분석을 객체/동적/기능 으로 나누어 수행하는 방법 2. Booch 방법 :미시적/거시적 게발 프로세스를 모두 사용하는 방법 3. Jacobson 방법 : usecase를 강조하여 사용하는 ..

    [Python] f-string (문자열 포메팅 방법 3)

    f-string의 모양은 f와 {}만 알면 된다. 문자열 맨 앞에 f를 붙여주고, 중괄호 안에 직접 변수 이름이나 출력하고 싶은것을 바로 넣으면 된다. f'문자열{변수} 문자열'# 문자열 맨 앞에 f를 붙이고, 출력할 변수, 값을 중괄호 안에 넣습니다.s = 'coffee'n = 5result1 = f'저는 {s}를 좋아합니다. 하루 {n}잔 마셔요.'print(result1)예제f-string과 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬py# f-string 왼쪽 정렬s1 = 'left'result1 = f'|{s1:10}|'print(result3) f-string에서 중괄호 출력 방법# f-string 중괄호 출력num = 10result = f'my age {{{num}}}, {{num}}'print..

    [Python] % 서식 기호 (문자열 포메딩 방법 2)

    % 서식문자의 모양은 % 기호 뒤에 자료형을 가리키는 문자가 온다.만약 정수를 출력한다고 하면 % + d = %dnum = 50s = 'my age %d' % numprint(s) 정수 뿐만 아니라 실수,%s = 문자열%d = 정수%f = 실수 아래도 있다%o = 8진수%x = 16진수%% = 문자 % 표현예제문자열, 정수, 실수를 %로 포메팅# % 기호 문자 출력names = ['kim', 'park', 'lee']for name in names: print('my name is %s' % name)# % 기호 정수 출력money = 10000s2 = 'give me %d won' % moneyprint(s2)# % 기호 실수 출력d = 3.141592print('value %f' % d) 포메팅..