전체 글 370

인캡슐레이션과 디캡슐레이션

데이터를 보내는 과정을 인캡슐레이션(Encapsulation) 상위계층에서 Data Flow Layer로 내려보내면서 패킷에 데이터를 넣을 수 있도록 분할하는 과정 랜 카드에서 전기 형태로 변환되어 전송 데이터를 받는 과정을 디캡슐레이션(Decapsulation) 전기 신호를 데이터 형태로 변환하여 상위 계층으로 올리는 과정 이 패키들을 조합해 데이터 형태로 만드는 과정 인캡슐레이션과 디캡슐레이션 과정을 통해 데이터가 전송되는 과정 계층 데이터 계층 트랜스포트 계층 (Transport) 4계층 PDU (세그먼트) 트랜스포트 계층 (Transport) 4계층 헤더 상위 데이터 네트워크 계층 (Network) 3계층 PDU(패킷) 네트워크 계층 (Network) 3계층 헤더 상위 데이터 데이터 링크 계층 (..

(Python) Datetime 날짜 타입

datetime 클래스 날짜와 시간을 사용할 수 있게하는 라이브러리 timedelta 클래스 시간의 연산을 가능하게 해주는 클래스 1. Datetime 예제 2016년 12월 25일 값을 가지는 인스턴스를 만들어보자. import datetime christmas_2016 = datetime.datetime(2016, 12, 25) print(christmas_2016) #출력 결과 2016-12-25 00:00:00 오늘로부터 2030년 12월 25일 사이에 몇일이 있는지를 리턴해보자. import datetime def days_until_christmas(): christmas_2030 = datetime.datetime(2030, 12, 25) days = (christmas_2030 - date..

(Python) Comprehension

List List - Comprehension if문 Comprehension for문, for문 중첩문 Comprehension Dictionary Comprehension 1. Comprehension 적용 전 areas = [] for i in range(1,11): areas = areas + [i*i] print("areas : ",areas) 적용 후 areas2 = [i*i for i in range(1,11)] print("areas2 : ",areas2) ([1 * 1], [2 * 2] ... , [10 * 10]) 이러한 방식을 List Comprehension이라고 한다. #출력 결과 areas : [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] areas2 : ..

(Python) 오버라이드

python 오버라이드 python override super() 1. Override class Animal(): def walk(self): print("걷는다.") def eat(self): print("먹는다.") def greet(self): print("인사한다.") class Human(Animal): '''사람''' def wave(self): print("손을 흔든다.") def greet(self): self.wave() class Dog(Animal): '''강아지''' def wag(self): print("꼬리를 흔든다.") def greet(self): self.wag() person = Human() #인스턴스 생성 person.greet() dog = Dog() #강아지 인스..

(Python) 상속

python 상속 python Inheritance 1. 상속 전 class Human(): '''사람''' def walk(self): print("걷는다.") def eat(self): print("먹는다..") def wave(self): print("손을 흔든다.") class Dog(): '''강아지''' def walk(self): print("걷는다.") def eat(self): print("먹는다..") def wag(self): print("꼬리를 흔든다.") person = Human() #인스턴스 생성 person.walk() person.eat() person.wave() dog = Dog() #강아지 인스턴스 생성 dog.walk() dog.eat() dog.wag() 같은 an..

(Python)Class 만들기와 함수, 특수한 메소드

python 클래스 만들기 python 특수한 메소드 __init__ __str__ class Human(): '''인간''' def __init__(self,name,weight): '''초기화 함수 (바로 호출)''' self.name = name self.weight = weight print("{}의 이름과 몸무게를 등록합니다.".format(self.name)) def __str__(self): '''문자열과 함수''' return "{} (몸무게 {}kg)".format (self.name,self.weight) def eat(self): self.weight += 0.1 print("{}가 먹어서 {}kg이 되었습니다.".format(self.name, self.weight)) def wal..

OSI 7계층별 특징 및 이해

OSI 7계층 OSI 7계층 특징 각 계층 특징 Data Flow Layer와 Application Layer Data Flow Layer 계층 1계층 (Physical Layer) - 피지컬 계층 & 물리 계층 물리 계층으로 물리적 연결과 관련된 정보를 정의합니다. 주로 전기 신호를 전달하는데 중점을 맞춘다. 따라서 출발지와 목적지를 구분할 수 없다. 이 장비들은 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외한, 모든 포트에 같은 전기 신호를 전송한다. 종류 설명 1계층 주요 장비 허브(Hub), 리피터(Repeater), 케이블(Cable), 커넥터(Connector), 트랜시버(Tranceiver), 탭(TAP) 허브 리피터 네트워크 통신을 중재하는 네트워크 장비 케이블 커넥터 케이블 본체..

Protocal (프로토콜) 이란

역사 한정된 자원으로 통신을 수행해야 하다 보니 최대한 적은 데이터를 이용해 효율적인 프로토콜을 정의하고 사용해야 했었어야 한다 네트워크가 처음 개발된 1900년대 효율적으로 자연어를 처리할 수 없었다. 느린 네트워크를 이용하여 최대 효율을 내기 위해서는 문자 기반이 아닌 2진수 비트 기반으로 만들어졌다. 최소한의 비트로 정보를 전달하기 위해서 몇 가지 규칙을 정했다. 보내는 사람 주소, 받는 사람 주소, 상위 프로토콜 지시자 등.. Protocal 사전적으로는 규정이나 규약과 관련된 내용을 언급할때 사용한다. 네트워크에서도 통신할 때의 규약을 칭한다. 표준협회, 회사에 따라 특징이 달라진다. 여러 가지 프로토콜 기술이 최근에 이더넷-TCP/IP 기반 프로토콜들로 변경되고 있다. 측면 특징 물리적 측면 ..

예외 처리 - 사용자 정의 예외

예외 처리 - 사용자 정의 예외 1. 사용자 정의 예외 클래스? 기존에 정의된 예외 클래스를 상속받아 새로운 예외 클래스를 정의한다. Checked Exception : Exception 클래스를 상속받아 정의 Unchecked Exception : RuntimeExeption 클래스를 상속받아 정의 사용자 정의 예외 클래스 이름은 Exception으로 끝나는 것이 좋다. 사용자 정의 예외 클래스는 필드, 생성자, 메소드를 포함할 수 있으나 대부분 생성자만을 포함한다. 기본 생성자 & String 타입의 매개변수를 갖는 생성자 String 타입의 매개 변수에 예외 발생 원인을 알려주는 메시지를 담아 전달한다. 2. 실습 점수가 70점 미만인 과목은 Exception을 강제로 발생시켜보자. 나머지 공부에 ..

예외 처리 - throws 구문

예외처리 throws 구문 강제로 예외처리 발생시키기 1. throws란? 아래 메소에서 상위 메소드로 Exception처리를 던지는 경우 여러 개의 작업을 모아서 예외 처리를 해야 하는 경우 계좌이체(출금 & 입금)에서 둘다 완벽히 작업이 완료되어야 계좌이체가 됐다고 한다. 이때 출금에선 정상적으로 발생했지만 입금에서 Exception에 발생했을 때 계좌이체의 상위로 올려보내 예외처리를 실행한다. 어떻게 처리해야할지 모를 때 위로 보내는 경우 public Return_Type 메소드명(파라미터...){ throws Exception_Type1, Exception_Type2,..{ //메소드 내용 } } 2. 강제로 Exception 발생시키기 조건문 등을 이용하여 예외 상황을 발생할 수 있다. //문법..