blendShapes 란? ARFaceAnchor에서 얼굴 표정, 움직임에 관련된 정보를 제공하는 딕셔너리. 선언 var blendShapes: [ARFaceAnchor.BlendShapeLocation : NSNumber] { get } ARFaceAnchor.BlendShapeLocation 눈, 코, 입 등 다양한 얼굴 요소에 대한 식별자로, 해당 요소의 움직임을 설명하는 수치값으로 사용함. 선언 struct BlendShapeLocation ARFaceAnchor에서 제공하는 blendShapes 딕셔너리는 특정 얼굴 요소의 움직임과 관련하여 감지된 얼굴의 표정을 나타냅니다. 딕셔너리의 각 키에 해당하는 값은 0.0(중립)에서 1.0(최대 이동) 사이의 중립을 기준으로 한 요소의 현재 위치를 나타..
GCD (Grand Central Dispatch) - DispatchQueue란? 앱의 기본 스레드 또는 백그라운드 스레드에서 작업 실행을 직렬 또는 동시에 관리하는 개체. 정의 class DispatchQueue: DispatchObject 디스패치 큐는 애플리케이션이 블록 객체 형태로 작업을 제출할 수있는 FIFO 큐이다. 디스패치 큐는 작업을 직렬 또는 동시에 실행합니다. 디스패치 큐에 올라온 작업은 시스템에서 관리하는 스레드 풀에서 실행됩니다. 앱의 기본 스레드를 나타내는 디스패치 큐를 제외하고 시스템은 작업을 실행하는 데 사용하는 스레드에 대해 보장하지 않습니다. 작업 항목을 동기 또는 비동기 적으로 예약할 수 있습니다. 작업 항목을 동기적으로 예약하면 해당 항목이 실행을 마칠 때까지 코드가 ..
1. 프로토콜(Procotol)이란? - 프로토콜(Protocol)은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다. - 구조체, 클래스, 열거형은 프로토콜을 채택(Adopted)해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있습니다. - 어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 프로토콜을 준수한다(Conform)고 표현합니다. - 타입에서 프로토콜의 요구사항을 충족시키려면 프로토콜이 제시하는 청사진의 기능을 모두 구현해야 합니다. 즉, 프로토콜은 기능을 정의하고 제시할 뿐이지 스스로 기능을 구현하지는 않습니다. 2. 정의 - Protocol 키워드를 사용하여 정의합니다. protocol protocolName { /* 정의부 */..
상속이 필요한 경우 - 이미 존재하는 클래스를 확장하여, 새로운 속성이나 함수를 추가한 클래스를 만들어야 할 때. - 여러개의 클래스를 만들었는데, 클래스의 공통점을 뽑아 코드 관리를 편하게 해야할 때 속성과 함수를 물려주는 쪽을 SuperClass, 물려받는 쪽을 SubClass Animal 클래스를 Dog와 Cat 클래스로 확장하기 class Animal (var name: String, var age: Int, var type: String) { fun introduce() { println("저는 ${type} ${name}이고, ${age}살 입니다.") } } 현재 Animal 클래스는 'open' 상태가 아니기 때문에 상속받을 수 없음 * open : 클래스가 상속받을 수 있도록 클래스 선언..
SwiftUI에서 View protocol View { associated type Body: View var body: Self.Body { get } } View 타입은 UIView와 달리 프로토콜로 선언된다. Typealias Body = Never Body는 무한 재귀호출이 일어나지 않도록 Never 타입이 사용된다. UIHostingController Class UIHostingController : UIViewController where Content : View UIHostingController는 UIViewController를 상속받고, 뷰 프로토콜을 준수하는 제네릭 매개변수 Content를 전달받는 제네릭 클래스. 즉, SwiftUI를 이용해 만들어진 뷰를 UIKit의 개발환경에서 사..
Activity란? 사용자에게 UI가 있는 화면을 제공하는 앱 컴포넌트입니다. onCreate() 시스템이 Activity를 생성할때 실행되는 것으로 반드시 구현해야 하는 메서드. Activity의 전체 생명주기동안 한번만 발생해야 하는 기본 애플리케이션 시작 로직을 실행합니다. onStart() Activity가 시작됨 상태에 들어가며 호출되는 메서드. onStart()가 호출되면 Activity가 사용자에게 표시되고, 앱은 활동을 포그라운드에 보내 상호작용할 수 있도록 준비합니다. 예를 들어 이 메서드에서 UI를 관리하는 코드를 초기화합니다. onStart() 메서드는 매우 빠르게 완료되고, 시작됨 상태에 머무르지 않습니다. 이 콜백이 완료되면 활동이 재개됨 상태에 들어가고, onResume() 메서..
Kotlin #8. 클래스의 기본 구조 클래스는 고유의 특징적인 값을 담는 속성과 기능을 구현한 함수로 이루어져 있음 클래스는 인스턴스를 만드는 틀 인스턴스란? 클래스를 이용해서 만들어내는 서로 다른 속성의 객체를 지칭하는 용어 코틀린은 객체지향 언어를 기반으로 함수형 언어의 장점을 흡수한 언어. 따라서 객체지향언어의 기본인 클래스를 이해하는 것이 중요하다. fun main() { var a = Person("박보영", 1990) var b = Person("전정국", 1997) var c = Person("장원영", 2004) a.introduce() b.introduce() c.introduce() } class Person (var name: String, val birthYear: Int) { f..
Kotlin #6. 반복문과 증감연산자 조건이 참인 경우 반복을 유지 -> 조건형 반복문 : While, do-while 반복 범위를 정해 반복을 수행 -> 범위형 반복문 : For for (i in 0..9 step 3) { // 반복 내용 } 감소시킬땐 downTo 사용, for (i in 9 downTo 0) { //반복할 내용} Char형도 반복문에 사용 가능 for(i in ‘a’..’e’) { print(i) } // abcde 출력됨 Kotlin #7. 흐름제어와 논리연산자 break for (i in 1..5){ if (i == 3) break print(i) } // 12출력 continue for (i in 1..5){ if (i == 3) continue print(i) } // 12..
- Total
- Today
- Yesterday
- boj
- cocoapods
- 코코아팟
- rxswift
- Reactivex
- blendshape
- SWEA
- UIHostingController
- infallible
- 프로그래머스
- Swift unowned
- Swift weak
- 알고리즘
- Kotlin
- GraphDB
- 안드로이드
- SwiftUI
- ARKit
- coreml
- 백준온라인저지
- Swift
- DispatchQueue
- disposeBag
- 백준
- Lottie
- 카카오인턴십
- ios
- blendshapes
- C++
- rxswift6
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |