전체 글

전체 글

    정보처리기사 키워드 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) 포메팅..

    [Python] format 함수 (문자열 포메팅 방법 1)

    format 함수에 대해서포메팅이란?문자열 포메팅이란 문자열을 이쁘게 만드는 방법이다, 쉽게 얘기하면 문자열 중간 중간에 특정 변수의 값을 넣어주기 위해서 사용하는 것이다. 예를 들어 구구단 프로그램을 만든다고 가정하면 a b가 변수일 때print('{0} x {1} = 6'.format(a, b, a * b)) 사용법)format 함수는 중괄호 {, } 안에 포메팅을 지정하고 fomat 함수의 인자로 값들을 넣는다.'{인덱스0}, {인덱스1}'.format(값0, 값1) 구구단 예제)a = 2b = 3 s = '구구단 {0} x {1} = {2}'.format(a, b, a * b)print(s)함수 예제직접 대입, 변수로 대입, 이름으로 대입# 직접 대입하기s1 = 'name : {0}'.format..

    [Python] 람다식 (무명 함수) 모듈

    개념무명 함수의 이름보다 람다식으로 널리 알려진 무명 함수는 이름이 없고 몸체만 있는 간략화된 함수이다. python에서 무명함수의 표현은 lambda 키워드로 만들어 진다.기본 함수와 람다식의 공통점은 다음과 같다.여러개의 인수를 가질 수 있다.기본 함수와 람다식의 차이점은 다음과 같다.반환값은 하나만 존재return 키워드 필요 없고 항상 반환되는 수식만 적어주면 됨.print()함수를 사용할 수 없음자신만의 이름 공간을 가지고 있어 전역변수 참조 불가 구조lambda(인수1,...,인수n : 수식) 람다식과 일반 함수 비교 (동일 결과)### 람다식 ###sum = lambda x, y : x+yprint("합 계산: ", sum(10,20)) # 합 계산 : 30### 일반 함수 ###def ge..

    OSPF (Open Shortest Path First)

    개념- 1980년대 중반, RIP의 한계 발생 (대규모의 이질적인 네트워크 사이에서)- IETF (Internet Engineering Task Force)에서는 SPF 알고리즘에 기반을 하고 인터넷에 적용하기 위해 IP 네트워크용 알고리즘 개발- RFC 1247 (OSPF 표준)- RFC 2328에 정의된 OSPFv2가 나오게 됨으로써 현재는 TCP/IP 환경에서 가장 많이 사용하고 있는 라우팅 프로토콜 1) OSPF의 라우팅 계위- OSPF는 계위(hierarchy) 구조를 취함 2) OSPF의 동작처음 부팅시, HELLO 패킷의 교환을 통해 이웃한 라우터를 서로 인식 (이를 통해, 여러개의 라우터 중에서, 그 네트워크를 대표하여 경로 정보의 생성 및 분배 책임을 지는 지명(Desigated) 라우터..

    라우팅 Routing

    개념라우팅은 데이터 패킷을 한 네트워크 상에서 다른 네트워크로 이동시키는 가장 효율적인 경로를 찾는 프로세스이다. 이 과정에서 다양한 라우팅 프로토콜이 사용된다.라우터라우터는 네트워크에서 라우팅을 수행하는 네트워크 장치이다. 네트워크의 경계에서 동작해 다른 네트워크와의 연결점 역할을 한다.라우팅 테이블 (routing table)라우터에 내장된 데이터베이스로, 네트워크 내의 경로 정보를 저장한다.포함된 정보는 다음과 같다목적지 네트워크에 대한 최적 경로해당 경로로 패킷을 전달하기 위해 사용해야 하는 인터페이스해당 경로의 메트릭 (Metric)라우터는 이 테이블을 참조하여 패킷을 알맞는 목적지로 전달한다.메트릭 (metric)메트릭은 라우팅 결정을 할 때 사용되는 값으로, 네트워크 경로의 효율성과 성능을 ..

    CPU 스케줄링 /SJF SRT

    프로세스 작업 수행을 위해 언제, 어느 프로세스에 CPU를 할당할 것인지 결정하는 작업기법 종류스케줄러 동작 시점, Time Slice, 프로세스 생성/소멸 시, 프로세스 Block 상태 변경 시스케줄러가 운영체제에 많이 관여-선점, 적게 관여-비선점SJF (Shortest Job First), SRT (Shortest Remaining Time)SJF (Shortest Job First)- 비선점 방식 (non - preemptive)- 대기 작업 중 수행 시간이 짧게 판정된 작업 수행- 짧은 작업 먼저 수행이 오버헤드 측면에서 유리 문제점)- 작업 수행 시간을 사전에 정확히 판정 어려움 SRT (Shortest Remaining Time)- 선점 방식 (preemptive)- SJF 기법에 선점방식을..

    라우팅 알고리즘 - 벨만포드 (Bellman-Ford), 다익스트라 (Dijkstra)

    라우팅 알고리즘동적 라우팅 프로토콜에서 목적지까지 최적경로를 산출하여 라우팅 테이블을 유지, 관리하기 위해 사용되며 두 분류로 나뉜다. 분산 라우팅 알고리즘이웃 노드와 정보를 교환하여 반복적이고 분산된 방식으로 수행.거리 벡터 알고리즘 (Bellman-Ford)글로벌 라우팅 알고리즘네트워크 전체에 대한 완벽한 정보가 필요.링크 상태 알고리즘 (Dijkstra)벨만포드 알고리즘 (Bellman-Ford Algorithm)한 노드에서 다른 노드까지 최단거리를 구하기 위해 사용된다. 다익스트라 알고리즘과는 다르게 가중치가 음수인 경우에도 사용이 가능하다는 장점을 지니지만 시간 복잡도가 크기 때문에 가중치가 양수인 경우엔 사용될 이유가 없다. 네트워크에서는 간선의 비용이 음수가 될 수 없으나 라우팅 테이블의 크..

    네트워크 모델 - OSI 참조 모델

    두 개의 호스트가 각각 7계층으로 구성된 모듈을 수행송신 호스트의 응용 계층에서 하위계층으로 순차적으로 전달되어 물리계층으로 도달물리계층을 통해 수신 호스트로 데이터가 이동하고, 순차적으로 상위 계층으로 전달되어 응용계층까지 도달송신 측에서 하위 계층으로 이동할 때 각 계층 프로토콜에서 정의한 헤더 추가수신 측에서 상위 계층으로 이동할 때 순차적으로 헤더 정보를 처리하고 제거용어 정의계층 n 프로토콜계층 n 모듈끼리 사용하는 통신 규칙프로토콜의 역할프로토콜에서 정의된 기능을 수행하면서 필요한 정보를 서로 교환 (예 - 주소의 표현, 오류 제어, 흐름 제어 등)동료 프로세스동일 계층에 위치한 통신 양단 프로세스송신 호스트의 응용 계층과 수신 호스트의 응용 계층이 ‘동료(peer)’ 관계인터페이스상하위 계층..