-
Roadmap (3) - Computer NetworkGeneral/🕸 Network 2021. 2. 4. 10:43
How do packet delay and loss occur? " 패킷 딜레이와 패킷 로스는 어떻게 발생하는가? " 패킷이 라우터 버퍼에 들어온 순서대로 쌓이고, 전송이 될 차례를 기다립니다. 나가는 쪽의 링크 용량이 들어오는 속도보다 (일시적으로) 증가하면, 큐의 길이는 증가합니다. 버퍼의 용량이 가득찬 순간부터 packet loss 가 발생합니다. Packet delay: four sources " 패킷 딜레이에 관련된 4가지 요소가 있습니다. " #queueing delay proc : nodal processing ( 거의 고정적 ) 비트 에러를 체크, 나갈 링크를 선택합니다. ```queue: queueing delay (가변적)``` 전송을 위해 기다리는 시간 라우터의 복잡도에 의해 결정됩니..
-
Computed Properties (계산 속성) - PropertiesiOS/🟠 Swift 2021. 2. 2. 17:16
"계산 속성" 계산 속성은 클래스, 구조체, 열거형에서 사용할 수 있습니다. 값을 실제로 저장하지 않습니다. 메모리를 차지하지 않습니다. 대신, getter 와 선택적으로 setter 를 제공하여 그것들을 이용해 다른 속성을 조회하고 값을 간접적으로 설정할 수 있습니다. 즉, 계산속성에서 setter 추가는 선택사항입니다. 또한 setter만 존재하는 계산 속성은 없습니다. 기본 문법 struct Rect { ... var center: Point { get { let centerX = origin.x + (size.width / 2) let centerY = origin.y + (size.height / 2) return Point(x: centerX, y: centerY) } set(newCenter..
-
iOS) `Scene-based` 와 `Scene-support` 의 차이점iOS/🛠 이슈와 궁금증 2021. 2. 2. 07:39
관련 글: Managing Your App's Life Cycle - UIKit 위 글을 정리하면서 공식 문서에서 비슷하게 생긴 두 용어 때문에 혼동이 생겨 정리하게 되었습니다. 그 두 용어가 바로 `Scene-based` 와 `Scene-support` 입니다. 임의로 생각해보면, `Scene-based` 앱이라면 자동으로 `Scene-support` 를 할 것 같고, 그 반대로 생각해봐도 그럴 듯 합니다. 그래서 처음에는 두 용어가 같은 것을 의미하는 줄 알았습니다. 결론부터 이야기하면, 두 용어는 가리키는 것이 다릅니다. 우선 Scene 이란 iOS 13부터 적용되는 개념으로, 하나의 scene 은 하나의 window 와 viewcontroller 들을 관리하며, 앱의 UI 인스턴스 하나를 가리키는..
-
[iOS] About the App Launch Sequence (앱 실행 시점에 일어나는 일들)iOS/🤖 App 2021. 2. 2. 06:38
1차 수정: 21.08.02 안녕하세요🐶 이번 시간에는 "About the App Launch Sequence" 앱의 실행 시점에 실행되는 코드들에 대해서 알아보겠습니다. 앱은 사용자에 의해 foreground로 실행되기도 하고, 시스템에 의해 background 로 실행되기도 하죠? print("hello, world") 와 같은 단순한 절차지향 프로그램과 달리 앱을 실행하는 것은 복잡한 단계의 과정을 거칩니다. 이 과정들 대부분은 UIKit이 자동으로 처리합니다. 앱 실행 과정 중, UIKit 은 AppDelegate 의 메서드들을 호출합니다. 프로젝트 템플릿으로 기본 제공하는 AppDelegate 클래스는 UIResponder 와 UIApplicationDelegate 프로토콜을 채택하고 있습니다...
-
Preparing Your UI to Run in the Background - Scenes - UIKitiOS/🍎 Documentation 2021. 1. 29. 18:28
관련 문서: developer.apple.com/documentation/uikit/app_and_environment/scenes " 앱이 `suspended`상태로 돌입할 때를 대비하기 " Overview 앱이 `background` 상태로 전환되는 데에는 여러 이유가 있습니다. 사용자가 `foreground` 상태인 앱을 종료하면, 앱은 `background` 상태로 진입하고, 곧 UIKit 이 앱을 `supsended`상태로 바꿉니다. 시스템은 앱을 실행하여 바로 `background` 상태로 만들 거나, 혹은 `suspended` 상태의 앱을 `background` 로 전환하여 앱이 중요한 작업을 수행하게끔 시간을 줄 수도 있습니다. 앱이 `background` 상태에 있다면, 최소한으로 작업해..
-
Preparing Your UI to Run in the Foreground - Scenes - UIKitiOS/🍎 Documentation 2021. 1. 29. 18:03
참고 자료: developer.apple.com/documentation/uikit/app_and_environment/scenes/ " 앱이 화면상에 나오기 위해 앱을 구성하는 작업 " Overview `Foreground transtition` 을 이용하여 앱의 UI 가 화면에 나올 수 있도록 준비를 해주세요. 앱이 `foreground`상태로 전환되는 경우는 보통 사용자의 동작에 반응한 결과입니다. 예를 들어, 사용자가 홈스크린에서 앱의 아이콘을 탭한다면, 시스템은 앱을 실행시키고 씬을 `foreground` 상태로 만듭니다. ' 시스템은 앱을 실행시키고 앱을 `foreground` 상태로 만듭니다. ' 라는 과정을 좀 더 자세히 다룬 문서가 있어서 정리할 예정입니다. 이 `foreground tr..
-
Scenes - UIKitiOS/🍎 Documentation 2021. 1. 29. 12:46
참고 자료: developer.apple.com/documentation/uikit/app_and_environment/scenes " 다수의 동일한 앱 UI 인스턴스를 동시에 관리하고, 적절한 인스턴스로 자원을 연결해 줍니다. " Overview UIKit 은 각각의 앱 UI 인스턴스를 UIWindowScene 오브젝트로 관리합니다. 이것을 씬이라고 부릅니다. 하나의 씬은 앱 UI 인스턴스 하나를 포함하기 위한 Window 그리고 View controller 를 포함하고 있습니다. 각각의 씬은 또한 UIWindowSceneDelegate 오브젝트를 하나씩 가지고 있습니다. UIWindowSceneDelegate 을 통해 앱과 UIKit 사이의 상호작용을 조율합니다. 씬은 각자 동시에 실행되며, 같은 메..
-
UIApplicationDelegate - UIKitiOS/🍎 Documentation 2021. 1. 28. 22:42
참고 자료: developer.apple.com/documentation/uikit/uiapplicationdelegate Overview AppDelegate 오브젝트는 앱 전반에서 공유되는 동작들을 관리합니다. AppDelegate 는 사실상 앱의 root object 이며, UIApplication 과 연대하여 시스템과의 상호작용들을 관리합니다. UIApplication 오브젝트와 같이, UIKit 은 AppDelegate을 launch-cycle 당시에 미리 생성해 놓으므로, 항상 존재합니다. 따라서 코드상에서 항상 접근할 수 있습니다. AppDelegate 오브젝트를 사용하여 다음과 같은 작업을 다룰 수 있습니다: 앱의 중심역할을 하는 자료구조를 초기화 하기 앱의 씬을 구성하기 앱 외부에서부터 ..
-
[iOS] UIApplication 이란?iOS/🤖 App 2021. 1. 28. 22:04
안녕하세요🐶 이번 시간에는 `UIApplication` 클래스에 대해서 알아보겠습니다. 이 클래스가 언제 등장하는 지는 이전 글을 읽고 오시면 좋을 것 같아요!!! " iOS 앱의 제어와 조정의 구심점 " class UIApplication : UIResponder 개요 모든 iOS 앱은 정확히 단 하나의 UIApplication 인스턴스를 가지고 있습니다. 아주 드문경우, UIApplication를 서브클래싱한 인스턴스를 사용한다고 합니다. 앱이 실행되면, 시스템은 UIApplicationMain(_:_:_:_:) 를 호출합니다. :: 이전 글에 나온 내용이지만, 보통 AppDelegate.main() 의 실행으로 호출됩니다. 해당 메서드의 작업 중 하나는 UIApplication 오브젝트를 만드는 것..