[네트워크] LAN의 개요(1)
·
CS/네트워크
근거리 통신망(LAN : Local Area Network) 동일 건물이나 지역에 설치된 컴퓨터와 단말기를 유기적으로 결합하는 형태 통신에 적합한 지역(최대 수 킬로미터)에서만 사용할 수 있는 제한된 통신망 데이터 전송속도가 매우 빠른 통신매체로 구성(Gbps) 오류 발생률이 낮음 광역 통신망(WAN : Wide Area Network) 원격지 사이를 연결하는 통신망 연결 범위가 보통 10km 이상 각 노드의 연결이 점-대-점 접속 방식 종류 이더넷(Ethernet) 버스형 또는 성형 토폴로지 저속의 데이터 전송 속도를 제공( ~ 16Mbps) 케이블 : UTP, Fiber 고속 이더넷(Fast Ethernet) 성형 토폴로지 100Base-T 지원 외 10Base-T의 모든 프로토콜 지원(CSMA/CD..
[Swift] 1급 객체 (first class object), 1급 시민 (first class citizen)
·
Apple/Swift
1급 객체 (first class object) 또는 1급 시민 (first class citizen) Swift의 함수는 1급 객체 또는 1급 시민입니다. 아마 1급 객체 라는 용어에 대해서 낯서실 겁니다. 1급 객체에 대해서 먼저 알아보도록 하겠습니다. Swift에서 "1급 객체" 또는 "1급 시민" (first-class object/citizen)은 다음과 같은 특성을 가진 개체를 가리킵니다: 변수에 할당 가능 : 1급 객체는 변수에 할당할 수 있습니다. 즉, 함수나 값 등을 변수에 저장하고 전달할 수 있습니다. 함수의 매개변수로 전달 가능 : 1급 객체는 다른 함수의 매개변수로 전달될 수 있습니다. 즉, 함수를 다른 함수의 인자로 사용할 수 있습니다. 반환값으로 사용 가능 : 1급 객체는 다른 ..
[Swift] 가변 매개변수, call by address 구현
·
Apple/Swift
가변 매개변수(variadic parameter) Swift에서 가변 매개변수(variadic parameter)는 함수에 동적인 개수의 인자를 전달하기 위해 사용되는 특별한 매개변수입니다. 가변 매개변수를 사용하면 함수를 호출할 때 인자의 개수를 유연하게 조정할 수 있습니다. 가변 매개변수의 특징에 대해서 알아보도록 하겠습니다. 문법 : 가변 매개변수는 타입 뒤에 세 개의 점(...)을 사용하여 정의됩니다. 예를 들어, func sum(numbers: Int...)과 같이 선언할 수 있습니다. 타입 : 가변 매개변수는 배열로 처리됩니다. 따라서 함수 내부에서 해당 매개변수에 접근할 때 배열 형태로 다루어야 합니다. 호출 시 인자 전달 : 가변 매개변수를 사용하는 함수를 호출할 때, 여러 개의 인자 값을..
[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) 라우터 간 경로 설정 등의 제어를 ..