[네트워크] 통신 프로토콜의 구조와 기능
·
CS/네트워크
통신 프로토콜의 구조 프로토콜의 계층화 미래의 변화에 유연하게 대처 통신을 제어하는 기능을 여러 계층에 분리 각 층마다 독립적으로 프로토콜 적용 모델화를 위한 4가지 기본 요소 모델화를 위한 4가지의 기본 요소에는 응용 객체와 개방형 시스템, 물리 매체, 접속 또는 연결이 존재합니다. 각 요소를 좀 더 자세하게 알아보도록 하겠습니다. 먼저 응용 객체입니다. 응용 객체는 상호 간의 정보를 교환하는 주체로, 응용 프로그램, 단말 장치의 운영자 등이 이에 해당합니다. 개방형 시스템은 응용 프로세서 간에 통신이 가능하도록 통신 기능을 제공합니다. 호스트 컴퓨터, 단말 장치, 통신 제어 장치, 단말 제어 장치 등이 이에 해당되게 됩니다. 물리 매체는 정보와 신호를 교환해주는 전기적 매체로 통신회선과 채널 등이 해..
[Swift] 함수에 대한 개념과 다양한 예시 소스
·
Apple/Swift
이번 시간에는 Swift에서 함수에 대해서 간단히 알아보고 함수를 어떻게 사용하는지와 예시를 통해서 살펴보도록 하겠습니다. 함수란? 먼저 함수를 사용하려면 함수에 대해서 알아야겠죠? 프로그래밍을 배우신 분이라면 잘 알고 계실 겁니다. 다른 언어와 마찬가지로 Swift에서의 함수도 크게 다른 부분은 없습니다. Swift에서 함수는 특정 작업을 수행하는 코드 블록으로 실행시 데이터를 제공해야 하거나, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있습니다. 함수를 제대로 이해하려면 parameter(매개변수)와 argument(인수)의 차이점에 대해서 알아야 합니다. 쉽게 정리해보자면 함수 정의부의 값을 매개변수, 호출시의 값은 아규먼트라고 부릅니다. func fun(param: Int) { print(p..
[Swift] 제어문과 다양한 예제 정리
·
Apple/Swift
이번 시간에는 예전에 다뤘던 Swift의 제어문에 대해서 좀 더 자세히 알아보고 예제와 함께 정리해보려고 합니다! 예전에 작성하였던 제어문 글은 링크로 남겨둘테니 관심 있으신 분은 같이 보셔도 좋습니다! https://zeromin-code.tistory.com/35 for문 Swift에서 for 반복문은 for-in 반복문이라고도 불립니다. 그 이유는 for문의 구조를 살펴보면 알 수 있습니다. for문의 구조를 살펴보도록 하겠습니다. for 상수명 in 컬렉션 또는 범위 { 실행될 코드 } 이렇게 for in을 사용하기 때문에 for-in문이라고 불립니다. '상수명'은 반복문이 돌면서 컬렉션 또는 범위에서 가져온 항목을 담게 될 상수이며, for문에서 주의해야 할 점은 for문 다음의 실행 코드가 한..
[Swift] 업캐스팅과 다운캐스팅, Swift와 Kotlin 옵셔널의 차이
·
Apple/Swift
이번 시간에는 업캐스팅과 다운캐스팅에 대해서 간단히 알아보고 Swift에서 사용되는 옵셔널이 코틀린에서 사용되는데 두 차이점에 대해서 간단히 표로 정리해보려고 합니다! 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)업캐스팅(Upcasting)과 다운캐스팅(Downcasting)은 프로그래밍에서 주로 객체 지향 언어에서 사용되는 개념입니다. 이 두 용어는 클래스의 계층 구조와 관련이 있으며, 특히 상속 관계에 있는 클래스 사이에서 타입 변환을 할 때 사용됩니다. 먼저 업캐스팅에 대해서 살펴보겠습니다. 업캐스팅 (Upcasting): 업캐스팅은 하위 클래스의 인스턴스를 상위 클래스 타입으로 변환하는 것을 말합니다. 이는 항상 안전하게 수행할 수 있으며, 별도의 검사나 예외 처리가 필요하지 않..
[Swift] 옵셔널과 Nil합병 연산자
·
Apple/Swift
저번 시간의 내용에 이어서 이번 시간에도 옵셔널에 대한 내용을 살펴보고 마무리를 하도록 하겠습니다. 여러 옵셔널 언래핑 저번 글에서는 옵셔널 변수를 언래핑하는 방법에 대해서 공부를 했는데 여러 옵셔널 변수를 한 번에 언래핑하는 방법도 존재하기 때문에 여러 옵셔널을 한 번에 언래핑하는 방법에 대해서 살펴보겠습니다. 여러 옵셔널 변수를 한 번에 언래핑하는 방법은 간단합니다. 바로 콤마를 사용하면 되는데 소스 코드를 보면서 설명하도록 하겠습니다. (*일반적으로 ,는 or 연산자이지만 Swift에서는 ,는 and 연산자이다.) var pet1: String? var pet2: String? pet1 = "cat" pet2 = "dog" if let firstPet = pet1, let secondPet = pe..
[Swift] Type Safety 개념, 옵셔널의 개념과 예시
·
Apple/Swift
이번 시간에는 Swift언어의 Type Safety에 대해서 간단히 살펴보고 Swift의 옵셔널의 개념과 예시에 대해서 알아보도록 하겠습니다. 이미 옵셔널에 대해서 다룬 글이 있긴 하지만 Swift 언어에서는 옵셔널이 중요한 개념이기도 하고 몇 가지 추가할 내용이 있기도 해서 겸사겸사 글을 더 적어보려고 합니다! Type Safety "Type Safety"는 프로그래밍 언어의 중요한 특징 중 하나로, 타입 안전성이라고도 번역됩니다. 타입 안전성은 프로그램이 실행되는 동안 데이터가 항상 명시적으로 선언된 타입을 유지하도록 하는 속성입니다. 타입 안전한 언어에서는, 예를 들어 정수를 문자열에 할당하려고 시도하면 컴파일러 또는 런타임 시스템에서 오류를 발생시킵니다. 이런 방식으로, 개발자가 실수로 잘못된 타..