[Swift] 델리게이트 패턴(Delegate Pattern)
·
Apple/Swift
델리게이트(Delegate) 패턴은 객체 지향 프로그래밍에서 사용하는 디자인 패턴 중 하나로, 특정 객체가 수행해야 할 일을 다른 객체에게 위임하는 방법입니다. 쉽게 말해 A라는 친구가 해야 하는 일을 B 친구에게 넘겨준다고 생각하시면 됩니다. 이것을 위임한다고 표현하고요. 다른 객체로 부터 기능을 위임 받은 객체는 '델리게이트 객체' 라고 하고 아니면 짧게 줄여서 '델리게이트' 라고도 합니다. 델리게이트 패턴으로 구현하는 대표적인 예시로는 테이블 뷰(Table View)가 있습니다. 테이블 뷰는 리스트를 표시할 때 사용하는데 우리가 많이 사용하는 문자앱, 카카오톡을 생각하면 대화방이 쭉 나열 되어 있을 때 그 대화방을 리스트라고 생각하면 됩니다. 쇼핑몰 앱이라고 하면 상품들이 쭉 나열되어 있다고 하면 ..
[네트워크] Internet Protocol
·
CS/네트워크
이번 시간에는 IP(Internet Protocol)에 관한 내용과 IP와 관련된 내용에 대해서 알아보도록 하겠습니다. MAC Medium Access Control Ethernet에서 사용되는 계층적 이름이다. 장치를 구분하기 위한 48bit의 고유값(주소)를 가진다. 동일 네트워크 내 MAC 주소는 유일해야 한다. 도메인 인터넷에 있는 컴퓨터를 쉽게 연결할 수 있도록 문자 형태로 만들어 놓은 주소체계 트리 구조의 주소체계를 가짐 나라마다 규칙이 조금씩 다름 ex) www.apple.com, www.samsung.com 국가 도메인 ccTLD : country code Top Level Domain 인터넷 상에서 국가를 나타내는 도메인명으로 구성 영문을 기본으로 하지만 각 나라의 형식도 존재함 전세계 ..
[네트워크] TCP/IP 계층 구조
·
CS/네트워크
TCP/IP(Transmission Control Protocol / Internet Protocol) DoD에서 정의한 모델로 OSI 7계층 모델과 유사하다. OSI보다 먼저 정의 되었으며, 현재 가장 많이 사용되고 있다. 인터넷에서 사용되고 있으며, 다양한 네트워크와 상호 접속이 가능하다. (어느 나라에서든 채택해서 사용 중) TCP/IP 계층 구조 OSI 계층 모델에 대응되는 상호 통신을 위한 각 계층별 프로토콜을 정의 응용 계층은 OSI 계층 모델에서 5계층 이상을 모두 포함하고 있다. 3, 4계층은 운영체제에서 처리하고 1, 2계층은 이더넷 장치 및 디바이스 드라이버에서 처리한다. OSI에서는 전체를 7계층으로 표현하지만 TCP/IP는 전체를 4계층으로 표현한다. Application, Pres..
[Swift] 지연 저장 프로퍼티(Lazy Stored Properties)
·
Apple/Swift
지연 저장 프로퍼티(Lazy Stored Properties) Swift에서 인스턴스를 생성할 때 프로퍼티에 값이 필요 없다면 프로퍼티를 옵셔널로 선언해줄 수 있습니다. 그런데 그것과는 조금 다른 용도로 필요할 때 값이 할당되는 지연 저장 프로퍼티(Lazy Stored Properties)가 있습니다. 또한 지연 저장 프로퍼티는 호출이 있어야 값을 초기화를 하게 되고 lazy라는 키워드를 써서 사용합니다. 지연 저장 프로퍼티는 초기 값이 필요할 때 계산되지 않고, 처음으로 접근될 때만 계산이 됩니다. 지연 저장 프로퍼티는 주로 복잡한 클래스나 구조체를 구현할 때 많이 사용합니다. 지연 저장 프로퍼티를 사용한다면 리소스를 절약하고 성능을 향상시킬 수 있다는 장점이 있습니다. 지연 저장 프로퍼티를 사용하는 ..
[네트워크] 데이터 링크 계층과 주요 기능
·
CS/네트워크
데이터 링크 계층 Data Link Layer OSI 참조 모델 7계층 중 제 2계층 물리적으로 연결된 이웃 간 전송 데이터의 신뢰성을 제공 전송하는 데이터는 프레임이라는 논리적인 단위로 구성 프레임에는 주소, 길이, 오류 검출 등의 다양한 제어 정보가 포함 주요 기능 노드 대 노드 통신 전송 제어 흐름 제어 오류 제어 동기화 노드 대 노드 통신 이웃 노드 간의 데이터 링크를 설정 데이터 앞에 헤더, 뒤에는 트레일러를 추가 헤더와 트레일러에는 발신지 주소와 목적지 주소 등 정보가 들어 있음 수신 측의 데이터 링크 계층에서는 이 헤더와 트레일러를 삭제 후 수신 측의 상위 계층(네트워크 계층)으로 전달 전송 제어 데이터 전송의 신뢰성을 보장하기 위한 일련의 절차를 제어 장점 문자나 비트에 관계없이 전송 가능..
[네트워크] OSI 7계층 프로토콜과 물리계층
·
CS/네트워크
OSI 7계층 프로토콜 계층 구조 7개의 계층으로 정의 각 계층 간에는 동일한 프로토콜을 사용 각 계층 간 데이터 전달 최상위 계층(7계층)에서 발생한 데이터를 하위 계층으로 차례로 전달 처음의 데이터에 각 계층에서 전달받은 헤더 정보를 추가하여 전달 수신부에서는 각 계층의 헤더에 해당되는 부분을 벗긴 후 상위 계층으로 전달 물리 계층 Physical Layer OSI 참조 모델 7계층 중 최하위 계층인 첫 번째 계층 즉, 제 1계층 LAN 카드, 케이블, 허브, 라우터 등 물리적인 것과 데이터 전송에 사용하는 전압등의 전기적인 특성을 다루는 영역 데이터 단위 : bit 물리적 연결에서 비트 단위의 데이터 전송을 위해 신호의 부호화, 전송 방식 등을 결정 송신 측은 상위 계층(2계층)에서 0과 1로 구성..