[Swift] guard~let, 디폴트 매개변수 정의, 함수 응용
·
Apple/Swift
이번 시간에는 Swift에서 쓰이는 guard let에 대해서 알아보고 예제 소스를 살펴보도록 하겠습니다.guard~letSwift에서 guard let은 옵셔널 값의 안전한 언래핑을 위해 사용되는 구문입니다. guard let 구문은 조건을 검사하고, 조건이 참일 경우에만 옵셔널 값을 안전하게 추출하여 사용할 수 있도록 합니다. 일반적으로 guard let 구문은 함수나 메서드 내부에서 사용되며, 함수 실행 중간에 예외적인 상황이 발생했을 때 조기에 종료하는 역할을 수행합니다. guard는 return, break, continue, throw 등 제어문 전환 키워드를 쓸 수 있는 상황이라면 사용이 가능하며, 함수 뿐 아니라 반복문 등 특정 블록 내부에 있으면 사용 가능합니다. 물론 함수 내부에 있다면..
[Swift] Raw Values (원시 값)
·
Apple/Swift
이번 시간에는 Raw Values에 대해서 알아보겠습니다. Raw Values는 우리말로 '원시 값'이라고 표현합니다. Swift에서 Raw Value는 열거형의 기능 중 하나로, 각 케이스에 미리 정의된 상수 값을 할당할 수 있도록 해주는 기능을 가리킵니다. 열거형은 관련된 값들의 그룹을 정의하고, 각각의 값은 고유한 식별자인 케이스로 나타낼 수 있습니다. 이러한 케이스에는 Raw Values을 할당할 수도 있습니다. 열거형에서 Raw Values을 사용하면 해당 값을 통해 열거형 인스턴스를 생성하거나, 현재 값을 확인하는 등 다양한 작업을 수행할 수 있습니다. Raw Value는 주로 외부 시스템과의 상호작용이 필요한 경우나, 특정 데이터를 저장하고 전송하기 위해 사용됩니다. Raw Values는 e..
[네트워크] IP, TCP, UDP
·
CS/네트워크
클래스 클래스 주소 지정 방법을 선택 전치부와 후치부의 두 부분으로 구성 전치부 : 네트워크에 할당된 주소 후치부 : 호스트 또는 단말에 할당된 주소 네트워크 ID의 범위가 커지면 호스트 ID의 범위가 작아진다. 클래스 범위 Class A (0 ~ 127) 첫 7개의 비트가 네트워크 식별자가 된다. 동일 네트워크에 3바이트의 호스트를 가질 수 있다. Class B (128 ~ 191) 첫 14개 비트가 네트워크 식별자가 된다. 동일 네트워크에 2바이트의 호스트를 가질 수 있다. Class C (192 ~ 223) 한 네트워크에 254개의 호스트를 가질 수 있다. Class D (224 ~ 239) 멀티캐스트 주소로 사용되는 주소 영역 Class E (240 ~ 255) 라우터 간 경로 설정 등의 제어를 ..
[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..