목록프로토콜 (11)
브래의 슬기로운 코딩 생활
OSI 7계층 OSI 7계층 모델 ◦ 네트워크의 동작 과정을 설명하는 가장 대표적인 모델 ◦ 국제표준화기구인 ISO(International Organization for Standardization)에서 제정 ◦ 실제 구현된 시스템이 아니라, 일종의 개념적 모델 ➢ TCP/IP는 실제 구현이 되어 실질적인 표준처럼 사용되는 네트워크 모델 통신 프로토콜(Protocol) ◦ 네트워크를 통해 데이터를 주고받는 과정에 대한 약속 ◦ OSI 7계층 모델은 통신 프로토콜을 7개의 세부 프로토콜로 나누어 설명 그림 중요 7계층: 응용 계층 응용 계층(Application Layer) ➢ 사용자에게 인터페이스(UI: User Interface)를 제공하는 계층 ◦ 예1) 메일을 보내고 받는 MS사의 아웃룩(Outl..
Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/components/all-components https://developer.apple.com/design/human-interface-guidelines/ extension(익스텐션) extension https://docs.swift.org/swift-book/LanguageGuide/Extensions.html - class, struct, enum, protocol에 새로운 기능을 추가 - extension은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드, 생성자(initializer), 계산 프로퍼티 등의 기능을 추가하기 ..
OSI 계층 모델 - LAN 망의 범위에 따른 분류 근거리 통신망(LAN: Local Area Network) - 동일 건물이나 지역에 설치된 컴퓨터와 단말기를 유기적으로 결합하는 형태 - 통신에 적합한 지역(최대 수 킬로미터)에서만 사용할 수 있는 제한된 통신망 - 데이터 전송속도가 매우 빠른 통신매체(수 Gbps)로 구성 - 오류 발생률이 낮음 광역 통신망(WAN: Wide Area Network) - 원격지 사이를 연결하는 통신망 - 연결 범위가 보통 10km 이상 - 각 노드의 연결이 점-대-점 접속 방식임 • 인공위성을 이용한 패킷 통신을 제외 LAN 개요 발전 과정 - 1970년대 초 제록스의 PARC에서 시작 이더넷(ethernet)으로 발전 - 1970년대 말부터는 LAN 제품이 본격적..
다중화 기술 다중화 다중화 = Multiplexing, 다중화기=MUX(MUltipleXer) 하나의 통신로를 여러 가입자가 동시에 이용하여 통신 전송로 하나에 여러 개의 데이터를 같이 보냄 = 고속전송이 가능 전송로의 이용 효율이 매우 높음 경제적임 - 통신선로 비용 및 공사비 절감 - 유지보수가 용이 종류 - 주파수 분할 다중화(FDM: Frequency Division Multiplexing) - 시분할 다중화(TDM: Time Division Multiplexing) - 코드 분할 다중화(CDM: Code Division Multiplexing) - 직교 주파수 분할 다중 접속(OFDMA: Orthogonal Frequency Division Multiplexing Access) 주파수 분할 다중..
delegation design pattern - class(struct)가 책임의 일부를 다른 유형의 인스턴스에 전달(또는 위임)할 수 있도록 하는 디자인 패턴 - protocol에 위임된 목록을 작성하고, delegate(보통 내가 만든 class)는 위임된 기능을 작성 프로토콜은 다중 상속이 가능함. optional: 필요한 경우 구현하는 메서드 required: 필수로 구현해야하는 메서드 ~.delegate = self ~.datasource = self delegate 소스에는 모든 메소드는 optional이다. 열거형(enum) .~ : .앞에 열거형 생략 enum Week: String { case Mon,Tue,Wed,Thur,Fri,Sat,Sun func printWeek() { //메서..
프로토콜(protocol)과 Delegate 프로토콜(protocol) - 특정 클래스와 관련없는 프로퍼티, 메서드 선언 집합 - 함수(메서드) 정의는 없음 - 기능이나 속성에 대한 설계도 - 클래스(구조체, 열거형)에서 채택(adopt)하여 메서드를 구현해야 함 스위프트 상속과 프로토콜 채택 class 자식:부모 ,(프로토콜) ... { // 코드 } - 부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜 - 상속은 클래스만 가능하다. (단일상속) protocol 정의 protocol 프로토콜명{ //프로퍼티명 //메서드 선언 - 메서드는 선언만 있음 } protocol 프로토콜명 : 다른프로토콜, 다른프로토콜2{ // 프로토콜은 다중 상속도 가능 } protocol 정의, 채택, 준수 pro..
Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/components/all-components https://developer.apple.com/design/human-interface-guidelines/ Human Interface Guidelines - Human Interface Guidelines - Design - Apple Developer developer.apple.com extension(익스텐션) extension https://docs.swift.org/swift-book/LanguageGuide/Extensions.html Extensions — The Swift Prog..
프로퍼티에는 저장 프로퍼티와 계산 프로퍼티가 있다. 저장 프로퍼티는 초기값이 있어야 하고 계산 프로퍼티는 안에 값을 리턴하는 getter 메서스와 값을 대입하는 setter 메서드가 필요하다. getter는 setter가 없으면 생략가능 하지만 setter가 있다면 생략할수 없다. 매개변수명은 newValue가 기본이며 매개변수명이 newValue면 (myValuie)를 생략할 수 있다. 메소드 오버로딩 - 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러개 정의 할 수 있다. init?는 Failable Initializer (실패 가능한 생성자) 이다. ,so 나 .dylib - shared obhect - sharped library - 윈도우의 dll - 동적 링크 라이브러리 (프로그램 실..
라우팅 개요 - 라우팅(routing): 경로 결정을 하는 과정 - 인터넷을 통해서 데이터를 종착지 (End Node) 간 전달하기 위한 기능 - 최적의 경로 설정을 위해 인접 라우터 간 데이터 공유 - 라우터 ; 경로 설정 (또는 제어) 및 데이터 중계를 수행하는 장비 ; 트래픽 경로를 제어 : 네트워크 영역을 분리 정적 라우팅과 동적 라우팅 - 경로 설정이 사전에 고정된 경로 (static routing) 방법이 있고 - 네트워크의 상태를 파악해서 최적의 경로를 결정 (dynamic routing) 하는 방법 정적 라우팅 - 사용자가 라우팅 정보를 입력하여 경로를 설정 - 라우터의 직접적인 처리 부하를 감소 - 비교적 환경변화가 적은 환경에 적합 - 대표 방식: Floating Static Routi..
오늘은 시험 보는 날이라서 1, 2교시만 하고 시험을 봣다. 시험문제에서 오늘 배운 내용도 한문제가 나왔다. 잘 봣는지는 모르겠지만 문제가 쉬워서 다른 애들은 잘 봣을것 같다. TCP 기타 & UDP TCP 연결 및 해제 연결 절차 - 3단계 메시지 교환 (3 way handshake) 방식을 사용 - 연결을 위해 최소 1.5 x RTT (Round Trip Time)이 소요 해제 절차 - 3단계 메시지 교환 (3 way handshake) 방식을 사용 - 연결을 위해 죄소 1.5 v RTT (Round Trip Time)이 소요 - 상대측이 연결을 종료할 때까지 기다린 후에 자신도 종료하는 대기 과정이 필요 ; 대기 시간: 전송한 ACK 세그먼트가 버려지기 이전에 네트워크에 남아 있을 수 있는 최대 시..